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