Merge pull request #80 from argonui/custom-playmats

Bugfix: Custom Data Helper // New image display for custom playmat images
This commit is contained in:
BootleggerFinn 2022-12-08 12:50:21 -08:00 committed by GitHub
commit fa28ccec17
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
473 changed files with 779 additions and 21664 deletions

View File

@ -246,7 +246,8 @@
"InvestigatorSkillTracker.af7ed7",
"InvestigatorSkillTracker.e598c2",
"InvestigatorSkillTracker.b4a5f7",
"InvestigatorSkillTracker.e74881"
"InvestigatorSkillTracker.e74881",
"CustomPlaymatImages.004fe7"
],
"PlayArea": 1,
"PlayerCounts": [

View File

@ -19,13 +19,13 @@
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/rbkk7ys/Kingsport-Tomasz-Jedruszek.jpg",
"ImageURL": "http://cloud-3.steamusercontent.com/ugc/2026086584367391757/2E37A1020563AA528471DA7425B8E58343E2BAF7/",
"WidthScale": 0
},
"Description": "",
"Description": "Change playmat image to a custom one made by Mint Tea Fan.",
"DragSelectable": true,
"GMNotes": "",
"GUID": "03efce",
"GUID": "004fe7",
"Grid": true,
"GridProjection": false,
"Hands": false,
@ -33,27 +33,24 @@
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3/CF-5A.03efce.ttslua",
"LuaScriptState_path": "CustomPlaymatImages.004fe7.luascriptstate",
"LuaScript_path": "CustomPlaymatImages.004fe7.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "CF - 5A",
"Nickname": "Custom Playmat Images",
"Snap": true,
"Sticky": true,
"Tags": [
"cfmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.292,
"posX": 23.16,
"posY": 1.335,
"posZ": -65.82,
"posZ": -46.401,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleX": 1.33,
"scaleY": 1,
"scaleZ": 1
"scaleZ": 1.33
},
"Value": 0,
"XmlUI": ""

View File

@ -0,0 +1 @@
[1,{"AltLookAngle":{"x":0,"y":0,"z":0},"Autoraise":true,"ColorDiffuse":{"a":1,"b":1,"g":1,"r":1},"CustomImage":{"CustomToken":{"MergeDistancePixels":15,"Stackable":false,"StandUp":false,"Thickness":0.1},"ImageScalar":1,"ImageSecondaryURL":"","ImageURL":"https://i.ibb.co/YXjvkMn/Arkham-Uptown-Jokubas-Uogintas.jpg","WidthScale":0},"Description":"Click the 'Apply' button to load this image.","DragSelectable":true,"GMNotes":"","Grid":true,"GridProjection":false,"GUID":"f4a462","Hands":true,"HideWhenFaceDown":false,"IgnoreFoW":false,"LayoutGroupSortIndex":0,"Locked":false,"LuaScript":"function onLoad()\n local params = {}\n params.click_function = 'updatePlayarea'\n params.function_owner = self\n params.label = 'Apply'\n params.tooltip = 'Left-Click: Apply image\\nRight-Click: Revert to default'\n params.position = { 0, 0.06, -1.45 }\n params.height = 300\n params.width = 675\n params.color = { 0, 0, 0 }\n params.font_size = 200\n params.font_color = { 1, 1, 1 }\n self.createButton(params)\nend\n\nfunction updatePlayarea(_, _, isRightClick)\n local imageswapper = getObjectFromGUID(\"b7b45b\")\n\n -- error handling\n if imageswapper == nil then\n printToAll(\"Image swapper could not be found!\", \"Orange\")\n return\n end\n\n -- get default image when right-clicked, else load its own image\n if isRightClick then\n imageswapper.call(\"updateSurface\")\n else\n imageswapper.call(\"updateSurface\", self.getCustomObject().image)\n end\nend\n","LuaScriptState":"","MeasureMovement":false,"Name":"Custom_Token","Nickname":"Uptown","Snap":true,"Sticky":true,"Tags":["ImageSwapperTile"],"Tooltip":true,"Transform":{"posX":0,"posY":2,"posZ":0,"rotX":0,"rotY":270,"rotZ":0,"scaleX":1,"scaleY":1,"scaleZ":1},"Value":0,"XmlUI":""}]

View File

@ -0,0 +1,765 @@
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 (Fan-made)"] = { {
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 (Fan-made)"] = { {
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 (Fan-made)"] = { {
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 (Fan-made)",
"Dark Matter (Fan-made)",
"Side Scenarios (Fan-made)"
}
-- 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]
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

View File

@ -22,7 +22,6 @@
"jaqenZannsNavigationOverlay.a8affa",
"DrawTokenButtonTooltipRenamer.cc77a8",
"WhimsicalsGenericDifficultySelector.05efb4",
"PlaymatCustomsByBLMintTeaFan.67d8c7",
"SearchAssistant.17aed0",
"HandHelper.450688",
"DisplacementTool.0f1374",

View File

@ -1,67 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"Bag": {
"Order": 0
},
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"ContainedObjects_order": [
"TheCircleUndone.d262db",
"NightoftheZealotArkhamLocations.07fe41",
"ThePathtoCarcosa.569aab",
"TheDunwichLegacy.c13c06",
"TheForgottenAge.b172b0",
"TheDream-Eaters.992a0b",
"TheInnsmouthConspiracy.a0cfe5",
"SideMissions.f4f4be",
"DarkMatter.df8e34",
"CyclopeanFoundations.c87ef3",
"EdgeoftheEarth.1b9b55"
],
"ContainedObjects_path": "PlaymatCustomsByBLMintTeaFan.67d8c7",
"Description": "playmat",
"DragSelectable": true,
"GMNotes": "",
"GUID": "67d8c7",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7.luascriptstate",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7.ttslua",
"MaterialIndex": -1,
"MeasureMovement": false,
"MeshIndex": -1,
"Name": "Bag",
"Nickname": "Playmat Customs (By BôL \u0026 Mint Tea Fan)",
"Snap": true,
"Sticky": true,
"Tags": [
"sce_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 64.947,
"posY": 2.043,
"posZ": -56.79,
"rotX": 0,
"rotY": 90,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1 +0,0 @@
{"ml":{"07fe41":{"lock":false,"position":{"x":45.6394729614258,"y":1.10703551769257,"z":-47.4099235534668},"rotation":{"x":359.979156494141,"y":89.9849395751953,"z":359.983215332031}},"1b9b55":{"lock":false,"position":{"x":45.6347618103027,"y":1.09761250019073,"z":-79.6012344360352},"rotation":{"x":359.979156494141,"y":89.9857864379883,"z":359.983215332031}},"569aab":{"lock":false,"position":{"x":45.6394691467285,"y":1.1043426990509,"z":-56.6087074279785},"rotation":{"x":359.979156494141,"y":89.9855422973633,"z":359.983215332031}},"992a0b":{"lock":false,"position":{"x":45.639461517334,"y":1.10030460357666,"z":-70.4085998535156},"rotation":{"x":359.979156494141,"y":89.9856185913086,"z":359.983215332031}},"a0cfe5":{"lock":false,"position":{"x":45.639461517334,"y":1.09895837306976,"z":-75.0087203979492},"rotation":{"x":359.979156494141,"y":89.9856185913086,"z":359.983215332031}},"b172b0":{"lock":false,"position":{"x":45.639461517334,"y":1.1029976606369,"z":-61.2087135314941},"rotation":{"x":359.979156494141,"y":89.9852294921875,"z":359.983215332031}},"c13c06":{"lock":false,"position":{"x":45.639461517334,"y":1.10569000244141,"z":-52.0099334716797},"rotation":{"x":359.979156494141,"y":89.9852447509766,"z":359.983215332031}},"c87ef3":{"lock":false,"position":{"x":45.6243743896484,"y":1.09355545043945,"z":-93.4477081298828},"rotation":{"x":359.979156494141,"y":89.9876327514648,"z":359.983215332031}},"d262db":{"lock":false,"position":{"x":45.6394691467285,"y":1.10165071487427,"z":-65.8086013793945},"rotation":{"x":359.979156494141,"y":89.9846572875977,"z":359.983215332031}},"df8e34":{"lock":false,"position":{"x":45.6400604248047,"y":1.09490370750427,"z":-88.8582534790039},"rotation":{"x":359.979156494141,"y":89.987548828125,"z":359.983215332031}},"f4f4be":{"lock":false,"position":{"x":45.6400604248047,"y":1.09625029563904,"z":-84.2582778930664},"rotation":{"x":359.979156494141,"y":89.9874267578125,"z":359.983215332031}}}}

View File

@ -1,163 +0,0 @@
---
--- Generated by EmmyLua(https://github.com/EmmyLua)
--- Created by Whimsical.
--- DateTime: 2021-03-16 3:26 p.m.
---
--- Original Memory Bag by MrStump
--- https://steamcommunity.com/sharedfiles/filedetails/?id=953770080
---@class MemoryListEntry
---@field public position Vector
---@field public rotation Vector
---@field public lock boolean
local MemoryListEntry={}
---@type table<string, MemoryListEntry>
local memory_list = {}
local POSTFIX = {
SAVE = "_memory_object",
ZONE = "_memory_zone",
SHUFFLE = "_memory_shuffle"
}
---@type table<string, any>
local BUTTON = {
POSITION = Vector(0, 0.3, -2),
ROTATION = Vector(0, 180, 0),
HEIGHT = 350,
WIDTH = 800,
FONT_SIZE = 250,
COLOR = Color.Black,
FONT_COLOR = Color.White
}
local ipairs = ipairs
local pairs = pairs
---@return string
local function get_prefix()
return self:getDescription()
end
local function updateSave()
local data_to_save = {["ml"]=memory_list}
local saved_data = JSON.encode(data_to_save)
self.script_state = saved_data
end
---@param label string
---@param action string
local function createButton(label, action)
self:clearButtons()
---@type CreateClassicUIButton
local parameters = {
label = label,
click_function = action,
function_owner = self
}
for key, value in pairs(BUTTON) do
parameters[key:lower()] = value
end
self:createButton(parameters)
end
local function create_place_button() createButton("Place", "place_objects") end
local function create_recall_button() createButton("Recall", "recall_objects") end
---@param tag string
---@param lock boolean
---@return fun(object:TTSObject)
local function create_object_callback(tag, lock)
---@param object TTSObject
return function (object)
object:setLock(lock)
if object:hasTag(tag) then object:shuffle() end
end
end
---@param object TTSObject
local function record_objects(object)
memory_list[object:getGUID()] = {
position = object:getPosition(),
rotation = object:getRotation(),
lock = object:getLock()
}
self:putObject(object)
end
---@param objects TTSObject[]
local function update_objects(objects)
for _, object in ipairs(objects) do
record_objects(object)
end
end
--Sends objects from bag/table to their saved position/rotation
function place_objects()
local prefix = get_prefix()
local shuffle_tag = prefix .. POSTFIX.SHUFFLE
local content = self.getObjects()
for _, item in ipairs(content) do
local entry = memory_list[item.guid]
if entry then
self.takeObject {
guid=item.guid,
position=entry.position,
rotation=entry.rotation,
callback_function = create_object_callback(shuffle_tag, entry.lock)
}
end
end
broadcastToAll("Objects Placed", {1,1,1})
create_recall_button()
end
--Recalls objects to bag from table
function recall_objects()
memory_list = {}
local prefix = get_prefix()
if prefix=="" then
broadcastToAll("Error in Memory Bag: Tag prefix not set.")
return
end
local save_tag = prefix .. POSTFIX.SAVE
local zone_tag = prefix .. POSTFIX.ZONE
local zones = getObjectsWithTag(zone_tag)
if #zones>0 then
for _, zone in ipairs(zones) do
update_objects(zone:getObjects())
end
else
update_objects(getObjectsWithTag(save_tag))
end
updateSave()
broadcastToAll("Objects Recalled", {1,1,1})
create_place_button()
end
function onload(saved_data)
if saved_data ~= "" then
local loaded_data = JSON.decode(saved_data)
--Set up information off of loaded_data
memory_list = loaded_data.ml
else
--Set up information for if there is no saved saved data
memory_list = {}
end
if self:getQuantity()==0 then
create_recall_button()
else
create_place_button()
end
end

View File

@ -1,70 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"Bag": {
"Order": 0
},
"ColorDiffuse": {
"b": 1,
"g": 0.47605,
"r": 0
},
"ContainedObjects_order": [
"CF-1A.dedc73",
"CF-1B.868e4d",
"CF-2.d5b33e",
"CF-3.940388",
"CF-4A.6eaeea",
"CF-4B.b23c0a",
"CF-5B.0b7844",
"CF-6.0e1a24",
"CF-7B.752c9c",
"CF-7A.ef2f78",
"CF-8A.64ef6f",
"CF-8C.698ba7",
"CF-8B.c05b71",
"CF-5A.03efce"
],
"ContainedObjects_path": "CyclopeanFoundations.c87ef3",
"Description": "cfmat",
"DragSelectable": true,
"GMNotes": "",
"GUID": "c87ef3",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3.luascriptstate",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3.ttslua",
"MaterialIndex": -1,
"MeasureMovement": false,
"MeshIndex": -1,
"Name": "Bag",
"Nickname": "Cyclopean Foundations",
"Snap": true,
"Sticky": true,
"Tags": [
"playmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 45.624,
"posY": 1.094,
"posZ": -93.448,
"rotX": 0,
"rotY": 90,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1 +0,0 @@
{"ml":{"03efce":{"lock":false,"position":{"x":40.2917404174805,"y":1.33473932743073,"z":-65.8198928833008},"rotation":{"x":0.0208113938570023,"y":269.979309082031,"z":0.016780711710453}},"0b7844":{"lock":false,"position":{"x":36.624340057373,"y":1.24727845191956,"z":-65.8082962036133},"rotation":{"x":0.020821338519454,"y":269.961608886719,"z":0.0167570598423481}},"0e1a24":{"lock":false,"position":{"x":40.2900581359863,"y":1.30259644985199,"z":-70.4198532104492},"rotation":{"x":0.0207981672137976,"y":270.036834716797,"z":0.0167842991650105}},"64ef6f":{"lock":false,"position":{"x":40.2900733947754,"y":1.330695271492,"z":-79.6198806762695},"rotation":{"x":0.0208465345203877,"y":269.971069335938,"z":0.016609201207757}},"698ba7":{"lock":false,"position":{"x":32.9850578308105,"y":1.37680625915527,"z":-79.6083908081055},"rotation":{"x":1.59656393527985,"y":269.971252441406,"z":0.0168016385287046}},"6eaeea":{"lock":false,"position":{"x":40.2900695800781,"y":1.33608603477478,"z":-61.2199897766113},"rotation":{"x":0.0208010878413916,"y":269.990325927734,"z":0.0168091915547848}},"752c9c":{"lock":false,"position":{"x":36.6258506774902,"y":1.26609814167023,"z":-75.0082168579102},"rotation":{"x":0.0207465998828411,"y":270.038269042969,"z":0.0168867725878954}},"868e4d":{"lock":false,"position":{"x":36.6237869262695,"y":1.39028429985046,"z":-47.4081611633301},"rotation":{"x":1.58362686634064,"y":269.983947753906,"z":0.016801105812192}},"940388":{"lock":false,"position":{"x":40.3040618896484,"y":1.33743906021118,"z":-56.6114540100098},"rotation":{"x":0.0208999495953321,"y":269.68798828125,"z":0.0166574865579605}},"b23c0a":{"lock":false,"position":{"x":36.6238670349121,"y":1.38624823093414,"z":-61.2081985473633},"rotation":{"x":1.58365762233734,"y":270.049377441406,"z":0.0168784018605947}},"c05b71":{"lock":false,"position":{"x":36.6243591308594,"y":1.38086724281311,"z":-79.608268737793},"rotation":{"x":1.58390593528748,"y":269.96142578125,"z":0.0167695078998804}},"d5b33e":{"lock":false,"position":{"x":40.2900199890137,"y":1.33877801895142,"z":-52.0199737548828},"rotation":{"x":0.0208130925893784,"y":269.985595703125,"z":0.016765683889389}},"dedc73":{"lock":false,"position":{"x":40.290111541748,"y":1.34012472629547,"z":-47.4108924865723},"rotation":{"x":0.0208345223218203,"y":269.972290039063,"z":0.0166684426367283}},"ef2f78":{"lock":false,"position":{"x":40.2911605834961,"y":1.3739629983902,"z":-75.0199890136719},"rotation":{"x":358.457366943359,"y":269.978607177734,"z":0.0168527159839869}}}}

View File

@ -1,163 +0,0 @@
---
--- Generated by EmmyLua(https://github.com/EmmyLua)
--- Created by Whimsical.
--- DateTime: 2021-03-16 3:26 p.m.
---
--- Original Memory Bag by MrStump
--- https://steamcommunity.com/sharedfiles/filedetails/?id=953770080
---@class MemoryListEntry
---@field public position Vector
---@field public rotation Vector
---@field public lock boolean
local MemoryListEntry={}
---@type table<string, MemoryListEntry>
local memory_list = {}
local POSTFIX = {
SAVE = "_memory_object",
ZONE = "_memory_zone",
SHUFFLE = "_memory_shuffle"
}
---@type table<string, any>
local BUTTON = {
POSITION = Vector(0, 0.3, -2),
ROTATION = Vector(0, 180, 0),
HEIGHT = 350,
WIDTH = 800,
FONT_SIZE = 250,
COLOR = Color.Black,
FONT_COLOR = Color.White
}
local ipairs = ipairs
local pairs = pairs
---@return string
local function get_prefix()
return self:getDescription()
end
local function updateSave()
local data_to_save = {["ml"]=memory_list}
local saved_data = JSON.encode(data_to_save)
self.script_state = saved_data
end
---@param label string
---@param action string
local function createButton(label, action)
self:clearButtons()
---@type CreateClassicUIButton
local parameters = {
label = label,
click_function = action,
function_owner = self
}
for key, value in pairs(BUTTON) do
parameters[key:lower()] = value
end
self:createButton(parameters)
end
local function create_place_button() createButton("Place", "place_objects") end
local function create_recall_button() createButton("Recall", "recall_objects") end
---@param tag string
---@param lock boolean
---@return fun(object:TTSObject)
local function create_object_callback(tag, lock)
---@param object TTSObject
return function (object)
object:setLock(lock)
if object:hasTag(tag) then object:shuffle() end
end
end
---@param object TTSObject
local function record_objects(object)
memory_list[object:getGUID()] = {
position = object:getPosition(),
rotation = object:getRotation(),
lock = object:getLock()
}
self:putObject(object)
end
---@param objects TTSObject[]
local function update_objects(objects)
for _, object in ipairs(objects) do
record_objects(object)
end
end
--Sends objects from bag/table to their saved position/rotation
function place_objects()
local prefix = get_prefix()
local shuffle_tag = prefix .. POSTFIX.SHUFFLE
local content = self.getObjects()
for _, item in ipairs(content) do
local entry = memory_list[item.guid]
if entry then
self.takeObject {
guid=item.guid,
position=entry.position,
rotation=entry.rotation,
callback_function = create_object_callback(shuffle_tag, entry.lock)
}
end
end
broadcastToAll("Objects Placed", {1,1,1})
create_recall_button()
end
--Recalls objects to bag from table
function recall_objects()
memory_list = {}
local prefix = get_prefix()
if prefix=="" then
broadcastToAll("Error in Memory Bag: Tag prefix not set.")
return
end
local save_tag = prefix .. POSTFIX.SAVE
local zone_tag = prefix .. POSTFIX.ZONE
local zones = getObjectsWithTag(zone_tag)
if #zones>0 then
for _, zone in ipairs(zones) do
update_objects(zone:getObjects())
end
else
update_objects(getObjectsWithTag(save_tag))
end
updateSave()
broadcastToAll("Objects Recalled", {1,1,1})
create_place_button()
end
function onload(saved_data)
if saved_data ~= "" then
local loaded_data = JSON.decode(saved_data)
--Set up information off of loaded_data
memory_list = loaded_data.ml
else
--Set up information for if there is no saved saved data
memory_list = {}
end
if self:getQuantity()==0 then
create_recall_button()
else
create_place_button()
end
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/c6LJNfr/Cyclopean-1-Lost-Moorings-Jake-Murray.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "dedc73",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3/CF-1A.dedc73.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "CF - 1A",
"Snap": true,
"Sticky": true,
"Tags": [
"cfmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.29,
"posY": 1.34,
"posZ": -47.411,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/c6LJNfr/Cyclopean-1-Lost-Moorings-Jake-Murray.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/DQ76z3c/Cyclopean-1-Lost-Moorings-Care-Line-Art.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "868e4d",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3/CF-1B.868e4d.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "CF - 1B",
"Snap": true,
"Sticky": true,
"Tags": [
"cfmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 36.624,
"posY": 1.39,
"posZ": -47.408,
"rotX": 2,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/DQ76z3c/Cyclopean-1-Lost-Moorings-Care-Line-Art.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/P6h3vbm/Cyclopean-2-Going-Twice-Quentin-Bouilloud.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "d5b33e",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3/CF-2.d5b33e.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "CF - 2",
"Snap": true,
"Sticky": true,
"Tags": [
"cfmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.29,
"posY": 1.339,
"posZ": -52.02,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/P6h3vbm/Cyclopean-2-Going-Twice-Quentin-Bouilloud.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/9qK9Fzd/Cyclopean-3-Private-Lives-Christian-Bravery.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "940388",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3/CF-3.940388.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "CF - 3",
"Snap": true,
"Sticky": true,
"Tags": [
"cfmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.304,
"posY": 1.337,
"posZ": -56.611,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/9qK9Fzd/Cyclopean-3-Private-Lives-Christian-Bravery.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/5RFcGyP/Cyclopean-4-Crumbling-Masonry-Simon-Craghead.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "6eaeea",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3/CF-4A.6eaeea.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "CF - 4A",
"Snap": true,
"Sticky": true,
"Tags": [
"cfmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.29,
"posY": 1.336,
"posZ": -61.22,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/5RFcGyP/Cyclopean-4-Crumbling-Masonry-Simon-Craghead.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/pdrGK6p/Cyclopean-4-Crumbling-Masonry-Pete-Amachree.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "b23c0a",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3/CF-4B.b23c0a.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "CF - 4B",
"Snap": true,
"Sticky": true,
"Tags": [
"cfmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 36.624,
"posY": 1.386,
"posZ": -61.208,
"rotX": 2,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/pdrGK6p/Cyclopean-4-Crumbling-Masonry-Pete-Amachree.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/rbkk7ys/Kingsport-Tomasz-Jedruszek.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/3mYfFNB/Cyclopean-5-Across-Dreadful-Waters-Ev-Shipard.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "0b7844",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3/CF-5B.0b7844.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "CF - 5B",
"Snap": true,
"Sticky": true,
"Tags": [
"cfmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 36.624,
"posY": 1.247,
"posZ": -65.808,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/3mYfFNB/Cyclopean-5-Across-Dreadful-Waters-Ev-Shipard.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/ynmQNSB/Cyclopean-6-Blood-From-Stones-Marc-Simonetti.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "0e1a24",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3/CF-6.0e1a24.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "CF - 6",
"Snap": true,
"Sticky": true,
"Tags": [
"cfmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.29,
"posY": 1.303,
"posZ": -70.42,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/ynmQNSB/Cyclopean-6-Blood-From-Stones-Marc-Simonetti.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/s1JDkFv/Cyclopean-7-Pyroclastic-Flow-Bastien-Grivet.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "ef2f78",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3/CF-7A.ef2f78.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "CF - 7A",
"Snap": true,
"Sticky": true,
"Tags": [
"cfmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.291,
"posY": 1.374,
"posZ": -75.02,
"rotX": 358,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/s1JDkFv/Cyclopean-7-Pyroclastic-Flow-Bastien-Grivet.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/qs8Sk2N/Cyclopean-7-Pyroclastic-Flow-Rachid-Lotf.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "752c9c",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3/CF-7B.752c9c.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "CF - 7B",
"Snap": true,
"Sticky": true,
"Tags": [
"cfmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 36.626,
"posY": 1.266,
"posZ": -75.008,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/qs8Sk2N/Cyclopean-7-Pyroclastic-Flow-Rachid-Lotf.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/mGnKNcy/Cyclopean-8-Tomb-of-Dead-Dreams-Richard-Benning.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "64ef6f",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3/CF-8A.64ef6f.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "CF - 8A",
"Snap": true,
"Sticky": true,
"Tags": [
"cfmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.29,
"posY": 1.331,
"posZ": -79.62,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/mGnKNcy/Cyclopean-8-Tomb-of-Dead-Dreams-Richard-Benning.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/vmBM8x2/Cyclopean-8-Tomb-of-Dead-Dreams-Walter-Brocca.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "c05b71",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3/CF-8B.c05b71.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "CF - 8B",
"Snap": true,
"Sticky": true,
"Tags": [
"cfmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 36.624,
"posY": 1.381,
"posZ": -79.608,
"rotX": 2,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/vmBM8x2/Cyclopean-8-Tomb-of-Dead-Dreams-Walter-Brocca.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/0MwX460/Cyclopean-8-Tomb-of-Dead-Dreams-Guillem-H-Pongiluppi.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "698ba7",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/CyclopeanFoundations.c87ef3/CF-8C.698ba7.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "CF - 8C",
"Snap": true,
"Sticky": true,
"Tags": [
"cfmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 32.985,
"posY": 1.377,
"posZ": -79.608,
"rotX": 2,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/0MwX460/Cyclopean-8-Tomb-of-Dead-Dreams-Guillem-H-Pongiluppi.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,72 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"Bag": {
"Order": 0
},
"ColorDiffuse": {
"b": 0,
"g": 0.82583,
"r": 1
},
"ContainedObjects_order": [
"DM-1A.8832eb",
"DM-2A.645dee",
"DM-1B.28ae75",
"DM-2B.ec4b5d",
"DM-3.a099cd",
"DM-4A.3d76cc",
"DM-4B.04ec55",
"DM-5.9a09ee",
"DM-7A.28d283",
"DM-7B.3ef3dc",
"DM-1C.acae33",
"DM-8A.3531c0",
"DM-8B.7b795b",
"DM-8C.44139a",
"DM-1D.2c73fd",
"DM-6.85cf7e"
],
"ContainedObjects_path": "DarkMatter.df8e34",
"Description": "darkmat",
"DragSelectable": true,
"GMNotes": "",
"GUID": "df8e34",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34.luascriptstate",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34.ttslua",
"MaterialIndex": -1,
"MeasureMovement": false,
"MeshIndex": -1,
"Name": "Bag",
"Nickname": "Dark Matter",
"Snap": true,
"Sticky": true,
"Tags": [
"playmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 45.64,
"posY": 1.095,
"posZ": -88.858,
"rotX": 0,
"rotY": 90,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1 +0,0 @@
{"ml":{"04ec55":{"lock":false,"position":{"x":36.623706817627,"y":1.38624560832977,"z":-61.2081680297852},"rotation":{"x":1.58361685276031,"y":269.985961914063,"z":0.0167917627841234}},"28ae75":{"lock":false,"position":{"x":36.6238632202148,"y":1.39028799533844,"z":-47.4081726074219},"rotation":{"x":1.5836409330368,"y":269.986114501953,"z":0.0168468002229929}},"28d283":{"lock":false,"position":{"x":40.2900657653809,"y":1.33204317092896,"z":-75.0199737548828},"rotation":{"x":0.0208335369825363,"y":269.973022460938,"z":0.0166720375418663}},"2c73fd":{"lock":false,"position":{"x":29.3394870758057,"y":1.38794434070587,"z":-47.4095726013184},"rotation":{"x":1.59289479255676,"y":269.987457275391,"z":0.0167952030897141}},"3531c0":{"lock":false,"position":{"x":40.2900695800781,"y":1.33069288730621,"z":-79.619873046875},"rotation":{"x":0.0208573695272207,"y":269.982849121094,"z":0.0165296271443367}},"3d76cc":{"lock":false,"position":{"x":40.2900695800781,"y":1.33608186244965,"z":-61.2199897766113},"rotation":{"x":0.0208359826356173,"y":269.9833984375,"z":0.016648031771183}},"3ef3dc":{"lock":false,"position":{"x":36.6236991882324,"y":1.38220632076263,"z":-75.0081329345703},"rotation":{"x":1.58361315727234,"y":269.985473632813,"z":0.0168022811412811}},"44139a":{"lock":false,"position":{"x":32.9847183227539,"y":1.3799329996109,"z":-79.6082000732422},"rotation":{"x":1.59562170505524,"y":269.974456787109,"z":0.0167868956923485}},"645dee":{"lock":false,"position":{"x":40.2900772094727,"y":1.33877515792847,"z":-52.0199775695801},"rotation":{"x":0.0208353772759438,"y":269.980987548828,"z":0.0166546702384949}},"7b795b":{"lock":false,"position":{"x":36.623348236084,"y":1.38084447383881,"z":-79.6079254150391},"rotation":{"x":1.58317255973816,"y":269.966369628906,"z":0.0167705658823252}},"85cf7e":{"lock":false,"position":{"x":40.2900733947754,"y":1.33339202404022,"z":-70.4198455810547},"rotation":{"x":0.0208157505840063,"y":269.976196289063,"z":0.0167624223977327}},"8832eb":{"lock":false,"position":{"x":40.2900772094727,"y":1.34012115001678,"z":-47.4199905395508},"rotation":{"x":0.0208338815718889,"y":269.981719970703,"z":0.0166406370699406}},"9a09ee":{"lock":false,"position":{"x":40.2900733947754,"y":1.3347384929657,"z":-65.8198394775391},"rotation":{"x":0.0208138152956963,"y":269.9833984375,"z":0.0167650319635868}},"a099cd":{"lock":false,"position":{"x":40.2900810241699,"y":1.33743143081665,"z":-56.6199836730957},"rotation":{"x":0.0208138581365347,"y":269.9833984375,"z":0.0167650245130062}},"acae33":{"lock":false,"position":{"x":32.9845352172852,"y":1.389328956604,"z":-47.4093360900879},"rotation":{"x":1.59472358226776,"y":269.982452392578,"z":0.0167991146445274}},"ec4b5d":{"lock":false,"position":{"x":36.6238670349121,"y":1.38894069194794,"z":-52.0081672668457},"rotation":{"x":1.5836797952652,"y":269.986236572266,"z":0.0167956613004208}}}}

View File

@ -1,163 +0,0 @@
---
--- Generated by EmmyLua(https://github.com/EmmyLua)
--- Created by Whimsical.
--- DateTime: 2021-03-16 3:26 p.m.
---
--- Original Memory Bag by MrStump
--- https://steamcommunity.com/sharedfiles/filedetails/?id=953770080
---@class MemoryListEntry
---@field public position Vector
---@field public rotation Vector
---@field public lock boolean
local MemoryListEntry={}
---@type table<string, MemoryListEntry>
local memory_list = {}
local POSTFIX = {
SAVE = "_memory_object",
ZONE = "_memory_zone",
SHUFFLE = "_memory_shuffle"
}
---@type table<string, any>
local BUTTON = {
POSITION = Vector(0, 0.3, -2),
ROTATION = Vector(0, 180, 0),
HEIGHT = 350,
WIDTH = 800,
FONT_SIZE = 250,
COLOR = Color.Black,
FONT_COLOR = Color.White
}
local ipairs = ipairs
local pairs = pairs
---@return string
local function get_prefix()
return self:getDescription()
end
local function updateSave()
local data_to_save = {["ml"]=memory_list}
local saved_data = JSON.encode(data_to_save)
self.script_state = saved_data
end
---@param label string
---@param action string
local function createButton(label, action)
self:clearButtons()
---@type CreateClassicUIButton
local parameters = {
label = label,
click_function = action,
function_owner = self
}
for key, value in pairs(BUTTON) do
parameters[key:lower()] = value
end
self:createButton(parameters)
end
local function create_place_button() createButton("Place", "place_objects") end
local function create_recall_button() createButton("Recall", "recall_objects") end
---@param tag string
---@param lock boolean
---@return fun(object:TTSObject)
local function create_object_callback(tag, lock)
---@param object TTSObject
return function (object)
object:setLock(lock)
if object:hasTag(tag) then object:shuffle() end
end
end
---@param object TTSObject
local function record_objects(object)
memory_list[object:getGUID()] = {
position = object:getPosition(),
rotation = object:getRotation(),
lock = object:getLock()
}
self:putObject(object)
end
---@param objects TTSObject[]
local function update_objects(objects)
for _, object in ipairs(objects) do
record_objects(object)
end
end
--Sends objects from bag/table to their saved position/rotation
function place_objects()
local prefix = get_prefix()
local shuffle_tag = prefix .. POSTFIX.SHUFFLE
local content = self.getObjects()
for _, item in ipairs(content) do
local entry = memory_list[item.guid]
if entry then
self.takeObject {
guid=item.guid,
position=entry.position,
rotation=entry.rotation,
callback_function = create_object_callback(shuffle_tag, entry.lock)
}
end
end
broadcastToAll("Objects Placed", {1,1,1})
create_recall_button()
end
--Recalls objects to bag from table
function recall_objects()
memory_list = {}
local prefix = get_prefix()
if prefix=="" then
broadcastToAll("Error in Memory Bag: Tag prefix not set.")
return
end
local save_tag = prefix .. POSTFIX.SAVE
local zone_tag = prefix .. POSTFIX.ZONE
local zones = getObjectsWithTag(zone_tag)
if #zones>0 then
for _, zone in ipairs(zones) do
update_objects(zone:getObjects())
end
else
update_objects(getObjectsWithTag(save_tag))
end
updateSave()
broadcastToAll("Objects Recalled", {1,1,1})
create_place_button()
end
function onload(saved_data)
if saved_data ~= "" then
local loaded_data = JSON.decode(saved_data)
--Set up information off of loaded_data
memory_list = loaded_data.ml
else
--Set up information for if there is no saved saved data
memory_list = {}
end
if self:getQuantity()==0 then
create_recall_button()
else
create_place_button()
end
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/sQf85b8/Dark-Matter-1-Tatterdemalion-Paul-Pepera.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "8832eb",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-1A.8832eb.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 1A",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.29,
"posY": 1.34,
"posZ": -47.42,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/sQf85b8/Dark-Matter-1-Tatterdemalion-Paul-Pepera.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/1JzrrX2/Dark-Matter-1-Tatterdemalion-Brian-Taylor.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "28ae75",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-1B.28ae75.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 1B",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 36.624,
"posY": 1.39,
"posZ": -47.408,
"rotX": 2,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/1JzrrX2/Dark-Matter-1-Tatterdemalion-Brian-Taylor.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/DzvvgGf/Dark-Matter-1-Tatterdemalion-John-Wallin-Liberto.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "acae33",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-1C.acae33.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 1C",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 32.985,
"posY": 1.389,
"posZ": -47.409,
"rotX": 2,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/DzvvgGf/Dark-Matter-1-Tatterdemalion-John-Wallin-Liberto.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/DRMPGVt/Dark-Matter-1-Tatterdemalion-Andrey-Vozny.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "2c73fd",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-1D.2c73fd.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 1D",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 29.339,
"posY": 1.388,
"posZ": -47.41,
"rotX": 2,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/DRMPGVt/Dark-Matter-1-Tatterdemalion-Andrey-Vozny.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/cTKZQ61/Dark-Matter-2-Electric-Nightmares-Robert-Thoma.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "645dee",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-2A.645dee.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 2A",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.29,
"posY": 1.339,
"posZ": -52.02,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/cTKZQ61/Dark-Matter-2-Electric-Nightmares-Robert-Thoma.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/hLGVBt7/Dark-Matter-2-Electric-Nightmares-Dean-Lawrence.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "ec4b5d",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-2B.ec4b5d.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 2B",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 36.624,
"posY": 1.389,
"posZ": -52.008,
"rotX": 2,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/hLGVBt7/Dark-Matter-2-Electric-Nightmares-Dean-Lawrence.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/6vyXv90/Dark-Matter-3-Lost-Quantum-Michael-Rajecki.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "a099cd",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-3.a099cd.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 3",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.29,
"posY": 1.337,
"posZ": -56.62,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/6vyXv90/Dark-Matter-3-Lost-Quantum-Michael-Rajecki.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/DfbTKHP/Dark-Matter-4-In-the-Shadow-of-Earth-Jihoo-Kim.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "3d76cc",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-4A.3d76cc.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 4A",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.29,
"posY": 1.336,
"posZ": -61.22,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/DfbTKHP/Dark-Matter-4-In-the-Shadow-of-Earth-Jihoo-Kim.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/MCvPmCb/Dark-Matter-4-In-the-Shadow-of-Earth-N5-Luckybuuncle.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "04ec55",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-4B.04ec55.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 4B",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 36.624,
"posY": 1.386,
"posZ": -61.208,
"rotX": 2,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/MCvPmCb/Dark-Matter-4-In-the-Shadow-of-Earth-N5-Luckybuuncle.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/b2d8qvg/Dark-Matter-5-Strange-Moons-Hongyu-Yin.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "9a09ee",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-5.9a09ee.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 5",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.29,
"posY": 1.335,
"posZ": -65.82,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/b2d8qvg/Dark-Matter-5-Strange-Moons-Hongyu-Yin.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/TcnKXJD/Carcosa-1-Curtain-Call-Mark-Molnar.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "85cf7e",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-6.85cf7e.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 6",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.29,
"posY": 1.333,
"posZ": -70.42,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/TcnKXJD/Carcosa-1-Curtain-Call-Mark-Molnar.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/7WnTyYT/Dark-Matter-7-Fragment-of-Carcosa-Colin-Moore.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "28d283",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-7A.28d283.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 7A",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.29,
"posY": 1.332,
"posZ": -75.02,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/7WnTyYT/Dark-Matter-7-Fragment-of-Carcosa-Colin-Moore.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/mG2Brrd/Dark-Matter-7-Fragments-of-Carcosa-Matthieu-Rebuffat.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "3ef3dc",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-7B.3ef3dc.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 7B",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 36.624,
"posY": 1.382,
"posZ": -75.008,
"rotX": 2,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/mG2Brrd/Dark-Matter-7-Fragments-of-Carcosa-Matthieu-Rebuffat.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/CJ3LKL7/Dark-Matter-8-Starfall-Vadim-Sadovski.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "3531c0",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-8A.3531c0.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 8A",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.29,
"posY": 1.331,
"posZ": -79.62,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/CJ3LKL7/Dark-Matter-8-Starfall-Vadim-Sadovski.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/Njd1FcB/Dark-Matter-8-Starfall-Vadim-Sadovski-2.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "7b795b",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-8B.7b795b.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 8B",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 36.623,
"posY": 1.381,
"posZ": -79.608,
"rotX": 2,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/Njd1FcB/Dark-Matter-8-Starfall-Vadim-Sadovski-2.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/W0Cx7bb/Dark-Matter-8-Starfall-Vadim-Sadovski-3.jpg",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "44139a",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/DarkMatter.df8e34/DM-8C.44139a.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "DM - 8C",
"Snap": true,
"Sticky": true,
"Tags": [
"darkmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 32.985,
"posY": 1.38,
"posZ": -79.608,
"rotX": 2,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/W0Cx7bb/Dark-Matter-8-Starfall-Vadim-Sadovski-3.jpg"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,66 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"Bag": {
"Order": 0
},
"ColorDiffuse": {
"b": 1,
"g": 0.97614,
"r": 0.83101
},
"ContainedObjects_order": [
"EOTE-4B.03b860",
"EOTE-5B.7a68b3",
"EOTE-1A.f4a462",
"EOTE-FatalMirage.1d1397",
"EOTE-2A.bef931",
"EOTE-3A.e75ebc",
"EOTE-4A.6f0cc7",
"EOTE-5A.704a25",
"EOTE-1B.37ff1a",
"EOTE-1C.7ab1bc"
],
"ContainedObjects_path": "EdgeoftheEarth.1b9b55",
"Description": "ticmat",
"DragSelectable": true,
"GMNotes": "",
"GUID": "1b9b55",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/EdgeoftheEarth.1b9b55.luascriptstate",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/EdgeoftheEarth.1b9b55.ttslua",
"MaterialIndex": -1,
"MeasureMovement": false,
"MeshIndex": -1,
"Name": "Bag",
"Nickname": "Edge of the Earth",
"Snap": true,
"Sticky": true,
"Tags": [
"playmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 45.635,
"posY": 1.098,
"posZ": -79.601,
"rotX": 0,
"rotY": 90,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1 +0,0 @@
{"ml":{"03b860":{"lock":false,"position":{"x":36.575008392334,"y":1.33339524269104,"z":-65.7999954223633},"rotation":{"x":0.0208085235208273,"y":270.001068115234,"z":0.0167712904512882}},"1d1397":{"lock":false,"position":{"x":40.4250068664551,"y":1.33872747421265,"z":-52.3599967956543},"rotation":{"x":0.0208140071481466,"y":269.982727050781,"z":0.0167648307979107}},"37ff1a":{"lock":false,"position":{"x":36.5720520019531,"y":1.33863949775696,"z":-47.8800773620605},"rotation":{"x":0.0208113212138414,"y":269.992004394531,"z":0.0167681202292442}},"6f0cc7":{"lock":false,"position":{"x":40.4250068664551,"y":1.33479332923889,"z":-65.7999954223633},"rotation":{"x":0.0208089388906956,"y":269.999481201172,"z":0.0167709868401289}},"704a25":{"lock":false,"position":{"x":40.4250068664551,"y":1.33348190784454,"z":-70.2799911499023},"rotation":{"x":0.0208080839365721,"y":270.003479003906,"z":0.0167722757905722}},"7a68b3":{"lock":false,"position":{"x":36.575008392334,"y":1.33208382129669,"z":-70.2799911499023},"rotation":{"x":0.02080755867064,"y":270.004425048828,"z":0.0167725197970867}},"7ab1bc":{"lock":false,"position":{"x":32.7250137329102,"y":1.33724236488342,"z":-47.8799896240234},"rotation":{"x":0.0208022426813841,"y":270.0224609375,"z":0.0167790539562702}},"bef931":{"lock":false,"position":{"x":40.4250068664551,"y":1.3374160528183,"z":-56.8399925231934},"rotation":{"x":0.0208131764084101,"y":269.985534667969,"z":0.0167656857520342}},"e75ebc":{"lock":false,"position":{"x":40.4250068664551,"y":1.33610463142395,"z":-61.3199920654297},"rotation":{"x":0.0208084508776665,"y":270.001281738281,"z":0.0167715884745121}},"f4a462":{"lock":false,"position":{"x":40.4250068664551,"y":1.34003889560699,"z":-47.8799934387207},"rotation":{"x":0.0208105836063623,"y":269.993957519531,"z":0.0167687349021435}}}}

View File

@ -1,163 +0,0 @@
---
--- Generated by EmmyLua(https://github.com/EmmyLua)
--- Created by Whimsical.
--- DateTime: 2021-03-16 3:26 p.m.
---
--- Original Memory Bag by MrStump
--- https://steamcommunity.com/sharedfiles/filedetails/?id=953770080
---@class MemoryListEntry
---@field public position Vector
---@field public rotation Vector
---@field public lock boolean
local MemoryListEntry={}
---@type table<string, MemoryListEntry>
local memory_list = {}
local POSTFIX = {
SAVE = "_memory_object",
ZONE = "_memory_zone",
SHUFFLE = "_memory_shuffle"
}
---@type table<string, any>
local BUTTON = {
POSITION = Vector(0, 0.3, -2),
ROTATION = Vector(0, 180, 0),
HEIGHT = 350,
WIDTH = 800,
FONT_SIZE = 250,
COLOR = Color.Black,
FONT_COLOR = Color.White
}
local ipairs = ipairs
local pairs = pairs
---@return string
local function get_prefix()
return self:getDescription()
end
local function updateSave()
local data_to_save = {["ml"]=memory_list}
local saved_data = JSON.encode(data_to_save)
self.script_state = saved_data
end
---@param label string
---@param action string
local function createButton(label, action)
self:clearButtons()
---@type CreateClassicUIButton
local parameters = {
label = label,
click_function = action,
function_owner = self
}
for key, value in pairs(BUTTON) do
parameters[key:lower()] = value
end
self:createButton(parameters)
end
local function create_place_button() createButton("Place", "place_objects") end
local function create_recall_button() createButton("Recall", "recall_objects") end
---@param tag string
---@param lock boolean
---@return fun(object:TTSObject)
local function create_object_callback(tag, lock)
---@param object TTSObject
return function (object)
object:setLock(lock)
if object:hasTag(tag) then object:shuffle() end
end
end
---@param object TTSObject
local function record_objects(object)
memory_list[object:getGUID()] = {
position = object:getPosition(),
rotation = object:getRotation(),
lock = object:getLock()
}
self:putObject(object)
end
---@param objects TTSObject[]
local function update_objects(objects)
for _, object in ipairs(objects) do
record_objects(object)
end
end
--Sends objects from bag/table to their saved position/rotation
function place_objects()
local prefix = get_prefix()
local shuffle_tag = prefix .. POSTFIX.SHUFFLE
local content = self.getObjects()
for _, item in ipairs(content) do
local entry = memory_list[item.guid]
if entry then
self.takeObject {
guid=item.guid,
position=entry.position,
rotation=entry.rotation,
callback_function = create_object_callback(shuffle_tag, entry.lock)
}
end
end
broadcastToAll("Objects Placed", {1,1,1})
create_recall_button()
end
--Recalls objects to bag from table
function recall_objects()
memory_list = {}
local prefix = get_prefix()
if prefix=="" then
broadcastToAll("Error in Memory Bag: Tag prefix not set.")
return
end
local save_tag = prefix .. POSTFIX.SAVE
local zone_tag = prefix .. POSTFIX.ZONE
local zones = getObjectsWithTag(zone_tag)
if #zones>0 then
for _, zone in ipairs(zones) do
update_objects(zone:getObjects())
end
else
update_objects(getObjectsWithTag(save_tag))
end
updateSave()
broadcastToAll("Objects Recalled", {1,1,1})
create_place_button()
end
function onload(saved_data)
if saved_data ~= "" then
local loaded_data = JSON.decode(saved_data)
--Set up information off of loaded_data
memory_list = loaded_data.ml
else
--Set up information for if there is no saved saved data
memory_list = {}
end
if self:getQuantity()==0 then
create_recall_button()
else
create_place_button()
end
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/FWZMWtW/Edge-1-Ice-and-Death-David-Frasheski.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "f4a462",
"Grid": true,
"GridProjection": false,
"Hands": true,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/EdgeoftheEarth.1b9b55/EOTE-1A.f4a462.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "EOTE - 1A",
"Snap": true,
"Sticky": true,
"Tags": [
"ticmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.425,
"posY": 1.34,
"posZ": -47.88,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/FWZMWtW/Edge-1-Ice-and-Death-David-Frasheski.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/QDGV0jQ/Edge-1-Ice-and-Death-Felix-Riano.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "37ff1a",
"Grid": true,
"GridProjection": false,
"Hands": true,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/EdgeoftheEarth.1b9b55/EOTE-1B.37ff1a.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "EOTE - 1B",
"Snap": true,
"Sticky": true,
"Tags": [
"ticmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 36.572,
"posY": 1.339,
"posZ": -47.88,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/QDGV0jQ/Edge-1-Ice-and-Death-Felix-Riano.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/hFJQM8v/Edge-1-Ice-and-Death-Mike-Gizienski.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "7ab1bc",
"Grid": true,
"GridProjection": false,
"Hands": true,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/EdgeoftheEarth.1b9b55/EOTE-1C.7ab1bc.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "EOTE - 1C",
"Snap": true,
"Sticky": true,
"Tags": [
"ticmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 32.725,
"posY": 1.337,
"posZ": -47.88,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/hFJQM8v/Edge-1-Ice-and-Death-Mike-Gizienski.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/C2SLByt/Edge-2-Forbidden-Peaks-David-Frasheski-2.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "bef931",
"Grid": true,
"GridProjection": false,
"Hands": true,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/EdgeoftheEarth.1b9b55/EOTE-2A.bef931.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "EOTE - 2A",
"Snap": true,
"Sticky": true,
"Tags": [
"ticmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.425,
"posY": 1.337,
"posZ": -56.84,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/C2SLByt/Edge-2-Forbidden-Peaks-David-Frasheski-2.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/0cGkkBL/Edge-3-Forbidden-Peaks-David-Frasheski.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "e75ebc",
"Grid": true,
"GridProjection": false,
"Hands": true,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/EdgeoftheEarth.1b9b55/EOTE-3A.e75ebc.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "EOTE - 3A",
"Snap": true,
"Sticky": true,
"Tags": [
"ticmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.425,
"posY": 1.336,
"posZ": -61.32,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/0cGkkBL/Edge-3-Forbidden-Peaks-David-Frasheski.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/FbpgBD3/Edge-4-City-Francois-Baranger.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "6f0cc7",
"Grid": true,
"GridProjection": false,
"Hands": true,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/EdgeoftheEarth.1b9b55/EOTE-4A.6f0cc7.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "EOTE - 4A",
"Snap": true,
"Sticky": true,
"Tags": [
"ticmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.425,
"posY": 1.335,
"posZ": -65.8,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/FbpgBD3/Edge-4-City-Francois-Baranger.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/ncRvHr3/Edge-4-City-Francois-Baranger-2.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "03b860",
"Grid": true,
"GridProjection": false,
"Hands": true,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/EdgeoftheEarth.1b9b55/EOTE-4B.03b860.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "EOTE - 4B",
"Snap": true,
"Sticky": true,
"Tags": [
"ticmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 36.575,
"posY": 1.333,
"posZ": -65.8,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/ncRvHr3/Edge-4-City-Francois-Baranger-2.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/rk0qR4z/Edge-5-Heart-of-Madness-Karol-Sollich.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "704a25",
"Grid": true,
"GridProjection": false,
"Hands": true,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/EdgeoftheEarth.1b9b55/EOTE-5A.704a25.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "EOTE - 5A",
"Snap": true,
"Sticky": true,
"Tags": [
"ticmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.425,
"posY": 1.333,
"posZ": -70.28,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/rk0qR4z/Edge-5-Heart-of-Madness-Karol-Sollich.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/NVFjx6N/Edge-5-Heart-of-Madness-Miguel-Coimbra.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "7a68b3",
"Grid": true,
"GridProjection": false,
"Hands": true,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/EdgeoftheEarth.1b9b55/EOTE-5B.7a68b3.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "EOTE - 5B",
"Snap": true,
"Sticky": true,
"Tags": [
"ticmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 36.575,
"posY": 1.332,
"posZ": -70.28,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/NVFjx6N/Edge-5-Heart-of-Madness-Miguel-Coimbra.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,60 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"CustomImage": {
"CustomToken": {
"MergeDistancePixels": 15,
"Stackable": false,
"StandUp": false,
"Thickness": 0.1
},
"ImageScalar": 1,
"ImageSecondaryURL": "",
"ImageURL": "https://i.ibb.co/KzwvjJN/Edge-2-Fatal-Mirage-David-Frasheski.png",
"WidthScale": 0
},
"Description": "",
"DragSelectable": true,
"GMNotes": "",
"GUID": "1d1397",
"Grid": true,
"GridProjection": false,
"Hands": true,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState": "",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/EdgeoftheEarth.1b9b55/EOTE-FatalMirage.1d1397.ttslua",
"MeasureMovement": false,
"Name": "Custom_Token",
"Nickname": "EOTE - Fatal Mirage",
"Snap": true,
"Sticky": true,
"Tags": [
"ticmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 40.425,
"posY": 1.339,
"posZ": -52.36,
"rotX": 0,
"rotY": 270,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1,27 +0,0 @@
function onLoad()
local params = {}
params.click_function = 'updateSurface'
params.function_owner = self
params.label = 'Apply'
params.tooltip= 'Left click to apply image, right click to revert to default.'
params.position = {0,0.05,-1.6}
params.rotation = {0,0,0}
params.height = 250
params.width = 580
params.color = {0,0,0}
params.font_color = {1,1,1}
self.createButton(params)
end
function updateSurface(obj, color, alt_click)
obj_surface = getObjectFromGUID("721ba2")
local customInfo = obj_surface.getCustomObject()
if alt_click == false then
customInfo.image = "https://i.ibb.co/KzwvjJN/Edge-2-Fatal-Mirage-David-Frasheski.png"
else
customInfo.image = "http://cloud-3.steamusercontent.com/ugc/1717534454684871624/1739012BC3EA35E381D1172705B670BEEBD1AF6F/"
end
obj_surface.setCustomObject(customInfo)
obj_surface = obj_surface.reload()
broadcastToAll("New Playmat Image Applied", {0.2,0.9,0.2})
end

View File

@ -1,79 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"Bag": {
"Order": 0
},
"ColorDiffuse": {
"b": 1,
"g": 0.20397,
"r": 0
},
"ContainedObjects_order": [
"NotZ-1.13e274",
"NotZArkham-2A.ba3f23",
"NotZArkham-2F.875764",
"NotZArkham-2B.5c8477",
"NotZArkham-2C.bc94c3",
"NotZArkham-2G.805623",
"NotZArkham-2H.37d15e",
"NotZArkham-2I.154a13",
"NotZArkham-2J.d499ce",
"NotZArkham-2K.dea1a5",
"NotZArkham-Downtown.529e79",
"NotZArkham-Eastside.2b4d36",
"NotZArkham-MerchantDistrict.7b97ca",
"NotZArkham-Northside.5cb9b4",
"NotZArkham-Rivertown.509215",
"NotZArkham-Southside.b58725",
"NotZArkham-Uptown.b30384",
"NotZArkham-2D.94454d",
"NotZArkham-2E.dfd6a7",
"NotZArkham-MiskatonicUniversity.7725ed",
"NotZ-3A.a7f6c5",
"NotZ-3B.ec289e",
"ArkhamLocations.497d7f"
],
"ContainedObjects_path": "NightoftheZealotArkhamLocations.07fe41",
"Description": "notzmat",
"DragSelectable": true,
"GMNotes": "",
"GUID": "07fe41",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScriptState_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/NightoftheZealotArkhamLocations.07fe41.luascriptstate",
"LuaScript_path": "Fan-MadeAccessories.aa8b38/PlaymatCustomsByBLMintTeaFan.67d8c7/NightoftheZealotArkhamLocations.07fe41.ttslua",
"MaterialIndex": -1,
"MeasureMovement": false,
"MeshIndex": -1,
"Name": "Bag",
"Nickname": "Night of the Zealot + Arkham Locations",
"Snap": true,
"Sticky": true,
"Tags": [
"playmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 45.639,
"posY": 1.107,
"posZ": -47.41,
"rotX": 0,
"rotY": 90,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

View File

@ -1 +0,0 @@
{"ml":{"13e274":{"lock":false,"position":{"x":40.2900772094727,"y":1.34012448787689,"z":-47.4199829101563},"rotation":{"x":0.020806422457099,"y":270.008544921875,"z":0.0167741663753986}},"154a13":{"lock":false,"position":{"x":40.2900390625,"y":1.38758480548859,"z":-61.2199821472168},"rotation":{"x":358.457672119141,"y":269.967346191406,"z":0.0168419294059277}},"2b4d36":{"lock":false,"position":{"x":36.624324798584,"y":1.33340048789978,"z":-65.8082580566406},"rotation":{"x":0.0208951327949762,"y":269.990600585938,"z":0.0163758564740419}},"37d15e":{"lock":false,"position":{"x":32.9852905273438,"y":1.38665974140167,"z":-56.6083335876465},"rotation":{"x":1.59544217586517,"y":270.000885009766,"z":0.0167890843003988}},"497d7f":{"lock":false,"position":{"x":26.9502983093262,"y":1.35188734531403,"z":-59.0094108581543},"rotation":{"x":359.979187011719,"y":90.0027542114258,"z":359.983215332031}},"509215":{"lock":false,"position":{"x":36.6247177124023,"y":1.3835654258728,"z":-70.4083862304688},"rotation":{"x":1.58389699459076,"y":270.015502929688,"z":0.016900610178709}},"529e79":{"lock":false,"position":{"x":40.2900505065918,"y":1.3862282037735,"z":-65.8198318481445},"rotation":{"x":358.457885742188,"y":270.038146972656,"z":0.0167494770139456}},"5c8477":{"lock":false,"position":{"x":36.6244735717773,"y":1.33744859695435,"z":-52.0084457397461},"rotation":{"x":0.0208226945251226,"y":270.002868652344,"z":0.0167121347039938}},"5cb9b4":{"lock":false,"position":{"x":40.2900733947754,"y":1.33338963985443,"z":-70.4198532104492},"rotation":{"x":0.0208240523934364,"y":269.990386962891,"z":0.0166809689253569}},"7725ed":{"lock":false,"position":{"x":29.3393440246582,"y":1.38254737854004,"z":-65.8083801269531},"rotation":{"x":1.59257233142853,"y":269.964904785156,"z":0.0167679730802774}},"7b97ca":{"lock":false,"position":{"x":32.985237121582,"y":1.38396263122559,"z":-65.8082809448242},"rotation":{"x":1.59529936313629,"y":269.977233886719,"z":0.0168041884899139}},"805623":{"lock":false,"position":{"x":36.6243705749512,"y":1.38759183883667,"z":-56.6084480285645},"rotation":{"x":1.58358669281006,"y":270.0009765625,"z":0.0168078858405352}},"875764":{"lock":false,"position":{"x":40.2900810241699,"y":1.33742642402649,"z":-56.6199836730957},"rotation":{"x":0.0208445712924004,"y":269.999084472656,"z":0.0165760722011328}},"94454d":{"lock":false,"position":{"x":29.3420658111572,"y":1.38660037517548,"z":-52.0094909667969},"rotation":{"x":1.59271323680878,"y":270.172424316406,"z":0.0170341897755861}},"a7f6c5":{"lock":false,"position":{"x":40.2900657653809,"y":1.33204400539398,"z":-75.0199737548828},"rotation":{"x":0.0208240933716297,"y":269.983154296875,"z":0.0167090948671103}},"b30384":{"lock":false,"position":{"x":29.3389854431152,"y":1.32941460609436,"z":-70.4085388183594},"rotation":{"x":0.0208649169653654,"y":269.976135253906,"z":0.0166198685765266}},"b58725":{"lock":false,"position":{"x":32.9857978820801,"y":1.43257093429565,"z":-70.4083633422852},"rotation":{"x":0.0781175717711449,"y":269.988067626953,"z":0.0165759343653917}},"ba3f23":{"lock":false,"position":{"x":40.2900619506836,"y":1.39027500152588,"z":-52.0200004577637},"rotation":{"x":358.457733154297,"y":270.003845214844,"z":0.0167994406074286}},"bc94c3":{"lock":false,"position":{"x":32.9871482849121,"y":1.38803112506866,"z":-52.0097503662109},"rotation":{"x":1.59626138210297,"y":270.003509521484,"z":0.0167093928903341}},"d499ce":{"lock":false,"position":{"x":36.6243362426758,"y":1.38663482666016,"z":-61.2084007263184},"rotation":{"x":358.446105957031,"y":269.988037109375,"z":0.0167805850505829}},"dea1a5":{"lock":false,"position":{"x":32.9852409362793,"y":1.33343350887299,"z":-61.2082786560059},"rotation":{"x":0.0209027379751205,"y":269.987030029297,"z":0.0166827831417322}},"dfd6a7":{"lock":false,"position":{"x":25.4922695159912,"y":1.33340930938721,"z":-52.0012969970703},"rotation":{"x":0.0208043158054352,"y":270.015380859375,"z":0.0167765244841576}},"ec289e":{"lock":false,"position":{"x":36.624382019043,"y":1.38221514225006,"z":-75.0083999633789},"rotation":{"x":1.5838942527771,"y":270.007507324219,"z":0.0168235283344984}}}}

View File

@ -1,163 +0,0 @@
---
--- Generated by EmmyLua(https://github.com/EmmyLua)
--- Created by Whimsical.
--- DateTime: 2021-03-16 3:26 p.m.
---
--- Original Memory Bag by MrStump
--- https://steamcommunity.com/sharedfiles/filedetails/?id=953770080
---@class MemoryListEntry
---@field public position Vector
---@field public rotation Vector
---@field public lock boolean
local MemoryListEntry={}
---@type table<string, MemoryListEntry>
local memory_list = {}
local POSTFIX = {
SAVE = "_memory_object",
ZONE = "_memory_zone",
SHUFFLE = "_memory_shuffle"
}
---@type table<string, any>
local BUTTON = {
POSITION = Vector(0, 0.3, -2),
ROTATION = Vector(0, 180, 0),
HEIGHT = 350,
WIDTH = 800,
FONT_SIZE = 250,
COLOR = Color.Black,
FONT_COLOR = Color.White
}
local ipairs = ipairs
local pairs = pairs
---@return string
local function get_prefix()
return self:getDescription()
end
local function updateSave()
local data_to_save = {["ml"]=memory_list}
local saved_data = JSON.encode(data_to_save)
self.script_state = saved_data
end
---@param label string
---@param action string
local function createButton(label, action)
self:clearButtons()
---@type CreateClassicUIButton
local parameters = {
label = label,
click_function = action,
function_owner = self
}
for key, value in pairs(BUTTON) do
parameters[key:lower()] = value
end
self:createButton(parameters)
end
local function create_place_button() createButton("Place", "place_objects") end
local function create_recall_button() createButton("Recall", "recall_objects") end
---@param tag string
---@param lock boolean
---@return fun(object:TTSObject)
local function create_object_callback(tag, lock)
---@param object TTSObject
return function (object)
object:setLock(lock)
if object:hasTag(tag) then object:shuffle() end
end
end
---@param object TTSObject
local function record_objects(object)
memory_list[object:getGUID()] = {
position = object:getPosition(),
rotation = object:getRotation(),
lock = object:getLock()
}
self:putObject(object)
end
---@param objects TTSObject[]
local function update_objects(objects)
for _, object in ipairs(objects) do
record_objects(object)
end
end
--Sends objects from bag/table to their saved position/rotation
function place_objects()
local prefix = get_prefix()
local shuffle_tag = prefix .. POSTFIX.SHUFFLE
local content = self.getObjects()
for _, item in ipairs(content) do
local entry = memory_list[item.guid]
if entry then
self.takeObject {
guid=item.guid,
position=entry.position,
rotation=entry.rotation,
callback_function = create_object_callback(shuffle_tag, entry.lock)
}
end
end
broadcastToAll("Objects Placed", {1,1,1})
create_recall_button()
end
--Recalls objects to bag from table
function recall_objects()
memory_list = {}
local prefix = get_prefix()
if prefix=="" then
broadcastToAll("Error in Memory Bag: Tag prefix not set.")
return
end
local save_tag = prefix .. POSTFIX.SAVE
local zone_tag = prefix .. POSTFIX.ZONE
local zones = getObjectsWithTag(zone_tag)
if #zones>0 then
for _, zone in ipairs(zones) do
update_objects(zone:getObjects())
end
else
update_objects(getObjectsWithTag(save_tag))
end
updateSave()
broadcastToAll("Objects Recalled", {1,1,1})
create_place_button()
end
function onload(saved_data)
if saved_data ~= "" then
local loaded_data = JSON.decode(saved_data)
--Set up information off of loaded_data
memory_list = loaded_data.ml
else
--Set up information for if there is no saved saved data
memory_list = {}
end
if self:getQuantity()==0 then
create_recall_button()
else
create_place_button()
end
end

View File

@ -1,48 +0,0 @@
{
"AltLookAngle": {
"x": 0,
"y": 0,
"z": 0
},
"Autoraise": true,
"ColorDiffuse": {
"b": 1,
"g": 1,
"r": 1
},
"Description": "Anything labeled with NotZ (Arkham) can be used for settings/scenarios around Arkham\n\n- Dunwich Extracurricular Activity, Forgotten Age Threads of Fate, etc",
"DragSelectable": true,
"GMNotes": "",
"GUID": "497d7f",
"Grid": true,
"GridProjection": false,
"Hands": false,
"HideWhenFaceDown": false,
"IgnoreFoW": false,
"LayoutGroupSortIndex": 0,
"Locked": false,
"LuaScript": "",
"LuaScriptState": "",
"MeasureMovement": false,
"Name": "Notecard",
"Nickname": "Arkham Locations",
"Snap": true,
"Sticky": true,
"Tags": [
"notzmat_memory_object"
],
"Tooltip": true,
"Transform": {
"posX": 26.95,
"posY": 1.352,
"posZ": -59.009,
"rotX": 0,
"rotY": 90,
"rotZ": 0,
"scaleX": 1,
"scaleY": 1,
"scaleZ": 1
},
"Value": 0,
"XmlUI": ""
}

Some files were not shown because too many files have changed in this diff Show More