extends Node var SCRIPT_doorControl var SCRIPT_effects var SCRIPT_location var SCRIPT_multiplayer var SCRIPT_mypainting var SCRIPT_notifier var SCRIPT_panel var SCRIPT_pilgrimage_terminator var SCRIPT_textclient var SCRIPT_tracker var SCRIPT_uuid var ap_server = "" var ap_user = "" var ap_pass = "" var confusify_world = false var enable_multiplayer = false var track_player = false var connection_history = [] const my_version = "5.2.0" const ap_version = {"major": 0, "minor": 5, "build": 1, "class": "Version"} const color_items = [ "White", "Black", "Red", "Blue", "Green", "Brown", "Gray", "Orange", "Purple", "Yellow" ] const door_progressive_items = { "Progressive Orange Tower": ["Second Floor", "Third Floor", "Fourth Floor", "Fifth Floor", "Sixth Floor", "Seventh Floor"], "Progressive Art Gallery": ["Second Floor", "Third Floor", "Fourth Floor", "Fifth Floor", "Exit"], "Progressive Hallway Room": ["First Door", "Second Door", "Third Door", "Fourth Door"], "Progressive Fearless": ["Second Floor", "Third Floor"], "Progressive Colorful": ["White", "Black", "Red", "Yellow", "Blue", "Purple", "Orange", "Green", "Brown", "Gray"], "Progressive Pilgrimage": ["1 Sunwarp", "2 Sunwarp", "3 Sunwarp", "4 Sunwarp", "5 Sunwarp", "6 Sunwarp"] } const panel_progressive_items = { "Progressive Hallway Room": ["First Door", "Second Door", "Third Door", "Fourth Door"], "Progressive Colorful": ["White", "Black", "Red", "Yellow", "Blue", "Purple", "Orange", "Green", "Brown", "Gray"], "Progressive Number Hunt": ["Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Zero"], "Progressive Symmetry Room": ["Near Far", "Warts Straw", "Leaf Feel"], "Progressive Suits Area": ["Words Sword", "Lost", "Amen Name"] } const kTHE_END = 0 const kTHE_MASTER = 1 const kLEVEL_2 = 2 const kPILGRIMAGE = 3 const kNO_PANEL_SHUFFLE = 0 const kREARRANGE_PANELS = 1 const kCLASSIFICATION_LOCAL_NORMAL = 1 const kCLASSIFICATION_LOCAL_REDUCED = 2 const kCLASSIFICATION_LOCAL_INSANITY = 4 const kCLASSIFICATION_LOCAL_SMALL_SPHERE_ONE = 8 const kCLASSIFICATION_REMOTE_NORMAL = 0 const kCLASSIFICATION_REMOTE_REDUCED = 1 const kCLASSIFICATION_REMOTE_INSANITY = 2 const kSUNWARP_ACCESS_NORMAL = 0 const kSUNWARP_ACCESS_DISABLED = 1 const kSUNWARP_ACCESS_UNLOCK = 2 const kSUNWARP_ACCESS_INDIVIDUAL = 3 const kSUNWARP_ACCESS_PROGRESSIVE = 4 var _client = WebSocketClient.new() var _should_process = false var _initiated_disconnect = false var _try_wss = false var _datapackages = {} var _pending_packages = [] var _item_id_to_name = {} # All games var _location_id_to_name = {} # All games var _item_name_to_id = {} # LINGO only var _location_name_to_id = {} # LINGO only var _remote_version = {"major": 0, "minor": 0, "build": 0} var _gen_version = {"major": 0, "minor": 0, "build": 0} # TODO: caching per MW/slot, reset between connections var _authenticated = false var _seed = "" var _team = 0 var _slot = 0 var _players = [] var _player_name_by_slot = {} var _game_by_player = {} var _checked_locations = [] var _slot_data = {} var _paintings_mapping = {} var _localdata_file = "" var _death_link = false var _victory_condition = 0 # THE END, THE MASTER, LEVEL 2 var _door_shuffle = false var _panel_door_shuffle = false var _color_shuffle = false var _panel_shuffle = 0 # none, rearrange var _painting_shuffle = false var _sunwarp_access = 0 # normal, disabled, unlock, progressive var _mastery_achievements = 21 var _level_2_requirement
cmake_minimum_required(VERSION 3.28)
project(lingo2_archipelago)
add_subdirectory(proto)
add_subdirectory(tools/assign_ids)
add_subdirectory(tools/datapacker)