166 lines
8.4 KiB
Plaintext
166 lines
8.4 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"},
|
||
|
"Arkham Quay": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Fishing Piers": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Drydocks": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Shipping Warehouses": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"The Gutted Trout": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Engine Room (Myra Louise)": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Wheelhouse (Myra Louise)": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Private Lobby": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Display Room": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Auction Hall": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Storage Vault": {"type": "perPlayer", "value": 3, "clueSide": "front"},
|
||
|
"Broker's Office": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Entry Hall": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Living Room": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Second Floor Hallway": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Drafting Room": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Master Bedroom": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Servant's Quarters": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Private Study": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Broad Street Entrance": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Grand Banqueting Hall": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Temple Offices": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Masonic Library & Museum": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Oriental Hall": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Corinthian Hall": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Renaissance Hall": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"South Shore": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Playa de Las Canteras": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Castillo de la Luz": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Catedral de Canàrias": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Castle of Good Hope": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"University of Cape Town": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Table Mountain": {"type": "perPlayer", "value": 3, "clueSide": "front"},
|
||
|
"Ithnashiri Dispensary": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Sultan's Palace": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"House of Wonders": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Old Fort": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Alameda Gardens": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Tower of Homage": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Europa Point": {"type": "perPlayer", "value": 3, "clueSide": "front"},
|
||
|
"Lighthouse of Port Said": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Suez Canal Company Offices": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Arab Quarter": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Gateway of India": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Victoria Terminus": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Sewri Fort": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Shree Siddhivinayak": {"type": "perPlayer", "value": 3, "clueSide": "front"},
|
||
|
"Fort De Lesseps": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Fort Davis": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Castle of Good Hope": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Gatun Locks": {"type": "perPlayer", "value": 3, "clueSide": "front"},
|
||
|
"Suva City Carnegie Library": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Sacred Heart Cathedral": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Suva Botanical Gardens": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Royal Botanic Garden": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Hyde Park Barracks": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Queen Victoria Buildings": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Sydney Terminal": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Singapore Harbor": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Thian Hock Keng": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"The Cenotaph": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Freemason's Hall": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Convent of the Holy Infant": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Sultan Mosque": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"The Istana": {"type": "perPlayer", "value": 2, "clueSide": "front"},
|
||
|
"Basalt Columns": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Cultist Gunboat": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Displaced Reef": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Emergent Island": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Twisted Caldera": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Impossible Summit": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Ruins of R'lyeh": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Cyclopean Acropolis": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Warped Island": {"type": "perPlayer", "value": 1, "clueSide": "front"},
|
||
|
"Impossible Pillar": {"type": "perPlayer", "value": 1, "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
|
||
|
},
|
||
|
"Immutable Sigil": {
|
||
|
"tokenType": "resource",
|
||
|
"tokenCount": 3
|
||
|
}
|
||
|
}
|
||
|
]]
|
||
|
|
||
|
HIDDEN_CARD_DATA = {
|
||
|
"Unpleasant Card (Doom)",
|
||
|
"Unpleasant Card (Gloom)",
|
||
|
"The Case of the Scarlet DOOOOOM!",
|
||
|
"Grotesque Hallucinations",
|
||
|
"Corrupting Influence (Compulsion)",
|
||
|
"Corrupting Influence (Strain)",
|
||
|
"Whispers From the Water",
|
||
|
"Cleaner",
|
||
|
"Marked (Possible Threat)",
|
||
|
"Marked (Definite Threat)",
|
||
|
"Marked (Priority Threat)",
|
||
|
"Closing the Net",
|
||
|
"Fractured Thoughts"
|
||
|
}
|
||
|
|
||
|
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
|