-- 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 _ and if we find nothing we look for format is [location_guid -> clueCount] ]] LOCATIONS_DATA_JSON = [[ { "Arkham Streets_98a5aa": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Arkham Streets_50a90d": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Arkham Streets_e30365": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Arkham Streets_acb5d5": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Arkham Streets_b9daa0": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Arkham Streets_110431": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Lawn": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Hedge Maze": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Stables": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Ornate Fountain": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Parlor": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Kitchen": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Landing": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Master Bedroom": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Study": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Front Gates": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Side Building": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Children's Playground": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Sports Field": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Front Hallway": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Rear Corridors": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Cafeteria": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Principal's Office": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Classroom_1da10c": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Classroom_2d1f5a": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Classroom_cc8366": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Ritual Circle_770f20": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Ritual Circle_0e7708": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "A World at War": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "A Disquieting Future": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Arkham, Massachusetts_86efff": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Arkham, Massachusetts_b2c271": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Banks of the Nile": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Millions of Years Ago": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "The Timestream": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Arkham, Massachusetts_e83b93": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "San Francisco": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Mexico City": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "London": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Paris": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Rome": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Istanbul": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Cairo": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Himalayas": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Shanghai": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Sydney": {"type": "fixed", "value": 4, "clueSide": "front"}, "Another Realm": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "The British Library": {"type": "fixed", "value": 7, "clueSide": "front"}, "Featureless Streets": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Ritual Circle_273aaf": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Ritual Circle_384917": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Ritual Circle_83bb69": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Dawn of the Universe": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Secrets Long Forgotten": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "Days That Never Were": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Today, a Thousand Times": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "Fulcrum of Possibility": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "What Could Be": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "What Could Never Be": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "The End of All Things": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "The Past": {"type": "perPlayer", "value": 1, "clueSide": "front"}, "The Present": {"type": "perPlayer", "value": 2, "clueSide": "front"}, "The Future": {"type": "perPlayer", "value": 1, "clueSide": "front"} } ]] PLAYER_CARD_DATA_JSON = [[ { "Forestall Fate": { "tokenType": "resource", "tokenCount": 4 }, "Chronal Atlas": { "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