-- Bundled by luabundle {"version":"1.6.0"} local __bundle_require, __bundle_loaded, __bundle_register, __bundle_modules = (function(superRequire) local loadingPlaceholder = {[{}] = true} local register local modules = {} local require local loaded = {} register = function(name, body) if not modules[name] then modules[name] = body end end require = function(name) local loadedModule = loaded[name] if loadedModule then if loadedModule == loadingPlaceholder then return nil end else if not modules[name] then if not superRequire then local identifier = type(name) == 'string' and '\"' .. name .. '\"' or tostring(name) error('Tried to require ' .. identifier .. ', but no such module has been registered') else return superRequire(name) end end loaded[name] = loadingPlaceholder loadedModule = modules[name](require, loaded, register, modules) loaded[name] = loadedModule end return loadedModule end return require, loaded, register, modules end)(nil) __bundle_register("core/PlayAreaSelector", function(require, _LOADED, __bundle_register, __bundle_modules) require("core/PlayAreaImageData") -- this fills the variable "PLAYAREA_IMAGE_DATA" local playAreaApi = require("core/PlayAreaApi") local typeIndex, selectionIndex function onSave() return JSON.encode({typeIndex = typeIndex, selectionIndex = selectionIndex}) end function onLoad(savedData) self.createButton({ function_owner = self, click_function = "onClick_toggleGallery", tooltip = "Show Image Gallery", height = 1500, width = 1500, color = { 1, 1, 1, 0 } }) local loadedData = JSON.decode(savedData) or {} typeIndex = loadedData.typeIndex or 1 selectionIndex = loadedData.selectionIndex or 1 Wait.time(updatePlayareaGallery, 0.5) end -- click function for main button function onClick_toggleGallery() Global.call("togglePlayareaGallery") end function onClick_defaultImage() playAreaApi.updateSurface() Global.call("togglePlayareaGallery") end function getDataSubTableByIndex(dataTable, index) local loopId = 1 for i, v in pairs(dataTable) do if index == loopId then return v end loopId = loopId + 1 end return {} end function updatePlayareaGallery() -- get subtables local dataForType = getDataSubTableByIndex(PLAYAREA_IMAGE_DATA, typeIndex) local dataForSelection = getDataSubTableByIndex(dataForType, selectionIndex) -- get global xml to insert elements local globalXml = UI.getXmlTable() -- selectable items local itemSelection = getXmlTableElementById(globalXml, 'itemSelection') itemSelection.children = {} local i = 0 for itemName, _ in pairs(dataForType) do i = i + 1 table.insert(itemSelection.children, { tag = "Panel", attributes = { class = "itemPanel", id = "typePanel" .. i }, children = { tag = "Text", value = itemName, attributes = { class = "itemText", id = "typeListText" .. i } } }) end -- selectable images for that item local playareaList = getXmlTableElementById(globalXml, 'playareaList') playareaList.children = {} for i, v in ipairs(dataForSelection) do table.insert(playareaList.children, { tag = "VerticalLayout", attributes = { class = "imageBox", id = "image" .. i }, children = { { tag = 'Image', attributes = { class = "playareaImage", image = v.URL } }, { tag = 'Text', value = v.Name, attributes = { class = "imageName" } } } }) end playareaList.attributes.height = round(#playareaList.children / 2, 0) * 380 UI.setXmlTable(globalXml) Wait.time(highlightTabAndItem, 0.1) end function onClick_imageTab(_, _, tabId) typeIndex = tonumber(tabId:sub(9)) selectionIndex = 1 updatePlayareaGallery() end function onClick_listItem(_, _, listId) selectionIndex = tonumber(listId:sub(10)) updatePlayareaGallery() end function onClick_image(_, _, id) local imageIndex = tonumber(id:sub(6)) local dataForType = getDataSubTableByIndex(PLAYAREA_IMAGE_DATA, typeIndex) local dataForSelection = getDataSubTableByIndex(dataForType, selectionIndex) local newURL = dataForSelection[imageIndex].URL playAreaApi.updateSurface(newURL) Global.call("togglePlayareaGallery") end function highlightTabAndItem() -- highlight active tab for i = 1, 5 do local color = "#888888" if i == typeIndex then color = "#ffffff" end UI.setAttribute("imageTab" .. i, "color", color) end -- highlight item UI.setAttribute("typePanel" .. selectionIndex, "color", "grey") UI.setAttribute("typeListText" .. selectionIndex, "color", "black") end -- loops through an XML table and returns the specified object ---@param ui Table XmlTable (get this via getXmlTable) ---@param id String Id of the object to return function getXmlTableElementById(ui, id) for _, obj in ipairs(ui) do if obj.attributes and obj.attributes.id and obj.attributes.id == id then return obj end if obj.children then local result = getXmlTableElementById(obj.children, id) if result then return result end end end return nil end -- utility function function round(num, numDecimalPlaces) local mult = 10 ^ (numDecimalPlaces or 0) return math.floor(num * mult + 0.5) / mult end end) __bundle_register("core/PlayAreaApi", function(require, _LOADED, __bundle_register, __bundle_modules) do local PlayAreaApi = {} local guidReferenceApi = require("core/GUIDReferenceApi") local function getPlayArea() return guidReferenceApi.getObjectByOwnerAndType("Mythos", "PlayArea") end local function getInvestigatorCounter() return guidReferenceApi.getObjectByOwnerAndType("Mythos", "InvestigatorCounter") end -- Returns the current value of the investigator counter from the playmat ---@return Integer. Number of investigators currently set on the counter PlayAreaApi.getInvestigatorCount = function() return getInvestigatorCounter().getVar("val") end -- Updates the current value of the investigator counter from the playmat ---@param count Number of investigators to set on the counter PlayAreaApi.setInvestigatorCount = function(count) getInvestigatorCounter().call("updateVal", count) end -- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain -- fixed objects will be ignored, as will anything the player has tagged with 'displacement_excluded' ---@param playerColor Color Color of the player requesting the shift for messages PlayAreaApi.shiftContentsUp = function(playerColor) return getPlayArea().call("shiftContentsUp", playerColor) end PlayAreaApi.shiftContentsDown = function(playerColor) return getPlayArea().call("shiftContentsDown", playerColor) end PlayAreaApi.shiftContentsLeft = function(playerColor) return getPlayArea().call("shiftContentsLeft", playerColor) end PlayAreaApi.shiftContentsRight = function(playerColor) return getPlayArea().call("shiftContentsRight", playerColor) end -- Reset the play area's tracking of which cards have had tokens spawned. PlayAreaApi.resetSpawnedCards = function() return getPlayArea().call("resetSpawnedCards") end -- Event to be called when the current scenario has changed. ---@param scenarioName Name of the new scenario PlayAreaApi.onScenarioChanged = function(scenarioName) getPlayArea().call("onScenarioChanged", scenarioName) end -- Sets this playmat's snap points to limit snapping to locations or not. -- If matchTypes is false, snap points will be reset to snap all cards. ---@param matchTypes Boolean Whether snap points should only snap for the matching card types. PlayAreaApi.setLimitSnapsByType = function(matchCardTypes) getPlayArea().call("setLimitSnapsByType", matchCardTypes) end -- Receiver for the Global tryObjectEnterContainer event. Used to clear vector lines from dragged -- cards before they're destroyed by entering the container PlayAreaApi.tryObjectEnterContainer = function(container, object) getPlayArea().call("tryObjectEnterContainer", { container = container, object = object }) end -- counts the VP on locations in the play area PlayAreaApi.countVP = function() return getPlayArea().call("countVP") end -- highlights all locations in the play area without metadata ---@param state Boolean True if highlighting should be enabled PlayAreaApi.highlightMissingData = function(state) return getPlayArea().call("highlightMissingData", state) end -- highlights all locations in the play area with VP ---@param state Boolean True if highlighting should be enabled PlayAreaApi.highlightCountedVP = function(state) return getPlayArea().call("countVP", state) end -- Checks if an object is in the play area (returns true or false) PlayAreaApi.isInPlayArea = function(object) return getPlayArea().call("isInPlayArea", object) end PlayAreaApi.getSurface = function() return getPlayArea().getCustomObject().image end PlayAreaApi.updateSurface = function(url) return getPlayArea().call("updateSurface", url) end -- Called by Custom Data Helpers to push their location data into the Data Helper. This adds the -- data to the local token manager instance. ---@param args Table Single-value array holding the GUID of the Custom Data Helper making the call PlayAreaApi.updateLocations = function(args) getPlayArea().call("updateLocations", args) end PlayAreaApi.getCustomDataHelper = function() return getPlayArea().getVar("customDataHelper") end return PlayAreaApi end end) __bundle_register("core/PlayAreaImageData", function(require, _LOADED, __bundle_register, __bundle_modules) PLAYAREA_IMAGE_DATA = { ["Official Campaigns"] = { ["Night of the Zealot"] = { { Name = "I - The Gathering 1", URL = "https://i.ibb.co/6NWqg1K/Zealot-Gathering.jpg" }, { Name = "III - Devourer Below 1", URL = "https://i.ibb.co/x5QFzrx/Zealot-3-Devourer-Below-Helen-Castelow.png" }, { Name = "III - Devourer Below 2", URL = "https://i.ibb.co/6r6LFGz/Zealot-3-Devourer-Below-Sarah-Miller.png" } }, ["The Dunwich Legacy"] = { { Name = "I-A - Extracurricular Activity 1", URL = "https://i.ibb.co/tDxX8KS/Dunwich-1-Extracurricular-Activity-Igor-Kirdeika.jpg" }, { Name = "I-A - Extracurricular Activity 2", URL = "https://i.ibb.co/RQ6z0pj/Dunwich-1-Extracurricular-Activity-Joseph-Diaz.jpg" }, { Name = "I-A - Extracurricular Activity 3", URL = "https://i.ibb.co/nnJdwL2/Dunwich-1-Extracurricular-Activity-Tomasz-Jedruszek.jpg" }, { Name = "I-B - House Always Wins 1", URL = "https://i.ibb.co/8XPLdr9/Dunwich-2-House-Always-Wins-Jonny-Klein.jpg" }, { Name = "I-B - House Always Wins 2", URL = "https://i.ibb.co/HtX95GK/Dunwich-2-House-Always-Wins-Robert-Laskey.jpg" }, { Name = "I-B - House Always Wins 3", URL = "https://i.ibb.co/MCLP3Sz/Dunwich-2-House-Always-Wins-XX-l.jpg" }, { Name = "I-B - House Always Wins 4", URL = "https://i.ibb.co/w7Pf5sd/Dunwich-2-House-Always-Wins-XX-l-2.jpg" }, { Name = "II - Miskatonic Museum 1", URL = "https://i.ibb.co/x1Kf7qG/Dunwich-3-Miskatonic-Museum-Emre-Aktuna.jpg" }, { Name = "II - Miskatonic Museum 2", URL = "https://i.ibb.co/yWXVPcN/Dunwich-3-Miskatonic-Museum-Richard-Wright.jpg" }, { Name = "III - Essex County Express", URL = "https://i.ibb.co/602CMZb/Dunwich-4-Essex-County-Express-David-Alvarez.jpg" }, { Name = "IV - Blood on the Altar 1", URL = "https://i.ibb.co/3CYHDhf/Dunwich-5-Blood-on-the-Altar.jpg" }, { Name = "IV - Blood on the Altar 2", URL = "https://i.ibb.co/FbxcCY2/Dunwich-5-Blood-on-the-Altar-Chris-Ostrowski.jpg" }, { Name = "IV - Blood on the Altar 3", URL = "https://i.ibb.co/sJf6YsZ/Dunwich-5-Blood-on-the-Altar-Lucas-Staniec.jpg" }, { Name = "IV - Blood on the Altar 4", URL = "https://i.ibb.co/kBPNGBd/Dunwich-5-Blood-on-the-Altar-Mark-Molnar.jpg" }, { Name = "V - Undimensioned and Unseen 1", URL = "https://i.ibb.co/QvfhjDv/Dunwich-6-Undimensioned-and-Unseen-Frej-Agelii.jpg" }, { Name = "V - Undimensioned and Unseen 2", URL = "https://i.ibb.co/4VL9gSK/Dunwich-6-Undimensioned-and-Unseen-Lucas-Staniec.jpg" }, { Name = "V - Undimensioned and Unseen 3", URL = "https://i.ibb.co/wBFsS8P/Dunwich-6-Undimensioned-and-Unseen-Michal-Teliga-jpg.jpg" }, { Name = "V - Undimensioned and Unseen 4", URL = "https://i.ibb.co/wwGDcq6/Dunwich-6-Undimensioned-and-Unseen-Tomasz-Jedruszek.jpg" }, { Name = "VI - Where Doom Awaits 1", URL = "https://i.ibb.co/TvMwqj4/Dunwich-7-Where-Doom-Awaits.jpg" }, { Name = "VI - Where Doom Awaits 2", URL = "https://i.ibb.co/S6cSLH9/Dunwich-7-Where-Doom-Awaits-3.jpg" }, { Name = "VI - Where Doom Awaits 3", URL = "https://i.ibb.co/khBX32g/Dunwich-7-Where-Doom-Awaits-4.jpg" }, { Name = "VI - Where Doom Awaits 4", URL = "https://i.ibb.co/S0hcwN8/Dunwich-7-Where-Doom-Awaits-5.jpg" }, { Name = "VI - Where Doom Awaits 5", URL = "https://i.ibb.co/Lxv1Bjp/Dunwich-7-Where-Doom-Awaits-Luca-Trentin.jpg" }, { Name = "VII - Lost in Time and Space 1", URL = "https://i.ibb.co/rtTpbDx/Dunwich-8-Lost-in-Time-amp-Space.jpg" }, { Name = "VII - Lost in Time and Space 2", URL = "https://i.ibb.co/dBXP0GL/Dunwich-8-Lost-in-Time-amp-Space-Chris-Ostrowski.jpg" }, { Name = "VII - Lost in Time and Space 3", URL = "https://i.ibb.co/0XcnxFD/Dunwich-8-Lost-in-Time-amp-Space-Lino-Drieghe.jpg" } }, ["The Path to Carcosa"] = { { Name = "I - Curtain Call", URL = "https://i.ibb.co/TcnKXJD/Carcosa-1-Curtain-Call-Mark-Molnar.jpg" }, { Name = "II - Last King 1", URL = "https://i.ibb.co/JRQJKR8/Carcosa-2-Last-King-Cristi-Balanescu.jpg" }, { Name = "II - Last King 2", URL = "https://i.ibb.co/NZzBwgv/Carcosa-2-Last-King-Cristi-Balanescu-2.jpg" }, { Name = "II - Last King 3", URL = "https://i.ibb.co/x56ZHt7/Carcosa-2-Last-King-Wu-Mengjia.jpg" }, { Name = "III - Echoes of the Past", URL = "https://i.ibb.co/R6gSm0D/Carcosa-3-Echoes-of-the-Past-Heather-Savage.jpg" }, { Name = "IV - Unspeakable Oath 1", URL = "https://i.ibb.co/DzzDQQQ/Carcosa-4-Unspeakable-Oath.jpg" }, { Name = "IV - Unspeakable Oath 2", URL = "https://i.ibb.co/9gqBzXr/Carcosa-4-Unspeakable-Oath-2-Mark-Molnar.jpg" }, { Name = "IV - Unspeakable Oath 3", URL = "https://i.ibb.co/wWL73c9/Carcosa-4-Unspeakable-Oath-Paul-Fairbairn.jpg" }, { Name = "V - Phantom of Truth 1", URL = "https://i.ibb.co/mzpz1Dd/Carcosa-5-Phantom-of-Truth-Lucas-Staniec.jpg" }, { Name = "V - Phantom of Truth 2", URL = "https://i.ibb.co/Vp1wNbT/Carcosa-5-Phantom-of-Truth-Tomasz-Jedruszek.jpg" }, { Name = "VI - Pallid Mask 1", URL = "https://i.ibb.co/Bf5LByY/Carcosa-6-Pallid-Mask-Greg-Bobrowski.jpg" }, { Name = "VI - Pallid Mask 2", URL = "https://i.ibb.co/1v1J9Xx/Carcosa-6-Pallid-Mask-Rafal-Pyra.jpg" }, { Name = "VII - Black Star Rises 1", URL = "https://i.ibb.co/TB451t7/Carcosa-7-Black-Star-Rises-Audric-Gatoux.jpg" }, { Name = "VII - Black Star Rises 2", URL = "https://i.ibb.co/nC8Ncxx/Carcosa-7-Black-Star-Rises-Chris-Kintner.jpg" }, { Name = "VIII - Dim Carcosa 1", URL = "https://i.ibb.co/QvS4y3D/Carcosa-8-Dim-Carcosa-Alexandr-Elichev.jpg" }, { Name = "VIII - Dim Carcosa 2", URL = "https://i.ibb.co/hR95x7k/Carcosa-8-Dim-Carcosa-Yuri-Shepherd.jpg" } }, ["The Forgotten Age"] = { { Name = "I - Untamed Wilds 1", URL = "https://i.ibb.co/BLhwCG1/Forgotten-Age-1-Untamed-Wilds-David-Frasheski.jpg" }, { Name = "I - Untamed Wilds 2", URL = "https://i.ibb.co/SnJfsNy/Forgotten-Age-1-Untamed-Wilds-David-Frasheski-2.jpg" }, { Name = "I - Untamed Wilds 3", URL = "https://i.ibb.co/kcx1tvp/Forgotten-Age-1-Untamed-Wilds-Ethan-Patrick-Harris.jpg" }, { Name = "I - Untamed Wilds 4", URL = "https://i.ibb.co/HPbJwXk/Forgotten-Age-1-Untamed-Wilds-Lucas-Staniec.jpg" }, { Name = "I - Untamed Wilds 5", URL = "https://i.ibb.co/bbq1ZrK/Forgotten-Age-1-Untamed-Wilds-Nele-Diel.jpg" }, { Name = "II - Doom of Etzli 1", URL = "https://i.ibb.co/Pw4by4q/Forgotten-Age-2-Doom-of-Eztli-Cristi-Balanescu.jpg" }, { Name = "II - Doom of Etzli 2", URL = "https://i.ibb.co/xqW6cXR/Forgotten-Age-2-Doom-of-Eztli-Greg-Bobrowski.jpg" }, { Name = "II - Doom of Etzli 3", URL = "https://i.ibb.co/kgsC3pb/Forgotten-Age-2-Doom-of-Eztli-Nele-Diel.jpg" }, { Name = "III - Threads of Fate", URL = "https://i.ibb.co/Bn0Pjng/Forgotten-Age-3-Threads-of-Fate-Jokubas-Uogintas.jpg" }, { Name = "IV - Boundary Beyond 1", URL = "https://i.ibb.co/yPZ9v2X/Forgotten-Age-4-Boundary-Beyond-Greg-Bobrowski-2-jpg.jpg" }, { Name = "IV - Boundary Beyond 2", URL = "https://i.ibb.co/vm0JgFs/Forgotten-Age-4-Boundary-Beyond-Greg-Bobrowski-jpg.jpg" }, { Name = "IV - Boundary Beyond 3", URL = "https://i.ibb.co/D1rh9Ry/Forgotten-Age-4-Boundary-Beyond-Nele-Diel.jpg" }, { Name = "V - Heart of the Elders I-1", URL = "https://i.ibb.co/jzKvv6P/Forgotten-Age-5-Heart-of-the-Elders-I-Lucas-Staniec.jpg" }, { Name = "V - Heart of the Elders I-2", URL = "https://i.ibb.co/mR79MX4/Forgotten-Age-5-Heart-of-the-Elders-I-Lucas-Staniec-2.jpg" }, { Name = "V - Heart of the Elders II", URL = "https://i.ibb.co/pQSbL0t/Forgotten-Age-5-Heart-of-the-Elders-II-Nele-Diel.jpg" }, { Name = "VI - City of Archives 1", URL = "https://i.ibb.co/f04DSPb/Forgotten-Age-6-City-of-Archives.jpg" }, { Name = "VI - City of Archives 2", URL = "https://i.ibb.co/WsSBrYj/Forgotten-Age-6-City-of-Archives-2.jpg" }, { Name = "VI - City of Archives 3", URL = "https://i.ibb.co/qdPbSZ8/Forgotten-Age-6-City-of-Archives-Chris-Ostrowski.jpg" }, { Name = "VII - Depths of Yoth 1", URL = "https://i.ibb.co/dbLKgGv/Forgotten-Age-7-Depths-of-Yoth-Diego-Arbetta.jpg" }, { Name = "VII - Depths of Yoth 2", URL = "https://i.ibb.co/NW7Wp98/Forgotten-Age-7-Depths-of-Yoth-Greg-Bobrowski.jpg" }, { Name = "VII - Depths of Yoth 3", URL = "https://i.ibb.co/257zr7c/Forgotten-Age-7-Depths-of-Yoth-Greg-Bobrowski-2-jpg.jpg" }, { Name = "VIII - Shattered Aeons 1", URL = "https://i.ibb.co/KwnWTGR/Forgotten-Age-8-Shattered-Aeons.jpg" }, { Name = "VIII - Shattered Aeons 2", URL = "https://i.ibb.co/b7kVd4F/Forgotten-Age-8-Shattered-Aeons-Alexandr-Elichev.jpg" } }, ["The Circle Undone"] = { { Name = "0 - Prologue", URL = "https://i.ibb.co/gm4C6yy/Circle-Undone-0-Prologue-Ted-Galaday.jpg" }, { Name = "I - Witching Hour", URL = "https://i.ibb.co/kgJ34WS/Circle-Undone-1-Witching-Hour-Nele-Diel.jpg" }, { Name = "II - At Death's Doorstep 1", URL = "https://i.ibb.co/qNWzH0Y/Circle-Undone-2-At-Death-039-s-Doorstep-Emilio-Rodriguez.jpg" }, { Name = "II - At Death's Doorstep 2", URL = "https://i.ibb.co/T1zp1QN/Circle-Undone-2-At-Death-039-s-Doorstep-Emilio-Rodriguez-2.jpg" }, { Name = "II - At Death's Doorstep 3", URL = "https://i.ibb.co/ZJfYZ1w/Circle-Undone-2-At-Death-039-s-Doorstep-Majid-Azim.jpg" }, { Name = "III - The Secret Name 1", URL = "https://i.ibb.co/hsBw4JQ/Circle-Undone-3-Secret-Name-Jeff-Jumper.jpg" }, { Name = "III - The Secret Name 2", URL = "https://i.ibb.co/MpcPXR5/Circle-Undone-3-Secret-Name-Pierre-Santamaria.jpg" }, { Name = "III - The Secret Name 3", URL = "https://i.ibb.co/LQ8rdKs/Circle-Undone-3-The-Secret-Name-Greg-Bobrowski.jpg" }, { Name = "III - The Secret Name 4", URL = "https://i.ibb.co/0D7LzxV/Circle-Undone-3-The-Secret-Name-Robert-Laskey.jpg" }, { Name = "IV - Wages of Sin 1", URL = "https://i.ibb.co/fDMqH1C/Circle-Undone-4-Wages-of-Sin-Emilio-Rodriguez.jpg" }, { Name = "IV - Wages of Sin 2", URL = "https://i.ibb.co/HDrKkZF/Circle-Undone-4-Wages-of-Sin-Emilio-Rodriguez-2.jpg" }, { Name = "IV - Wages of Sin 3", URL = "https://i.ibb.co/vkpG8cM/Circle-Undone-4-Wages-of-Sin-Greg-Bobrowski.jpg" }, { Name = "IV - Wages of Sin 4", URL = "https://i.ibb.co/CMj007q/Circle-Undone-4-Wages-of-Sin-Mateusz-Michalski.jpg" }, { Name = "IV - Wages of Sin 5", URL = "https://i.ibb.co/sj1bS5x/Circle-Undone-4-Wages-of-Sin-Serge-Da-Silva-Dias.jpg" }, { Name = "V - For the Greater Good 1", URL = "https://i.ibb.co/LDyqjbj/Circle-Undone-5-For-the-Greater-Good.jpg" }, { Name = "V - For the Greater Good 2", URL = "https://i.ibb.co/pPzXNd1/Circle-Undone-5-For-the-Greater-Good-2.jpg" }, { Name = "V - For the Greater Good 3", URL = "https://i.ibb.co/8rMLvJH/Circle-Undone-5-For-the-Greater-Good-Greg-Bobrowski.jpg" }, { Name = "V - For the Greater Good 4", URL = "https://i.ibb.co/vj1q4Cm/Circle-Undone-5-For-the-Greater-Good-Robert-Laskey.jpg" }, { Name = "VI - Union and Disillusioned", URL = "https://i.ibb.co/n7SD1tB/Circle-Undone-6-Union-amp-Disillusioned-Andreas-Rocha.jpg" }, { Name = "VII - In the Clutches of Chaos 1", URL = "https://i.ibb.co/bFXBNh7/Circle-Undone-7-In-the-Clutches-of-Chaos.jpg" }, { Name = "VII - In the Clutches of Chaos 2", URL = "https://i.ibb.co/m6DshNg/Circle-Undone-7-In-the-Clutches-of-Chaos-Alexandr-Elichev.jpg" }, { Name = "VII - In the Clutches of Chaos 3", URL = "https://i.ibb.co/k2p4yfG/Circle-Undone-7-In-the-Clutches-of-Chaos-Jokubas-Uogintas.jpg" }, { Name = "VIII - Before the Black Throne 1", URL = "https://i.ibb.co/9TPwvP6/Circle-Undone-8-Before-the-Black-Throne-Aaron-Luke-Wilson.jpg" }, { Name = "VIII - Before the Black Throne 2", URL = "https://i.ibb.co/VNtgH4v/Circle-Undone-8-Before-the-Black-Throne-Greg-Bobrowski.jpg" } }, ["The Dream-Eaters"] = { { Name = "I-A - Beyond the Gates of Sleep 1", URL = "https://i.ibb.co/S6sCy7G/Dream-Eaters-1-A-Beyond-the-Gates-of-Sleep-Phoebe-Herring.jpg" }, { Name = "I-A - Beyond the Gates of Sleep 2", URL = "https://i.ibb.co/kBfW9SC/Dream-Eaters-1-A-Beyond-the-Gates-of-Sleep-Regina-Kurnya.jpg" }, { Name = "I-A - Beyond the Gates of Sleep 3", URL = "https://i.ibb.co/HGvnxdX/Dream-Eaters-1-A-Beyond-the-Gates-of-Sleep-Jason-Scheier.jpg" }, { Name = "I-B - Waking Nightmare", URL = "https://i.ibb.co/sWsZCv8/Dream-Eaters-1-B-Waking-Nightmare-Josh-Gould-jpg.jpg" }, { Name = "II-A - Search for Kadath 1", URL = "https://i.ibb.co/4SwzCD8/Dream-Eaters-2-A-Search-for-Kadath-Andrei-Khrutskii.jpg" }, { Name = "II-A - Search for Kadath 2", URL = "https://i.ibb.co/WpZ4fMc/Dream-Eaters-2-A-Search-for-Kadath-Dan-Iorgulescu.jpg" }, { Name = "II-A - Search for Kadath 3", URL = "https://i.ibb.co/jwsn0jf/Dream-Eaters-2-A-Search-for-Kadath-Diana-Tsareva.jpg" }, { Name = "II-A - Search for Kadath 4", URL = "https://i.ibb.co/pd9vxmL/Dream-Eaters-2-A-Search-for-Kadath-Helen-Ilnytska.jpg" }, { Name = "II-A - Search for Kadath 5", URL = "https://i.ibb.co/MZ7Qtcc/Dream-Eaters-2-A-Search-for-Kadath-Nele-Diel.jpg" }, { Name = "II-B - Thousand Shapes of Horror 1", URL = "https://i.ibb.co/9s7M0PP/Dream-Eaters-2-B-Thousand-Shapes-of-Horror-Nele-Diel-2.jpg" }, { Name = "II-B - Thousand Shapes of Horror 2", URL = "https://i.ibb.co/T4Pqx0H/Dream-Eaters-2-B-Thousand-Shapes-of-Horror-Nele-Diel.jpg" }, { Name = "II-B - Thousand Shapes of Horror 3", URL = "https://i.ibb.co/VJFQVYd/Dream-Eaters-2-B-Thousand-Shapes-of-Horror-Greg-Bobrowski.jpg" }, { Name = "III-A - Dark Side of the Moon 1", URL = "https://i.ibb.co/B2DfXLZ/Dream-Eaters-3-A-Dark-Side-of-the-Moon-Dabanli.jpg" }, { Name = "III-A - Dark Side of the Moon 2", URL = "https://i.ibb.co/c27JRvv/Dream-Eaters-3-A-Dark-Side-of-the-Moon-Frej-Agelii.jpg" }, { Name = "III-B - Point of No Return 1", URL = "https://i.ibb.co/dMGNB9Y/Dream-Eaters-3-B-Point-of-No-Return-Daria-Khlebnikova.jpg" }, { Name = "III-B - Point of No Return 2", URL = "https://i.ibb.co/dpXxPmz/Dream-Eaters-3-B-Point-of-No-Return-Karine-Villette.jpg" }, { Name = "IV-A - Where the Gods Dwell", URL = "https://i.ibb.co/v4nqw6G/Dream-Eaters-4-A-Where-the-Gods-Dwell-Samantha-Franco.jpg" }, { Name = "IV-B - Weaver of the Cosmos 1", URL = "https://i.ibb.co/7btNBS1/Dream-Eaters-4-B-Weaver-of-the-Cosmos-Diana-Franco.jpg" }, { Name = "IV-B - Weaver of the Cosmos 2", URL = "https://i.ibb.co/RY7y22b/Dream-Eaters-4-B-Weaver-of-the-Cosmos-Leanna-Crossan.jpg" }, { Name = "IV-B - Weaver of the Cosmos 3", URL = "https://i.ibb.co/f8LBbFW/Dream-Eaters-4-B-Weaver-of-the-Cosmos-Nele-Diel.jpg" } }, ["The Innsmouth Conspiracy"] = { { Name = "I - Pit of Despair 1", URL = "https://i.ibb.co/2sc0F61/Innsmouth-1-Pit-of-Despair-Amanda-Castrillo.jpg" }, { Name = "I - Pit of Despair 2", URL = "https://i.ibb.co/Nj9JLBQ/Innsmouth-1-Pit-of-Despair-J-Mill.jpg" }, { Name = "II - Vanishing of Elina Harper 1", URL = "https://i.ibb.co/2j74cVn/Innsmouth-2-Vanishing-of-Elina-Harper-Konstantin-Vohwinkel.jpg" }, { Name = "II - Vanishing of Elina Harper 2", URL = "https://i.ibb.co/r2VqHSn/Innsmouth-2-Vanishing-of-Elina-Harper-Mihail-Bila.jpg" }, { Name = "II - Vanishing of Elina Harper 3", URL = "https://i.ibb.co/hFQMm7N/Innsmouth-2-Vanishing-of-Elina-Harper-Richard-Wright.jpg" }, { Name = "II - Vanishing of Elina Harper 4", URL = "https://i.ibb.co/2nZKGN6/Innsmouth-2-Vanishing-of-Elina-Harper-Tomasz-Jedruszek-1.jpg" }, { Name = "II - Vanishing of Elina Harper 5", URL = "https://i.ibb.co/WxLpKrM/Innsmouth-2-Vanishing-of-Elina-Harper-Tomasz-Jedruszek-2.jpg" }, { Name = "III - In Too Deep 1", URL = "https://i.ibb.co/SsQ3my4/Innsmouth-3-In-Too-Deep-David-Frasheski.jpg" }, { Name = "III - In Too Deep 2", URL = "https://i.ibb.co/jgQ8zQN/Innsmouth-3-In-Too-Deep-Klaudia-Bezak.jpg" }, { Name = "III - In Too Deep 3", URL = "https://i.ibb.co/VVgtNM1/Innsmouth-3-In-Too-Deep-Patrik-Antonescu.jpg" }, { Name = "IV - Devil Reef 1", URL = "https://i.ibb.co/Jrf6CJ0/Innsmouth-4-Devil-Reef-Ludovic-Sanson.jpg" }, { Name = "IV - Devil Reef 2", URL = "https://i.ibb.co/4jfwDZR/Innsmouth-4-Devil-Reef-Marc-Stewart.jpg" }, { Name = "V - Horror in High Gear 1", URL = "https://i.ibb.co/vqYJjYJ/Innsmouth-5-Horror-in-High-Gear-Greg-Bobrowski.jpg" }, { Name = "V - Horror in High Gear 2", URL = "https://i.ibb.co/yYrzbYS/Innsmouth-5-Horror-in-High-Gear-Greg-Bobrowski-2.jpg" }, { Name = "V - Horror in High Gear 3", URL = "https://i.ibb.co/fpKWhGY/Innsmouth-5-Horror-in-High-Gear-Guillem-H-Pongiluppi.jpg" }, { Name = "V - Horror in High Gear 4", URL = "https://i.ibb.co/YkLFy7y/Innsmouth-5-Horror-in-High-Gear-Rostyslav-Zagornov.jpg" }, { Name = "VI - Light in the Fog 1", URL = "https://i.ibb.co/v1rhgqJ/Innsmouth-6-Light-in-the-Fog-Florian-Aupetit.jpg" }, { Name = "VI - Light in the Fog 2", URL = "https://i.ibb.co/Db2pRd6/Innsmouth-6-Light-in-the-Fog-JB-Caillet.jpg" }, { Name = "VII - Lair of Dagon 1", URL = "https://i.ibb.co/QPwzQL5/Innsmouth-7-Lair-of-Dagon-Daria-Khlebnikova.jpg" }, { Name = "VII - Lair of Dagon 2", URL = "https://i.ibb.co/MZBpCbs/Innsmouth-7-Lair-of-Dagon-Guillem-H-Pongiluppi.jpg" }, { Name = "VIII - Into the Maelstrom 1", URL = "https://i.ibb.co/fkSXDgs/Innsmouth-8-Into-the-Maelstrom-Dimitri-Bielak.jpg" }, { Name = "VIII - Into the Maelstrom 2", URL = "https://i.ibb.co/k56Dn9q/Innsmouth-8-Into-the-Maelstrom-Mateusz-Michalski.jpg" } }, ["Edge of the Earth"] = { { Name = "I - Ice and Death 1", URL = "https://i.ibb.co/FWZMWtW/Edge-1-Ice-and-Death-David-Frasheski.png" }, { Name = "I - Ice and Death 2", URL = "https://i.ibb.co/QDGV0jQ/Edge-1-Ice-and-Death-Felix-Riano.png" }, { Name = "I - Ice and Death 3", URL = "https://i.ibb.co/hFJQM8v/Edge-1-Ice-and-Death-Mike-Gizienski.png" }, { Name = "??? - Fatal Mirage", URL = "https://i.ibb.co/KzwvjJN/Edge-2-Fatal-Mirage-David-Frasheski.png" }, { Name = "II - Forbidden Peaks 1", URL = "https://i.ibb.co/C2SLByt/Edge-2-Forbidden-Peaks-David-Frasheski-2.png" }, { Name = "II - Forbidden Peaks 2", URL = "https://i.ibb.co/0cGkkBL/Edge-3-Forbidden-Peaks-David-Frasheski.png" }, { Name = "III - City of Elder Things 1", URL = "https://i.ibb.co/FbpgBD3/Edge-4-City-Francois-Baranger.png" }, { Name = "III - City of Elder Things 2", URL = "https://i.ibb.co/ncRvHr3/Edge-4-City-Francois-Baranger-2.png" }, { Name = "IV - Heart of Madness 1", URL = "https://i.ibb.co/rk0qR4z/Edge-5-Heart-of-Madness-Karol-Sollich.png" }, { Name = "IV - Heart of Madness 2", URL = "https://i.ibb.co/NVFjx6N/Edge-5-Heart-of-Madness-Miguel-Coimbra.png" } }, ["The Scarlet Keys"] = { { Name = "5-A Riddles and Rain", URL = "http://cloud-3.steamusercontent.com/ugc/2037357792057358580/E9E5FE4028C08B3D4883406821221B73C8B5B2C7/" }, { Name = "11-B Dead Heat", URL = "http://cloud-3.steamusercontent.com/ugc/2038485431566443853/CAD7771D90141EA6D5FFAFE1EC5E7AD9647C82DB/" }, { Name = "16-D Sanguine Shadows", URL = "http://cloud-3.steamusercontent.com/ugc/2037357792057358704/4A7261EB31511467CBC46E876476DD205F528A4B/" }, { Name = "21-F Dealings in the Dark", URL = "http://cloud-3.steamusercontent.com/ugc/2037357792057358816/7C9FE4C34CD0A7AE87EF054742D878F310C71AA7/" }, { Name = "28-I Dancing Mad", URL = "http://cloud-3.steamusercontent.com/ugc/2037357792056955518/EAB857DD5629EC6A3078FB0A3A703B85B5F514B9/" }, { Name = "23-K On Thin Ice", URL = "http://cloud-3.steamusercontent.com/ugc/2038485431566444026/EB5628E254AE25DA89A9C999EAAD995ECF67068E/" }, { Name = "38-N Dogs of War", URL = "http://cloud-3.steamusercontent.com/ugc/2038485431566444199/194FD9A713907197471A55411AE300B62C5F5278/" }, { Name = "46-Q Shades of Suffering", URL = "http://cloud-3.steamusercontent.com/ugc/2038485431566444330/3ED2CCE95DE933546E1B5CBBF445D773E6D65465/" }, { Name = "56-Y ???", URL = "http://cloud-3.steamusercontent.com/ugc/2038485431566444450/FE4C335B0F72E83900A4EED0FD1A1D304D70D6B7/" }, { Name = "59-Z Congress of Keys I", URL = "http://cloud-3.steamusercontent.com/ugc/2038485431566444576/5BB32469ED412D59BB0A46E57D226500B1D0568B/" }, { Name = "59-Z Congress of Keys II", URL = "http://cloud-3.steamusercontent.com/ugc/2038485431566444690/B01A1FEAB57473D9B6DF11B92D62C214AA1C2C02/" } } }, ["Official Scenarios"] = { ["The Blob That Ate Everything"] = { { Name = "The Blob That Ate Everything 1", URL = "https://i.ibb.co/JxFV4ZN/Blob-That-Ate-Everything-Emilio-Rodriguez.jpg" }, { Name = "The Blob That Ate Everything 2", URL = "https://i.ibb.co/qJzstWF/Blob-That-Ate-Everything-Emilio-Rodriguez.jpg" } }, ["Carnevale of Horrors"] = { { Name = "Carnevale of Horrors 1", URL = "https://i.ibb.co/ZchJBpz/Carnevale-of-Horrors.jpg" }, }, ["Curse of the Rougarou"] = { { Name = "Curse of the Rougarou 1", URL = "https://i.ibb.co/Qf7Sr7P/Curse-of-the-Rougarou.jpg" }, { Name = "Curse of the Rougarou 2", URL = "https://i.ibb.co/hs1Qjp0/Curse-of-the-Rougarou-Ann-Kovaleva.jpg" }, { Name = "Curse of the Rougarou 3", URL = "https://i.ibb.co/BK7rmJ9/Curse-of-the-Rougarou-Karine-Villette.jpg" }, { Name = "Curse of the Rougarou 4", URL = "https://i.ibb.co/ZxGTC1w/Curse-of-the-Rougarou-Lachlan-Page.jpg" }, { Name = "Curse of the Rougarou 5", URL = "https://i.ibb.co/HgNXJhW/Curse-of-the-Rougarou-Vladimir-Manyukhin.jpg" } }, ["Guardians of the Abyss"] = { { Name = "Guardians of the Abyss 1", URL = "https://i.ibb.co/gD3R6cw/Guardians-of-the-Abyss-Jake-Murray.jpg" }, { Name = "Guardians of the Abyss 2", URL = "https://i.ibb.co/jMHPcvz/Guardians-of-the-Abyss-Jose-Vega.jpg" }, { Name = "Guardians of the Abyss 3", URL = "https://i.ibb.co/99pqXQP/Guardians-of-the-Abyss-Koke-Nunez.jpg" }, { Name = "Guardians of the Abyss 4", URL = "https://i.ibb.co/QbMvjbx/Guardians-of-the-Abyss-Mike-Szabados.jpg" }, { Name = "Guardians of the Abyss 5", URL = "https://i.ibb.co/zFDt9Q8/Guardians-of-the-Abyss-Nele-Diel.jpg" }, { Name = "Guardians of the Abyss 6", URL = "https://i.ibb.co/Vpzptmt/Guardians-of-the-Abyss-Yujin-Choo.jpg" } }, ["Labyrinths of Lunacy"] = { { Name = "Labyrinths of Lunacy 1", URL = "https://i.ibb.co/f17PMCC/Labyrinths-of-Lunacy-Cordelia-Wolf.jpg" }, { Name = "Labyrinths of Lunacy 2", URL = "https://i.ibb.co/44DXfWw/Labyrinths-of-Lunacy-Richard-Wright.jpg" }, { Name = "Labyrinths of Lunacy 3", URL = "https://i.ibb.co/jMQhs68/Labyrinths-of-Lunacy-Robert-Berg.jpg" } }, ["Murder at Excelsior Hotel"] = { { Name = "Murder at Excelsior Hotel 1", URL = "https://i.ibb.co/5cQ6LvN/Murder-at-Excelsior-Hotel-Alistair-Mitchell.jpg" }, { Name = "Murder at Excelsior Hotel 2", URL = "https://i.ibb.co/vBQRHNS/Murder-at-Excelsior-Hotel-Romain-Bayle.jpg" } }, ["War of the Outer Gods"] = { { Name = "War of the Outer Gods", URL = "https://i.ibb.co/wLNGFTG/War-of-the-Outer-Gods-Joshua-Cairos.jpg" } } }, ["Fan-Made Campaigns"] = { ["Cyclopean Foundations"] = { { Name = "I - Lost Moorings 1", URL = "https://i.ibb.co/DQ76z3c/Cyclopean-1-Lost-Moorings-Care-Line-Art.png" }, { Name = "I - Lost Moorings 2", URL = "https://i.ibb.co/c6LJNfr/Cyclopean-1-Lost-Moorings-Jake-Murray.png" }, { Name = "II - Going Twice", URL = "https://i.ibb.co/P6h3vbm/Cyclopean-2-Going-Twice-Quentin-Bouilloud.png" }, { Name = "III - Private Lives", URL = "https://i.ibb.co/9qK9Fzd/Cyclopean-3-Private-Lives-Christian-Bravery.png" }, { Name = "IV - Crumbling Masonry 1", URL = "https://i.ibb.co/pdrGK6p/Cyclopean-4-Crumbling-Masonry-Pete-Amachree.png" }, { Name = "IV - Crumbling Masonry 2", URL = "https://i.ibb.co/5RFcGyP/Cyclopean-4-Crumbling-Masonry-Simon-Craghead.png" }, { Name = "V - Across Dreadful Waters", URL = "https://i.ibb.co/3mYfFNB/Cyclopean-5-Across-Dreadful-Waters-Ev-Shipard.png" }, { Name = "VI - Blood From Stones", URL = "https://i.ibb.co/ynmQNSB/Cyclopean-6-Blood-From-Stones-Marc-Simonetti.png" }, { Name = "VII - Pyroclastic Flow 1", URL = "https://i.ibb.co/s1JDkFv/Cyclopean-7-Pyroclastic-Flow-Bastien-Grivet.png" }, { Name = "VII - Pyroclastic Flow 2", URL = "https://i.ibb.co/qs8Sk2N/Cyclopean-7-Pyroclastic-Flow-Rachid-Lotf.png" }, { Name = "VIII - Tomb of Dead Dreams 1", URL = "https://i.ibb.co/0MwX460/Cyclopean-8-Tomb-of-Dead-Dreams-Guillem-H-Pongiluppi.png" }, { Name = "VIII - Tomb of Dead Dreams 2", URL = "https://i.ibb.co/mGnKNcy/Cyclopean-8-Tomb-of-Dead-Dreams-Richard-Benning.png" }, { Name = "VIII - Tomb of Dead Dreams 3", URL = "https://i.ibb.co/vmBM8x2/Cyclopean-8-Tomb-of-Dead-Dreams-Walter-Brocca.png" } }, ["Dark Matter"] = { { Name = "I - Tatterdemalion 1", URL = "https://i.ibb.co/DRMPGVt/Dark-Matter-1-Tatterdemalion-Andrey-Vozny.jpg" }, { Name = "I - Tatterdemalion 2", URL = "https://i.ibb.co/1JzrrX2/Dark-Matter-1-Tatterdemalion-Brian-Taylor.jpg" }, { Name = "I - Tatterdemalion 3", URL = "https://i.ibb.co/DzvvgGf/Dark-Matter-1-Tatterdemalion-John-Wallin-Liberto.jpg" }, { Name = "I - Tatterdemalion 4", URL = "https://i.ibb.co/sQf85b8/Dark-Matter-1-Tatterdemalion-Paul-Pepera.jpg" }, { Name = "II - Electric Nightmares 1", URL = "https://i.ibb.co/hLGVBt7/Dark-Matter-2-Electric-Nightmares-Dean-Lawrence.jpg" }, { Name = "II - Electric Nightmares 2", URL = "https://i.ibb.co/cTKZQ61/Dark-Matter-2-Electric-Nightmares-Robert-Thoma.jpg" }, { Name = "IIIa - Lost Quantum", URL = "https://i.ibb.co/6vyXv90/Dark-Matter-3-Lost-Quantum-Michael-Rajecki.jpg" }, { Name = "IIIb - In the Shadow of Earth 1", URL = "https://i.ibb.co/DfbTKHP/Dark-Matter-4-In-the-Shadow-of-Earth-Jihoo-Kim.jpg" }, { Name = "IIIb - In the Shadow of Earth 2", URL = "https://i.ibb.co/MCvPmCb/Dark-Matter-4-In-the-Shadow-of-Earth-N5-Luckybuuncle.jpg" }, { Name = "IIIc - Strange Moons", URL = "https://i.ibb.co/b2d8qvg/Dark-Matter-5-Strange-Moons-Hongyu-Yin.jpg" }, { Name = "V - Fragment of Carcosa 1", URL = "https://i.ibb.co/7WnTyYT/Dark-Matter-7-Fragment-of-Carcosa-Colin-Moore.jpg" }, { Name = "V - Fragment of Carcosa 2", URL = "https://i.ibb.co/mG2Brrd/Dark-Matter-7-Fragments-of-Carcosa-Matthieu-Rebuffat.jpg" }, { Name = "VI - Starfall 1", URL = "https://i.ibb.co/CJ3LKL7/Dark-Matter-8-Starfall-Vadim-Sadovski.jpg" }, { Name = "VI - Starfall 2", URL = "https://i.ibb.co/Njd1FcB/Dark-Matter-8-Starfall-Vadim-Sadovski-2.jpg" }, { Name = "VI - Starfall 3", URL = "https://i.ibb.co/W0Cx7bb/Dark-Matter-8-Starfall-Vadim-Sadovski-3.jpg" } }, ["The Ghosts of Onigawa"] = { { Name = "I - The Ghosts of Onigawa", URL = "https://github.com/ArkhamDotCards/theghostsofonigawa/blob/main/product/onigawa-playmat-01.png?raw=true" }, { Name = "II - In The Shadow Of Mount Kokoro", URL = "https://github.com/ArkhamDotCards/theghostsofonigawa/blob/main/product/onigawa-playmat-02.png?raw=true" }, { Name = "III - The Onigawa River", URL = "https://github.com/ArkhamDotCards/theghostsofonigawa/blob/main/product/onigawa-playmat-03.png?raw=true" }, { Name = "IV - The Crimson Butterfly", URL = "https://github.com/ArkhamDotCards/theghostsofonigawa/blob/main/product/onigawa-playmat-04.png?raw=true" }, { Name = "V - The Koi Conspiracy", URL = "https://github.com/ArkhamDotCards/theghostsofonigawa/blob/main/product/onigawa-playmat-05.png?raw=true" } } }, ["Fan-Made Scenarios"] = { ["Side Scenarios (FM)"] = { { Name = "Consternation on the Constellation", URL = "https://i.ibb.co/Tw2xBP1/Consternation-Constellation.jpg" }, { Name = "Symphony of Erich Zann", URL = "https://i.ibb.co/SNr8tqN/Symphony-of-Erich-Zann-Hazel-Yingling.jpg" } } }, ["Other Images"] = { ["Arkham Locations"] = { { Name = "Downtown 1", URL = "https://i.ibb.co/FzRk98n/Arkham-Downtown-Cristi-Balanescu.jpg" }, { Name = "Downtown 2", URL = "https://i.ibb.co/W2yJ5QZ/Arkham-Downtown-Jokubas-Uogintas.jpg" }, { Name = "Eastside 1", URL = "https://i.ibb.co/W3QvdZW/Arkham-Eastside-Cristi-Balanescu.jpg" }, { Name = "Eastside 2", URL = "https://i.ibb.co/xfn1Fp8/Arkham-Eastside-Jokubas-Uogintas.jpg" }, { Name = "French Hill", URL = "https://i.ibb.co/N7Lk7jc/Arkham-French-Hill-Cristi-Balanescu.jpg" }, { Name = "Merchant District", URL = "https://i.ibb.co/HTNCCq4/Arkham-Merchant-District-Jokubas-Uogintas.jpg" }, { Name = "Generic 1", URL = "https://i.ibb.co/hswfZD6/Arkham-Guillem-H-Pongiluppi.jpg" }, { Name = "Generic 2", URL = "https://i.ibb.co/5h5cMyF/Arkham-Guillem-H-Pongiluppi-2.jpg" }, { Name = "Generic 3", URL = "https://i.ibb.co/ZBdVsWt/Arkham-Guillem-H-Pongiluppi-3.jpg" }, { Name = "Generic 4", URL = "https://i.ibb.co/6NwbM59/Arkham-Michele-Botticelli.jpg" }, { Name = "Generic 5", URL = "https://i.ibb.co/N6sxyq5/Arkham-Mihail-Bila.jpg" }, { Name = "Generic 6", URL = "https://i.ibb.co/B393zxv/Arkham-Tomasz-Jedruszek.jpg" }, { Name = "Generic 7", URL = "https://i.ibb.co/2WQ2Vt6/Arkham-Tomasz-Jedruszek-2.jpg" }, { Name = "Generic 8", URL = "https://i.ibb.co/R7pQ9Y7/Arkham-Tomasz-Jedruszek-3.jpg" }, { Name = "Miskatonic University", URL = "https://i.ibb.co/ncz9xjP/Arkham-Miskatonic-University-Jokubas-Uogintas.jpg" }, { Name = "Northside", URL = "https://i.ibb.co/sVWx1R3/Arkham-Northside-Jokubas-Uogintas.jpg" }, { Name = "Rivertown", URL = "https://i.ibb.co/RyJnHmz/Arkham-Rivertown-Jokubas-Uogintas.jpg" }, { Name = "Southside", URL = "https://i.ibb.co/5GW5jg5/Arkham-Southside-Jokubas-Uogintas.jpg" }, { Name = "Uptown", URL = "https://i.ibb.co/YXjvkMn/Arkham-Uptown-Jokubas-Uogintas.jpg" } }, ["Default Image"] = { { Name = "Default Image", URL = "http://cloud-3.steamusercontent.com/ugc/998015670465071049/FFAE162920D67CF38045EFBD3B85AD0F916147B2/" } }, ["Unsorted"] = { { Name = "Kingsport", URL = "https://i.ibb.co/rbkk7ys/Kingsport-Tomasz-Jedruszek.jpg" }, { Name = "Devil", URL = "http://cloud-3.steamusercontent.com/ugc/2115062479282248687/DD84A3CB3C4A475A5D093CB413A16A5CEA5FBF79/" }, { Name = "Mystic Board", URL = "http://cloud-3.steamusercontent.com/ugc/2115062479282248488/EC27B1215F558A39954C27477D8B4F916CA211E5/" } } } } end) __bundle_register("core/GUIDReferenceApi", function(require, _LOADED, __bundle_register, __bundle_modules) do local GUIDReferenceApi = {} local function getGuidHandler() return getObjectFromGUID("123456") end -- returns all matching objects as a table with references ---@param owner String Parent object for this search ---@param type String Type of object to search for GUIDReferenceApi.getObjectByOwnerAndType = function(owner, type) return getGuidHandler().call("getObjectByOwnerAndType", { owner = owner, type = type }) end -- returns all matching objects as a table with references ---@param type String Type of object to search for GUIDReferenceApi.getObjectsByType = function(type) return getGuidHandler().call("getObjectsByType", type) end -- returns all matching objects as a table with references ---@param owner String Parent object for this search GUIDReferenceApi.getObjectsByOwner = function(owner) return getGuidHandler().call("getObjectsByOwner", owner) end return GUIDReferenceApi end end) __bundle_register("__root", function(require, _LOADED, __bundle_register, __bundle_modules) require("core/PlayAreaSelector") end) return __bundle_require("__root")