814 lines
31 KiB
Plaintext
814 lines
31 KiB
Plaintext
-- 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("__root", function(require, _LOADED, __bundle_register, __bundle_modules)
|
|
require("accessories/CustomPlaymatImages")
|
|
end)
|
|
__bundle_register("accessories/CustomPlaymatImages", function(require, _LOADED, __bundle_register, __bundle_modules)
|
|
local DATA = {
|
|
["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"
|
|
} },
|
|
["Side Scenarios"] = { {
|
|
Name = "Blob That Ate Everything 1",
|
|
URL = "https://i.ibb.co/JxFV4ZN/Blob-That-Ate-Everything-Emilio-Rodriguez.jpg"
|
|
}, {
|
|
Name = "Blob That Ate Everything 2",
|
|
URL = "https://i.ibb.co/qJzstWF/Blob-That-Ate-Everything-Emilio-Rodriguez.jpg"
|
|
}, {
|
|
Name = "Carnevale of Horrors 1",
|
|
URL = "https://i.ibb.co/ZchJBpz/Carnevale-of-Horrors.jpg"
|
|
}, {
|
|
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"
|
|
}, {
|
|
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"
|
|
}, {
|
|
Name = "Kingsport",
|
|
URL = "https://i.ibb.co/rbkk7ys/Kingsport-Tomasz-Jedruszek.jpg"
|
|
}, {
|
|
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"
|
|
}, {
|
|
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"
|
|
}, {
|
|
Name = "War of the Outer Gods",
|
|
URL = "https://i.ibb.co/wLNGFTG/War-of-the-Outer-Gods-Joshua-Cairos.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 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"
|
|
} },
|
|
["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"
|
|
} },
|
|
["Cyclopean Foundations (FM)"] = { {
|
|
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 (FM)"] = { {
|
|
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 Dream Eaters"] = { {
|
|
Name = "I-A - Beyond the Gates of Sleep 1",
|
|
URL = "https://i.ibb.co/HGvnxdX/Dream-Eaters-1-A-Beyond-the-Gates-of-Sleep-Jason-Scheier.jpg"
|
|
}, {
|
|
Name = "I-A - Beyond the Gates of Sleep 2",
|
|
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 3",
|
|
URL = "https://i.ibb.co/kBfW9SC/Dream-Eaters-1-A-Beyond-the-Gates-of-Sleep-Regina-Kurnya.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/VJFQVYd/Dream-Eaters-2-B-Thousand-Shapes-of-Horror-Greg-Bobrowski.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/9s7M0PP/Dream-Eaters-2-B-Thousand-Shapes-of-Horror-Nele-Diel-2.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 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"
|
|
} },
|
|
["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 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 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"
|
|
} },
|
|
["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"
|
|
} }
|
|
}
|
|
|
|
local verticalOffset = 0.5
|
|
|
|
local buttonParameters = {}
|
|
buttonParameters.function_owner = self
|
|
buttonParameters.width = 1200
|
|
buttonParameters.height = 300
|
|
buttonParameters.position = { x = -0.2, y = 0.06, z = -verticalOffset }
|
|
|
|
local CycleIndex = 1
|
|
local CycleList = {
|
|
"Arkham Locations",
|
|
"Night of the Zealot",
|
|
"The Dunwich Legacy",
|
|
"The Path to Carcosa",
|
|
"The Forgotten Age",
|
|
"The Circle Undone",
|
|
"The Dream Eaters",
|
|
"The Innsmouth Conspiracy",
|
|
"Edge of the Earth",
|
|
"Side Scenarios",
|
|
"Cyclopean Foundations (FM)",
|
|
"Dark Matter (FM)",
|
|
"Side Scenarios (FM)"
|
|
}
|
|
|
|
-- save the index of selected cycle and table with spawnData
|
|
function onSave() return JSON.encode({ CycleIndex, spawnData }) end
|
|
|
|
function onLoad(savedData)
|
|
if savedData == nil then
|
|
print("Error: Saved Data was not found.")
|
|
else
|
|
local loadedData = JSON.decode(savedData)
|
|
CycleIndex = loadedData[1]
|
|
spawnData = loadedData[2]
|
|
end
|
|
|
|
--spawnData = getObjectFromGUID("f4a462").getData()
|
|
|
|
-- index 0: cycle selection button
|
|
buttonParameters.click_function = "selectCycle"
|
|
buttonParameters.tooltip = "Select a cycle"
|
|
buttonParameters.label = CycleList[CycleIndex]
|
|
buttonParameters.font_size = 90
|
|
self.createButton(buttonParameters)
|
|
|
|
-- index 1: display button
|
|
buttonParameters.click_function = "showImages"
|
|
buttonParameters.tooltip = "Right-Click to remove displayed tiles"
|
|
buttonParameters.label = "Display available images"
|
|
buttonParameters.position.z = buttonParameters.position.z + 2 * verticalOffset
|
|
self.createButton(buttonParameters)
|
|
end
|
|
|
|
-- open option dialog to select cycle
|
|
function selectCycle(_, color)
|
|
Player[color].showOptionsDialog("Select cycle:", CycleList, CycleIndex, optionCallback)
|
|
end
|
|
|
|
-- update CycleIndex based on selection in the option dialog
|
|
function optionCallback(_, optionIndex)
|
|
CycleIndex = optionIndex
|
|
self.editButton({
|
|
index = 0,
|
|
label = CycleList[CycleIndex]
|
|
})
|
|
end
|
|
|
|
-- triggered by clicking the "display" button
|
|
function showImages(_, _, isRightClick)
|
|
removeImages()
|
|
|
|
-- don't display new tiles when right-clicked
|
|
if isRightClick then return end
|
|
|
|
local pos = self.getPosition()
|
|
local offset = 4.5
|
|
pos.x = pos.x - offset
|
|
|
|
-- loop over respective entries in DATA
|
|
for i, entry in ipairs(DATA[CycleList[CycleIndex]]) do
|
|
spawnData.CustomImage.ImageURL = entry.URL
|
|
spawnData.Nickname = entry.Name
|
|
|
|
spawnObjectData({
|
|
data = spawnData,
|
|
position = pos,
|
|
rotation = self.getRotation(),
|
|
scale = { 1, 1, 1 }
|
|
})
|
|
|
|
-- display 10 tiles in a row, move then to next row
|
|
if i % 10 == 0 then
|
|
pos.x = pos.x - offset
|
|
pos.z = self.getPosition().z
|
|
else
|
|
pos.z = pos.z - offset
|
|
end
|
|
end
|
|
end
|
|
|
|
-- remove already laid out image tiles by tag
|
|
function removeImages()
|
|
for _, tile in ipairs(getObjectsWithTag("ImageSwapperTile")) do
|
|
tile.destruct()
|
|
end
|
|
end
|
|
end)
|
|
return __bundle_require("__root") |