SCED/objects/Bloodborne-CityoftheUnseen0175.81651b/BloodborneCustomDataHelper.3e1dd7.ttslua
bootleggerFinn 9614ebcb37 Added Featured Content
Added featured content section containing featured fan campaigns.  also updated date on release notes.
Note that this commit has many files added as part of the two fan campaigns, as they have been "pre-downloaded"
2023-04-19 19:28:46 -05:00

403 lines
24 KiB
Plaintext

-- set true to enable debug logging
DEBUG = false
function log(message)
if DEBUG then
print(message)
end
end
--[[
Known locations and clues. We check this to determine if we should
atttempt to spawn clues, first we look for <LOCATION_NAME>_<GUID> and if
we find nothing we look for <LOCATION_NAME>
format is [location_guid -> clueCount]
]]
LOCATIONS_DATA_JSON = [[
{
"San Francisco": {"type": "fixed", "value": 1, "clueSide": "back"},
" Arkham": {"type": "perPlayer", "value": 1, "clueSide": "back"},
"Buenos Aires": {"type": "fixed", "value": 2, "clueSide": "back"},
" London": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Rome": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"Istanbul": {"type": "perPlayer", "value": 4, "clueSide": "front"},
"Tokyo_123abc": {"type": "perPlayer", "value": 0, "clueSide": "back"},
"Tokyo_456efg": {"type": "perPlayer", "value": 4, "clueSide": "back"},
"Tokyo": {"type": "fixed", "value": 2, "clueSide": "back"},
"Shanghai_123": {"type": "fixed", "value": 12, "clueSide": "front"},
"Sydney": {"type": "fixed", "value": 0, "clueSide": "front"},
"Under the Great Bridge": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Somber Memorial": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"Ominous Pyre": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Ominous Pyre ": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Narrow Alleyway": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Moonlit Backstreet": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Moonlit Backstreet ": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Central Yharnam Promenade": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Hospital Courtyard": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Deserted Manor_adcfac": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"City Center Plaza": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Atop the Great Bridge": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Deserted Manor_e00007": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"1st Floor Sickroom": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"1st Floor Examination Room": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Chapel Transept": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Chapel Sanctuary": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Chapel Rectory": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Chapel Nave": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Chapel Attic_0e64f5": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Untended Graves": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Tomb of the Queen": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Shadowed Woods": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Rotting Thicket": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Oedon Chapel Subterrane": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Moonlit Clearing": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Misty Weald": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Hemwick Charnel Lane": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Gibbeting Path": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Gates of Byrgenwerth": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Deserted Trapping Village": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Derelict Coachhouse": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Burial Grove": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Abandoned Mill": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Private Library": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Research Hall": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Faculty Offices": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Rooftops_e00008": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Annex": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Astronomy Hall": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Lecture Hall": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"University Foyer": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"*The Portrait of the First Vicar": {"type": "perPlayer", "value": 2, "clueSide": "back"},
"*The Portrait of the Holy Blade": {"type": "perPlayer", "value": 2, "clueSide": "back"},
"*The Portrait of the Holy Blade": {"type": "perPlayer", "value": 1, "clueSide": "back"},
"*The Portrait of the Headmaster": {"type": "perPlayer", "value": 1, "clueSide": "back"},
"*The Portrait of the Governess": {"type": "perPlayer", "value": 2, "clueSide": "back"},
"Audience Chamber": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Cathedral Steps": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Cathedral Ward Cemetery": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Grand Cathedral of Yharnam": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Surgery Altar": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"The Bridge of Saints": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Grand Cathedral Sanctuary": {"type": "perPlayer", "value": 0, "clueSide": "front"},
"The Lumenflower Garden": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Steps of Penance": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Mirror Chamber": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Mirror Chamber ": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Mirror Chamber ": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Mirror Chamber ": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Branching Corridors": {"type": "fixed", "value": 1, "clueSide": "front"},
"Yale University": {"type": "fixed", "value": 1, "clueSide": "front"},
"The Cimmerian Descent": {"type": "fixed", "value": 1, "clueSide": "front"},
"The College of Mensis": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Ritual Cloister": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Mensis Refectory": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Lair of the Brain": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"The Hypogean Gaol": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Spires of the Loft": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Featured Exhibit": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Depths of the Loft": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Dangling Cells": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Byrgenwerth": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Apostle's Gallery": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Wet Nurse's Lunarium": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Spire of Mensis": {"type": "perPlayer", "value": 1, "clueSide": "back"},
"Aeonian Sickbeds": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Decaying Fishing Hamlet": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Lumenwood Garden": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Forgotten Coast": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Advent Plaza": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Sacrificial Pits": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"Yahar'gul Chapel": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Yahar'gul Commons": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Defiled Pthumerian Shrine": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"Pthumeru Ihyll Labyrinth": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"Tomb of Oedon": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Moonside Lake": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"Ailing Loran Frontier": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Bloodstained Gate": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"The Eastern Cathedral": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Mergo's Loft": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Sanguine River": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Underground Corpse Pile": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Western Cathedral": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Chalice Headstones": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Gates of the Dream": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Chalice Headstones": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Grave-Marked Trail": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Misty Garden Path": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Moon-Kissed Meadow": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Burning Workshop": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"The Dream Aflame": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Messengers' Bath": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Deserted Manor_1566a5": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Moonlit Clearing_e00008": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Research Hall_e00007": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Rooftops_e0008": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Lecture Hall_e00004": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Surgery Altar_e00007": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"The Lumenflower Gardens_1a433f": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Blood Healing Laboratory_998d8c": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Contact Chamber_10edc3": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Contact Chamber_31e857": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Audience Chamber_e00001": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Mirror Chamber _e00003": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Mirror Chamber _e00001": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Mirror Chamber_e00004": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Mirror Chamber _e00002": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Dangling Cells_49d503": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Depths of the Loft_e00007": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Lair of the Brain_e0000b": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"Ritual Cloister_e00013": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Mensis Refectory_e0000e": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Spires of the Loft_e00009": {"type": "perPlayer", "value": 2, "clueSide": "front"}
}
]]
PLAYER_CARD_DATA_JSON = [[
{
"Tool Belt (0)": {
"tokenType": "resource",
"tokenCount": 2
},
"Tool Belt (3)": {
"tokenType": "resource",
"tokenCount": 4
},
"Yithian Rifle": {
"tokenType": "resource",
"tokenCount": 3
},
"xxx": {
"tokenType": "resource",
"tokenCount": 3
}
}
]]
HIDDEN_CARD_DATA = {
"Unpleasant Card (Doom)",
"Unpleasant Card (Gloom)",
"The Case of the Scarlet DOOOOOM!"
}
LOCATIONS_DATA = JSON.decode(LOCATIONS_DATA_JSON)
PLAYER_CARD_DATA = JSON.decode(PLAYER_CARD_DATA_JSON)
function onload(save_state)
local playArea = getObjectFromGUID('721ba2')
playArea.call("updateLocations", {self.getGUID()})
local playerMatWhite = getObjectFromGUID('8b081b')
playerMatWhite.call("updatePlayerCards", {self.getGUID()})
local playerMatOrange = getObjectFromGUID('bd0ff4')
playerMatOrange.call("updatePlayerCards", {self.getGUID()})
local playerMatGreen = getObjectFromGUID('383d8b')
playerMatGreen.call("updatePlayerCards", {self.getGUID()})
local playerMatRed = getObjectFromGUID('0840d5')
playerMatRed.call("updatePlayerCards", {self.getGUID()})
local dataHelper = getObjectFromGUID('708279')
dataHelper.call("updateHiddenCards", {self.getGUID()})
end-- set true to enable debug logging
DEBUG = false
function log(message)
if DEBUG then
print(message)
end
end
--[[
Known locations and clues. We check this to determine if we should
atttempt to spawn clues, first we look for <LOCATION_NAME>_<GUID> and if
we find nothing we look for <LOCATION_NAME>
format is [location_guid -> clueCount]
]]
LOCATIONS_DATA_JSON = [[
{
"San Francisco": {"type": "fixed", "value": 1, "clueSide": "back"},
" Arkham": {"type": "perPlayer", "value": 1, "clueSide": "back"},
"Buenos Aires": {"type": "fixed", "value": 2, "clueSide": "back"},
" London": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Rome": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"Istanbul": {"type": "perPlayer", "value": 4, "clueSide": "front"},
"Tokyo_123abc": {"type": "perPlayer", "value": 0, "clueSide": "back"},
"Tokyo_456efg": {"type": "perPlayer", "value": 4, "clueSide": "back"},
"Tokyo": {"type": "fixed", "value": 2, "clueSide": "back"},
"Shanghai_123": {"type": "fixed", "value": 12, "clueSide": "front"},
"Sydney": {"type": "fixed", "value": 0, "clueSide": "front"},
"Under the Great Bridge": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Somber Memorial": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"Ominous Pyre": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Ominous Pyre ": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Narrow Alleyway": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Moonlit Backstreet": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Moonlit Backstreet ": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Central Yharnam Promenade": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Hospital Courtyard": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Deserted Manor_adcfac": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"City Center Plaza": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Atop the Great Bridge": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Deserted Manor_e00007": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"1st Floor Sickroom": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"1st Floor Examination Room": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Chapel Transept": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Chapel Sanctuary": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Chapel Rectory": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Chapel Nave": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Chapel Attic_0e64f5": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Untended Graves": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Tomb of the Queen": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Shadowed Woods": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Rotting Thicket": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Oedon Chapel Subterrane": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Moonlit Clearing": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Misty Weald": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Hemwick Charnel Lane": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Gibbeting Path": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Gates of Byrgenwerth": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Deserted Trapping Village": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Derelict Coachhouse": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Burial Grove": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Abandoned Mill": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Private Library": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Research Hall": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Faculty Offices": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Rooftops_e00008": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Annex": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Astronomy Hall": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Lecture Hall": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"University Foyer": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"*The Portrait of the First Vicar": {"type": "perPlayer", "value": 2, "clueSide": "back"},
"*The Portrait of the Holy Blade": {"type": "perPlayer", "value": 2, "clueSide": "back"},
"*The Portrait of the Holy Blade": {"type": "perPlayer", "value": 1, "clueSide": "back"},
"*The Portrait of the Headmaster": {"type": "perPlayer", "value": 1, "clueSide": "back"},
"*The Portrait of the Governess": {"type": "perPlayer", "value": 2, "clueSide": "back"},
"Audience Chamber": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Cathedral Steps": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Cathedral Ward Cemetery": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Grand Cathedral of Yharnam": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Surgery Altar": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"The Bridge of Saints": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Grand Cathedral Sanctuary": {"type": "perPlayer", "value": 0, "clueSide": "front"},
"The Lumenflower Garden": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Steps of Penance": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Mirror Chamber": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Mirror Chamber ": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Mirror Chamber ": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Mirror Chamber ": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Branching Corridors": {"type": "fixed", "value": 1, "clueSide": "front"},
"Yale University": {"type": "fixed", "value": 1, "clueSide": "front"},
"The Cimmerian Descent": {"type": "fixed", "value": 1, "clueSide": "front"},
"The College of Mensis": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Ritual Cloister": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Mensis Refectory": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Lair of the Brain": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"The Hypogean Gaol": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Spires of the Loft": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Featured Exhibit": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Depths of the Loft": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Dangling Cells": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Byrgenwerth": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Apostle's Gallery": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Wet Nurse's Lunarium": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Spire of Mensis": {"type": "perPlayer", "value": 1, "clueSide": "back"},
"Aeonian Sickbeds": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Decaying Fishing Hamlet": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Lumenwood Garden": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Forgotten Coast": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Advent Plaza": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Sacrificial Pits": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"Yahar'gul Chapel": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Yahar'gul Commons": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Defiled Pthumerian Shrine": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"Pthumeru Ihyll Labyrinth": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"Tomb of Oedon": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Moonside Lake": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"Ailing Loran Frontier": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Bloodstained Gate": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"The Eastern Cathedral": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Mergo's Loft": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Sanguine River": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Underground Corpse Pile": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Western Cathedral": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Chalice Headstones": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Gates of the Dream": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Chalice Headstones": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Grave-Marked Trail": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Misty Garden Path": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Moon-Kissed Meadow": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Burning Workshop": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"The Dream Aflame": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Messengers' Bath": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Deserted Manor_1566a5": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Moonlit Clearing_e00008": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Research Hall_e00007": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Rooftops_e0008": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Lecture Hall_e00004": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"The Surgery Altar_e00007": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"The Lumenflower Gardens_1a433f": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Blood Healing Laboratory_998d8c": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Contact Chamber_10edc3": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Contact Chamber_31e857": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Audience Chamber_e00001": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Mirror Chamber _e00003": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Mirror Chamber _e00001": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Mirror Chamber_e00004": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Mirror Chamber _e00002": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Dangling Cells_49d503": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Depths of the Loft_e00007": {"type": "perPlayer", "value": 1, "clueSide": "front"},
"Lair of the Brain_e0000b": {"type": "perPlayer", "value": 3, "clueSide": "front"},
"Ritual Cloister_e00013": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Mensis Refectory_e0000e": {"type": "perPlayer", "value": 2, "clueSide": "front"},
"Spires of the Loft_e00009": {"type": "perPlayer", "value": 2, "clueSide": "front"}
}
]]
PLAYER_CARD_DATA_JSON = [[
{
"Tool Belt (0)": {
"tokenType": "resource",
"tokenCount": 2
},
"Tool Belt (3)": {
"tokenType": "resource",
"tokenCount": 4
},
"Yithian Rifle": {
"tokenType": "resource",
"tokenCount": 3
},
"xxx": {
"tokenType": "resource",
"tokenCount": 3
}
}
]]
HIDDEN_CARD_DATA = {
"Unpleasant Card (Doom)",
"Unpleasant Card (Gloom)",
"The Case of the Scarlet DOOOOOM!"
}
LOCATIONS_DATA = JSON.decode(LOCATIONS_DATA_JSON)
PLAYER_CARD_DATA = JSON.decode(PLAYER_CARD_DATA_JSON)
function onload(save_state)
local playArea = getObjectFromGUID('721ba2')
playArea.call("updateLocations", {self.getGUID()})
local playerMatWhite = getObjectFromGUID('8b081b')
playerMatWhite.call("updatePlayerCards", {self.getGUID()})
local playerMatOrange = getObjectFromGUID('bd0ff4')
playerMatOrange.call("updatePlayerCards", {self.getGUID()})
local playerMatGreen = getObjectFromGUID('383d8b')
playerMatGreen.call("updatePlayerCards", {self.getGUID()})
local playerMatRed = getObjectFromGUID('0840d5')
playerMatRed.call("updatePlayerCards", {self.getGUID()})
local dataHelper = getObjectFromGUID('708279')
dataHelper.call("updateHiddenCards", {self.getGUID()})
end