From f94a1c41c012f06ca1eb9fabe19a709ff68b9909 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Tue, 26 Sep 2023 15:21:43 +0200 Subject: [PATCH 01/15] updated cyoa guides --- .../CYOACampaignGuides.e87ea2.json | 17 +++-- .../CYOACampaignGuides.e87ea2.luascriptstate | 2 +- .../01NightoftheZealot.56a91d.json | 6 +- .../NightoftheZealot.276907.json | 11 ++- .../NightoftheZealot.276907.ttslua | 53 +++++++++++++ .../02TheDunwichLegacy.38d1cd.json | 6 +- .../TheDunwichLegacy.8df5fc.json | 11 ++- .../TheDunwichLegacy.8df5fc.ttslua | 53 +++++++++++++ .../03ThePathtoCarcosa.06a742.json | 6 +- .../Custom_PDF.df45c0.json | 11 ++- .../Custom_PDF.df45c0.ttslua | 53 +++++++++++++ .../04TheForgottenAge.d5cd12.json | 6 +- .../TheForgottenAge.20c2ad.json | 11 ++- .../TheForgottenAge.20c2ad.ttslua | 53 +++++++++++++ .../TheForgottenAgeReturnto.908cbf.json | 11 ++- .../TheForgottenAgeReturnto.908cbf.ttslua | 53 +++++++++++++ .../05TheCircleUndone.20d53c.json | 6 +- .../TheCircleUndone.692219.json | 11 ++- .../TheCircleUndone.692219.ttslua | 53 +++++++++++++ .../TheCircleUndoneReturnto.9e9944.json | 17 +++-- .../TheCircleUndoneReturnto.9e9944.ttslua | 53 +++++++++++++ .../06ATheDream-Quest.f03c2d.json | 6 +- .../TheDreamQuestCampaignA.47b9c1.json | 11 ++- .../TheDreamQuestCampaignA.47b9c1.ttslua | 53 +++++++++++++ .../06BTheWebofDreams.1bac4d.json | 6 +- .../TheWebofDreamsCampaignB.ae792e.json | 11 ++- .../TheWebofDreamsCampaignB.ae792e.ttslua | 53 +++++++++++++ .../07TheInnsmouthConspiracy.f5f3b5.json | 6 +- ...smouthConspiracy-Chronological.c50a3a.json | 11 ++- ...outhConspiracy-Chronological.c50a3a.ttslua | 53 +++++++++++++ ...eInnsmouthConspiracy-PlayOrder.f42179.json | 11 ++- ...nnsmouthConspiracy-PlayOrder.f42179.ttslua | 53 +++++++++++++ .../08EdgeoftheEarth.e32dc3.json | 8 +- .../08EdgeoftheEarth.754904.json | 54 ++++++++++++++ .../08EdgeoftheEarth.754904.ttslua | 53 +++++++++++++ .../09TheScarletKeys.11d148.json | 9 ++- ...eScarletKeysScenariosCaseFiles.c6e8a0.json | 54 ++++++++++++++ ...carletKeysScenariosCaseFiles.c6e8a0.ttslua | 53 +++++++++++++ ...TheScarletKeysSetupandDossiers.abf457.json | 54 ++++++++++++++ ...eScarletKeysSetupandDossiers.abf457.ttslua | 53 +++++++++++++ .../10TheFeastofHemlockVale.2e50cf.json | 74 +++++++++++++++++++ ...eFeastofHemlockValePlaceholder.cecfc9.json | 54 ++++++++++++++ ...eastofHemlockValePlaceholder.cecfc9.ttslua | 53 +++++++++++++ .../C1DarkMatter.3a08d9.json | 8 +- .../C1DarkMatter.602e48.json | 54 ++++++++++++++ .../C1DarkMatter.602e48.ttslua | 53 +++++++++++++ .../C2AliceinWonderland.ed1d0c.json | 8 +- .../C2AliceinWonderland.4cf017.json | 54 ++++++++++++++ .../C2AliceinWonderland.4cf017.ttslua | 53 +++++++++++++ .../C3CyclopeanFoundations.f72800.json | 74 +++++++++++++++++++ .../C3CyclopeanFoundations.0be2cd.json | 54 ++++++++++++++ .../C3CyclopeanFoundations.0be2cd.ttslua | 53 +++++++++++++ .../P1ChallengeScenarios.8f7e04.json | 6 +- .../P101ReadorDie.8994ea.json | 9 ++- .../P102AllorNothing.8950c7.json | 9 ++- .../P103BadBlood.b5fcf1.json | 9 ++- .../P104BytheBook.a37a83.json | 9 ++- .../P105RedTideRising.f053b0.json | 9 ++- .../P1ChallengeScenarios.409b50.json | 11 ++- .../P1ChallengeScenarios.409b50.ttslua | 53 +++++++++++++ .../P1DCDeathItself.443855.json | 9 ++- .../P1DCThenitMultiplied.d72c48.json | 9 ++- .../ReturntoExpansions.2275ed.json | 6 +- .../S1Stand-Alones2016-2020.e227ad.json | 6 +- .../S0102CarinvaleofHorrors.538f32.json | 9 ++- .../S101CurseoftheRougarou.39bf7c.json | 11 ++- .../S103TheLabyrinthsofLunacy.d014ce.json | 9 ++- .../S104GuardiansoftheAbyss.6611a9.json | 11 ++- .../S105MurderattheExcelsiorHotel.b13297.json | 11 ++- .../S106TheBlobthatAteEverything.6ad284.json | 11 ++- ...1Stand-AloneScenarios2016-2020.00a430.json | 11 ++- ...tand-AloneScenarios2016-2020.00a430.ttslua | 53 +++++++++++++ .../S2Stand-Alones2020-202.4c47d8.json | 6 +- .../S207BarkhamHorror.409b50.json | 9 ++- .../S208WaroftheOuterGods.bffa04.json | 9 ++- .../S209MachinationsThroughTime.f5dbf1.json | 9 ++- .../S210FortuneandFolly.e19e46.json | 9 ++- .../UpdatingtoNewVersions.a1b358.json | 45 +++++++++++ src/core/Global.ttslua | 2 +- 79 files changed, 1896 insertions(+), 171 deletions(-) create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/01NightoftheZealot.56a91d/NightoftheZealot.276907.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/02TheDunwichLegacy.38d1cd/TheDunwichLegacy.8df5fc.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/03ThePathtoCarcosa.06a742/Custom_PDF.df45c0.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAge.20c2ad.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAgeReturnto.908cbf.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndone.692219.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndoneReturnto.9e9944.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06ATheDream-Quest.f03c2d/TheDreamQuestCampaignA.47b9c1.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06BTheWebofDreams.1bac4d/TheWebofDreamsCampaignB.ae792e.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-Chronological.c50a3a.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-PlayOrder.f42179.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/08EdgeoftheEarth.e32dc3/08EdgeoftheEarth.754904.json create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/08EdgeoftheEarth.e32dc3/08EdgeoftheEarth.754904.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysScenariosCaseFiles.c6e8a0.json create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysScenariosCaseFiles.c6e8a0.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysSetupandDossiers.abf457.json create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysSetupandDossiers.abf457.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/10TheFeastofHemlockVale.2e50cf.json create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/10TheFeastofHemlockVale.2e50cf/10TheFeastofHemlockValePlaceholder.cecfc9.json create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/10TheFeastofHemlockVale.2e50cf/10TheFeastofHemlockValePlaceholder.cecfc9.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C1DarkMatter.3a08d9/C1DarkMatter.602e48.json create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C1DarkMatter.3a08d9/C1DarkMatter.602e48.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C2AliceinWonderland.ed1d0c/C2AliceinWonderland.4cf017.json create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C2AliceinWonderland.ed1d0c/C2AliceinWonderland.4cf017.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C3CyclopeanFoundations.f72800.json create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C3CyclopeanFoundations.f72800/C3CyclopeanFoundations.0be2cd.json create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C3CyclopeanFoundations.f72800/C3CyclopeanFoundations.0be2cd.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1ChallengeScenarios.409b50.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S1Stand-AloneScenarios2016-2020.00a430.ttslua create mode 100644 objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/UpdatingtoNewVersions.a1b358.json diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2.json index 7eb1937e..2ff84190 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2.json @@ -19,17 +19,20 @@ "06BTheWebofDreams.1bac4d", "05TheCircleUndone.20d53c", "ReturntoExpansions.2275ed", + "10TheFeastofHemlockVale.2e50cf", "02TheDunwichLegacy.38d1cd", "C1DarkMatter.3a08d9", "S2Stand-Alones2020-202.4c47d8", "01NightoftheZealot.56a91d", "P1ChallengeScenarios.8f7e04", + "UpdatingtoNewVersions.a1b358", "04TheForgottenAge.d5cd12", "S1Stand-Alones2016-2020.e227ad", "08EdgeoftheEarth.e32dc3", "C2AliceinWonderland.ed1d0c", "06ATheDream-Quest.f03c2d", - "07TheInnsmouthConspiracy.f5f3b5" + "07TheInnsmouthConspiracy.f5f3b5", + "C3CyclopeanFoundations.f72800" ], "ContainedObjects_path": "CYOACampaignGuides.e87ea2", "CustomMesh": { @@ -74,15 +77,15 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 21.012, - "posY": 3.161, - "posZ": -26.838, + "posX": 39.494, + "posY": 3.793, + "posZ": 41.744, "rotX": 0, "rotY": 270, "rotZ": 0, - "scaleX": 1, - "scaleY": 1, - "scaleZ": 1 + "scaleX": 1.25, + "scaleY": 1.25, + "scaleZ": 1.25 }, "Value": 0, "XmlUI": "" diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2.luascriptstate b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2.luascriptstate index 067ac090..1b44175c 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2.luascriptstate +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2.luascriptstate @@ -1 +1 @@ -{"ml":{"06a742":{"lock":false,"pos":{"x":65,"y":1.2494,"z":-31.3},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"11d148":{"lock":false,"pos":{"x":47,"y":1.2494,"z":-25.1},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"1bac4d":{"lock":false,"pos":{"x":56.0004,"y":1.2494,"z":-31.3},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"20d53c":{"lock":false,"pos":{"x":56,"y":1.2494,"z":-18.8953},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"2275ed":{"lock":false,"pos":{"x":56,"y":1.569,"z":-11},"rot":{"x":0,"y":90,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"38d1cd":{"lock":false,"pos":{"x":65,"y":1.2494,"z":-25.1},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"3a08d9":{"lock":false,"pos":{"x":38,"y":1.2494,"z":-25.1},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"4c47d8":{"lock":false,"pos":{"x":47,"y":1.2494,"z":-37.5},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"56a91d":{"lock":false,"pos":{"x":65,"y":1.2494,"z":-18.8955},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"8f7e04":{"lock":false,"pos":{"x":38,"y":1.2494,"z":-18.9},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"d5cd12":{"lock":false,"pos":{"x":65,"y":1.2494,"z":-37.5},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"e227ad":{"lock":false,"pos":{"x":47,"y":1.2494,"z":-31.3},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"e32dc3":{"lock":false,"pos":{"x":47,"y":1.2494,"z":-18.9},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"ed1d0c":{"lock":false,"pos":{"x":38,"y":1.2494,"z":-31.3},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"f03c2d":{"lock":false,"pos":{"x":56.0004,"y":1.2494,"z":-25.1},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"f5f3b5":{"lock":false,"pos":{"x":56.2742,"y":1.2494,"z":-37.5},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}}}} +{"ml":{"06a742":{"lock":false,"pos":{"x":56.8248138427734,"y":1.24943828582764,"z":16.0398769378662},"rot":{"x":0,"y":269.9891,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"11d148":{"lock":false,"pos":{"x":56.8248138427734,"y":1.24943828582764,"z":-25.9601230621338},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"1bac4d":{"lock":false,"pos":{"x":56.8248138427734,"y":1.24943828582764,"z":-7.96012306213379},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"20d53c":{"lock":false,"pos":{"x":56.8248138427734,"y":1.24943828582764,"z":4.03987693786621},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"2275ed":{"lock":false,"pos":{"x":41.8248138427734,"y":1.56903828582764,"z":-32.9601230621338},"rot":{"x":0,"y":90.0118,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"2e50cf":{"lock":false,"pos":{"x":56.8248138427734,"y":1.24943828582764,"z":-31.9601230621338},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"38d1cd":{"lock":false,"pos":{"x":56.8248138427734,"y":1.24943828582764,"z":22.0398769378662},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"3a08d9":{"lock":false,"pos":{"x":39.8248138427734,"y":1.24943828582764,"z":28.0398769378662},"rot":{"x":0,"y":270.0101,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"4c47d8":{"lock":false,"pos":{"x":48.3248138427734,"y":1.24943828582764,"z":22.0398769378662},"rot":{"x":0,"y":270.0195,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"56a91d":{"lock":false,"pos":{"x":56.8248138427734,"y":1.24943828582764,"z":28.0398769378662},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"8f7e04":{"lock":false,"pos":{"x":48.3248138427734,"y":1.24943828582764,"z":4.03987693786621},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"a1b358":{"lock":false,"pos":{"x":35.8248138427734,"y":1.56903828582764,"z":-32.9601230621338},"rot":{"x":0,"y":89.9871,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"d5cd12":{"lock":false,"pos":{"x":56.8248138427734,"y":1.24943828582764,"z":10.0398769378662},"rot":{"x":0,"y":270.0119,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"e227ad":{"lock":false,"pos":{"x":48.3248138427734,"y":1.24943828582764,"z":28.0398769378662},"rot":{"x":0,"y":269.9818,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"e32dc3":{"lock":false,"pos":{"x":56.8248138427734,"y":1.24943828582764,"z":-19.9601230621338},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"ed1d0c":{"lock":false,"pos":{"x":39.8248138427734,"y":1.24943828582764,"z":22.0398769378662},"rot":{"x":0,"y":269.9964,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"f03c2d":{"lock":false,"pos":{"x":56.8248138427734,"y":1.24943828582764,"z":-1.96012306213379},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"f5f3b5":{"lock":false,"pos":{"x":56.8248138427734,"y":1.24943828582764,"z":-13.9601230621338},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}},"f72800":{"lock":false,"pos":{"x":39.8248138427734,"y":1.24943828582764,"z":16.0398769378662},"rot":{"x":0,"y":270,"z":0},"tint":{"a":1,"b":1,"g":1,"r":1}}}} diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/01NightoftheZealot.56a91d.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/01NightoftheZealot.56a91d.json index 76f29c63..dfbf69bd 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/01NightoftheZealot.56a91d.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/01NightoftheZealot.56a91d.json @@ -59,9 +59,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 32.969, - "posY": 1.048, - "posZ": -73.104, + "posX": 56.825, + "posY": 1.249, + "posZ": 28.04, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/01NightoftheZealot.56a91d/NightoftheZealot.276907.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/01NightoftheZealot.56a91d/NightoftheZealot.276907.json index 5b18e14c..fa3e6c25 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/01NightoftheZealot.56a91d/NightoftheZealot.276907.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/01NightoftheZealot.56a91d/NightoftheZealot.276907.json @@ -27,18 +27,21 @@ "IgnoreFoW": false, "LayoutGroupSortIndex": 0, "Locked": false, - "LuaScript": "", "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/01NightoftheZealot.56a91d/NightoftheZealot.276907.ttslua", "MeasureMovement": false, "Name": "Custom_PDF", "Nickname": "Night of the Zealot", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": -12.985, - "posY": 2.511, - "posZ": 19.133, + "posX": 66.463, + "posY": 3.037, + "posZ": 36.845, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/01NightoftheZealot.56a91d/NightoftheZealot.276907.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/01NightoftheZealot.56a91d/NightoftheZealot.276907.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/01NightoftheZealot.56a91d/NightoftheZealot.276907.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/02TheDunwichLegacy.38d1cd.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/02TheDunwichLegacy.38d1cd.json index 74677825..cc3dc0da 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/02TheDunwichLegacy.38d1cd.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/02TheDunwichLegacy.38d1cd.json @@ -59,9 +59,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 32.969, - "posY": 1.046, - "posZ": -79.104, + "posX": 56.825, + "posY": 1.249, + "posZ": 22.04, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/02TheDunwichLegacy.38d1cd/TheDunwichLegacy.8df5fc.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/02TheDunwichLegacy.38d1cd/TheDunwichLegacy.8df5fc.json index ca2f6cd0..6f002fa6 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/02TheDunwichLegacy.38d1cd/TheDunwichLegacy.8df5fc.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/02TheDunwichLegacy.38d1cd/TheDunwichLegacy.8df5fc.json @@ -27,18 +27,21 @@ "IgnoreFoW": false, "LayoutGroupSortIndex": 0, "Locked": false, - "LuaScript": "", "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/02TheDunwichLegacy.38d1cd/TheDunwichLegacy.8df5fc.ttslua", "MeasureMovement": false, "Name": "Custom_PDF", "Nickname": "The Dunwich Legacy", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 12.25, - "posY": 3.029, - "posZ": 19.986, + "posX": 67.375, + "posY": 3.038, + "posZ": 30.123, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/02TheDunwichLegacy.38d1cd/TheDunwichLegacy.8df5fc.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/02TheDunwichLegacy.38d1cd/TheDunwichLegacy.8df5fc.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/02TheDunwichLegacy.38d1cd/TheDunwichLegacy.8df5fc.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/03ThePathtoCarcosa.06a742.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/03ThePathtoCarcosa.06a742.json index 0bafb6c3..d20e4666 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/03ThePathtoCarcosa.06a742.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/03ThePathtoCarcosa.06a742.json @@ -59,9 +59,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 32.969, - "posY": 1.044, - "posZ": -85.104, + "posX": 56.825, + "posY": 1.249, + "posZ": 16.04, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/03ThePathtoCarcosa.06a742/Custom_PDF.df45c0.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/03ThePathtoCarcosa.06a742/Custom_PDF.df45c0.json index d914d1e8..6b0cbadc 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/03ThePathtoCarcosa.06a742/Custom_PDF.df45c0.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/03ThePathtoCarcosa.06a742/Custom_PDF.df45c0.json @@ -27,18 +27,21 @@ "IgnoreFoW": false, "LayoutGroupSortIndex": 0, "Locked": false, - "LuaScript": "", "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/03ThePathtoCarcosa.06a742/Custom_PDF.df45c0.ttslua", "MeasureMovement": false, "Name": "Custom_PDF", "Nickname": "", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 12.252, - "posY": 3.009, - "posZ": 11.986, + "posX": 64.825, + "posY": 3.038, + "posZ": 24.224, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/03ThePathtoCarcosa.06a742/Custom_PDF.df45c0.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/03ThePathtoCarcosa.06a742/Custom_PDF.df45c0.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/03ThePathtoCarcosa.06a742/Custom_PDF.df45c0.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12.json index 37ed8909..c2c21074 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12.json @@ -60,9 +60,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 32.969, - "posY": 1.043, - "posZ": -91.104, + "posX": 56.825, + "posY": 1.249, + "posZ": 10.04, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAge.20c2ad.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAge.20c2ad.json index 2982e67d..69c87a85 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAge.20c2ad.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAge.20c2ad.json @@ -27,18 +27,21 @@ "IgnoreFoW": false, "LayoutGroupSortIndex": 0, "Locked": false, - "LuaScript": "", "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAge.20c2ad.ttslua", "MeasureMovement": false, "Name": "Custom_PDF", "Nickname": "The Forgotten Age", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": -8.236, - "posY": 2.511, - "posZ": -5.479, + "posX": 65.567, + "posY": 3.038, + "posZ": 18.74, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAge.20c2ad.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAge.20c2ad.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAge.20c2ad.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAgeReturnto.908cbf.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAgeReturnto.908cbf.json index 87b8f803..d3e4fa1d 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAgeReturnto.908cbf.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAgeReturnto.908cbf.json @@ -27,18 +27,21 @@ "IgnoreFoW": false, "LayoutGroupSortIndex": 0, "Locked": false, - "LuaScript": "", "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAgeReturnto.908cbf.ttslua", "MeasureMovement": false, "Name": "Custom_PDF", "Nickname": "The Forgotten Age (Return to)", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": -8.079, - "posY": 2.511, - "posZ": -5.591, + "posX": 66.292, + "posY": 3.038, + "posZ": 17.746, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAgeReturnto.908cbf.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAgeReturnto.908cbf.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/04TheForgottenAge.d5cd12/TheForgottenAgeReturnto.908cbf.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c.json index 2a920618..91085f22 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c.json @@ -60,9 +60,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 24.969, - "posY": 1.045, - "posZ": -73.104, + "posX": 56.825, + "posY": 1.249, + "posZ": 4.04, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndone.692219.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndone.692219.json index 0bec6282..7b70bdb7 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndone.692219.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndone.692219.json @@ -27,18 +27,21 @@ "IgnoreFoW": false, "LayoutGroupSortIndex": 0, "Locked": false, - "LuaScript": "", "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndone.692219.ttslua", "MeasureMovement": false, "Name": "Custom_PDF", "Nickname": "The Circle Undone", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 2.737, - "posY": 2.511, - "posZ": -7.436, + "posX": 67.989, + "posY": 3.038, + "posZ": 9.81, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndone.692219.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndone.692219.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndone.692219.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndoneReturnto.9e9944.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndoneReturnto.9e9944.json index d020efbd..33bc7b9c 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndoneReturnto.9e9944.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndoneReturnto.9e9944.json @@ -14,7 +14,7 @@ "PDFPage": 0, "PDFPageOffset": 0, "PDFPassword": "", - "PDFUrl": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2005%20The%20Circle%20Undone%20-%20Return%20To.pdf?raw=true" + "PDFUrl": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2005%20The%20Circle%20Undone%20-%20Return%20to.pdf?raw=true" }, "Description": "", "DragSelectable": true, @@ -27,21 +27,24 @@ "IgnoreFoW": false, "LayoutGroupSortIndex": 0, "Locked": false, - "LuaScript": "", "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndoneReturnto.9e9944.ttslua", "MeasureMovement": false, "Name": "Custom_PDF", "Nickname": "The Circle Undone (Return to)", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 2.228, - "posY": 2.704, - "posZ": -9.378, - "rotX": 3, + "posX": 65.795, + "posY": 3.038, + "posZ": 11.853, + "rotX": 0, "rotY": 270, - "rotZ": 2, + "rotZ": 0, "scaleX": 1.76, "scaleY": 1, "scaleZ": 1.76 diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndoneReturnto.9e9944.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndoneReturnto.9e9944.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/05TheCircleUndone.20d53c/TheCircleUndoneReturnto.9e9944.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06ATheDream-Quest.f03c2d.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06ATheDream-Quest.f03c2d.json index 1b2fdf4c..5c52626c 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06ATheDream-Quest.f03c2d.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06ATheDream-Quest.f03c2d.json @@ -59,9 +59,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 24.969, - "posY": 1.043, - "posZ": -79.1, + "posX": 56.825, + "posY": 1.249, + "posZ": -1.96, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06ATheDream-Quest.f03c2d/TheDreamQuestCampaignA.47b9c1.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06ATheDream-Quest.f03c2d/TheDreamQuestCampaignA.47b9c1.json index 0b577a0b..7ef276b6 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06ATheDream-Quest.f03c2d/TheDreamQuestCampaignA.47b9c1.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06ATheDream-Quest.f03c2d/TheDreamQuestCampaignA.47b9c1.json @@ -27,18 +27,21 @@ "IgnoreFoW": false, "LayoutGroupSortIndex": 0, "Locked": false, - "LuaScript": "", "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06ATheDream-Quest.f03c2d/TheDreamQuestCampaignA.47b9c1.ttslua", "MeasureMovement": false, "Name": "Custom_PDF", "Nickname": "The Dream Quest (Campaign A)", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": -21.449, - "posY": 2.511, - "posZ": 14.842, + "posX": 66.919, + "posY": 3.038, + "posZ": 4.633, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06ATheDream-Quest.f03c2d/TheDreamQuestCampaignA.47b9c1.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06ATheDream-Quest.f03c2d/TheDreamQuestCampaignA.47b9c1.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06ATheDream-Quest.f03c2d/TheDreamQuestCampaignA.47b9c1.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06BTheWebofDreams.1bac4d.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06BTheWebofDreams.1bac4d.json index b4568cd8..4eea4d69 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06BTheWebofDreams.1bac4d.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06BTheWebofDreams.1bac4d.json @@ -59,9 +59,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 24.969, - "posY": 1.041, - "posZ": -85.1, + "posX": 56.825, + "posY": 1.249, + "posZ": -7.96, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06BTheWebofDreams.1bac4d/TheWebofDreamsCampaignB.ae792e.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06BTheWebofDreams.1bac4d/TheWebofDreamsCampaignB.ae792e.json index 14aebf54..8e78d6e4 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06BTheWebofDreams.1bac4d/TheWebofDreamsCampaignB.ae792e.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06BTheWebofDreams.1bac4d/TheWebofDreamsCampaignB.ae792e.json @@ -27,18 +27,21 @@ "IgnoreFoW": false, "LayoutGroupSortIndex": 0, "Locked": false, - "LuaScript": "", "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06BTheWebofDreams.1bac4d/TheWebofDreamsCampaignB.ae792e.ttslua", "MeasureMovement": false, "Name": "Custom_PDF", "Nickname": "The Web of Dreams (Campaign B)", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": -22.574, - "posY": 2.51, - "posZ": 5.1, + "posX": 65.358, + "posY": 3.038, + "posZ": -1.704, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06BTheWebofDreams.1bac4d/TheWebofDreamsCampaignB.ae792e.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06BTheWebofDreams.1bac4d/TheWebofDreamsCampaignB.ae792e.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/06BTheWebofDreams.1bac4d/TheWebofDreamsCampaignB.ae792e.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5.json index 55440533..6f4401ec 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5.json @@ -60,9 +60,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 24.969, - "posY": 1.04, - "posZ": -91.1, + "posX": 56.825, + "posY": 1.249, + "posZ": -13.96, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-Chronological.c50a3a.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-Chronological.c50a3a.json index c7c0ff51..2be59cbe 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-Chronological.c50a3a.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-Chronological.c50a3a.json @@ -27,18 +27,21 @@ "IgnoreFoW": false, "LayoutGroupSortIndex": 0, "Locked": false, - "LuaScript": "", "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-Chronological.c50a3a.ttslua", "MeasureMovement": false, "Name": "Custom_PDF", "Nickname": "07 The Innsmouth Conspiracy - Chronological", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": -3.487, - "posY": 2.511, - "posZ": -14.208, + "posX": 66.932, + "posY": 3.038, + "posZ": -8.659, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-Chronological.c50a3a.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-Chronological.c50a3a.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-Chronological.c50a3a.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-PlayOrder.f42179.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-PlayOrder.f42179.json index 305f47c5..26464c16 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-PlayOrder.f42179.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-PlayOrder.f42179.json @@ -27,18 +27,21 @@ "IgnoreFoW": false, "LayoutGroupSortIndex": 0, "Locked": false, - "LuaScript": "", "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-PlayOrder.f42179.ttslua", "MeasureMovement": false, "Name": "Custom_PDF", "Nickname": "07 The Innsmouth Conspiracy - Play Order", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 0.847, - "posY": 2.818, - "posZ": 73.957, + "posX": 65.915, + "posY": 3.038, + "posZ": -7.148, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-PlayOrder.f42179.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-PlayOrder.f42179.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/07TheInnsmouthConspiracy.f5f3b5/07TheInnsmouthConspiracy-PlayOrder.f42179.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/08EdgeoftheEarth.e32dc3.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/08EdgeoftheEarth.e32dc3.json index db2d608b..4092105b 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/08EdgeoftheEarth.e32dc3.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/08EdgeoftheEarth.e32dc3.json @@ -14,7 +14,7 @@ "r": 1 }, "ContainedObjects_order": [ - "08EdgeoftheEarth.c50a3a" + "08EdgeoftheEarth.754904" ], "ContainedObjects_path": "08EdgeoftheEarth.e32dc3", "CustomMesh": { @@ -59,9 +59,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 16.97, - "posY": 1.063, - "posZ": -73.1, + "posX": 56.825, + "posY": 1.249, + "posZ": -19.96, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/08EdgeoftheEarth.e32dc3/08EdgeoftheEarth.754904.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/08EdgeoftheEarth.e32dc3/08EdgeoftheEarth.754904.json new file mode 100644 index 00000000..beedfb33 --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/08EdgeoftheEarth.e32dc3/08EdgeoftheEarth.754904.json @@ -0,0 +1,54 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "CustomPDF": { + "PDFPage": 0, + "PDFPageOffset": 0, + "PDFPassword": "", + "PDFUrl": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2008%20Edge%20of%20the%20Earth.pdf?raw=true" + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "", + "GUID": "754904", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/08EdgeoftheEarth.e32dc3/08EdgeoftheEarth.754904.ttslua", + "MeasureMovement": false, + "Name": "Custom_PDF", + "Nickname": "08 Edge of the Earth", + "Snap": true, + "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], + "Tooltip": true, + "Transform": { + "posX": 66.88, + "posY": 3.038, + "posZ": -13.447, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1.76, + "scaleY": 1, + "scaleZ": 1.76 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/08EdgeoftheEarth.e32dc3/08EdgeoftheEarth.754904.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/08EdgeoftheEarth.e32dc3/08EdgeoftheEarth.754904.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/08EdgeoftheEarth.e32dc3/08EdgeoftheEarth.754904.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148.json index bff652b3..94187e7d 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148.json @@ -14,7 +14,8 @@ "r": 1 }, "ContainedObjects_order": [ - "09TheScarletKeys.c50a3a" + "09TheScarletKeysScenariosCaseFiles.c6e8a0", + "09TheScarletKeysSetupandDossiers.abf457" ], "ContainedObjects_path": "09TheScarletKeys.11d148", "CustomMesh": { @@ -59,9 +60,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 16.969, - "posY": 1.062, - "posZ": -79.1, + "posX": 56.825, + "posY": 1.249, + "posZ": -25.96, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysScenariosCaseFiles.c6e8a0.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysScenariosCaseFiles.c6e8a0.json new file mode 100644 index 00000000..3e2541eb --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysScenariosCaseFiles.c6e8a0.json @@ -0,0 +1,54 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "CustomPDF": { + "PDFPage": 0, + "PDFPageOffset": 0, + "PDFPassword": "", + "PDFUrl": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2009%20The%20Scarlet%20Keys%202%20Scenarios%20and%20Case%20Files.pdf?raw=true" + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "", + "GUID": "c6e8a0", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysScenariosCaseFiles.c6e8a0.ttslua", + "MeasureMovement": false, + "Name": "Custom_PDF", + "Nickname": "09 The Scarlet Keys: Scenarios \u0026 Case Files", + "Snap": true, + "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], + "Tooltip": true, + "Transform": { + "posX": 66.593, + "posY": 3.038, + "posZ": -20.295, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1.76, + "scaleY": 1, + "scaleZ": 1.76 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysScenariosCaseFiles.c6e8a0.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysScenariosCaseFiles.c6e8a0.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysScenariosCaseFiles.c6e8a0.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysSetupandDossiers.abf457.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysSetupandDossiers.abf457.json new file mode 100644 index 00000000..04e1be99 --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysSetupandDossiers.abf457.json @@ -0,0 +1,54 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "CustomPDF": { + "PDFPage": 0, + "PDFPageOffset": 0, + "PDFPassword": "", + "PDFUrl": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2009%20The%20Scarlet%20Keys%201%20Setup%20and%20Dossiers.pdf?raw=true" + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "", + "GUID": "abf457", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysSetupandDossiers.abf457.ttslua", + "MeasureMovement": false, + "Name": "Custom_PDF", + "Nickname": "09 The Scarlet Keys: Setup and Dossiers", + "Snap": true, + "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], + "Tooltip": true, + "Transform": { + "posX": 66.336, + "posY": 3.038, + "posZ": -20.774, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1.76, + "scaleY": 1, + "scaleZ": 1.76 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysSetupandDossiers.abf457.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysSetupandDossiers.abf457.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/09TheScarletKeys.11d148/09TheScarletKeysSetupandDossiers.abf457.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/10TheFeastofHemlockVale.2e50cf.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/10TheFeastofHemlockVale.2e50cf.json new file mode 100644 index 00000000..5305e141 --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/10TheFeastofHemlockVale.2e50cf.json @@ -0,0 +1,74 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "Bag": { + "Order": 0 + }, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "ContainedObjects_order": [ + "10TheFeastofHemlockValePlaceholder.cecfc9" + ], + "ContainedObjects_path": "10TheFeastofHemlockVale.2e50cf", + "CustomMesh": { + "CastShadows": true, + "ColliderURL": "", + "Convex": true, + "CustomShader": { + "FresnelStrength": 0, + "SpecularColor": { + "b": 1, + "g": 1, + "r": 1 + }, + "SpecularIntensity": 0, + "SpecularSharpness": 2 + }, + "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/10%20The%20Feast%20of%20Hemlock%20Vale.jpg?raw=true", + "MaterialIndex": 3, + "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", + "NormalURL": "", + "TypeIndex": 6 + }, + "Description": "Not Released Yet", + "DragSelectable": true, + "GMNotes": "", + "GUID": "2e50cf", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MaterialIndex": -1, + "MeasureMovement": false, + "MeshIndex": -1, + "Name": "Custom_Model_Bag", + "Nickname": "10 The Feast of Hemlock Vale", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": 56.825, + "posY": 1.249, + "posZ": -31.96, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/10TheFeastofHemlockVale.2e50cf/10TheFeastofHemlockValePlaceholder.cecfc9.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/10TheFeastofHemlockVale.2e50cf/10TheFeastofHemlockValePlaceholder.cecfc9.json new file mode 100644 index 00000000..4b4213c9 --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/10TheFeastofHemlockVale.2e50cf/10TheFeastofHemlockValePlaceholder.cecfc9.json @@ -0,0 +1,54 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "CustomPDF": { + "PDFPage": 0, + "PDFPageOffset": 0, + "PDFPassword": "", + "PDFUrl": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%2010%20The%20Feast%20of%20Hemlock%20Vale.pdf?raw=true" + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "", + "GUID": "cecfc9", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/10TheFeastofHemlockVale.2e50cf/10TheFeastofHemlockValePlaceholder.cecfc9.ttslua", + "MeasureMovement": false, + "Name": "Custom_PDF", + "Nickname": "10 The Feast of Hemlock Vale: Placeholder", + "Snap": true, + "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], + "Tooltip": true, + "Transform": { + "posX": 67.349, + "posY": 3.037, + "posZ": -26.971, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1.76, + "scaleY": 1, + "scaleZ": 1.76 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/10TheFeastofHemlockVale.2e50cf/10TheFeastofHemlockValePlaceholder.cecfc9.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/10TheFeastofHemlockVale.2e50cf/10TheFeastofHemlockValePlaceholder.cecfc9.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/10TheFeastofHemlockVale.2e50cf/10TheFeastofHemlockValePlaceholder.cecfc9.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C1DarkMatter.3a08d9.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C1DarkMatter.3a08d9.json index 7beb59a3..0209d107 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C1DarkMatter.3a08d9.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C1DarkMatter.3a08d9.json @@ -14,7 +14,7 @@ "r": 1 }, "ContainedObjects_order": [ - "C1DarkMatter.409b50" + "C1DarkMatter.602e48" ], "ContainedObjects_path": "C1DarkMatter.3a08d9", "CustomMesh": { @@ -59,9 +59,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 8.969, - "posY": 1.074, - "posZ": -79.1, + "posX": 39.825, + "posY": 1.249, + "posZ": 28.04, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C1DarkMatter.3a08d9/C1DarkMatter.602e48.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C1DarkMatter.3a08d9/C1DarkMatter.602e48.json new file mode 100644 index 00000000..5c2c21af --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C1DarkMatter.3a08d9/C1DarkMatter.602e48.json @@ -0,0 +1,54 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "CustomPDF": { + "PDFPage": 0, + "PDFPageOffset": 0, + "PDFPassword": "", + "PDFUrl": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20C1%20Dark%20Matter.pdf?raw=true" + }, + "Description": "Designed by Axolotl", + "DragSelectable": true, + "GMNotes": "", + "GUID": "602e48", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C1DarkMatter.3a08d9/C1DarkMatter.602e48.ttslua", + "MeasureMovement": false, + "Name": "Custom_PDF", + "Nickname": "C1 Dark Matter", + "Snap": true, + "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], + "Tooltip": true, + "Transform": { + "posX": 47.575, + "posY": 3.038, + "posZ": 36.067, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1.76, + "scaleY": 1, + "scaleZ": 1.76 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C1DarkMatter.3a08d9/C1DarkMatter.602e48.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C1DarkMatter.3a08d9/C1DarkMatter.602e48.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C1DarkMatter.3a08d9/C1DarkMatter.602e48.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C2AliceinWonderland.ed1d0c.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C2AliceinWonderland.ed1d0c.json index 067af249..c34014d5 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C2AliceinWonderland.ed1d0c.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C2AliceinWonderland.ed1d0c.json @@ -14,7 +14,7 @@ "r": 1 }, "ContainedObjects_order": [ - "C2AliceinWonderland.409b50" + "C2AliceinWonderland.4cf017" ], "ContainedObjects_path": "C2AliceinWonderland.ed1d0c", "CustomMesh": { @@ -59,9 +59,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 8.969, - "posY": 1.072, - "posZ": -85.1, + "posX": 39.825, + "posY": 1.249, + "posZ": 22.04, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C2AliceinWonderland.ed1d0c/C2AliceinWonderland.4cf017.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C2AliceinWonderland.ed1d0c/C2AliceinWonderland.4cf017.json new file mode 100644 index 00000000..a0fbaae2 --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C2AliceinWonderland.ed1d0c/C2AliceinWonderland.4cf017.json @@ -0,0 +1,54 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "CustomPDF": { + "PDFPage": 0, + "PDFPageOffset": 0, + "PDFPassword": "", + "PDFUrl": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20C2%20Alice%20in%20Wonderland.pdf?raw=true" + }, + "Description": "Designed by Tyler Gotch", + "DragSelectable": true, + "GMNotes": "", + "GUID": "4cf017", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C2AliceinWonderland.ed1d0c/C2AliceinWonderland.4cf017.ttslua", + "MeasureMovement": false, + "Name": "Custom_PDF", + "Nickname": "C2 Alice in Wonderland", + "Snap": true, + "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], + "Tooltip": true, + "Transform": { + "posX": 48.535, + "posY": 3.038, + "posZ": 29.793, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1.76, + "scaleY": 1, + "scaleZ": 1.76 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C2AliceinWonderland.ed1d0c/C2AliceinWonderland.4cf017.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C2AliceinWonderland.ed1d0c/C2AliceinWonderland.4cf017.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C2AliceinWonderland.ed1d0c/C2AliceinWonderland.4cf017.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C3CyclopeanFoundations.f72800.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C3CyclopeanFoundations.f72800.json new file mode 100644 index 00000000..e01a3fb3 --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C3CyclopeanFoundations.f72800.json @@ -0,0 +1,74 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "Bag": { + "Order": 0 + }, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "ContainedObjects_order": [ + "C3CyclopeanFoundations.0be2cd" + ], + "ContainedObjects_path": "C3CyclopeanFoundations.f72800", + "CustomMesh": { + "CastShadows": true, + "ColliderURL": "", + "Convex": true, + "CustomShader": { + "FresnelStrength": 0, + "SpecularColor": { + "b": 1, + "g": 1, + "r": 1 + }, + "SpecularIntensity": 0, + "SpecularSharpness": 2 + }, + "DiffuseURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/C3%20Cyclopean%20Foundations.jpg?raw=true", + "MaterialIndex": 3, + "MeshURL": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Book%20Model.obj?raw=true", + "NormalURL": "", + "TypeIndex": 6 + }, + "Description": "Designed by Tyler Gotch", + "DragSelectable": true, + "GMNotes": "", + "GUID": "f72800", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MaterialIndex": -1, + "MeasureMovement": false, + "MeshIndex": -1, + "Name": "Custom_Model_Bag", + "Nickname": "C3 Cyclopean Foundations", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": 43.493, + "posY": 3.182, + "posZ": -22.799, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C3CyclopeanFoundations.f72800/C3CyclopeanFoundations.0be2cd.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C3CyclopeanFoundations.f72800/C3CyclopeanFoundations.0be2cd.json new file mode 100644 index 00000000..a858f678 --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C3CyclopeanFoundations.f72800/C3CyclopeanFoundations.0be2cd.json @@ -0,0 +1,54 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "CustomPDF": { + "PDFPage": 0, + "PDFPageOffset": 0, + "PDFPassword": "", + "PDFUrl": "https://github.com/Antimarkovnikov/TTS_AHC_CYOA/blob/master/Dual%20Pages%20C3%20Cyclopean%20Foundations.pdf?raw=true" + }, + "Description": "Designed by Tyler Gotch", + "DragSelectable": true, + "GMNotes": "", + "GUID": "0be2cd", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C3CyclopeanFoundations.f72800/C3CyclopeanFoundations.0be2cd.ttslua", + "MeasureMovement": false, + "Name": "Custom_PDF", + "Nickname": "C3 Cyclopean Foundations", + "Snap": true, + "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], + "Tooltip": true, + "Transform": { + "posX": 48.615, + "posY": 3.038, + "posZ": 22.463, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1.76, + "scaleY": 1, + "scaleZ": 1.76 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C3CyclopeanFoundations.f72800/C3CyclopeanFoundations.0be2cd.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C3CyclopeanFoundations.f72800/C3CyclopeanFoundations.0be2cd.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/C3CyclopeanFoundations.f72800/C3CyclopeanFoundations.0be2cd.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04.json index 5ef39c15..884f26b2 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04.json @@ -66,9 +66,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 8.971, - "posY": 1.076, - "posZ": -73.1, + "posX": 48.325, + "posY": 1.249, + "posZ": 4.04, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P101ReadorDie.8994ea.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P101ReadorDie.8994ea.json index 0ddc13d5..42275eff 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P101ReadorDie.8994ea.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P101ReadorDie.8994ea.json @@ -34,11 +34,14 @@ "Nickname": "P1 01 Read or Die", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 9.656, - "posY": 2.859, - "posZ": -72.195, + "posX": 56.895, + "posY": 3.038, + "posZ": 11.163, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P102AllorNothing.8950c7.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P102AllorNothing.8950c7.json index c5fd495e..cd489560 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P102AllorNothing.8950c7.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P102AllorNothing.8950c7.json @@ -34,11 +34,14 @@ "Nickname": "P1 02 All or Nothing", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 9.928, - "posY": 2.864, - "posZ": -71.817, + "posX": 56.42, + "posY": 3.038, + "posZ": 12.967, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P103BadBlood.b5fcf1.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P103BadBlood.b5fcf1.json index d720b549..79660447 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P103BadBlood.b5fcf1.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P103BadBlood.b5fcf1.json @@ -34,11 +34,14 @@ "Nickname": "P1 03 Bad Blood", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 9.889, - "posY": 2.863, - "posZ": -72.852, + "posX": 58.344, + "posY": 3.038, + "posZ": 11.89, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P104BytheBook.a37a83.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P104BytheBook.a37a83.json index f8a66553..eb83c06e 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P104BytheBook.a37a83.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P104BytheBook.a37a83.json @@ -34,11 +34,14 @@ "Nickname": "P1 04 By the Book", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 11.118, - "posY": 2.864, - "posZ": -72.564, + "posX": 58.036, + "posY": 3.038, + "posZ": 11.817, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P105RedTideRising.f053b0.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P105RedTideRising.f053b0.json index 48862565..69047380 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P105RedTideRising.f053b0.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P105RedTideRising.f053b0.json @@ -34,11 +34,14 @@ "Nickname": "P1 05 Red Tide Rising", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 8.563, - "posY": 2.859, - "posZ": -73.32, + "posX": 56.928, + "posY": 3.038, + "posZ": 10.527, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1ChallengeScenarios.409b50.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1ChallengeScenarios.409b50.json index b9528ce5..fa888955 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1ChallengeScenarios.409b50.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1ChallengeScenarios.409b50.json @@ -27,18 +27,21 @@ "IgnoreFoW": false, "LayoutGroupSortIndex": 0, "Locked": false, - "LuaScript": "", "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1ChallengeScenarios.409b50.ttslua", "MeasureMovement": false, "Name": "Custom_PDF", "Nickname": "P1 Challenge Scenarios", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 9.933, - "posY": 2.863, - "posZ": -70.772, + "posX": 55.947, + "posY": 3.038, + "posZ": 11.905, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1ChallengeScenarios.409b50.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1ChallengeScenarios.409b50.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1ChallengeScenarios.409b50.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1DCDeathItself.443855.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1DCDeathItself.443855.json index be0868b7..046a139f 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1DCDeathItself.443855.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1DCDeathItself.443855.json @@ -34,11 +34,14 @@ "Nickname": "P1 DC Death Itself", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 10.16, - "posY": 2.863, - "posZ": -72.672, + "posX": 57.255, + "posY": 3.038, + "posZ": 11.839, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1DCThenitMultiplied.d72c48.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1DCThenitMultiplied.d72c48.json index 15bb6d71..5e7e7080 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1DCThenitMultiplied.d72c48.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/P1ChallengeScenarios.8f7e04/P1DCThenitMultiplied.d72c48.json @@ -34,11 +34,14 @@ "Nickname": "P1 DC Then it Multiplied", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 8.449, - "posY": 2.859, - "posZ": -73.655, + "posX": 56.602, + "posY": 3.038, + "posZ": 10.863, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/ReturntoExpansions.2275ed.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/ReturntoExpansions.2275ed.json index 05e3d134..4aacb688 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/ReturntoExpansions.2275ed.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/ReturntoExpansions.2275ed.json @@ -30,9 +30,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 29.34, - "posY": 1.368, - "posZ": -65.808, + "posX": 41.825, + "posY": 1.569, + "posZ": -32.96, "rotX": 0, "rotY": 90, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad.json index 68e4e4f2..b4f910c4 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad.json @@ -65,9 +65,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 16.968, - "posY": 1.06, - "posZ": -85.1, + "posX": 48.325, + "posY": 1.249, + "posZ": 28.04, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S0102CarinvaleofHorrors.538f32.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S0102CarinvaleofHorrors.538f32.json index cbe71015..28108d6c 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S0102CarinvaleofHorrors.538f32.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S0102CarinvaleofHorrors.538f32.json @@ -34,11 +34,14 @@ "Nickname": "S01 02 Carinvale of Horrors", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 9.315, - "posY": 2.511, - "posZ": -1.398, + "posX": 58.336, + "posY": 3.038, + "posZ": 37.612, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S101CurseoftheRougarou.39bf7c.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S101CurseoftheRougarou.39bf7c.json index 4ad49fd3..85511c61 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S101CurseoftheRougarou.39bf7c.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S101CurseoftheRougarou.39bf7c.json @@ -34,12 +34,15 @@ "Nickname": "S1 01 Curse of the Rougarou", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 8.758, - "posY": 2.787, - "posZ": -0.99, - "rotX": 5, + "posX": 59.496, + "posY": 3.036, + "posZ": 38.605, + "rotX": 0, "rotY": 270, "rotZ": 0, "scaleX": 1.76, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S103TheLabyrinthsofLunacy.d014ce.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S103TheLabyrinthsofLunacy.d014ce.json index ce8a059d..d4429b72 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S103TheLabyrinthsofLunacy.d014ce.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S103TheLabyrinthsofLunacy.d014ce.json @@ -34,11 +34,14 @@ "Nickname": "S1 03 The Labyrinths of Lunacy", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 6.482, - "posY": 2.511, - "posZ": -0.145, + "posX": 58.243, + "posY": 3.038, + "posZ": 35.677, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S104GuardiansoftheAbyss.6611a9.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S104GuardiansoftheAbyss.6611a9.json index 27f55ecc..9eae9750 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S104GuardiansoftheAbyss.6611a9.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S104GuardiansoftheAbyss.6611a9.json @@ -34,12 +34,15 @@ "Nickname": "S1 04 Guardians of the Abyss", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 7.318, - "posY": 2.658, - "posZ": -1.465, - "rotX": 3, + "posX": 59.32, + "posY": 3.037, + "posZ": 38.128, + "rotX": 0, "rotY": 270, "rotZ": 0, "scaleX": 1.76, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S105MurderattheExcelsiorHotel.b13297.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S105MurderattheExcelsiorHotel.b13297.json index 2c89ccb5..be505cb9 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S105MurderattheExcelsiorHotel.b13297.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S105MurderattheExcelsiorHotel.b13297.json @@ -34,14 +34,17 @@ "Nickname": "S1 05 Murder at the Excelsior Hotel", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 8.414, - "posY": 2.587, - "posZ": -0.941, + "posX": 57.922, + "posY": 3.038, + "posZ": 37.362, "rotX": 0, "rotY": 270, - "rotZ": 1, + "rotZ": 0, "scaleX": 1.76, "scaleY": 1, "scaleZ": 1.76 diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S106TheBlobthatAteEverything.6ad284.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S106TheBlobthatAteEverything.6ad284.json index 2ed88f03..c5ce4ac5 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S106TheBlobthatAteEverything.6ad284.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S106TheBlobthatAteEverything.6ad284.json @@ -34,14 +34,17 @@ "Nickname": "S1 06 The Blob that Ate Everything", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 7.815, - "posY": 2.647, - "posZ": 0.798, + "posX": 56.811, + "posY": 3.037, + "posZ": 36.984, "rotX": 0, "rotY": 270, - "rotZ": 2, + "rotZ": 0, "scaleX": 1.76, "scaleY": 1, "scaleZ": 1.76 diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S1Stand-AloneScenarios2016-2020.00a430.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S1Stand-AloneScenarios2016-2020.00a430.json index ad9014cf..ea0be128 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S1Stand-AloneScenarios2016-2020.00a430.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S1Stand-AloneScenarios2016-2020.00a430.json @@ -27,18 +27,21 @@ "IgnoreFoW": false, "LayoutGroupSortIndex": 0, "Locked": false, - "LuaScript": "", "LuaScriptState": "", + "LuaScript_path": "OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S1Stand-AloneScenarios2016-2020.00a430.ttslua", "MeasureMovement": false, "Name": "Custom_PDF", "Nickname": "S1 Stand-Alone Scenarios 2016-2020", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 7.133, - "posY": 2.511, - "posZ": 0.024, + "posX": 57.747, + "posY": 3.038, + "posZ": 37.913, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S1Stand-AloneScenarios2016-2020.00a430.ttslua b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S1Stand-AloneScenarios2016-2020.00a430.ttslua new file mode 100644 index 00000000..e4bf980e --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S1Stand-Alones2016-2020.e227ad/S1Stand-AloneScenarios2016-2020.00a430.ttslua @@ -0,0 +1,53 @@ +function onLoad() + self.createInput({ + input_function = "jumpToPage", + function_owner = self, + label = "jump to page", + alignment = 3, + position = Vector(-1.6,0.1,-2.2), + rotation = Vector(0,0,0), + scale = Vector(0.5,0.5,0.5), + width = 2000, + height = 300, + font_size = 250, + font_color = {0.95,0.95,0.95,0.9}, + color = {0.3,0.3,0.3,0.6}, + tooltip = "Type which page you wish to jump to, then click off", + value = "", + validation = 1, + tab = 1, + }) +end + +function jumpToPage(_, _, inputValue, stillEditing) + if inputValue == "" or inputValue == nil then return end -- do nothing if input is empty + + if not stillEditing then -- jump to page if not selecting the textbox anymore + jump((tonumber(inputValue) + 2)/2) + return + elseif string.find(inputValue, "%\n") ~= nil then -- jump to page if enter is pressed + inputValue = inputValue.gsub(inputValue, "%\n", "") + jump((tonumber(inputValue) + 2)/2) + return + end + + if (tonumber(inputValue:sub(-1)) == nil) then -- check and remove non numeric character + Wait.time(function() + self.editInput({ + index = 0, + value = inputValue:sub(1,-2) + }) + end, 0.01) + return + end +end + +function jump(page) + self.Book.setPage(page - 1) -- offset since 0 index + Wait.time(function() -- clear page search + self.editInput({ + index = 0, + value = "", + }) + end, 0.01) +end diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8.json index 234a6112..550c65cb 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8.json @@ -62,9 +62,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 16.968, - "posY": 1.058, - "posZ": -91.1, + "posX": 48.325, + "posY": 1.249, + "posZ": 22.04, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S207BarkhamHorror.409b50.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S207BarkhamHorror.409b50.json index 3d9618ca..a65e807e 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S207BarkhamHorror.409b50.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S207BarkhamHorror.409b50.json @@ -34,11 +34,14 @@ "Nickname": "S2 07 Barkham Horror", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 16.576, - "posY": 2.846, - "posZ": -90.917, + "posX": 57.284, + "posY": 3.038, + "posZ": 27.325, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S208WaroftheOuterGods.bffa04.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S208WaroftheOuterGods.bffa04.json index bee90562..60b7134a 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S208WaroftheOuterGods.bffa04.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S208WaroftheOuterGods.bffa04.json @@ -34,11 +34,14 @@ "Nickname": "S2 08 War of the Outer Gods", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": -15.976, - "posY": 2.511, - "posZ": -13.355, + "posX": 58.218, + "posY": 3.038, + "posZ": 27.814, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S209MachinationsThroughTime.f5dbf1.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S209MachinationsThroughTime.f5dbf1.json index b6a5b0cb..0bc79fc3 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S209MachinationsThroughTime.f5dbf1.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S209MachinationsThroughTime.f5dbf1.json @@ -34,11 +34,14 @@ "Nickname": "S2 09 Machinations Through Time", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": -15.355, - "posY": 2.511, - "posZ": -15.28, + "posX": 57.54, + "posY": 3.038, + "posZ": 27.504, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S210FortuneandFolly.e19e46.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S210FortuneandFolly.e19e46.json index 698a0594..a649d4e4 100644 --- a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S210FortuneandFolly.e19e46.json +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/S2Stand-Alones2020-202.4c47d8/S210FortuneandFolly.e19e46.json @@ -34,11 +34,14 @@ "Nickname": "S2 10 Fortune and Folly", "Snap": true, "Sticky": true, + "Tags": [ + "CleanUpHelper_ignore" + ], "Tooltip": true, "Transform": { - "posX": 17.318, - "posY": 2.845, - "posZ": -92.94, + "posX": 55.414, + "posY": 3.038, + "posZ": 27.01, "rotX": 0, "rotY": 270, "rotZ": 0, diff --git a/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/UpdatingtoNewVersions.a1b358.json b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/UpdatingtoNewVersions.a1b358.json new file mode 100644 index 00000000..923f6338 --- /dev/null +++ b/objects/OptionPanelSource.830bd0/CYOACampaignGuides.e87ea2/UpdatingtoNewVersions.a1b358.json @@ -0,0 +1,45 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "Description": "To Update to the latest version of my campaign guides and their respective covers. On windows go to...\nC:\\Users\\[USERNAME]\\Documents\\My Games\\Tabletop Simulator\\Mods\nAnd search for ANTIMARKOVNIKOV.\nDelete all files find with that in the filename and reload the MOD.", + "DragSelectable": true, + "GMNotes": "", + "GUID": "a1b358", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Notecard", + "Nickname": "Updating to New Versions", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": 35.825, + "posY": 1.569, + "posZ": -32.96, + "rotX": 0, + "rotY": 90, + "rotZ": 0, + "scaleX": 1.25, + "scaleY": 1.25, + "scaleZ": 1.25 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/src/core/Global.ttslua b/src/core/Global.ttslua index 0ac0f349..6c1dc249 100644 --- a/src/core/Global.ttslua +++ b/src/core/Global.ttslua @@ -910,7 +910,7 @@ function applyOptionPanelChange(id, state) -- option: Show CYOA campaign guides elseif id == "showCYOA" then - optionPanel[id] = spawnOrRemoveHelper(state, "CYOA Campaign Guides", {65, 1.6, -11}) + optionPanel[id] = spawnOrRemoveHelper(state, "CYOA Campaign Guides", {39, 1.3, -20}) -- option: Show custom playmat images elseif id == "showCustomPlaymatImages" then From 8cc5170c1081a1917fb670cae71b7c688773edaf Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Thu, 28 Sep 2023 19:44:54 +0200 Subject: [PATCH 02/15] added option to include drawn tokens --- objects/TokenArranger.022907.luascriptstate | 2 +- src/accessories/TokenArranger.ttslua | 78 +++++++++++++-------- src/chaosbag/ChaosBagApi.ttslua | 5 ++ src/core/Global.ttslua | 4 +- 4 files changed, 59 insertions(+), 30 deletions(-) diff --git a/objects/TokenArranger.022907.luascriptstate b/objects/TokenArranger.022907.luascriptstate index 638cf57f..919c5c6c 100644 --- a/objects/TokenArranger.022907.luascriptstate +++ b/objects/TokenArranger.022907.luascriptstate @@ -1 +1 @@ -{"percentage":false,"tokenPrecedence":{"":[0,11],"Auto-fail":[-100,7],"Bless":[101,8],"Cultist":[-2,4],"Curse":[-101,9],"Elder Sign":[100,2],"Elder Thing":[-4,6],"Frost":[-99,10],"Skull":[-1,3],"Tablet":[-3,5]}} +{"includeDrawnTokens":true,"percentage":false,"tokenPrecedence":{"":[0,11],"Auto-fail":[-100,7],"Bless":[101,8],"Cultist":[-2,4],"Curse":[-101,9],"Elder Sign":[100,2],"Elder Thing":[-4,6],"Frost":[-99,10],"Skull":[-1,3],"Tablet":[-3,5]}} diff --git a/src/accessories/TokenArranger.ttslua b/src/accessories/TokenArranger.ttslua index 8111b455..282d940d 100644 --- a/src/accessories/TokenArranger.ttslua +++ b/src/accessories/TokenArranger.ttslua @@ -26,12 +26,13 @@ percentageLabel.width = 0 percentageLabel.height = 0 -- variables with save function -local tokenPrecedence = {} -local percentage = false +local tokenPrecedence = {} +local percentage = false +local includeDrawnTokens = true -- variables without save function -local updating = false -local TOKEN_NAMES = { +local updating = false +local TOKEN_NAMES = { "Elder Sign", "Skull", "Cultist", @@ -47,17 +48,19 @@ local TOKEN_NAMES = { -- saving the precedence settings and information on the most recently loaded data function onSave() return JSON.encode({ - tokenPrecedence = tokenPrecedence, - percentage = percentage + tokenPrecedence = tokenPrecedence, + percentage = percentage, + includeDrawnTokens = includeDrawnTokens }) end -- loading data, button creation and initial layouting function onLoad(saveState) if saveState ~= nil and saveState ~= "" then - local loadedData = JSON.decode(saveState) - tokenPrecedence = loadedData.tokenPrecedence - percentage = loadedData.percentage + local loadedData = JSON.decode(saveState) + tokenPrecedence = loadedData.tokenPrecedence + percentage = loadedData.percentage + includeDrawnTokens = loadedData.includeDrawnTokens else loadDefaultValues() @@ -74,23 +77,32 @@ function onLoad(saveState) layout() end) - self.addContextMenuItem("Toggle percentages", function() + self.addContextMenuItem("Include drawn tokens", function() + includeDrawnTokens = not includeDrawnTokens + local text = includeDrawnTokens and " " or " not " + broadcastToAll("Token Arranger will" .. text .. "include currently drawn chaos tokens.", "Orange") + layout() + end) + + self.addContextMenuItem("Toggle percentages", function() if percentage then percentage = false else percentage = "basic" - broadcastToAll("Percentages are unreliable when using tokens that draw other tokens (bless or curse for example).", "Yellow") + broadcastToAll("Percentages are unreliable when using tokens that draw other tokens (bless or curse for example).", + "Yellow") end layout() end) - self.addContextMenuItem("Toggle cumulative", function() + self.addContextMenuItem("Toggle cumulative", function() if percentage == "cumulative" then percentage = "basic" else percentage = "cumulative" end - broadcastToAll("Percentages are unreliable when using tokens that draw other tokens (bless or curse for example).", "Yellow") + broadcastToAll("Percentages are unreliable when using tokens that draw other tokens (bless or curse for example).", + "Yellow") layout() end) end @@ -156,7 +168,7 @@ function createButtonsAndInputs() inputParameters.position = { pos.x[1] + offset, 0.1, pos.z + i * offset } else buttonParameters.position = { pos.x[2], 0, pos.z + (i - 5) * offset } - inputParameters.position = { pos.x[2] + offset, 0.1, pos.z + (i - 5) * offset } + inputParameters.position = { pos.x[2] + offset, 0.1, pos.z + (i - 5) * offset } end buttonParameters.click_function = "tokenClick" .. i @@ -226,23 +238,23 @@ function createPercentageButton(tokenCount, valueCount, tokenName) local startPos = Vector(2.3, -0.05, 0.875 * valueCount) if percentage == "cumulative" then - percentageLabel.scale = {1.5, 1.5, 1.5} + percentageLabel.scale = { 1.5, 1.5, 1.5 } percentageLabel.position = startPos - Vector(0, 0, 2.85) else - percentageLabel.scale = {2, 2, 2} + percentageLabel.scale = { 2, 2, 2 } percentageLabel.position = startPos - Vector(0, 0, 2.675) end -- determine font_color if tokenName == "Elder Sign" then - percentageLabel.font_color = {0.35, 0.71, 0.85} + percentageLabel.font_color = { 0.35, 0.71, 0.85 } elseif tokenName == "Auto-fail" then - percentageLabel.font_color = {0.86, 0.1, 0.1} - -- check if the tokenName contains letters (e.g. symbol token) + percentageLabel.font_color = { 0.86, 0.1, 0.1 } + -- check if the tokenName contains letters (e.g. symbol token) elseif string.match(tokenName, "%a") ~= nil then - percentageLabel.font_color = {0.68, 0.53, 0.86} + percentageLabel.font_color = { 0.68, 0.53, 0.86 } else - percentageLabel.font_color = {0.85, 0.67, 0.33} + percentageLabel.font_color = { 0.85, 0.67, 0.33 } end -- create label for base percentage @@ -253,8 +265,8 @@ function createPercentageButton(tokenCount, valueCount, tokenName) -- optionally create label for cumulative percentage if percentage == "cumulative" then percentageLabel.position = startPos - Vector(0, 0, 2.45) - percentageLabel.font_color = {1, 1, 1} - + percentageLabel.font_color = { 1, 1, 1 } + -- only display one digit for 100% if tokenCount.sum == tokenCount.total then percentageLabel.label = "100.0%" @@ -278,7 +290,7 @@ function layout(_, _, isRightClick) return end - -- get ChaosBag and stop if not found + -- get ChaosBag and stop if not found local chaosBag = chaosBagApi.findChaosBag() if not chaosBag then updating = false @@ -286,8 +298,18 @@ function layout(_, _, isRightClick) end -- clone tokens from chaos bag (default position above trash can) + local rawData = chaosBag.getData().ContainedObjects + + -- optionally get the data for tokens in play + if includeDrawnTokens then + for _, token in pairs(chaosBagApi.getTokensInPlay()) do + if token ~= nil then table.insert(rawData, token.getData()) end + end + end + + -- generate layout data local data = {} - for i, objData in ipairs(chaosBag.getData().ContainedObjects) do + for i, objData in ipairs(rawData) do objData["Tags"] = { "tempToken" } local value = tonumber(objData.Nickname) local precedence = tokenPrecedence[objData.Nickname] @@ -316,7 +338,7 @@ function layout(_, _, isRightClick) local rotation = self.getRotation() local currentValue = data[1].value local tokenCount = { row = 0, sum = 0, total = #data } - local valueCount = 1 + local valueCount = 1 local tokenName = false for i, item in ipairs(data) do @@ -339,8 +361,8 @@ function layout(_, _, isRightClick) position = location, rotation = rotation }) - tokenName = item.token.Nickname - location.z = location.z - 1.75 + tokenName = item.token.Nickname + location.z = location.z - 1.75 tokenCount.row = tokenCount.row + 1 end diff --git a/src/chaosbag/ChaosBagApi.ttslua b/src/chaosbag/ChaosBagApi.ttslua index e0252266..3ca84e94 100644 --- a/src/chaosbag/ChaosBagApi.ttslua +++ b/src/chaosbag/ChaosBagApi.ttslua @@ -23,6 +23,11 @@ do return Global.call("findChaosBag") end + -- returns a table of object references to the tokens in play (does not include sealed tokens!) + ChaosBagApi.getTokensInPlay = function() + return Global.getTable("chaosTokens") + end + -- returns all sealed tokens on cards to the chaos bag ChaosBagApi.releaseAllSealedTokens = function(playerColor) return Global.call("releaseAllSealedTokens", playerColor) diff --git a/src/core/Global.ttslua b/src/core/Global.ttslua index 0ac0f349..aa7415e9 100644 --- a/src/core/Global.ttslua +++ b/src/core/Global.ttslua @@ -32,8 +32,10 @@ local NOT_INTERACTABLE = { "975c39", -- vertical border right } -local chaosTokens = {} +-- global variable for access +chaosTokens = {} local chaosTokensLastMat = nil + local bagSearchers = {} local MAT_COLORS = {"White", "Orange", "Green", "Red"} local hideTitleSplashWaitFunctionId = nil From c13582f5b0d33ae43f6b41f493e3cb21986603e8 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Thu, 28 Sep 2023 19:49:10 +0200 Subject: [PATCH 03/15] fixed some auto-formatting --- src/accessories/TokenArranger.ttslua | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/accessories/TokenArranger.ttslua b/src/accessories/TokenArranger.ttslua index 282d940d..8be13a39 100644 --- a/src/accessories/TokenArranger.ttslua +++ b/src/accessories/TokenArranger.ttslua @@ -89,8 +89,7 @@ function onLoad(saveState) percentage = false else percentage = "basic" - broadcastToAll("Percentages are unreliable when using tokens that draw other tokens (bless or curse for example).", - "Yellow") + broadcastToAll("Percentages are unreliable when using tokens that draw other tokens (bless or curse for example).", "Yellow") end layout() end) @@ -101,8 +100,7 @@ function onLoad(saveState) else percentage = "cumulative" end - broadcastToAll("Percentages are unreliable when using tokens that draw other tokens (bless or curse for example).", - "Yellow") + broadcastToAll("Percentages are unreliable when using tokens that draw other tokens (bless or curse for example).", "Yellow") layout() end) end @@ -349,10 +347,10 @@ function layout(_, _, isRightClick) createPercentageButton(tokenCount, valueCount, tokenName) end - location.x = location.x - 1.75 - location.z = pos.z - currentValue = item.value - valueCount = valueCount + 1 + location.x = location.x - 1.75 + location.z = pos.z + currentValue = item.value + valueCount = valueCount + 1 tokenCount.row = 0 end @@ -361,8 +359,8 @@ function layout(_, _, isRightClick) position = location, rotation = rotation }) - tokenName = item.token.Nickname - location.z = location.z - 1.75 + tokenName = item.token.Nickname + location.z = location.z - 1.75 tokenCount.row = tokenCount.row + 1 end From f16392a5516b5217bac13dbd5e0ddfd0c773797b Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Mon, 2 Oct 2023 21:32:30 +0200 Subject: [PATCH 04/15] added placeholder for the invisible man --- .../Fan-MadeStandaloneScenarios.5db60c.json | 1 + .../TheInvisibleMan.17d01a.json | 86 +++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c/TheInvisibleMan.17d01a.json diff --git a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c.json b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c.json index a2ab2af8..23c5fc53 100644 --- a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c.json +++ b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c.json @@ -25,6 +25,7 @@ "TheNephewCalls.3ddd12", "TheNamelessCity.9d3083", "TheLegendofSleepyHollow.0500f1", + "TheInvisibleMan.17d01a", "TheGrandOakHotel.5ccf55", "TheFestival.29d22a", "TheFalloftheHouseofUsher.42bdd3", diff --git a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c/TheInvisibleMan.17d01a.json b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c/TheInvisibleMan.17d01a.json new file mode 100644 index 00000000..bd2c2831 --- /dev/null +++ b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c/TheInvisibleMan.17d01a.json @@ -0,0 +1,86 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "AttachedDecals": [ + { + "CustomDecal": { + "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", + "Name": "dunwich_back", + "Size": 7.4 + }, + "Transform": { + "posX": 0, + "posY": 0, + "posZ": 0, + "rotX": 270, + "rotY": 0, + "rotZ": 0, + "scaleX": 2, + "scaleY": 2, + "scaleZ": 2 + } + } + ], + "Autoraise": true, + "ColorDiffuse": { + "a": 0.27451, + "b": 1, + "g": 1, + "r": 1 + }, + "CustomMesh": { + "CastShadows": true, + "ColliderURL": "", + "Convex": true, + "CustomShader": { + "FresnelStrength": 0, + "SpecularColor": { + "b": 1, + "g": 1, + "r": 1 + }, + "SpecularIntensity": 0, + "SpecularSharpness": 2 + }, + "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2005838139148126671/D2A8004B560ED3623F3326F3F97B8B181AEC6371/", + "MaterialIndex": 3, + "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", + "NormalURL": "", + "TypeIndex": 0 + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "fancreations/scenario_the_invisible_man.json", + "GUID": "17d01a", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "require(\"core/DownloadBox\")", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Custom_Model", + "Nickname": "The Invisible Man", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": 20, + "posY": 1.5, + "posZ": 0, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 2.21, + "scaleY": 0.46, + "scaleZ": 2.42 + }, + "Value": 0, + "XmlUI": "" +} \ No newline at end of file From c17587771ffdcbf13b8ab3e9d05266635a09a51e Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Tue, 3 Oct 2023 10:46:48 +0200 Subject: [PATCH 05/15] bugfix for clue counts > 12 --- src/core/token/TokenManager.ttslua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/core/token/TokenManager.ttslua b/src/core/token/TokenManager.ttslua index 3687ee64..cee5204d 100644 --- a/src/core/token/TokenManager.ttslua +++ b/src/core/token/TokenManager.ttslua @@ -204,14 +204,15 @@ do ---@param shiftDown Number An offset for the z-value of this group of tokens ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens TokenManager.spawnMultipleTokens = function(card, tokenType, tokenCount, shiftDown, subType) - if tokenCount < 1 or tokenCount > 12 then - return - end + -- not checking the max at this point since clue offsets are calculated dynamically + if tokenCount < 1 then return end local offsets = {} if tokenType == "clue" then offsets = internal.buildClueOffsets(card, tokenCount) else + -- only up to 12 offset tables defined + if tokenCount > 12 then return end for i = 1, tokenCount do offsets[i] = card.positionToWorld(PLAYER_CARD_TOKEN_OFFSETS[tokenCount][i]) -- Fix the y-position for the spawn, since positionToWorld considers rotation which can @@ -479,7 +480,6 @@ do local column = (i - 1) % 4 table.insert(cluePositions, Vector(pos.x + 1.5 - 0.55 * row, pos.y + 0.15, pos.z - 0.825 + 0.55 * column)) end - return cluePositions end From aab36cd28f2e5d7f1de42bc86d686abf7f97857a Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Thu, 5 Oct 2023 10:27:03 +0200 Subject: [PATCH 06/15] return drawn tokens --- src/accessories/CleanUpHelper.ttslua | 1 + src/chaosbag/ChaosBagApi.ttslua | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/accessories/CleanUpHelper.ttslua b/src/accessories/CleanUpHelper.ttslua index 3d25e52c..4a3548c0 100644 --- a/src/accessories/CleanUpHelper.ttslua +++ b/src/accessories/CleanUpHelper.ttslua @@ -190,6 +190,7 @@ function cleanUp(_, color) removeLines() discardHands() tokenSpawnTrackerApi.resetAll() + chaosBagApi.returnChaosTokens() chaosBagApi.releaseAllSealedTokens(color) printToAll("Tidying main play area...", "White") diff --git a/src/chaosbag/ChaosBagApi.ttslua b/src/chaosbag/ChaosBagApi.ttslua index e0252266..c83dd081 100644 --- a/src/chaosbag/ChaosBagApi.ttslua +++ b/src/chaosbag/ChaosBagApi.ttslua @@ -28,6 +28,11 @@ do return Global.call("releaseAllSealedTokens", playerColor) end + -- returns all drawn tokens to the chaos bag + ChaosBagApi.returnChaosTokens = function(playerColor) + return Global.call("returnChaosTokens", playerColor) + end + -- removes the specified chaos token from the chaos bag ---@param id String ID of the chaos token ChaosBagApi.removeChaosToken = function(id) From e948bffd23b07cdeee1602e58509d9d2ff5e7f0a Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Thu, 5 Oct 2023 17:06:59 +0200 Subject: [PATCH 07/15] added myriads return to scenarios --- .../Fan-MadeStandaloneScenarios.5db60c.json | 2 + ...onsternationontheConstellation.34ec55.json | 86 +++++++++++++++++++ .../ReturntotheWendigo.33f0f3.json | 86 +++++++++++++++++++ 3 files changed, 174 insertions(+) create mode 100644 objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c/ReturntoConsternationontheConstellation.34ec55.json create mode 100644 objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c/ReturntotheWendigo.33f0f3.json diff --git a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c.json b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c.json index 23c5fc53..5c2387dc 100644 --- a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c.json +++ b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c.json @@ -34,6 +34,8 @@ "TheColouroutofSpace.5b81ff", "TheCollector.9810eb", "StrangerThings.408301", + "ReturntotheWendigo.33f0f3", + "ReturntoConsternationontheConstellation.34ec55", "MiskatonicMouse.6defb8", "MasksofNyarlathotepNewYork.94a1f8", "LastCallatRoxies.c6a1ca", diff --git a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c/ReturntoConsternationontheConstellation.34ec55.json b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c/ReturntoConsternationontheConstellation.34ec55.json new file mode 100644 index 00000000..6f91c034 --- /dev/null +++ b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c/ReturntoConsternationontheConstellation.34ec55.json @@ -0,0 +1,86 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "AttachedDecals": [ + { + "CustomDecal": { + "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", + "Name": "dunwich_back", + "Size": 7.4 + }, + "Transform": { + "posX": 0, + "posY": 0, + "posZ": 0, + "rotX": 270, + "rotY": 0, + "rotZ": 0, + "scaleX": 2, + "scaleY": 2, + "scaleZ": 2 + } + } + ], + "Autoraise": true, + "ColorDiffuse": { + "a": 0.27451, + "b": 1, + "g": 1, + "r": 1 + }, + "CustomMesh": { + "CastShadows": true, + "ColliderURL": "", + "Convex": true, + "CustomShader": { + "FresnelStrength": 0, + "SpecularColor": { + "b": 1, + "g": 1, + "r": 1 + }, + "SpecularIntensity": 0, + "SpecularSharpness": 2 + }, + "DiffuseURL": "https://github.com/ArkhamDotCards/returntoconsternationontheconstellation/blob/main/product/enUS/constellation-boxart-difuse.png?raw=true", + "MaterialIndex": 3, + "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", + "NormalURL": "", + "TypeIndex": 0 + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "fancreations/scenario_return_to_consternation_on_the_constellation.json", + "GUID": "34ec55", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "require(\"core/DownloadBox\")", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Custom_Model", + "Nickname": "Return to Consternation on the Constellation", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": 20, + "posY": 1.5, + "posZ": -5, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 2.21, + "scaleY": 0.46, + "scaleZ": 2.42 + }, + "Value": 0, + "XmlUI": "" +} \ No newline at end of file diff --git a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c/ReturntotheWendigo.33f0f3.json b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c/ReturntotheWendigo.33f0f3.json new file mode 100644 index 00000000..1e3ff66b --- /dev/null +++ b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeStandaloneScenarios.5db60c/ReturntotheWendigo.33f0f3.json @@ -0,0 +1,86 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "AttachedDecals": [ + { + "CustomDecal": { + "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", + "Name": "dunwich_back", + "Size": 7.4 + }, + "Transform": { + "posX": 0, + "posY": 0, + "posZ": 0, + "rotX": 270, + "rotY": 0, + "rotZ": 0, + "scaleX": 2, + "scaleY": 2, + "scaleZ": 2 + } + } + ], + "Autoraise": true, + "ColorDiffuse": { + "a": 0.27451, + "b": 1, + "g": 1, + "r": 1 + }, + "CustomMesh": { + "CastShadows": true, + "ColliderURL": "", + "Convex": true, + "CustomShader": { + "FresnelStrength": 0, + "SpecularColor": { + "b": 1, + "g": 1, + "r": 1 + }, + "SpecularIntensity": 0, + "SpecularSharpness": 2 + }, + "DiffuseURL": "https://github.com/ArkhamDotCards/returntothewendigo/blob/main/product/enUS/wendigo-boxart-difuse.png?raw=true", + "MaterialIndex": 3, + "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", + "NormalURL": "", + "TypeIndex": 0 + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "fancreations/scenario_return_to_the_wendigo.json", + "GUID": "33f0f3", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "require(\"core/DownloadBox\")", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Custom_Model", + "Nickname": "Return to the Wendigo", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": 20, + "posY": 1.5, + "posZ": 5, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 2.21, + "scaleY": 0.46, + "scaleZ": 2.42 + }, + "Value": 0, + "XmlUI": "" +} \ No newline at end of file From 81e8a6d02f662e35e7cf785b1759ab1d1ab23cc4 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Fri, 6 Oct 2023 09:56:11 +0200 Subject: [PATCH 08/15] version bump to 3.3.0 --- config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json b/config.json index f697884f..04db976b 100644 --- a/config.json +++ b/config.json @@ -214,7 +214,7 @@ 0, 0 ], - "SaveName": "Arkham SCE - 3.2.0", + "SaveName": "Arkham SCE - 3.3.0", "Sky": "Sky_Museum", "SkyURL": "https://i.imgur.com/GkQqaOF.jpg", "SnapPoints_path": "SnapPoints.json", From 3d92f1732272fe8f0af90a61a962be17c8ea4c01 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Fri, 6 Oct 2023 14:33:54 +0200 Subject: [PATCH 09/15] added uses to Sparrow Mask --- objects/AllPlayerCards.15bb07/SparrowMask.975d79.gmnotes | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/objects/AllPlayerCards.15bb07/SparrowMask.975d79.gmnotes b/objects/AllPlayerCards.15bb07/SparrowMask.975d79.gmnotes index 10f7d8fc..2cbf0281 100644 --- a/objects/AllPlayerCards.15bb07/SparrowMask.975d79.gmnotes +++ b/objects/AllPlayerCards.15bb07/SparrowMask.975d79.gmnotes @@ -7,5 +7,12 @@ "traits": "Item. Charm. Mask.", "willpowerIcons": 1, "agilityIcons": 1, + "uses": [ + { + "count": 2, + "type": "Offering", + "token": "resource" + } + ], "cycle": "The Feast of Hemlock Vale" } From fba956cab76b73dedf9fc960f7ad00e98e56cf81 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Fri, 6 Oct 2023 14:44:25 +0200 Subject: [PATCH 10/15] more missing uses metadata --- objects/AllPlayerCards.15bb07/AncientStone4.3289b0.gmnotes | 7 +++++++ objects/AllPlayerCards.15bb07/AncientStone4.863f91.gmnotes | 7 +++++++ objects/AllPlayerCards.15bb07/AncientStone4.9c56d3.gmnotes | 7 +++++++ .../AllPlayerCards.15bb07/CustomAmmunition3.f03baa.gmnotes | 7 +++++++ .../AllPlayerCards.15bb07/EmbezzledTreasure.8fd043.gmnotes | 7 +++++++ .../AllPlayerCards.15bb07/FamilyInheritance.394603.gmnotes | 7 +++++++ .../ResearchNotesTaboo.085c08.gmnotes | 7 +++++++ objects/AllPlayerCards.15bb07/WindsofPower1.bcdfde.gmnotes | 7 +++++++ 8 files changed, 56 insertions(+) diff --git a/objects/AllPlayerCards.15bb07/AncientStone4.3289b0.gmnotes b/objects/AllPlayerCards.15bb07/AncientStone4.3289b0.gmnotes index 45819aa6..8ce61bed 100644 --- a/objects/AllPlayerCards.15bb07/AncientStone4.3289b0.gmnotes +++ b/objects/AllPlayerCards.15bb07/AncientStone4.3289b0.gmnotes @@ -6,5 +6,12 @@ "level": 4, "traits": "Item. Relic.", "agilityIcons": 2, + "uses": [ + { + "count": 0, + "type": "Secret", + "token": "resource" + } + ], "cycle": "Return to the Forgotten Age" } diff --git a/objects/AllPlayerCards.15bb07/AncientStone4.863f91.gmnotes b/objects/AllPlayerCards.15bb07/AncientStone4.863f91.gmnotes index 80dbf480..8362275a 100644 --- a/objects/AllPlayerCards.15bb07/AncientStone4.863f91.gmnotes +++ b/objects/AllPlayerCards.15bb07/AncientStone4.863f91.gmnotes @@ -6,5 +6,12 @@ "level": 4, "traits": "Item. Relic.", "intellectIcons": 2, + "uses": [ + { + "count": 0, + "type": "Secret", + "token": "resource" + } + ], "cycle": "The Forgotten Age" } diff --git a/objects/AllPlayerCards.15bb07/AncientStone4.9c56d3.gmnotes b/objects/AllPlayerCards.15bb07/AncientStone4.9c56d3.gmnotes index ba52904b..b7aba6d8 100644 --- a/objects/AllPlayerCards.15bb07/AncientStone4.9c56d3.gmnotes +++ b/objects/AllPlayerCards.15bb07/AncientStone4.9c56d3.gmnotes @@ -6,5 +6,12 @@ "level": 4, "traits": "Item. Relic.", "willpowerIcons": 2, + "uses": [ + { + "count": 0, + "type": "Secret", + "token": "resource" + } + ], "cycle": "The Forgotten Age" } diff --git a/objects/AllPlayerCards.15bb07/CustomAmmunition3.f03baa.gmnotes b/objects/AllPlayerCards.15bb07/CustomAmmunition3.f03baa.gmnotes index 982a1112..52502924 100644 --- a/objects/AllPlayerCards.15bb07/CustomAmmunition3.f03baa.gmnotes +++ b/objects/AllPlayerCards.15bb07/CustomAmmunition3.f03baa.gmnotes @@ -7,5 +7,12 @@ "traits": "Upgrade. Supply. Blessed.", "combatIcons": 1, "agilityIcons": 1, + "uses": [ + { + "count": 2, + "type": "Ammo", + "token": "resource" + } + ], "cycle": "The Forgotten Age" } diff --git a/objects/AllPlayerCards.15bb07/EmbezzledTreasure.8fd043.gmnotes b/objects/AllPlayerCards.15bb07/EmbezzledTreasure.8fd043.gmnotes index 220ea0aa..85a55c38 100644 --- a/objects/AllPlayerCards.15bb07/EmbezzledTreasure.8fd043.gmnotes +++ b/objects/AllPlayerCards.15bb07/EmbezzledTreasure.8fd043.gmnotes @@ -6,5 +6,12 @@ "level": 0, "traits": "Item. Illicit.", "intellectIcons": 1, + "uses": [ + { + "count": 0, + "type": "Resource", + "token": "resource" + } + ], "cycle": "The Scarlet Keys" } diff --git a/objects/AllPlayerCards.15bb07/FamilyInheritance.394603.gmnotes b/objects/AllPlayerCards.15bb07/FamilyInheritance.394603.gmnotes index ffcc7508..41a47d9f 100644 --- a/objects/AllPlayerCards.15bb07/FamilyInheritance.394603.gmnotes +++ b/objects/AllPlayerCards.15bb07/FamilyInheritance.394603.gmnotes @@ -4,5 +4,12 @@ "class": "Neutral", "traits": "Boon.", "permanent": true, + "uses": [ + { + "count": 0, + "type": "Resource", + "token": "resource" + } + ], "cycle": "The Circle Undone" } diff --git a/objects/AllPlayerCards.15bb07/ResearchNotesTaboo.085c08.gmnotes b/objects/AllPlayerCards.15bb07/ResearchNotesTaboo.085c08.gmnotes index 8fce51dd..8cae36d6 100644 --- a/objects/AllPlayerCards.15bb07/ResearchNotesTaboo.085c08.gmnotes +++ b/objects/AllPlayerCards.15bb07/ResearchNotesTaboo.085c08.gmnotes @@ -6,5 +6,12 @@ "level": 0, "traits": "Item. Tome. Science.", "intellectIcons": 1, + "uses": [ + { + "count": 0, + "type": "Evidence", + "token": "resource" + } + ], "cycle": "The Scarlet Keys" } diff --git a/objects/AllPlayerCards.15bb07/WindsofPower1.bcdfde.gmnotes b/objects/AllPlayerCards.15bb07/WindsofPower1.bcdfde.gmnotes index eea5c5c4..cba0ef55 100644 --- a/objects/AllPlayerCards.15bb07/WindsofPower1.bcdfde.gmnotes +++ b/objects/AllPlayerCards.15bb07/WindsofPower1.bcdfde.gmnotes @@ -6,5 +6,12 @@ "level": 1, "traits": "Spirit.", "willpowerIcons": 2, + "uses": [ + { + "count": 2, + "type": "Charge", + "token": "resource" + } + ], "cycle": "Edge of the Earth" } From 03c00762afbfbbe8499414ad17fd7b5849f615d0 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Sun, 8 Oct 2023 00:42:41 +0200 Subject: [PATCH 11/15] added Trish's taboo card --- src/playercards/PlayerCardPanelData.ttslua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/playercards/PlayerCardPanelData.ttslua b/src/playercards/PlayerCardPanelData.ttslua index 79595658..0ca5bc75 100644 --- a/src/playercards/PlayerCardPanelData.ttslua +++ b/src/playercards/PlayerCardPanelData.ttslua @@ -437,7 +437,7 @@ INVESTIGATORS["Amanda Sharpe"] = { starterDeck = "2626469" } INVESTIGATORS["Trish Scarborough"] = { - cards = { "07003" }, + cards = { "07003", "07003-t" }, minicards = { "07003-m" }, signatures = { "07010", "07011" }, starterDeck = "2626479" From 369beead5b6d2be2334cbfc5cef359b396ba88d3 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Sun, 8 Oct 2023 10:37:05 +0200 Subject: [PATCH 12/15] added ES and AF counters --- objects/Fan-MadeAccessories.aa8b38.json | 4 +- .../Auto-failCounter.a9a321.json | 57 +++++++++++++++++++ .../ElderSignCounter.e62cb5.json | 57 +++++++++++++++++++ src/core/GenericCounter.ttslua | 2 + 4 files changed, 119 insertions(+), 1 deletion(-) create mode 100644 objects/Fan-MadeAccessories.aa8b38/Auto-failCounter.a9a321.json create mode 100644 objects/Fan-MadeAccessories.aa8b38/ElderSignCounter.e62cb5.json diff --git a/objects/Fan-MadeAccessories.aa8b38.json b/objects/Fan-MadeAccessories.aa8b38.json index 57375ea4..b6c3001c 100644 --- a/objects/Fan-MadeAccessories.aa8b38.json +++ b/objects/Fan-MadeAccessories.aa8b38.json @@ -20,7 +20,9 @@ "Double-SidedResource.bc81cb", "DescriptivePhaseTracker.b171c8", "CustomDataHelper.2547b3", - "UnderworldMarketHelper.3650ea" + "UnderworldMarketHelper.3650ea", + "Auto-failCounter.a9a321", + "ElderSignCounter.e62cb5" ], "ContainedObjects_path": "Fan-MadeAccessories.aa8b38", "CustomMesh": { diff --git a/objects/Fan-MadeAccessories.aa8b38/Auto-failCounter.a9a321.json b/objects/Fan-MadeAccessories.aa8b38/Auto-failCounter.a9a321.json new file mode 100644 index 00000000..c7b63814 --- /dev/null +++ b/objects/Fan-MadeAccessories.aa8b38/Auto-failCounter.a9a321.json @@ -0,0 +1,57 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "CustomImage": { + "CustomTile": { + "Stackable": false, + "Stretch": true, + "Thickness": 0.1, + "Type": 2 + }, + "ImageScalar": 1, + "ImageSecondaryURL": "", + "ImageURL": "https://i.imgur.com/lns4fhz.png", + "WidthScale": 0 + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "", + "GUID": "a9a321", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "require(\"core/GenericCounter\")", + "LuaScriptState": "0", + "MeasureMovement": false, + "Name": "Custom_Tile", + "Nickname": "Auto-fail Counter", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": -60.946, + "posY": 4.823, + "posZ": -74.885, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 0.81, + "scaleY": 1, + "scaleZ": 0.81 + }, + "Value": 0, + "XmlUI": "" +} \ No newline at end of file diff --git a/objects/Fan-MadeAccessories.aa8b38/ElderSignCounter.e62cb5.json b/objects/Fan-MadeAccessories.aa8b38/ElderSignCounter.e62cb5.json new file mode 100644 index 00000000..bfd05186 --- /dev/null +++ b/objects/Fan-MadeAccessories.aa8b38/ElderSignCounter.e62cb5.json @@ -0,0 +1,57 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "CustomImage": { + "CustomTile": { + "Stackable": false, + "Stretch": true, + "Thickness": 0.1, + "Type": 2 + }, + "ImageScalar": 1, + "ImageSecondaryURL": "", + "ImageURL": "https://i.imgur.com/nEmqjmj.png", + "WidthScale": 0 + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "", + "GUID": "e62cb5", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "require(\"core/GenericCounter\")", + "LuaScriptState": "0", + "MeasureMovement": false, + "Name": "Custom_Tile", + "Nickname": "Elder Sign Counter", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": -60.81, + "posY": 4.823, + "posZ": -75.121, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 0.81, + "scaleY": 1, + "scaleZ": 0.81 + }, + "Value": 0, + "XmlUI": "" +} \ No newline at end of file diff --git a/src/core/GenericCounter.ttslua b/src/core/GenericCounter.ttslua index d21ff1c7..b8409383 100644 --- a/src/core/GenericCounter.ttslua +++ b/src/core/GenericCounter.ttslua @@ -16,6 +16,8 @@ function onLoad(savedData) position = { 0, 0.06, 0.1 } elseif name == "Horror" then position = { -0.025, 0.06, -0.025 } + elseif name == "Elder Sign Counter" or name == "Auto-fail Counter" then + position = { 0, 0.1, 0 } else position = { 0, 0.06, 0 } end From 5538414fe2d6e0a725f0e45f8dd628364a966e48 Mon Sep 17 00:00:00 2001 From: Finn Date: Sun, 8 Oct 2023 19:32:17 -0500 Subject: [PATCH 13/15] Added update notes for release on 10/9/2023 --- config.json | 4 +- .../ArkhamSCE320-8262023-Page1.964222.json | 182 -------------- .../ArkhamSCE330-1092023-Page1.964222.json | 227 ++++++++++++++++++ 3 files changed, 229 insertions(+), 184 deletions(-) delete mode 100644 objects/ArkhamSCE320-8262023-Page1.964222.json create mode 100644 objects/ArkhamSCE330-1092023-Page1.964222.json diff --git a/config.json b/config.json index f697884f..b461019c 100644 --- a/config.json +++ b/config.json @@ -203,7 +203,7 @@ "ChaosBagManager.023240", "Half-Life.b46db2", "CircusExMortisCampaign.93b8cb", - "ArkhamSCE320-8262023-Page1.964222" + "ArkhamSCE330-1092023-Page1.964222" ], "PlayArea": 1, "PlayerCounts": [ @@ -214,7 +214,7 @@ 0, 0 ], - "SaveName": "Arkham SCE - 3.2.0", + "SaveName": "Arkham SCE - 3.3.0", "Sky": "Sky_Museum", "SkyURL": "https://i.imgur.com/GkQqaOF.jpg", "SnapPoints_path": "SnapPoints.json", diff --git a/objects/ArkhamSCE320-8262023-Page1.964222.json b/objects/ArkhamSCE320-8262023-Page1.964222.json deleted file mode 100644 index 4ab8b9fb..00000000 --- a/objects/ArkhamSCE320-8262023-Page1.964222.json +++ /dev/null @@ -1,182 +0,0 @@ -{ - "AltLookAngle": { - "x": 0, - "y": 0, - "z": 0 - }, - "Autoraise": true, - "ColorDiffuse": { - "b": 1, - "g": 1, - "r": 1 - }, - "Description": "- Thanks for downloading Arkham SCE 3.2.0! This update adds many new features including new resource tokens, a campaign exporter, and new hotkeys!\n\n- Added fan-made campaign: Unofficial Return to Innsmouth Conspiracy by DerBK!\n- Added fan-made campaigns: Half-Life and Circus Ex Mortis by The Beard!", - "DragSelectable": true, - "GMNotes": "", - "GUID": "964222", - "Grid": true, - "GridProjection": false, - "Hands": false, - "HideWhenFaceDown": false, - "IgnoreFoW": false, - "LayoutGroupSortIndex": 0, - "Locked": false, - "LuaScript": "", - "LuaScriptState": "", - "MeasureMovement": false, - "Name": "Notecard", - "Nickname": "Arkham SCE 3.2.0 - 8/26/2023 - Page 1", - "Snap": true, - "States": { - "2": { - "AltLookAngle": { - "x": 0, - "y": 0, - "z": 0 - }, - "Autoraise": true, - "ColorDiffuse": { - "b": 1, - "g": 1, - "r": 1 - }, - "Description": "- Resource tokens spawned automatically now have different states for commonly used special types like Ammo, Charges, etc.\n- New campaign importer/exporter by Entrox Licher allows saving of campaign state as a saveable object!\n- Added Subject 5U-21 and Parallel \"Ashcan\" Pete!\n- Added new hotkeys for taking a clue and moving cards to the victory display.", - "DragSelectable": true, - "GMNotes": "", - "GUID": "22e0fe", - "Grid": true, - "GridProjection": false, - "Hands": false, - "HideWhenFaceDown": false, - "IgnoreFoW": false, - "LayoutGroupSortIndex": 0, - "Locked": false, - "LuaScript": "", - "LuaScriptState": "", - "MeasureMovement": false, - "Name": "Notecard", - "Nickname": "Arkham SCE 3.2.0 - 8/26/2023 - Page 2", - "Snap": true, - "Sticky": true, - "Tooltip": true, - "Transform": { - "posX": 9.088579, - "posY": 1.551499, - "posZ": -31.51038, - "rotX": 3.48307424e-7, - "rotY": 89.90733, - "rotZ": 6.263613e-8, - "scaleX": 3, - "scaleY": 1, - "scaleZ": 3 - }, - "Value": 0, - "XmlUI": "" - }, - "3": { - "AltLookAngle": { - "x": 0, - "y": 0, - "z": 0 - }, - "Autoraise": true, - "ColorDiffuse": { - "b": 1, - "g": 1, - "r": 1 - }, - "Description": "- Updated the Chaos Bag Manager and Token Arranger, and promoted them to be placed on the table by default.\n- Updated functionality of upkeep auto-rotate to allow for \"double-exhausted\" cards.\n- Sealing cards now survive save/load.\n- Other miscellaneous bugfixes.\n", - "DragSelectable": true, - "GMNotes": "", - "GUID": "752c91", - "Grid": true, - "GridProjection": false, - "Hands": false, - "HideWhenFaceDown": false, - "IgnoreFoW": false, - "LayoutGroupSortIndex": 0, - "Locked": false, - "LuaScript": "", - "LuaScriptState": "", - "MeasureMovement": false, - "Name": "Notecard", - "Nickname": "Arkham SCE 3.2.0 - 8/26/2023 - Page 3", - "Snap": true, - "Sticky": true, - "Tooltip": true, - "Transform": { - "posX": 9.088582, - "posY": 1.551499, - "posZ": -31.51038, - "rotX": 4.213519e-7, - "rotY": 89.9073257, - "rotZ": 2.25048439e-7, - "scaleX": 3, - "scaleY": 1, - "scaleZ": 3 - }, - "Value": 0, - "XmlUI": "" - }, - "4": { - "AltLookAngle": { - "x": 0, - "y": 0, - "z": 0 - }, - "Autoraise": true, - "ColorDiffuse": { - "b": 1, - "g": 1, - "r": 1 - }, - "Description": "- In the coming weeks, we'll add another update adding new community content to the remote repository. If you have content you would like us to add, please repost it in the #player-contributions channel with the hashtag #3.2.xContent\n- Thank you to everyone for continuing to play and develop for the mod!", - "DragSelectable": true, - "GMNotes": "", - "GUID": "0e1fb2", - "Grid": true, - "GridProjection": false, - "Hands": false, - "HideWhenFaceDown": false, - "IgnoreFoW": false, - "LayoutGroupSortIndex": 0, - "Locked": false, - "LuaScript": "", - "LuaScriptState": "", - "MeasureMovement": false, - "Name": "Notecard", - "Nickname": "Arkham SCE 3.2.0 - 8/26/2023 - Page 4", - "Snap": true, - "Sticky": true, - "Tooltip": true, - "Transform": { - "posX": 9.088561, - "posY": 1.55150378, - "posZ": -31.5103912, - "rotX": 0.0000185548761, - "rotY": 89.90725, - "rotZ": 0.0000271951, - "scaleX": 3, - "scaleY": 1, - "scaleZ": 3 - }, - "Value": 0, - "XmlUI": "" - } - }, - "Sticky": true, - "Tooltip": true, - "Transform": { - "posX": -27, - "posY": 1.551, - "posZ": -56.165, - "rotX": 0, - "rotY": 90, - "rotZ": 0, - "scaleX": 3, - "scaleY": 1, - "scaleZ": 3 - }, - "Value": 0, - "XmlUI": "" -} diff --git a/objects/ArkhamSCE330-1092023-Page1.964222.json b/objects/ArkhamSCE330-1092023-Page1.964222.json new file mode 100644 index 00000000..d18c2996 --- /dev/null +++ b/objects/ArkhamSCE330-1092023-Page1.964222.json @@ -0,0 +1,227 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "Description": "Thanks for downloading Arkham SCE 3.3.0!\n\n- Added 2023-08-30 taboo list. Note that the prior 2022-08-26 taboo list is no longer supported.\n- Added some of the previewed player cards from Feast of Hemlock Vale.\n- Removed broken content from and cleaned up the community player card/investigator box.", + "DragSelectable": true, + "GMNotes": "", + "GUID": "964222", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Notecard", + "Nickname": "Arkham SCE 3.3.0 - 10/9/2023 - Page 1", + "Snap": true, + "States": { + "2": { + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "Description": "- Added the following community contributions:\n Buffy the Vampire Slayer by AtomicZ!\n City of Secrets by Exhaled Innards!\n Circus Ex Mortis Investigator Expansion by The\n Beard!\n Heart of Darkness by Vinn Quest!\n The Red Coterie Investigators by\n Mattastrophic!\n (continued)", + "DragSelectable": true, + "GMNotes": "", + "GUID": "d7faf7", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Notecard", + "Nickname": "Arkham SCE 3.3.0 - 10/9/2023 - Page 2", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": -26.88849, + "posY": 1.551499, + "posZ": -60.2882576, + "rotX": -1.53265116e-8, + "rotY": 90.0020447, + "rotZ": 3.44967188e-9, + "scaleX": 3, + "scaleY": 1, + "scaleZ": 3 + }, + "Value": 0, + "XmlUI": "" + }, + "3": { + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "Description": " The Sands of Memphis by Myriad!\n Souls of Darkness by JackOfHearts!\n- The options panel has a new option to spawn clickable counters only on \"0 uses\" cards. Try the \"Chef's Selection\" option for the best of both worlds!\n- Increased readability of master Clue Counter's text.", + "DragSelectable": true, + "GMNotes": "", + "GUID": "50d85e", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Notecard", + "Nickname": "Arkham SCE 3.3.0 - 10/9/2023 - Page 3", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": -26.88849, + "posY": 1.551499, + "posZ": -60.2882576, + "rotX": -5.66725378e-9, + "rotY": 90.0020447, + "rotZ": 2.44306424e-8, + "scaleX": 3, + "scaleY": 1, + "scaleZ": 3 + }, + "Value": 0, + "XmlUI": "" + }, + "4": { + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "Description": "- General refactoring of code involving encounter card drawing, metadata, and the deck importer.\n- Added context menu option to Well-Connected to auto-calculate its skill bonus.\n- Fixed clues not spawning properly at very high clue counts.\n- Underworld Market helper no longer breaks when saving and loading.", + "DragSelectable": true, + "GMNotes": "", + "GUID": "e4e509", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Notecard", + "Nickname": "Arkham SCE 3.3.0 - 10/9/2023 - Page 4", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": -26.88849, + "posY": 1.551499, + "posZ": -60.2882576, + "rotX": -1.79495743e-8, + "rotY": 90.0020447, + "rotZ": 2.58623025e-8, + "scaleX": 3, + "scaleY": 1, + "scaleZ": 3 + }, + "Value": 0, + "XmlUI": "" + }, + "5": { + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "Description": "- Fixed Token Arranger to be much less likely to \"explode\".\n- Resource spawning via hotkey on a card now auto-detects the right type of resource to spawn.\n- Various bits of community content have been updated to their most recent Workshop versions.\n\n- Thank you everyone for continuing to report bugs and create content for the mod!", + "DragSelectable": true, + "GMNotes": "", + "GUID": "c0ef49", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Notecard", + "Nickname": "Arkham SCE 3.3.0 - 10/9/2023 - Page 5", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": -25.7359982, + "posY": 1.70084918, + "posZ": -59.9714432, + "rotX": 0.00280155288, + "rotY": 90, + "rotZ": -3.001548e-8, + "scaleX": 3, + "scaleY": 1, + "scaleZ": 3 + }, + "Value": 0, + "XmlUI": "" + } + }, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": -25.736, + "posY": 1.551, + "posZ": -59.971, + "rotX": 0, + "rotY": 90, + "rotZ": 0, + "scaleX": 3, + "scaleY": 1, + "scaleZ": 3 + }, + "Value": 0, + "XmlUI": "" +} From 7bb6b23a31c4d86b2e9996c28aa289092ea5af9a Mon Sep 17 00:00:00 2001 From: Finn Date: Sun, 8 Oct 2023 19:50:13 -0500 Subject: [PATCH 14/15] Changed featured content for 3.3.0 -Replaced Circus Ex Mortis and Half-Life campaigns with Souls of Darkness --- config.json | 5 +- objects/CircusExMortisCampaign.93b8cb.json | 86 ------------------- ...46db2.json => SoulsofDarkness.a94e6b.json} | 19 ++-- 3 files changed, 11 insertions(+), 99 deletions(-) delete mode 100644 objects/CircusExMortisCampaign.93b8cb.json rename objects/{Half-Life.b46db2.json => SoulsofDarkness.a94e6b.json} (83%) diff --git a/config.json b/config.json index f697884f..29a1905c 100644 --- a/config.json +++ b/config.json @@ -201,9 +201,8 @@ "CampaignImporterExporter.334ee3", "TokenArranger.022907", "ChaosBagManager.023240", - "Half-Life.b46db2", - "CircusExMortisCampaign.93b8cb", - "ArkhamSCE320-8262023-Page1.964222" + "ArkhamSCE320-8262023-Page1.964222", + "SoulsofDarkness.a94e6b" ], "PlayArea": 1, "PlayerCounts": [ diff --git a/objects/CircusExMortisCampaign.93b8cb.json b/objects/CircusExMortisCampaign.93b8cb.json deleted file mode 100644 index 770542bd..00000000 --- a/objects/CircusExMortisCampaign.93b8cb.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "AltLookAngle": { - "x": 0, - "y": 0, - "z": 0 - }, - "AttachedDecals": [ - { - "CustomDecal": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Name": "dunwich_back", - "Size": 7.4 - }, - "Transform": { - "posX": -0.0021877822, - "posY": -0.08963572, - "posZ": -0.00288731651, - "rotX": 270, - "rotY": 359.869568, - "rotZ": 0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 - } - } - ], - "Autoraise": true, - "ColorDiffuse": { - "a": 0.27843, - "b": 1, - "g": 1, - "r": 1 - }, - "CustomMesh": { - "CastShadows": true, - "ColliderURL": "", - "Convex": true, - "CustomShader": { - "FresnelStrength": 0, - "SpecularColor": { - "b": 1, - "g": 1, - "r": 1 - }, - "SpecularIntensity": 0, - "SpecularSharpness": 2 - }, - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2001337710389944099/BC4BADD35E9E87F6BC0BAC93F0FCEB168848AAAC/", - "MaterialIndex": 3, - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "NormalURL": "", - "TypeIndex": 0 - }, - "Description": "", - "DragSelectable": true, - "GMNotes": "fancreations/campaign_circus_ex_mortis.json", - "GUID": "93b8cb", - "Grid": true, - "GridProjection": false, - "Hands": false, - "HideWhenFaceDown": false, - "IgnoreFoW": false, - "LayoutGroupSortIndex": 0, - "Locked": false, - "LuaScript": "require(\"core/DownloadBox\")", - "LuaScriptState": "", - "MeasureMovement": false, - "Name": "Custom_Model", - "Nickname": "Circus Ex Mortis Campaign", - "Snap": true, - "Sticky": true, - "Tooltip": true, - "Transform": { - "posX": -25.87, - "posY": 1.481, - "posZ": -80.485, - "rotX": 0, - "rotY": 270, - "rotZ": 0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Value": 0, - "XmlUI": "" -} diff --git a/objects/Half-Life.b46db2.json b/objects/SoulsofDarkness.a94e6b.json similarity index 83% rename from objects/Half-Life.b46db2.json rename to objects/SoulsofDarkness.a94e6b.json index 3216bba3..23b4e922 100644 --- a/objects/Half-Life.b46db2.json +++ b/objects/SoulsofDarkness.a94e6b.json @@ -26,10 +26,9 @@ ], "Autoraise": true, "ColorDiffuse": { - "a": 0.27843, - "b": 1, - "g": 1, - "r": 1 + "b": 0.40592, + "g": 0.40592, + "r": 0.40592 }, "CustomMesh": { "CastShadows": true, @@ -45,7 +44,7 @@ "SpecularIntensity": 0, "SpecularSharpness": 2 }, - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2005838229417815473/BC879D878262BA9FBD9040AE4F952468C3C4C2CC/", + "DiffuseURL": "https://i.ibb.co/SrtzMNN/souls-of-darkness.png", "MaterialIndex": 3, "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", "NormalURL": "", @@ -53,8 +52,8 @@ }, "Description": "", "DragSelectable": true, - "GMNotes": "fancreations/campaign_half-life.json", - "GUID": "b46db2", + "GMNotes": "fancreations/campaign_souls_of_darkness.json", + "GUID": "a94e6b", "Grid": true, "GridProjection": false, "Hands": false, @@ -66,14 +65,14 @@ "LuaScriptState": "", "MeasureMovement": false, "Name": "Custom_Model", - "Nickname": "Half-Life", + "Nickname": "Souls of Darkness", "Snap": true, "Sticky": true, "Tooltip": true, "Transform": { - "posX": -25.87, + "posX": -26.956, "posY": 1.481, - "posZ": -87.507, + "posZ": -84.507, "rotX": 0, "rotY": 270, "rotZ": 0, From 61485959dfdaf47c3f3a2fadd6d661c071916c49 Mon Sep 17 00:00:00 2001 From: Finn Date: Sun, 8 Oct 2023 19:55:42 -0500 Subject: [PATCH 15/15] Fixed Notecard placement and rotation --- .../ArkhamSCE330-1092023-Page1.964222.json | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/objects/ArkhamSCE330-1092023-Page1.964222.json b/objects/ArkhamSCE330-1092023-Page1.964222.json index d18c2996..c7f95c1f 100644 --- a/objects/ArkhamSCE330-1092023-Page1.964222.json +++ b/objects/ArkhamSCE330-1092023-Page1.964222.json @@ -63,9 +63,9 @@ "posX": -26.88849, "posY": 1.551499, "posZ": -60.2882576, - "rotX": -1.53265116e-8, - "rotY": 90.0020447, - "rotZ": 3.44967188e-9, + "rotX": 0, + "rotY": 90, + "rotZ": 0, "scaleX": 3, "scaleY": 1, "scaleZ": 3 @@ -108,9 +108,9 @@ "posX": -26.88849, "posY": 1.551499, "posZ": -60.2882576, - "rotX": -5.66725378e-9, - "rotY": 90.0020447, - "rotZ": 2.44306424e-8, + "rotX": 0, + "rotY": 90, + "rotZ": 0, "scaleX": 3, "scaleY": 1, "scaleZ": 3 @@ -153,9 +153,9 @@ "posX": -26.88849, "posY": 1.551499, "posZ": -60.2882576, - "rotX": -1.79495743e-8, - "rotY": 90.0020447, - "rotZ": 2.58623025e-8, + "rotX": 0, + "rotY": 90, + "rotZ": 0, "scaleX": 3, "scaleY": 1, "scaleZ": 3 @@ -198,9 +198,9 @@ "posX": -25.7359982, "posY": 1.70084918, "posZ": -59.9714432, - "rotX": 0.00280155288, + "rotX": 0, "rotY": 90, - "rotZ": -3.001548e-8, + "rotZ": 0, "scaleX": 3, "scaleY": 1, "scaleZ": 3 @@ -212,9 +212,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": -25.736, + "posX": -26.978, "posY": 1.551, - "posZ": -59.971, + "posZ": -56.165, "rotX": 0, "rotY": 90, "rotZ": 0,