From a41b3a4e94e90c37ca13c3f321eafbf9d7ee0ebe Mon Sep 17 00:00:00 2001 From: iakona <1824122+iakona@users.noreply.github.com> Date: Tue, 17 Dec 2024 13:16:18 -0600 Subject: [PATCH] 4.4.2 Release --- objects/0cad5e/object.json | 2 +- objects/107788/object.json | 2 +- objects/114ff8/object.json | 4 +- objects/125e82/object.json | 2 +- objects/15990d/object.json | 4 +- objects/165f82/contained/a576cc/object.json | 1 + objects/196f99/object.json | 2 +- objects/19d429/object.json | 4 +- objects/2230b3/contained/10d56e/object.json | 22 +- objects/2230b3/contained/14b03e/object.json | 22 +- objects/2230b3/contained/14b03e/script.lua | 2 +- objects/2230b3/contained/888522/object.json | 22 +- .../911ecb/contained/095bf7/object.json | 14 +- .../911ecb/contained/0d6bec/object.json | 14 +- .../911ecb/contained/134673/object.json | 14 +- .../911ecb/contained/4f038b/object.json | 14 +- .../911ecb/contained/60aeae/object.json | 14 +- .../911ecb/contained/64f1d4/object.json | 14 +- .../911ecb/contained/6a3aed/object.json | 14 +- .../911ecb/contained/6f13a2/object.json | 14 +- .../911ecb/contained/725f7d/object.json | 14 +- .../911ecb/contained/a530fe/object.json | 14 +- .../911ecb/contained/a578fc/object.json | 14 +- .../911ecb/contained/c964ff/object.json | 206 ++-- .../911ecb/contained/c964ff/script-state.json | 4 +- .../911ecb/contained/feaeec/object.json | 14 +- .../911ecb/contained/ff3267/object.json | 14 +- objects/2230b3/contained/911ecb/object.json | 8 +- .../9e601f/contained/09c960/object.json | 14 +- objects/2230b3/contained/9e601f/object.json | 10 +- objects/2230b3/contained/b1b16b/object.json | 12 +- objects/2230b3/contained/b6dd02/object.json | 97 +- .../2230b3/contained/b6dd02/script-state.json | 38 +- objects/2230b3/contained/c2a8e9/object.json | 22 +- objects/2230b3/contained/c517e4/object.json | 12 +- objects/2230b3/object.json | 10 +- objects/22928c/object.json | 8 +- objects/239d5b/object.json | 4 +- objects/2ca216/object.json | 2 +- objects/308a01/object.json | 2 +- objects/33c4af/object.json | 2 +- objects/362697/contained/a15508/object.json | 1 + objects/4a1ff8/object.json | 2 +- objects/4e6aee/object.json | 6 +- objects/574835/object.json | 8 +- objects/57d9fe/object.json | 4 +- objects/5c0d50/object.json | 2 +- objects/6b0f27/object.json | 4 +- objects/7019af/object.json | 2 +- objects/746488/object.json | 8 +- objects/76f418/object.json | 2 +- objects/782f57/object.json | 4 +- objects/794c81/object.json | 2 +- objects/7f1e11/object.json | 6 +- objects/82c5e4/object.json | 4 +- objects/837ddf/object.json | 4 +- objects/87ee9c/object.json | 8 +- objects/8aa186/object.json | 2 +- objects/8f11a0/object.json | 2 +- objects/901e41/object.json | 2 +- objects/91570e/object.json | 2 +- objects/969897/object.json | 4 +- objects/9802f8/object.json | 8 +- .../Editors/contained/AnyElements/object.json | 6 +- .../contained/BlightCardEditor/object.json | 4 +- objects/Editors/contained/Energy/object.json | 4 +- .../Editors/contained/PowerEditor/object.json | 4 +- .../Editors/contained/Reminder/object.json | 4 +- .../contained/SmallElements/object.json | 6 +- .../contained/SpiritEditor/object.json | 4 +- .../Editors/contained/SpiritEditor/script.lua | 2 +- .../Editors/contained/Threshold/object.json | 4 +- objects/SetupChecker/script.lua | 8 + objects/SourceSpirit/object.json | 6 +- objects/a50751/object.json | 8 +- objects/aee27f/object.json | 4 +- objects/af4e63/object.json | 2 +- objects/af50b8/object.json | 6 +- objects/ba3767/object.json | 4 +- objects/bd3f44/object.json | 4 +- objects/c323b4/object.json | 4 +- objects/c44b9c/object.json | 6 +- objects/c4ac1d/object.json | 2 +- objects/c4e8cd/script.lua | 977 ++++++++++++++++++ objects/c5e07e/contained/a95c14/object.json | 1 + objects/c99d4d/object.json | 2 +- objects/cfeeba/object.json | 2 +- objects/d3dd7e/object.json | 2 +- objects/d3f7f8/object.json | 2 +- objects/d3fb56/object.json | 8 +- objects/d7d593/object.json | 2 +- objects/d8b6c7/object.json | 8 +- objects/d936f3/object.json | 8 +- objects/dce473/object.json | 2 +- objects/e267b0/object.json | 2 +- objects/e35f78/object.json | 8 +- objects/e8f3e3/script.lua | 2 +- objects/e924fe/script.lua | 9 + objects/f33e62/contained/1c6929/object.json | 1 + objects/f39fd1/object.json | 2 +- objects/f433f0/object.json | 4 +- objects/f4ab64/object.json | 4 +- objects/f72dca/contained/055e39/object.json | 22 +- objects/f72dca/contained/1b5ae2/object.json | 6 +- objects/f72dca/contained/478dd9/object.json | 78 +- objects/f72dca/contained/5af1a9/object.json | 22 +- objects/f72dca/contained/886ac0/object.json | 20 +- objects/f72dca/contained/92a942/object.json | 20 +- objects/f947be/object.json | 6 +- objects/f96a71/object.json | 4 +- objects/f96e34/object.json | 2 +- objects/f9aad3/object.json | 2 +- objects/fdff9d/object.json | 4 +- objects/fe680a/object.json | 2 +- savegame.json | 4 +- script.lua | 260 +++-- 116 files changed, 1729 insertions(+), 670 deletions(-) diff --git a/objects/0cad5e/object.json b/objects/0cad5e/object.json index d159eadeb..d8989a688 100644 --- a/objects/0cad5e/object.json +++ b/objects/0cad5e/object.json @@ -4,7 +4,7 @@ "posX": -50.099998474121094, "posY": 0.9329411387443542, "posZ": 56.29999923706055, - "rotX": -3.524901970308747e-08, + "rotX": -6.97477346989217e-08, "rotY": 180.0, "rotZ": 180.0, "scaleX": 1.5299999713897705, diff --git a/objects/107788/object.json b/objects/107788/object.json index d60498897..69e8b1ec5 100644 --- a/objects/107788/object.json +++ b/objects/107788/object.json @@ -21,7 +21,7 @@ }, "ColorDiffuse": { "r": 0.6534000039100647, - "g": 0.33289822936058044, + "g": 0.33289963006973267, "b": 0.9320999979972839 }, "Tags": [ diff --git a/objects/114ff8/object.json b/objects/114ff8/object.json index 536213cd4..6251fda7a 100644 --- a/objects/114ff8/object.json +++ b/objects/114ff8/object.json @@ -20,8 +20,8 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.08239922672510147, - "g": 0.058799341320991516, + "r": 0.08239982277154922, + "g": 0.0587998628616333, "b": 0.03920000046491623 }, "Tags": [ diff --git a/objects/125e82/object.json b/objects/125e82/object.json index 839bb81b4..61c3b5638 100644 --- a/objects/125e82/object.json +++ b/objects/125e82/object.json @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.8392000198364258, "g": 0.5724999904632568, - "b": 0.396098256111145 + "b": 0.39609962701797485 }, "Tags": [ "Seat", diff --git a/objects/15990d/object.json b/objects/15990d/object.json index c66a57578..bd7e1bf60 100644 --- a/objects/15990d/object.json +++ b/objects/15990d/object.json @@ -3,9 +3,9 @@ "Transform": { "posX": -38.300010681152344, "posY": 1.0, - "posZ": 48.510013580322266, + "posZ": 48.51004409790039, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/165f82/contained/a576cc/object.json b/objects/165f82/contained/a576cc/object.json index 1e8c99da2..dc7f55490 100644 --- a/objects/165f82/contained/a576cc/object.json +++ b/objects/165f82/contained/a576cc/object.json @@ -25,6 +25,7 @@ "b": 0.1518000066280365 }, "Tags": [ + "Black Text", "Spirit" ], "LayoutGroupSortIndex": 0, diff --git a/objects/196f99/object.json b/objects/196f99/object.json index 53596c2a1..a024c3f9b 100644 --- a/objects/196f99/object.json +++ b/objects/196f99/object.json @@ -5,7 +5,7 @@ "posY": 0.9599999785423279, "posZ": -2.170001745223999, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/19d429/object.json b/objects/19d429/object.json index a8377e382..88224c212 100644 --- a/objects/19d429/object.json +++ b/objects/19d429/object.json @@ -20,8 +20,8 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.12829914689064026, - "g": 0.0465993732213974, + "r": 0.1282998025417328, + "g": 0.0465998649597168, "b": 0.010700000450015068 }, "Tags": [ diff --git a/objects/2230b3/contained/10d56e/object.json b/objects/2230b3/contained/10d56e/object.json index dd1af1c47..105bb7ac2 100644 --- a/objects/2230b3/contained/10d56e/object.json +++ b/objects/2230b3/contained/10d56e/object.json @@ -1,12 +1,12 @@ { "Name": "CardCustom", "Transform": { - "posX": 124.67642974853516, - "posY": 2.326202630996704, - "posZ": 52.28864669799805, - "rotX": -7.940445811982499e-07, - "rotY": 179.995849609375, - "rotZ": 2.5305163831035316e-07, + "posX": 124.67639923095703, + "posY": 2.326200008392334, + "posZ": 52.28860092163086, + "rotX": 0.0, + "rotY": 179.9958038330078, + "rotZ": 0.0, "scaleX": 1.5299999713897705, "scaleY": 1.0, "scaleZ": 1.5299999713897705 @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.7132352590560913, - "g": 0.7132352590560913, - "b": 0.7132352590560913 + "r": 0.7131999731063843, + "g": 0.7131999731063843, + "b": 0.7131999731063843 }, "Tags": [ "Fast", @@ -46,8 +46,8 @@ "SidewaysCard": false, "CustomDeck": { "2617": { - "FaceURL": "https://steamusercontent-a.akamaihd.net/ugc/2544054074185208651/CF10AEFCA4930B36956EFDB3277CFB90D2EB1C1B/", - "BackURL": "https://steamusercontent-a.akamaihd.net/ugc/2544054074185196269/F0248AC73F6DBAFFC83ACE5675C2B6399FD6FB44/", + "FaceURL": "https://steamusercontent-a.akamaihd.net/ugc/14170847386118731/16E71D6D11522BB4C9B13D206BAEF4911FC42536/", + "BackURL": "https://steamusercontent-a.akamaihd.net/ugc/14170847386118717/E293A387637D7541BE79FE7CABA80AF7A9853323/", "NumWidth": 1, "NumHeight": 1, "BackIsHidden": true, diff --git a/objects/2230b3/contained/14b03e/object.json b/objects/2230b3/contained/14b03e/object.json index a43dbbe1b..c661a2628 100644 --- a/objects/2230b3/contained/14b03e/object.json +++ b/objects/2230b3/contained/14b03e/object.json @@ -1,12 +1,12 @@ { "Name": "CardCustom", "Transform": { - "posX": 122.11565399169922, - "posY": 2.326202630996704, - "posZ": 49.15934753417969, - "rotX": -8.028490583456005e-07, - "rotY": 179.99586486816406, - "rotZ": 1.5037241496429488e-07, + "posX": 122.1156997680664, + "posY": 2.326200008392334, + "posZ": 49.1593017578125, + "rotX": 0.0, + "rotY": 179.9958953857422, + "rotZ": 0.0, "scaleX": 1.5299999713897705, "scaleY": 1.0, "scaleZ": 1.5299999713897705 @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.7132352590560913, - "g": 0.7132352590560913, - "b": 0.7132352590560913 + "r": 0.7131999731063843, + "g": 0.7131999731063843, + "b": 0.7131999731063843 }, "Tags": [ "Fast", @@ -46,8 +46,8 @@ "SidewaysCard": false, "CustomDeck": { "2614": { - "FaceURL": "https://steamusercontent-a.akamaihd.net/ugc/2544054074185210388/342320A6C9B803817E1A3C17293BDAAB9710689C/", - "BackURL": "https://steamusercontent-a.akamaihd.net/ugc/2544054074185196269/F0248AC73F6DBAFFC83ACE5675C2B6399FD6FB44/", + "FaceURL": "https://steamusercontent-a.akamaihd.net/ugc/14170847386118787/55C5129440C6BA70DF1DBE6A413EDFEC25D28E91/", + "BackURL": "https://steamusercontent-a.akamaihd.net/ugc/14170847386118717/E293A387637D7541BE79FE7CABA80AF7A9853323/", "NumWidth": 1, "NumHeight": 1, "BackIsHidden": true, diff --git a/objects/2230b3/contained/14b03e/script.lua b/objects/2230b3/contained/14b03e/script.lua index 8e4acae32..65030463b 100644 --- a/objects/2230b3/contained/14b03e/script.lua +++ b/objects/2230b3/contained/14b03e/script.lua @@ -1,2 +1,2 @@ -elements="01110100" +elements="01110000" energy=1 diff --git a/objects/2230b3/contained/888522/object.json b/objects/2230b3/contained/888522/object.json index 72242e653..03056b004 100644 --- a/objects/2230b3/contained/888522/object.json +++ b/objects/2230b3/contained/888522/object.json @@ -1,12 +1,12 @@ { "Name": "CardCustom", "Transform": { - "posX": 125.72404479980469, - "posY": 2.326202630996704, - "posZ": 52.211509704589844, - "rotX": -7.869163596296858e-07, - "rotY": 179.995849609375, - "rotZ": 1.7886573289160879e-07, + "posX": 125.7239990234375, + "posY": 2.326200008392334, + "posZ": 52.21149826049805, + "rotX": 0.0, + "rotY": 179.9958038330078, + "rotZ": 0.0, "scaleX": 1.5299999713897705, "scaleY": 1.0, "scaleZ": 1.5299999713897705 @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.7132352590560913, - "g": 0.7132352590560913, - "b": 0.7132352590560913 + "r": 0.7131999731063843, + "g": 0.7131999731063843, + "b": 0.7131999731063843 }, "Tags": [ "Slow", @@ -46,8 +46,8 @@ "SidewaysCard": false, "CustomDeck": { "2616": { - "FaceURL": "https://steamusercontent-a.akamaihd.net/ugc/2544054074185211074/4B8624A0860E5DD5FC0F1CBBA800A0ADF9F28D19/", - "BackURL": "https://steamusercontent-a.akamaihd.net/ugc/2544054074185196269/F0248AC73F6DBAFFC83ACE5675C2B6399FD6FB44/", + "FaceURL": "https://steamusercontent-a.akamaihd.net/ugc/14170847386118803/756321CBDAB10B059C0232563FC78FE95082EFBF/", + "BackURL": "https://steamusercontent-a.akamaihd.net/ugc/14170847386118717/E293A387637D7541BE79FE7CABA80AF7A9853323/", "NumWidth": 1, "NumHeight": 1, "BackIsHidden": true, diff --git a/objects/2230b3/contained/911ecb/contained/095bf7/object.json b/objects/2230b3/contained/911ecb/contained/095bf7/object.json index 918b32db8..aa9966f21 100644 --- a/objects/2230b3/contained/911ecb/contained/095bf7/object.json +++ b/objects/2230b3/contained/911ecb/contained/095bf7/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Model", "Transform": { - "posX": 88.55988311767578, - "posY": 2.4627063274383545, - "posZ": 65.58153533935547, - "rotX": -3.419380689706486e-08, - "rotY": 180.00057983398438, - "rotZ": -7.042550720370855e-08, + "posX": 88.55989837646484, + "posY": 2.4626998901367188, + "posZ": 65.58149719238281, + "rotX": 0.0, + "rotY": 180.00059509277344, + "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 @@ -20,7 +20,7 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.5685999393463135, + "r": 0.5685999989509583, "g": 0.5608000159263611, "b": 0.5608000159263611 }, diff --git a/objects/2230b3/contained/911ecb/contained/0d6bec/object.json b/objects/2230b3/contained/911ecb/contained/0d6bec/object.json index ce0b7f73f..f171b169d 100644 --- a/objects/2230b3/contained/911ecb/contained/0d6bec/object.json +++ b/objects/2230b3/contained/911ecb/contained/0d6bec/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Model", "Transform": { - "posX": 89.01764678955078, - "posY": 2.4627063274383545, - "posZ": 62.11591339111328, - "rotX": 2.413733000139473e-07, - "rotY": 180.0006561279297, - "rotZ": -8.929372086186049e-08, + "posX": 89.0176010131836, + "posY": 2.4626998901367188, + "posZ": 62.11589813232422, + "rotX": 0.0, + "rotY": 180.00070190429688, + "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 @@ -20,7 +20,7 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.5685999393463135, + "r": 0.5685999989509583, "g": 0.5608000159263611, "b": 0.5608000159263611 }, diff --git a/objects/2230b3/contained/911ecb/contained/134673/object.json b/objects/2230b3/contained/911ecb/contained/134673/object.json index 66defbf6f..763549141 100644 --- a/objects/2230b3/contained/911ecb/contained/134673/object.json +++ b/objects/2230b3/contained/911ecb/contained/134673/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Model", "Transform": { - "posX": 95.59501647949219, - "posY": 2.5035932064056396, - "posZ": 71.46585845947266, - "rotX": -7.858774608848762e-08, - "rotY": 180.00057983398438, - "rotZ": -2.278608377537239e-07, + "posX": 95.59500122070312, + "posY": 2.5035998821258545, + "posZ": 71.46589660644531, + "rotX": 0.0, + "rotY": 180.00059509277344, + "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 @@ -20,7 +20,7 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.5685999393463135, + "r": 0.5685999989509583, "g": 0.5608000159263611, "b": 0.5608000159263611 }, diff --git a/objects/2230b3/contained/911ecb/contained/4f038b/object.json b/objects/2230b3/contained/911ecb/contained/4f038b/object.json index 882bb98e8..b88b57c0e 100644 --- a/objects/2230b3/contained/911ecb/contained/4f038b/object.json +++ b/objects/2230b3/contained/911ecb/contained/4f038b/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Model", "Transform": { - "posX": 94.45288848876953, - "posY": 2.4627180099487305, - "posZ": 66.06715393066406, - "rotX": -1.8692757919325231e-07, - "rotY": 180.00057983398438, - "rotZ": 2.8461820988923137e-07, + "posX": 94.4529037475586, + "posY": 2.4626998901367188, + "posZ": 66.06719970703125, + "rotX": 0.0, + "rotY": 180.00059509277344, + "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 @@ -20,7 +20,7 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.5685999393463135, + "r": 0.5685999989509583, "g": 0.5608000159263611, "b": 0.5608000159263611 }, diff --git a/objects/2230b3/contained/911ecb/contained/60aeae/object.json b/objects/2230b3/contained/911ecb/contained/60aeae/object.json index c64112620..43069590d 100644 --- a/objects/2230b3/contained/911ecb/contained/60aeae/object.json +++ b/objects/2230b3/contained/911ecb/contained/60aeae/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Model", "Transform": { - "posX": 93.8424301147461, - "posY": 2.511462450027466, - "posZ": 73.87688446044922, - "rotX": -1.1061603188977642e-08, - "rotY": 180.00057983398438, - "rotZ": -2.0180637250177824e-07, + "posX": 93.84239959716797, + "posY": 2.5114998817443848, + "posZ": 73.87689971923828, + "rotX": 0.0, + "rotY": 180.00059509277344, + "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 @@ -20,7 +20,7 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.5685999393463135, + "r": 0.5685999989509583, "g": 0.5608000159263611, "b": 0.5608000159263611 }, diff --git a/objects/2230b3/contained/911ecb/contained/64f1d4/object.json b/objects/2230b3/contained/911ecb/contained/64f1d4/object.json index ff015e789..1fd7560a7 100644 --- a/objects/2230b3/contained/911ecb/contained/64f1d4/object.json +++ b/objects/2230b3/contained/911ecb/contained/64f1d4/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Model", "Transform": { - "posX": 91.47306823730469, - "posY": 2.462853193283081, - "posZ": 65.76549530029297, - "rotX": 1.3714704039102799e-07, - "rotY": 180.00057983398438, - "rotZ": 1.8562771231245279e-07, + "posX": 91.47309875488281, + "posY": 2.462899923324585, + "posZ": 65.7655029296875, + "rotX": 0.0, + "rotY": 180.00059509277344, + "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 @@ -20,7 +20,7 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.5685999393463135, + "r": 0.5685999989509583, "g": 0.5608000159263611, "b": 0.5608000159263611 }, diff --git a/objects/2230b3/contained/911ecb/contained/6a3aed/object.json b/objects/2230b3/contained/911ecb/contained/6a3aed/object.json index d4c2028a8..b640435b0 100644 --- a/objects/2230b3/contained/911ecb/contained/6a3aed/object.json +++ b/objects/2230b3/contained/911ecb/contained/6a3aed/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Model", "Transform": { - "posX": 99.52674865722656, - "posY": 2.462597608566284, - "posZ": 74.31561279296875, - "rotX": -9.067679940244489e-09, - "rotY": 180.00057983398438, - "rotZ": -2.705044437334436e-07, + "posX": 99.52680206298828, + "posY": 2.462599992752075, + "posZ": 74.31559753417969, + "rotX": 0.0, + "rotY": 180.00059509277344, + "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 @@ -20,7 +20,7 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.5685999393463135, + "r": 0.5685999989509583, "g": 0.5608000159263611, "b": 0.5608000159263611 }, diff --git a/objects/2230b3/contained/911ecb/contained/6f13a2/object.json b/objects/2230b3/contained/911ecb/contained/6f13a2/object.json index b7e1d719f..5cd65ebb0 100644 --- a/objects/2230b3/contained/911ecb/contained/6f13a2/object.json +++ b/objects/2230b3/contained/911ecb/contained/6f13a2/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Model", "Transform": { - "posX": 95.9737548828125, - "posY": 2.462597370147705, - "posZ": 65.78121948242188, - "rotX": -4.227601948514348e-07, - "rotY": 180.00057983398438, - "rotZ": -1.0153912910482177e-07, + "posX": 95.97380065917969, + "posY": 2.462599992752075, + "posZ": 65.78119659423828, + "rotX": 0.0, + "rotY": 180.00059509277344, + "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 @@ -20,7 +20,7 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.5685999393463135, + "r": 0.5685999989509583, "g": 0.5608000159263611, "b": 0.5608000159263611 }, diff --git a/objects/2230b3/contained/911ecb/contained/725f7d/object.json b/objects/2230b3/contained/911ecb/contained/725f7d/object.json index d4b353aef..2880b12ac 100644 --- a/objects/2230b3/contained/911ecb/contained/725f7d/object.json +++ b/objects/2230b3/contained/911ecb/contained/725f7d/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Model", "Transform": { - "posX": 96.28804779052734, - "posY": 2.5035197734832764, - "posZ": 71.0123291015625, - "rotX": 4.231310413160827e-08, - "rotY": 180.00054931640625, - "rotZ": 2.7380806955079606e-08, + "posX": 96.28800201416016, + "posY": 2.503499984741211, + "posZ": 71.01229858398438, + "rotX": 0.0, + "rotY": 180.00050354003906, + "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 @@ -20,7 +20,7 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.5685999393463135, + "r": 0.5685999989509583, "g": 0.5608000159263611, "b": 0.5608000159263611 }, diff --git a/objects/2230b3/contained/911ecb/contained/a530fe/object.json b/objects/2230b3/contained/911ecb/contained/a530fe/object.json index 66219797c..c7b69b343 100644 --- a/objects/2230b3/contained/911ecb/contained/a530fe/object.json +++ b/objects/2230b3/contained/911ecb/contained/a530fe/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Model", "Transform": { - "posX": 91.08744812011719, - "posY": 2.5117228031158447, - "posZ": 70.04590606689453, - "rotX": -2.982700948450656e-07, - "rotY": 180.00062561035156, - "rotZ": 1.0538646222357784e-07, + "posX": 91.08740234375, + "posY": 2.511699914932251, + "posZ": 70.0458984375, + "rotX": 0.0, + "rotY": 180.00059509277344, + "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 @@ -20,7 +20,7 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.5685999393463135, + "r": 0.5685999989509583, "g": 0.5608000159263611, "b": 0.5608000159263611 }, diff --git a/objects/2230b3/contained/911ecb/contained/a578fc/object.json b/objects/2230b3/contained/911ecb/contained/a578fc/object.json index 8fd5d5afa..94e85e392 100644 --- a/objects/2230b3/contained/911ecb/contained/a578fc/object.json +++ b/objects/2230b3/contained/911ecb/contained/a578fc/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Model", "Transform": { - "posX": 92.44126892089844, - "posY": 2.5117671489715576, - "posZ": 69.97753143310547, - "rotX": -4.997340056434041e-06, - "rotY": 180.00057983398438, - "rotZ": 1.2100376807211433e-05, + "posX": 92.44129943847656, + "posY": 2.5118000507354736, + "posZ": 69.97750091552734, + "rotX": 0.0, + "rotY": 180.00059509277344, + "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 @@ -20,7 +20,7 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.5685999393463135, + "r": 0.5685999989509583, "g": 0.5608000159263611, "b": 0.5608000159263611 }, diff --git a/objects/2230b3/contained/911ecb/contained/c964ff/object.json b/objects/2230b3/contained/911ecb/contained/c964ff/object.json index 815b235a2..a9367a87e 100644 --- a/objects/2230b3/contained/911ecb/contained/c964ff/object.json +++ b/objects/2230b3/contained/911ecb/contained/c964ff/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Tile", "Transform": { - "posX": 30.54529571533203, - "posY": 2.0618784427642822, - "posZ": 2.668778657913208, - "rotX": -3.4046503394336014e-09, - "rotY": 180.0007781982422, - "rotZ": 1.5660871710565516e-08, + "posX": 30.545299530029297, + "posY": 2.0618999004364014, + "posZ": 2.668800115585327, + "rotX": 0.0, + "rotY": 180.00079345703125, + "rotZ": 0.0, "scaleX": 5.460000038146973, "scaleY": 1.0, "scaleZ": 5.460000038146973 @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.20029881596565247, - "g": 0.16029882431030273, - "b": 0.15179884433746338 + "r": 0.20029999315738678, + "g": 0.16030000150203705, + "b": 0.1518000066280365 }, "LayoutGroupSortIndex": 0, "Value": 0, @@ -39,7 +39,7 @@ "HideWhenFaceDown": false, "Hands": false, "CustomImage": { - "ImageURL": "https://steamusercontent-a.akamaihd.net/ugc/2544054074185196615/C494369CAB062E1FCCEBEB4E2DB806DE040ABB25/", + "ImageURL": "https://steamusercontent-a.akamaihd.net/ugc/14170847386118617/3117E59FCA1544F42B545A1D1C3C68DCC9A10E8C/", "ImageSecondaryURL": "", "ImageScalar": 1.0, "WidthScale": 0.0, @@ -53,219 +53,219 @@ "AttachedSnapPoints": [ { "Position": { - "x": 0.23085947334766388, - "y": 0.011030443012714386, - "z": 0.7402681708335876 + "x": 0.23090000450611115, + "y": 0.010999999940395355, + "z": 0.7402999997138977 } }, { "Position": { - "x": 1.3325238227844238, - "y": 0.011027691885828972, - "z": 0.744789719581604 + "x": 1.3324999809265137, + "y": 0.010999999940395355, + "z": 0.7447999715805054 } }, { "Position": { - "x": 1.1092740297317505, - "y": 0.1111343502998352, - "z": 0.7422683238983154 + "x": 1.1093000173568726, + "y": 0.11110000312328339, + "z": 0.7422999739646912 } }, { "Position": { - "x": 0.450808584690094, - "y": 0.011030067689716816, - "z": 0.739623486995697 + "x": 0.45080000162124634, + "y": 0.010999999940395355, + "z": 0.7396000027656555 } }, { "Position": { - "x": -0.21284709870815277, - "y": 0.011031212285161018, - "z": 0.7414580583572388 + "x": -0.21279999613761902, + "y": 0.010999999940395355, + "z": 0.7415000200271606 } }, { "Position": { - "x": 0.6635525822639465, - "y": 0.1111343502998352, - "z": 0.7419562339782715 + "x": 0.6636000275611877, + "y": 0.11110000312328339, + "z": 0.7419999837875366 } }, { "Position": { - "x": 0.8850200772285461, - "y": 0.1111343502998352, - "z": 0.743972659111023 + "x": 0.8849999904632568, + "y": 0.11110000312328339, + "z": 0.7440000176429749 } }, { "Position": { - "x": 0.010013986378908157, - "y": 0.011030714027583599, - "z": 0.7418482899665833 + "x": 0.009999999776482582, + "y": 0.010999999940395355, + "z": 0.7418000102043152 } }, { "Position": { - "x": -0.4396308958530426, - "y": 0.2000003457069397, - "z": 0.741936981678009 + "x": -0.43959999084472656, + "y": 0.20000000298023224, + "z": 0.7419000267982483 } }, { "Position": { - "x": -1.0989097356796265, - "y": 0.20000018179416656, - "z": 0.7387956380844116 + "x": -1.0988999605178833, + "y": 0.20000000298023224, + "z": 0.7387999892234802 } }, { "Position": { - "x": -1.3191274404525757, - "y": 0.20000015199184418, - "z": 0.7392637729644775 + "x": -1.319100022315979, + "y": 0.20000000298023224, + "z": 0.739300012588501 } }, { "Position": { - "x": -0.8820601105690002, - "y": 0.2000003457069397, - "z": 0.738437831401825 + "x": -0.882099986076355, + "y": 0.20000000298023224, + "z": 0.7383999824523926 } }, { "Position": { - "x": -0.6585007309913635, - "y": 0.2000003457069397, - "z": 0.7430999279022217 + "x": -0.6585000157356262, + "y": 0.20000000298023224, + "z": 0.7430999875068665 } }, { "Position": { - "x": -0.5321371555328369, - "y": 0.20000019669532776, - "z": 0.30585965514183044 + "x": -0.5321000218391418, + "y": 0.20000000298023224, + "z": 0.3059000074863434 } }, { "Position": { - "x": -0.5341354608535767, - "y": 0.20000024139881134, - "z": -0.17309428751468658 + "x": -0.5340999960899353, + "y": 0.20000000298023224, + "z": -0.17309999465942383 } }, { "Position": { - "x": -0.536636233329773, - "y": 0.20000016689300537, - "z": -0.6607335209846497 + "x": -0.5365999937057495, + "y": 0.20000000298023224, + "z": -0.6607000231742859 } }, { "Position": { - "x": 0.3183598518371582, - "y": 0.20000015199184418, - "z": -0.6613553166389465 + "x": 0.31839999556541443, + "y": 0.20000000298023224, + "z": -0.6614000201225281 } }, { "Position": { - "x": 0.3160405457019806, - "y": 0.20000046491622925, - "z": -0.2847224473953247 + "x": 0.3160000145435333, + "y": 0.20000000298023224, + "z": -0.2847000062465668 } }, { "Position": { - "x": 0.31152552366256714, - "y": 0.20000046491622925, - "z": 0.14176639914512634 + "x": 0.31150001287460327, + "y": 0.20000000298023224, + "z": 0.14180000126361847 } }, { "Position": { - "x": 0.7960717082023621, - "y": 0.20000046491622925, - "z": -0.2847123444080353 + "x": 0.7961000204086304, + "y": 0.20000000298023224, + "z": -0.2847000062465668 } }, { "Position": { - "x": 0.8095960021018982, - "y": 0.20000015199184418, - "z": -0.6649401783943176 + "x": 0.8095999956130981, + "y": 0.20000000298023224, + "z": -0.664900004863739 } }, { "Position": { - "x": 1.3186484575271606, - "y": 0.20000046491622925, - "z": 0.26219385862350464 + "x": 1.318600058555603, + "y": 0.20000000298023224, + "z": 0.2621999979019165 } }, { "Position": { - "x": 1.321616530418396, - "y": 0.20000046491622925, - "z": 0.48917677998542786 + "x": 1.3215999603271484, + "y": 0.20000000298023224, + "z": 0.48919999599456787 } }, { "Position": { - "x": 0.8574760556221008, - "y": 0.20000046491622925, - "z": 0.4930758774280548 + "x": 0.8575000166893005, + "y": 0.20000000298023224, + "z": 0.49309998750686646 } }, { "Position": { - "x": 0.8583515286445618, - "y": 0.20000046491622925, - "z": 0.2542606592178345 + "x": 0.8583999872207642, + "y": 0.20000000298023224, + "z": 0.25429999828338623 } }, { "Position": { - "x": 1.1007553339004517, - "y": 0.20000046491622925, - "z": 0.2570804953575134 + "x": 1.1008000373840332, + "y": 0.20000000298023224, + "z": 0.257099986076355 } }, { "Position": { - "x": 1.1032129526138306, - "y": 0.20000046491622925, - "z": 0.4922092854976654 + "x": 1.1031999588012695, + "y": 0.20000000298023224, + "z": 0.49219998717308044 } }, { "Position": { - "x": 0.6396711468696594, - "y": 0.20000046491622925, - "z": 0.49426186084747314 + "x": 0.6396999955177307, + "y": 0.20000000298023224, + "z": 0.4943000078201294 } }, { "Position": { - "x": 0.6383238434791565, - "y": 0.20000046491622925, - "z": 0.2516987919807434 + "x": 0.6383000016212463, + "y": 0.20000000298023224, + "z": 0.2517000138759613 } }, { "Position": { - "x": 0.3915204107761383, - "y": 0.20000046491622925, - "z": 0.4988273084163666 + "x": 0.39149999618530273, + "y": 0.20000000298023224, + "z": 0.49880000948905945 } }, { "Position": { - "x": 0.17566761374473572, - "y": 0.20000046491622925, - "z": 0.492588609457016 + "x": 0.17569999396800995, + "y": 0.20000000298023224, + "z": 0.4925999939441681 } } ] diff --git a/objects/2230b3/contained/911ecb/contained/c964ff/script-state.json b/objects/2230b3/contained/911ecb/contained/c964ff/script-state.json index 67c3ad103..6fdcc6e29 100644 --- a/objects/2230b3/contained/911ecb/contained/c964ff/script-state.json +++ b/objects/2230b3/contained/911ecb/contained/c964ff/script-state.json @@ -9,7 +9,7 @@ } }, { - "elements": "00200200", + "elements": "00300200", "position": { "x": -0.62, "y": 0, @@ -57,7 +57,7 @@ } }, { - "elements": "20000102", + "elements": "30000102", "position": { "x": -0.62, "y": 0, diff --git a/objects/2230b3/contained/911ecb/contained/feaeec/object.json b/objects/2230b3/contained/911ecb/contained/feaeec/object.json index d7e6826f1..5ea28e398 100644 --- a/objects/2230b3/contained/911ecb/contained/feaeec/object.json +++ b/objects/2230b3/contained/911ecb/contained/feaeec/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Model", "Transform": { - "posX": 91.56366729736328, - "posY": 2.4626219272613525, - "posZ": 63.26337432861328, - "rotX": 5.22434362437707e-09, - "rotY": 180.00057983398438, - "rotZ": -1.3727311909406126e-07, + "posX": 91.5636978149414, + "posY": 2.462599992752075, + "posZ": 63.26340103149414, + "rotX": 0.0, + "rotY": 180.00059509277344, + "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 @@ -20,7 +20,7 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.5685999393463135, + "r": 0.5685999989509583, "g": 0.5608000159263611, "b": 0.5608000159263611 }, diff --git a/objects/2230b3/contained/911ecb/contained/ff3267/object.json b/objects/2230b3/contained/911ecb/contained/ff3267/object.json index 4c5874b96..d0206bc27 100644 --- a/objects/2230b3/contained/911ecb/contained/ff3267/object.json +++ b/objects/2230b3/contained/911ecb/contained/ff3267/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Model", "Transform": { - "posX": 96.5009765625, - "posY": 2.5034611225128174, - "posZ": 68.08250427246094, - "rotX": -1.782789809112728e-07, - "rotY": 180.00054931640625, - "rotZ": 1.0003628148069765e-07, + "posX": 96.5009994506836, + "posY": 2.503499984741211, + "posZ": 68.0824966430664, + "rotX": 0.0, + "rotY": 180.00050354003906, + "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 @@ -20,7 +20,7 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.5685999393463135, + "r": 0.5685999989509583, "g": 0.5608000159263611, "b": 0.5608000159263611 }, diff --git a/objects/2230b3/contained/911ecb/object.json b/objects/2230b3/contained/911ecb/object.json index 4d10bc4b8..60f2f7ebe 100644 --- a/objects/2230b3/contained/911ecb/object.json +++ b/objects/2230b3/contained/911ecb/object.json @@ -2,11 +2,11 @@ "Name": "Custom_Model_Bag", "Transform": { "posX": 131.8896026611328, - "posY": 2.322597026824951, + "posY": 2.3225998878479004, "posZ": 145.6708984375, - "rotX": -1.9517415239533875e-06, - "rotY": 180.00587463378906, - "rotZ": 6.718774329783628e-06, + "rotX": 0.0, + "rotY": 180.0059051513672, + "rotZ": 0.0, "scaleX": 10.0, "scaleY": 10.0, "scaleZ": 10.0 diff --git a/objects/2230b3/contained/9e601f/contained/09c960/object.json b/objects/2230b3/contained/9e601f/contained/09c960/object.json index e49b645f3..10c20fd08 100644 --- a/objects/2230b3/contained/9e601f/contained/09c960/object.json +++ b/objects/2230b3/contained/9e601f/contained/09c960/object.json @@ -2,14 +2,14 @@ "Name": "Custom_Token", "Transform": { "posX": 50.8849983215332, - "posY": 3.0355188846588135, - "posZ": 14.233903884887695, + "posY": 3.0355000495910645, + "posZ": 14.23390007019043, "rotX": 0.0, "rotY": 0.0, "rotZ": 0.0, - "scaleX": 0.3330551087856293, + "scaleX": 0.33309999108314514, "scaleY": 1.0, - "scaleZ": 0.3330551087856293 + "scaleZ": 0.33309999108314514 }, "Nickname": "Metal Token", "Description": "", @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.3667002022266388, - "g": 0.42206376791000366, - "b": 0.5383273959159851 + "r": 0.3666999936103821, + "g": 0.4221000075340271, + "b": 0.5382999777793884 }, "LayoutGroupSortIndex": 0, "Value": 0, diff --git a/objects/2230b3/contained/9e601f/object.json b/objects/2230b3/contained/9e601f/object.json index af20967a6..3240f0133 100644 --- a/objects/2230b3/contained/9e601f/object.json +++ b/objects/2230b3/contained/9e601f/object.json @@ -1,9 +1,9 @@ { "Name": "Infinite_Bag", "Transform": { - "posX": 83.19346618652344, - "posY": 2.2955970764160156, - "posZ": 27.281627655029297, + "posX": 83.19349670410156, + "posY": 2.295599937438965, + "posZ": 27.281600952148438, "rotX": 0.0, "rotY": 180.0, "rotZ": 0.0, @@ -20,8 +20,8 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.30588850378990173, - "g": 0.3725551664829254, + "r": 0.3059000074863434, + "g": 0.3725999891757965, "b": 1.0 }, "LayoutGroupSortIndex": 0, diff --git a/objects/2230b3/contained/b1b16b/object.json b/objects/2230b3/contained/b1b16b/object.json index a5d336ade..282a12844 100644 --- a/objects/2230b3/contained/b1b16b/object.json +++ b/objects/2230b3/contained/b1b16b/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Tile", "Transform": { - "posX": 7.020000457763672, - "posY": 1.0705845355987549, - "posZ": 1.4200000762939453, - "rotX": 2.8260743420105428e-05, - "rotY": 180.00009155273438, - "rotZ": -0.0002057362871710211, + "posX": 7.019999980926514, + "posY": 1.0706000328063965, + "posZ": 1.4199999570846558, + "rotX": 0.0, + "rotY": 180.00010681152344, + "rotZ": -0.00019999999494757503, "scaleX": 1.0, "scaleY": 1.0, "scaleZ": 1.0 diff --git a/objects/2230b3/contained/b6dd02/object.json b/objects/2230b3/contained/b6dd02/object.json index 77b21c956..d85959465 100644 --- a/objects/2230b3/contained/b6dd02/object.json +++ b/objects/2230b3/contained/b6dd02/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Tile", "Transform": { - "posX": 92.10901641845703, - "posY": 1.219491720199585, - "posZ": 119.17356872558594, - "rotX": -9.736358919099075e-08, + "posX": 92.10900115966797, + "posY": 1.219499945640564, + "posZ": 119.17359924316406, + "rotX": 0.0, "rotY": 180.0, - "rotZ": 179.9963836669922, + "rotZ": 179.99639892578125, "scaleX": 5.460000038146973, "scaleY": 1.0, "scaleZ": 5.460000038146973 @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.2002989947795868, - "g": 0.16029900312423706, - "b": 0.1517990231513977 + "r": 0.20029999315738678, + "g": 0.16030000150203705, + "b": 0.1518000066280365 }, "Tags": [ "Spirit" @@ -42,8 +42,8 @@ "HideWhenFaceDown": false, "Hands": false, "CustomImage": { - "ImageURL": "https://steamusercontent-a.akamaihd.net/ugc/2544054074185200583/488F51B244D1DE57D2A1D33E7D4819A2EFDA9F00/", - "ImageSecondaryURL": "https://steamusercontent-a.akamaihd.net/ugc/2544054074185234840/5DA19A4C14F240B271ECC644796CD368BC55C770/", + "ImageURL": "https://steamusercontent-a.akamaihd.net/ugc/14170847386118415/78E57C380DC814C8891F19FA6A199A909BE48955/", + "ImageSecondaryURL": "https://steamusercontent-a.akamaihd.net/ugc/14170847386118467/70713ADA2213FE5CB010CCE26DC0E703B2019AF0/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { @@ -56,93 +56,86 @@ "AttachedSnapPoints": [ { "Position": { - "x": -0.02434275671839714, - "y": 0.20000040531158447, - "z": -0.3928314447402954 - } - }, - { - "Position": { - "x": -0.022417303174734116, - "y": 0.20000040531158447, - "z": 0.005158142652362585 + "x": -0.024299999698996544, + "y": 0.20000000298023224, + "z": -0.38600000739097595 } }, { "Position": { - "x": -0.9028000235557556, + "x": -0.24819999933242798, "y": 0.20000000298023224, - "z": 0.002899999963119626 + "z": -0.38600000739097595 } }, { "Position": { - "x": -0.9143297076225281, - "y": 0.20000040531158447, - "z": -0.3975674510002136 + "x": -0.46790000796318054, + "y": 0.20000000298023224, + "z": -0.38600000739097595 } }, { "Position": { - "x": -1.1240975856781006, - "y": 0.20000040531158447, - "z": -0.38753679394721985 + "x": -0.6859999895095825, + "y": 0.20000000298023224, + "z": -0.38600000739097595 } }, { "Position": { - "x": -0.6922929883003235, - "y": 0.20000040531158447, - "z": -0.11323126405477524 + "x": -0.9143000245094299, + "y": 0.20000000298023224, + "z": -0.38600000739097595 } }, { "Position": { - "x": -0.46789419651031494, - "y": 0.20000040531158447, - "z": -0.38845035433769226 + "x": -1.1240999698638916, + "y": 0.20000000298023224, + "z": -0.38600000739097595 } }, { "Position": { - "x": -0.24823097884655, - "y": 0.20000040531158447, - "z": -0.2733302414417267 + "x": -0.02239999920129776, + "y": 0.20000000298023224, + "z": 0.004999999888241291 } }, { "Position": { - "x": -0.24601863324642181, - "y": 0.20000040531158447, - "z": 0.005628902930766344 + "x": -0.2460000067949295, + "y": 0.20000000298023224, + "z": 0.004999999888241291 } }, { "Position": { - "x": -0.24993208050727844, - "y": 0.20000040531158447, - "z": -0.48976820707321167 + "x": -0.4745999872684479, + "y": 0.20000000298023224, + "z": 0.004999999888241291 } }, { "Position": { - "x": -0.6934760212898254, - "y": 0.20000040531158447, - "z": 0.11391293257474899 + "x": -0.692300021648407, + "y": 0.20000000298023224, + "z": -0.11320000141859055 } }, { "Position": { - "x": -0.6859509348869324, - "y": 0.20000040531158447, - "z": -0.3911229074001312 + "x": -0.6934999823570251, + "y": 0.20000000298023224, + "z": 0.11389999836683273 } }, { "Position": { - "x": -0.4746097922325134, - "y": 0.20000028610229492, - "z": 0.007931873202323914 + "x": -0.9028000235557556, + "y": 0.20000000298023224, + "z": 0.004999999888241291 } } ] diff --git a/objects/2230b3/contained/b6dd02/script-state.json b/objects/2230b3/contained/b6dd02/script-state.json index e0c2cedbc..d838c5e6a 100644 --- a/objects/2230b3/contained/b6dd02/script-state.json +++ b/objects/2230b3/contained/b6dd02/script-state.json @@ -17,7 +17,7 @@ } }, { - "elements": "10000202", + "elements": "00120200", "position": { "x": 0.35, "y": 0, @@ -25,17 +25,17 @@ } }, { - "elements": "00120200", + "elements": "20200300", "position": { "x": 0.35, "y": 0, - "z": 0.8 + "z": 0.83 } }, { - "elements": "20200300", + "elements": "20000202", "position": { - "x": -0.47, + "x": -0.52, "y": 0, "z": 0.63 } @@ -43,9 +43,9 @@ { "elements": "00000400", "position": { - "x": -0.47, + "x": -0.52, "y": 0, - "z": 0.75 + "z": 0.81 } } ], @@ -83,33 +83,25 @@ } }, { - "elements": "00100000", - "position": { - "x": -0.25, - "y": 0, - "z": -0.49 - } - }, - { - "elements": "00000001", + "elements": "00010000", "position": { - "x": -0.25, + "x": -0.02, "y": 0, - "z": -0.27 + "z": 0.01 } }, { - "elements": "00010000", + "elements": "00100001", "position": { - "x": -0.02, + "x": -0.91, "y": 0, - "z": 0.01 + "z": -0.39 } } ], "trackEnergy": [ { - "count": 4, + "count": 5, "position": { "x": -1.12, "y": 0, @@ -117,7 +109,7 @@ } }, { - "count": 2, + "count": 3, "position": { "x": -0.47, "y": 0, diff --git a/objects/2230b3/contained/c2a8e9/object.json b/objects/2230b3/contained/c2a8e9/object.json index c11429c52..83a966af4 100644 --- a/objects/2230b3/contained/c2a8e9/object.json +++ b/objects/2230b3/contained/c2a8e9/object.json @@ -1,12 +1,12 @@ { "Name": "CardCustom", "Transform": { - "posX": 127.13245391845703, - "posY": 2.326202630996704, - "posZ": 52.50825119018555, - "rotX": -7.716690788583946e-07, - "rotY": 179.99586486816406, - "rotZ": 1.8138726431971008e-07, + "posX": 127.13249969482422, + "posY": 2.326200008392334, + "posZ": 52.508201599121094, + "rotX": 0.0, + "rotY": 179.9958953857422, + "rotZ": 0.0, "scaleX": 1.5299999713897705, "scaleY": 1.0, "scaleZ": 1.5299999713897705 @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.7132352590560913, - "g": 0.7132352590560913, - "b": 0.7132352590560913 + "r": 0.7131999731063843, + "g": 0.7131999731063843, + "b": 0.7131999731063843 }, "Tags": [ "Slow", @@ -46,8 +46,8 @@ "SidewaysCard": false, "CustomDeck": { "2615": { - "FaceURL": "https://steamusercontent-a.akamaihd.net/ugc/2544054074185209720/923AE863F4518925AEB5FD96E577B70B9888FF03/", - "BackURL": "https://steamusercontent-a.akamaihd.net/ugc/2544054074185196269/F0248AC73F6DBAFFC83ACE5675C2B6399FD6FB44/", + "FaceURL": "https://steamusercontent-a.akamaihd.net/ugc/14170847386118766/70DDBA2A9624AD9374EB2FD554535ED8015F2722/", + "BackURL": "https://steamusercontent-a.akamaihd.net/ugc/14170847386118717/E293A387637D7541BE79FE7CABA80AF7A9853323/", "NumWidth": 1, "NumHeight": 1, "BackIsHidden": true, diff --git a/objects/2230b3/contained/c517e4/object.json b/objects/2230b3/contained/c517e4/object.json index 85c6debcc..de545b0f4 100644 --- a/objects/2230b3/contained/c517e4/object.json +++ b/objects/2230b3/contained/c517e4/object.json @@ -1,12 +1,12 @@ { "Name": "Custom_Model", "Transform": { - "posX": 57.46936798095703, - "posY": 2.1251349449157715, - "posZ": 20.465293884277344, - "rotX": -2.3710137497801043e-07, + "posX": 57.469398498535156, + "posY": 2.1250998973846436, + "posZ": 20.465299606323242, + "rotX": 0.0, "rotY": 180.0, - "rotZ": 2.1201290678618534e-07, + "rotZ": 0.0, "scaleX": 1.399999976158142, "scaleY": 2.799999952316284, "scaleZ": 1.399999976158142 @@ -20,7 +20,7 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.5685999393463135, + "r": 0.5685999989509583, "g": 0.5608000159263611, "b": 0.5608000159263611 }, diff --git a/objects/2230b3/object.json b/objects/2230b3/object.json index f497c4efc..3f47c3402 100644 --- a/objects/2230b3/object.json +++ b/objects/2230b3/object.json @@ -4,9 +4,9 @@ "posX": 89.0, "posY": 0.800000011920929, "posZ": 117.6500015258789, - "rotX": 1.1002356359313126e-08, - "rotY": 180.00001525878906, - "rotZ": 1.3421975531002772e-08, + "rotX": -0.0, + "rotY": 180.0, + "rotZ": 0.0, "scaleX": 5.460000038146973, "scaleY": 1.0, "scaleZ": 5.460000038146973 @@ -114,8 +114,8 @@ "HideWhenFaceDown": false, "Hands": false, "CustomImage": { - "ImageURL": "https://steamusercontent-a.akamaihd.net/ugc/2544054074185200583/488F51B244D1DE57D2A1D33E7D4819A2EFDA9F00/", - "ImageSecondaryURL": "https://steamusercontent-a.akamaihd.net/ugc/2544054074185234840/5DA19A4C14F240B271ECC644796CD368BC55C770/", + "ImageURL": "https://steamusercontent-a.akamaihd.net/ugc/14170847386118415/78E57C380DC814C8891F19FA6A199A909BE48955/", + "ImageSecondaryURL": "https://steamusercontent-a.akamaihd.net/ugc/14170847386118467/70713ADA2213FE5CB010CCE26DC0E703B2019AF0/", "ImageScalar": 1.0, "WidthScale": 0.0, "CustomTile": { diff --git a/objects/22928c/object.json b/objects/22928c/object.json index ae271eb96..941d86d32 100644 --- a/objects/22928c/object.json +++ b/objects/22928c/object.json @@ -1,11 +1,11 @@ { "Name": "3DText", "Transform": { - "posX": -36.660037994384766, - "posY": 0.96000075340271, - "posZ": 47.72005081176758, + "posX": -36.660030364990234, + "posY": 0.9599999785423279, + "posZ": 47.72004699707031, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/239d5b/object.json b/objects/239d5b/object.json index 5eea0aa38..ecb029c25 100644 --- a/objects/239d5b/object.json +++ b/objects/239d5b/object.json @@ -20,8 +20,8 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.08239922672510147, - "g": 0.058799341320991516, + "r": 0.08239982277154922, + "g": 0.0587998628616333, "b": 0.03920000046491623 }, "Tags": [ diff --git a/objects/2ca216/object.json b/objects/2ca216/object.json index 22c16fdaa..7a0ae3e55 100644 --- a/objects/2ca216/object.json +++ b/objects/2ca216/object.json @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.8392000198364258, "g": 0.5724999904632568, - "b": 0.396098256111145 + "b": 0.39609962701797485 }, "Tags": [ "Uninteractable" diff --git a/objects/308a01/object.json b/objects/308a01/object.json index efed69d1b..3d8811995 100644 --- a/objects/308a01/object.json +++ b/objects/308a01/object.json @@ -4,7 +4,7 @@ "posX": -50.099998474121094, "posY": 0.9299384951591492, "posZ": 46.220001220703125, - "rotX": 8.606730261817575e-08, + "rotX": -6.4476322059192626e-09, "rotY": 180.0, "rotZ": 180.0, "scaleX": 1.5299999713897705, diff --git a/objects/33c4af/object.json b/objects/33c4af/object.json index 1d9d7d52f..b78ee7405 100644 --- a/objects/33c4af/object.json +++ b/objects/33c4af/object.json @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.8392000198364258, "g": 0.5724999904632568, - "b": 0.396098256111145 + "b": 0.39609962701797485 }, "Tags": [ "Seat", diff --git a/objects/362697/contained/a15508/object.json b/objects/362697/contained/a15508/object.json index f5e24bca7..d2f011310 100644 --- a/objects/362697/contained/a15508/object.json +++ b/objects/362697/contained/a15508/object.json @@ -25,6 +25,7 @@ "b": 0.15289999544620514 }, "Tags": [ + "Black Text", "Spirit" ], "LayoutGroupSortIndex": 0, diff --git a/objects/4a1ff8/object.json b/objects/4a1ff8/object.json index b4e4da652..74010a71a 100644 --- a/objects/4a1ff8/object.json +++ b/objects/4a1ff8/object.json @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.0, "g": 0.7215999960899353, - "b": 0.22259819507598877 + "b": 0.222599595785141 }, "Tags": [ "Uninteractable" diff --git a/objects/4e6aee/object.json b/objects/4e6aee/object.json index d33acd739..5b4078fcc 100644 --- a/objects/4e6aee/object.json +++ b/objects/4e6aee/object.json @@ -1,11 +1,11 @@ { "Name": "3DText", "Transform": { - "posX": -36.6600341796875, - "posY": 0.96000075340271, + "posX": -36.660030364990234, + "posY": 0.9599999785423279, "posZ": 45.22002029418945, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/574835/object.json b/objects/574835/object.json index dc8d681c7..f0e6f0c47 100644 --- a/objects/574835/object.json +++ b/objects/574835/object.json @@ -1,11 +1,11 @@ { "Name": "3DText", "Transform": { - "posX": -38.23000717163086, - "posY": 0.96000075340271, - "posZ": 42.72001266479492, + "posX": -38.22999954223633, + "posY": 0.9599999785423279, + "posZ": 42.720001220703125, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/57d9fe/object.json b/objects/57d9fe/object.json index 544f8cdf7..f0b9774c7 100644 --- a/objects/57d9fe/object.json +++ b/objects/57d9fe/object.json @@ -5,7 +5,7 @@ "posY": 0.9599999785423279, "posZ": -0.25, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, @@ -39,7 +39,7 @@ "HideWhenFaceDown": false, "Hands": false, "Text": { - "Text": "version 4.4.1", + "Text": "version 4.4.2", "colorstate": { "r": 0.7333999872207642, "g": 0.7333999872207642, diff --git a/objects/5c0d50/object.json b/objects/5c0d50/object.json index 2a1fbc199..18ef17a50 100644 --- a/objects/5c0d50/object.json +++ b/objects/5c0d50/object.json @@ -4,7 +4,7 @@ "posX": -46.18000030517578, "posY": 0.9973350167274475, "posZ": 46.220001220703125, - "rotX": 6.667511343039223e-08, + "rotX": 3.016675265143931e-08, "rotY": 180.0, "rotZ": 180.0, "scaleX": 1.5299999713897705, diff --git a/objects/6b0f27/object.json b/objects/6b0f27/object.json index a1d46d392..28064fde9 100644 --- a/objects/6b0f27/object.json +++ b/objects/6b0f27/object.json @@ -20,8 +20,8 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.08239922672510147, - "g": 0.058799341320991516, + "r": 0.08239982277154922, + "g": 0.0587998628616333, "b": 0.03920000046491623 }, "Tags": [ diff --git a/objects/7019af/object.json b/objects/7019af/object.json index 9fe0d1fd2..638151fc9 100644 --- a/objects/7019af/object.json +++ b/objects/7019af/object.json @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.89410001039505, "g": 0.8510000109672546, - "b": 0.3528982400894165 + "b": 0.35289961099624634 }, "LayoutGroupSortIndex": 0, "Value": 0, diff --git a/objects/746488/object.json b/objects/746488/object.json index d726569e2..1e5408c51 100644 --- a/objects/746488/object.json +++ b/objects/746488/object.json @@ -1,11 +1,11 @@ { "Name": "3DText", "Transform": { - "posX": -36.6600341796875, - "posY": 0.96000075340271, - "posZ": 40.22001647949219, + "posX": -36.660030364990234, + "posY": 0.9599999785423279, + "posZ": 40.22004699707031, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/76f418/object.json b/objects/76f418/object.json index 4d2c88ce2..2fed6c0d8 100644 --- a/objects/76f418/object.json +++ b/objects/76f418/object.json @@ -21,7 +21,7 @@ }, "ColorDiffuse": { "r": 1.0, - "g": 0.3754982352256775, + "g": 0.3754996061325073, "b": 0.0 }, "Tags": [ diff --git a/objects/782f57/object.json b/objects/782f57/object.json index 37182cb5d..34e08f623 100644 --- a/objects/782f57/object.json +++ b/objects/782f57/object.json @@ -20,8 +20,8 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.08239922672510147, - "g": 0.058799341320991516, + "r": 0.08239982277154922, + "g": 0.0587998628616333, "b": 0.03920000046491623 }, "Tags": [ diff --git a/objects/794c81/object.json b/objects/794c81/object.json index 8effe14d2..278089dfb 100644 --- a/objects/794c81/object.json +++ b/objects/794c81/object.json @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.8392000198364258, "g": 0.5724999904632568, - "b": 0.396098256111145 + "b": 0.39609962701797485 }, "Tags": [ "Seat", diff --git a/objects/7f1e11/object.json b/objects/7f1e11/object.json index 3dba7d7db..8f5e4ece0 100644 --- a/objects/7f1e11/object.json +++ b/objects/7f1e11/object.json @@ -1,11 +1,11 @@ { "Name": "3DText", "Transform": { - "posX": -38.23000717163086, - "posY": 0.96000075340271, + "posX": -38.22999954223633, + "posY": 0.9599999785423279, "posZ": 45.22002029418945, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/82c5e4/object.json b/objects/82c5e4/object.json index fb53bad19..3d1e63c50 100644 --- a/objects/82c5e4/object.json +++ b/objects/82c5e4/object.json @@ -20,8 +20,8 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.08239922672510147, - "g": 0.058799341320991516, + "r": 0.08239982277154922, + "g": 0.0587998628616333, "b": 0.03920000046491623 }, "Tags": [ diff --git a/objects/837ddf/object.json b/objects/837ddf/object.json index 19e10cc99..e945368cc 100644 --- a/objects/837ddf/object.json +++ b/objects/837ddf/object.json @@ -20,8 +20,8 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.08239922672510147, - "g": 0.058799341320991516, + "r": 0.08239982277154922, + "g": 0.0587998628616333, "b": 0.03920000046491623 }, "Tags": [ diff --git a/objects/87ee9c/object.json b/objects/87ee9c/object.json index 9ec242f26..eaf190206 100644 --- a/objects/87ee9c/object.json +++ b/objects/87ee9c/object.json @@ -1,11 +1,11 @@ { "Name": "3DText", "Transform": { - "posX": -36.6600341796875, - "posY": 0.96000075340271, - "posZ": 42.72001266479492, + "posX": -36.660030364990234, + "posY": 0.9599999785423279, + "posZ": 42.720001220703125, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/8aa186/object.json b/objects/8aa186/object.json index cee83ca4f..4d3fb39ff 100644 --- a/objects/8aa186/object.json +++ b/objects/8aa186/object.json @@ -4,7 +4,7 @@ "posX": -37.66999816894531, "posY": 0.8896148800849915, "posZ": 56.29999923706055, - "rotX": 2.788365982553387e-09, + "rotX": 3.916563429129383e-08, "rotY": 180.0, "rotZ": 180.0, "scaleX": 1.098099946975708, diff --git a/objects/8f11a0/object.json b/objects/8f11a0/object.json index a15a60d94..e8320344a 100644 --- a/objects/8f11a0/object.json +++ b/objects/8f11a0/object.json @@ -5,7 +5,7 @@ "posY": 0.9599999785423279, "posZ": -1.1699999570846558, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/901e41/object.json b/objects/901e41/object.json index 0f59a8069..8f3939171 100644 --- a/objects/901e41/object.json +++ b/objects/901e41/object.json @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.8391000032424927, "g": 0.5720000267028809, - "b": 0.39709824323654175 + "b": 0.39709964394569397 }, "Tags": [ "Uninteractable" diff --git a/objects/91570e/object.json b/objects/91570e/object.json index 9af4576df..92e771374 100644 --- a/objects/91570e/object.json +++ b/objects/91570e/object.json @@ -45,7 +45,7 @@ "SidewaysCard": false, "CustomDeck": { "2581": { - "FaceURL": "https://steamusercontent-a.akamaihd.net/ugc/2308724646355493961/89175C5B7252B37CE5FDD00097279B61C7004A79/", + "FaceURL": "https://steamusercontent-a.akamaihd.net/ugc/2486639889010733761/76113FB2FD6309FC8CDCDB10A0C6F0962A410FB5/", "BackURL": "https://steamusercontent-a.akamaihd.net/ugc/2308724646355493697/A6A4591237E651772FAF23F4C83FAE4A591F16CD/", "NumWidth": 1, "NumHeight": 1, diff --git a/objects/969897/object.json b/objects/969897/object.json index ab4fe1c53..97c856c25 100644 --- a/objects/969897/object.json +++ b/objects/969897/object.json @@ -4,9 +4,9 @@ "posX": -42.2599983215332, "posY": 0.8534048795700073, "posZ": 51.2599983215332, - "rotX": -4.2201467320701624e-10, + "rotX": -9.374382159421657e-09, "rotY": 180.0, - "rotZ": -3.653294611272173e-10, + "rotZ": 2.5042780293915712e-08, "scaleX": 1.531999945640564, "scaleY": 1.0, "scaleZ": 1.531999945640564 diff --git a/objects/9802f8/object.json b/objects/9802f8/object.json index bc6c15122..c92a00125 100644 --- a/objects/9802f8/object.json +++ b/objects/9802f8/object.json @@ -1,11 +1,11 @@ { "Name": "3DText", "Transform": { - "posX": -40.25000762939453, - "posY": 0.96000075340271, - "posZ": 40.22001647949219, + "posX": -40.25, + "posY": 0.9599999785423279, + "posZ": 40.22004699707031, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/Editors/contained/AnyElements/object.json b/objects/Editors/contained/AnyElements/object.json index 836e5a51f..a79e38cd8 100644 --- a/objects/Editors/contained/AnyElements/object.json +++ b/objects/Editors/contained/AnyElements/object.json @@ -4,9 +4,9 @@ "posX": 114.80999755859375, "posY": 0.949999988079071, "posZ": 54.38999938964844, - "rotX": 6.65227162244264e-06, + "rotX": 0.0, "rotY": 180.0, - "rotZ": 2.457376240272424e-06, + "rotZ": 0.0, "scaleX": 0.699999988079071, "scaleY": 0.699999988079071, "scaleZ": 0.699999988079071 @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.8252000212669373, "g": 0.6527000069618225, - "b": 0.3981997072696686 + "b": 0.39820000529289246 }, "LayoutGroupSortIndex": 0, "Value": 0, diff --git a/objects/Editors/contained/BlightCardEditor/object.json b/objects/Editors/contained/BlightCardEditor/object.json index 69998052e..8c36f90d4 100644 --- a/objects/Editors/contained/BlightCardEditor/object.json +++ b/objects/Editors/contained/BlightCardEditor/object.json @@ -4,9 +4,9 @@ "posX": 98.9800033569336, "posY": 0.8500000238418579, "posZ": 42.86000061035156, - "rotX": 2.5586322394133276e-08, + "rotX": 0.0, "rotY": 180.0, - "rotZ": -4.130181960326773e-11, + "rotZ": 0.0, "scaleX": 3.449399948120117, "scaleY": 0.10779999941587448, "scaleZ": 4.7428998947143555 diff --git a/objects/Editors/contained/Energy/object.json b/objects/Editors/contained/Energy/object.json index 89f059fd6..9efc9d2a8 100644 --- a/objects/Editors/contained/Energy/object.json +++ b/objects/Editors/contained/Energy/object.json @@ -4,9 +4,9 @@ "posX": 116.4800033569336, "posY": 0.949999988079071, "posZ": 54.38999938964844, - "rotX": 6.2639633142680395e-06, + "rotX": 0.0, "rotY": 180.0, - "rotZ": 2.58281306741992e-06, + "rotZ": 0.0, "scaleX": 0.6499999761581421, "scaleY": 0.6499999761581421, "scaleZ": 0.6499999761581421 diff --git a/objects/Editors/contained/PowerEditor/object.json b/objects/Editors/contained/PowerEditor/object.json index bf2c3de3d..6eb99d177 100644 --- a/objects/Editors/contained/PowerEditor/object.json +++ b/objects/Editors/contained/PowerEditor/object.json @@ -4,9 +4,9 @@ "posX": 109.33000183105469, "posY": 0.8500000238418579, "posZ": 42.86000061035156, - "rotX": -1.591566842762404e-07, + "rotX": 0.0, "rotY": 180.0, - "rotZ": 2.762914164122776e-08, + "rotZ": 0.0, "scaleX": 3.200000047683716, "scaleY": 0.10000000149011612, "scaleZ": 4.400000095367432 diff --git a/objects/Editors/contained/Reminder/object.json b/objects/Editors/contained/Reminder/object.json index 81df28774..99b8e3e60 100644 --- a/objects/Editors/contained/Reminder/object.json +++ b/objects/Editors/contained/Reminder/object.json @@ -4,9 +4,9 @@ "posX": 115.6449966430664, "posY": 0.949999988079071, "posZ": 59.34000015258789, - "rotX": 9.06637706066249e-06, + "rotX": 0.0, "rotY": 180.0, - "rotZ": 3.726860995811876e-06, + "rotZ": 0.0, "scaleX": 0.8999999761581421, "scaleY": 0.8999999761581421, "scaleZ": 0.8999999761581421 diff --git a/objects/Editors/contained/SmallElements/object.json b/objects/Editors/contained/SmallElements/object.json index afba16fb9..b4c475db4 100644 --- a/objects/Editors/contained/SmallElements/object.json +++ b/objects/Editors/contained/SmallElements/object.json @@ -4,9 +4,9 @@ "posX": 116.4800033569336, "posY": 0.949999988079071, "posZ": 49.439998626708984, - "rotX": 5.676494765793905e-06, + "rotX": 0.0, "rotY": 180.0, - "rotZ": 2.010393927776022e-06, + "rotZ": 0.0, "scaleX": 0.699999988079071, "scaleY": 0.699999988079071, "scaleZ": 0.699999988079071 @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.8252000212669373, "g": 0.6527000069618225, - "b": 0.3981997072696686 + "b": 0.39820000529289246 }, "LayoutGroupSortIndex": 0, "Value": 0, diff --git a/objects/Editors/contained/SpiritEditor/object.json b/objects/Editors/contained/SpiritEditor/object.json index b8ab75c3b..b522077a9 100644 --- a/objects/Editors/contained/SpiritEditor/object.json +++ b/objects/Editors/contained/SpiritEditor/object.json @@ -4,9 +4,9 @@ "posX": 105.22000122070312, "posY": 0.8500000238418579, "posZ": 52.59000015258789, - "rotX": 2.856346270618815e-10, + "rotX": 0.0, "rotY": 180.0, - "rotZ": -3.177366147966154e-09, + "rotZ": 0.0, "scaleX": 16.39080047607422, "scaleY": 0.10000000149011612, "scaleZ": 11.235300064086914 diff --git a/objects/Editors/contained/SpiritEditor/script.lua b/objects/Editors/contained/SpiritEditor/script.lua index bee2844b5..b76ed44bf 100644 --- a/objects/Editors/contained/SpiritEditor/script.lua +++ b/objects/Editors/contained/SpiritEditor/script.lua @@ -11,7 +11,7 @@ function onLoad() width = 0, height = 0, }) - Color.Add("SoftBlue", Color.new(0.45,0.6,0.7)) + Color.Add("SoftBlue", Color.new(0.53,0.92,1)) Wait.time(scan, 0.5, -1) rescan = false end diff --git a/objects/Editors/contained/Threshold/object.json b/objects/Editors/contained/Threshold/object.json index 7f5374930..eaa47c0ec 100644 --- a/objects/Editors/contained/Threshold/object.json +++ b/objects/Editors/contained/Threshold/object.json @@ -4,9 +4,9 @@ "posX": 114.80999755859375, "posY": 0.949999988079071, "posZ": 49.439998626708984, - "rotX": 6.058275630493881e-06, + "rotX": 0.0, "rotY": 180.0, - "rotZ": 2.4879079774109414e-06, + "rotZ": 0.0, "scaleX": 0.675000011920929, "scaleY": 0.675000011920929, "scaleZ": 0.675000011920929 diff --git a/objects/SetupChecker/script.lua b/objects/SetupChecker/script.lua index ab3a5dbf2..9ed6d8a54 100644 --- a/objects/SetupChecker/script.lua +++ b/objects/SetupChecker/script.lua @@ -1406,6 +1406,14 @@ function loadConfig(config) end Global.setTable("events", events) end + if config.banList then + for _,tab in pairs(Notes.getNotebookTabs()) do + if tab.title == "Card Ban List" then + Notes.editNotebookTab({index = tab.index, body = config.banList}) + break + end + end + end if config.broadcast then printToAll(config.broadcast, Color.SoftYellow) end diff --git a/objects/SourceSpirit/object.json b/objects/SourceSpirit/object.json index 6214425e3..e7326ad2b 100644 --- a/objects/SourceSpirit/object.json +++ b/objects/SourceSpirit/object.json @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.20029830932617188, - "g": 0.16029831767082214, - "b": 0.1517983376979828 + "r": 0.20029962062835693, + "g": 0.1602996289730072, + "b": 0.15179964900016785 }, "Tags": [ "Uninteractable" diff --git a/objects/a50751/object.json b/objects/a50751/object.json index aa08c6fd1..ee905862f 100644 --- a/objects/a50751/object.json +++ b/objects/a50751/object.json @@ -1,11 +1,11 @@ { "Name": "3DText", "Transform": { - "posX": -40.25000762939453, - "posY": 0.96000075340271, - "posZ": 42.72001266479492, + "posX": -40.25, + "posY": 0.9599999785423279, + "posZ": 42.720001220703125, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/aee27f/object.json b/objects/aee27f/object.json index 766ddd567..ea2534406 100644 --- a/objects/aee27f/object.json +++ b/objects/aee27f/object.json @@ -20,8 +20,8 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.08239922672510147, - "g": 0.058799341320991516, + "r": 0.08239982277154922, + "g": 0.0587998628616333, "b": 0.03920000046491623 }, "Tags": [ diff --git a/objects/af4e63/object.json b/objects/af4e63/object.json index dd4be5219..1bf8a0a2e 100644 --- a/objects/af4e63/object.json +++ b/objects/af4e63/object.json @@ -20,7 +20,7 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.396098256111145, + "r": 0.39609962701797485, "g": 0.7646999955177307, "b": 0.9136999845504761 }, diff --git a/objects/af50b8/object.json b/objects/af50b8/object.json index 4d62d72cb..cdfb13504 100644 --- a/objects/af50b8/object.json +++ b/objects/af50b8/object.json @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.18039831519126892, - "g": 0.18039831519126892, - "b": 0.18039831519126892 + "r": 0.18039962649345398, + "g": 0.18039962649345398, + "b": 0.18039962649345398 }, "LayoutGroupSortIndex": 0, "Value": 0, diff --git a/objects/ba3767/object.json b/objects/ba3767/object.json index cf5e8eea8..01973bfe7 100644 --- a/objects/ba3767/object.json +++ b/objects/ba3767/object.json @@ -20,8 +20,8 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.08239922672510147, - "g": 0.058799341320991516, + "r": 0.08239982277154922, + "g": 0.0587998628616333, "b": 0.03920000046491623 }, "Tags": [ diff --git a/objects/bd3f44/object.json b/objects/bd3f44/object.json index 37c177b8a..9f0ce557b 100644 --- a/objects/bd3f44/object.json +++ b/objects/bd3f44/object.json @@ -20,8 +20,8 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.08239922672510147, - "g": 0.058799341320991516, + "r": 0.08239982277154922, + "g": 0.0587998628616333, "b": 0.03920000046491623 }, "Tags": [ diff --git a/objects/c323b4/object.json b/objects/c323b4/object.json index 400c4b913..5a3ec9005 100644 --- a/objects/c323b4/object.json +++ b/objects/c323b4/object.json @@ -20,8 +20,8 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.08239922672510147, - "g": 0.058799341320991516, + "r": 0.08239982277154922, + "g": 0.0587998628616333, "b": 0.03920000046491623 }, "Tags": [ diff --git a/objects/c44b9c/object.json b/objects/c44b9c/object.json index d1b65dfb5..47f383c43 100644 --- a/objects/c44b9c/object.json +++ b/objects/c44b9c/object.json @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.4267982542514801, - "g": 0.36939823627471924, - "b": 0.4395982325077057 + "r": 0.42679962515830994, + "g": 0.3693996071815491, + "b": 0.4395996034145355 }, "Tags": [ "Uninteractable" diff --git a/objects/c4ac1d/object.json b/objects/c4ac1d/object.json index 071230f73..2816ef231 100644 --- a/objects/c4ac1d/object.json +++ b/objects/c4ac1d/object.json @@ -5,7 +5,7 @@ "posY": 0.9599999785423279, "posZ": 1.090000033378601, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/c4e8cd/script.lua b/objects/c4e8cd/script.lua index ff2b2689d..f6a94652b 100644 --- a/objects/c4e8cd/script.lua +++ b/objects/c4e8cd/script.lua @@ -1 +1,978 @@ difficulty=-1 +postSetup = true +postSetupComplete = false +hasBroadcast = true + +local destinyPlayers = {} +local readyTokens = {} +local round = 1 -- First or second round of drafts +local phase = 0 -- Phase within a round +local timer = nil + +function onSave() + local data_table = { + destinyPlayers = destinyPlayers, + readyTokens = readyTokens, + round = round, + phase = phase, + } + return JSON.encode(data_table) +end + +function onLoad(saved_data) + if saved_data ~= "" then + local loaded_data = JSON.decode(saved_data) + destinyPlayers = loaded_data.destinyPlayers + readyTokens = loaded_data.readyTokens + round = loaded_data.round + phase = loaded_data.phase + end + + Color.Add("SoftBlue", Color.new(0.53,0.92,1)) + + if Global.getVar("gameStarted") and Global.getVar("scenarioCard") ~= nil and Global.getVar("scenarioCard").guid == self.guid then + PostSetup() + end +end + +function Broadcast() + return "Use the button on the scenario panel to progress drafting" +end + +function PostSetup(_) + if round <= 2 then + -- Lock out card gains for the duration + Wait.condition( + function() Global.setVar("scriptWorkingCardC", true) end, + function() return not Global.getVar("scriptWorkingCardC") end + ) + end + if round == 1 and phase == 0 then + addParticipatingButtons() + timer = Wait.time(addParticipatingButtons, 1, -1) + elseif round <= 2 then + updatePassDirButtons() + startUpdateReady() + end + updateSelfButton() + Wait.frames(updateAllCardButtons, 2) -- Global onLoad() overwrites the buttons in the power gain area on a 1-frame delay, so overwrite them ourselves after that + + postSetupComplete = true +end + +function cleanUp() + Global.setVar("scriptWorkingCardC", false) + destroyReadyTokens() +end + +function broadcastInstructions() + if round > 2 or phase == 0 then + return + end + if getNumPlayers() == 2 then + if phase == 1 then + broadcastMessage("Sort the Power Cards into 3 pairs") + else + broadcastMessage("Choose pairs of Power Cards to add to your Destiny") + end + else + broadcastMessage("Choose a Power Card to add to your Destiny") + end +end + +function updateSelfButton() + if round == 1 or round == 2 then + if phase == 0 then + setSelfButton({label = "Draft Cards", click_function = "draftCards"}) + elseif getNumPlayers() == 2 then + if phase == 1 then + setSelfButton({label = "Reveal Groups", click_function = "revealGroups"}) + else + setSelfButton({label = "Finish Draft", click_function = "discardGroups"}) + end + else + if phase < 5 then + setSelfButton({label = "Pass Cards", click_function = "passCards"}) + else + setSelfButton({label = "Finish Draft", click_function = "passCards"}) + end + end + else + self.clearButtons() + end +end + +function getParticipatingButton(zoneGUID) + local buttonLabel = { + [true] = "Destiny Unfolds:\nParticipating", + [false] = "Destiny Unfolds:\nNot Participating", + } + local buttonColor = { + [true] = "Green", + [false] = "Red", + } + local participating = destinyPlayers[zoneGUID] + return { + label = buttonLabel[participating], + color = buttonColor[participating], + click_function = "toggleParticipating", + function_owner = self, + position = {0,0,0.77}, + rotation = {0,180,0}, + scale = getButtonScale(getObjectFromGUID(zoneGUID)), + height = 1400, + width = 4000, + font_size = 500, + tooltip = "Click to toggle", + } +end + +function getPassDirButton(zoneGUID) + local passPlayer = getPassPlayer(zoneGUID) + local label = "" + if passPlayer then + label = "Passing to "..getSpiritName(passPlayer) + end + return { + label = label, + click_function = "nullFunc", + function_owner = self, + position = {0,0,0.5}, + rotation = {0,180,0}, + scale = getButtonScale(getObjectFromGUID(zoneGUID)), + height = 0, + width = 0, + font_size = 500, + font_color = "White", + } +end + +function addParticipatingButtons() + for _,selected in pairs(Global.getVar("selectedColors")) do + if selected.zone ~= nil then + local zoneGUID = selected.zone.guid + if destinyPlayers[zoneGUID] == nil then + destinyPlayers[zoneGUID] = true + end + local buttonParams = getParticipatingButton(zoneGUID) + if not getButtonIndex(selected.zone, buttonParams) then + setButton(selected.zone, buttonParams) + end + end + end +end + +function clearParticipatingButtons() + for _,selected in pairs(Global.getVar("selectedColors")) do + if selected.zone ~= nil then + removeButton(selected.zone, getParticipatingButton(selected.zone.guid)) + end + end +end + +function updatePassDirButtons() + local haveButtons = getNumPlayers() > 2 and round <= 2 and phase ~= 0 + for zoneGUID,_ in pairs(destinyPlayers) do + local buttonParams = getPassDirButton(zoneGUID) + if haveButtons then + setButton(getObjectFromGUID(zoneGUID), buttonParams) + else + removeButton(getObjectFromGUID(zoneGUID), buttonParams) + end + end +end + +function toggleParticipating(obj, _, _) + destinyPlayers[obj.guid] = not destinyPlayers[obj.guid] + setButton(obj, getParticipatingButton(obj.guid)) +end + +function completeRegistration() + if getNumPlayers() < 2 then + broadcastError("Destiny Unfolds requires at least 2 participating players.") + return false + end + + local zoneGUIDs = {} + for zoneGUID,data in pairs(destinyPlayers) do + if data then + destinyPlayers[zoneGUID] = { + cards = {}, + zones = {}, + handIndices = {}, + } + table.insert(zoneGUIDs, zoneGUID) + else + destinyPlayers[zoneGUID] = nil + end + end + + zoneGUIDs = sortByX(zoneGUIDs) + for i=2,#zoneGUIDs do + destinyPlayers[zoneGUIDs[i]].left = zoneGUIDs[i-1] + end + for i=1,#zoneGUIDs-1 do + destinyPlayers[zoneGUIDs[i]].right = zoneGUIDs[i+1] + end + destinyPlayers[zoneGUIDs[1]].left = zoneGUIDs[#zoneGUIDs] + destinyPlayers[zoneGUIDs[#zoneGUIDs]].right = zoneGUIDs[1] + + if timer ~= nil then + Wait.stop(timer) + end + clearParticipatingButtons() + + spawnReadyTokens() + + return true +end + +function broadcastError(message) + broadcastToAll(message, Color.Red) +end +function broadcastMessage(message) + broadcastToAll(message, Color.SoftBlue) +end + +function getPassPlayer(zoneGUID) + local passDirs = {"left", "right"} + local passDir = passDirs[round] + return destinyPlayers[zoneGUID][passDir] +end + +function getNumPlayers() + local num = 0 + for _,data in pairs(destinyPlayers) do + if data then + num = num + 1 + end + end + return num +end + +function getButtonScale(obj) + local scale = obj.getScale() + return Vector(1 / scale.x, 1 / scale.y, 1 / scale.z) +end + +function getButtonIndex(obj, params) + local buttons = obj.getButtons() + if buttons == nil then + return nil + end + for _,button in pairs(buttons) do + local match = true + for key,val in pairs(params) do + if button[key] ~= val then + match = false + break + end + end + if match then + return button.index + end + end + return nil +end + +function setButton(obj, params) + local identifier = {click_function = params.click_function, function_owner = params.function_owner} + local buttonIndex = getButtonIndex(obj, identifier) + if not buttonIndex then + obj.createButton(params) + else + local newParams = {index = buttonIndex} + for k,v in pairs(params) do + newParams[k] = v + end + obj.editButton(newParams) + end +end + +function removeButton(obj, params) + local identifier = {click_function = params.click_function, function_owner = params.function_owner} + local buttonIndex = getButtonIndex(obj, identifier) + if buttonIndex then + obj.removeButton(buttonIndex) + end +end + +function setSelfButton(params) + local buttonParams = { + function_owner = self, + position = Vector(0.6, 1, -1.1), + rotation = Vector(0,0,0), + scale = Vector(0.2,0.2,0.2), + width = 2000, + height = 500, + font_size = 300, + } + for k,v in pairs(params) do + buttonParams[k] = v + end + if not self.getButtons() then + self.createButton(buttonParams) + else + buttonParams.index = 0 + self.editButton(buttonParams) + end +end + +function getZoneColor(zoneGUID) + for color,selected in pairs(Global.getVar("selectedColors")) do + if selected.zone.guid == zoneGUID then + return color + end + end +end + +function getZoneGUID(color) + if color == nil then + return nil + end + local selected = Global.getVar("selectedColors")[color] + if selected == nil then + return nil + end + return selected.zone.guid +end + +function getTablePos(zoneGUID) + return Global.getVar("playerTables")[getZoneColor(zoneGUID)].getPosition() +end + +function getSpiritName(zoneGUID) + for _,obj in pairs(getObjectFromGUID(zoneGUID).getObjects()) do + if obj.hasTag("Spirit") then + return obj.getName() + end + end + return "Unknown Spirit" +end + +function spawnZones(zoneGUID) + local handSep = Vector(0.0, 0.0, -5.5) + + local playerColor = getZoneColor(zoneGUID) + local player = Player[playerColor] + local lastHandPos = player.getHandTransform(player.getHandCount()).position + + local pickZoneScale = Vector(22.0, 5.1, 5.1) + local destinyScale = Global.getTable("handScale") + + local pickZonePos = getTablePos(zoneGUID) + Global.getVar("tableOffset") + local hiddenDestinyPos = lastHandPos + 2 * handSep + local publicDestinyPos = lastHandPos + handSep + + local function spawnZone(var, typeName, fogColor, fogHidePointers, position, scale) + if destinyPlayers[zoneGUID].zones[var] then + -- Skip if it already exists. + return false + end + local zone = spawnObjectData({ + data = { + Name = typeName, + FogColor = fogColor, + FogHidePointers = fogHidePointers, + Transform = { + posX = 0, + posY = 0, + posZ = 0, + rotX = 0, + rotY = 0, + rotZ = 0, + scaleX = 1.0, + scaleY = 1.0, + scaleZ = 1.0, + }, + Locked = true, + }, + position = position, + rotation = Vector(0, 0, 0), + scale = scale, + }) + Wait.condition( + function() destinyPlayers[zoneGUID].zones[var] = zone.guid end, + function() return not zone.spawning end + ) + return true + end + local function spawnHidingZone(var, color, position, scale) + spawnZone(var, "FogOfWarTrigger", color, true, position, scale) + end + local function spawnHand(var, color, position, scale) + local spawned = spawnZone(var, "HandTrigger", color, nil, position, scale) + if spawned then + destinyPlayers[zoneGUID].handIndices[var] = Player[getZoneColor(zoneGUID)].getHandCount() + end + end + + spawnHidingZone("pickHiding", playerColor, pickZonePos, pickZoneScale) + spawnHand("publicDestiny", playerColor, publicDestinyPos, destinyScale) + if getNumPlayers() > 2 then + spawnHidingZone("destinyHiding", playerColor, hiddenDestinyPos, destinyScale) + spawnHand("hiddenDestiny", playerColor, hiddenDestinyPos, destinyScale) + end +end + +function cleanUpZones(zoneGUID) + local zones = destinyPlayers[zoneGUID].zones + local handIndices = destinyPlayers[zoneGUID].handIndices + if zones.pickHiding then + getObjectFromGUID(zones.pickHiding).destruct() + zones.pickHiding = nil + end + if zones.destinyHiding then + getObjectFromGUID(zones.destinyHiding).destruct() + zones.destinyHiding = nil + end + if zones.hiddenDestiny then + getObjectFromGUID(zones.hiddenDestiny).destruct() + zones.hiddenDestiny = nil + handIndices.hiddenDestiny = nil + end +end + +function spawnAllZones() + for zoneGUID,_ in pairs(destinyPlayers) do + spawnZones(zoneGUID) + end +end + +function cleanUpAllZones() + for zoneGUID,_ in pairs(destinyPlayers) do + cleanUpZones(zoneGUID) + end +end + +function revealHiddenDestinies() + local cardsDealt = 0 + local cardsResting = 0 + for zoneGUID,data in pairs(destinyPlayers) do + local player = Player[getZoneColor(zoneGUID)] + for _,card in pairs(player.getHandObjects(data.handIndices.hiddenDestiny)) do + card.deal(1, player.color, data.handIndices.publicDestiny) + cardsDealt = cardsDealt + 1 + Wait.condition(function() cardsResting = cardsResting + 1 end, function() return not card.isSmoothMoving() end) + end + end + if round > 2 then + Wait.condition(cleanUpAllZones, function() return cardsResting == cardsDealt end) + end +end + +function dealCard(card, color, toHidden) + local handIndices = destinyPlayers[getZoneGUID(color)].handIndices + local handIndex = handIndices.publicDestiny + if toHidden then + handIndex = handIndices.hiddenDestiny + end + + card.deal(1, color, handIndex) + card.clearButtons() + card.call("PickPower", {}) + Wait.condition(function() card.setLock(false) end, function() return not card.isSmoothMoving() end) +end + +function scanCards() + for zoneGUID,_ in pairs(destinyPlayers) do + destinyPlayers[zoneGUID].cards = {} + for _,card in pairs(Global.call("getPowerZoneObjects", getTablePos(zoneGUID))) do + destinyPlayers[zoneGUID].cards[card.guid] = false + end + end + updateAllCardButtons() + updateReady() +end + +function sortByX(guids) + table.sort(guids, function(a,b) + return getObjectFromGUID(a).getPosition().x < getObjectFromGUID(b).getPosition().x + end) + return guids +end + +function getOrderedCards(zoneGUID) + -- Returns an array (mapping sequential integers to card GUIDs), sorted by position from left to right + local data = destinyPlayers[zoneGUID] + if not (type(data) == "table" and data.cards) then + return {} + end + local cards = {} + for cardGUID,_ in pairs(data.cards) do + table.insert(cards, cardGUID) + end + return sortByX(cards) +end + +function updateCardButtons(card, selected) + local function setCardButton(click_function, label, tooltip, highlight, x, width) + local buttonColor = { + [true] = "Blue", + [false] = "White", + } + setButton(card, { + label = label, + color = buttonColor[highlight], + click_function = click_function, + function_owner = self, + position = Vector(x, 0.3, 1.43), + width = width, + scale = getButtonScale(card), + height = 160, + font_size = 150, + tooltip = tooltip, + }) + end + + card.clearButtons() + if getNumPlayers() == 2 then + if phase == 1 then + for i=1,3 do + setCardButton("selectCardGroup"..tostring(i), tostring(i), "Set which pair this Power Card is in", i == selected, (i-2) * 0.2, 160) + end + else + setCardButton("grabGroup", "Pick Pair", "Pick these two Power Cards to your hand", false, 1, 900) + end + else + setCardButton("selectCard", "Pick Power", "Select this Power Card", selected, 0, 900) + end +end + +function updateAllCardButtons() + local grouped = getNumPlayers() == 2 and phase == 2 + for zoneGUID,data in pairs(destinyPlayers) do + local orderedCards = getOrderedCards(zoneGUID) + for i,cardGUID in ipairs(orderedCards) do + local card = getObjectFromGUID(cardGUID) + if not (grouped and i%2 == 0) then + updateCardButtons(card, data.cards[cardGUID]) + elseif grouped then + card.clearButtons() + end + end + end +end + +function selectCard(card, _, alt_click) + for _,data in pairs(destinyPlayers) do + local found = false + for cardGUID,selected in pairs(data.cards) do + if cardGUID == card.guid then + if alt_click and not selected then + return + end + found = true + break + end + end + if found then + for cardGUID,_ in pairs(data.cards) do + data.cards[cardGUID] = (cardGUID == card.guid and not alt_click) + updateCardButtons(getObjectFromGUID(cardGUID), data.cards[cardGUID]) + end + break + end + end + updateReady() +end + +function selectCardGroup(card, _, alt_click, group) + if alt_click then + group = false + end + for _,data in pairs(destinyPlayers) do + local found = false + for cardGUID,_ in pairs(data.cards) do + if cardGUID == card.guid then + data.cards[cardGUID] = group + updateCardButtons(getObjectFromGUID(cardGUID), data.cards[cardGUID]) + break + end + end + if found then + break + end + end + updateReady() +end +function selectCardGroup1(card, player_clicker_color, alt_click) + selectCardGroup(card, player_clicker_color, alt_click, 1) +end +function selectCardGroup2(card, player_clicker_color, alt_click) + selectCardGroup(card, player_clicker_color, alt_click, 2) +end +function selectCardGroup3(card, player_clicker_color, alt_click) + selectCardGroup(card, player_clicker_color, alt_click, 3) +end + +function grabGroup(card, player_clicker_color, _) + local cardsDealt = 0 + local cardsResting = 0 + for zoneGUID,data in pairs(destinyPlayers) do + local group = nil + for cardGUID,selected in pairs(data.cards) do + if cardGUID == card.guid then + group = selected + break + end + end + if group ~= nil then + for cardGUID,selected in pairs(data.cards) do + if selected == group then + local c = getObjectFromGUID(cardGUID) + destinyPlayers[zoneGUID].cards[cardGUID] = nil + dealCard(c, player_clicker_color, false) + cardsDealt = cardsDealt + 1 + Wait.condition( + function() cardsResting = cardsResting + 1 end, + function() return not c.isSmoothMoving() end + ) + end + end + break + end + end + Wait.condition( + updateReady, + function() return cardsResting == cardsDealt end + ) +end + +function validatePlayer(zoneGUID, broadcast) + local numPlayers = getNumPlayers() + local playerName = getSpiritName(zoneGUID).." ("..tostring(getZoneColor(zoneGUID))..")" + if numPlayers == 2 and phase == 1 then + local groups = {0, 0, 0} + for _,selected in pairs(destinyPlayers[zoneGUID].cards) do + if selected then + groups[selected] = groups[selected] + 1 + end + end + if groups[1] == 2 and groups[2] == 2 and groups[3] == 2 then + return true + else + if broadcast then + broadcastError(playerName.." has not chosen pairs correctly") + end + return false + end + elseif numPlayers == 2 then + local cards = Player[getZoneColor(zoneGUID)].getHandObjects(destinyPlayers[zoneGUID].handIndices.publicDestiny) + local minima = {4, 10} + local maxima = {6, 10} + local minCards = minima[round] + local maxCards = maxima[round] + if #cards < minCards then + if broadcast then + broadcastError(playerName.." does not have enough cards in their destiny") + end + return false + elseif #cards > maxCards then + if broadcast then + broadcastError(playerName.." has too many cards in their destiny") + end + return false + else + return true + end + else + local hasPicked = false + for _,selected in pairs(destinyPlayers[zoneGUID].cards) do + if selected then + hasPicked = true + break + end + end + if hasPicked then + return true + else + if broadcast then + broadcastError(playerName.." has not picked a Power Card") + end + return false + end + end +end + +function validateAllPlayers(broadcast) + local isValid = true + for zoneGUID,_ in pairs(destinyPlayers) do + if not validatePlayer(zoneGUID, broadcast) then + isValid = false + end + end + return isValid +end + +function wt(some) + local Time = os.clock() + some + while os.clock() < Time do + coroutine.yield(0) + end +end + +function discardCards() + for zoneGUID,_ in pairs(destinyPlayers) do + destinyPlayers[zoneGUID].cards = {} + local discardTable = Global.call("DiscardPowerCards", getTablePos(zoneGUID)) + if #discardTable > 0 then + wt(0.1) + end + end + return 1 +end + +function getCardPositions(zoneGUID, count, group) + return Global.call("getCardPositions", {tablePos = getTablePos(zoneGUID), count = count, pair = group}) +end + +function getAllCardPositions(cardCount, group) + local playerCardPositions = {} + for zoneGUID,_ in pairs(destinyPlayers) do + table.insert(playerCardPositions, getCardPositions(zoneGUID, cardCount, group)) + end + + local cardPositions = {} + -- Interleave card positions for each player, so that cards are still dealt evenly if they run out + for i=1,cardCount do + for _,positions in pairs(playerCardPositions) do + table.insert(cardPositions, positions[i]) + end + end + return cardPositions +end + +function dealCards() + local numMajors = 3 - round + local numMinors = 6 - numMajors + local numPlayers = getNumPlayers() + + discardCards() + + local cardPositions = getAllCardPositions(numMinors + numMajors, false) + local numPlaytestMajors = Global.call("getPlaytestCount", {count = numMajors, major = true}) + local numPlaytestMinors = Global.call("getPlaytestCount", {count = numMinors, major = false}) + + Global.call("dealPowerCards", { + cardPositions = cardPositions, + numMinors = numMinors * numPlayers, + numPlaytestMinors = numPlaytestMinors * numPlayers, + numMajors = numMajors * numPlayers, + numPlaytestMajors = numPlaytestMajors * numPlayers, + callback_function = "scanCards", + callback_object = self + }) + + return 1 +end + +function draftCards() + if round == 1 and not completeRegistration() then + return + end + + spawnAllZones() + startLuaCoroutine(self, "dealCards") + + phase = phase + 1 + updateSelfButton() + updatePassDirButtons() + broadcastInstructions() +end + +local passCardsWorking = false +function passCards() + if passCardsWorking or not validateAllPlayers(true) then + return + end + passCardsWorking = true + + local finalDraft = phase == 5 + + local cardsDealt = 0 + local cardsResting = 0 + for zoneGUID,data in pairs(destinyPlayers) do + local cardsMoved = 0 + local orderedCards = getOrderedCards(zoneGUID) + local cardPositions = getCardPositions(getPassPlayer(zoneGUID), #orderedCards - 1, false) + for _,cardGUID in ipairs(orderedCards) do + local card = getObjectFromGUID(cardGUID) + if data.cards[cardGUID] then + dealCard(card, getZoneColor(zoneGUID), true) + cardsDealt = cardsDealt + 1 + Wait.condition( + function() cardsResting = cardsResting + 1 end, + function() return not card.isSmoothMoving() end + ) + elseif not finalDraft then + card.setPosition(cardPositions[cardsMoved + 1]) + card.setRotation(Vector(0, 180, 0)) + card.setLock(true) + cardsMoved = cardsMoved + 1 + end + end + end + + if finalDraft then + Wait.condition( + function() + startLuaCoroutine(self, "discardCards") + revealHiddenDestinies() + passCardsWorking = false + end, + function() return cardsResting == cardsDealt end + ) + round = round + 1 + phase = 0 + else + Wait.condition( + function() + scanCards() + passCardsWorking = false + end, + function() return cardsResting == cardsDealt end + ) + phase = phase + 1 + end + + if round > 2 then + cleanUp() + end + updatePassDirButtons() + updateSelfButton() +end + +function revealGroups() + if not validateAllPlayers(true) then + return + end + + cleanUpAllZones() + + for zoneGUID,data in pairs(destinyPlayers) do + local cardPositions = getCardPositions(zoneGUID, 6, true) + local cardsMoved = {0, 0, 0} + for cardGUID,selected in pairs(data.cards) do + local card = getObjectFromGUID(cardGUID) + card.setPosition(cardPositions[selected * 2 - 1 + cardsMoved[selected]]) + card.setRotation(Vector(0, 180, 0)) + card.setLock(true) + cardsMoved[selected] = cardsMoved[selected] + 1 + end + end + + phase = phase + 1 + updateAllCardButtons() + updateSelfButton() + updateReady() + broadcastInstructions() +end + +function discardGroups() + if not validateAllPlayers(true) then + return + end + + startLuaCoroutine(self, "discardCards") + round = round + 1 + phase = 0 + + if round > 2 then + cleanUp() + end + updateSelfButton() +end + +function spawnReadyTokens() + local numTokens = 6 + for i=1,numTokens do + local data = { + Name = "Custom_Model", + Transform = { + rotX = 0, + rotY = 180, + rotZ = 0, + scaleX = 0.5, + scaleY = 0.8, + scaleZ = 0.5, + }, + Nickname = "Ready", + Tags = {"Uninteractable"}, + Locked = true, + CustomMesh = { + MeshURL = "https://steamusercontent-a.akamaihd.net/ugc/868489312390110251/5C3337D08AA1E8E0DD9A2B79D23BB60B568F478E/", + DiffuseURL = "https://steamusercontent-a.akamaihd.net/ugc/863986017479109174/7B1C203C001E522EB47374C09461EAC2A71E59EB/", + MaterialIndex = 3 + }, + } + local token = spawnObjectData({ + data = data, + position = self.getPosition() + Vector((i - 3.5) * 1.36, 0, 3.5), + callback_function = function(obj) + obj.interactable = false + readyTokens[i] = obj.guid + end + }) + token.setInvisibleTo(Player.getColors()) + end + startUpdateReady() +end + +function destroyReadyTokens() + if timer ~= nil then + Wait.stop(timer) + end + for i,guid in pairs(readyTokens) do + getObjectFromGUID(guid).destruct() + readyTokens[i] = nil + end +end + +function updateReady() + local seatTables = Global.getVar("seatTables") + local tints = Global.getTable("Tints") + for i,guid in pairs(readyTokens) do + local color = Global.call("getTableColor", getObjectFromGUID(seatTables[i])) + local zoneGUID = getZoneGUID(color) + local token = getObjectFromGUID(guid) + if phase > 0 and zoneGUID and destinyPlayers[zoneGUID] then + local tokenTint = tints[color].Presence + if tints[color].Token then + tokenTint = tints[color].Token + end + local buttonParams = { + click_function = "nullFunc", + function_owner = self, + position = Vector(0, 0.1, -2), + rotation = Vector(0, 0, 0), + scale = getButtonScale(token), + width = 0, + height = 0, + font_size = 500, + } + if validatePlayer(zoneGUID, false) then + buttonParams.label = "✓" + buttonParams.font_color = "Green" + else + buttonParams.label = "X" + buttonParams.font_color = "Red" + end + token.setInvisibleTo({}) + token.setColorTint(Color.fromHex(tokenTint)) + setButton(token, buttonParams) + else + token.setInvisibleTo(Player.getColors()) + token.setColorTint(Color.fromHex("#918F8F")) + token.clearButtons() + end + end +end + +function startUpdateReady() + updateReady() + timer = Wait.time(updateReady, 2, -1) +end + +function nullFunc() +end diff --git a/objects/c5e07e/contained/a95c14/object.json b/objects/c5e07e/contained/a95c14/object.json index 0c14a5cf8..9231bd520 100644 --- a/objects/c5e07e/contained/a95c14/object.json +++ b/objects/c5e07e/contained/a95c14/object.json @@ -25,6 +25,7 @@ "b": 0.1518000066280365 }, "Tags": [ + "Black Text", "Spirit" ], "LayoutGroupSortIndex": 0, diff --git a/objects/c99d4d/object.json b/objects/c99d4d/object.json index e2357b10b..d0597efea 100644 --- a/objects/c99d4d/object.json +++ b/objects/c99d4d/object.json @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.8392000198364258, "g": 0.5724999904632568, - "b": 0.396098256111145 + "b": 0.39609962701797485 }, "Tags": [ "Seat", diff --git a/objects/cfeeba/object.json b/objects/cfeeba/object.json index cd2a6045c..5cf52390a 100644 --- a/objects/cfeeba/object.json +++ b/objects/cfeeba/object.json @@ -21,7 +21,7 @@ }, "ColorDiffuse": { "r": 0.6926000714302063, - "g": 0.3431982398033142, + "g": 0.34319961071014404, "b": 0.9703999161720276 }, "Tags": [ diff --git a/objects/d3dd7e/object.json b/objects/d3dd7e/object.json index db3987a30..d63f9d14e 100644 --- a/objects/d3dd7e/object.json +++ b/objects/d3dd7e/object.json @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.8391000032424927, "g": 0.5720000267028809, - "b": 0.39709824323654175 + "b": 0.39709964394569397 }, "Tags": [ "Uninteractable" diff --git a/objects/d3f7f8/object.json b/objects/d3f7f8/object.json index f03c434ec..95a3424fe 100644 --- a/objects/d3f7f8/object.json +++ b/objects/d3f7f8/object.json @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.9961000084877014, "g": 0.7411999702453613, - "b": 0.10589823871850967 + "b": 0.10589960962533951 }, "LayoutGroupSortIndex": 0, "Value": 0, diff --git a/objects/d3fb56/object.json b/objects/d3fb56/object.json index 87eae025f..93197b079 100644 --- a/objects/d3fb56/object.json +++ b/objects/d3fb56/object.json @@ -1,11 +1,11 @@ { "Name": "3DText", "Transform": { - "posX": -36.660037994384766, - "posY": 0.96000075340271, - "posZ": 48.510013580322266, + "posX": -36.660030364990234, + "posY": 0.9599999785423279, + "posZ": 48.51004409790039, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/d7d593/object.json b/objects/d7d593/object.json index e0281f5a6..d526bc8c6 100644 --- a/objects/d7d593/object.json +++ b/objects/d7d593/object.json @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.8392000198364258, "g": 0.5724999904632568, - "b": 0.396098256111145 + "b": 0.39609962701797485 }, "Tags": [ "Seat", diff --git a/objects/d8b6c7/object.json b/objects/d8b6c7/object.json index 0ac383f00..0388ce454 100644 --- a/objects/d8b6c7/object.json +++ b/objects/d8b6c7/object.json @@ -1,11 +1,11 @@ { "Name": "3DText", "Transform": { - "posX": -38.23000717163086, - "posY": 0.96000075340271, - "posZ": 47.72005081176758, + "posX": -38.22999954223633, + "posY": 0.9599999785423279, + "posZ": 47.72004699707031, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/d936f3/object.json b/objects/d936f3/object.json index 6473de7db..149d0b48c 100644 --- a/objects/d936f3/object.json +++ b/objects/d936f3/object.json @@ -1,11 +1,11 @@ { "Name": "3DText", "Transform": { - "posX": -38.23000717163086, - "posY": 0.96000075340271, - "posZ": 40.22001647949219, + "posX": -38.22999954223633, + "posY": 0.9599999785423279, + "posZ": 40.22004699707031, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/dce473/object.json b/objects/dce473/object.json index 4688dc31d..cec8f07ae 100644 --- a/objects/dce473/object.json +++ b/objects/dce473/object.json @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.8392000198364258, "g": 0.5724999904632568, - "b": 0.396098256111145 + "b": 0.39609962701797485 }, "Tags": [ "Seat", diff --git a/objects/e267b0/object.json b/objects/e267b0/object.json index 9263c754c..588bca65e 100644 --- a/objects/e267b0/object.json +++ b/objects/e267b0/object.json @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.8391000032424927, "g": 0.5720000267028809, - "b": 0.39709824323654175 + "b": 0.39709964394569397 }, "Tags": [ "Uninteractable" diff --git a/objects/e35f78/object.json b/objects/e35f78/object.json index 4212aef27..61418951b 100644 --- a/objects/e35f78/object.json +++ b/objects/e35f78/object.json @@ -1,11 +1,11 @@ { "Name": "3DText", "Transform": { - "posX": -40.25000762939453, - "posY": 0.96000075340271, - "posZ": 47.72005081176758, + "posX": -40.25, + "posY": 0.9599999785423279, + "posZ": 47.72004699707031, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/e8f3e3/script.lua b/objects/e8f3e3/script.lua index f654efd6d..09a22c3e6 100644 --- a/objects/e8f3e3/script.lua +++ b/objects/e8f3e3/script.lua @@ -18,7 +18,7 @@ slaveRebellion = "1f0327" slaveRebellion2 = "3f4bfc" function onLoad(saved_data) - Color.Add("SoftBlue", Color.new(0.45,0.6,0.7)) + Color.Add("SoftBlue", Color.new(0.53,0.92,1)) end function onObjectSpawn(obj) diff --git a/objects/e924fe/script.lua b/objects/e924fe/script.lua index c07f60bc7..3d40d87be 100644 --- a/objects/e924fe/script.lua +++ b/objects/e924fe/script.lua @@ -513,6 +513,15 @@ function ExportConfig() piecesDataFiltered[boardName] = boardTable end data.secondWave.pieces = piecesDataFiltered + for _,tab in pairs(Notes.getNotebookTabs()) do + if tab.title == "Card Ban List" then + local defaultBanList = "[Major Powers]\n\n[Minor Powers]\n\n[Event Cards]\n\n[Blight Cards]\n\n[Fear Cards]" + if tab.body ~= "" and tab.body ~= defaultBanList then + data.banList = tab.body + end + break + end + end updateNotebook(JSON.encode_pretty(data)) end function updateNotebook(json) diff --git a/objects/f33e62/contained/1c6929/object.json b/objects/f33e62/contained/1c6929/object.json index dac27d422..68821b21f 100644 --- a/objects/f33e62/contained/1c6929/object.json +++ b/objects/f33e62/contained/1c6929/object.json @@ -25,6 +25,7 @@ "b": 0.1518000066280365 }, "Tags": [ + "Black Text", "Spirit" ], "LayoutGroupSortIndex": 0, diff --git a/objects/f39fd1/object.json b/objects/f39fd1/object.json index 751fef56d..772eda01b 100644 --- a/objects/f39fd1/object.json +++ b/objects/f39fd1/object.json @@ -4,7 +4,7 @@ "posX": -46.18000030517578, "posY": 0.8703587055206299, "posZ": 56.29999923706055, - "rotX": -1.3068907733781998e-08, + "rotX": -8.648898486285361e-09, "rotY": 180.0, "rotZ": 180.0, "scaleX": 1.5299999713897705, diff --git a/objects/f433f0/object.json b/objects/f433f0/object.json index 581e3fe8d..f85b22cce 100644 --- a/objects/f433f0/object.json +++ b/objects/f433f0/object.json @@ -20,8 +20,8 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.19829833507537842, - "g": 0.4236982464790344, + "r": 0.19829964637756348, + "g": 0.42369961738586426, "b": 0.8391000032424927 }, "Tags": [ diff --git a/objects/f4ab64/object.json b/objects/f4ab64/object.json index ae97f38a0..20758b9bf 100644 --- a/objects/f4ab64/object.json +++ b/objects/f4ab64/object.json @@ -20,8 +20,8 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.08239922672510147, - "g": 0.058799341320991516, + "r": 0.08239982277154922, + "g": 0.0587998628616333, "b": 0.03920000046491623 }, "Tags": [ diff --git a/objects/f72dca/contained/055e39/object.json b/objects/f72dca/contained/055e39/object.json index a809deae0..656c15ad6 100644 --- a/objects/f72dca/contained/055e39/object.json +++ b/objects/f72dca/contained/055e39/object.json @@ -1,15 +1,15 @@ { "Name": "CardCustom", "Transform": { - "posX": 78.94103240966797, - "posY": 2.326202630996704, - "posZ": 52.44475555419922, - "rotX": -3.0444233800608345e-09, - "rotY": 180.00001525878906, - "rotZ": -1.8338051077648743e-09, - "scaleX": 1.5300447940826416, + "posX": 78.94100189208984, + "posY": 2.326200008392334, + "posZ": 52.444801330566406, + "rotX": 0.0, + "rotY": 180.0, + "rotZ": 0.0, + "scaleX": 1.5299999713897705, "scaleY": 1.0, - "scaleZ": 1.5300447940826416 + "scaleZ": 1.5299999713897705 }, "Nickname": "Infesting Spores", "Description": "", @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.7132352590560913, - "g": 0.7132352590560913, - "b": 0.7132352590560913 + "r": 0.7131999731063843, + "g": 0.7131999731063843, + "b": 0.7131999731063843 }, "Tags": [ "Slow", diff --git a/objects/f72dca/contained/1b5ae2/object.json b/objects/f72dca/contained/1b5ae2/object.json index 212c5d297..758f35606 100644 --- a/objects/f72dca/contained/1b5ae2/object.json +++ b/objects/f72dca/contained/1b5ae2/object.json @@ -2,8 +2,8 @@ "Name": "Custom_Model", "Transform": { "posX": 128.1457061767578, - "posY": 2.3120267391204834, - "posZ": 72.5587387084961, + "posY": 2.312000036239624, + "posZ": 72.55870056152344, "rotX": 0.0, "rotY": 180.00010681152344, "rotZ": 0.0, @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.89410001039505, "g": 0.8510000109672546, - "b": 0.35289931297302246 + "b": 0.3528999984264374 }, "Tags": [ "Highlight", diff --git a/objects/f72dca/contained/478dd9/object.json b/objects/f72dca/contained/478dd9/object.json index fb1d37301..2e03467f4 100644 --- a/objects/f72dca/contained/478dd9/object.json +++ b/objects/f72dca/contained/478dd9/object.json @@ -1,9 +1,9 @@ { "Name": "Custom_Tile", "Transform": { - "posX": 148.5804443359375, - "posY": 2.5126123428344727, - "posZ": 169.06405639648438, + "posX": 148.5803985595703, + "posY": 2.5125999450683594, + "posZ": 169.06410217285156, "rotX": 0.0, "rotY": 180.0, "rotZ": 180.0, @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.200273334980011, - "g": 0.16031861305236816, - "b": 0.1517568826675415 + "r": 0.20029999315738678, + "g": 0.16030000150203705, + "b": 0.1518000066280365 }, "Tags": [ "Spirit" @@ -56,79 +56,79 @@ "AttachedSnapPoints": [ { "Position": { - "x": -0.020171836018562317, - "y": 0.20000040531158447, - "z": -0.3880815804004669 + "x": -0.02019999921321869, + "y": 0.20000000298023224, + "z": -0.3880999982357025 } }, { "Position": { - "x": -0.24647799134254456, - "y": 0.20000040531158447, - "z": -0.3856181800365448 + "x": -0.24650000035762787, + "y": 0.20000000298023224, + "z": -0.3856000006198883 } }, { "Position": { - "x": -0.4620603322982788, - "y": 0.20000040531158447, - "z": -0.385553240776062 + "x": -0.46209999918937683, + "y": 0.20000000298023224, + "z": -0.3856000006198883 } }, { "Position": { - "x": -0.9125989079475403, - "y": 0.20000040531158447, - "z": -0.3863924741744995 + "x": -0.9125999808311462, + "y": 0.20000000298023224, + "z": -0.3864000141620636 } }, { "Position": { - "x": -0.4610564410686493, - "y": 0.20000040531158447, - "z": -0.07570777833461761 + "x": -0.4611000120639801, + "y": 0.20000000298023224, + "z": -0.07569999992847443 } }, { "Position": { - "x": -0.026048511266708374, - "y": 0.20000040531158447, - "z": -0.0757245272397995 + "x": -0.026000000536441803, + "y": 0.20000000298023224, + "z": -0.07569999992847443 } }, { "Position": { - "x": -0.6925612092018127, - "y": 0.20000040531158447, - "z": -0.07348738610744476 + "x": -0.6926000118255615, + "y": 0.20000000298023224, + "z": -0.07349999994039536 } }, { "Position": { - "x": -1.1333609819412231, - "y": 0.20000040531158447, - "z": -0.0799575001001358 + "x": -1.1333999633789062, + "y": 0.20000000298023224, + "z": -0.07999999821186066 } }, { "Position": { - "x": -0.6869127750396729, - "y": 0.20000040531158447, - "z": -0.3828272521495819 + "x": -0.6869000196456909, + "y": 0.20000000298023224, + "z": -0.38280001282691956 } }, { "Position": { - "x": -0.9066987037658691, - "y": 0.20000040531158447, - "z": -0.07584764063358307 + "x": -0.9067000150680542, + "y": 0.20000000298023224, + "z": -0.07580000162124634 } }, { "Position": { - "x": -0.24862490594387054, - "y": 0.20000040531158447, - "z": -0.07495167851448059 + "x": -0.24860000610351562, + "y": 0.20000000298023224, + "z": -0.07500000298023224 } } ] diff --git a/objects/f72dca/contained/5af1a9/object.json b/objects/f72dca/contained/5af1a9/object.json index 5b1add36f..5af95d51f 100644 --- a/objects/f72dca/contained/5af1a9/object.json +++ b/objects/f72dca/contained/5af1a9/object.json @@ -1,15 +1,15 @@ { "Name": "CardCustom", "Transform": { - "posX": 81.3410873413086, - "posY": 2.326202630996704, - "posZ": 54.04102325439453, - "rotX": 8.894831893258015e-08, - "rotY": 180.00001525878906, - "rotZ": -7.93788004216367e-08, - "scaleX": 1.5300447940826416, + "posX": 81.34110260009766, + "posY": 2.326200008392334, + "posZ": 54.04100036621094, + "rotX": 0.0, + "rotY": 180.0, + "rotZ": 0.0, + "scaleX": 1.5299999713897705, "scaleY": 1.0, - "scaleZ": 1.5300447940826416 + "scaleZ": 1.5299999713897705 }, "Nickname": "Exaltation of the Re-Forming Land", "Description": "", @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.7132352590560913, - "g": 0.7132352590560913, - "b": 0.7132352590560913 + "r": 0.7131999731063843, + "g": 0.7131999731063843, + "b": 0.7131999731063843 }, "Tags": [ "Slow", diff --git a/objects/f72dca/contained/886ac0/object.json b/objects/f72dca/contained/886ac0/object.json index da5576875..3678e8c04 100644 --- a/objects/f72dca/contained/886ac0/object.json +++ b/objects/f72dca/contained/886ac0/object.json @@ -1,15 +1,15 @@ { "Name": "CardCustom", "Transform": { - "posX": 67.47515106201172, - "posY": 2.326202630996704, - "posZ": 44.998069763183594, - "rotX": 5.1581872106964965e-09, + "posX": 67.4751968383789, + "posY": 2.326200008392334, + "posZ": 44.99810028076172, + "rotX": 0.0, "rotY": 180.0, - "rotZ": -1.7831961462988488e-09, - "scaleX": 1.5300447940826416, + "rotZ": 0.0, + "scaleX": 1.5299999713897705, "scaleY": 1.0, - "scaleZ": 1.5300447940826416 + "scaleZ": 1.5299999713897705 }, "Nickname": "Worms and Bugs Enrich the Soil", "Description": "", @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.7132352590560913, - "g": 0.7132352590560913, - "b": 0.7132352590560913 + "r": 0.7131999731063843, + "g": 0.7131999731063843, + "b": 0.7131999731063843 }, "Tags": [ "Fast", diff --git a/objects/f72dca/contained/92a942/object.json b/objects/f72dca/contained/92a942/object.json index 9d8fe43ad..4455afb49 100644 --- a/objects/f72dca/contained/92a942/object.json +++ b/objects/f72dca/contained/92a942/object.json @@ -1,15 +1,15 @@ { "Name": "CardCustom", "Transform": { - "posX": 69.17681121826172, - "posY": 2.326202630996704, - "posZ": 47.193660736083984, - "rotX": -4.776626205682533e-09, + "posX": 69.17680358886719, + "posY": 2.326200008392334, + "posZ": 47.19369888305664, + "rotX": 0.0, "rotY": 180.0, - "rotZ": -7.202118013083236e-09, - "scaleX": 1.5300447940826416, + "rotZ": 0.0, + "scaleX": 1.5299999713897705, "scaleY": 1.0, - "scaleZ": 1.5300447940826416 + "scaleZ": 1.5299999713897705 }, "Nickname": "Land of Deadfall and Rot", "Description": "", @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.7132352590560913, - "g": 0.7132352590560913, - "b": 0.7132352590560913 + "r": 0.7131999731063843, + "g": 0.7131999731063843, + "b": 0.7131999731063843 }, "Tags": [ "Fast", diff --git a/objects/f947be/object.json b/objects/f947be/object.json index 01273a61c..651bc4eb1 100644 --- a/objects/f947be/object.json +++ b/objects/f947be/object.json @@ -1,11 +1,11 @@ { "Name": "3DText", "Transform": { - "posX": -40.25000762939453, - "posY": 0.96000075340271, + "posX": -40.25, + "posY": 0.9599999785423279, "posZ": 45.22002029418945, "rotX": 90.0, - "rotY": -5.757418196708497e-13, + "rotY": 0.0, "rotZ": 0.0, "scaleX": 1.0, "scaleY": 1.0, diff --git a/objects/f96a71/object.json b/objects/f96a71/object.json index 47b75d6d3..28269472b 100644 --- a/objects/f96a71/object.json +++ b/objects/f96a71/object.json @@ -4,9 +4,9 @@ "posX": -37.9989013671875, "posY": 0.8534048795700073, "posZ": 51.260101318359375, - "rotX": 8.569024601001729e-09, + "rotX": 2.838242307845462e-09, "rotY": 180.0, - "rotZ": 1.152653084091071e-08, + "rotZ": -1.5710339695829134e-08, "scaleX": 1.531999945640564, "scaleY": 1.0, "scaleZ": 1.531999945640564 diff --git a/objects/f96e34/object.json b/objects/f96e34/object.json index 4ba685f68..806c9ef17 100644 --- a/objects/f96e34/object.json +++ b/objects/f96e34/object.json @@ -4,7 +4,7 @@ "posX": -39.90999984741211, "posY": 0.8848007917404175, "posZ": 56.29999923706055, - "rotX": -1.4881910814779076e-08, + "rotX": -3.41681598570176e-08, "rotY": 180.0, "rotZ": 180.0, "scaleX": 1.098099946975708, diff --git a/objects/f9aad3/object.json b/objects/f9aad3/object.json index 474285d02..e5e3ee189 100644 --- a/objects/f9aad3/object.json +++ b/objects/f9aad3/object.json @@ -4,7 +4,7 @@ "posX": -42.150001525878906, "posY": 0.8799867630004883, "posZ": 56.29999923706055, - "rotX": 6.693174725569406e-08, + "rotX": 3.5534348796772974e-08, "rotY": 180.0, "rotZ": 180.0, "scaleX": 1.098099946975708, diff --git a/objects/fdff9d/object.json b/objects/fdff9d/object.json index d56de6507..da9378296 100644 --- a/objects/fdff9d/object.json +++ b/objects/fdff9d/object.json @@ -20,9 +20,9 @@ "z": 0.0 }, "ColorDiffuse": { - "r": 0.4313982129096985, + "r": 0.4313996136188507, "g": 0.5254998803138733, - "b": 0.047098711133003235 + "b": 0.047099724411964417 }, "LayoutGroupSortIndex": 0, "Value": 0, diff --git a/objects/fe680a/object.json b/objects/fe680a/object.json index 201717ac1..a65f88ce9 100644 --- a/objects/fe680a/object.json +++ b/objects/fe680a/object.json @@ -22,7 +22,7 @@ "ColorDiffuse": { "r": 0.8392000198364258, "g": 0.5724999904632568, - "b": 0.396098256111145 + "b": 0.39609962701797485 }, "Tags": [ "Uninteractable" diff --git a/savegame.json b/savegame.json index 92211c113..f6c0364cc 100644 --- a/savegame.json +++ b/savegame.json @@ -1,7 +1,7 @@ { "SaveName": "Spirit Island [By MJ & iakona]", - "EpochTime": 1727645376, - "Date": "9/29/2024 10:29:36 PM", + "EpochTime": 1734457765, + "Date": "12/17/2024 5:49:25 PM", "VersionNumber": "v13.3", "GameMode": "Spirit Island [By MJ & iakona]", "GameType": "Game", diff --git a/script.lua b/script.lua index 1b440fc02..0bdb16f63 100644 --- a/script.lua +++ b/script.lua @@ -1,5 +1,5 @@ ---- Versioning -version = "4.4.1" +version = "4.4.2" versionGuid = "57d9fe" ---- Used with Spirit Board Scripts counterBag = "EnergyCounters" @@ -894,6 +894,7 @@ function onLoad(saved_data) updateCurrentPhase(false) seaTile.registerCollisions(false) SetupPowerDecks() + SetupIslandButtons() Wait.frames(addGainPowerCardButtons, 1) Wait.condition(function() aidBoard.call("setupGame") @@ -2067,7 +2068,7 @@ function MajorPowerC(obj, player_color, alt_click) if alt_click then cards = 2 end - startDealPowerCards({player = Player[player_color], major = true, count = cards}) + startDraftPowerCards({player = Player[player_color], major = true, count = cards}) end function MajorPowerUI(player, button) if player.color == "Grey" then return end @@ -2076,14 +2077,14 @@ function MajorPowerUI(player, button) if math.abs(button) > 1 then cards = 2 end - startDealPowerCards({player = player, major = true, count = cards}) + startDraftPowerCards({player = player, major = true, count = cards}) end function MinorPowerC(obj, player_color, alt_click) local cards = 4 if alt_click then cards = 6 end - startDealPowerCards({player = Player[player_color], major = false, count = cards}) + startDraftPowerCards({player = Player[player_color], major = false, count = cards}) end function MinorPowerUI(player, button) if player.color == "Grey" then return end @@ -2092,7 +2093,7 @@ function MinorPowerUI(player, button) if math.abs(button) > 1 then cards = 6 end - startDealPowerCards({player = player, major = false, count = cards}) + startDraftPowerCards({player = player, major = false, count = cards}) end function modifyCardGain(params) for _,obj in pairs(getObjectsWithTag("Modify Card Gain")) do @@ -2100,78 +2101,49 @@ function modifyCardGain(params) end return params.count end -function startDealPowerCards(params) - -- protection from double clicking - if scriptWorkingCardC then return end - scriptWorkingCardC = true - - params.count = modifyCardGain({color = params.player.color, major = params.major, count = params.count}) - local playtestCount = getPlaytestCount({count = params.count, major = params.major}) - - if params.major then - _G["startDealPowerCardsCo"] = function() - DealPowerCards( - params.player, - params.count, - getObjectFromGUID(majorPowerZone), - getObjectFromGUID(majorPowerDiscardZone), - getObjectFromGUID(playtestMajorPowerZone), - getObjectFromGUID(playtestMajorPowerDiscardZone), - playtestCount - ) - return 1 - end - else - _G["startDealPowerCardsCo"] = function() - DealPowerCards( - params.player, - params.count, - getObjectFromGUID(minorPowerZone), - getObjectFromGUID(minorPowerDiscardZone), - getObjectFromGUID(playtestMinorPowerZone), - getObjectFromGUID(playtestMinorPowerDiscardZone), - playtestCount - ) - return 1 - end +function getCardPositions(params) + local xPadding = 4.4 + if params.count > 4 then + xPadding = 3.6 + end + local pairShift = 0 -- Pairing cards for two-player Destiny Unfolds + if params.pair then + pairShift = xPadding - 3.34 end - startLuaCoroutine(Global, "startDealPowerCardsCo") + local cardPositions = {} + for i = 1,params.count do + local x = (i - (params.count + 1) / 2) * xPadding + (i%2 - 0.5) * pairShift + table.insert(cardPositions, params.tablePos + tableOffset + Vector(x, 0, 0)) + end + return cardPositions end -function DealPowerCards(player, cardCount, deckZone, discardZone, playtestDeckZone, playtestDiscardZone, playtestCount) - local deckObj = deckZone.getObjects()[1] - local discardObj = discardZone.getObjects()[1] - local playtestDeckObj = playtestDeckZone.getObjects()[1] - local playtestDiscardObj = playtestDiscardZone.getObjects()[1] +function dealPowerCards(params) + local deckZones = { + major = { + deck = getObjectFromGUID(majorPowerZone), + discard = getObjectFromGUID(majorPowerDiscardZone), + playtestDeck = getObjectFromGUID(playtestMajorPowerZone), + playtestDiscard = getObjectFromGUID(playtestMajorPowerDiscardZone) + }, + minor = { + deck = getObjectFromGUID(minorPowerZone), + discard = getObjectFromGUID(minorPowerDiscardZone), + playtestDeck = getObjectFromGUID(playtestMinorPowerZone), + playtestDiscard = getObjectFromGUID(playtestMinorPowerDiscardZone) + } + } - -- clear the zone! - local playerTable = playerTables[player.color] - if playerTable == nil then - scriptWorkingCardC = false - return - end - local tablePos = playerTable.getPosition() - local discardTable = DiscardPowerCards(tablePos) - if #discardTable > 0 then - wt(0.1) + local deckObjs = {} + for cardType,_ in pairs(deckZones) do + deckObjs[cardType] = {} + for key,zone in pairs(deckZones[cardType]) do + deckObjs[cardType][key] = zone.getObjects()[1] + end end - local xPadding = 4.4 - if cardCount > 4 then - xPadding = 3.6 - end - if cardCount > 6 then - player.broadcast("Gaining more than 6 cards is not supported.", Color.Red) - scriptWorkingCardC = false - return - end - local cardPlaceOffset = {} - for i = -(cardCount-1)/2,(cardCount-1)/2,1 do - table.insert(cardPlaceOffset, Vector(i*xPadding,0,0)) - end local cardsAdded = 0 local cardsResting = 0 - local powerDealCentre = tableOffset + tablePos local function countDeck(deck) if deck == nil then @@ -2183,12 +2155,12 @@ function DealPowerCards(player, cardCount, deckZone, discardZone, playtestDeckZo end return 0 end - local function dealPowerCards(deck, discard, deckPos, count, isPlaytest) + local function deal(deck, discard, deckPos, count, isPlaytest) if deck == nil then elseif deck.type == "Card" then if count > 0 then deck.setLock(true) - deck.setPositionSmooth(powerDealCentre + cardPlaceOffset[cardsAdded + 1]) + deck.setPositionSmooth(params.cardPositions[cardsAdded + 1]) deck.setRotationSmooth(Vector(0, 180, 0)) if isPlaytest then deck.addTag("Playtest") @@ -2201,7 +2173,7 @@ function DealPowerCards(player, cardCount, deckZone, discardZone, playtestDeckZo elseif deck.type == "Deck" then for _=1, math.min(deck.getQuantity(), count) do local tempCard = deck.takeObject({ - position = powerDealCentre + cardPlaceOffset[cardsAdded + 1], + position = params.cardPositions[cardsAdded + 1], rotation = Vector(0, 180, 0), callback_function = CreatePickPowerButton, }) @@ -2220,22 +2192,106 @@ function DealPowerCards(player, cardCount, deckZone, discardZone, playtestDeckZo discard.shuffle() wt(0.5) - dealPowerCards(discard, nil, deckPos, count, isPlaytest) + deal(discard, nil, deckPos, count, isPlaytest) + end + end + + local counts = { + major = { + total = params.numMajors, + playtest = params.numPlaytestMajors + }, + minor = { + total = params.numMinors, + playtest = params.numPlaytestMinors + } + } + + for cardType,_ in pairs(counts) do + -- If there are not enough playtest powers available, deal more non-playtest powers, or vice versa + if counts[cardType].playtest > 0 then + local availableCards = countDeck(deckObjs[cardType].deck) + countDeck(deckObjs[cardType].discard) + local availablePlaytestCards = countDeck(deckObjs[cardType].playtestDeck) + countDeck(deckObjs[cardType].playtestDiscard) + counts[cardType].playtest = math.min(counts[cardType].playtest, availablePlaytestCards) + counts[cardType].playtest = math.max(counts[cardType].playtest, counts[cardType].total - availableCards) + end + + deal(deckObjs[cardType].deck, deckObjs[cardType].discard, deckZones[cardType].deck.getPosition(), counts[cardType].total - counts[cardType].playtest, false) + deal(deckObjs[cardType].playtestDeck, deckObjs[cardType].playtestDiscard, deckZones[cardType].playtestDeck.getPosition(), counts[cardType].playtest, true) + end + + if params.callback_function ~= nil then + -- When another object uses Global.call and passes a parameters table including a function, it throws an "unknown error" + -- As a workaround, we take a function name, and the object to call it on + Wait.condition(function() params.callback_object.call(params.callback_function) end, function() return cardsResting == cardsAdded end) + end +end +function endDraftPowerCards() + scriptWorkingCardC = false +end +function startDraftPowerCards(params) + -- protection from double clicking + if scriptWorkingCardC then return end + scriptWorkingCardC = true + + params.count = modifyCardGain({color = params.player.color, major = params.major, count = params.count}) + local playtestCount = getPlaytestCount({count = params.count, major = params.major}) + + if params.major then + _G["startDraftPowerCardsCo"] = function() + draftPowerCards( + params.player, + params.count, + playtestCount, + 0, + 0 + ) + return 1 + end + else + _G["startDraftPowerCardsCo"] = function() + draftPowerCards( + params.player, + 0, + 0, + params.count, + playtestCount + ) + return 1 end end - -- If there are not enough playtest powers available, deal more non-playtest powers, or vice versa - if playtestCount > 0 then - local availableCards = countDeck(deckObj) + countDeck(discardObj) - local availablePlaytestCards = countDeck(playtestDeckObj) + countDeck(playtestDiscardObj) - playtestCount = math.min(playtestCount, availablePlaytestCards) - playtestCount = math.max(playtestCount, cardCount - availableCards) + startLuaCoroutine(Global, "startDraftPowerCardsCo") +end +function draftPowerCards(player, numMajors, numPlaytestMajors, numMinors, numPlaytestMinors) + -- clear the zone! + local playerTable = playerTables[player.color] + if playerTable == nil then + scriptWorkingCardC = false + return + end + local tablePos = playerTable.getPosition() + local discardTable = DiscardPowerCards(tablePos) + if #discardTable > 0 then + wt(0.1) end - dealPowerCards(deckObj, discardObj, deckZone.getPosition(), cardCount - playtestCount, false) - dealPowerCards(playtestDeckObj, playtestDiscardObj, playtestDeckZone.getPosition(), playtestCount, true) + if numMinors + numMajors > 6 then + player.broadcast("Gaining more than 6 cards is not supported.", Color.Red) + scriptWorkingCardC = false + return + end + local cardPositions = getCardPositions({tablePos = tablePos, count = numMinors + numMajors}) - Wait.condition(function() scriptWorkingCardC = false end, function() return cardsResting == cardsAdded end) + dealPowerCards({ + cardPositions = cardPositions, + numMinors = numMinors, + numPlaytestMinors = numPlaytestMinors, + numMajors = numMajors, + numPlaytestMajors = numPlaytestMajors, + callback_function = "endDraftPowerCards", + callback_object = Global + }) end function CreatePickPowerButton(card) local scale = flipVector(Vector(card.getScale())) @@ -3299,6 +3355,11 @@ function BoardSetup() MapPlaceCustom(maps) end + SetupIslandButtons() + + Wait.condition(function() stagesSetup = stagesSetup + 1 end, function() return boardsSetup == numBoards end) +end +function SetupIslandButtons() SetupChecker.createButton({ click_function = "ShiftIslandNorth", function_owner = Global, @@ -3387,8 +3448,6 @@ function BoardSetup() font_size = 250, tooltip = "Click to shift islands West", }) - - Wait.condition(function() stagesSetup = stagesSetup + 1 end, function() return boardsSetup == numBoards end) end function ShiftIslandNorth() ShiftIsland(Vector(0, 0, 1)) @@ -6835,6 +6894,7 @@ function setupColor(table, color) end table.setColorTint(colorTint) end +handScale = Vector(18.41, 6.48, 4.7) function SpawnHand(params) spawnObjectData({ data = { @@ -6855,7 +6915,7 @@ function SpawnHand(params) }, position = params.position, rotation = Vector(0, 0, 0), - scale = Vector(18.41, 6.48, 4.7), + scale = handScale, }) end -- @param params.seated Boolean indicating if a player is about to be seated here. @@ -7406,7 +7466,7 @@ function swapPlayerAreaObjects(a, b, colorA, colorB) guids[obj.guid] = true end - if selectedColors[color].zone then + if selectedColors[color] then for _, obj in pairs(selectedColors[color].zone.getObjects()) do if not guids[obj.guid] then table.insert(t, obj) @@ -7430,8 +7490,8 @@ function swapPlayerAreaObjects(a, b, colorA, colorB) end for _,obj in ipairs(getObjects()) do local objPos = obj.getPosition() - local powerZonePos = Player[color].getHandTransform().position + tableOffset - if obj.type == "Fog" and obj.getData().FogColor == color and objPos.x == powerZonePos.x and objPos.z <= powerZonePos.z then + local powerZonePos = playerTables[color].getPosition() + tableOffset + if obj.type == "Fog" and obj.getData().FogColor == color and objPos.x == powerZonePos.x and objPos.z <= powerZonePos.z + 0.01 then if not guids[obj.guid] then table.insert(t, obj) guids[obj.guid] = true @@ -8063,19 +8123,25 @@ function getReminderXml(params) for key,value in pairs(getReminderImageAttributes(params)) do attributesString = attributesString.." "..key.."=\""..value.."\"" end - return "" + return "" end function setReminderLabel(params) local obj, num = params.obj, params.num - obj.clearButtons(); + obj.clearButtons() if num > 0 then + local color + if obj.hasTag("Black Text") then + color = Color(0, 0, 0) + else + color = Color.White + end obj.createButton({ click_function = "nullFunc", function_owner = Global, label = tostring(num), - position = Vector(0,0.1,0), + position = Vector(0,0.15,0), font_size = 700, - font_color = Color.White, + font_color = color, width = 0, height = 0, }) @@ -8110,6 +8176,9 @@ function spawnMaskedReminder(color, obj, isMarker) else name = color.."'s "..obj.getName().." Reminder" tags = {"Destroy", "Mask", "Reminder Token"} + if obj.hasTag("Black Text") then + table.insert(tags, "Black Text") + end scale = Vector(0.9, 0.9, 0.9) scriptSuffix = "function onNumberTyped(_, num) Global.call(\"setReminderLabel\", {obj = self, num = num}); self.script_state = tostring(num) end" onLoadSuffix = "self.max_typed_number = 99; if(saved_data ~= \"\") then onNumberTyped(nil, tonumber(saved_data)) end" @@ -8341,3 +8410,10 @@ end function EnableOceanDrowningLimit() SetupChecker.setVar("optionalDrowningCap", true) end +function UnlockIslandBoards() + for _,obj in ipairs(getObjects()) do + if isIslandBoard({obj=obj}) then + obj.interactable = true + end + end +end