Merge branch 'main' into playermats
This commit is contained in:
commit
7871924bcc
@ -186,7 +186,7 @@
|
||||
"TokenArranger.022907",
|
||||
"ChaosBagManager.023240",
|
||||
"PlaceholderBoxDummy.a93466",
|
||||
"TheMatterofBritain.194cc5",
|
||||
"Lovecrafter3077.b08d20",
|
||||
"Tokencache_1.a15273",
|
||||
"Tokencache_0.0a8592",
|
||||
"Tokencache_-1.b644d2",
|
||||
@ -207,7 +207,7 @@
|
||||
"Tokencache_Curse.16a9a7",
|
||||
"Tokencache_Frost.b2b7be",
|
||||
"PhysicsDetector.b300d8",
|
||||
"ArkhamSCE380-5122024-Page1.bd6b3e",
|
||||
"ArkhamSCE390-06302024-Page1.bd6b3e",
|
||||
"Neutral.834ad5",
|
||||
"Neutral.a84ae4",
|
||||
"Neutral.762df8",
|
||||
@ -230,7 +230,7 @@
|
||||
0,
|
||||
0
|
||||
],
|
||||
"SaveName": "Arkham SCE - 3.8.0",
|
||||
"SaveName": "Arkham SCE - 3.9.0",
|
||||
"Sky": "Sky_Museum",
|
||||
"SkyURL": "https://i.imgur.com/GkQqaOF.jpg",
|
||||
"SnapPoints_path": "SnapPoints.json",
|
||||
|
@ -314,5 +314,40 @@
|
||||
"y": 1.481,
|
||||
"z": -87
|
||||
}
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"x": 60,
|
||||
"y": 1.481,
|
||||
"z": 48
|
||||
}
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"x": -42,
|
||||
"y": 1.481,
|
||||
"z": 89
|
||||
}
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"x": -42,
|
||||
"y": 1.481,
|
||||
"z": 71
|
||||
}
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"x": -62,
|
||||
"y": 1.481,
|
||||
"z": 71
|
||||
}
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"x": -62,
|
||||
"y": 1.481,
|
||||
"z": 89
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -10,7 +10,7 @@
|
||||
"g": 1,
|
||||
"r": 1
|
||||
},
|
||||
"Description": "Thanks for downloading Arkham SCE 3.8.0!\n\nAdded Parallel Rex Murphy to the deck importer!\r\nPlaymat slots are now editable via a new button!\nThe options panel has been updated with a new look.\r\nEdge of the Earth weaknesses now spawn with a single Damage or Horror token as a reminder of how they can be removed.\r",
|
||||
"Description": "Thanks for downloading Arkham SCE 3.9.0!\n\n- Added confirmation dialog for discard hotkey (e.g. for locations)\r\n- Added new action / ability tokens\r\n- Added automated discarding for Patrice\r\n- Added new option to enable all card helpers\r\n- Added new option to load class-specific playermats\r",
|
||||
"DragSelectable": true,
|
||||
"GMNotes": "",
|
||||
"GUID": "bd6b3e",
|
||||
@ -25,7 +25,7 @@
|
||||
"LuaScriptState": "",
|
||||
"MeasureMovement": false,
|
||||
"Name": "Notecard",
|
||||
"Nickname": "Arkham SCE 3.8.0 - 5/12/2024 - Page 1",
|
||||
"Nickname": "Arkham SCE 3.9.0 - 06/30/2024 - Page 1",
|
||||
"Snap": true,
|
||||
"States": {
|
||||
"2": {
|
||||
@ -40,10 +40,10 @@
|
||||
"g": 1,
|
||||
"r": 1
|
||||
},
|
||||
"Description": "Draw Encounter button now draws to the draw area on left-click, and to the rightmost empty threat area slot on right-click.\nCard states can now be changed with number keys.\r\nCleanup Helper now resets activation tokens.\r\nThe deck importer now can import Hemlock Vale story assets.\r\nHotkey Reference card has been updated.",
|
||||
"Description": "\n- Performed a small clean up of the bottom corners of the table\r\n- Updated 'Additional Cards Bag' / 'Player Card Panel' with better handling for fan-made cards\r\n- Updated Clean Up Helper, Drawing Tool, Hand Helper and Search Assistant\r\n- Updated Token Arranger",
|
||||
"DragSelectable": true,
|
||||
"GMNotes": "",
|
||||
"GUID": "4a2b72",
|
||||
"GUID": "522604",
|
||||
"Grid": true,
|
||||
"GridProjection": false,
|
||||
"Hands": false,
|
||||
@ -55,17 +55,17 @@
|
||||
"LuaScriptState": "",
|
||||
"MeasureMovement": false,
|
||||
"Name": "Notecard",
|
||||
"Nickname": "Arkham SCE 3.8.0 - 5/12/2024 - Page 2",
|
||||
"Nickname": "Arkham SCE 3.9.0 - 06/30/2024 - Page 2",
|
||||
"Snap": true,
|
||||
"Sticky": true,
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": -27,
|
||||
"posY": 1.55149889,
|
||||
"posY": 1.551,
|
||||
"posZ": -56.165,
|
||||
"rotX": 4.07705976e-8,
|
||||
"rotY": 90.00001,
|
||||
"rotZ": 4.08891943e-9,
|
||||
"rotX": 0,
|
||||
"rotY": 90,
|
||||
"rotZ": 0,
|
||||
"scaleX": 3,
|
||||
"scaleY": 1,
|
||||
"scaleZ": 3
|
||||
@ -85,10 +85,10 @@
|
||||
"g": 1,
|
||||
"r": 1
|
||||
},
|
||||
"Description": "Nkosi Mabati helper updated with custom token compatability.\nNew right-click option has been added Nepthys.\nRite of Sanctification no longer has to be right-clicked for each token sealed.\nFixed Ancient Covenant and Blasphemous Covenant having low-quality images.\nMyriad other under-the-hood code optimizations and bugfixes.",
|
||||
"Description": "\n- Implemented menu to redraw tokens for specific cards like Heavy Furs and Wendy Adams\r\n- Bugfix for attempting to draw an encounter card while there is no deck\r\n- Bugfix for Navigation Overlay: now checks if playmat is occupied\r\n- Bugfix for Phase Tracker broadcasting\r\n- Performance improvements",
|
||||
"DragSelectable": true,
|
||||
"GMNotes": "",
|
||||
"GUID": "b27cd3",
|
||||
"GUID": "522877",
|
||||
"Grid": true,
|
||||
"GridProjection": false,
|
||||
"Hands": false,
|
||||
@ -100,17 +100,17 @@
|
||||
"LuaScriptState": "",
|
||||
"MeasureMovement": false,
|
||||
"Name": "Notecard",
|
||||
"Nickname": "Arkham SCE 3.8.0 - 5/12/2024 - Page 3",
|
||||
"Nickname": "Arkham SCE 3.9.0 - 06/30/2024 - Page 3",
|
||||
"Snap": true,
|
||||
"Sticky": true,
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": -27,
|
||||
"posY": 1.55149889,
|
||||
"posY": 1.551,
|
||||
"posZ": -56.165,
|
||||
"rotX": 5.014709e-8,
|
||||
"rotY": 90.00001,
|
||||
"rotZ": 3.128093e-8,
|
||||
"rotX": 0,
|
||||
"rotY": 90,
|
||||
"rotZ": 0,
|
||||
"scaleX": 3,
|
||||
"scaleY": 1,
|
||||
"scaleZ": 3
|
@ -55,7 +55,7 @@
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": 20.6,
|
||||
"posY": 1.486,
|
||||
"posY": 1.481,
|
||||
"posZ": -65,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
|
@ -6,7 +6,7 @@
|
||||
},
|
||||
"Autoraise": true,
|
||||
"ColorDiffuse": {
|
||||
"a": 0.25,
|
||||
"a": 0.75,
|
||||
"b": 0.168,
|
||||
"g": 0.701,
|
||||
"r": 0.192
|
||||
|
@ -6,7 +6,7 @@
|
||||
},
|
||||
"Autoraise": true,
|
||||
"ColorDiffuse": {
|
||||
"a": 0.25,
|
||||
"a": 0.75,
|
||||
"b": 0.25,
|
||||
"g": 0.25,
|
||||
"r": 0.25
|
||||
|
@ -15,16 +15,16 @@
|
||||
"CastShadows": true,
|
||||
"ColliderURL": "",
|
||||
"Convex": true,
|
||||
"DiffuseURL": "https://i.ibb.co/1GLSncs/title.jpg",
|
||||
"DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2466364192777858421/669B09277F042A9A1328F1D62D79D9221D4B4D53/",
|
||||
"MaterialIndex": 3,
|
||||
"MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj",
|
||||
"NormalURL": "",
|
||||
"TypeIndex": 0
|
||||
},
|
||||
"Description": "by Frying Tonight",
|
||||
"Description": "by RudeRugg",
|
||||
"DragSelectable": true,
|
||||
"GMNotes": "fancreations/campaign_the_matter_of_britain.json",
|
||||
"GUID": "194cc5",
|
||||
"GMNotes": "fancreations/campaign_lovecrafter_3077.json",
|
||||
"GUID": "b08d20",
|
||||
"Grid": true,
|
||||
"GridProjection": false,
|
||||
"Hands": false,
|
||||
@ -36,11 +36,10 @@
|
||||
"LuaScriptState": "",
|
||||
"MeasureMovement": false,
|
||||
"Name": "Custom_Model",
|
||||
"Nickname": " The Matter of Britain",
|
||||
"Nickname": " Lovecrafter 3077",
|
||||
"Snap": true,
|
||||
"Sticky": true,
|
||||
"Tags": [
|
||||
"CampaignBox",
|
||||
"LargeBox"
|
||||
],
|
||||
"Tooltip": true,
|
@ -55,7 +55,7 @@
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": 35.4,
|
||||
"posY": 1.486,
|
||||
"posY": 1.481,
|
||||
"posZ": -52,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
|
@ -55,7 +55,7 @@
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": 35.4,
|
||||
"posY": 1.486,
|
||||
"posY": 1.481,
|
||||
"posZ": -78,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
|
@ -55,7 +55,7 @@
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": 20.6,
|
||||
"posY": 1.486,
|
||||
"posY": 1.481,
|
||||
"posZ": -91,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
|
@ -55,7 +55,7 @@
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": 50.2,
|
||||
"posY": 1.486,
|
||||
"posY": 1.481,
|
||||
"posZ": -78,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
|
@ -55,7 +55,7 @@
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": 20.6,
|
||||
"posY": 1.486,
|
||||
"posY": 1.481,
|
||||
"posZ": -52,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
|
@ -55,7 +55,7 @@
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": 20.6,
|
||||
"posY": 1.486,
|
||||
"posY": 1.481,
|
||||
"posZ": -78,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
|
@ -40,7 +40,7 @@ local bagSearchers = {}
|
||||
local hideTitleSplashWaitFunctionId = nil
|
||||
|
||||
-- online functionality related variables
|
||||
local MOD_VERSION = "3.8.0"
|
||||
local MOD_VERSION = "3.9.0"
|
||||
local SOURCE_REPO = 'https://raw.githubusercontent.com/chr1z93/loadable-objects/main'
|
||||
local library, requestObj, modMeta
|
||||
local acknowledgedUpgradeVersions = {}
|
||||
@ -189,15 +189,26 @@ function tryObjectEnterContainer(container, object)
|
||||
end
|
||||
|
||||
-- TTS event for objects that enter zones
|
||||
-- used to detect the "token discard zones" beneath the hand zones
|
||||
function onObjectEnterZone(zone, enteringObj)
|
||||
if zone.getName() ~= "TokenDiscardZone" then return end
|
||||
if tokenChecker.isChaosToken(enteringObj) then return end
|
||||
|
||||
if enteringObj.type == "Tile" and enteringObj.getMemo() and enteringObj.getLock() == false then
|
||||
local matcolor = playermatApi.getMatColorByPosition(enteringObj.getPosition())
|
||||
function onObjectEnterZone(zone, object)
|
||||
-- detect the "token discard zones" beneath the hand zones
|
||||
if zone.getName() == "TokenDiscardZone" and
|
||||
not tokenChecker.isChaosToken(object) and
|
||||
object.type == "Tile" and
|
||||
object.getMemo() and
|
||||
not object.getLock() then
|
||||
local matcolor = playermatApi.getMatColorByPosition(object.getPosition())
|
||||
local trash = guidReferenceApi.getObjectByOwnerAndType(matcolor, "Trash")
|
||||
trash.putObject(enteringObj)
|
||||
trash.putObject(object)
|
||||
elseif zone.type == "Hand" and object.hasTag("CardWithHelper") then
|
||||
object.clearContextMenu()
|
||||
object.call("shutOff")
|
||||
end
|
||||
end
|
||||
|
||||
-- TTS event for objects that leave zones
|
||||
function onObjectLeaveZone(zone, object)
|
||||
if zone.type == "Hand" and object.hasTag("CardWithHelper") then
|
||||
object.call("updateDisplay")
|
||||
end
|
||||
end
|
||||
|
||||
@ -1335,8 +1346,7 @@ function contentDownloadCallback(request, params)
|
||||
if pos then
|
||||
spawnTable.position = pos
|
||||
else
|
||||
broadcastToAll(
|
||||
"Please make space in the area below the tentacle stand in the upper middle of the table and try again.", "Red")
|
||||
broadcastToAll("Please make space in the area below the tentacle stand in the upper middle of the table and try again.", "Red")
|
||||
return
|
||||
end
|
||||
end
|
||||
|
@ -4,13 +4,9 @@ local guidReferenceApi = require("core/GUIDReferenceApi")
|
||||
local playermatApi = require("playermat/PlayermatApi")
|
||||
|
||||
local isHelperEnabled = false
|
||||
local loopId
|
||||
|
||||
function updateSave()
|
||||
self.script_state = JSON.encode({
|
||||
isHelperEnabled = isHelperEnabled,
|
||||
loopId = loopId
|
||||
})
|
||||
self.script_state = JSON.encode({ isHelperEnabled = isHelperEnabled })
|
||||
end
|
||||
|
||||
function onLoad(savedData)
|
||||
@ -18,7 +14,6 @@ function onLoad(savedData)
|
||||
if savedData and savedData ~= "" then
|
||||
local loadedData = JSON.decode(savedData)
|
||||
isHelperEnabled = loadedData.isHelperEnabled
|
||||
loopId = loadedData.loopId
|
||||
end
|
||||
checkOptionPanel()
|
||||
updateDisplay()
|
||||
@ -27,15 +22,15 @@ end
|
||||
-- hide buttons and stop monitoring
|
||||
function shutOff()
|
||||
self.UI.hide("Helper")
|
||||
if loopId then Wait.stop(loopId) end
|
||||
loopId = nil
|
||||
Wait.stopAll()
|
||||
updateSave()
|
||||
end
|
||||
|
||||
-- show buttons and begin monitoring chaos bag for curse and bless tokens
|
||||
function initialize()
|
||||
self.UI.show("Helper")
|
||||
loopId = Wait.time(maybeUpdateButtonState, 1, -1)
|
||||
maybeUpdateButtonState()
|
||||
Wait.time(maybeUpdateButtonState, 1, -1)
|
||||
updateSave()
|
||||
end
|
||||
|
||||
@ -72,10 +67,8 @@ function getBlessCurseInBag()
|
||||
local chaosBag = chaosBagApi.findChaosBag()
|
||||
|
||||
for _, v in ipairs(chaosBag.getObjects()) do
|
||||
if v.name == "Bless" then
|
||||
numInBag.Bless = numInBag.Bless + 1
|
||||
elseif v.name == "Curse" then
|
||||
numInBag.Curse = numInBag.Curse + 1
|
||||
if v.name == "Bless" or v.name == "Curse" then
|
||||
numInBag[v.name] = numInBag[v.name] + 1
|
||||
end
|
||||
end
|
||||
|
||||
@ -83,22 +76,14 @@ function getBlessCurseInBag()
|
||||
end
|
||||
|
||||
function setUiState(params)
|
||||
-- set bless state
|
||||
if params.Bless then
|
||||
self.UI.show("Bless")
|
||||
self.UI.hide("inactiveBless")
|
||||
else
|
||||
self.UI.show("inactiveBless")
|
||||
self.UI.hide("Bless")
|
||||
end
|
||||
|
||||
-- set curse state
|
||||
if params.Curse then
|
||||
self.UI.show("Curse")
|
||||
self.UI.hide("inactiveCurse")
|
||||
else
|
||||
self.UI.show("inactiveCurse")
|
||||
self.UI.hide("Curse")
|
||||
for _, tokenName in ipairs({ "Bless", "Curse" }) do
|
||||
if params[tokenName] then
|
||||
self.UI.show(tokenName)
|
||||
self.UI.hide("inactive" .. tokenName)
|
||||
else
|
||||
self.UI.show("inactive" .. tokenName)
|
||||
self.UI.hide(tokenName)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -59,9 +59,6 @@ end
|
||||
|
||||
function shutOff()
|
||||
self.clearButtons()
|
||||
|
||||
-- reset the z position
|
||||
buttonParameters.position.z = initialButtonPosition
|
||||
end
|
||||
|
||||
-- marks a button as active
|
||||
@ -80,6 +77,8 @@ end
|
||||
|
||||
-- Create buttons based on the button parameters
|
||||
function createButtons()
|
||||
self.clearButtons()
|
||||
|
||||
-- reset the list in case of addition of checkboxes or Refine
|
||||
hypothesisList = { 'Succeed by 3 or more', 'Fail by 2 or more' }
|
||||
|
||||
@ -96,6 +95,10 @@ function createButtons()
|
||||
end
|
||||
end
|
||||
|
||||
-- reset the z position
|
||||
buttonParameters.position.z = initialButtonPosition
|
||||
|
||||
-- actual button creation
|
||||
for i, label in ipairs(hypothesisList) do
|
||||
buttonParameters.label = label
|
||||
buttonParameters.click_function = "selectButton" .. i
|
||||
|
@ -10,13 +10,10 @@ local buttonParameters = {
|
||||
height = 175
|
||||
}
|
||||
|
||||
local modValue, loopId
|
||||
local modValue
|
||||
|
||||
function updateSave()
|
||||
self.script_state = JSON.encode({
|
||||
isHelperEnabled = isHelperEnabled,
|
||||
loopId = loopId
|
||||
})
|
||||
self.script_state = JSON.encode({ isHelperEnabled = isHelperEnabled })
|
||||
end
|
||||
|
||||
function onLoad(savedData)
|
||||
@ -31,24 +28,21 @@ function onLoad(savedData)
|
||||
if savedData and savedData ~= "" then
|
||||
local loadedData = JSON.decode(savedData)
|
||||
isHelperEnabled = loadedData.isHelperEnabled
|
||||
loopId = loadedData.loopId
|
||||
end
|
||||
checkOptionPanel()
|
||||
updateDisplay()
|
||||
end
|
||||
|
||||
function initialize()
|
||||
self.clearButtons()
|
||||
self.createButton(buttonParameters)
|
||||
updateButton()
|
||||
loopId = Wait.time(updateButton, 2, -1)
|
||||
Wait.time(updateButton, 2, -1)
|
||||
end
|
||||
|
||||
function shutOff()
|
||||
if loopId then
|
||||
Wait.stop(loopId)
|
||||
loopId = nil
|
||||
end
|
||||
self.clearButtons()
|
||||
Wait.stopAll()
|
||||
end
|
||||
|
||||
function updateButton()
|
||||
|
Loading…
Reference in New Issue
Block a user