From 7659de4c59b2ab5fa152c12cfb9af4f4f9ec9cbf Mon Sep 17 00:00:00 2001 From: Entrox-Licher Date: Tue, 8 Aug 2023 02:17:43 -0400 Subject: [PATCH 01/25] Updated ChaosBagApi Utilization Changed all existing references to chaos bag functionality to utilize the new ChaosBagApi --- src/accessories/ChaosBagManager.ttslua | 7 +++--- src/accessories/TokenArranger.ttslua | 4 +++- src/chaosbag/BlessCurseManager.ttslua | 18 ++++++++------- src/chaosbag/ChaosBagApi.ttslua | 26 ++++++++++++++++++++++ src/core/VictoryDisplay.ttslua | 3 ++- src/playercards/CardsThatSealTokens.ttslua | 14 +++++++----- src/playermat/Playmat.ttslua | 6 +++-- 7 files changed, 57 insertions(+), 21 deletions(-) diff --git a/src/accessories/ChaosBagManager.ttslua b/src/accessories/ChaosBagManager.ttslua index 96fdced9..2fc700d7 100644 --- a/src/accessories/ChaosBagManager.ttslua +++ b/src/accessories/ChaosBagManager.ttslua @@ -34,6 +34,7 @@ buttonParameters.height = 300 local name local tokens = {} +local chaosBagApi = require("chaosbag/ChaosBagApi") function onLoad() -- create buttons for tokens @@ -60,11 +61,11 @@ function buttonClick(index, isRightClick) local tokenId = TOKEN_IDS[index] if isRightClick then - Global.call("removeChaosToken", tokenId) + chaosBagApi.removeChaosToken(tokenId) else local tokens = {} local name = BUTTON_TOOLTIP[index] - local chaosbag = Global.call("findChaosBag") + local chaosbag = chaosBagApi.findChaosBag() for _, v in ipairs(chaosbag.getObjects()) do if v.name == name then table.insert(tokens, v.guid) end @@ -76,7 +77,7 @@ function buttonClick(index, isRightClick) return end - Global.call("spawnChaosToken", tokenId) + chaosBagApi.spawnChaosToken(tokenId) printToAll("Adding " .. name .. " token (in bag: " .. #tokens + 1 .. ")", "White") end end diff --git a/src/accessories/TokenArranger.ttslua b/src/accessories/TokenArranger.ttslua index ab40d7a2..4b1421cb 100644 --- a/src/accessories/TokenArranger.ttslua +++ b/src/accessories/TokenArranger.ttslua @@ -37,6 +37,8 @@ local TOKEN_NAMES = { "" } +local chaosBagApi = require("chaosbag/ChaosBagApi") + -- saving the precedence settings and information on the most recently loaded data function onSave() return JSON.encode({ @@ -287,7 +289,7 @@ function layout(_, _, isRightClick) return end - local chaosBag = Global.call("findChaosBag") + local chaosBag = chaosBagApi.findChaosBag() local data = {} -- clone tokens from chaos bag (default position above trash can) diff --git a/src/chaosbag/BlessCurseManager.ttslua b/src/chaosbag/BlessCurseManager.ttslua index ce9eafc3..696df8a6 100644 --- a/src/chaosbag/BlessCurseManager.ttslua +++ b/src/chaosbag/BlessCurseManager.ttslua @@ -23,6 +23,8 @@ local FONT_COLOR = { local whitespace = " " local updating +local chaosBagApi = require("chaosbag/ChaosBagApi") + --------------------------------------------------------- -- creating buttons and menus + initializing tables --------------------------------------------------------- @@ -79,7 +81,7 @@ function initializeState() resetTables() -- count tokens in the bag - local chaosbag = Global.call("findChaosBag") + local chaosbag = chaosBagApi.findChaosBag() local tokens = {} for _, v in ipairs(chaosbag.getObjects()) do if v.name == "Bless" then @@ -117,7 +119,7 @@ end -- context menu function 1 function doRemove(color) - local chaosbag = Global.call("findChaosBag") + local chaosbag = chaosBagApi.findChaosBag() -- remove tokens from chaos bag local count = { Bless = 0, Curse = 0 } @@ -224,7 +226,7 @@ end -- function that is called by click_functions 1+2 and calls the other functions function callFunctions(token, isRightClick) - if not Global.call("canTouchChaosTokens") then + if not chaosBagApi.canTouchChaosTokens() then return end local success @@ -286,11 +288,11 @@ function addToken(type) end numInPlay[type] = numInPlay[type] + 1 printToAll("Adding " .. type .. " token " .. formatTokenCount(type)) - return Global.call("spawnChaosToken", type) + return chaosBagApi.spawnChaosToken(type) end function takeToken(type, remove) - local chaosbag = Global.call("findChaosBag") + local chaosbag = chaosBagApi.findChaosBag() if not remove and not SEAL_CARD_MESSAGE then broadcastToColor("For sealing tokens on cards try right-clicking on the card for seal options.", playerColor) SEAL_CARD_MESSAGE = true @@ -335,7 +337,7 @@ function returnToken(type) printToColor("Couldn't find token " .. guid .. ", not returning to bag", playerColor) return 0 end - local chaosbag = Global.call("findChaosBag") + local chaosbag = chaosBagApi.findChaosBag() if chaosbag == nil then return 0 end @@ -382,7 +384,7 @@ function addMenuOptions(parameters) end function sealToken(type, playerColor, enemy) - local chaosbag = Global.call("findChaosBag") + local chaosbag = chaosBagApi.findChaosBag() if chaosbag == nil then return end local pos = enemy.getPosition() @@ -407,7 +409,7 @@ function sealToken(type, playerColor, enemy) end function releaseToken(type, playerColor, enemy) - local chaosbag = Global.call("findChaosBag") + local chaosbag = chaosBagApi.findChaosBag() if chaosbag == nil then return end local tokens = sealedTokens[enemy.getGUID()] if tokens == nil or #tokens == 0 then return end diff --git a/src/chaosbag/ChaosBagApi.ttslua b/src/chaosbag/ChaosBagApi.ttslua index e2d0a1ae..11d3669b 100644 --- a/src/chaosbag/ChaosBagApi.ttslua +++ b/src/chaosbag/ChaosBagApi.ttslua @@ -28,5 +28,31 @@ do return Global.call("releaseAllSealedTokens", playerColor) end + -- removes the specified chaos token from the chaos bag + ---@param id String ID of the chaos token + ChaosBagApi.removeChaosToken = function(id) + return Global.call("removeChaosToken", id) + end + + -- spawns the specified chaos token and puts it into the chaos bag + ---@param id String ID of the chaos token + ChaosBagApi.spawnChaosToken = function(id) + return Global.call("spawnChaosToken", id) + end + + -- Checks to see if the chaos bag can be manipulated. If a player is searching the bag when tokens + -- are drawn or replaced a TTS bug can cause those tokens to vanish. Any functions which change the + -- contents of the bag should check this method before doing so. + -- This method will broadcast a message to all players if the bag is being searched. + ---@return Boolean. True if the bag is manipulated, false if it should be blocked. + ChaosBagApi.canTouchChaosTokens = function() + return Global.call("canTouchChaosTokens") + end + + -- called by playermats (by the "Draw chaos token" button) + ChaosBagApi.drawChaosToken = function(params) + return Global.call("drawChaosToken", params) + end + return ChaosBagApi end \ No newline at end of file diff --git a/src/core/VictoryDisplay.ttslua b/src/core/VictoryDisplay.ttslua index eaaebac8..ebdb9faf 100644 --- a/src/core/VictoryDisplay.ttslua +++ b/src/core/VictoryDisplay.ttslua @@ -8,6 +8,7 @@ local highlightMissing = false local highlightCounted = false local TRASHCAN local TRASHCAN_GUID = "70b9f6" +local chaosBagApi = require("chaosbag/ChaosBagApi") -- button creation when loading the game function onLoad() @@ -276,7 +277,7 @@ function placeCard(card) if obj.tag == "Deck" or obj.tag == "Card" then -- put chaos tokens back into bag elseif tokenChecker.isChaosToken(obj) then - local chaosBag = Global.call("findChaosBag") + local chaosBag = chaosBagApi.findChaosBag() chaosBag.putObject(obj) elseif obj.memo ~= nil and obj.getLock() == false then TRASHCAN.putObject(obj) diff --git a/src/playercards/CardsThatSealTokens.ttslua b/src/playercards/CardsThatSealTokens.ttslua index 03c09c3a..bdcf7093 100644 --- a/src/playercards/CardsThatSealTokens.ttslua +++ b/src/playercards/CardsThatSealTokens.ttslua @@ -74,6 +74,8 @@ local sealedTokens = {} local ID_URL_MAP = {} local tokensInBag = {} +local chaosBagApi = require("chaosbag/ChaosBagApi") + function onSave() return JSON.encode(sealedTokens) end function onLoad(savedData) @@ -129,7 +131,7 @@ end -- generates a list of chaos tokens that is in the chaos bag function readBag() - local chaosbag = Global.call("findChaosBag") + local chaosbag = chaosBagApi.findChaosBag() tokensInBag = {} for _, token in ipairs(chaosbag.getObjects()) do @@ -148,8 +150,8 @@ end -- seals the named token on this card function sealToken(name, playerColor) - if not Global.call("canTouchChaosTokens") then return end - local chaosbag = Global.call("findChaosBag") + if not chaosBagApi.canTouchChaosTokens() then return end + local chaosbag = chaosBagApi.findChaosBag() for i, obj in ipairs(chaosbag.getObjects()) do if obj.name == name then chaosbag.takeObject({ @@ -174,7 +176,7 @@ end -- release the last sealed token function releaseOneToken(playerColor) - if not Global.call("canTouchChaosTokens") then return end + if not chaosBagApi.canTouchChaosTokens() then return end if #sealedTokens == 0 then printToColor("No sealed token(s) found", playerColor) else @@ -197,7 +199,7 @@ end -- releases all sealed tokens function releaseAllTokens(playerColor) - if not Global.call("canTouchChaosTokens") then return end + if not chaosBagApi.canTouchChaosTokens() then return end if #sealedTokens == 0 then printToColor("No sealed token(s) found", playerColor) else @@ -215,7 +217,7 @@ function putTokenAway(guid) if not token then return end local name = token.getName() - local chaosbag = Global.call("findChaosBag") + local chaosbag = chaosBagApi.findChaosBag() chaosbag.putObject(token) tokenArrangerApi.layout() if name == "Bless" or name == "Curse" then diff --git a/src/playermat/Playmat.ttslua b/src/playermat/Playmat.ttslua index 6091dc4b..387db44a 100644 --- a/src/playermat/Playmat.ttslua +++ b/src/playermat/Playmat.ttslua @@ -56,6 +56,8 @@ local TRASHCAN local STAT_TRACKER local RESOURCE_COUNTER +local chaosBagApi = require("chaosbag/ChaosBagApi") + -- global variable so it can be reset by the Clean Up Helper activeInvestigatorId = "00000" local isDrawButtonVisible = false @@ -210,7 +212,7 @@ function makeDiscardHandlerFor(searchPosition, discardPosition) end -- put chaos tokens back into bag (e.g. Unrelenting) elseif tokenChecker.isChaosToken(obj) then - local chaosBag = Global.call("findChaosBag") + local chaosBag = chaosBagApi.findChaosBag() chaosBag.putObject(obj) -- don't touch the table or this playmat itself elseif obj.guid ~= "4ee1f2" and obj ~= self then @@ -772,7 +774,7 @@ end --------------------------------------------------------- function drawChaosTokenButton(_, _, isRightClick) - Global.call("drawChaosToken", {self, DRAWN_CHAOS_TOKEN_OFFSET, isRightClick}) + chaosBagApi.drawChaosToken({self, DRAWN_CHAOS_TOKEN_OFFSET, isRightClick}) end function drawEncountercard(_, _, isRightClick) From 79f7861f1e7a41d233c8b1371b0b9bd29fc8654a Mon Sep 17 00:00:00 2001 From: Entrox-Licher Date: Tue, 8 Aug 2023 12:49:31 -0400 Subject: [PATCH 02/25] More API Updates Added even more utilization of existing APIs, as well as expanding them a bit to cover a couple of more cases. Also, changed the get/setInvestigatorCount methods to live directly in the PlayAreaApi, since there didn't seem to be any reason to keep them in the PlayArea script. --- src/accessories/CleanUpHelper.ttslua | 3 ++- src/chaosbag/ChaosBagApi.ttslua | 6 +++++ src/core/PlayArea.ttslua | 14 ---------- src/core/PlayAreaApi.ttslua | 30 ++++++++++++++++++++-- src/core/PlayAreaSelector.ttslua | 14 +++++----- src/core/token/TokenManager.ttslua | 21 +++++++-------- src/playercards/AllCardsBagApi.ttslua | 8 ++++++ src/playercards/CardsThatSealTokens.ttslua | 5 ++-- 8 files changed, 64 insertions(+), 37 deletions(-) create mode 100644 src/playercards/AllCardsBagApi.ttslua diff --git a/src/accessories/CleanUpHelper.ttslua b/src/accessories/CleanUpHelper.ttslua index 031c79f6..dacbc73d 100644 --- a/src/accessories/CleanUpHelper.ttslua +++ b/src/accessories/CleanUpHelper.ttslua @@ -8,6 +8,7 @@ local soundCubeApi = require("core/SoundCubeApi") local playmatApi = require("playermat/PlaymatApi") local blessCurseManagerApi = require("chaosbag/BlessCurseManagerApi") local chaosBagApi = require("chaosbag/ChaosBagApi") +local playAreaAPI = require("core/PlayAreaApi") -- these objects will be ignored local IGNORE_GUIDS = { @@ -231,7 +232,7 @@ end -- gets the GUID of a custom data helper (if present) and adds it to the ignore list function ignoreCustomDataHelper() local playArea = getObjectFromGUID("721ba2") - local customDataHelper = playArea.getVar("customDataHelper") + local customDataHelper = playAreaAPI.getCustomDataHelper() if customDataHelper then table.insert(IGNORE_GUIDS, customDataHelper.getGUID()) end end diff --git a/src/chaosbag/ChaosBagApi.ttslua b/src/chaosbag/ChaosBagApi.ttslua index 11d3669b..4a95830f 100644 --- a/src/chaosbag/ChaosBagApi.ttslua +++ b/src/chaosbag/ChaosBagApi.ttslua @@ -54,5 +54,11 @@ do return Global.call("drawChaosToken", params) end + -- returns a Table List of chaos token ids in the current chaos bag + -- requires copying the data into a new table because TTS is weird about handling table return values in Global + ChaosBagApi.getIdUrlMap = function() + return Global.getTable("ID_URL_MAP") + end + return ChaosBagApi end \ No newline at end of file diff --git a/src/core/PlayArea.ttslua b/src/core/PlayArea.ttslua index 11934eb3..d182b272 100644 --- a/src/core/PlayArea.ttslua +++ b/src/core/PlayArea.ttslua @@ -504,20 +504,6 @@ function shiftContents(playerColor, direction) Wait.time(drawBaseConnections, 0.1) end --- Returns the current value of the investigator counter from the playmat ----@return. Number of investigators currently set on the counter -function getInvestigatorCount() - local investigatorCounter = getObjectFromGUID("f182ee") - return investigatorCounter.getVar("val") -end - --- Updates the current value of the investigator counter from the playmat ----@param count Number of investigators to set on the counter -function setInvestigatorCount(count) - local investigatorCounter = getObjectFromGUID("f182ee") - return investigatorCounter.call("updateVal", count) -end - -- Check to see if the given object is within the bounds of the play area, based solely on the X and -- Z coordinates, ignoring height ---@param object Object Object to check diff --git a/src/core/PlayAreaApi.ttslua b/src/core/PlayAreaApi.ttslua index 3bbc1be4..ed41b501 100644 --- a/src/core/PlayAreaApi.ttslua +++ b/src/core/PlayAreaApi.ttslua @@ -2,17 +2,18 @@ do local PlayAreaApi = { } local PLAY_AREA_GUID = "721ba2" + local INVESTIGATOR_COUNTER_GUID = "f182ee" -- Returns the current value of the investigator counter from the playmat ---@return Integer. Number of investigators currently set on the counter PlayAreaApi.getInvestigatorCount = function() - return getObjectFromGUID(PLAY_AREA_GUID).call("getInvestigatorCount") + return getObjectFromGUID(INVESTIGATOR_COUNTER_GUID).getVar("val") end -- Updates the current value of the investigator counter from the playmat ---@param count Number of investigators to set on the counter PlayAreaApi.setInvestigatorCount = function(count) - return getObjectFromGUID(PLAY_AREA_GUID).call("setInvestigatorCount", count) + return getObjectFromGUID(INVESTIGATOR_COUNTER_GUID).call("updateVal", count) end -- Move all contents on the play area (cards, tokens, etc) one slot in the given direction. Certain @@ -83,5 +84,30 @@ do return getObjectFromGUID(PLAY_AREA_GUID).call("isInPlayArea", object) end + -- Called by Custom Data Helpers to push their location data into the Data Helper. This adds the + -- data to the local token manager instance. + ---@param args Table Single-value array holding the GUID of the Custom Data Helper making the call + PlayAreaApi.updateLocations = function(args) + getObjectFromGUID(PLAY_AREA_GUID).call("updateLocations", args) + end + + PlayAreaApi.getCustomDataHelper = function() + return getObjectFromGUID(PLAY_AREA_GUID).getVar("customDataHelper") + end + + PlayAreaApi.getCustomObject = function() + return getObjectFromGUID(PLAY_AREA_GUID).getCustomObject() + end + + PlayAreaApi.setCustomObject = function(customInfo) + return getObjectFromGUID(PLAY_AREA_GUID).setCustomObject(customInfo) + end + + PlayAreaApi.reload = function() + return getObjectFromGUID(PLAY_AREA_GUID).reload() + end + + + return PlayAreaApi end diff --git a/src/core/PlayAreaSelector.ttslua b/src/core/PlayAreaSelector.ttslua index 0029c4fb..ac1a7dcb 100644 --- a/src/core/PlayAreaSelector.ttslua +++ b/src/core/PlayAreaSelector.ttslua @@ -1,5 +1,6 @@ local controlActive = false local DEFAULT_URL = "http://cloud-3.steamusercontent.com/ugc/998015670465071049/FFAE162920D67CF38045EFBD3B85AD0F916147B2/" +local playAreaAPI = require("core/PlayAreaApi") -- parameters for open/close button for reusing local buttonParameters = {} @@ -70,8 +71,7 @@ function none() end -- main function (can be called by other objects) function updateSurface(newURL) - local playArea = getObjectFromGUID("721ba2") - local customInfo = playArea.getCustomObject() + local customInfo = playAreaAPI.getCustomObject() if newURL ~= "" and newURL ~= nil and newURL ~= DEFAULT_URL then customInfo.image = newURL @@ -80,18 +80,18 @@ function updateSurface(newURL) customInfo.image = DEFAULT_URL broadcastToAll("Default Playmat Image Applied", { 0.2, 0.9, 0.2 }) end - - playArea.setCustomObject(customInfo) + + playAreaAPI.setCustomObject(customInfo) -- get custom data helper and call the playarea with it after reloading - local customDataHelper = playArea.getVar("customDataHelper") + local customDataHelper = playAreaAPI.getCustomDataHelper() local guid if customDataHelper then guid = customDataHelper.getGUID() end - playArea = playArea.reload() + playAreaAPI.reload() if guid ~= nil then - Wait.time(function() playArea.call("updateLocations", { guid }) end, 1) + Wait.time(function() playAreaAPI.updateLocations({ guid }) end, 1) end end diff --git a/src/core/token/TokenManager.ttslua b/src/core/token/TokenManager.ttslua index 235e8c58..7a8a2442 100644 --- a/src/core/token/TokenManager.ttslua +++ b/src/core/token/TokenManager.ttslua @@ -1,6 +1,7 @@ do - local tokenSpawnTracker = require("core/token/TokenSpawnTrackerApi") - local playArea = require("core/PlayAreaApi") + local tokenSpawnTrackerApi = require("core/token/TokenSpawnTrackerApi") + local playAreaApi = require("core/PlayAreaApi") + local optionPanelApi = require("core/OptionPanelApi") local PLAYER_CARD_TOKEN_OFFSETS = { [1] = { @@ -141,7 +142,7 @@ do ---@param extraUses Table A table of = which will modify the number of tokens --- spawned for that type. e.g. Akachi's playmat should pass "Charge"=1 TokenManager.spawnForCard = function(card, extraUses) - if tokenSpawnTracker.hasSpawnedTokens(card.getGUID()) then + if tokenSpawnTrackerApi.hasSpawnedTokens(card.getGUID()) then return end local metadata = JSON.decode(card.getGMNotes()) @@ -161,7 +162,7 @@ do ---@param shiftDown Number An offset for the z-value of this group of tokens ---@param subType Number Subtype of token to spawn. This will only differ from the tokenName for resource tokens TokenManager.spawnTokenGroup = function(card, tokenType, tokenCount, shiftDown, subType) - local optionPanel = Global.getTable("optionPanel") + local optionPanel = optionPanelApi.getOptions() if tokenType == "damage" or tokenType == "horror" then TokenManager.spawnCounterToken(card, tokenType, tokenCount, shiftDown) @@ -303,7 +304,7 @@ do -- callers. ---@param card Object Card object to reset the tokens for TokenManager.resetTokensSpawned = function(card) - tokenSpawnTracker.resetTokensSpawned(card.getGUID()) + tokenSpawnTrackerApi.resetTokensSpawned(card.getGUID()) end -- Pushes new player card data into the local copy of the Data Helper player data. @@ -369,14 +370,14 @@ do type = useInfo.type token = useInfo.token tokenCount = (useInfo.count or 0) - + (useInfo.countPerInvestigator or 0) * playArea.getInvestigatorCount() + + (useInfo.countPerInvestigator or 0) * playAreaApi.getInvestigatorCount() if extraUses ~= nil and extraUses[type] ~= nil then tokenCount = tokenCount + extraUses[type] end -- Shift each spawned group after the first down so they don't pile on each other TokenManager.spawnTokenGroup(card, token, tokenCount, (i - 1) * 0.8, type) end - tokenSpawnTracker.markTokensSpawned(card.getGUID()) + tokenSpawnTrackerApi.markTokensSpawned(card.getGUID()) end -- Spawn tokens for a card based on the data helper data. This will consider the face up/down state @@ -403,7 +404,7 @@ do tokenCount = playerData.tokenCount --log("Spawning data helper tokens for "..card.getName()..'['..card.getDescription()..']: '..tokenCount.."x "..token) TokenManager.spawnTokenGroup(card, token, tokenCount) - tokenSpawnTracker.markTokensSpawned(card.getGUID()) + tokenSpawnTrackerApi.markTokensSpawned(card.getGUID()) end -- Spawn tokens for a location using data retrieved from the Data Helper. @@ -414,7 +415,7 @@ do local clueCount = internal.getClueCountFromData(card, locationData) if clueCount > 0 then TokenManager.spawnTokenGroup(card, "clue", clueCount) - tokenSpawnTracker.markTokensSpawned(card.getGUID()) + tokenSpawnTrackerApi.markTokensSpawned(card.getGUID()) end end @@ -440,7 +441,7 @@ do if locationData.type == 'fixed' then return locationData.value elseif locationData.type == 'perPlayer' then - return locationData.value * playArea.getInvestigatorCount() + return locationData.value * playAreaApi.getInvestigatorCount() end error('unexpected location type: ' .. locationData.type) end diff --git a/src/playercards/AllCardsBagApi.ttslua b/src/playercards/AllCardsBagApi.ttslua new file mode 100644 index 00000000..521b9705 --- /dev/null +++ b/src/playercards/AllCardsBagApi.ttslua @@ -0,0 +1,8 @@ +do + local AllCardsBagApi = {} + local ALL_CARDS_BAG_GUID = "15bb07" + + + + return AllCardsBagApi +end \ No newline at end of file diff --git a/src/playercards/CardsThatSealTokens.ttslua b/src/playercards/CardsThatSealTokens.ttslua index bdcf7093..bc18d9d6 100644 --- a/src/playercards/CardsThatSealTokens.ttslua +++ b/src/playercards/CardsThatSealTokens.ttslua @@ -70,17 +70,16 @@ Thus it should be implemented like this: local blessCurseManagerApi = require("chaosbag/BlessCurseManagerApi") local tokenArrangerApi = require("accessories/TokenArrangerApi") +local chaosBagApi = require("chaosbag/ChaosBagApi") local sealedTokens = {} local ID_URL_MAP = {} local tokensInBag = {} -local chaosBagApi = require("chaosbag/ChaosBagApi") - function onSave() return JSON.encode(sealedTokens) end function onLoad(savedData) sealedTokens = JSON.decode(savedData) or {} - ID_URL_MAP = Global.getTable("ID_URL_MAP") + ID_URL_MAP = chaosBagApi.getIdUrlMap() generateContextMenu() self.addTag("CardThatSeals") end From 1213771ef93d0728f53d176c86b80fe624ea6298 Mon Sep 17 00:00:00 2001 From: Entrox-Licher Date: Tue, 8 Aug 2023 16:32:58 -0400 Subject: [PATCH 03/25] Fixed Take Clue GameKey with Clickable Clues --- src/core/GameKeyHandler.ttslua | 17 +++++++++++------ src/playermat/PlaymatApi.ttslua | 4 ++++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/core/GameKeyHandler.ttslua b/src/core/GameKeyHandler.ttslua index f43ddbea..58452e60 100644 --- a/src/core/GameKeyHandler.ttslua +++ b/src/core/GameKeyHandler.ttslua @@ -1,6 +1,7 @@ local blessCurseManagerApi = require("chaosbag/BlessCurseManagerApi") local playmatApi = require("playermat/PlaymatApi") local victoryDisplayApi = require("core/VictoryDisplayApi") +local optionPanelApi = require("core/OptionPanelApi") function onLoad() addHotkey("Add Doom to Agenda", addDoomToAgenda) @@ -98,14 +99,18 @@ function takeClueFromLocation(playerColor, hoveredObject) return end + local clickableClues = optionPanelApi.getOptions()["useClueClickers"] local playerName = Player[playerColor].steam_name - local matColor = playmatApi.getMatColor(playerColor) - local pos = playmatApi.transformLocalPosition({x = -1.12, y = 0.05, z = 0.7}, matColor) - local rot = playmatApi.returnRotation(matColor) - - if cardName == "" or cardName == nil then - cardName = "nameless card" + local matColor = playmatApi.getMatColor(playerColor) + local pos = nil + if clickableClues then + pos = {x = 0.49, y = 2.66, z = 0.00} + playmatApi.updateClueClicker(playerColor, playmatApi.getClueCount(clickableClues, playerColor) + 1) + else + pos = playmatApi.transformLocalPosition({x = -1.12, y = 0.05, z = 0.7}, matColor) end + + local rot = playmatApi.returnRotation(matColor) -- check if found clue is a stack or single token if clue.getQuantity() > 1 then diff --git a/src/playermat/PlaymatApi.ttslua b/src/playermat/PlaymatApi.ttslua index 39c51f86..84a1ffd0 100644 --- a/src/playermat/PlaymatApi.ttslua +++ b/src/playermat/PlaymatApi.ttslua @@ -191,6 +191,10 @@ do end end + PlaymatApi.updateClueClicker = function(playerColor, val) + return getObjectFromGUID(CLUE_CLICKER_GUIDS[playerColor]).call("updateVal", val) + end + -- Convenience function to look up a mat's object by color, or get all mats. ---@param matColor String for one of the active player colors - White, Orange, Green, Red. Also -- accepts "All" as a special value which will return all four mats. From da060703119fb338924f0eb8654cc23053c4d384 Mon Sep 17 00:00:00 2001 From: Entrox-Licher Date: Wed, 9 Aug 2023 12:37:45 -0400 Subject: [PATCH 04/25] Implemented AllCardsBagApi Caught all (hopefully) references to the AllCardsBag and refactored to utilize the new AllCardsBagApi. --- src/accessories/CleanUpHelper.ttslua | 5 +- src/arkhamdb/ArkhamDb.ttslua | 18 +++---- src/arkhamdb/DeckImporterMain.ttslua | 9 ++-- src/arkhamdb/DeckImporterUi.ttslua | 5 +- src/arkhamdb/HotfixBag.ttslua | 6 ++- src/playercards/AllCardsBagApi.ttslua | 66 +++++++++++++++++++++++++- src/playercards/CardSearch.ttslua | 11 ++--- src/playercards/PlayerCardPanel.ttslua | 25 ++++------ src/playercards/SpawnBag.ttslua | 5 +- 9 files changed, 101 insertions(+), 49 deletions(-) diff --git a/src/accessories/CleanUpHelper.ttslua b/src/accessories/CleanUpHelper.ttslua index dacbc73d..b621febe 100644 --- a/src/accessories/CleanUpHelper.ttslua +++ b/src/accessories/CleanUpHelper.ttslua @@ -8,7 +8,7 @@ local soundCubeApi = require("core/SoundCubeApi") local playmatApi = require("playermat/PlaymatApi") local blessCurseManagerApi = require("chaosbag/BlessCurseManagerApi") local chaosBagApi = require("chaosbag/ChaosBagApi") -local playAreaAPI = require("core/PlayAreaApi") +local playAreaApi = require("core/PlayAreaApi") -- these objects will be ignored local IGNORE_GUIDS = { @@ -231,8 +231,7 @@ end -- gets the GUID of a custom data helper (if present) and adds it to the ignore list function ignoreCustomDataHelper() - local playArea = getObjectFromGUID("721ba2") - local customDataHelper = playAreaAPI.getCustomDataHelper() + local customDataHelper = playAreaApi.getCustomDataHelper() if customDataHelper then table.insert(IGNORE_GUIDS, customDataHelper.getGUID()) end end diff --git a/src/arkhamdb/ArkhamDb.ttslua b/src/arkhamdb/ArkhamDb.ttslua index 74392dea..6f1957af 100644 --- a/src/arkhamdb/ArkhamDb.ttslua +++ b/src/arkhamdb/ArkhamDb.ttslua @@ -1,5 +1,6 @@ do local playAreaApi = require("core/PlayAreaApi") + local allCardsBagApi = require("playercards/AllCardsBagApi") local ArkhamDb = { } local internal = { } @@ -56,8 +57,7 @@ do callback) -- Get a simple card to see if the bag indexes are complete. If not, abort -- the deck load. The called method will handle player notification. - local allCardsBag = getObjectFromGUID(configuration.card_bag_guid) - local checkCard = allCardsBag.call("getCardById", { id = "01001" }) + local checkCard = allCardsBagApi.getCardById({ id = "01001" }) if (checkCard ~= nil and checkCard.data == nil) then return end @@ -166,7 +166,6 @@ do ---@param playerColor String Color of the player this deck is being loaded for. Used for broadcast --- if a weakness is added. internal.maybeDrawRandomWeakness = function(slots, playerColor) - local allCardsBag = getObjectFromGUID(configuration.card_bag_guid) local hasRandomWeakness = false for cardId, cardCount in pairs(slots) do if cardId == RANDOM_WEAKNESS_ID then @@ -175,7 +174,7 @@ do end end if hasRandomWeakness then - local weaknessId = allCardsBag.call("getRandomWeaknessId") + local weaknessId = allCardsBagApi.getRandomWeaknessId() slots[weaknessId] = 1 slots[RANDOM_WEAKNESS_ID] = nil internal.maybePrint("Random basic weakness added to deck", playerColor) @@ -240,10 +239,9 @@ do ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number -- of those cards which will be spawned internal.maybeAddCustomizeUpgradeSheets = function(slots) - local allCardsBag = getObjectFromGUID(configuration.card_bag_guid) for cardId, _ in pairs(slots) do -- upgrade sheets for customizable cards - local upgradesheet = allCardsBag.call("getCardById", { id = cardId .. "-c" }) + local upgradesheet = allCardsBagApi.getCardById({ id = cardId .. "-c" }) if upgradesheet ~= nil then slots[cardId .. "-c"] = 1 end @@ -280,12 +278,11 @@ do -- Process the slot list and looks for any cards which are bonded to those in the deck. Adds those cards to the slot list. ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number of those cards which will be spawned internal.extractBondedCards = function(slots) - local allCardsBag = getObjectFromGUID(configuration.card_bag_guid) -- Create a list of bonded cards first so we don't modify slots while iterating local bondedCards = { } local bondedList = { } for cardId, cardCount in pairs(slots) do - local card = allCardsBag.call("getCardById", { id = cardId }) + local card = allCardsBagApi.getCardById({ id = cardId }) if (card ~= nil and card.metadata.bonded ~= nil) then for _, bond in ipairs(card.metadata.bonded) do bondedCards[bond.id] = bond.count @@ -309,15 +306,14 @@ do ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number of those cards which will be spawned internal.checkTaboos = function(tabooId, slots, playerColor) if tabooId then - local allCardsBag = getObjectFromGUID(configuration.card_bag_guid) for cardId, _ in pairs(tabooList[tabooId].cards) do if slots[cardId] ~= nil then -- Make sure there's a taboo version of the card before we replace it -- SCED only maintains the most recent taboo cards. If a deck is using -- an older taboo list it's possible the card isn't a taboo any more - local tabooCard = allCardsBag.call("getCardById", { id = cardId .. "-t" }) + local tabooCard = allCardsBagApi.getCardById({ id = cardId .. "-t" }) if tabooCard == nil then - local basicCard = allCardsBag.call("getCardById", { id = cardId }) + local basicCard = allCardsBagApi.getCardById({ id = cardId }) internal.maybePrint("Taboo version for " .. basicCard.data.Nickname .. " is not available. Using standard version", playerColor) else slots[cardId .. "-t"] = slots[cardId] diff --git a/src/arkhamdb/DeckImporterMain.ttslua b/src/arkhamdb/DeckImporterMain.ttslua index 1d69787c..3bd4f069 100644 --- a/src/arkhamdb/DeckImporterMain.ttslua +++ b/src/arkhamdb/DeckImporterMain.ttslua @@ -3,11 +3,10 @@ require("playercards/PlayerCardSpawner") local playmatApi = require("playermat/PlaymatApi") local playAreaApi = require("core/PlayAreaApi") +local allCardsBagApi = require("playercards/AllCardsBagApi") local arkhamDb = require("arkhamdb/ArkhamDb") local zones = require("playermat/Zones") -local ALL_CARDS_GUID = "15bb07" - function onLoad(script_state) initializeUi(JSON.decode(script_state)) math.randomseed(os.time()) @@ -72,11 +71,10 @@ end ---@param loadAltInvestigator String Contains the name of alternative art for the investigator ("normal", "revised" or "promo") function loadCards(slots, investigatorId, bondedList, customizations, playerColor, loadAltInvestigator) function coinside() - local allCardsBag = getObjectFromGUID(ALL_CARDS_GUID) local yPos = {} local cardsToSpawn = {} for cardId, cardCount in pairs(slots) do - local card = allCardsBag.call("getCardById", { id = cardId }) + local card = allCardsBagApi.getCardById({ id = cardId }) if card ~= nil then local cardZone = getDefaultCardZone(card.metadata, bondedList) for i = 1, cardCount do @@ -185,8 +183,7 @@ end -- Returns the simple name of a card given its ID. This will find the card and strip any trailing -- SCED-specific suffixes such as (Taboo) or (Level) function getCardName(cardId) - local allCardsBag = getObjectFromGUID(ALL_CARDS_GUID) - local card = allCardsBag.call("getCardById", { id = cardId }) + local card = allCardsBagApi.getCardById({ id = cardId }) if (card ~= nil) then local name = card.data.Nickname if (string.find(name, " %(")) then diff --git a/src/arkhamdb/DeckImporterUi.ttslua b/src/arkhamdb/DeckImporterUi.ttslua index e227588b..4c9b8f08 100644 --- a/src/arkhamdb/DeckImporterUi.ttslua +++ b/src/arkhamdb/DeckImporterUi.ttslua @@ -23,6 +23,8 @@ local privateDeck = true local loadNewestDeck = true local loadInvestigators = false +local allCardsBagApi = require("playercards/AllCardsBagApi") + -- Returns a table with the full state of the UI, including options and deck IDs. -- This can be used to persist via onSave(), or provide values for a load operation -- Table values: @@ -218,8 +220,7 @@ function loadDecks() -- Method in DeckImporterMain, visible due to inclusion -- TODO: Make this use the configuration ID for the all cards bag - local allCardsBag = getObjectFromGUID("15bb07") - local indexReady = allCardsBag.call("isIndexReady") + local indexReady = allCardsBagApi.isIndexReady() if (not indexReady) then broadcastToAll("Still loading player cards, please try again in a few seconds", {0.9, 0.2, 0.2}) return diff --git a/src/arkhamdb/HotfixBag.ttslua b/src/arkhamdb/HotfixBag.ttslua index 6d6c53bd..cbbb9088 100644 --- a/src/arkhamdb/HotfixBag.ttslua +++ b/src/arkhamdb/HotfixBag.ttslua @@ -6,7 +6,9 @@ -- Tells the All Cards Bag to recreate its indexes. The All Cards Bag may -- ignore this request; see the rebuildIndexForHotfix() method in the All Cards -- Bag for details. + +local allCardsBagApi = require("playercards/AllCardsBagApi") + function onLoad() - local allCardsBag = getObjectFromGUID("15bb07") - allCardsBag.call("rebuildIndexForHotfix") + allCardsBagApi.rebuildIndexForHotfix() end diff --git a/src/playercards/AllCardsBagApi.ttslua b/src/playercards/AllCardsBagApi.ttslua index 521b9705..8cfa95b0 100644 --- a/src/playercards/AllCardsBagApi.ttslua +++ b/src/playercards/AllCardsBagApi.ttslua @@ -2,7 +2,71 @@ do local AllCardsBagApi = {} local ALL_CARDS_BAG_GUID = "15bb07" - + -- Returns a specific card from the bag, based on ArkhamDB ID + -- @param table: + -- id: String ID of the card to retrieve + -- @return: If the indexes are still being constructed, an empty table is + -- returned. Otherwise, a single table with the following fields + -- cardData: TTS object data, suitable for spawning the card + -- cardMetadata: Table of parsed metadata + AllCardsBagApi.getCardById = function(params) + return getObjectFromGUID(ALL_CARDS_BAG_GUID).call("getCardById", params) + end + + -- Gets a random basic weakness from the bag. Once a given ID has been returned + -- it will be removed from the list and cannot be selected again until a reload + -- occurs or the indexes are rebuilt, which will refresh the list to include all + -- weaknesses. + -- @return: String ID of the selected weakness. + AllCardsBagApi.getRandomWeaknessId = function() + return getObjectFromGUID(ALL_CARDS_BAG_GUID).call("getRandomWeaknessId") + end + + AllCardsBagApi.isIndexReady = function() + return getObjectFromGUID(ALL_CARDS_BAG_GUID).call("isIndexReady") + end + + -- Called by Hotfix bags when they load. If we are still loading indexes, then + -- the all cards and hotfix bags are being loaded together, and we can ignore + -- this call as the hotfix will be included in the initial indexing. If it is + -- called once indexing is complete it means the hotfix bag has been added + -- later, and we should rebuild the index to integrate the hotfix bag. + AllCardsBagApi.rebuildIndexForHotfix = function() + return getObjectFromGUID(ALL_CARDS_BAG_GUID).call("rebuildIndexForHotfix") + end + + -- Searches the bag for cards which match the given name and returns a list. Note that this is + -- an O(n) search without index support. It may be slow. + -- @param array must contain these fields to define the search: + -- name String or string fragment to search for names + -- exact Whether the name match should be exact + AllCardsBagApi.getCardsByName = function(params) + return getObjectFromGUID(ALL_CARDS_BAG_GUID).call("getCardsByName", params) + end + + AllCardsBagApi.isBagPresent = function() + return getObjectFromGUID(ALL_CARDS_BAG_GUID) and true + end + + -- Returns a list of cards from the bag matching a class and level (0 or upgraded) + -- @param table: + -- class: String class to retrieve ("Guardian", "Seeker", etc) + -- isUpgraded: true for upgraded cards (Level 1-5), false for Level 0 + -- @return: If the indexes are still being constructed, returns an empty table. + -- Otherwise, a list of tables, each with the following fields + -- cardData: TTS object data, suitable for spawning the card + -- cardMetadata: Table of parsed metadata + AllCardsBagApi.getCardsByClassAndLevel = function(params) + return getObjectFromGUID(ALL_CARDS_BAG_GUID).call("getCardsByClassAndLevel", params) + end + + AllCardsBagApi.getCardsByCycle = function(cycle) + return getObjectFromGUID(ALL_CARDS_BAG_GUID).call("getCardsByCycle", cycle) + end + + AllCardsBagApi.getUniqueWeaknesses = function() + return getObjectFromGUID(ALL_CARDS_BAG_GUID).call("getUniqueWeaknesses") + end return AllCardsBagApi end \ No newline at end of file diff --git a/src/playercards/CardSearch.ttslua b/src/playercards/CardSearch.ttslua index 9c179f1d..43ce8d0c 100644 --- a/src/playercards/CardSearch.ttslua +++ b/src/playercards/CardSearch.ttslua @@ -8,6 +8,8 @@ information = { require("playercards/PlayerCardSpawner") +local allCardsBagApi = require("playercards/AllCardsBagApi") + local buttonParameters = {} buttonParameters.function_owner = self buttonParameters.height = 200 @@ -32,8 +34,6 @@ inputParameters.width = 1200 inputParameters.height = 130 inputParameters.font_size = 107 -local ALL_CARDS_GUID = "15bb07" - -- main code function onSave() return JSON.encode({ spawnAll, searchExact, inputParameters.value }) end @@ -101,15 +101,14 @@ function search() printToAll("Please enter a longer search string.", "Yellow") return end - - local allCardsBag = getObjectFromGUID(ALL_CARDS_GUID) - if allCardsBag == nil then + + if not allCardsBagApi.isBagPresent() then printToAll("Player card bag couldn't be found.", "Red") return end -- search all objects in bag - local cardList = allCardsBag.call("getCardsByName", { name = inputParameters.value, exact = searchExact }) + local cardList = allCardsBagApi.getCardsByName({ name = inputParameters.value, exact = searchExact }) if cardList == nil or #cardList == 0 then printToAll("No match found.", "Red") return diff --git a/src/playercards/PlayerCardPanel.ttslua b/src/playercards/PlayerCardPanel.ttslua index 90e58924..5d0f55d8 100644 --- a/src/playercards/PlayerCardPanel.ttslua +++ b/src/playercards/PlayerCardPanel.ttslua @@ -1,6 +1,7 @@ require("playercards/PlayerCardPanelData") local spawnBag = require("playercards/SpawnBag") local arkhamDb = require("arkhamdb/ArkhamDb") +local allCardsBagApi = require("playercards/AllCardsBagApi") -- Size and position information for the three rows of class buttons local CIRCLE_BUTTON_SIZE = 250 @@ -21,8 +22,6 @@ local CYCLE_COLUMN_COUNT = 3 local CYCLE_BUTTONS_X_OFFSET = 0.267 local CYCLE_BUTTONS_Z_OFFSET = 0.2665 -local ALL_CARDS_BAG_GUID = "15bb07" - local STARTER_DECK_MODE_SELECTED_COLOR = { 0.2, 0.2, 0.2, 0.8 } local TRANSPARENT = { 0, 0, 0, 0 } local STARTER_DECK_MODE_STARTERS = "starters" @@ -579,19 +578,18 @@ end ---@param cardClass String. Class to place ("Guardian", "Seeker", etc) ---@param isUpgraded Boolean. If true, spawn the Level 1-5 cards. Otherwise, Level 0. function placeClassCards(cardClass, isUpgraded) - local allCardsBag = getObjectFromGUID(ALL_CARDS_BAG_GUID) - local indexReady = allCardsBag.call("isIndexReady") + local indexReady = allCardsBagApi.isIndexReady() if (not indexReady) then broadcastToAll("Still loading player cards, please try again in a few seconds", {0.9, 0.2, 0.2}) return end - local cardIdList = allCardsBag.call("getCardsByClassAndLevel", {class = cardClass, upgraded = isUpgraded}) + local cardIdList = allCardsBagApi.getCardsByClassAndLevel({class = cardClass, upgraded = isUpgraded}) local skillList = { } local eventList = { } local assetList = { } for _, cardId in ipairs(cardIdList) do - local cardMetadata = allCardsBag.call("getCardById", { id = cardId }).metadata + local cardMetadata = allCardsBagApi.getCardById({ id = cardId }).metadata if (cardMetadata.type == "Skill") then table.insert(skillList, cardId) elseif (cardMetadata.type == "Event") then @@ -640,13 +638,12 @@ end function spawnCycle(cycle) prepareToPlaceCards() spawnInvestigators(cycle) - local allCardsBag = getObjectFromGUID(ALL_CARDS_BAG_GUID) - local indexReady = allCardsBag.call("isIndexReady") + local indexReady = allCardsBagApi.isIndexReady() if (not indexReady) then broadcastToAll("Still loading player cards, please try again in a few seconds", {0.9, 0.2, 0.2}) return end - local cycleCardList = allCardsBag.call("getCardsByCycle", cycle) + local cycleCardList = allCardsBagApi.getCardsByCycle(cycle) local copiedList = { } for i, id in ipairs(cycleCardList) do copiedList[i] = id @@ -694,17 +691,16 @@ end -- Clears the current cards, and places all basic weaknesses on the table. function spawnWeaknesses() prepareToPlaceCards() - local allCardsBag = getObjectFromGUID(ALL_CARDS_BAG_GUID) - local indexReady = allCardsBag.call("isIndexReady") + local indexReady = allCardsBagApi.isIndexReady() if (not indexReady) then broadcastToAll("Still loading player cards, please try again in a few seconds", {0.9, 0.2, 0.2}) return end - local weaknessIdList = allCardsBag.call("getUniqueWeaknesses") + local weaknessIdList = allCardsBagApi.getUniqueWeaknesses() local basicWeaknessList = { } local otherWeaknessList = { } for i, id in ipairs(weaknessIdList) do - local cardMetadata = allCardsBag.call("getCardById", { id = id }).metadata + local cardMetadata = allCardsBagApi.getCardById({ id = id }).metadata if cardMetadata.basicWeaknessCount ~= nil and cardMetadata.basicWeaknessCount > 0 then table.insert(basicWeaknessList, id) elseif excludedNonBasicWeaknesses[id] == nil then @@ -742,8 +738,7 @@ end function spawnRandomWeakness() prepareToPlaceCards() - local allCardsBag = getObjectFromGUID(ALL_CARDS_BAG_GUID) - local weaknessId = allCardsBag.call("getRandomWeaknessId") + local weaknessId = allCardsBagApi.getRandomWeaknessId() if (weaknessId == nil) then broadcastToAll("All basic weaknesses are in play!", {0.9, 0.2, 0.2}) return diff --git a/src/playercards/SpawnBag.ttslua b/src/playercards/SpawnBag.ttslua index d6cf00c6..1042c037 100644 --- a/src/playercards/SpawnBag.ttslua +++ b/src/playercards/SpawnBag.ttslua @@ -29,7 +29,7 @@ do -- To assist debugging, will draw a box around the recall zone when it's set up local SHOW_RECALL_ZONE = false - local ALL_CARDS_GUID = "15bb07" + local allCardsBagApi = require("playercards/AllCardsBagApi") -- Distance to expand the recall zone around any added object. local RECALL_BUFFER_X = 0.9 @@ -90,10 +90,9 @@ do return end local cardsToSpawn = { } - local allCardsBag = getObjectFromGUID(ALL_CARDS_GUID) local cardList = spawnSpec.cards for _, cardId in ipairs(cardList) do - local cardData = allCardsBag.call("getCardById", { id = cardId }) + local cardData = allCardsBagApi.getCardById({ id = cardId }) if (cardData ~= nil) then table.insert(cardsToSpawn, cardData) else From a81cfe22edd6ac562790c4bffd770d92f1537e10 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Tue, 22 Aug 2023 00:36:37 +0200 Subject: [PATCH 05/25] addition of new skins --- src/accessories/AttachmentHelper.ttslua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/accessories/AttachmentHelper.ttslua b/src/accessories/AttachmentHelper.ttslua index 909c7c1e..0f187c8a 100644 --- a/src/accessories/AttachmentHelper.ttslua +++ b/src/accessories/AttachmentHelper.ttslua @@ -30,6 +30,16 @@ local BACKGROUNDS = { url = "http://cloud-3.steamusercontent.com/ugc/1754695635919102502/453D4426118C8A6DE2EA281184716E26CA924C84/", fontcolor = { 1, 1, 1 } }, + { + title = "Katja Eastbank", + url = "http://cloud-3.steamusercontent.com/ugc/2021606446228203475/62EEE12F4DB1EB80D79B087677459B954380215F/", + fontcolor = { 1, 1, 1 } + }, + { + title = "Ravenous", + url = "http://cloud-3.steamusercontent.com/ugc/2021606446228208075/EAC598A450BEE504A7FE179288F1FBBF7ABFA3E0/", + fontcolor = { 0, 0, 0 } + }, { title = "Sefina Rousseau", url = "http://cloud-3.steamusercontent.com/ugc/1754695635919099826/3C3CBFFAADB2ACA9957C736491F470AE906CC953/", @@ -40,6 +50,11 @@ local BACKGROUNDS = { url = "http://cloud-3.steamusercontent.com/ugc/2018214163838897493/8E38B96C5A8D703A59009A932432CBE21ABE63A2/", fontcolor = { 1, 1, 1 } }, + { + title = "Subject 5U-21 (Suzi)", + url = "http://cloud-3.steamusercontent.com/ugc/2021606446228199363/CE43D58F37C9F48BDD6E6E145FE29BADEFF4DBC5/", + fontcolor = { 1, 1, 1 } + }, { title = "Wooden Sledge", url = "http://cloud-3.steamusercontent.com/ugc/1750192233783143973/D526236AAE16BDBB98D3F30E27BAFC1D3E21F4AC/", From ccda7d759275824121ca34019bde716270782846 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Tue, 22 Aug 2023 01:05:08 +0200 Subject: [PATCH 06/25] load skin from dropped on card --- src/accessories/AttachmentHelper.ttslua | 40 ++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/src/accessories/AttachmentHelper.ttslua b/src/accessories/AttachmentHelper.ttslua index 0f187c8a..1d32e047 100644 --- a/src/accessories/AttachmentHelper.ttslua +++ b/src/accessories/AttachmentHelper.ttslua @@ -51,7 +51,7 @@ local BACKGROUNDS = { fontcolor = { 1, 1, 1 } }, { - title = "Subject 5U-21 (Suzi)", + title = "Subject 5U-21", url = "http://cloud-3.steamusercontent.com/ugc/2021606446228199363/CE43D58F37C9F48BDD6E6E145FE29BADEFF4DBC5/", fontcolor = { 1, 1, 1 } }, @@ -99,6 +99,44 @@ function getFontColor() return { 1, 1, 1 } end +-- attempt to load image from below card when dropped +function onDrop(playerColor) + local pos = self.getPosition():setAt("y", 2) + local search = Physics.cast({ + direction = { 0, -1, 0 }, + max_distance = 2, + type = 3, + size = { 0.1, 0.1, 0.1 }, + origin = pos + }) + + local syncName + for _, v in ipairs(search) do + if v.hit_object.tag == "Card" then + syncName = v.hit_object.getName() + break + end + end + + if not syncName then return end + + -- remove level information fron syncName + syncName = syncName:gsub("%s%(%d%)", "") + + -- loop through background table + for _, bgInfo in ipairs(BACKGROUNDS) do + if bgInfo.title == syncName then + printToColor("Background for '" .. syncName .. "' loaded!", playerColor, "Green") + local customInfo = self.getCustomObject() + customInfo.diffuse = bgInfo.url + self.setCustomObject(customInfo) + self.reload() + return + end + end + printToColor("Didn't find background for '" .. syncName .. "'!", playerColor, "Orange") +end + -- called by context menu to change background image function selectImage(color) -- generate list of options From 6c7f269b104b9a1677edeafe05d3651b61003958 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Tue, 22 Aug 2023 01:16:18 +0200 Subject: [PATCH 07/25] additional trigger of save function --- src/accessories/AttachmentHelper.ttslua | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/accessories/AttachmentHelper.ttslua b/src/accessories/AttachmentHelper.ttslua index 1d32e047..f85729d7 100644 --- a/src/accessories/AttachmentHelper.ttslua +++ b/src/accessories/AttachmentHelper.ttslua @@ -127,10 +127,7 @@ function onDrop(playerColor) for _, bgInfo in ipairs(BACKGROUNDS) do if bgInfo.title == syncName then printToColor("Background for '" .. syncName .. "' loaded!", playerColor, "Green") - local customInfo = self.getCustomObject() - customInfo.diffuse = bgInfo.url - self.setCustomObject(customInfo) - self.reload() + updateImage(bgInfo.url) return end end @@ -147,13 +144,19 @@ function selectImage(color) -- prompt user to select option Player[color].showOptionsDialog("Select image:", options, 1, function(_, optionIndex) - local customInfo = self.getCustomObject() - customInfo.diffuse = BACKGROUNDS[optionIndex].url - self.setCustomObject(customInfo) - self.reload() + updateImage(BACKGROUNDS[optionIndex].url) end) end +-- sets background to the provided URL +function updateImage(url) + self.script_state = JSON.encode({ cardsInBag, showCost, showIcons }) + local customInfo = self.getCustomObject() + customInfo.diffuse = url + self.setCustomObject(customInfo) + self.reload() +end + -- only allow cards to enter, split decks and reject other objects function onObjectEnterContainer(container, object) if container ~= self then return end From 25dfaaf366a7496e777f21cbb507a7334fcdc2ce Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Tue, 22 Aug 2023 01:17:42 +0200 Subject: [PATCH 08/25] updated description --- .../AttachmentHelper.7f4976/AttachmentHelper.d45664.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/objects/OptionPanelSource.830bd0/AttachmentHelper.7f4976/AttachmentHelper.d45664.json b/objects/OptionPanelSource.830bd0/AttachmentHelper.7f4976/AttachmentHelper.d45664.json index 6aa0a289..72c7bbcf 100644 --- a/objects/OptionPanelSource.830bd0/AttachmentHelper.7f4976/AttachmentHelper.d45664.json +++ b/objects/OptionPanelSource.830bd0/AttachmentHelper.7f4976/AttachmentHelper.d45664.json @@ -23,7 +23,7 @@ "NormalURL": "", "TypeIndex": 6 }, - "Description": "Drop cards here to display name, cost and skill icons.\n\nSee context menu for options.", + "Description": "Drop cards here to display name, cost and skill icons.\n\nSee context menu for options.\n\nDrop this on another card to load the respective background if available.", "DragSelectable": true, "GMNotes": "", "GUID": "d45664", From 2637c73c95411a57dfedf3436581a126391ebeae Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Tue, 22 Aug 2023 01:28:29 +0200 Subject: [PATCH 09/25] corrected name for ghastly possesion --- objects/AllPlayerCards.15bb07.json | 2 +- ...ssion.63282f.gmnotes => GhastlyPossession1.63282f.gmnotes} | 0 ...yPossession.63282f.json => GhastlyPossession1.63282f.json} | 4 ++-- 3 files changed, 3 insertions(+), 3 deletions(-) rename objects/AllPlayerCards.15bb07/{GhastlyPossession.63282f.gmnotes => GhastlyPossession1.63282f.gmnotes} (100%) rename objects/AllPlayerCards.15bb07/{GhastlyPossession.63282f.json => GhastlyPossession1.63282f.json} (90%) diff --git a/objects/AllPlayerCards.15bb07.json b/objects/AllPlayerCards.15bb07.json index 624b34d8..7d2c430d 100644 --- a/objects/AllPlayerCards.15bb07.json +++ b/objects/AllPlayerCards.15bb07.json @@ -1413,7 +1413,7 @@ "MoonlightRitual2.ad3efc", "ElleRubash2.43c3e0", "AstralMirror2.b5d894", - "GhastlyPossession.63282f", + "GhastlyPossession1.63282f", "BindersJar1.c72750", "StringofCurses.046b16", "ExplosiveWard.f86c67", diff --git a/objects/AllPlayerCards.15bb07/GhastlyPossession.63282f.gmnotes b/objects/AllPlayerCards.15bb07/GhastlyPossession1.63282f.gmnotes similarity index 100% rename from objects/AllPlayerCards.15bb07/GhastlyPossession.63282f.gmnotes rename to objects/AllPlayerCards.15bb07/GhastlyPossession1.63282f.gmnotes diff --git a/objects/AllPlayerCards.15bb07/GhastlyPossession.63282f.json b/objects/AllPlayerCards.15bb07/GhastlyPossession1.63282f.json similarity index 90% rename from objects/AllPlayerCards.15bb07/GhastlyPossession.63282f.json rename to objects/AllPlayerCards.15bb07/GhastlyPossession1.63282f.json index 1d7574f1..95d636f2 100644 --- a/objects/AllPlayerCards.15bb07/GhastlyPossession.63282f.json +++ b/objects/AllPlayerCards.15bb07/GhastlyPossession1.63282f.json @@ -24,7 +24,7 @@ }, "Description": "", "DragSelectable": true, - "GMNotes_path": "AllPlayerCards.15bb07/GhastlyPossession.63282f.gmnotes", + "GMNotes_path": "AllPlayerCards.15bb07/GhastlyPossession1.63282f.gmnotes", "GUID": "63282f", "Grid": true, "GridProjection": false, @@ -37,7 +37,7 @@ "LuaScriptState": "", "MeasureMovement": false, "Name": "Card", - "Nickname": "Ghastly Possession", + "Nickname": "Ghastly Possession (1)", "SidewaysCard": false, "Snap": true, "Sticky": true, From cc887f3a65637ada088a79e8b502ba51a46b280b Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Tue, 22 Aug 2023 01:51:46 +0200 Subject: [PATCH 10/25] added ikiaq --- src/accessories/AttachmentHelper.ttslua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/accessories/AttachmentHelper.ttslua b/src/accessories/AttachmentHelper.ttslua index f85729d7..837a4a44 100644 --- a/src/accessories/AttachmentHelper.ttslua +++ b/src/accessories/AttachmentHelper.ttslua @@ -30,6 +30,11 @@ local BACKGROUNDS = { url = "http://cloud-3.steamusercontent.com/ugc/1754695635919102502/453D4426118C8A6DE2EA281184716E26CA924C84/", fontcolor = { 1, 1, 1 } }, + { + title = "Ikiaq", + url = "http://cloud-3.steamusercontent.com/ugc/2021606446228198966/5A408D8D760221DEA164E986B9BE1F79C4803071/", + fontcolor = { 1, 1, 1 } + }, { title = "Katja Eastbank", url = "http://cloud-3.steamusercontent.com/ugc/2021606446228203475/62EEE12F4DB1EB80D79B087677459B954380215F/", From 22004369e4cf0d37a1172e268f7a3841d9429c37 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Tue, 22 Aug 2023 02:31:45 +0200 Subject: [PATCH 11/25] added binders jar --- src/accessories/AttachmentHelper.ttslua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/accessories/AttachmentHelper.ttslua b/src/accessories/AttachmentHelper.ttslua index 837a4a44..2f8fcb13 100644 --- a/src/accessories/AttachmentHelper.ttslua +++ b/src/accessories/AttachmentHelper.ttslua @@ -15,6 +15,11 @@ local BACKGROUNDS = { url = "http://cloud-3.steamusercontent.com/ugc/2018212896278691928/F55BEFFC2540109C6333179532F583B367FF2EBC/", fontcolor = { 0, 0, 0 } }, + { + title = "Binder's Jar", + url = "http://cloud-3.steamusercontent.com/ugc/2021606446228642191/4C149527851C1DBB3015F93DE91667937A3F91DD/", + fontcolor = { 1, 1, 1 } + }, { title = "Crystallizer of Dreams", url = "http://cloud-3.steamusercontent.com/ugc/1915746489207280958/100F16441939E5E23818651D1EB5C209BF3125B9/", From d35ddce2ad576439f27794ca90a645f18b4b345d Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Tue, 22 Aug 2023 09:53:09 +0200 Subject: [PATCH 12/25] fixed tarot and TSK cards --- objects/AllPlayerCards.15bb07/AgentFletcher.95b0cf.json | 2 +- .../AllPlayerCards.15bb07/AlchemicalDistillation.502a4d.json | 2 +- objects/AllPlayerCards.15bb07/Analysis.80285f.json | 2 +- objects/AllPlayerCards.15bb07/Asyouwish.4b891d.json | 2 +- objects/AllPlayerCards.15bb07/BestowResolve2.39e14a.json | 2 +- objects/AllPlayerCards.15bb07/BizarreDiagnosis.2423d4.json | 2 +- objects/AllPlayerCards.15bb07/Bolas.d4b254.json | 2 +- objects/AllPlayerCards.15bb07/Bonesaw.4b371d.json | 2 +- objects/AllPlayerCards.15bb07/BonnieWalsh.634e9e.json | 2 +- objects/AllPlayerCards.15bb07/BreachtheDoor.74969c.json | 2 +- objects/AllPlayerCards.15bb07/BreakingandEntering2.3411dd.json | 2 +- objects/AllPlayerCards.15bb07/BurdenofLeadership.22e624.json | 2 +- objects/AllPlayerCards.15bb07/CalculatedRisk.dfbed9.json | 2 +- objects/AllPlayerCards.15bb07/ChuckFergus2.ea31c2.json | 2 +- objects/AllPlayerCards.15bb07/CustomModifications.d2252d.json | 2 +- objects/AllPlayerCards.15bb07/DamningTestimony.3369a5.json | 2 +- objects/AllPlayerCards.15bb07/DarrellsKodak.caa382.json | 2 +- objects/AllPlayerCards.15bb07/DeafeningSilence.0821d4.json | 2 +- objects/AllPlayerCards.15bb07/DirtyFighting2.fa1be0.json | 2 +- objects/AllPlayerCards.15bb07/Disguise.f170fc.json | 2 +- objects/AllPlayerCards.15bb07/DissectionTools.95ca5d.json | 2 +- objects/AllPlayerCards.15bb07/DrWilliamTMaleson2.3ee7a5.json | 2 +- objects/AllPlayerCards.15bb07/EmbezzledTreasure.8fd043.json | 2 +- objects/AllPlayerCards.15bb07/EmpiricalHypothesis.62c67d.json | 2 +- objects/AllPlayerCards.15bb07/EverVigilant4.ac910a.json | 2 +- objects/AllPlayerCards.15bb07/ExistentialRiddle1.38a30a.json | 2 +- objects/AllPlayerCards.15bb07/FieldAgent2.babfb6.json | 2 +- objects/AllPlayerCards.15bb07/FightingLessons.fc2432.json | 2 +- objects/AllPlayerCards.15bb07/FingerprintKit4.33b09e.json | 2 +- objects/AllPlayerCards.15bb07/FriendsinLowPlaces.c332af.json | 2 +- objects/AllPlayerCards.15bb07/GirishKadakia4.bdd70d.json | 2 +- objects/AllPlayerCards.15bb07/GrapplingHook.09f1a2.json | 2 +- objects/AllPlayerCards.15bb07/GraysAnatomy5.f4e7f3.json | 2 +- objects/AllPlayerCards.15bb07/GrievousWound.d7c63c.json | 2 +- objects/AllPlayerCards.15bb07/GrimMemoir.d1f1d9.json | 2 +- objects/AllPlayerCards.15bb07/GuardDog2.9009db.json | 2 +- objects/AllPlayerCards.15bb07/Guidance1.425841.json | 2 +- objects/AllPlayerCards.15bb07/Handcuffs2.07c480.json | 2 +- objects/AllPlayerCards.15bb07/HelpingHand.7d93b4.json | 2 +- objects/AllPlayerCards.15bb07/HiddenPocket.9bef61.json | 2 +- objects/AllPlayerCards.15bb07/HitandRun.408bce.json | 2 +- objects/AllPlayerCards.15bb07/HonedInstinct.1cde62.json | 2 +- objects/AllPlayerCards.15bb07/HuntersArmor.a85f1d.json | 2 +- objects/AllPlayerCards.15bb07/Illtakethat.691652.json | 2 +- objects/AllPlayerCards.15bb07/KickingtheHornetsNest.4d6da5.json | 2 +- objects/AllPlayerCards.15bb07/LabCoat1.a825ad.json | 2 +- objects/AllPlayerCards.15bb07/MaptheArea.1760be.json | 2 +- objects/AllPlayerCards.15bb07/MartyrsVambrace3.c795c8.json | 2 +- objects/AllPlayerCards.15bb07/ObsidianBracelet.972250.json | 2 +- objects/AllPlayerCards.15bb07/OneintheChamber.919856.json | 2 +- objects/AllPlayerCards.15bb07/OntheMend.ac3502.json | 2 +- objects/AllPlayerCards.15bb07/OrphicTheory1.d084d7.json | 2 +- objects/AllPlayerCards.15bb07/PreparedfortheWorst2.a4f62a.json | 2 +- objects/AllPlayerCards.15bb07/PressPass2.a6c839.json | 2 +- objects/AllPlayerCards.15bb07/QuickGetaway.5cc3d2.json | 2 +- objects/AllPlayerCards.15bb07/ResearchNotes.a37bd4.json | 2 +- objects/AllPlayerCards.15bb07/RuinedFilm.6d2eae.json | 2 +- objects/AllPlayerCards.15bb07/RunicAxe.7cdb0a.json | 2 +- objects/AllPlayerCards.15bb07/SelflesstoaFault.07dd55.json | 2 +- objects/AllPlayerCards.15bb07/StylishCoat1.0a1b3a.json | 2 +- objects/AllPlayerCards.15bb07/SurgicalKit3.c8ecf2.json | 2 +- objects/AllPlayerCards.15bb07/TheRavenQuill.b81037.json | 2 +- objects/AllPlayerCards.15bb07/ThievesKit.857b53.json | 2 +- objects/AllPlayerCards.15bb07/ThievesKit3.be8d1f.json | 2 +- objects/AllPlayerCards.15bb07/WordofWeal.5edfc2.json | 2 +- objects/AllPlayerCards.15bb07/WordofWoe.bb7174.json | 2 +- objects/AllPlayerCards.15bb07/WoundedBystander.fb54d3.json | 2 +- objects/TarotDeck.77f1e5.json | 2 +- objects/TarotDeck.77f1e5/DeathXIII.a00798.json | 2 +- objects/TarotDeck.77f1e5/JudgementXX.e5e392.json | 2 +- objects/TarotDeck.77f1e5/JusticeXI.c4282a.json | 2 +- objects/TarotDeck.77f1e5/StrengthVIII.e0ad3b.json | 2 +- objects/TarotDeck.77f1e5/TemperanceXIV.ffb72a.json | 2 +- objects/TarotDeck.77f1e5/TheChariotVII.f633db.json | 2 +- objects/TarotDeck.77f1e5/TheDevilXV.8328fd.json | 2 +- objects/TarotDeck.77f1e5/TheEmperorIV.8be589.json | 2 +- objects/TarotDeck.77f1e5/TheEmpressIII.ee4a47.json | 2 +- objects/TarotDeck.77f1e5/TheFool0.01cd9f.json | 2 +- objects/TarotDeck.77f1e5/TheHangedManXII.522d77.json | 2 +- objects/TarotDeck.77f1e5/TheHermitIX.e2e3a0.json | 2 +- objects/TarotDeck.77f1e5/TheHierophantV.2f9064.json | 2 +- objects/TarotDeck.77f1e5/TheHighPriestessII.a6d017.json | 2 +- objects/TarotDeck.77f1e5/TheLoversVI.d5d07a.json | 2 +- objects/TarotDeck.77f1e5/TheMagicianI.0fd716.json | 2 +- objects/TarotDeck.77f1e5/TheMoonXVIII.37c24c.json | 2 +- objects/TarotDeck.77f1e5/TheStarXVII.37153b.json | 2 +- objects/TarotDeck.77f1e5/TheSunXIX.65b6cb.json | 2 +- objects/TarotDeck.77f1e5/TheTowerXVI.25ae32.json | 2 +- objects/TarotDeck.77f1e5/TheWorldXXI.dacc75.json | 2 +- objects/TarotDeck.77f1e5/WheelofFortuneX.00f067.json | 2 +- objects/TarotDeckScripted.a230f9/DeathXIII.a00798.json | 2 +- objects/TarotDeckScripted.a230f9/JudgementXX.e5e392.json | 2 +- objects/TarotDeckScripted.a230f9/JusticeXI.c4282a.json | 2 +- objects/TarotDeckScripted.a230f9/StrengthVIII.e0ad3b.json | 2 +- objects/TarotDeckScripted.a230f9/TemperanceXIV.ffb72a.json | 2 +- objects/TarotDeckScripted.a230f9/TheChariotVII.f633db.json | 2 +- objects/TarotDeckScripted.a230f9/TheDevilXV.8328fd.json | 2 +- objects/TarotDeckScripted.a230f9/TheEmperorIV.8be589.json | 2 +- objects/TarotDeckScripted.a230f9/TheEmpressIII.ee4a47.json | 2 +- objects/TarotDeckScripted.a230f9/TheFool0.01cd9f.json | 2 +- objects/TarotDeckScripted.a230f9/TheHangedManXII.522d77.json | 2 +- objects/TarotDeckScripted.a230f9/TheHermitIX.e2e3a0.json | 2 +- objects/TarotDeckScripted.a230f9/TheHierophantV.2f9064.json | 2 +- objects/TarotDeckScripted.a230f9/TheHighPriestessII.a6d017.json | 2 +- objects/TarotDeckScripted.a230f9/TheLoversVI.d5d07a.json | 2 +- objects/TarotDeckScripted.a230f9/TheMagicianI.0fd716.json | 2 +- objects/TarotDeckScripted.a230f9/TheMoonXVIII.37c24c.json | 2 +- objects/TarotDeckScripted.a230f9/TheStarXVII.37153b.json | 2 +- objects/TarotDeckScripted.a230f9/TheSunXIX.65b6cb.json | 2 +- objects/TarotDeckScripted.a230f9/TheTowerXVI.25ae32.json | 2 +- objects/TarotDeckScripted.a230f9/TheWorldXXI.dacc75.json | 2 +- objects/TarotDeckScripted.a230f9/WheelofFortuneX.00f067.json | 2 +- 112 files changed, 112 insertions(+), 112 deletions(-) diff --git a/objects/AllPlayerCards.15bb07/AgentFletcher.95b0cf.json b/objects/AllPlayerCards.15bb07/AgentFletcher.95b0cf.json index dcf65a90..5296dfe3 100644 --- a/objects/AllPlayerCards.15bb07/AgentFletcher.95b0cf.json +++ b/objects/AllPlayerCards.15bb07/AgentFletcher.95b0cf.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/AlchemicalDistillation.502a4d.json b/objects/AllPlayerCards.15bb07/AlchemicalDistillation.502a4d.json index efa227ab..4b2e66f6 100644 --- a/objects/AllPlayerCards.15bb07/AlchemicalDistillation.502a4d.json +++ b/objects/AllPlayerCards.15bb07/AlchemicalDistillation.502a4d.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/Analysis.80285f.json b/objects/AllPlayerCards.15bb07/Analysis.80285f.json index c569f901..81b67bbe 100644 --- a/objects/AllPlayerCards.15bb07/Analysis.80285f.json +++ b/objects/AllPlayerCards.15bb07/Analysis.80285f.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/Asyouwish.4b891d.json b/objects/AllPlayerCards.15bb07/Asyouwish.4b891d.json index 994bcb9c..37849bc7 100644 --- a/objects/AllPlayerCards.15bb07/Asyouwish.4b891d.json +++ b/objects/AllPlayerCards.15bb07/Asyouwish.4b891d.json @@ -15,7 +15,7 @@ "5877": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/BestowResolve2.39e14a.json b/objects/AllPlayerCards.15bb07/BestowResolve2.39e14a.json index a4751251..69282928 100644 --- a/objects/AllPlayerCards.15bb07/BestowResolve2.39e14a.json +++ b/objects/AllPlayerCards.15bb07/BestowResolve2.39e14a.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/BizarreDiagnosis.2423d4.json b/objects/AllPlayerCards.15bb07/BizarreDiagnosis.2423d4.json index ddd8e824..9afb8202 100644 --- a/objects/AllPlayerCards.15bb07/BizarreDiagnosis.2423d4.json +++ b/objects/AllPlayerCards.15bb07/BizarreDiagnosis.2423d4.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/Bolas.d4b254.json b/objects/AllPlayerCards.15bb07/Bolas.d4b254.json index f82f7841..5af9469c 100644 --- a/objects/AllPlayerCards.15bb07/Bolas.d4b254.json +++ b/objects/AllPlayerCards.15bb07/Bolas.d4b254.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/Bonesaw.4b371d.json b/objects/AllPlayerCards.15bb07/Bonesaw.4b371d.json index 56bb6e2b..46812866 100644 --- a/objects/AllPlayerCards.15bb07/Bonesaw.4b371d.json +++ b/objects/AllPlayerCards.15bb07/Bonesaw.4b371d.json @@ -15,7 +15,7 @@ "5877": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/BonnieWalsh.634e9e.json b/objects/AllPlayerCards.15bb07/BonnieWalsh.634e9e.json index 2c5c5f6f..d0ebf120 100644 --- a/objects/AllPlayerCards.15bb07/BonnieWalsh.634e9e.json +++ b/objects/AllPlayerCards.15bb07/BonnieWalsh.634e9e.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/BreachtheDoor.74969c.json b/objects/AllPlayerCards.15bb07/BreachtheDoor.74969c.json index 409528cb..802b28c2 100644 --- a/objects/AllPlayerCards.15bb07/BreachtheDoor.74969c.json +++ b/objects/AllPlayerCards.15bb07/BreachtheDoor.74969c.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/BreakingandEntering2.3411dd.json b/objects/AllPlayerCards.15bb07/BreakingandEntering2.3411dd.json index 500c06b4..1d66796e 100644 --- a/objects/AllPlayerCards.15bb07/BreakingandEntering2.3411dd.json +++ b/objects/AllPlayerCards.15bb07/BreakingandEntering2.3411dd.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/BurdenofLeadership.22e624.json b/objects/AllPlayerCards.15bb07/BurdenofLeadership.22e624.json index d774bba1..f23eb548 100644 --- a/objects/AllPlayerCards.15bb07/BurdenofLeadership.22e624.json +++ b/objects/AllPlayerCards.15bb07/BurdenofLeadership.22e624.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/CalculatedRisk.dfbed9.json b/objects/AllPlayerCards.15bb07/CalculatedRisk.dfbed9.json index 0da9892d..f0df167c 100644 --- a/objects/AllPlayerCards.15bb07/CalculatedRisk.dfbed9.json +++ b/objects/AllPlayerCards.15bb07/CalculatedRisk.dfbed9.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/ChuckFergus2.ea31c2.json b/objects/AllPlayerCards.15bb07/ChuckFergus2.ea31c2.json index b6d18326..8fee5d0e 100644 --- a/objects/AllPlayerCards.15bb07/ChuckFergus2.ea31c2.json +++ b/objects/AllPlayerCards.15bb07/ChuckFergus2.ea31c2.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/CustomModifications.d2252d.json b/objects/AllPlayerCards.15bb07/CustomModifications.d2252d.json index 9181959f..8223f0ac 100644 --- a/objects/AllPlayerCards.15bb07/CustomModifications.d2252d.json +++ b/objects/AllPlayerCards.15bb07/CustomModifications.d2252d.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/DamningTestimony.3369a5.json b/objects/AllPlayerCards.15bb07/DamningTestimony.3369a5.json index 350edfb8..23bd9a6f 100644 --- a/objects/AllPlayerCards.15bb07/DamningTestimony.3369a5.json +++ b/objects/AllPlayerCards.15bb07/DamningTestimony.3369a5.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/DarrellsKodak.caa382.json b/objects/AllPlayerCards.15bb07/DarrellsKodak.caa382.json index f5443be4..b1caa39c 100644 --- a/objects/AllPlayerCards.15bb07/DarrellsKodak.caa382.json +++ b/objects/AllPlayerCards.15bb07/DarrellsKodak.caa382.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/DeafeningSilence.0821d4.json b/objects/AllPlayerCards.15bb07/DeafeningSilence.0821d4.json index 13ff2b28..abc8c8a3 100644 --- a/objects/AllPlayerCards.15bb07/DeafeningSilence.0821d4.json +++ b/objects/AllPlayerCards.15bb07/DeafeningSilence.0821d4.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/DirtyFighting2.fa1be0.json b/objects/AllPlayerCards.15bb07/DirtyFighting2.fa1be0.json index 4686fed7..587e4278 100644 --- a/objects/AllPlayerCards.15bb07/DirtyFighting2.fa1be0.json +++ b/objects/AllPlayerCards.15bb07/DirtyFighting2.fa1be0.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/Disguise.f170fc.json b/objects/AllPlayerCards.15bb07/Disguise.f170fc.json index 53ea279a..16d464c1 100644 --- a/objects/AllPlayerCards.15bb07/Disguise.f170fc.json +++ b/objects/AllPlayerCards.15bb07/Disguise.f170fc.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/DissectionTools.95ca5d.json b/objects/AllPlayerCards.15bb07/DissectionTools.95ca5d.json index edba1f23..ae9c188f 100644 --- a/objects/AllPlayerCards.15bb07/DissectionTools.95ca5d.json +++ b/objects/AllPlayerCards.15bb07/DissectionTools.95ca5d.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/DrWilliamTMaleson2.3ee7a5.json b/objects/AllPlayerCards.15bb07/DrWilliamTMaleson2.3ee7a5.json index 73b69853..4207cd31 100644 --- a/objects/AllPlayerCards.15bb07/DrWilliamTMaleson2.3ee7a5.json +++ b/objects/AllPlayerCards.15bb07/DrWilliamTMaleson2.3ee7a5.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/EmbezzledTreasure.8fd043.json b/objects/AllPlayerCards.15bb07/EmbezzledTreasure.8fd043.json index bac5bf37..58989c4d 100644 --- a/objects/AllPlayerCards.15bb07/EmbezzledTreasure.8fd043.json +++ b/objects/AllPlayerCards.15bb07/EmbezzledTreasure.8fd043.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/EmpiricalHypothesis.62c67d.json b/objects/AllPlayerCards.15bb07/EmpiricalHypothesis.62c67d.json index ede606c4..4ddc4541 100644 --- a/objects/AllPlayerCards.15bb07/EmpiricalHypothesis.62c67d.json +++ b/objects/AllPlayerCards.15bb07/EmpiricalHypothesis.62c67d.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/EverVigilant4.ac910a.json b/objects/AllPlayerCards.15bb07/EverVigilant4.ac910a.json index 858b99b3..23def0b9 100644 --- a/objects/AllPlayerCards.15bb07/EverVigilant4.ac910a.json +++ b/objects/AllPlayerCards.15bb07/EverVigilant4.ac910a.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/ExistentialRiddle1.38a30a.json b/objects/AllPlayerCards.15bb07/ExistentialRiddle1.38a30a.json index 2b67d31c..c3d6bd90 100644 --- a/objects/AllPlayerCards.15bb07/ExistentialRiddle1.38a30a.json +++ b/objects/AllPlayerCards.15bb07/ExistentialRiddle1.38a30a.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/FieldAgent2.babfb6.json b/objects/AllPlayerCards.15bb07/FieldAgent2.babfb6.json index ffbb4419..5fdbc9c1 100644 --- a/objects/AllPlayerCards.15bb07/FieldAgent2.babfb6.json +++ b/objects/AllPlayerCards.15bb07/FieldAgent2.babfb6.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/FightingLessons.fc2432.json b/objects/AllPlayerCards.15bb07/FightingLessons.fc2432.json index d9df9dbf..2c1ac850 100644 --- a/objects/AllPlayerCards.15bb07/FightingLessons.fc2432.json +++ b/objects/AllPlayerCards.15bb07/FightingLessons.fc2432.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/FingerprintKit4.33b09e.json b/objects/AllPlayerCards.15bb07/FingerprintKit4.33b09e.json index 469bc090..f30aef01 100644 --- a/objects/AllPlayerCards.15bb07/FingerprintKit4.33b09e.json +++ b/objects/AllPlayerCards.15bb07/FingerprintKit4.33b09e.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/FriendsinLowPlaces.c332af.json b/objects/AllPlayerCards.15bb07/FriendsinLowPlaces.c332af.json index 53418dae..3e1cab70 100644 --- a/objects/AllPlayerCards.15bb07/FriendsinLowPlaces.c332af.json +++ b/objects/AllPlayerCards.15bb07/FriendsinLowPlaces.c332af.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/GirishKadakia4.bdd70d.json b/objects/AllPlayerCards.15bb07/GirishKadakia4.bdd70d.json index 384ae9cc..54299268 100644 --- a/objects/AllPlayerCards.15bb07/GirishKadakia4.bdd70d.json +++ b/objects/AllPlayerCards.15bb07/GirishKadakia4.bdd70d.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/GrapplingHook.09f1a2.json b/objects/AllPlayerCards.15bb07/GrapplingHook.09f1a2.json index e38fa917..d1aa2471 100644 --- a/objects/AllPlayerCards.15bb07/GrapplingHook.09f1a2.json +++ b/objects/AllPlayerCards.15bb07/GrapplingHook.09f1a2.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/GraysAnatomy5.f4e7f3.json b/objects/AllPlayerCards.15bb07/GraysAnatomy5.f4e7f3.json index 551afb5a..a7caee38 100644 --- a/objects/AllPlayerCards.15bb07/GraysAnatomy5.f4e7f3.json +++ b/objects/AllPlayerCards.15bb07/GraysAnatomy5.f4e7f3.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/GrievousWound.d7c63c.json b/objects/AllPlayerCards.15bb07/GrievousWound.d7c63c.json index c7a8652f..514394c4 100644 --- a/objects/AllPlayerCards.15bb07/GrievousWound.d7c63c.json +++ b/objects/AllPlayerCards.15bb07/GrievousWound.d7c63c.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/GrimMemoir.d1f1d9.json b/objects/AllPlayerCards.15bb07/GrimMemoir.d1f1d9.json index 4525a124..f4b9e626 100644 --- a/objects/AllPlayerCards.15bb07/GrimMemoir.d1f1d9.json +++ b/objects/AllPlayerCards.15bb07/GrimMemoir.d1f1d9.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/GuardDog2.9009db.json b/objects/AllPlayerCards.15bb07/GuardDog2.9009db.json index 59fe1545..13a735c8 100644 --- a/objects/AllPlayerCards.15bb07/GuardDog2.9009db.json +++ b/objects/AllPlayerCards.15bb07/GuardDog2.9009db.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/Guidance1.425841.json b/objects/AllPlayerCards.15bb07/Guidance1.425841.json index 66ed581f..6d837084 100644 --- a/objects/AllPlayerCards.15bb07/Guidance1.425841.json +++ b/objects/AllPlayerCards.15bb07/Guidance1.425841.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/Handcuffs2.07c480.json b/objects/AllPlayerCards.15bb07/Handcuffs2.07c480.json index cdfb8f36..c75e7aae 100644 --- a/objects/AllPlayerCards.15bb07/Handcuffs2.07c480.json +++ b/objects/AllPlayerCards.15bb07/Handcuffs2.07c480.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/HelpingHand.7d93b4.json b/objects/AllPlayerCards.15bb07/HelpingHand.7d93b4.json index 80ef35dc..5c302393 100644 --- a/objects/AllPlayerCards.15bb07/HelpingHand.7d93b4.json +++ b/objects/AllPlayerCards.15bb07/HelpingHand.7d93b4.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/HiddenPocket.9bef61.json b/objects/AllPlayerCards.15bb07/HiddenPocket.9bef61.json index 775c40e9..001fa5a6 100644 --- a/objects/AllPlayerCards.15bb07/HiddenPocket.9bef61.json +++ b/objects/AllPlayerCards.15bb07/HiddenPocket.9bef61.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/HitandRun.408bce.json b/objects/AllPlayerCards.15bb07/HitandRun.408bce.json index 91f0b32f..5eb8fd5a 100644 --- a/objects/AllPlayerCards.15bb07/HitandRun.408bce.json +++ b/objects/AllPlayerCards.15bb07/HitandRun.408bce.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/HonedInstinct.1cde62.json b/objects/AllPlayerCards.15bb07/HonedInstinct.1cde62.json index b6aa3ce8..ce34d1e3 100644 --- a/objects/AllPlayerCards.15bb07/HonedInstinct.1cde62.json +++ b/objects/AllPlayerCards.15bb07/HonedInstinct.1cde62.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/HuntersArmor.a85f1d.json b/objects/AllPlayerCards.15bb07/HuntersArmor.a85f1d.json index a167557a..34bbe6ec 100644 --- a/objects/AllPlayerCards.15bb07/HuntersArmor.a85f1d.json +++ b/objects/AllPlayerCards.15bb07/HuntersArmor.a85f1d.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/Illtakethat.691652.json b/objects/AllPlayerCards.15bb07/Illtakethat.691652.json index e6744ce6..73f3627c 100644 --- a/objects/AllPlayerCards.15bb07/Illtakethat.691652.json +++ b/objects/AllPlayerCards.15bb07/Illtakethat.691652.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/KickingtheHornetsNest.4d6da5.json b/objects/AllPlayerCards.15bb07/KickingtheHornetsNest.4d6da5.json index f86c3d8a..30b8f140 100644 --- a/objects/AllPlayerCards.15bb07/KickingtheHornetsNest.4d6da5.json +++ b/objects/AllPlayerCards.15bb07/KickingtheHornetsNest.4d6da5.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/LabCoat1.a825ad.json b/objects/AllPlayerCards.15bb07/LabCoat1.a825ad.json index 8850b16c..a2900c7b 100644 --- a/objects/AllPlayerCards.15bb07/LabCoat1.a825ad.json +++ b/objects/AllPlayerCards.15bb07/LabCoat1.a825ad.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/MaptheArea.1760be.json b/objects/AllPlayerCards.15bb07/MaptheArea.1760be.json index 885e0e91..3873f64a 100644 --- a/objects/AllPlayerCards.15bb07/MaptheArea.1760be.json +++ b/objects/AllPlayerCards.15bb07/MaptheArea.1760be.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/MartyrsVambrace3.c795c8.json b/objects/AllPlayerCards.15bb07/MartyrsVambrace3.c795c8.json index a24327cd..d0f7e2f7 100644 --- a/objects/AllPlayerCards.15bb07/MartyrsVambrace3.c795c8.json +++ b/objects/AllPlayerCards.15bb07/MartyrsVambrace3.c795c8.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/ObsidianBracelet.972250.json b/objects/AllPlayerCards.15bb07/ObsidianBracelet.972250.json index 48e04b33..5e91e872 100644 --- a/objects/AllPlayerCards.15bb07/ObsidianBracelet.972250.json +++ b/objects/AllPlayerCards.15bb07/ObsidianBracelet.972250.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/OneintheChamber.919856.json b/objects/AllPlayerCards.15bb07/OneintheChamber.919856.json index 5963a754..29d1b3da 100644 --- a/objects/AllPlayerCards.15bb07/OneintheChamber.919856.json +++ b/objects/AllPlayerCards.15bb07/OneintheChamber.919856.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/OntheMend.ac3502.json b/objects/AllPlayerCards.15bb07/OntheMend.ac3502.json index 36f97995..d396b90d 100644 --- a/objects/AllPlayerCards.15bb07/OntheMend.ac3502.json +++ b/objects/AllPlayerCards.15bb07/OntheMend.ac3502.json @@ -15,7 +15,7 @@ "5877": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/OrphicTheory1.d084d7.json b/objects/AllPlayerCards.15bb07/OrphicTheory1.d084d7.json index de6d72d1..44362081 100644 --- a/objects/AllPlayerCards.15bb07/OrphicTheory1.d084d7.json +++ b/objects/AllPlayerCards.15bb07/OrphicTheory1.d084d7.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/PreparedfortheWorst2.a4f62a.json b/objects/AllPlayerCards.15bb07/PreparedfortheWorst2.a4f62a.json index 37154912..aa761de5 100644 --- a/objects/AllPlayerCards.15bb07/PreparedfortheWorst2.a4f62a.json +++ b/objects/AllPlayerCards.15bb07/PreparedfortheWorst2.a4f62a.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/PressPass2.a6c839.json b/objects/AllPlayerCards.15bb07/PressPass2.a6c839.json index fae762a7..40a0924a 100644 --- a/objects/AllPlayerCards.15bb07/PressPass2.a6c839.json +++ b/objects/AllPlayerCards.15bb07/PressPass2.a6c839.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/QuickGetaway.5cc3d2.json b/objects/AllPlayerCards.15bb07/QuickGetaway.5cc3d2.json index 6b0a39f1..7366f225 100644 --- a/objects/AllPlayerCards.15bb07/QuickGetaway.5cc3d2.json +++ b/objects/AllPlayerCards.15bb07/QuickGetaway.5cc3d2.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/ResearchNotes.a37bd4.json b/objects/AllPlayerCards.15bb07/ResearchNotes.a37bd4.json index 78bfa179..cca70d55 100644 --- a/objects/AllPlayerCards.15bb07/ResearchNotes.a37bd4.json +++ b/objects/AllPlayerCards.15bb07/ResearchNotes.a37bd4.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/RuinedFilm.6d2eae.json b/objects/AllPlayerCards.15bb07/RuinedFilm.6d2eae.json index f74e6fd4..99575b89 100644 --- a/objects/AllPlayerCards.15bb07/RuinedFilm.6d2eae.json +++ b/objects/AllPlayerCards.15bb07/RuinedFilm.6d2eae.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/RunicAxe.7cdb0a.json b/objects/AllPlayerCards.15bb07/RunicAxe.7cdb0a.json index 3f33c83b..ba641f29 100644 --- a/objects/AllPlayerCards.15bb07/RunicAxe.7cdb0a.json +++ b/objects/AllPlayerCards.15bb07/RunicAxe.7cdb0a.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/SelflesstoaFault.07dd55.json b/objects/AllPlayerCards.15bb07/SelflesstoaFault.07dd55.json index 9345533e..f59c06e4 100644 --- a/objects/AllPlayerCards.15bb07/SelflesstoaFault.07dd55.json +++ b/objects/AllPlayerCards.15bb07/SelflesstoaFault.07dd55.json @@ -15,7 +15,7 @@ "5877": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/StylishCoat1.0a1b3a.json b/objects/AllPlayerCards.15bb07/StylishCoat1.0a1b3a.json index e17c69f2..5e8f558c 100644 --- a/objects/AllPlayerCards.15bb07/StylishCoat1.0a1b3a.json +++ b/objects/AllPlayerCards.15bb07/StylishCoat1.0a1b3a.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/SurgicalKit3.c8ecf2.json b/objects/AllPlayerCards.15bb07/SurgicalKit3.c8ecf2.json index 6f7100f1..71e59771 100644 --- a/objects/AllPlayerCards.15bb07/SurgicalKit3.c8ecf2.json +++ b/objects/AllPlayerCards.15bb07/SurgicalKit3.c8ecf2.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/TheRavenQuill.b81037.json b/objects/AllPlayerCards.15bb07/TheRavenQuill.b81037.json index d2bcb639..e7016402 100644 --- a/objects/AllPlayerCards.15bb07/TheRavenQuill.b81037.json +++ b/objects/AllPlayerCards.15bb07/TheRavenQuill.b81037.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/ThievesKit.857b53.json b/objects/AllPlayerCards.15bb07/ThievesKit.857b53.json index 9999581c..13272590 100644 --- a/objects/AllPlayerCards.15bb07/ThievesKit.857b53.json +++ b/objects/AllPlayerCards.15bb07/ThievesKit.857b53.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/ThievesKit3.be8d1f.json b/objects/AllPlayerCards.15bb07/ThievesKit3.be8d1f.json index 3cd74790..7117d136 100644 --- a/objects/AllPlayerCards.15bb07/ThievesKit3.be8d1f.json +++ b/objects/AllPlayerCards.15bb07/ThievesKit3.be8d1f.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/WordofWeal.5edfc2.json b/objects/AllPlayerCards.15bb07/WordofWeal.5edfc2.json index 2ba5fd57..f875d07b 100644 --- a/objects/AllPlayerCards.15bb07/WordofWeal.5edfc2.json +++ b/objects/AllPlayerCards.15bb07/WordofWeal.5edfc2.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/WordofWoe.bb7174.json b/objects/AllPlayerCards.15bb07/WordofWoe.bb7174.json index 47c98c4a..da01a521 100644 --- a/objects/AllPlayerCards.15bb07/WordofWoe.bb7174.json +++ b/objects/AllPlayerCards.15bb07/WordofWoe.bb7174.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/AllPlayerCards.15bb07/WoundedBystander.fb54d3.json b/objects/AllPlayerCards.15bb07/WoundedBystander.fb54d3.json index 75c0273e..96975e0d 100644 --- a/objects/AllPlayerCards.15bb07/WoundedBystander.fb54d3.json +++ b/objects/AllPlayerCards.15bb07/WoundedBystander.fb54d3.json @@ -15,7 +15,7 @@ "3790": { "BackIsHidden": true, "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1814412497119438903/90145E036353C9A97F52096A369A70BF7073BFB6/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201640/A992318B1957FC69EB36B5E6FC87D226AAC5EC21/", "NumHeight": 7, "NumWidth": 10, "Type": 0, diff --git a/objects/TarotDeck.77f1e5.json b/objects/TarotDeck.77f1e5.json index 7e8090a2..8c74b84e 100644 --- a/objects/TarotDeck.77f1e5.json +++ b/objects/TarotDeck.77f1e5.json @@ -39,7 +39,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/DeathXIII.a00798.json b/objects/TarotDeck.77f1e5/DeathXIII.a00798.json index f4aa6c15..11a24064 100644 --- a/objects/TarotDeck.77f1e5/DeathXIII.a00798.json +++ b/objects/TarotDeck.77f1e5/DeathXIII.a00798.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/JudgementXX.e5e392.json b/objects/TarotDeck.77f1e5/JudgementXX.e5e392.json index 77c8ab08..930950be 100644 --- a/objects/TarotDeck.77f1e5/JudgementXX.e5e392.json +++ b/objects/TarotDeck.77f1e5/JudgementXX.e5e392.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/JusticeXI.c4282a.json b/objects/TarotDeck.77f1e5/JusticeXI.c4282a.json index 76c1e967..1070fd49 100644 --- a/objects/TarotDeck.77f1e5/JusticeXI.c4282a.json +++ b/objects/TarotDeck.77f1e5/JusticeXI.c4282a.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/StrengthVIII.e0ad3b.json b/objects/TarotDeck.77f1e5/StrengthVIII.e0ad3b.json index 84d0d9be..2b9edb62 100644 --- a/objects/TarotDeck.77f1e5/StrengthVIII.e0ad3b.json +++ b/objects/TarotDeck.77f1e5/StrengthVIII.e0ad3b.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TemperanceXIV.ffb72a.json b/objects/TarotDeck.77f1e5/TemperanceXIV.ffb72a.json index 7699b7f0..34227aee 100644 --- a/objects/TarotDeck.77f1e5/TemperanceXIV.ffb72a.json +++ b/objects/TarotDeck.77f1e5/TemperanceXIV.ffb72a.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheChariotVII.f633db.json b/objects/TarotDeck.77f1e5/TheChariotVII.f633db.json index 06d7256b..8fb66943 100644 --- a/objects/TarotDeck.77f1e5/TheChariotVII.f633db.json +++ b/objects/TarotDeck.77f1e5/TheChariotVII.f633db.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheDevilXV.8328fd.json b/objects/TarotDeck.77f1e5/TheDevilXV.8328fd.json index beda6b3e..56c1334b 100644 --- a/objects/TarotDeck.77f1e5/TheDevilXV.8328fd.json +++ b/objects/TarotDeck.77f1e5/TheDevilXV.8328fd.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheEmperorIV.8be589.json b/objects/TarotDeck.77f1e5/TheEmperorIV.8be589.json index 545e6d64..8d73c5d0 100644 --- a/objects/TarotDeck.77f1e5/TheEmperorIV.8be589.json +++ b/objects/TarotDeck.77f1e5/TheEmperorIV.8be589.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheEmpressIII.ee4a47.json b/objects/TarotDeck.77f1e5/TheEmpressIII.ee4a47.json index 0c25d020..39a1fa4d 100644 --- a/objects/TarotDeck.77f1e5/TheEmpressIII.ee4a47.json +++ b/objects/TarotDeck.77f1e5/TheEmpressIII.ee4a47.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheFool0.01cd9f.json b/objects/TarotDeck.77f1e5/TheFool0.01cd9f.json index de2f2bbc..9adc9657 100644 --- a/objects/TarotDeck.77f1e5/TheFool0.01cd9f.json +++ b/objects/TarotDeck.77f1e5/TheFool0.01cd9f.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheHangedManXII.522d77.json b/objects/TarotDeck.77f1e5/TheHangedManXII.522d77.json index c09ff50f..2b8f117c 100644 --- a/objects/TarotDeck.77f1e5/TheHangedManXII.522d77.json +++ b/objects/TarotDeck.77f1e5/TheHangedManXII.522d77.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheHermitIX.e2e3a0.json b/objects/TarotDeck.77f1e5/TheHermitIX.e2e3a0.json index c5907c13..f244948f 100644 --- a/objects/TarotDeck.77f1e5/TheHermitIX.e2e3a0.json +++ b/objects/TarotDeck.77f1e5/TheHermitIX.e2e3a0.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheHierophantV.2f9064.json b/objects/TarotDeck.77f1e5/TheHierophantV.2f9064.json index 99e18ff2..ec6ad7ad 100644 --- a/objects/TarotDeck.77f1e5/TheHierophantV.2f9064.json +++ b/objects/TarotDeck.77f1e5/TheHierophantV.2f9064.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheHighPriestessII.a6d017.json b/objects/TarotDeck.77f1e5/TheHighPriestessII.a6d017.json index 147518c1..c6891165 100644 --- a/objects/TarotDeck.77f1e5/TheHighPriestessII.a6d017.json +++ b/objects/TarotDeck.77f1e5/TheHighPriestessII.a6d017.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheLoversVI.d5d07a.json b/objects/TarotDeck.77f1e5/TheLoversVI.d5d07a.json index 39ed6e69..fc2533d1 100644 --- a/objects/TarotDeck.77f1e5/TheLoversVI.d5d07a.json +++ b/objects/TarotDeck.77f1e5/TheLoversVI.d5d07a.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheMagicianI.0fd716.json b/objects/TarotDeck.77f1e5/TheMagicianI.0fd716.json index 51fa76ee..024a7c93 100644 --- a/objects/TarotDeck.77f1e5/TheMagicianI.0fd716.json +++ b/objects/TarotDeck.77f1e5/TheMagicianI.0fd716.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheMoonXVIII.37c24c.json b/objects/TarotDeck.77f1e5/TheMoonXVIII.37c24c.json index bbe6a30c..387235e3 100644 --- a/objects/TarotDeck.77f1e5/TheMoonXVIII.37c24c.json +++ b/objects/TarotDeck.77f1e5/TheMoonXVIII.37c24c.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheStarXVII.37153b.json b/objects/TarotDeck.77f1e5/TheStarXVII.37153b.json index 08a131e2..0ea26158 100644 --- a/objects/TarotDeck.77f1e5/TheStarXVII.37153b.json +++ b/objects/TarotDeck.77f1e5/TheStarXVII.37153b.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheSunXIX.65b6cb.json b/objects/TarotDeck.77f1e5/TheSunXIX.65b6cb.json index 24ce66ac..d6f51e1f 100644 --- a/objects/TarotDeck.77f1e5/TheSunXIX.65b6cb.json +++ b/objects/TarotDeck.77f1e5/TheSunXIX.65b6cb.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheTowerXVI.25ae32.json b/objects/TarotDeck.77f1e5/TheTowerXVI.25ae32.json index c755a9fc..3ca25fba 100644 --- a/objects/TarotDeck.77f1e5/TheTowerXVI.25ae32.json +++ b/objects/TarotDeck.77f1e5/TheTowerXVI.25ae32.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/TheWorldXXI.dacc75.json b/objects/TarotDeck.77f1e5/TheWorldXXI.dacc75.json index a73abaeb..eb00a60e 100644 --- a/objects/TarotDeck.77f1e5/TheWorldXXI.dacc75.json +++ b/objects/TarotDeck.77f1e5/TheWorldXXI.dacc75.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeck.77f1e5/WheelofFortuneX.00f067.json b/objects/TarotDeck.77f1e5/WheelofFortuneX.00f067.json index 70d00a70..d16982dc 100644 --- a/objects/TarotDeck.77f1e5/WheelofFortuneX.00f067.json +++ b/objects/TarotDeck.77f1e5/WheelofFortuneX.00f067.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/DeathXIII.a00798.json b/objects/TarotDeckScripted.a230f9/DeathXIII.a00798.json index a8b6e6b2..c2f2256b 100644 --- a/objects/TarotDeckScripted.a230f9/DeathXIII.a00798.json +++ b/objects/TarotDeckScripted.a230f9/DeathXIII.a00798.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/JudgementXX.e5e392.json b/objects/TarotDeckScripted.a230f9/JudgementXX.e5e392.json index be7da87f..218fd2a1 100644 --- a/objects/TarotDeckScripted.a230f9/JudgementXX.e5e392.json +++ b/objects/TarotDeckScripted.a230f9/JudgementXX.e5e392.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/JusticeXI.c4282a.json b/objects/TarotDeckScripted.a230f9/JusticeXI.c4282a.json index c8ff765e..e87b14ec 100644 --- a/objects/TarotDeckScripted.a230f9/JusticeXI.c4282a.json +++ b/objects/TarotDeckScripted.a230f9/JusticeXI.c4282a.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/StrengthVIII.e0ad3b.json b/objects/TarotDeckScripted.a230f9/StrengthVIII.e0ad3b.json index 2840e596..8fab6f3a 100644 --- a/objects/TarotDeckScripted.a230f9/StrengthVIII.e0ad3b.json +++ b/objects/TarotDeckScripted.a230f9/StrengthVIII.e0ad3b.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TemperanceXIV.ffb72a.json b/objects/TarotDeckScripted.a230f9/TemperanceXIV.ffb72a.json index 4e98d0f0..81f7b978 100644 --- a/objects/TarotDeckScripted.a230f9/TemperanceXIV.ffb72a.json +++ b/objects/TarotDeckScripted.a230f9/TemperanceXIV.ffb72a.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheChariotVII.f633db.json b/objects/TarotDeckScripted.a230f9/TheChariotVII.f633db.json index 6716491d..6d17f2a2 100644 --- a/objects/TarotDeckScripted.a230f9/TheChariotVII.f633db.json +++ b/objects/TarotDeckScripted.a230f9/TheChariotVII.f633db.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheDevilXV.8328fd.json b/objects/TarotDeckScripted.a230f9/TheDevilXV.8328fd.json index a9790a7b..9d2f09ad 100644 --- a/objects/TarotDeckScripted.a230f9/TheDevilXV.8328fd.json +++ b/objects/TarotDeckScripted.a230f9/TheDevilXV.8328fd.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheEmperorIV.8be589.json b/objects/TarotDeckScripted.a230f9/TheEmperorIV.8be589.json index 1500bdba..4fd155cf 100644 --- a/objects/TarotDeckScripted.a230f9/TheEmperorIV.8be589.json +++ b/objects/TarotDeckScripted.a230f9/TheEmperorIV.8be589.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheEmpressIII.ee4a47.json b/objects/TarotDeckScripted.a230f9/TheEmpressIII.ee4a47.json index 17545409..eefba818 100644 --- a/objects/TarotDeckScripted.a230f9/TheEmpressIII.ee4a47.json +++ b/objects/TarotDeckScripted.a230f9/TheEmpressIII.ee4a47.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheFool0.01cd9f.json b/objects/TarotDeckScripted.a230f9/TheFool0.01cd9f.json index ea706566..a02b9f51 100644 --- a/objects/TarotDeckScripted.a230f9/TheFool0.01cd9f.json +++ b/objects/TarotDeckScripted.a230f9/TheFool0.01cd9f.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheHangedManXII.522d77.json b/objects/TarotDeckScripted.a230f9/TheHangedManXII.522d77.json index e2a2ade1..d0bbe085 100644 --- a/objects/TarotDeckScripted.a230f9/TheHangedManXII.522d77.json +++ b/objects/TarotDeckScripted.a230f9/TheHangedManXII.522d77.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheHermitIX.e2e3a0.json b/objects/TarotDeckScripted.a230f9/TheHermitIX.e2e3a0.json index af96fb90..2fa17b01 100644 --- a/objects/TarotDeckScripted.a230f9/TheHermitIX.e2e3a0.json +++ b/objects/TarotDeckScripted.a230f9/TheHermitIX.e2e3a0.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheHierophantV.2f9064.json b/objects/TarotDeckScripted.a230f9/TheHierophantV.2f9064.json index b2ee9631..dd59033c 100644 --- a/objects/TarotDeckScripted.a230f9/TheHierophantV.2f9064.json +++ b/objects/TarotDeckScripted.a230f9/TheHierophantV.2f9064.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheHighPriestessII.a6d017.json b/objects/TarotDeckScripted.a230f9/TheHighPriestessII.a6d017.json index 04e6bdb3..f129cd31 100644 --- a/objects/TarotDeckScripted.a230f9/TheHighPriestessII.a6d017.json +++ b/objects/TarotDeckScripted.a230f9/TheHighPriestessII.a6d017.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheLoversVI.d5d07a.json b/objects/TarotDeckScripted.a230f9/TheLoversVI.d5d07a.json index c63827c5..f7fb2d7e 100644 --- a/objects/TarotDeckScripted.a230f9/TheLoversVI.d5d07a.json +++ b/objects/TarotDeckScripted.a230f9/TheLoversVI.d5d07a.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheMagicianI.0fd716.json b/objects/TarotDeckScripted.a230f9/TheMagicianI.0fd716.json index 643cd867..ccb68049 100644 --- a/objects/TarotDeckScripted.a230f9/TheMagicianI.0fd716.json +++ b/objects/TarotDeckScripted.a230f9/TheMagicianI.0fd716.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheMoonXVIII.37c24c.json b/objects/TarotDeckScripted.a230f9/TheMoonXVIII.37c24c.json index 8d58baf6..ac613433 100644 --- a/objects/TarotDeckScripted.a230f9/TheMoonXVIII.37c24c.json +++ b/objects/TarotDeckScripted.a230f9/TheMoonXVIII.37c24c.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheStarXVII.37153b.json b/objects/TarotDeckScripted.a230f9/TheStarXVII.37153b.json index c47fe133..a173784d 100644 --- a/objects/TarotDeckScripted.a230f9/TheStarXVII.37153b.json +++ b/objects/TarotDeckScripted.a230f9/TheStarXVII.37153b.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheSunXIX.65b6cb.json b/objects/TarotDeckScripted.a230f9/TheSunXIX.65b6cb.json index d443448b..489b61b8 100644 --- a/objects/TarotDeckScripted.a230f9/TheSunXIX.65b6cb.json +++ b/objects/TarotDeckScripted.a230f9/TheSunXIX.65b6cb.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheTowerXVI.25ae32.json b/objects/TarotDeckScripted.a230f9/TheTowerXVI.25ae32.json index 21967815..8463d6ca 100644 --- a/objects/TarotDeckScripted.a230f9/TheTowerXVI.25ae32.json +++ b/objects/TarotDeckScripted.a230f9/TheTowerXVI.25ae32.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/TheWorldXXI.dacc75.json b/objects/TarotDeckScripted.a230f9/TheWorldXXI.dacc75.json index 07d238a8..0f0de049 100644 --- a/objects/TarotDeckScripted.a230f9/TheWorldXXI.dacc75.json +++ b/objects/TarotDeckScripted.a230f9/TheWorldXXI.dacc75.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, diff --git a/objects/TarotDeckScripted.a230f9/WheelofFortuneX.00f067.json b/objects/TarotDeckScripted.a230f9/WheelofFortuneX.00f067.json index 713118ab..7853b25e 100644 --- a/objects/TarotDeckScripted.a230f9/WheelofFortuneX.00f067.json +++ b/objects/TarotDeckScripted.a230f9/WheelofFortuneX.00f067.json @@ -15,7 +15,7 @@ "2663": { "BackIsHidden": true, "BackURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767619573/BC43BD2A94446B804BE325C7255D8179DEB2ABE8/", - "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1697276706767616930/9DB49D8C4BBF9C396AB364151195351559FD1B98/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230201267/C4CB25A240597A5E973CBE29E63FD5976D40F8E4//", "NumHeight": 4, "NumWidth": 6, "Type": 0, From 24acbd20ccefa44c99cfcb2fcaeb32e58d51fc00 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Tue, 22 Aug 2023 10:45:24 +0200 Subject: [PATCH 13/25] added placeholder boxes for fan-made campaigns --- .../Fan-MadeCampaigns.89c32e.json | 17 ++-- .../CircusExMortisCampaign.93b8cb.json | 86 +++++++++++++++++++ .../Half-Life.b46db2.json | 86 +++++++++++++++++++ ...ReturntoTheInnsmouthConspiracy.bba2b6.json | 86 +++++++++++++++++++ 4 files changed, 268 insertions(+), 7 deletions(-) create mode 100644 objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/CircusExMortisCampaign.93b8cb.json create mode 100644 objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/Half-Life.b46db2.json create mode 100644 objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/TheUnofficialReturntoTheInnsmouthConspiracy.bba2b6.json diff --git a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e.json b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e.json index 6b0defae..09810351 100644 --- a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e.json +++ b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e.json @@ -16,35 +16,38 @@ "ContainedObjects_order": [ "WinterWinds.754057", "TheWaroftheWorlds.19d469", - "TheOutsider.3c175c", - "TheLondonSet.0f96ac", - "TheGhostsOfOnigawaCampaignExpansion.8daa73", - "TheDyingStar.bcfff6", - "TheCrownofEgil.7458b7", - "TheColorOutofOz.be7d21", - "TheApproachingStorm.ab6b9a", "StrangeAeons.2abdd6", + "TheUnofficialReturntoTheInnsmouthConspiracy.bba2b6", "PokemonEldritchEdition.75fe78", "ParallelUniverse.28e0a1", + "TheOutsider.3c175c", "OrdoTempliOrientis.608bea", "OfSphinxandSands.edb650", "NorthCountryCycle.aaceca", "MachiningAMystery.79b36d", + "TheLondonSet.0f96ac", "KiedysnyStajsiRzeczywici.acdf16", "Kaimonogatari.2df25a", "Jumanji.b46db2", "IntotheShadowlands.019847", "IdolThoughts.2d417b", + "Half-Life.b46db2", + "TheGhostsOfOnigawaCampaignExpansion.8daa73", "FutureReflections.0f0680", "EssenceofHumanityCampaignBox.691339", + "TheDyingStar.bcfff6", "DarkMatter.d713f4", "DarkhamHorror.bc7fa7", "CyclopeanFoundations.169eb9", + "TheCrownofEgil.7458b7", + "TheColorOutofOz.be7d21", "CloseEncountersoftheLV-426Kind.4f5421", + "CircusExMortisCampaign.93b8cb", "CelticRising.4d305a", "CallofthePlaguebearer.613b64", "Bloodborne-CityoftheUnseen.24fb2b", "BetrayalattheMountainsofMadness.ef939a", + "TheApproachingStorm.ab6b9a", "AliceinWonderland.39916d", "AgesUnwound.f7e5eb" ], diff --git a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/CircusExMortisCampaign.93b8cb.json b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/CircusExMortisCampaign.93b8cb.json new file mode 100644 index 00000000..427a864e --- /dev/null +++ b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/CircusExMortisCampaign.93b8cb.json @@ -0,0 +1,86 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "AttachedDecals": [ + { + "CustomDecal": { + "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", + "Name": "dunwich_back", + "Size": 7.4 + }, + "Transform": { + "posX": -0.0021877822, + "posY": -0.08963572, + "posZ": -0.00288731651, + "rotX": 270, + "rotY": 359.869568, + "rotZ": 0, + "scaleX": 2.00000215, + "scaleY": 2.00000238, + "scaleZ": 2.00000262 + } + } + ], + "Autoraise": true, + "ColorDiffuse": { + "a": 0.27843, + "b": 1, + "g": 1, + "r": 1 + }, + "CustomMesh": { + "CastShadows": true, + "ColliderURL": "", + "Convex": true, + "CustomShader": { + "FresnelStrength": 0, + "SpecularColor": { + "b": 1, + "g": 1, + "r": 1 + }, + "SpecularIntensity": 0, + "SpecularSharpness": 2 + }, + "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2001337710389944099/BC4BADD35E9E87F6BC0BAC93F0FCEB168848AAAC/", + "MaterialIndex": 3, + "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", + "NormalURL": "", + "TypeIndex": 0 + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "fancreations/campaign_circus_ex_mortis.json", + "GUID": "93b8cb", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "require(\"core/DownloadBox\")", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Custom_Model", + "Nickname": "Circus Ex Mortis Campaign", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": 40.901, + "posY": 3.908, + "posZ": -94.549, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 2.21, + "scaleY": 0.46, + "scaleZ": 2.42 + }, + "Value": 0, + "XmlUI": "" +} \ No newline at end of file diff --git a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/Half-Life.b46db2.json b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/Half-Life.b46db2.json new file mode 100644 index 00000000..9d399a40 --- /dev/null +++ b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/Half-Life.b46db2.json @@ -0,0 +1,86 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "AttachedDecals": [ + { + "CustomDecal": { + "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", + "Name": "dunwich_back", + "Size": 7.4 + }, + "Transform": { + "posX": -0.0021877822, + "posY": -0.08963572, + "posZ": -0.00288731651, + "rotX": 270, + "rotY": 359.869568, + "rotZ": 0, + "scaleX": 2.00000215, + "scaleY": 2.00000238, + "scaleZ": 2.00000262 + } + } + ], + "Autoraise": true, + "ColorDiffuse": { + "a": 0.27843, + "b": 1, + "g": 1, + "r": 1 + }, + "CustomMesh": { + "CastShadows": true, + "ColliderURL": "", + "Convex": true, + "CustomShader": { + "FresnelStrength": 0, + "SpecularColor": { + "b": 1, + "g": 1, + "r": 1 + }, + "SpecularIntensity": 0, + "SpecularSharpness": 2 + }, + "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2005838229417815473/BC879D878262BA9FBD9040AE4F952468C3C4C2CC/", + "MaterialIndex": 3, + "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", + "NormalURL": "", + "TypeIndex": 0 + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "fancreations/campaign_half-life.json", + "GUID": "b46db2", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "require(\"core/DownloadBox\")", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Custom_Model", + "Nickname": "Half-Life", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": 21.963, + "posY": 3.908, + "posZ": -85.679, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 2.21, + "scaleY": 0.46, + "scaleZ": 2.42 + }, + "Value": 0, + "XmlUI": "" +} \ No newline at end of file diff --git a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/TheUnofficialReturntoTheInnsmouthConspiracy.bba2b6.json b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/TheUnofficialReturntoTheInnsmouthConspiracy.bba2b6.json new file mode 100644 index 00000000..c96a40fb --- /dev/null +++ b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/TheUnofficialReturntoTheInnsmouthConspiracy.bba2b6.json @@ -0,0 +1,86 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "AttachedDecals": [ + { + "CustomDecal": { + "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", + "Name": "dunwich_back", + "Size": 7.4 + }, + "Transform": { + "posX": -0.0021877822, + "posY": -0.08963572, + "posZ": -0.00288731651, + "rotX": 270, + "rotY": 359.869568, + "rotZ": 0, + "scaleX": 2.00000215, + "scaleY": 2.00000238, + "scaleZ": 2.00000262 + } + } + ], + "Autoraise": true, + "ColorDiffuse": { + "a": 0.27843, + "b": 1, + "g": 1, + "r": 1 + }, + "CustomMesh": { + "CastShadows": true, + "ColliderURL": "", + "Convex": true, + "CustomShader": { + "FresnelStrength": 0, + "SpecularColor": { + "b": 1, + "g": 1, + "r": 1 + }, + "SpecularIntensity": 0, + "SpecularSharpness": 2 + }, + "DiffuseURL": "https://i.imgur.com/pKWVnxO.png", + "MaterialIndex": 3, + "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", + "NormalURL": "", + "TypeIndex": 0 + }, + "Description": "v3", + "DragSelectable": true, + "GMNotes": "fancreations/campaign_unofficial_return_to_tic.json", + "GUID": "bba2b6", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "require(\"core/DownloadBox\")", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Custom_Model", + "Nickname": "The (Unofficial) Return to The Innsmouth Conspiracy ", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": -16.34, + "posY": 3.317, + "posZ": -73.441, + "rotX": 0, + "rotY": 180, + "rotZ": 0, + "scaleX": 2.21, + "scaleY": 0.46, + "scaleZ": 2.42 + }, + "Value": 0, + "XmlUI": "" +} \ No newline at end of file From 06fa240012cd603975da7669b9443832b3acc6d8 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Tue, 22 Aug 2023 11:05:45 +0200 Subject: [PATCH 14/25] nicer box --- ...ReturntoTheInnsmouthConspiracy.bba2b6.json | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/TheUnofficialReturntoTheInnsmouthConspiracy.bba2b6.json b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/TheUnofficialReturntoTheInnsmouthConspiracy.bba2b6.json index c96a40fb..d0fcec64 100644 --- a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/TheUnofficialReturntoTheInnsmouthConspiracy.bba2b6.json +++ b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/TheUnofficialReturntoTheInnsmouthConspiracy.bba2b6.json @@ -16,11 +16,11 @@ "posY": -0.08963572, "posZ": -0.00288731651, "rotX": 270, - "rotY": 359.869568, + "rotY": 0, "rotZ": 0, - "scaleX": 2.00000215, - "scaleY": 2.00000238, - "scaleZ": 2.00000262 + "scaleX": 2, + "scaleY": 2, + "scaleZ": 2 } } ], @@ -45,9 +45,9 @@ "SpecularIntensity": 0, "SpecularSharpness": 2 }, - "DiffuseURL": "https://i.imgur.com/pKWVnxO.png", + "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2021606446230436832/9485F353EEE9717261DC545E0AE772A33A9E7E73/", "MaterialIndex": 3, - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", + "MeshURL": "http://pastebin.com/raw.php?i=uWAmuNZ2", "NormalURL": "", "TypeIndex": 0 }, @@ -75,11 +75,11 @@ "posY": 3.317, "posZ": -73.441, "rotX": 0, - "rotY": 180, + "rotY": 270, "rotZ": 0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 + "scaleX": 2, + "scaleY": 0.11, + "scaleZ": 1.69 }, "Value": 0, "XmlUI": "" From f233bfcac41cbaa56b290d8cdc10d0beb81993a1 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Tue, 22 Aug 2023 12:31:39 +0200 Subject: [PATCH 15/25] added disclaimer to option panel language selection --- xml/OptionPanel.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xml/OptionPanel.xml b/xml/OptionPanel.xml index b1d3cdce..3b5a090d 100644 --- a/xml/OptionPanel.xml +++ b/xml/OptionPanel.xml @@ -115,7 +115,7 @@ Card language - Downloading a campaign or importing a deck will use this language for cards (if available). + Downloading a campaign or importing a deck will use this language for cards (NOT FUNCTIONAL YET!). From 1e6ca0962115e1b0ab333f86f6594105b96d7213 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Thu, 24 Aug 2023 00:10:40 +0200 Subject: [PATCH 16/25] fixed rotation of resource token for red player --- objects/Resourcetokens.fd617a/Resource.910e09.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/objects/Resourcetokens.fd617a/Resource.910e09.json b/objects/Resourcetokens.fd617a/Resource.910e09.json index 852012b0..d06f4b41 100644 --- a/objects/Resourcetokens.fd617a/Resource.910e09.json +++ b/objects/Resourcetokens.fd617a/Resource.910e09.json @@ -380,7 +380,7 @@ "posY": 1.5, "posZ": 8, "rotX": 0, - "rotY": 0, + "rotY": 90, "rotZ": 0, "scaleX": 0.17, "scaleY": 0.17, @@ -397,7 +397,7 @@ "posY": 1.5, "posZ": 8, "rotX": 0, - "rotY": 270, + "rotY": 0, "rotZ": 0, "scaleX": 0.17, "scaleY": 0.17, From dc2005caa97b06d808faa92b48b4a481a6419ef5 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Thu, 24 Aug 2023 00:30:45 +0200 Subject: [PATCH 17/25] version bump --- config.json | 2 +- src/core/Global.ttslua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config.json b/config.json index 7ace3af2..599133ab 100644 --- a/config.json +++ b/config.json @@ -213,7 +213,7 @@ 0, 0 ], - "SaveName": "Arkham SCE - 3.1.0", + "SaveName": "Arkham SCE - 3.2.0", "Sky": "Sky_Museum", "SkyURL": "https://i.imgur.com/GkQqaOF.jpg", "SnapPoints_path": "SnapPoints.json", diff --git a/src/core/Global.ttslua b/src/core/Global.ttslua index 18bea7c0..987c6f07 100644 --- a/src/core/Global.ttslua +++ b/src/core/Global.ttslua @@ -42,7 +42,7 @@ local navigationOverlayApi = require("core/NavigationOverlayApi") local tokenChecker = require("core/token/TokenChecker") -- online functionality related variables -local MOD_VERSION = "3.1.0" +local MOD_VERSION = "3.2.0" local SOURCE_REPO = 'https://raw.githubusercontent.com/chr1z93/loadable-objects/main' local library, requestObj, modMeta, notificationVisible local acknowledgedUpgradeVersions = {} From b8bcd04b0f5155923731f04d5b759f001cd16dce Mon Sep 17 00:00:00 2001 From: Entrox-Licher Date: Thu, 24 Aug 2023 20:04:14 -0400 Subject: [PATCH 18/25] Addressed PR Suggestions --- src/arkhamdb/ArkhamDb.ttslua | 10 ++++---- src/arkhamdb/DeckImporterMain.ttslua | 4 ++-- src/arkhamdb/DeckImporterUi.ttslua | 1 - src/chaosbag/ChaosBagApi.ttslua | 4 ++-- src/core/PlayArea.ttslua | 25 +++++++++++++++++++ src/core/PlayAreaApi.ttslua | 16 +------------ src/core/PlayAreaSelector.ttslua | 33 ++++---------------------- src/playercards/AllCardsBagApi.ttslua | 18 +++++++------- src/playercards/CardSearch.ttslua | 2 +- src/playercards/PlayerCardPanel.ttslua | 6 ++--- src/playercards/SpawnBag.ttslua | 2 +- src/playermat/Playmat.ttslua | 2 +- 12 files changed, 55 insertions(+), 68 deletions(-) diff --git a/src/arkhamdb/ArkhamDb.ttslua b/src/arkhamdb/ArkhamDb.ttslua index 6f1957af..286f58f1 100644 --- a/src/arkhamdb/ArkhamDb.ttslua +++ b/src/arkhamdb/ArkhamDb.ttslua @@ -57,7 +57,7 @@ do callback) -- Get a simple card to see if the bag indexes are complete. If not, abort -- the deck load. The called method will handle player notification. - local checkCard = allCardsBagApi.getCardById({ id = "01001" }) + local checkCard = allCardsBagApi.getCardById("01001") if (checkCard ~= nil and checkCard.data == nil) then return end @@ -241,7 +241,7 @@ do internal.maybeAddCustomizeUpgradeSheets = function(slots) for cardId, _ in pairs(slots) do -- upgrade sheets for customizable cards - local upgradesheet = allCardsBagApi.getCardById({ id = cardId .. "-c" }) + local upgradesheet = allCardsBagApi.getCardById(cardId .. "-c") if upgradesheet ~= nil then slots[cardId .. "-c"] = 1 end @@ -282,7 +282,7 @@ do local bondedCards = { } local bondedList = { } for cardId, cardCount in pairs(slots) do - local card = allCardsBagApi.getCardById({ id = cardId }) + local card = allCardsBagApi.getCardById(cardId) if (card ~= nil and card.metadata.bonded ~= nil) then for _, bond in ipairs(card.metadata.bonded) do bondedCards[bond.id] = bond.count @@ -311,9 +311,9 @@ do -- Make sure there's a taboo version of the card before we replace it -- SCED only maintains the most recent taboo cards. If a deck is using -- an older taboo list it's possible the card isn't a taboo any more - local tabooCard = allCardsBagApi.getCardById({ id = cardId .. "-t" }) + local tabooCard = allCardsBagApi.getCardById(cardId .. "-t") if tabooCard == nil then - local basicCard = allCardsBagApi.getCardById({ id = cardId }) + local basicCard = allCardsBagApi.getCardById(cardId) internal.maybePrint("Taboo version for " .. basicCard.data.Nickname .. " is not available. Using standard version", playerColor) else slots[cardId .. "-t"] = slots[cardId] diff --git a/src/arkhamdb/DeckImporterMain.ttslua b/src/arkhamdb/DeckImporterMain.ttslua index 3bd4f069..8c0cfb2f 100644 --- a/src/arkhamdb/DeckImporterMain.ttslua +++ b/src/arkhamdb/DeckImporterMain.ttslua @@ -74,7 +74,7 @@ function loadCards(slots, investigatorId, bondedList, customizations, playerColo local yPos = {} local cardsToSpawn = {} for cardId, cardCount in pairs(slots) do - local card = allCardsBagApi.getCardById({ id = cardId }) + local card = allCardsBagApi.getCardById(cardId) if card ~= nil then local cardZone = getDefaultCardZone(card.metadata, bondedList) for i = 1, cardCount do @@ -183,7 +183,7 @@ end -- Returns the simple name of a card given its ID. This will find the card and strip any trailing -- SCED-specific suffixes such as (Taboo) or (Level) function getCardName(cardId) - local card = allCardsBagApi.getCardById({ id = cardId }) + local card = allCardsBagApi.getCardById(cardId) if (card ~= nil) then local name = card.data.Nickname if (string.find(name, " %(")) then diff --git a/src/arkhamdb/DeckImporterUi.ttslua b/src/arkhamdb/DeckImporterUi.ttslua index 4c9b8f08..59ad1ac8 100644 --- a/src/arkhamdb/DeckImporterUi.ttslua +++ b/src/arkhamdb/DeckImporterUi.ttslua @@ -219,7 +219,6 @@ function loadDecks() -- testLoadLotsOfDecks() -- Method in DeckImporterMain, visible due to inclusion - -- TODO: Make this use the configuration ID for the all cards bag local indexReady = allCardsBagApi.isIndexReady() if (not indexReady) then broadcastToAll("Still loading player cards, please try again in a few seconds", {0.9, 0.2, 0.2}) diff --git a/src/chaosbag/ChaosBagApi.ttslua b/src/chaosbag/ChaosBagApi.ttslua index 4a95830f..e0252266 100644 --- a/src/chaosbag/ChaosBagApi.ttslua +++ b/src/chaosbag/ChaosBagApi.ttslua @@ -50,8 +50,8 @@ do end -- called by playermats (by the "Draw chaos token" button) - ChaosBagApi.drawChaosToken = function(params) - return Global.call("drawChaosToken", params) + ChaosBagApi.drawChaosToken = function(mat, tokenOffset, isRightClick) + return Global.call("drawChaosToken", {mat, tokenOffset, isRightClick}) end -- returns a Table List of chaos token ids in the current chaos bag diff --git a/src/core/PlayArea.ttslua b/src/core/PlayArea.ttslua index d182b272..54e09d5a 100644 --- a/src/core/PlayArea.ttslua +++ b/src/core/PlayArea.ttslua @@ -28,6 +28,8 @@ local collisionEnabled = false -- used for recreating the link to a custom data helper after image change customDataHelper = nil +local DEFAULT_URL = "http://cloud-3.steamusercontent.com/ugc/998015670465071049/FFAE162920D67CF38045EFBD3B85AD0F916147B2/" + local SHIFT_OFFSETS = { left = { x = 0.00, y = 0, z = 7.67 }, right = { x = 0.00, y = 0, z = -7.67 }, @@ -94,6 +96,29 @@ function updateLocations(args) end end +function updateSurface(newURL) + local customInfo = self.getCustomObject() + + if newURL ~= "" and newURL ~= nil and newURL ~= DEFAULT_URL then + customInfo.image = newURL + broadcastToAll("New Playmat Image Applied", { 0.2, 0.9, 0.2 }) + else + customInfo.image = DEFAULT_URL + broadcastToAll("Default Playmat Image Applied", { 0.2, 0.9, 0.2 }) + end + + self.setCustomObject(customInfo) + + local guid = nil + + if customDataHelper then guid = customDataHelper.getGUID() end + self.reload() + + if guid ~= nil then + Wait.time(function() updateLocations({ guid }) end, 1) + end +end + function onCollisionEnter(collisionInfo) local obj = collisionInfo.collision_object local objType = obj.name diff --git a/src/core/PlayAreaApi.ttslua b/src/core/PlayAreaApi.ttslua index d262aa17..66784904 100644 --- a/src/core/PlayAreaApi.ttslua +++ b/src/core/PlayAreaApi.ttslua @@ -4,8 +4,6 @@ do local PLAY_AREA_GUID = "721ba2" local INVESTIGATOR_COUNTER_GUID = "f182ee" - local IMAGE_SWAPPER = "b7b45b" - -- Returns the current value of the investigator counter from the playmat ---@return Integer. Number of investigators currently set on the counter PlayAreaApi.getInvestigatorCount = function() @@ -91,7 +89,7 @@ do end PlayAreaApi.updateSurface = function(url) - return getObjectFromGUID(IMAGE_SWAPPER).call("updateSurface", url) + return getObjectFromGUID(PLAY_AREA_GUID).call("updateSurface", url) end -- Called by Custom Data Helpers to push their location data into the Data Helper. This adds the @@ -105,17 +103,5 @@ do return getObjectFromGUID(PLAY_AREA_GUID).getVar("customDataHelper") end - PlayAreaApi.getCustomObject = function() - return getObjectFromGUID(PLAY_AREA_GUID).getCustomObject() - end - - PlayAreaApi.setCustomObject = function(customInfo) - return getObjectFromGUID(PLAY_AREA_GUID).setCustomObject(customInfo) - end - - PlayAreaApi.reload = function() - return getObjectFromGUID(PLAY_AREA_GUID).reload() - end - return PlayAreaApi end diff --git a/src/core/PlayAreaSelector.ttslua b/src/core/PlayAreaSelector.ttslua index ac1a7dcb..e5958102 100644 --- a/src/core/PlayAreaSelector.ttslua +++ b/src/core/PlayAreaSelector.ttslua @@ -1,5 +1,4 @@ local controlActive = false -local DEFAULT_URL = "http://cloud-3.steamusercontent.com/ugc/998015670465071049/FFAE162920D67CF38045EFBD3B85AD0F916147B2/" local playAreaAPI = require("core/PlayAreaApi") -- parameters for open/close button for reusing @@ -63,38 +62,16 @@ end -- click function for apply button function click_applySurface(_, _, isRightClick) - updateSurface(isRightClick and "" or self.getInputs()[1].value) + playAreaAPI.updateSurface(isRightClick and "" or self.getInputs()[1].value) +end + +function updateSurface(newURL) + playAreaAPI.updateSurface(newURL) end -- input function for the input box function none() end --- main function (can be called by other objects) -function updateSurface(newURL) - local customInfo = playAreaAPI.getCustomObject() - - if newURL ~= "" and newURL ~= nil and newURL ~= DEFAULT_URL then - customInfo.image = newURL - broadcastToAll("New Playmat Image Applied", { 0.2, 0.9, 0.2 }) - else - customInfo.image = DEFAULT_URL - broadcastToAll("Default Playmat Image Applied", { 0.2, 0.9, 0.2 }) - end - - playAreaAPI.setCustomObject(customInfo) - - -- get custom data helper and call the playarea with it after reloading - local customDataHelper = playAreaAPI.getCustomDataHelper() - local guid - - if customDataHelper then guid = customDataHelper.getGUID() end - playAreaAPI.reload() - - if guid ~= nil then - Wait.time(function() playAreaAPI.updateLocations({ guid }) end, 1) - end -end - -- creates the main button function createOpenCloseButton() buttonParameters.tooltip = (controlActive and "Close" or "Open") .. " Playmat Panel" diff --git a/src/playercards/AllCardsBagApi.ttslua b/src/playercards/AllCardsBagApi.ttslua index 8cfa95b0..c9223331 100644 --- a/src/playercards/AllCardsBagApi.ttslua +++ b/src/playercards/AllCardsBagApi.ttslua @@ -9,8 +9,8 @@ do -- returned. Otherwise, a single table with the following fields -- cardData: TTS object data, suitable for spawning the card -- cardMetadata: Table of parsed metadata - AllCardsBagApi.getCardById = function(params) - return getObjectFromGUID(ALL_CARDS_BAG_GUID).call("getCardById", params) + AllCardsBagApi.getCardById = function(id) + return getObjectFromGUID(ALL_CARDS_BAG_GUID).call("getCardById", {id = id}) end -- Gets a random basic weakness from the bag. Once a given ID has been returned @@ -37,11 +37,11 @@ do -- Searches the bag for cards which match the given name and returns a list. Note that this is -- an O(n) search without index support. It may be slow. - -- @param array must contain these fields to define the search: + -- @param -- name String or string fragment to search for names -- exact Whether the name match should be exact - AllCardsBagApi.getCardsByName = function(params) - return getObjectFromGUID(ALL_CARDS_BAG_GUID).call("getCardsByName", params) + AllCardsBagApi.getCardsByName = function(name, exact) + return getObjectFromGUID(ALL_CARDS_BAG_GUID).call("getCardsByName", {name = name, exact = exact}) end AllCardsBagApi.isBagPresent = function() @@ -49,15 +49,15 @@ do end -- Returns a list of cards from the bag matching a class and level (0 or upgraded) - -- @param table: + -- @param -- class: String class to retrieve ("Guardian", "Seeker", etc) - -- isUpgraded: true for upgraded cards (Level 1-5), false for Level 0 + -- upgraded: true for upgraded cards (Level 1-5), false for Level 0 -- @return: If the indexes are still being constructed, returns an empty table. -- Otherwise, a list of tables, each with the following fields -- cardData: TTS object data, suitable for spawning the card -- cardMetadata: Table of parsed metadata - AllCardsBagApi.getCardsByClassAndLevel = function(params) - return getObjectFromGUID(ALL_CARDS_BAG_GUID).call("getCardsByClassAndLevel", params) + AllCardsBagApi.getCardsByClassAndLevel = function(class, upgraded) + return getObjectFromGUID(ALL_CARDS_BAG_GUID).call("getCardsByClassAndLevel", {class = class, upgraded = upgraded}) end AllCardsBagApi.getCardsByCycle = function(cycle) diff --git a/src/playercards/CardSearch.ttslua b/src/playercards/CardSearch.ttslua index 43ce8d0c..fd4f7e3d 100644 --- a/src/playercards/CardSearch.ttslua +++ b/src/playercards/CardSearch.ttslua @@ -108,7 +108,7 @@ function search() end -- search all objects in bag - local cardList = allCardsBagApi.getCardsByName({ name = inputParameters.value, exact = searchExact }) + local cardList = allCardsBagApi.getCardsByName(inputParameters.value, searchExact) if cardList == nil or #cardList == 0 then printToAll("No match found.", "Red") return diff --git a/src/playercards/PlayerCardPanel.ttslua b/src/playercards/PlayerCardPanel.ttslua index 5d0f55d8..135699ab 100644 --- a/src/playercards/PlayerCardPanel.ttslua +++ b/src/playercards/PlayerCardPanel.ttslua @@ -583,13 +583,13 @@ function placeClassCards(cardClass, isUpgraded) broadcastToAll("Still loading player cards, please try again in a few seconds", {0.9, 0.2, 0.2}) return end - local cardIdList = allCardsBagApi.getCardsByClassAndLevel({class = cardClass, upgraded = isUpgraded}) + local cardIdList = allCardsBagApi.getCardsByClassAndLevel(cardClass, isUpgraded) local skillList = { } local eventList = { } local assetList = { } for _, cardId in ipairs(cardIdList) do - local cardMetadata = allCardsBagApi.getCardById({ id = cardId }).metadata + local cardMetadata = allCardsBagApi.getCardById(cardId).metadata if (cardMetadata.type == "Skill") then table.insert(skillList, cardId) elseif (cardMetadata.type == "Event") then @@ -700,7 +700,7 @@ function spawnWeaknesses() local basicWeaknessList = { } local otherWeaknessList = { } for i, id in ipairs(weaknessIdList) do - local cardMetadata = allCardsBagApi.getCardById({ id = id }).metadata + local cardMetadata = allCardsBagApi.getCardById(id).metadata if cardMetadata.basicWeaknessCount ~= nil and cardMetadata.basicWeaknessCount > 0 then table.insert(basicWeaknessList, id) elseif excludedNonBasicWeaknesses[id] == nil then diff --git a/src/playercards/SpawnBag.ttslua b/src/playercards/SpawnBag.ttslua index 1042c037..5591ec53 100644 --- a/src/playercards/SpawnBag.ttslua +++ b/src/playercards/SpawnBag.ttslua @@ -92,7 +92,7 @@ do local cardsToSpawn = { } local cardList = spawnSpec.cards for _, cardId in ipairs(cardList) do - local cardData = allCardsBagApi.getCardById({ id = cardId }) + local cardData = allCardsBagApi.getCardById(cardId) if (cardData ~= nil) then table.insert(cardsToSpawn, cardData) else diff --git a/src/playermat/Playmat.ttslua b/src/playermat/Playmat.ttslua index 387db44a..0c99d6a2 100644 --- a/src/playermat/Playmat.ttslua +++ b/src/playermat/Playmat.ttslua @@ -774,7 +774,7 @@ end --------------------------------------------------------- function drawChaosTokenButton(_, _, isRightClick) - chaosBagApi.drawChaosToken({self, DRAWN_CHAOS_TOKEN_OFFSET, isRightClick}) + chaosBagApi.drawChaosToken(self, DRAWN_CHAOS_TOKEN_OFFSET, isRightClick) end function drawEncountercard(_, _, isRightClick) From a33910dcb88d42a35967c90f236febcf35cbe440 Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Fri, 25 Aug 2023 17:27:48 +0200 Subject: [PATCH 19/25] allow getting the same RBW multiple times --- src/arkhamdb/ArkhamDb.ttslua | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/arkhamdb/ArkhamDb.ttslua b/src/arkhamdb/ArkhamDb.ttslua index 7b8e266e..92ed195e 100644 --- a/src/arkhamdb/ArkhamDb.ttslua +++ b/src/arkhamdb/ArkhamDb.ttslua @@ -167,18 +167,13 @@ do --- if a weakness is added. internal.maybeDrawRandomWeakness = function(slots, playerColor) local allCardsBag = getObjectFromGUID(configuration.card_bag_guid) - local randomWeaknessAmount = 0 - for cardId, cardCount in pairs(slots) do - if cardId == RANDOM_WEAKNESS_ID then - randomWeaknessAmount = cardCount - break - end - end + local randomWeaknessAmount = slots[RANDOM_WEAKNESS_ID] or 0 + slots[RANDOM_WEAKNESS_ID] = nil + if randomWeaknessAmount ~= 0 then for i=1, randomWeaknessAmount do local weaknessId = allCardsBag.call("getRandomWeaknessId") - slots[weaknessId] = 1 - slots[RANDOM_WEAKNESS_ID] = nil + slots[weaknessId] = (slots[weaknessId] or 0) + 1 end internal.maybePrint("Added " .. randomWeaknessAmount .. " random basic weakness(es) to deck", playerColor) end From 414006270641bf0dc366a6f388b06e0c9996be4c Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Sat, 26 Aug 2023 10:27:23 +0200 Subject: [PATCH 20/25] spawn reality acid sheet dynamically --- .../RealityAcidReference.858b0a.gmnotes | 7 +++++++ .../RealityAcidReference.858b0a.json | 2 +- src/arkhamdb/ArkhamDb.ttslua | 10 ++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 objects/AllPlayerCards.15bb07/RealityAcidReference.858b0a.gmnotes diff --git a/objects/AllPlayerCards.15bb07/RealityAcidReference.858b0a.gmnotes b/objects/AllPlayerCards.15bb07/RealityAcidReference.858b0a.gmnotes new file mode 100644 index 00000000..06069c32 --- /dev/null +++ b/objects/AllPlayerCards.15bb07/RealityAcidReference.858b0a.gmnotes @@ -0,0 +1,7 @@ +{ + "id": "89005", + "type": "Story", + "class": "Neutral", + "permanent": true, + "cycle": "Standalone" +} diff --git a/objects/AllPlayerCards.15bb07/RealityAcidReference.858b0a.json b/objects/AllPlayerCards.15bb07/RealityAcidReference.858b0a.json index 9dd6fe0c..614b104a 100644 --- a/objects/AllPlayerCards.15bb07/RealityAcidReference.858b0a.json +++ b/objects/AllPlayerCards.15bb07/RealityAcidReference.858b0a.json @@ -24,7 +24,7 @@ }, "Description": "", "DragSelectable": true, - "GMNotes": "{\r\n \"id\": \"89005\",\r\n \"type\": \"Story\",\r\n \"cycle\": \"Standalone\"\r\n}\r", + "GMNotes_path": "AllPlayerCards.15bb07/RealityAcidReference.858b0a.gmnotes", "GUID": "858b0a", "Grid": true, "GridProjection": false, diff --git a/src/arkhamdb/ArkhamDb.ttslua b/src/arkhamdb/ArkhamDb.ttslua index 7b8e266e..9cdd456c 100644 --- a/src/arkhamdb/ArkhamDb.ttslua +++ b/src/arkhamdb/ArkhamDb.ttslua @@ -146,6 +146,7 @@ do internal.maybeAddCustomizeUpgradeSheets(slots) internal.maybeAddSummonedServitor(slots) internal.maybeAddOnTheMend(slots, playerColor) + internal.maybeAddRealityAcidReference(slots) local bondList = internal.extractBondedCards(slots) internal.checkTaboos(deck.taboo_id, slots, playerColor) @@ -280,6 +281,15 @@ do end end + -- Process the card list looking for Reality Acid and adds the reference sheet when needed + ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number + -- of those cards which will be spawned + internal.maybeAddRealityAcidReference = function(slots) + if slots["89004"] ~= nil then + slots["89005"] = 1 + end + end + -- Process the slot list and looks for any cards which are bonded to those in the deck. Adds those cards to the slot list. ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number of those cards which will be spawned internal.extractBondedCards = function(slots) From 2fd312c651a954c4b19a8d3cd1c4d2257eea8ea3 Mon Sep 17 00:00:00 2001 From: Entrox-Licher Date: Sat, 26 Aug 2023 17:39:52 -0400 Subject: [PATCH 21/25] Fix variable typo --- src/core/PlayAreaSelector.ttslua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/PlayAreaSelector.ttslua b/src/core/PlayAreaSelector.ttslua index e5958102..84749458 100644 --- a/src/core/PlayAreaSelector.ttslua +++ b/src/core/PlayAreaSelector.ttslua @@ -1,5 +1,5 @@ local controlActive = false -local playAreaAPI = require("core/PlayAreaApi") +local playAreaApi = require("core/PlayAreaApi") -- parameters for open/close button for reusing local buttonParameters = {} @@ -62,11 +62,11 @@ end -- click function for apply button function click_applySurface(_, _, isRightClick) - playAreaAPI.updateSurface(isRightClick and "" or self.getInputs()[1].value) + playAreaApi.updateSurface(isRightClick and "" or self.getInputs()[1].value) end function updateSurface(newURL) - playAreaAPI.updateSurface(newURL) + playAreaApi.updateSurface(newURL) end -- input function for the input box From a6ac597b10ca5fec94ffc38ab1296bac426c834a Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Sat, 26 Aug 2023 23:43:23 +0200 Subject: [PATCH 22/25] preparing for release --- objects/Fan-MadeAccessories.aa8b38.json | 3 +- .../UnderworldMarketHelper.3650ea.json | 61 ++++ .../UnderworldMarketHelper.3650ea.ttslua | 274 ++++++++++++++++++ .../CircusExMortisCampaign.93b8cb.json | 2 +- .../Half-Life.b46db2.json | 2 +- ...ReturntoTheInnsmouthConspiracy.bba2b6.json | 2 +- objects/LeakedItems.42cd6e.json | 12 + .../ChemistrySet.da9727.gmnotes | 10 + .../ChemistrySet.da9727.json | 62 ++++ .../DrCharlesWestIII.72efed.gmnotes | 11 + .../DrCharlesWestIII.72efed.json | 62 ++++ .../LongShot.dc8c4d.gmnotes | 8 + .../LeakedItems.42cd6e/LongShot.dc8c4d.json | 61 ++++ .../Microscope.48be49.gmnotes | 10 + .../LeakedItems.42cd6e/Microscope.48be49.json | 62 ++++ .../Pitchfork.45a724.gmnotes | 11 + .../LeakedItems.42cd6e/Pitchfork.45a724.json | 62 ++++ .../PushedtotheLimit.e0f396.gmnotes | 11 + .../PushedtotheLimit.e0f396.json | 61 ++++ .../RavenousMyconid.0aa967.gmnotes | 16 + .../RavenousMyconid.0aa967.json | 62 ++++ .../SparrowMask.975d79.gmnotes | 11 + .../SparrowMask.975d79.json | 62 ++++ .../StallforTime.7b6ed1.gmnotes | 11 + .../StallforTime.7b6ed1.json | 61 ++++ .../UncannyGrowth.6543e6.gmnotes | 9 + .../UncannyGrowth.6543e6.json | 61 ++++ .../Well-Funded.96fbfa.gmnotes | 9 + .../Well-Funded.96fbfa.json | 61 ++++ .../WrongPlaceRightTime.d5944e.gmnotes | 12 + .../WrongPlaceRightTime.d5944e.json | 61 ++++ 31 files changed, 1219 insertions(+), 4 deletions(-) create mode 100644 objects/Fan-MadeAccessories.aa8b38/UnderworldMarketHelper.3650ea.json create mode 100644 objects/Fan-MadeAccessories.aa8b38/UnderworldMarketHelper.3650ea.ttslua create mode 100644 objects/LeakedItems.42cd6e/ChemistrySet.da9727.gmnotes create mode 100644 objects/LeakedItems.42cd6e/ChemistrySet.da9727.json create mode 100644 objects/LeakedItems.42cd6e/DrCharlesWestIII.72efed.gmnotes create mode 100644 objects/LeakedItems.42cd6e/DrCharlesWestIII.72efed.json create mode 100644 objects/LeakedItems.42cd6e/LongShot.dc8c4d.gmnotes create mode 100644 objects/LeakedItems.42cd6e/LongShot.dc8c4d.json create mode 100644 objects/LeakedItems.42cd6e/Microscope.48be49.gmnotes create mode 100644 objects/LeakedItems.42cd6e/Microscope.48be49.json create mode 100644 objects/LeakedItems.42cd6e/Pitchfork.45a724.gmnotes create mode 100644 objects/LeakedItems.42cd6e/Pitchfork.45a724.json create mode 100644 objects/LeakedItems.42cd6e/PushedtotheLimit.e0f396.gmnotes create mode 100644 objects/LeakedItems.42cd6e/PushedtotheLimit.e0f396.json create mode 100644 objects/LeakedItems.42cd6e/RavenousMyconid.0aa967.gmnotes create mode 100644 objects/LeakedItems.42cd6e/RavenousMyconid.0aa967.json create mode 100644 objects/LeakedItems.42cd6e/SparrowMask.975d79.gmnotes create mode 100644 objects/LeakedItems.42cd6e/SparrowMask.975d79.json create mode 100644 objects/LeakedItems.42cd6e/StallforTime.7b6ed1.gmnotes create mode 100644 objects/LeakedItems.42cd6e/StallforTime.7b6ed1.json create mode 100644 objects/LeakedItems.42cd6e/UncannyGrowth.6543e6.gmnotes create mode 100644 objects/LeakedItems.42cd6e/UncannyGrowth.6543e6.json create mode 100644 objects/LeakedItems.42cd6e/Well-Funded.96fbfa.gmnotes create mode 100644 objects/LeakedItems.42cd6e/Well-Funded.96fbfa.json create mode 100644 objects/LeakedItems.42cd6e/WrongPlaceRightTime.d5944e.gmnotes create mode 100644 objects/LeakedItems.42cd6e/WrongPlaceRightTime.d5944e.json diff --git a/objects/Fan-MadeAccessories.aa8b38.json b/objects/Fan-MadeAccessories.aa8b38.json index 205119ae..57375ea4 100644 --- a/objects/Fan-MadeAccessories.aa8b38.json +++ b/objects/Fan-MadeAccessories.aa8b38.json @@ -19,7 +19,8 @@ "LuckyPenny.2ab443", "Double-SidedResource.bc81cb", "DescriptivePhaseTracker.b171c8", - "CustomDataHelper.2547b3" + "CustomDataHelper.2547b3", + "UnderworldMarketHelper.3650ea" ], "ContainedObjects_path": "Fan-MadeAccessories.aa8b38", "CustomMesh": { diff --git a/objects/Fan-MadeAccessories.aa8b38/UnderworldMarketHelper.3650ea.json b/objects/Fan-MadeAccessories.aa8b38/UnderworldMarketHelper.3650ea.json new file mode 100644 index 00000000..2f8145ec --- /dev/null +++ b/objects/Fan-MadeAccessories.aa8b38/UnderworldMarketHelper.3650ea.json @@ -0,0 +1,61 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "Bag": { + "Order": 0 + }, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "CustomMesh": { + "CastShadows": true, + "ColliderURL": "", + "Convex": true, + "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2057635966687273556/F6000F633C4B173534EF259722401607EE8DF042/", + "MaterialIndex": 1, + "MeshURL": "http://cloud-3.steamusercontent.com/ugc/1754695414379239413/0B8E68F3B7311DCF2138FB701F78D1D93FBA4CAB/", + "NormalURL": "", + "TypeIndex": 6 + }, + "Description": "Place a valid market deck inside to start!\nReveal draws the first two cards.\nSwap swaps the position of the two revealed cards.\nFinish adds the remaining card(s) back into the helper.", + "DragSelectable": true, + "GMNotes": "", + "GUID": "3650ea", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScriptState": "", + "LuaScript_path": "Fan-MadeAccessories.aa8b38/UnderworldMarketHelper.3650ea.ttslua", + "MaterialIndex": -1, + "MeasureMovement": false, + "MeshIndex": -1, + "Name": "Custom_Model_Bag", + "Nickname": "Underworld Market Helper", + "Number": 0, + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": -38.919, + "posY": 2.993, + "posZ": -103.036, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 0.8, + "scaleY": 0.8, + "scaleZ": 0.8 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/Fan-MadeAccessories.aa8b38/UnderworldMarketHelper.3650ea.ttslua b/objects/Fan-MadeAccessories.aa8b38/UnderworldMarketHelper.3650ea.ttslua new file mode 100644 index 00000000..8df1a607 --- /dev/null +++ b/objects/Fan-MadeAccessories.aa8b38/UnderworldMarketHelper.3650ea.ttslua @@ -0,0 +1,274 @@ +function onload(saved_data) + if saved_data != '' then + local loaded_data = JSON.decode(saved_data) + end + + revealCardPositions = { + Vector(3.5, 0.25, 0), + Vector(-3.5, 0.25, 0) + } + + revealCardPositionsSwap = { + Vector(-3.5, 0.25, 0), + Vector(3.5, 0.25, 0) + } + + self.createButton({ + label = 'Underworld Market\nHelper', + click_function = "none", + function_owner = self, + position = {0,-0.1,-1.6}, + height = 0, + width = 0, + font_size = 145, + font_color = {1,1,1} + }) + + hiddenCards = 10 + hiddenCardLabel = '-----' + + isSetup = false + movingCards = false + + self.addContextMenuItem('Reset helper', resetHelper) +end + +function onObjectEnterContainer(container, object) + if container ~= self then return end + + if isSetup and object.tag == "Card" then + refreshButtons() + end + + if object.tag == "Deck" then + if validateDeck(object) then + takeDeckOut(object.getGUID(), self.getPosition() + Vector(0, 0.1, 0)) + refreshButtons() + + isSetup = true + end + elseif object.tag ~= "Card" then + broadcastToAll("The 'Underworld Market Helper' is meant to be used for cards.", "White") + end +end + +function onObjectLeaveContainer(container, object) + if container ~= self then return end + + if isSetup then + refreshButtons() + end +end + +function validateDeck(deck) + if deck.getQuantity() ~= 10 then + print('Underworld Market Helper: Deck must include exactly 10 cards.') + return false + end + + local illicitCount = 0 + + for _, card in ipairs(deck.getObjects()) do + decodedGMNotes = JSON.decode(card.gm_notes) + + if decodedGMNotes ~= nil and string.find(decodedGMNotes.traits, "Illicit", 1, true) then + illicitCount = illicitCount + 1 + end + end + + if illicitCount ~= 10 then + print('Underworld Market Helper: Deck must include 10 Illicit cards.') + return false + end + + return true +end + +function refreshButtons() + local cardsList = '' + + for i, card in ipairs(self.getObjects()) do + local localCardName = card.name + + if i <= hiddenCards then + localCardName = hiddenCardLabel + end + + cardsList = cardsList .. localCardName .. '\n' + end + + self.clearButtons() + + self.createButton({ + label = 'Market Deck:', + click_function = "none", + function_owner = self, + position = {0,-0.1,-1.6}, + height = 0, + width = 0, + font_size = 150, + font_color = {1,1,1} + }) + + self.createButton({ + label = cardsList, + click_function = "none", + function_owner = self, + position = {0,-0.1,0.15}, + height = 0, + width = 0, + font_size = 115, + font_color = {1,1,1} + }) + + self.createButton({ + click_function = 'revealFirstTwoCards', + function_owner = self, + label = 'Reveal', + position = {-0.85,0,1.6}, + width = 375, + height = 175, + font_size = 90 + }) + + self.createButton({ + click_function = 'swap', + function_owner = self, + label = 'Swap', + position = {0,0,1.6}, + width = 375, + height = 175, + font_size = 90 + }) + + self.createButton({ + click_function = 'finish', + function_owner = self, + label = 'Finish', + position = {0.85,0,1.6}, + width = 375, + height = 175, + font_size = 90 + }) +end + +function takeDeckOut(guid, pos) + local deck = self.takeObject({ guid = guid, position = pos, smooth = false }) + + for i = 1, #deck.getObjects() do + self.putObject(deck.takeObject({ position = pos + Vector(0, 0.1 * i, 0), smooth = false })) + end + + self.shuffle() +end + +function getRevealedCards() + local revealedCards = {} + + for _, pos in ipairs(revealCardPositions) do + local hitList = Physics.cast({ + origin = self.positionToWorld(pos) + Vector(0, 0.25, 0), + direction = {0,-1,0}, + type = 1, + max_distance = 2 + }) + + for _, hit in ipairs(hitList) do + if hit.hit_object != self and hit.hit_object.tag == "Card" then + table.insert(revealedCards, hit.hit_object.getGUID()) + end + end + end + + return revealedCards +end + +function revealFirstTwoCards() + if movingCards or #getRevealedCards() > 0 then return end + + for i, card in ipairs(self.getObjects()) do + movingCards = true + + self.takeObject({ + index = 0, + rotation = self.getRotation(), + position = self.positionToWorld(revealCardPositions[i]), + callback_function = function(obj) + obj.resting = true + movingCards = false + end + }) + + hiddenCards = hiddenCards - 1 + + if i == 2 or #self.getObjects() == 0 then + break + end + end + + refreshButtons() +end + +function swap() + if movingCards then return end + + local revealedCards = getRevealedCards() + + if #revealedCards == 2 then + for i, revealedCardGUID in ipairs(revealedCards) do + local revealedCard = getObjectFromGUID(revealedCardGUID) + + revealedCard.setPositionSmooth(self.positionToWorld(revealCardPositionsSwap[i]), false, false) + end + end +end + +function finish() + if movingCards then return end + + local revealedCards = getRevealedCards() + + movingCards = true + + for i, revealedCardGUID in ipairs(revealedCards) do + self.putObject(getObjectFromGUID(revealedCardGUID)) + end + + Wait.time( + function() + movingCards = false + end, + 0.75) +end + +function resetHelper() + for i, card in ipairs(self.getObjects()) do + self.takeObject({ + index = 0, + smooth = false, + rotation = self.getRotation(), + position = self.positionToWorld(revealCardPositions[2]) + }) + end + + self.clearButtons() + + self.createButton({ + label = 'Underworld Market\nHelper', + click_function = "none", + function_owner = self, + position = {0,-0.1,-1.6}, + height = 0, + width = 0, + font_size = 145, + font_color = {1,1,1} + }) + + hiddenCards = 10 + isSetup = false + movingCards = false + + self.reset() + + print('Underworld Market Helper: Helper has been reset.') +end diff --git a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/CircusExMortisCampaign.93b8cb.json b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/CircusExMortisCampaign.93b8cb.json index 427a864e..2aaeb345 100644 --- a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/CircusExMortisCampaign.93b8cb.json +++ b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/CircusExMortisCampaign.93b8cb.json @@ -83,4 +83,4 @@ }, "Value": 0, "XmlUI": "" -} \ No newline at end of file +} diff --git a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/Half-Life.b46db2.json b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/Half-Life.b46db2.json index 9d399a40..7d71c91b 100644 --- a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/Half-Life.b46db2.json +++ b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/Half-Life.b46db2.json @@ -83,4 +83,4 @@ }, "Value": 0, "XmlUI": "" -} \ No newline at end of file +} diff --git a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/TheUnofficialReturntoTheInnsmouthConspiracy.bba2b6.json b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/TheUnofficialReturntoTheInnsmouthConspiracy.bba2b6.json index d0fcec64..1b0eafb5 100644 --- a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/TheUnofficialReturntoTheInnsmouthConspiracy.bba2b6.json +++ b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/TheUnofficialReturntoTheInnsmouthConspiracy.bba2b6.json @@ -83,4 +83,4 @@ }, "Value": 0, "XmlUI": "" -} \ No newline at end of file +} diff --git a/objects/LeakedItems.42cd6e.json b/objects/LeakedItems.42cd6e.json index 36275b3f..a46edb73 100644 --- a/objects/LeakedItems.42cd6e.json +++ b/objects/LeakedItems.42cd6e.json @@ -14,6 +14,18 @@ "r": 1 }, "ContainedObjects_order": [ + "Well-Funded.96fbfa", + "UncannyGrowth.6543e6", + "RavenousMyconid.0aa967", + "Microscope.48be49", + "DrCharlesWestIII.72efed", + "ChemistrySet.da9727", + "PushedtotheLimit.e0f396", + "SparrowMask.975d79", + "Pitchfork.45a724", + "LongShot.dc8c4d", + "WrongPlaceRightTime.d5944e", + "StallforTime.7b6ed1", "AliceLuxley2.94f23b", "DragonPole3.a20aef", "FineClothes3.5cb973", diff --git a/objects/LeakedItems.42cd6e/ChemistrySet.da9727.gmnotes b/objects/LeakedItems.42cd6e/ChemistrySet.da9727.gmnotes new file mode 100644 index 00000000..854650dd --- /dev/null +++ b/objects/LeakedItems.42cd6e/ChemistrySet.da9727.gmnotes @@ -0,0 +1,10 @@ +{ + "id": "10040", + "type": "Asset", + "class": "Seeker", + "cost": 2, + "level": 0, + "traits": "Item. Tool. Science.", + "intellectIcons": 1, + "cycle": "The Feast of Hemlock Vale" +} diff --git a/objects/LeakedItems.42cd6e/ChemistrySet.da9727.json b/objects/LeakedItems.42cd6e/ChemistrySet.da9727.json new file mode 100644 index 00000000..d8936927 --- /dev/null +++ b/objects/LeakedItems.42cd6e/ChemistrySet.da9727.json @@ -0,0 +1,62 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 102, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "1": { + "BackIsHidden": false, + "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", + "NumHeight": 2, + "NumWidth": 6, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "", + "DragSelectable": true, + "GMNotes_path": "LeakedItems.42cd6e/ChemistrySet.da9727.gmnotes", + "GUID": "da9727", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Chemistry Set", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "Asset", + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": -44.346, + "posY": 3.23, + "posZ": -101.422, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/LeakedItems.42cd6e/DrCharlesWestIII.72efed.gmnotes b/objects/LeakedItems.42cd6e/DrCharlesWestIII.72efed.gmnotes new file mode 100644 index 00000000..be7373ac --- /dev/null +++ b/objects/LeakedItems.42cd6e/DrCharlesWestIII.72efed.gmnotes @@ -0,0 +1,11 @@ +{ + "id": "10041", + "type": "Asset", + "class": "Seeker", + "cost": 3, + "level": 0, + "traits": "Ally. Science.", + "intellectIcons": 1, + "combatIcons": 1, + "cycle": "The Feast of Hemlock Vale" +} diff --git a/objects/LeakedItems.42cd6e/DrCharlesWestIII.72efed.json b/objects/LeakedItems.42cd6e/DrCharlesWestIII.72efed.json new file mode 100644 index 00000000..50eb01b7 --- /dev/null +++ b/objects/LeakedItems.42cd6e/DrCharlesWestIII.72efed.json @@ -0,0 +1,62 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 105, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "1": { + "BackIsHidden": false, + "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", + "NumHeight": 2, + "NumWidth": 6, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "Knows His Purpose", + "DragSelectable": true, + "GMNotes_path": "LeakedItems.42cd6e/DrCharlesWestIII.72efed.gmnotes", + "GUID": "72efed", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Dr. Charles West III", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "Asset", + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": -44.346, + "posY": 3.23, + "posZ": -103.674, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/LeakedItems.42cd6e/LongShot.dc8c4d.gmnotes b/objects/LeakedItems.42cd6e/LongShot.dc8c4d.gmnotes new file mode 100644 index 00000000..dd2197b2 --- /dev/null +++ b/objects/LeakedItems.42cd6e/LongShot.dc8c4d.gmnotes @@ -0,0 +1,8 @@ +{ + "id": "10116", + "type": "Skill", + "class": "Survivor", + "level": 0, + "traits": "Practiced.", + "cycle": "The Feast of Hemlock Vale" +} diff --git a/objects/LeakedItems.42cd6e/LongShot.dc8c4d.json b/objects/LeakedItems.42cd6e/LongShot.dc8c4d.json new file mode 100644 index 00000000..3b162bbe --- /dev/null +++ b/objects/LeakedItems.42cd6e/LongShot.dc8c4d.json @@ -0,0 +1,61 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 106, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "1": { + "BackIsHidden": false, + "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", + "NumHeight": 2, + "NumWidth": 6, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "", + "DragSelectable": true, + "GMNotes_path": "LeakedItems.42cd6e/LongShot.dc8c4d.gmnotes", + "GUID": "dc8c4d", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Long Shot", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": -41.183, + "posY": 3.23, + "posZ": -105.927, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/LeakedItems.42cd6e/Microscope.48be49.gmnotes b/objects/LeakedItems.42cd6e/Microscope.48be49.gmnotes new file mode 100644 index 00000000..84397f26 --- /dev/null +++ b/objects/LeakedItems.42cd6e/Microscope.48be49.gmnotes @@ -0,0 +1,10 @@ +{ + "id": "10042", + "type": "Asset", + "class": "Seeker", + "cost": 2, + "level": 0, + "traits": "Item. Tool. Science.", + "intellectIcons": 1, + "cycle": "The Feast of Hemlock Vale" +} diff --git a/objects/LeakedItems.42cd6e/Microscope.48be49.json b/objects/LeakedItems.42cd6e/Microscope.48be49.json new file mode 100644 index 00000000..ed85ac32 --- /dev/null +++ b/objects/LeakedItems.42cd6e/Microscope.48be49.json @@ -0,0 +1,62 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 103, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "1": { + "BackIsHidden": false, + "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", + "NumHeight": 2, + "NumWidth": 6, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "", + "DragSelectable": true, + "GMNotes_path": "LeakedItems.42cd6e/Microscope.48be49.gmnotes", + "GUID": "48be49", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Microscope", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "Asset", + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": -44.346, + "posY": 3.23, + "posZ": -105.927, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/LeakedItems.42cd6e/Pitchfork.45a724.gmnotes b/objects/LeakedItems.42cd6e/Pitchfork.45a724.gmnotes new file mode 100644 index 00000000..2d57b356 --- /dev/null +++ b/objects/LeakedItems.42cd6e/Pitchfork.45a724.gmnotes @@ -0,0 +1,11 @@ +{ + "id": "10110", + "type": "Asset", + "class": "Survivor", + "cost": 3, + "level": 0, + "traits": "Item. Tool. Weapon. Melee.", + "combatIcons": 1, + "agilityIcons": 1, + "cycle": "The Feast of Hemlock Vale" +} diff --git a/objects/LeakedItems.42cd6e/Pitchfork.45a724.json b/objects/LeakedItems.42cd6e/Pitchfork.45a724.json new file mode 100644 index 00000000..f7c9c28c --- /dev/null +++ b/objects/LeakedItems.42cd6e/Pitchfork.45a724.json @@ -0,0 +1,62 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 111, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "1": { + "BackIsHidden": false, + "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", + "NumHeight": 2, + "NumWidth": 6, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "", + "DragSelectable": true, + "GMNotes_path": "LeakedItems.42cd6e/Pitchfork.45a724.gmnotes", + "GUID": "45a724", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Pitchfork", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "Asset", + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": -41.183, + "posY": 3.23, + "posZ": -108.179, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/LeakedItems.42cd6e/PushedtotheLimit.e0f396.gmnotes b/objects/LeakedItems.42cd6e/PushedtotheLimit.e0f396.gmnotes new file mode 100644 index 00000000..54d7bbb9 --- /dev/null +++ b/objects/LeakedItems.42cd6e/PushedtotheLimit.e0f396.gmnotes @@ -0,0 +1,11 @@ +{ + "id": "10113", + "type": "Event", + "class": "Survivor", + "cost": 2, + "level": 0, + "traits": "Tactic. Improvised.", + "willpowerIcons": 1, + "combatIcons": 1, + "cycle": "The Feast of Hemlock Vale" +} diff --git a/objects/LeakedItems.42cd6e/PushedtotheLimit.e0f396.json b/objects/LeakedItems.42cd6e/PushedtotheLimit.e0f396.json new file mode 100644 index 00000000..3a803fa4 --- /dev/null +++ b/objects/LeakedItems.42cd6e/PushedtotheLimit.e0f396.json @@ -0,0 +1,61 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 109, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "1": { + "BackIsHidden": false, + "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", + "NumHeight": 2, + "NumWidth": 6, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "", + "DragSelectable": true, + "GMNotes_path": "LeakedItems.42cd6e/PushedtotheLimit.e0f396.gmnotes", + "GUID": "e0f396", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Pushed to the Limit", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": -41.183, + "posY": 3.23, + "posZ": -112.683, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/LeakedItems.42cd6e/RavenousMyconid.0aa967.gmnotes b/objects/LeakedItems.42cd6e/RavenousMyconid.0aa967.gmnotes new file mode 100644 index 00000000..184c5697 --- /dev/null +++ b/objects/LeakedItems.42cd6e/RavenousMyconid.0aa967.gmnotes @@ -0,0 +1,16 @@ +{ + "id": "10044", + "type": "Asset", + "class": "Seeker", + "cost": 2, + "level": 0, + "traits": "Creature. Monster. Flora. Science.", + "bonded": [ + { + "count": 1, + "id": "10045" + } + ], + "agilityIcons": 1, + "cycle": "The Feast of Hemlock Vale" +} diff --git a/objects/LeakedItems.42cd6e/RavenousMyconid.0aa967.json b/objects/LeakedItems.42cd6e/RavenousMyconid.0aa967.json new file mode 100644 index 00000000..4c311883 --- /dev/null +++ b/objects/LeakedItems.42cd6e/RavenousMyconid.0aa967.json @@ -0,0 +1,62 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 104, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "1": { + "BackIsHidden": false, + "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", + "NumHeight": 2, + "NumWidth": 6, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "Unidentified", + "DragSelectable": true, + "GMNotes_path": "LeakedItems.42cd6e/RavenousMyconid.0aa967.gmnotes", + "GUID": "0aa967", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Ravenous Myconid", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "Asset", + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": -44.346, + "posY": 3.23, + "posZ": -108.179, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/LeakedItems.42cd6e/SparrowMask.975d79.gmnotes b/objects/LeakedItems.42cd6e/SparrowMask.975d79.gmnotes new file mode 100644 index 00000000..10f7d8fc --- /dev/null +++ b/objects/LeakedItems.42cd6e/SparrowMask.975d79.gmnotes @@ -0,0 +1,11 @@ +{ + "id": "10111", + "type": "Asset", + "class": "Survivor", + "cost": 1, + "level": 0, + "traits": "Item. Charm. Mask.", + "willpowerIcons": 1, + "agilityIcons": 1, + "cycle": "The Feast of Hemlock Vale" +} diff --git a/objects/LeakedItems.42cd6e/SparrowMask.975d79.json b/objects/LeakedItems.42cd6e/SparrowMask.975d79.json new file mode 100644 index 00000000..5fdfaef2 --- /dev/null +++ b/objects/LeakedItems.42cd6e/SparrowMask.975d79.json @@ -0,0 +1,62 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 110, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "1": { + "BackIsHidden": false, + "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", + "NumHeight": 2, + "NumWidth": 6, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "The Wanderer's Companion", + "DragSelectable": true, + "GMNotes_path": "LeakedItems.42cd6e/SparrowMask.975d79.gmnotes", + "GUID": "975d79", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Sparrow Mask", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "Asset", + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": -41.183, + "posY": 3.23, + "posZ": -110.431, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/LeakedItems.42cd6e/StallforTime.7b6ed1.gmnotes b/objects/LeakedItems.42cd6e/StallforTime.7b6ed1.gmnotes new file mode 100644 index 00000000..d7219781 --- /dev/null +++ b/objects/LeakedItems.42cd6e/StallforTime.7b6ed1.gmnotes @@ -0,0 +1,11 @@ +{ + "id": "10114", + "type": "Event", + "class": "Survivor", + "cost": 1, + "level": 0, + "traits": "Tactic. Trick.", + "willpowerIcons": 1, + "intellectIcons": 1, + "cycle": "The Feast of Hemlock Vale" +} diff --git a/objects/LeakedItems.42cd6e/StallforTime.7b6ed1.json b/objects/LeakedItems.42cd6e/StallforTime.7b6ed1.json new file mode 100644 index 00000000..1a203c62 --- /dev/null +++ b/objects/LeakedItems.42cd6e/StallforTime.7b6ed1.json @@ -0,0 +1,61 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 108, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "1": { + "BackIsHidden": false, + "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", + "NumHeight": 2, + "NumWidth": 6, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "", + "DragSelectable": true, + "GMNotes_path": "LeakedItems.42cd6e/StallforTime.7b6ed1.gmnotes", + "GUID": "7b6ed1", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Stall for Time", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": -41.183, + "posY": 3.23, + "posZ": -101.422, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/LeakedItems.42cd6e/UncannyGrowth.6543e6.gmnotes b/objects/LeakedItems.42cd6e/UncannyGrowth.6543e6.gmnotes new file mode 100644 index 00000000..ba4856dd --- /dev/null +++ b/objects/LeakedItems.42cd6e/UncannyGrowth.6543e6.gmnotes @@ -0,0 +1,9 @@ +{ + "id": "10045", + "type": "Event", + "class": "Seeker", + "cost": 1, + "level": 0, + "traits": "Insight. Science.", + "cycle": "The Feast of Hemlock Vale" +} diff --git a/objects/LeakedItems.42cd6e/UncannyGrowth.6543e6.json b/objects/LeakedItems.42cd6e/UncannyGrowth.6543e6.json new file mode 100644 index 00000000..2191aaa9 --- /dev/null +++ b/objects/LeakedItems.42cd6e/UncannyGrowth.6543e6.json @@ -0,0 +1,61 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 101, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "1": { + "BackIsHidden": false, + "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", + "NumHeight": 2, + "NumWidth": 6, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "", + "DragSelectable": true, + "GMNotes_path": "LeakedItems.42cd6e/UncannyGrowth.6543e6.gmnotes", + "GUID": "6543e6", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Uncanny Growth", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": -44.346, + "posY": 3.23, + "posZ": -110.431, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/LeakedItems.42cd6e/Well-Funded.96fbfa.gmnotes b/objects/LeakedItems.42cd6e/Well-Funded.96fbfa.gmnotes new file mode 100644 index 00000000..f9bb7eb6 --- /dev/null +++ b/objects/LeakedItems.42cd6e/Well-Funded.96fbfa.gmnotes @@ -0,0 +1,9 @@ +{ + "id": "10051", + "type": "Skill", + "class": "Seeker", + "level": 0, + "traits": "Fortune.", + "wildIcons": 1, + "cycle": "The Feast of Hemlock Vale" +} diff --git a/objects/LeakedItems.42cd6e/Well-Funded.96fbfa.json b/objects/LeakedItems.42cd6e/Well-Funded.96fbfa.json new file mode 100644 index 00000000..41285147 --- /dev/null +++ b/objects/LeakedItems.42cd6e/Well-Funded.96fbfa.json @@ -0,0 +1,61 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 100, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "1": { + "BackIsHidden": false, + "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", + "NumHeight": 2, + "NumWidth": 6, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "", + "DragSelectable": true, + "GMNotes_path": "LeakedItems.42cd6e/Well-Funded.96fbfa.gmnotes", + "GUID": "96fbfa", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Well-Funded", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": -44.346, + "posY": 3.23, + "posZ": -112.683, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/LeakedItems.42cd6e/WrongPlaceRightTime.d5944e.gmnotes b/objects/LeakedItems.42cd6e/WrongPlaceRightTime.d5944e.gmnotes new file mode 100644 index 00000000..7719f59c --- /dev/null +++ b/objects/LeakedItems.42cd6e/WrongPlaceRightTime.d5944e.gmnotes @@ -0,0 +1,12 @@ +{ + "id": "10115", + "type": "Event", + "class": "Survivor", + "cost": 0, + "level": 0, + "traits": "Spirit. Double.", + "willpowerIcons": 1, + "agilityIcons": 1, + "wildIcons": 1, + "cycle": "The Feast of Hemlock Vale" +} diff --git a/objects/LeakedItems.42cd6e/WrongPlaceRightTime.d5944e.json b/objects/LeakedItems.42cd6e/WrongPlaceRightTime.d5944e.json new file mode 100644 index 00000000..56ade903 --- /dev/null +++ b/objects/LeakedItems.42cd6e/WrongPlaceRightTime.d5944e.json @@ -0,0 +1,61 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 107, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "1": { + "BackIsHidden": false, + "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2021607169641060708/B263E98D28E301D8EF45EB001FEBCE98DA25354B/", + "NumHeight": 2, + "NumWidth": 6, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "", + "DragSelectable": true, + "GMNotes_path": "LeakedItems.42cd6e/WrongPlaceRightTime.d5944e.gmnotes", + "GUID": "d5944e", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Wrong Place, Right Time", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": -41.183, + "posY": 3.23, + "posZ": -103.674, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} From adce7cbbd9cbbf98150b31ded2bf43bb225d626d Mon Sep 17 00:00:00 2001 From: Finn Date: Sat, 26 Aug 2023 17:11:41 -0500 Subject: [PATCH 23/25] Changed the featured fan campaigns --- config.json | 6 +- objects/CircusExMortisCampaign.93b8cb.json | 86 +++++++++++++++++++ .../CircusExMortisCampaign.93b8cb.json | 8 +- .../Half-Life.b46db2.json | 8 +- objects/Half-Life.b46db2.json | 86 +++++++++++++++++++ 5 files changed, 183 insertions(+), 11 deletions(-) create mode 100644 objects/CircusExMortisCampaign.93b8cb.json create mode 100644 objects/Half-Life.b46db2.json diff --git a/config.json b/config.json index 599133ab..9fd1d746 100644 --- a/config.json +++ b/config.json @@ -199,10 +199,10 @@ "3DText.d628cc", "NavigationOverlayHandler.797ede", "CampaignImporterExporter.334ee3", - "Bloodborne-CityoftheUnseen.1e7a0b", - "TheColorOutofOz.806d9a", "TokenArranger.022907", - "ChaosBagManager.023240" + "ChaosBagManager.023240", + "Half-Life.b46db2", + "CircusExMortisCampaign.93b8cb" ], "PlayArea": 1, "PlayerCounts": [ diff --git a/objects/CircusExMortisCampaign.93b8cb.json b/objects/CircusExMortisCampaign.93b8cb.json new file mode 100644 index 00000000..770542bd --- /dev/null +++ b/objects/CircusExMortisCampaign.93b8cb.json @@ -0,0 +1,86 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "AttachedDecals": [ + { + "CustomDecal": { + "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", + "Name": "dunwich_back", + "Size": 7.4 + }, + "Transform": { + "posX": -0.0021877822, + "posY": -0.08963572, + "posZ": -0.00288731651, + "rotX": 270, + "rotY": 359.869568, + "rotZ": 0, + "scaleX": 2.00000215, + "scaleY": 2.00000238, + "scaleZ": 2.00000262 + } + } + ], + "Autoraise": true, + "ColorDiffuse": { + "a": 0.27843, + "b": 1, + "g": 1, + "r": 1 + }, + "CustomMesh": { + "CastShadows": true, + "ColliderURL": "", + "Convex": true, + "CustomShader": { + "FresnelStrength": 0, + "SpecularColor": { + "b": 1, + "g": 1, + "r": 1 + }, + "SpecularIntensity": 0, + "SpecularSharpness": 2 + }, + "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2001337710389944099/BC4BADD35E9E87F6BC0BAC93F0FCEB168848AAAC/", + "MaterialIndex": 3, + "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", + "NormalURL": "", + "TypeIndex": 0 + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "fancreations/campaign_circus_ex_mortis.json", + "GUID": "93b8cb", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "require(\"core/DownloadBox\")", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Custom_Model", + "Nickname": "Circus Ex Mortis Campaign", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": -25.87, + "posY": 1.481, + "posZ": -80.485, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 2.21, + "scaleY": 0.46, + "scaleZ": 2.42 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/CircusExMortisCampaign.93b8cb.json b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/CircusExMortisCampaign.93b8cb.json index 427a864e..96ab9e35 100644 --- a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/CircusExMortisCampaign.93b8cb.json +++ b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/CircusExMortisCampaign.93b8cb.json @@ -71,9 +71,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 40.901, - "posY": 3.908, - "posZ": -94.549, + "posX": -4.068, + "posY": 1.971, + "posZ": -123.425, "rotX": 0, "rotY": 270, "rotZ": 0, @@ -83,4 +83,4 @@ }, "Value": 0, "XmlUI": "" -} \ No newline at end of file +} diff --git a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/Half-Life.b46db2.json b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/Half-Life.b46db2.json index 9d399a40..e77292bf 100644 --- a/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/Half-Life.b46db2.json +++ b/objects/Fan-MadeScenariosCampaignsMiscellany.66e97c/Fan-MadeCampaigns.89c32e/Half-Life.b46db2.json @@ -71,9 +71,9 @@ "Sticky": true, "Tooltip": true, "Transform": { - "posX": 21.963, - "posY": 3.908, - "posZ": -85.679, + "posX": -23.669, + "posY": 1.971, + "posZ": -108.203, "rotX": 0, "rotY": 270, "rotZ": 0, @@ -83,4 +83,4 @@ }, "Value": 0, "XmlUI": "" -} \ No newline at end of file +} diff --git a/objects/Half-Life.b46db2.json b/objects/Half-Life.b46db2.json new file mode 100644 index 00000000..3216bba3 --- /dev/null +++ b/objects/Half-Life.b46db2.json @@ -0,0 +1,86 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "AttachedDecals": [ + { + "CustomDecal": { + "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", + "Name": "dunwich_back", + "Size": 7.4 + }, + "Transform": { + "posX": -0.0021877822, + "posY": -0.08963572, + "posZ": -0.00288731651, + "rotX": 270, + "rotY": 359.869568, + "rotZ": 0, + "scaleX": 2.00000215, + "scaleY": 2.00000238, + "scaleZ": 2.00000262 + } + } + ], + "Autoraise": true, + "ColorDiffuse": { + "a": 0.27843, + "b": 1, + "g": 1, + "r": 1 + }, + "CustomMesh": { + "CastShadows": true, + "ColliderURL": "", + "Convex": true, + "CustomShader": { + "FresnelStrength": 0, + "SpecularColor": { + "b": 1, + "g": 1, + "r": 1 + }, + "SpecularIntensity": 0, + "SpecularSharpness": 2 + }, + "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/2005838229417815473/BC879D878262BA9FBD9040AE4F952468C3C4C2CC/", + "MaterialIndex": 3, + "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", + "NormalURL": "", + "TypeIndex": 0 + }, + "Description": "", + "DragSelectable": true, + "GMNotes": "fancreations/campaign_half-life.json", + "GUID": "b46db2", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "require(\"core/DownloadBox\")", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Custom_Model", + "Nickname": "Half-Life", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": -25.87, + "posY": 1.481, + "posZ": -87.507, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 2.21, + "scaleY": 0.46, + "scaleZ": 2.42 + }, + "Value": 0, + "XmlUI": "" +} From 5c510afefb5334240b7b26e91e7110f8e208e64e Mon Sep 17 00:00:00 2001 From: Chr1Z93 Date: Sun, 27 Aug 2023 00:22:36 +0200 Subject: [PATCH 24/25] orphan removal --- .../Bloodborne-CityoftheUnseen.1e7a0b.json | 69 --------------- objects/TheColorOutofOz.806d9a.json | 85 ------------------- 2 files changed, 154 deletions(-) delete mode 100644 objects/Bloodborne-CityoftheUnseen.1e7a0b.json delete mode 100644 objects/TheColorOutofOz.806d9a.json diff --git a/objects/Bloodborne-CityoftheUnseen.1e7a0b.json b/objects/Bloodborne-CityoftheUnseen.1e7a0b.json deleted file mode 100644 index 39c52cde..00000000 --- a/objects/Bloodborne-CityoftheUnseen.1e7a0b.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "AltLookAngle": { - "x": 0, - "y": 0, - "z": 0 - }, - "Autoraise": true, - "ColorDiffuse": { - "a": 0.27451, - "b": 1, - "g": 1, - "r": 1 - }, - "CustomMesh": { - "CastShadows": true, - "ColliderURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_COL.obj", - "Convex": true, - "CustomShader": { - "FresnelStrength": 0, - "SpecularColor": { - "b": 1, - "g": 1, - "r": 1 - }, - "SpecularIntensity": 0, - "SpecularSharpness": 2 - }, - "DiffuseURL": "https://i.imgur.com/WtioCq1.jpg", - "MaterialIndex": 3, - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/core_h_MSH.obj", - "NormalURL": "", - "TypeIndex": 0 - }, - "Description": "", - "DragSelectable": true, - "GMNotes": "fancreations/campaign_bloodborne.json", - "GUID": "1e7a0b", - "Grid": true, - "GridProjection": false, - "Hands": false, - "HideWhenFaceDown": false, - "IgnoreFoW": false, - "LayoutGroupSortIndex": 0, - "Locked": false, - "LuaScript": "require(\"core/DownloadBox\")", - "LuaScriptState": "", - "MeasureMovement": false, - "Name": "Custom_Model", - "Nickname": "Bloodborne - City of the Unseen", - "Snap": true, - "Sticky": true, - "Tags": [ - "LargeBox" - ], - "Tooltip": true, - "Transform": { - "posX": -26.696, - "posY": 1.486, - "posZ": -90, - "rotX": 0, - "rotY": 270, - "rotZ": 0, - "scaleX": 1, - "scaleY": 0.14, - "scaleZ": 1 - }, - "Value": 0, - "XmlUI": "" -} diff --git a/objects/TheColorOutofOz.806d9a.json b/objects/TheColorOutofOz.806d9a.json deleted file mode 100644 index 611ad9db..00000000 --- a/objects/TheColorOutofOz.806d9a.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "AltLookAngle": { - "x": 0, - "y": 0, - "z": 0 - }, - "AttachedDecals": [ - { - "CustomDecal": { - "ImageURL": "http://cloud-3.steamusercontent.com/ugc/959719855119695911/931B9829687A20F4DEADB36DA57B7E6D76792231/", - "Name": "dunwich_back", - "Size": 7.4 - }, - "Transform": { - "posX": 0, - "posY": 0, - "posZ": 0, - "rotX": 270, - "rotY": 0, - "rotZ": 0, - "scaleX": 2, - "scaleY": 2, - "scaleZ": 2 - } - } - ], - "Autoraise": true, - "ColorDiffuse": { - "b": 0.40592, - "g": 0.40592, - "r": 0.40592 - }, - "CustomMesh": { - "CastShadows": true, - "ColliderURL": "", - "Convex": true, - "CustomShader": { - "FresnelStrength": 0, - "SpecularColor": { - "b": 1, - "g": 1, - "r": 1 - }, - "SpecularIntensity": 0, - "SpecularSharpness": 2 - }, - "DiffuseURL": "http://cloud-3.steamusercontent.com/ugc/1972044023032948791/D32BECDAF5C9309577EE0CE585E980F62EFBCEF3/", - "MaterialIndex": 3, - "MeshURL": "https://raw.githubusercontent.com/RobMayer/TTSLibrary/master/advboxes/tuckbox_h_MSH.obj", - "NormalURL": "", - "TypeIndex": 0 - }, - "Description": "", - "DragSelectable": true, - "GMNotes": "fancreations/campaign_color_out_of_oz.json", - "GUID": "806d9a", - "Grid": true, - "GridProjection": false, - "Hands": false, - "HideWhenFaceDown": false, - "IgnoreFoW": false, - "LayoutGroupSortIndex": 0, - "Locked": false, - "LuaScript": "require(\"core/DownloadBox\")", - "LuaScriptState": "", - "MeasureMovement": false, - "Name": "Custom_Model", - "Nickname": "The Color Out of Oz", - "Snap": true, - "Sticky": true, - "Tooltip": true, - "Transform": { - "posX": -26.696, - "posY": 1.481, - "posZ": -80, - "rotX": 0, - "rotY": 270, - "rotZ": 0, - "scaleX": 2.21, - "scaleY": 0.46, - "scaleZ": 2.42 - }, - "Value": 0, - "XmlUI": "" -} From dc39b4785e800e5dcdf1756f91aadd225aa99213 Mon Sep 17 00:00:00 2001 From: Finn Date: Sat, 26 Aug 2023 17:52:04 -0500 Subject: [PATCH 25/25] Added Update Notes --- config.json | 3 +- .../ArkhamSCE320-8262023-Page1.964222.json | 182 ++++++++++++++++++ 2 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 objects/ArkhamSCE320-8262023-Page1.964222.json diff --git a/config.json b/config.json index 9fd1d746..f697884f 100644 --- a/config.json +++ b/config.json @@ -202,7 +202,8 @@ "TokenArranger.022907", "ChaosBagManager.023240", "Half-Life.b46db2", - "CircusExMortisCampaign.93b8cb" + "CircusExMortisCampaign.93b8cb", + "ArkhamSCE320-8262023-Page1.964222" ], "PlayArea": 1, "PlayerCounts": [ diff --git a/objects/ArkhamSCE320-8262023-Page1.964222.json b/objects/ArkhamSCE320-8262023-Page1.964222.json new file mode 100644 index 00000000..4ab8b9fb --- /dev/null +++ b/objects/ArkhamSCE320-8262023-Page1.964222.json @@ -0,0 +1,182 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "Description": "- Thanks for downloading Arkham SCE 3.2.0! This update adds many new features including new resource tokens, a campaign exporter, and new hotkeys!\n\n- Added fan-made campaign: Unofficial Return to Innsmouth Conspiracy by DerBK!\n- Added fan-made campaigns: Half-Life and Circus Ex Mortis by The Beard!", + "DragSelectable": true, + "GMNotes": "", + "GUID": "964222", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Notecard", + "Nickname": "Arkham SCE 3.2.0 - 8/26/2023 - Page 1", + "Snap": true, + "States": { + "2": { + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "Description": "- Resource tokens spawned automatically now have different states for commonly used special types like Ammo, Charges, etc.\n- New campaign importer/exporter by Entrox Licher allows saving of campaign state as a saveable object!\n- Added Subject 5U-21 and Parallel \"Ashcan\" Pete!\n- Added new hotkeys for taking a clue and moving cards to the victory display.", + "DragSelectable": true, + "GMNotes": "", + "GUID": "22e0fe", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Notecard", + "Nickname": "Arkham SCE 3.2.0 - 8/26/2023 - Page 2", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": 9.088579, + "posY": 1.551499, + "posZ": -31.51038, + "rotX": 3.48307424e-7, + "rotY": 89.90733, + "rotZ": 6.263613e-8, + "scaleX": 3, + "scaleY": 1, + "scaleZ": 3 + }, + "Value": 0, + "XmlUI": "" + }, + "3": { + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "Description": "- Updated the Chaos Bag Manager and Token Arranger, and promoted them to be placed on the table by default.\n- Updated functionality of upkeep auto-rotate to allow for \"double-exhausted\" cards.\n- Sealing cards now survive save/load.\n- Other miscellaneous bugfixes.\n", + "DragSelectable": true, + "GMNotes": "", + "GUID": "752c91", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Notecard", + "Nickname": "Arkham SCE 3.2.0 - 8/26/2023 - Page 3", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": 9.088582, + "posY": 1.551499, + "posZ": -31.51038, + "rotX": 4.213519e-7, + "rotY": 89.9073257, + "rotZ": 2.25048439e-7, + "scaleX": 3, + "scaleY": 1, + "scaleZ": 3 + }, + "Value": 0, + "XmlUI": "" + }, + "4": { + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "ColorDiffuse": { + "b": 1, + "g": 1, + "r": 1 + }, + "Description": "- In the coming weeks, we'll add another update adding new community content to the remote repository. If you have content you would like us to add, please repost it in the #player-contributions channel with the hashtag #3.2.xContent\n- Thank you to everyone for continuing to play and develop for the mod!", + "DragSelectable": true, + "GMNotes": "", + "GUID": "0e1fb2", + "Grid": true, + "GridProjection": false, + "Hands": false, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Notecard", + "Nickname": "Arkham SCE 3.2.0 - 8/26/2023 - Page 4", + "Snap": true, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": 9.088561, + "posY": 1.55150378, + "posZ": -31.5103912, + "rotX": 0.0000185548761, + "rotY": 89.90725, + "rotZ": 0.0000271951, + "scaleX": 3, + "scaleY": 1, + "scaleZ": 3 + }, + "Value": 0, + "XmlUI": "" + } + }, + "Sticky": true, + "Tooltip": true, + "Transform": { + "posX": -27, + "posY": 1.551, + "posZ": -56.165, + "rotX": 0, + "rotY": 90, + "rotZ": 0, + "scaleX": 3, + "scaleY": 1, + "scaleZ": 3 + }, + "Value": 0, + "XmlUI": "" +}