diff --git a/.luacheckrc b/.luacheckrc deleted file mode 100644 index aa27f117..00000000 --- a/.luacheckrc +++ /dev/null @@ -1,2074 +0,0 @@ -------------------------------------------------------------------------------- ---[LICENSE]-- -------------------------------------------------------------------------------- --- .luacheckrc --- This file is free and unencumbered software released into the public domain. --- --- Anyone is free to copy, modify, publish, use, compile, sell, or --- distribute this file, either in source code form or as a compiled --- binary, for any purpose, commercial or non-commercial, and by any --- means. --- --- In jurisdictions that recognize copyright laws, the author or authors --- of this file dedicate any and all copyright interest in the --- software to the public domain. We make this dedication for the benefit --- of the public at large and to the detriment of our heirs and --- successors. We intend this dedication to be an overt act of --- relinquishment in perpetuity of all present and future rights to this --- software under copyright law. --- --- THE FILE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, --- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --- IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR --- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, --- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR --- OTHER DEALINGS IN THE SOFTWARE. --- --- For more information, please refer to --- ]] - --- Current Factorio Version 0.17.0, luacheck version 0.23.0 - -------------------------------------------------------------------------------- ---[Set Defaults]-- -------------------------------------------------------------------------------- -local LINE_LENGTH = false -- It is 2017 limits on length are a waste -local IGNORE = {'21./%w+_$', '21./^_%w+$', '213/[ijk]', '213/index', '213/key'} -local NOT_GLOBALS = {'coroutine', 'io', 'socket', 'dofile', 'loadfile'} -- These globals are not available to the factorio API - -local STD_CONTROL = 'lua52c+factorio+factorio_control+stdlib+factorio_defines' -local STD_DATA = 'lua52c+factorio+factorio_data+stdlib+stdlib_data+factorio_defines' - --- In a perfect world these would be STD_DATA and STD_CONTROL (mostly) -local STD_BASE_DATA = 'lua52c+factorio+factorio_data+factorio_defines+factorio_base_data' -local STD_BASE_CONTROL = 'lua52c+factorio+factorio_control+factorio_defines+factorio_base_control' - -------------------------------------------------------------------------------- ---[Assume Factorio Control stage as default]-- -------------------------------------------------------------------------------- -std = STD_CONTROL -globals = { - 'print', - '_DEBUG', - '_CHEATS', - '_DUMP_ENV', - 'ServerCommands', - 'Debug', - '_LIFECYCLE', - '_STAGE', - 'get_game_version', - 'is_loaded', - 'is_game_modded', - 'is_mod_loaded', - 'require', - 'comfy_panel_tabs' -} -max_line_length = LINE_LENGTH - -not_globals = NOT_GLOBALS -ignore = IGNORE -quiet = 1 -- pass -q option -max_cyclomatic_complexity = 75 -codes = true - ---List of files and directories to exclude -exclude_files = { - --Ignore special folders - '**/.*/*', --Ignore if path starts with . - '**/stdlib/vendor/', - '**/*WIP/', - --Ignore development mods - '**/combat-tester/', - '**/test-maker/', - '**/trailer/' -} - -------------------------------------------------------------------------------- ---[Mod Prototypes]-- -------------------------------------------------------------------------------- ---Set default prototype files -files['**/data.lua'].std = STD_DATA -files['**/data-updates.lua'].std = STD_DATA -files['**/data-final-fixes.lua'].std = STD_DATA -files['**/settings.lua'].std = STD_DATA -files['**/settings-updates.lua'].std = STD_DATA -files['**/settings-final-fixes.lua'].std = STD_DATA -files['**/prototypes/'].std = STD_DATA -files['**/settings/'].std = STD_DATA - -------------------------------------------------------------------------------- ---[Base]-- -------------------------------------------------------------------------------- ---Find and replace ignores *.cfg, migrations, *.txt, control.lua, *.json, trailer, scenarios, campaigns, *.glsl - -local base_scenarios = { - std = STD_BASE_CONTROL .. '+factorio_base_scenarios+factorio_base_story', - --ignore = {'212/event', '111', '112', '113', '211', '212', '213', '311', '411', '412', '421', '422', '423', '431', '432', '512'} - ignore = {'...'} -} -files['**/base/scenarios/'] = base_scenarios -files['**/base/tutorials/'] = base_scenarios -files['**/base/campaigns/'] = base_scenarios -files['**/wip-scenario/'] = base_scenarios - -files['**/base/migrations/'] = {std = STD_BASE_CONTROL} - -files['**/core/lualib/'] = {std = STD_BASE_CONTROL} -files['**/core/lualib/util.lua'] = {globals = {'util', 'table'}, ignore = {'432/object'}} -files['**/core/lualib/silo-script.lua'] = {globals = {'silo_script'}, ignore = {'4../player'}} -files['**/core/lualib/production-score.lua'] = {globals = {'production_score', 'get_price_recursive'}, ignore = {'4../player'}} -files['**/core/lualib/story*'] = {std = '+factorio_base_story', ignore = {'42./k', '42./filter'}} -files['**/core/lualib/mod-gui.lua'] = {globals = {'mod_gui'}} -files['**/core/lualib/camera.lua'] = {globals = {'camera'}} -files['**/core/lualib/builder.lua'] = {globals = {'Builder', 'builder', 'action', 'down', 'right'}} - -files['**/core/lualib/bonus-gui-ordering/'] = {std = STD_BASE_DATA} -files['**/core/lualib/dataloader.lua'] = {globals = {'data'}} -files['**/core/lualib/circuit-connector-*'] = {std = STD_BASE_DATA .. '+factorio_circuit_connector_generated'} -files['**/core/lualib/bonus-gui-ordering.lua'] = {globals = {'bonus_gui_ordering'}} - -files['**/base/prototypes/'] = {std = STD_BASE_DATA} -files['**/core/prototypes/'] = {std = STD_BASE_DATA} -files['**/core/prototypes/noise-programs.lua'] = {ignore = {'212/x', '212/y', '212/tile', '212/map'}} - ---(( stdlib ))-- -local stdlib_control = { - std = 'lua52c+factorio+factorio_control+stdlib+factorio_defines', - max_line_length = LINE_LENGTH -} - -local stdlib_data = { - std = 'lua52c+factorio+factorio_data+stdlib+factorio_defines', - max_line_length = LINE_LENGTH -} - --- Assume control stage for stdlib -files['**/stdlib/'] = stdlib_control - --- Assume generic content for stdlib utils -files['**/stdlib/utils/**'].std = 'lua52c+stdlib' - --- STDLIB data files -files['**/stdlib/data/'] = stdlib_data - --- STDLIB Busted Spec -files['**/spec/**'] = { - globals = {'serpent', 'log', 'SLOG', 'RESET'}, - std = 'lua52c+busted+factorio_defines+factorio_control+stdlib' -} --)) - ---(( Factorio ))-- -stds.factorio = { - --Set the read only variables - read_globals = { - -- @log@: Gives writing access to Factorio's logger instance. - 'log', - -- @serpent@: Lua serializer and pretty printer. (https://github.com/pkulchenko/serpent) - 'serpent', - -- @table_size@: Returns the number of elements inside an LUA table - 'table_size', - util = { - fields = { - 'by_pixel', - 'distance', - 'findfirstentity', - 'positiontostr', - 'formattime', - 'moveposition', - 'oppositedirection', - 'ismoduleavailable', - 'multiplystripes', - 'format_number', - 'increment', - 'color', - 'conditional_return', - 'add_shift', - 'merge', - 'premul_color', - 'encode', - 'decode', - 'insert_safe', - table = { - fields = { - 'compare', - 'deepcopy' - } - } - } - }, - table = { - fields = { - 'compare', - 'deepcopy' - } - } - } -} - -stds.factorio_control = { - read_globals = { - -- @commands@: - commands = { - fields = { - 'commands', - 'game_commands', - 'remove_command' - }, - other_fields = false - }, - -- @settings@: - settings = { - fields = { - 'get_player_settings', - startup = {read_only = false, other_fields = true}, - global = {read_only = false, other_fields = true}, - player = {read_only = false, other_fields = true} - } - }, - -- @script@: Provides an interface for registering event handlers. - -- (http://lua-api.factorio.com/latest/LuaBootstrap.html) - script = { - fields = { - 'on_nth_tick', - 'on_event', - 'on_init', - 'on_load', - 'on_configuration_changed', - 'raise_event', - 'get_event_handler', - 'mod_name', - 'get_event_order', - 'generate_event_name', - 'register_on_entity_destroyed' - }, - other_fields = false - }, - -- @remote@: Allows inter-mod communication by providing a repository of interfaces that is shared by all mods. - -- (http://lua-api.factorio.com/latest/LuaRemote.html) - remote = { - fields = { - interfaces = {read_only = false, other_fields = true}, - 'add_interface', - 'remove_interface', - 'call' - }, - read_only = true, - other_fields = false - }, - rcon = { - fields = {'print'} - }, - commands = { - fields = { - 'add_command' - } - }, - rendering = { - other_fields = false, - read_only = true, - fields = { - 'set_visible', - 'draw_line', - 'draw_text', - 'draw_circle', - 'draw_rectangle', - 'draw_arc', - 'draw_polygon', - 'draw_sprite', - 'draw_light', - 'destroy', - 'is_font_valid', - 'is_valid', - 'get_all_ids', - 'clear', - 'get_type', - 'get_surface', - 'get_time_to_live', - 'set_time_to_live', - 'get_forces', - 'set_forces', - 'get_players', - 'set_players', - 'get_color', - 'set_color', - 'get_width', - 'set_width', - 'get_from', - 'set_from', - 'get_to', - 'set_to', - 'get_gap_amount', - 'set_gap_amount', - 'get_gap_length', - 'set_gap_length', - 'get_target', - 'set_target', - 'get_orientation', - 'set_orientation', - 'get_scale', - 'set_scale', - 'get_text', - 'set_text', - 'get_font', - 'set_font', - 'get_alignment', - 'set_alignment', - 'get_scale_with_zoom', - 'set_scale_with_zoom', - 'get_filled', - 'set_filled', - 'get_radius', - 'set_radius', - 'get_left_top', - 'set_left_top', - 'get_right_bottom', - 'set_right_bottom', - 'get_max_radius', - 'set_max_radius', - 'get_min_radius', - 'set_min_radius', - 'get_start_angle', - 'set_start_angle', - 'get_angle', - 'set_angle', - 'get_vertices', - 'set_vertices', - 'get_sprite', - 'set_sprite', - 'get_x_scale', - 'set_x_scale', - 'get_y_scale', - 'set_y_scale', - 'get_render_layer', - 'set_render_layer', - 'get_orientation_target', - 'set_orientation_target', - 'get_oriented_offset', - 'set_oriented_offset', - 'get_intensity', - 'set_intensity', - 'get_minimum_darkness', - 'set_minimum_darkness' - } - }, - -- @game@: Main object through which most of the API is accessed. - -- It is, however, not available inside handlers registered with @script.on_load@. - -- (http://lua-api.factorio.com/latest/LuaGameScript.html) - game = { - other_fields = false, - read_only = false, - fields = { - 'disable_tutorial_triggers', - 'auto_save', - 'ban_player', - 'check_consistency', - 'check_prototype_translations', - 'count_pipe_groups', - 'create_force', - 'create_profiler', - 'create_random_generator', - 'create_surface', - 'delete_surface', - 'desync_players', - 'direction_to_string', - 'disable_replay', - 'disable_tips_and_tricks', - 'draw_resource_selection', - 'force_crc', - 'get_active_entities_count', - 'get_entity_by_tag', - 'get_map_exchange_string', - 'get_player', - 'get_surface', - 'help', - 'is_demo', - 'is_multiplayer', - 'is_valid_sound_path', - 'json_to_table', - 'kick_player', - 'merge_forces', - 'pollution_statistics', - 'mute_player', - 'play_sound', - 'print', - 'print_stack_size', - 'purge_player', - 'regenerate_entity', - 'reload_mods', - 'reload_script', - 'remove_offline_players', - 'remove_path', - 'save_atlas', - 'server_save', - 'set_game_state', - 'reset_time_played', - 'show_message_dialog', - 'table_to_json', - 'encode_string', - 'decode_string', - 'take_screenshot', - 'take_technology_screenshot', - 'unban_player', - 'unmute_player', - 'write_file', - active_mods = {read_only = true, other_fields = true}, - ammo_category_prototypes = {read_only = true, other_fields = true}, - autoplace_control_prototypes = {read_only = true, other_fields = true}, - backer_names = {read_only = true, other_fields = true}, - connected_players = {read_only = true, other_fields = true}, - custom_input_prototypes = {read_only = true, other_fields = true}, - damage_prototypes = {read_only = true, other_fields = true}, - decorative_prototypes = {read_only = true, other_fields = true}, - default_map_gen_settings = {read_only = true, other_fields = true}, - difficulty = {read_only = true, other_fields = true}, - difficulty_settings = {read_only = true, other_fields = true}, - enemy_has_vision_on_land_mines = {read_only = false, other_fields = false}, - entity_prototypes = {read_only = true, other_fields = true}, - equipment_grid_prototypes = {read_only = true, other_fields = true}, - equipment_prototypes = {read_only = true, other_fields = true}, - finished = {read_only = true, other_fields = true}, - fluid_prototypes = {read_only = true, other_fields = true}, - forces = {read_only = true, other_fields = true}, - item_prototypes = {read_only = true, other_fields = true}, - map_settings = {read_only = true, other_fields = true}, - mod_setting_prototypes = {read_only = true, other_fields = true}, - noise_layer_prototypes = {read_only = true, other_fields = true}, - permissions = {read_only = true, other_fields = true}, - player = {read_only = true, other_fields = true}, - players = {read_only = true, other_fields = true}, - recipe_prototypes = {read_only = true, other_fields = true}, - speed = {read_only = false, other_fields = false}, - styles = {read_only = true, other_fields = true}, - surfaces = {read_only = true, other_fields = true}, - technology_prototypes = {read_only = true, other_fields = true}, - tick = {read_only = true, other_fields = true}, - tick_paused = {read_only = false, other_fields = false}, - ticks_played = {read_only = true, other_fields = true}, - ticks_to_run = {read_only = false, other_fields = false}, - tile_prototypes = {read_only = true, other_fields = true}, - virtual_signal_prototypes = {read_only = true, other_fields = true} - } - } - }, - globals = { - -- @global@: The global dictionary, useful for storing data persistent across a save-load cycle. - -- Writing access is given to the mod-id field (for mod-wise saved data). - -- (http://lua-api.factorio.com/latest/Global.html) - 'global', - -- @MOD@: Keep it organized, use this variable for anything that "NEEDS" to be global for some reason. - 'MOD' - } -} - -stds.factorio_data = { - read_globals = { - data = { - fields = { - raw = { - other_fields = true, - read_only = false - }, - 'extend', - 'is_demo' - } - }, - settings = { - fields = { - 'startup', - 'global', - 'player' - } - }, - --Popular mods - angelsmods = { - other_fields = true - }, - bobmods = { - other_fields = true - }, - mods = { - other_fields = true - } - } -} --)) - ---(( Factorio Globals are bad mkay ))-- -stds.factorio_base_control = { - read_globals = {'silo_script', 'mod_gui', 'camera'} -} - -stds.factorio_base_scenarios = { - globals = { - 'check_automate_science_packs_advice', - 'check_research_hints', - 'check_supplies', - 'manage_attacks', - 'all_dead', - 'on_win', - 'difficulty_number', - 'init_attack_data', - 'handle_attacks', - 'count_items_in_container', - 'progress', - 'scanned', - 'check_light', - 'check_machine_gun', - 'level', - 'story_table', - 'tightspot_prices', - 'tightspot_make_offer', - 'tightspot_init', - 'tightspot_get_required_balance', - 'tightspot_init_level', - 'tightspot_init_spending_frame', - 'tightspot_init_progress_frame', - 'tightspot_update_progress', - 'tightspot_update_spending', - 'tightspot_get_missing_to_win', - 'tightspot_sell_back', - 'tightspot_start_level', - 'tightspot_show_level_description', - 'tightspot_update_speed_label', - 'map_ignore', - 'tightspot_check_level', - 'land_price', - 'transport_belt_madness_init', - 'transport_belt_madness_init_level', - 'transport_belt_madness_create_chests', - 'transport_belt_madness_fill_chests', - 'transport_belt_madness_start_level', - 'map_ignore', - 'map_clear', - 'map_load', - 'map_save', - 'transport_belt_madness_show_level_description', - 'transport_belt_madness_check_level', - 'transport_belt_madness_next_level', - 'transport_belt_madness_clear_level', - 'transport_belt_madness_contains_next_level', - 'restricted', - 'check_built_items', - 'result', - 'disable_combat_technologies', - 'apply_character_modifiers', - 'apply_combat_modifiers', - 'apply_balance', - 'load_config', - 'starting_area_constant', - 'create_next_surface', - 'end_round', - 'prepare_next_round', - 'silo_died', - 'choose_joining_gui', - 'destroy_joining_guis', - 'create_random_join_gui', - 'create_auto_assign_gui', - 'create_pick_join_gui', - 'create_config_gui', - 'make_config_table', - 'default', - 'make_team_gui', - 'make_team_gui_config', - 'add_team_button_press', - 'trash_team_button_press', - 'remove_team_from_team_table', - 'add_team_to_team_table', - 'set_teams_from_gui', - 'on_team_button_press', - 'make_color_dropdown', - 'create_balance_option', - 'create_disable_frame', - 'disable_frame', - 'parse_disabled_items', - 'set_balance_settings', - 'config_confirm', - 'parse_config_from_gui', - 'get_color', - 'roll_starting_area', - 'delete_roll_surfaces', - 'auto_assign', - 'destroy_config_for_all', - 'prepare_map', - 'set_evolution_factor', - 'update_players_on_team_count', - 'random_join', - 'init_player_gui', - 'destroy_player_gui', - 'objective_button_press', - 'admin_button_press', - 'admin_frame_button_press', - 'diplomacy_button_press', - 'update_diplomacy_frame', - 'diplomacy_frame_button_press', - 'team_changed_diplomacy', - 'diplomacy_check_press', - 'get_stance', - 'give_inventory', - 'setup_teams', - 'disable_items_for_all', - 'set_random_team', - 'set_diplomacy', - 'create_spawn_positions', - 'set_spawn_position', - 'set_team_together_spawns', - 'chart_starting_area_for_force_spawns', - 'check_starting_area_chunks_are_generated', - 'check_player_color', - 'check_round_start', - 'clear_starting_area_enemies', - 'check_no_rush_end', - 'check_no_rush_players', - 'finish_setup', - 'chart_area_for_force', - 'setup_start_area_copy', - 'update_copy_progress', - 'update_progress_bar', - 'copy_paste_starting_area_tiles', - 'copy_paste_starting_area_entities', - 'create_silo_for_force', - 'setup_research', - 'on_chunk_generated', - 'get_distance_to_nearest_spawn', - 'create_wall_for_force', - 'fpn', - 'give_items', - 'create_item_frame', - 'create_technologies_frame', - 'create_cheat_frame', - 'create_day_frame', - 'time_modifier', - 'points_per_second_start', - 'points_per_second_level_subtract', - 'levels', - 'update_info', - 'get_time_left', - 'update_time_left', - 'on_joined', - 'make_frame', - 'update_frame', - 'update_table', - 'calculate_task_item_multiplayer', - 'setup_config', - 'select_from_probability_table', - 'select_inventory', - 'select_equipment', - 'select_challange_type', - 'save_round_statistics', - 'start_challenge', - 'create_teams', - 'set_areas', - 'decide_player_team', - 'set_teams', - 'refresh_leaderboard', - 'set_player', - 'generate_technology_list', - 'generate_research_task', - 'setup_unlocks', - 'check_technology_progress', - 'generate_production_task', - 'generate_shopping_list_task', - 'set_gui_flow_table', - 'create_visibility_button', - 'check_item_lists', - 'update_task_gui', - 'check_end_of_round', - 'end_round_gui_update', - 'try_to_check_victory', - 'update_gui', - 'check_start_round', - 'check_start_set_areas', - 'check_start_setting_entities', - 'check_set_areas', - 'check_clear_areas', - 'check_chests', - 'check_chests_shopping_list', - 'check_chests_production', - 'check_input_chests', - 'fill_input_chests', - 'check_victory', - 'shopping_task_finished', - 'calculate_force_points', - 'update_research_task_table', - 'update_production_task_table', - 'update_shopping_list_task_table', - 'create_joined_game_gui', - 'pre_ending_round', - 'player_ending_prompt', - 'update_end_timer', - 'update_begin_timer', - 'team_finished', - 'save_points_list', - 'give_force_players_points', - 'update_winners_list', - 'set_spectator', - 'set_character', - 'give_starting_inventory', - 'give_equipment', - 'shuffle_table', - 'format_time', - 'spairs', - 'fill_leaderboard', - 'create_grid', - 'simple_entities', - 'save_map_data', - 'clear_map', - 'create_tiles', - 'recreate_entities', - 'map_sets', - 'give_points', - 'init_forces', - 'init_globals', - 'init_unit_settings', - 'check_next_wave', - 'next_wave', - 'calculate_wave_power', - 'wave_end', - 'make_next_spawn_tick', - 'check_spawn_units', - 'get_wave_units', - 'spawn_units', - 'randomize_ore', - 'set_command', - 'command_straglers', - 'unit_config', - 'make_next_wave_tick', - 'time_to_next_wave', - 'time_to_wave_end', - 'rocket_died', - 'unit_died', - 'get_bounty_price', - 'setup_waypoints', - 'insert_items', - 'give_starting_equipment', - 'give_spawn_equipment', - 'next_round_button_visible', - 'gui_init', - 'create_wave_frame', - 'create_money_frame', - 'create_upgrade_gui', - 'update_upgrade_listing', - 'upgrade_research', - 'get_upgrades', - 'get_money', - 'update_connected_players', - 'update_round_number', - 'set_research', - 'set_recipes', - 'check_deconstruction', - 'check_blueprint_placement', - 'loop_entities', - 'experiment_items', - 'setup', - 'story_gui_click', - 'clear_surface', - 'add_run_trains_button', - 'puzzle_condition', - 'basic_signals', - 'loop_trains', - 'Y_offset', - 'ghosts_1', - 'ghosts_2', - 'required_path', - 'through_wall_path', - 'count', - 'check_built_real_rail', - 'current_ghosts_count', - 'other', - 'rails', - 'set_rails', - 'straight_section', - 'late_entities', - 'entities', - 'stop', - 'get_spawn_coordinate', - --tutorials - 'intermission', - 'create_entities_on_tick', - 'on_player_created', - 'required_count', - 'non_player_entities', - 'clear_rails', - 'chest', - 'damage', - 'furnace', - 'init_prototypes', - 'build_infi_table', - 'junk', - 'update_player_tags', - 'time_left', - 'team_production', - 'create_task_frame', - 'create_visibilty_buttons', - 'update_leaderboard', - 'in_in_area' - } -} - -stds.factorio_base_data = { - globals = { - --Style - 'make_cursor_box', - 'make_full_cursor_box', - 'default_container_padding', - 'default_orange_color', - 'default_light_orange_color', - 'warning_red_color', - 'achievement_green_color', - 'achievement_tan_color', - 'orangebuttongraphcialset', - 'bluebuttongraphcialset', - 'bonus_gui_ordering', - 'trivial_smoke', - 'technology_slot_base_width', - 'technology_slot_base_height', - 'default_frame_font_vertical_compensation', - --Belts - 'transport_belt_connector_frame_sprites', - 'transport_belt_circuit_wire_connection_point', - 'transport_belt_circuit_wire_max_distance', - 'transport_belt_circuit_connector_sprites', - 'ending_patch_prototype', - 'basic_belt_horizontal', - 'basic_belt_vertical', - 'basic_belt_ending_top', - 'basic_belt_ending_bottom', - 'basic_belt_ending_side', - 'basic_belt_starting_top', - 'basic_belt_starting_bottom', - 'basic_belt_starting_side', - 'fast_belt_horizontal', - 'fast_belt_vertical', - 'fast_belt_ending_top', - 'fast_belt_ending_bottom', - 'fast_belt_ending_side', - 'fast_belt_starting_top', - 'fast_belt_starting_bottom', - 'fast_belt_starting_side', - 'express_belt_horizontal', - 'express_belt_vertical', - 'express_belt_ending_top', - 'express_belt_ending_bottom', - 'express_belt_ending_side', - 'express_belt_starting_top', - 'express_belt_starting_bottom', - 'express_belt_starting_side', - --Circuit Connectors - 'circuit_connector_definitions', - 'default_circuit_wire_max_distance', - 'inserter_circuit_wire_max_distance', - 'universal_connector_template', - 'belt_connector_template', - 'belt_frame_connector_template', - 'inserter_connector_template', - --Inserter Circuit Connectors - 'inserter_circuit_wire_max_distance', - 'inserter_default_stack_control_input_signal', - --Sounds/beams - 'make_heavy_gunshot_sounds', - 'make_light_gunshot_sounds', - 'make_laser_sounds', - --Gun/Laser - 'gun_turret_extension', - 'gun_turret_extension_shadow', - 'gun_turret_extension_mask', - 'gun_turret_attack', - 'laser_turret_extension', - 'laser_turret_extension_shadow', - 'laser_turret_extension_mask', - --Pipes - 'pipecoverspictures', - 'pipepictures', - 'assembler2pipepictures', - 'assembler3pipepictures', - 'make_heat_pipe_pictures', - --Combinators - 'generate_arithmetic_combinator', - 'generate_decider_combinator', - 'generate_constant_combinator', - --Rail - 'destroyed_rail_pictures', - 'rail_pictures', - 'rail_pictures_internal', - 'standard_train_wheels', - 'drive_over_tie', - 'rolling_stock_back_light', - 'rolling_stock_stand_by_light', - --Enemies - 'make_enemy_autoplace', - 'make_enemy_spawner_autoplace', - 'make_enemy_worm_autoplace', - 'make_spitter_attack_animation', - 'make_spitter_run_animation', - 'make_spitter_dying_animation', - 'make_spitter_attack_parameters', - 'make_spitter_roars', - 'make_spitter_dying_sounds', - 'make_spawner_idle_animation', - 'make_spawner_die_animation', - 'make_biter_run_animation', - 'make_biter_attack_animation', - 'make_biter_die_animation', - 'make_biter_roars', - 'make_biter_dying_sounds', - 'make_biter_calls', - 'make_worm_roars', - 'make_worm_dying_sounds', - 'make_worm_folded_animation', - 'make_worm_preparing_animation', - 'make_worm_prepared_animation', - 'make_worm_attack_animation', - 'make_worm_die_animation', - --Other - 'tile_variations_template', - 'make_water_autoplace_settings', - 'make_unit_melee_ammo_type', - 'make_trivial_smoke', - 'make_4way_animation_from_spritesheet', - 'flying_robot_sounds', - 'productivitymodulelimitation', - 'crash_trigger', - 'capsule_smoke', - 'make_beam', - 'playeranimations', - 'make_blood_tint', - 'make_shadow_tint', - --tiles - 'water_transition_template', - 'make_water_transition_template', - 'water_autoplace_settings', - 'water_tile_type_names', - 'patch_for_inner_corner_of_transition_between_transition' - } -} - -stds.factorio_base_story = { - globals = { - 'story_init_helpers', - 'story_update_table', - 'story_init', - 'story_update', - 'story_on_tick', - 'story_add_update', - 'story_remove_update', - 'story_jump_to', - 'story_elapsed', - 'story_elapsed_check', - 'story_show_message_dialog', - 'set_goal', - 'player_set_goal', - 'on_player_joined', - 'flash_goal', - 'set_info', - 'player_set_info', - 'export_entities', - 'list', - 'recreate_entities', - 'entity_to_connect', - 'limit_camera', - 'find_gui_recursive', - 'enable_entity_export', - 'add_button', - 'on_gui_click', - 'set_continue_button_style', - 'add_message_log', - 'story_add_message_log', - 'player_add_message_log', - 'message_log_frame', - 'message_log_scrollpane', - 'message_log_close_button', - 'message_log_table', - 'toggle_message_log_button', - 'toggle_objective_button', - 'message_log_init', - 'add_gui_recursive', - 'add_toggle_message_log_button', - 'add_toggle_objective_button', - 'mod_gui', - 'flash_message_log_button', - 'flash_message_log_on_tick', - 'story_gui_click', - 'story_points_by_name', - 'story_branches', - 'player', - 'surface', - 'deconstruct_on_tick', - 'recreate_entities_on_tick', - 'flying_congrats', - 'story_table' - } -} - -stds.factorio_circuit_connector_generated = { - globals = { - 'default_circuit_wire_max_distance', - 'circuit_connector_definitions', - 'universal_connector_template', - 'belt_connector_template', - 'belt_frame_connector_template', - 'inserter_connector_template', - 'inserter_connector_template', - 'inserter_circuit_wire_max_distance', - 'inserter_default_stack_control_input_signal', - 'transport_belt_connector_frame_sprites', - 'transport_belt_circuit_wire_max_distance' - } -} --)) - ---(( STDLIB ))-- -stds.stdlib = { - read_globals = { - table = { - fields = { - 'mean', - 'binary_search', - 'shuffle_table', - 'map', - 'avg', - 'count_keys', - 'sum', - 'max', - 'remove', - 'insert', - 'invert', - 'first', - 'sort', - 'compare', - 'maxn', - 'any', - 'array_to_dictionary', - 'each', - 'flatten', - 'keys', - 'filter', - 'remove_keys', - 'flexcopy', - 'find', - 'fullcopy', - 'values', - 'pack', - 'deepcopy', - 'concat', - 'clear', - 'min', - 'is_empty', - 'merge', - 'size', - 'dictionary_merge', - 'unpack', - 'last' - } - }, - string = { - fields = { - 'is_space', - 'is_empty', - 'match', - 'title', - 'upper', - 'gmatch', - 'trim', - 'split', - 'len', - 'ordinal_suffix', - 'dump', - 'shorten', - 'reverse', - 'ends_with', - 'byte', - 'starts_with', - 'join', - 'is_alpha', - 'lower', - 'is_upper', - 'is_digit', - 'is_alnum', - 'rjust', - 'center', - 'ljust', - 'format', - 'char', - 'is_lower', - 'contains', - 'gsub', - 'find', - 'rep', - 'sub' - } - }, - math = { - fields = { - 'asin', - 'max', - 'clamp', - 'round', - 'modf', - 'midrange_mean', - 'pow', - 'ldexp', - 'maxuint16', - 'fmod', - 'round_to', - 'randomseed', - 'huge', - 'harmonic_mean', - 'tan', - 'maxint32', - 'quadratic_mean', - 'pi', - 'energetic_mean', - 'minint8', - 'frexp', - 'generalized_mean', - 'rad', - 'sin', - 'sinh', - 'min', - 'geometric_mean', - 'atan', - 'avg', - 'cosh', - 'maxint8', - 'arithmetic_mean', - 'exp', - 'sum', - 'round', - 'maxuint64', - 'minint64', - 'ceil', - 'maxint64', - 'atan2', - 'floor_to', - 'floor', - 'log', - 'maxint16', - 'minint16', - 'tanh', - 'acos', - 'deg', - 'cos', - 'log10', - 'maxuint8', - 'abs', - 'weighted_mean', - 'random', - 'maxuint32', - 'sqrt', - 'minint32' - } - } - }, - globals = { - 'prequire', - 'rawtostring', - 'traceback', - 'inspect', - 'serpent', - 'inline_if', - 'install', - 'GAME', - 'AREA', - 'POSITION', - 'TILE', - 'SURFACE', - 'CHUNK', - 'COLOR', - 'ENTITY', - 'INVENTORY', - 'RESOURCE', - 'CONFIG', - 'LOGGER', - 'QUEUE', - 'EVENT', - 'GUI', - 'server_commands', - 'PLAYER', - 'FORCE', - 'log' - } -} - -stds.stdlib_control = {} - -stds.stdlib_data = { - globals = { - 'DATA', - 'RECIPE', - 'ITEM', - 'FLUID', - 'ENTITY', - 'TECHNOLOGY', - 'CATEGORY' - } -} --)) - ---(( FACTORIO DEFINES ))-- -stds.factorio_defines = { - read_globals = { - defines = { - fields = { - alert_type = { - fields = { - 'entity_under_attack', - 'custom', - 'no_material_for_construction', - 'turret_fire', - 'no_storage', - 'not_enough_construction_robots', - 'train_out_of_fuel', - 'entity_destroyed', - 'not_enough_repair_packs' - } - }, - anticolor = {other_fields = true}, - behavior_result = {fields = {'success', 'in_progress', 'deleted', 'fail'}}, - build_check_type = {fields = {'script', 'manual', 'ghost_revive', 'ghost_place'}}, - chain_signal_state = {fields = {'partially_open', 'none_open', 'none', 'all_open'}}, - chunk_generated_status = { - fields = {'basic_tiles', 'corrected_tiles', 'entities', 'nothing', 'tiles', 'custom_tiles'} - }, - circuit_condition_index = { - fields = { - 'pump', - 'arithmetic_combinator', - 'constant_combinator', - 'inserter_circuit', - 'offshore_pump', - 'decider_combinator', - 'inserter_logistic', - 'lamp' - } - }, - circuit_connector_id = { - fields = { - 'programmable_speaker', - 'offshore_pump', - 'accumulator', - 'wall', - 'lamp', - 'roboport', - 'rail_chain_signal', - 'inserter', - 'rail_signal', - 'pump', - 'storage_tank', - 'combinator_output', - 'electric_pole', - 'combinator_input', - 'constant_combinator', - 'container' - } - }, - color = {other_fields = true}, - command = { - fields = { - 'attack', - 'group', - 'attack_area', - 'build_base', - 'stop', - 'compound', - 'wander', - 'go_to_location', - 'flee' - } - }, - compound_command = {fields = {'return_last', 'logical_and', 'logical_or'}}, - control_behavior = { - fields = { - inserter = { - fields = { - circuit_mode_of_operation = { - fields = { - 'set_stack_size', - 'read_hand_contents', - 'none', - 'set_filters', - 'enable_disable' - } - }, - hand_read_mode = {fields = {'hold', 'pulse'}} - } - }, - lamp = {fields = {circuit_mode_of_operation = {fields = {'use_colors'}}}}, - logistic_container = { - fields = {circuit_mode_of_operation = {fields = {'set_requests', 'send_contents'}}} - }, - mining_drill = {fields = {resource_read_mode = {fields = {'this_miner', 'entire_patch'}}}}, - transport_belt = {fields = {content_read_mode = {fields = {'hold', 'pulse'}}}}, - type = { - fields = { - 'rail_chain_signal', - 'arithmetic_combinator', - 'constant_combinator', - 'lamp', - 'generic_on_off', - 'wall', - 'container', - 'programmable_speaker', - 'accumulator', - 'roboport', - 'inserter', - 'rail_signal', - 'storage_tank', - 'train_stop', - 'transport_belt', - 'decider_combinator', - 'mining_drill', - 'logistic_container' - } - } - } - }, - controllers = {fields = {'spectator', 'character', 'god', 'cutscene', 'editor', 'ghost'}}, - deconstruction_item = { - fields = { - entity_filter_mode = {fields = {'whitelist', 'blacklist'}}, - tile_filter_mode = {fields = {'whitelist', 'blacklist'}}, - tile_selection_mode = {fields = {'only', 'never', 'always', 'normal'}} - } - }, - difficulty = {fields = {'hard', 'easy', 'normal'}}, - difficulty_settings = { - fields = { - recipe_difficulty = {fields = {'normal', 'expensive'}}, - technology_difficulty = {fields = {'normal', 'expensive'}} - } - }, - direction = { - fields = {'southwest', 'north', 'northeast', 'west', 'east', 'northwest', 'south', 'southeast'} - }, - disconnect_reason = { - fields = { - 'desync_limit_reached', - 'banned', - 'cannot_keep_up', - 'switching_servers', - 'wrong_input', - 'quit', - 'kicked_and_deleted', - 'afk', - 'kicked', - 'dropped', - 'reconnect' - } - }, - distraction = {fields = {'by_damage', 'by_anything', 'by_enemy', 'none'}}, - entity_status = { - fields = { - 'no_power', - 'networks_connected', - 'item_ingredient_shortage', - 'normal', - 'not_connected_to_rail', - 'no_recipe', - 'low_power', - 'fluid_ingredient_shortage', - 'networks_disconnected', - 'low_input_fluid', - 'launching_rocket', - 'no_ammo', - 'no_ingredients', - 'cant_divide_segments', - 'full_output', - 'disabled_by_control_behavior', - 'charging', - 'low_temperature', - 'discharging', - 'no_modules_to_transmit', - 'waiting_for_space_in_destination', - 'working', - 'waiting_to_launch_rocket', - 'waiting_for_source_items', - 'turned_off_during_daytime', - 'recharging_after_power_outage', - 'preparing_rocket_for_launch', - 'out_of_logistic_network', - 'no_research_in_progress', - 'fully_charged', - 'disabled', - 'disabled_by_script', - 'no_minable_resources', - 'no_input_fluid', - 'missing_required_fluid', - 'missing_science_packs', - 'no_fuel', - 'marked_for_deconstruction' - } - }, - events = { - fields = { - 'on_picked_up_item', - 'on_entity_cloned', - 'on_player_main_inventory_changed', - 'on_entity_damaged', - 'on_pre_player_crafted_item', - 'on_player_joined_game', - 'on_gui_text_changed', - 'on_player_demoted', - 'on_unit_removed_from_group', - 'on_chunk_charted', - 'on_player_ammo_inventory_changed', - 'on_pre_ghost_deconstructed', - 'on_player_mined_tile', - 'on_player_pipette', - 'on_player_promoted', - 'on_player_crafted_item', - 'on_player_toggled_map_editor', - 'on_player_clicked_gps_tag', - 'on_entity_died', - 'on_chart_tag_added', - 'on_player_removed', - 'on_script_inventory_resized', - 'on_robot_mined_entity', - 'on_forces_merging', - 'on_research_started', - 'on_rocket_launch_ordered', - 'on_entity_destroyed', - 'on_player_setup_blueprint', - 'on_player_display_scale_changed', - 'on_post_entity_died', - 'on_train_changed_state', - 'on_biter_base_built', - 'on_player_trash_inventory_changed', - 'on_pre_script_inventory_resized', - 'on_console_chat', - 'on_gui_opened', - 'on_surface_cleared', - 'on_chart_tag_modified', - 'on_character_corpse_expired', - 'on_player_rotated_entity', - 'on_permission_group_deleted', - 'on_player_gun_inventory_changed', - 'on_console_command', - 'on_robot_mined_tile', - 'on_player_mined_item', - 'on_gui_selection_state_changed', - 'on_permission_group_added', - 'on_player_banned', - 'on_player_died', - 'on_gui_value_changed', - 'on_pre_chunk_deleted', - 'on_build_base_arrived', - 'on_resource_depleted', - 'on_player_changed_surface', - 'on_cancelled_upgrade', - 'on_land_mine_armed', - 'on_trigger_fired_artillery', - 'on_player_used_capsule', - 'on_chunk_generated', - 'on_entity_renamed', - 'on_player_cheat_mode_enabled', - 'on_player_display_resolution_changed', - 'on_difficulty_settings_changed', - 'on_surface_renamed', - 'on_permission_string_imported', - 'on_player_deconstructed_area', - 'on_player_placed_equipment', - 'on_player_alt_selected_area', - 'on_player_built_tile', - 'on_player_repaired_entity', - 'on_area_cloned', - 'on_player_changed_position', - 'on_force_reset', - 'on_lua_shortcut', - 'on_pre_surface_deleted', - 'on_mod_item_opened', - 'on_player_unmuted', - 'on_ai_command_completed', - 'on_sector_scanned', - 'on_entity_spawned', - 'on_player_fast_transferred', - 'on_player_left_game', - 'on_gui_selected_tab_changed', - 'on_gui_switch_state_changed', - 'on_force_friends_changed', - 'on_player_driving_changed_state', - 'on_player_cheat_mode_disabled', - 'on_entity_settings_pasted', - 'on_robot_pre_mined', - 'on_player_cancelled_crafting', - 'on_gui_closed', - 'on_gui_click', - 'on_technology_effects_reset', - 'script_raised_set_tiles', - 'on_player_configured_spider_remote', - 'on_chunk_deleted', - 'script_raised_revive', - 'script_raised_destroy', - 'script_raised_built', - 'on_unit_group_finished_gathering', - 'on_player_muted', - 'on_script_trigger_effect', - 'on_surface_deleted', - 'on_built_entity', - 'on_unit_added_to_group', - 'on_trigger_created_entity', - 'on_train_schedule_changed', - 'on_unit_group_created', - 'on_tick', - 'on_surface_imported', - 'on_surface_created', - 'on_player_removed_equipment', - 'on_cancelled_deconstruction', - 'on_player_configured_blueprint', - 'on_string_translated', - 'on_spider_command_completed', - 'on_selected_entity_changed', - 'on_brush_cloned', - 'on_train_created', - 'on_player_changed_force', - 'on_player_kicked', - 'on_runtime_mod_setting_changed', - 'on_rocket_launched', - 'on_gui_confirmed', - 'on_pre_player_mined_item', - 'on_robot_mined', - 'on_game_created_from_scenario', - 'on_player_toggled_alt_mode', - 'on_pre_player_died', - 'on_pre_permission_group_deleted', - 'on_robot_exploded_cliff', - 'on_robot_built_tile', - 'on_robot_built_entity', - 'on_player_armor_inventory_changed', - 'on_research_finished', - 'on_pre_surface_cleared', - 'on_pre_robot_exploded_cliff', - 'on_pre_player_toggled_map_editor', - 'on_permission_group_edited', - 'on_pre_player_removed', - 'on_force_created', - 'on_market_item_purchased', - 'on_pre_permission_string_imported', - 'on_pre_entity_settings_pasted', - 'on_player_selected_area', - 'on_player_used_spider_remote', - 'on_player_unbanned', - 'on_player_set_quick_bar_slot', - 'on_cutscene_cancelled', - 'on_pre_build', - 'on_player_respawned', - 'on_player_mined_entity', - 'on_player_flushed_fluid', - 'on_gui_elem_changed', - 'on_chart_tag_removed', - 'on_player_cursor_stack_changed', - 'on_cutscene_waypoint_reached', - 'on_player_created', - 'on_script_path_request_finished', - 'on_pre_player_left_game', - 'on_marked_for_upgrade', - 'on_combat_robot_expired', - 'on_marked_for_deconstruction', - 'on_gui_location_changed', - 'on_gui_checked_state_changed', - 'on_forces_merged', - 'on_force_cease_fire_changed', - 'on_player_dropped_item' - } - }, - flow_precision_index = { - fields = { - 'two_hundred_fifty_hours', - 'ten_minutes', - 'ten_hours', - 'one_minute', - 'one_thousand_hours', - 'fifty_hours', - 'one_hour', - 'one_second' - } - }, - group_state = { - fields = { - 'attacking_distraction', - 'attacking_target', - 'finished', - 'gathering', - 'moving', - 'wander_in_group', - 'pathfinding' - } - }, - gui_type = { - fields = { - 'entity', - 'bonus', - 'blueprint_library', - 'achievement', - 'item', - 'server_management', - 'permissions', - 'research', - 'custom', - 'equipment', - 'controller', - 'tutorials', - 'trains', - 'tile', - 'production', - 'player_management', - 'other_player', - 'none', - 'logistic' - } - }, - input_action = { - fields = { - 'build_item', - 'change_blueprint_book_record_label', - 'change_single_blueprint_record_label', - 'clear_selected_blueprint', - 'clear_selected_deconstruction_item', - 'set_single_blueprint_record_icon', - 'set_logistic_trash_filter_item', - 'drop_to_blueprint_book', - 'open_tutorials_gui', - 'upgrade_opened_blueprint', - 'create_blueprint_like', - 'clear_selected_upgrade_item', - 'open_kills_gui', - 'change_item_description', - 'fast_entity_transfer', - 'set_recipe_notifications', - 'quick_bar_set_slot', - 'alt_select_blueprint_entities', - 'change_decider_combinator_parameters', - 'inventory_split', - 'connect_rolling_stock', - 'gui_confirmed', - 'gui_value_changed', - 'set_logistic_filter_item', - 'setup_single_blueprint_record', - 'set_entity_energy_property', - 'stop_building_by_moving', - 'set_signal', - 'toggle_personal_logistic_requests', - 'grab_blueprint_record', - 'stack_split', - 'undo', - 'set_entity_logistic_trash_filter_item', - 'switch_constant_combinator_state', - 'export_blueprint', - 'toggle_enable_vehicle_logistics_while_moving', - 'copy', - 'launch_rocket', - 'copy_opened_blueprint', - 'activate_cut', - 'set_car_weapons_control', - 'delete_permission_group', - 'use_artillery_remote', - 'copy_entity_settings', - 'open_mod_item', - 'open_parent_of_opened_item', - 'set_flat_controller_gui', - 'set_infinity_container_filter_item', - 'open_gui', - 'go_to_train_station', - 'cancel_deconstruct', - 'open_blueprint_library_gui', - 'set_vehicle_automatic_targeting_parameters', - 'change_riding_state', - 'copy_opened_item', - 'upgrade_opened_blueprint_by_record', - 'gui_selection_state_changed', - 'deconstruct', - 'craft', - 'reset_item', - 'open_technology_gui', - 'change_arithmetic_combinator_parameters', - 'cancel_upgrade', - 'map_editor_action', - 'cursor_transfer', - 'cancel_craft', - 'change_picking_state', - 'set_inventory_bar', - 'gui_selected_tab_changed', - 'open_logistic_gui', - 'cursor_split', - 'cycle_blueprint_book_backwards', - 'destroy_opened_item', - 'set_circuit_condition', - 'open_bonus_gui', - 'select_next_valid_gun', - 'change_multiplayer_config', - 'delete_blueprint_record', - 'change_programmable_speaker_circuit_parameters', - 'gui_click', - 'inventory_transfer', - 'open_production_gui', - 'wire_dragging', - 'upgrade_opened_blueprint_by_item', - 'open_item', - 'open_tips_and_tricks_gui', - 'rotate_entity', - 'set_linked_container_link_i_d', - 'change_item_label', - 'toggle_show_entity_info', - 'flush_opened_entity_fluid', - 'import_blueprint_string', - 'toggle_map_editor', - 'change_train_wait_condition_data', - 'take_equipment', - 'toggle_driving', - 'select_item', - 'alt_select_area', - 'change_active_quick_bar', - 'build_rail', - 'gui_elem_changed', - 'change_programmable_speaker_alert_parameters', - 'toggle_entity_logistic_requests', - 'disconnect_rolling_stock', - 'set_player_color', - 'set_splitter_priority', - 'switch_to_rename_stop_gui', - 'switch_power_switch_state', - 'reset_assembling_machine', - 'add_permission_group', - 'open_current_vehicle_gui', - 'open_blueprint_record', - 'switch_connect_to_logistic_network', - 'custom_input', - 'add_train_station', - 'reassign_blueprint', - 'activate_copy', - 'start_research', - 'drag_train_wait_condition', - 'start_repair', - 'set_circuit_mode_of_operation', - 'change_active_item_group_for_filters', - 'edit_permission_group', - 'use_item', - 'spawn_item', - 'smart_pipette', - 'setup_blueprint', - 'edit_custom_tag', - 'setup_assembling_machine', - 'build', - 'import_blueprints_filtered', - 'set_heat_interface_mode', - 'set_logistic_filter_signal', - 'begin_mining', - 'set_trains_limit', - 'set_train_stopped', - 'set_research_finished_stops_game', - 'set_inserter_max_stack_size', - 'translate_string', - 'set_request_from_buffers', - 'set_infinity_pipe_filter', - 'set_infinity_container_remove_unfiltered_items', - 'set_heat_interface_temperature', - 'set_filter', - 'set_entity_color', - 'cancel_new_blueprint', - 'select_tile_slot', - 'set_deconstruction_item_tile_selection_mode', - 'activate_paste', - 'alternative_copy', - 'gui_location_changed', - 'gui_switch_state_changed', - 'set_controller_logistic_trash_filter_item', - 'set_behavior_mode', - 'set_autosort_inventory', - 'set_auto_launch_rocket', - 'send_spidertron', - 'change_shooting_state', - 'set_deconstruction_item_trees_and_rocks_only', - 'select_mapper_slot', - 'toggle_deconstruction_item_tile_filter_mode', - 'drop_item', - 'select_blueprint_entities', - 'select_area', - 'upgrade', - 'remove_train_station', - 'remove_cables', - 'start_walking', - 'quick_bar_set_selected_page', - 'change_active_character_tab', - 'paste_entity_settings', - 'begin_mining_terrain', - 'quick_bar_pick_slot', - 'stack_transfer', - 'lua_shortcut', - 'drop_blueprint_record', - 'open_trains_gui', - 'drag_train_schedule', - 'toggle_equipment_movement_bonus', - 'cycle_blueprint_book_forwards', - 'change_active_item_group_for_crafting', - 'build_terrain', - 'market_offer', - 'change_entity_label', - 'place_equipment', - 'write_to_console', - 'open_equipment', - 'delete_custom_tag', - 'clear_cursor', - 'switch_inserter_filter_mode_state', - 'open_character_gui', - 'delete_blueprint_library', - 'open_achievements_gui', - 'mod_settings_changed', - 'import_permissions_string', - 'toggle_personal_roboport', - 'import_blueprint', - 'gui_text_changed', - 'toggle_deconstruction_item_entity_filter_mode', - 'admin_action', - 'gui_checked_state_changed', - 'flush_opened_entity_specific_fluid', - 'change_train_wait_condition', - 'fast_entity_split', - 'destroy_item', - 'cancel_research', - 'edit_blueprint_tool_preview', - 'select_entity_slot', - 'open_train_gui', - 'open_train_station_gui', - 'change_train_stop_station', - 'change_programmable_speaker_parameters', - 'change_blueprint_record_label', - 'cycle_blueprint_backwards', - 'cycle_blueprint_forwards', - 'upgrade_open_blueprint' - } - }, - inventory = { - fields = { - 'car_ammo', - 'furnace_result', - 'furnace_source', - 'character_ammo', - 'spider_trunk', - 'fuel', - 'character_trash', - 'artillery_wagon_ammo', - 'robot_repair', - 'rocket_silo_rocket', - 'beacon_modules', - 'car_trunk', - 'spider_trash', - 'chest', - 'character_corpse', - 'mining_drill_modules', - 'rocket_silo_result', - 'turret_ammo', - 'editor_ammo', - 'character_armor', - 'assembling_machine_input', - 'assembling_machine_output', - 'lab_modules', - 'rocket', - 'robot_cargo', - 'burnt_result', - 'assembling_machine_modules', - 'roboport_robot', - 'artillery_turret_ammo', - 'roboport_material', - 'spider_ammo', - 'lab_input', - 'item_main', - 'god_main', - 'editor_guns', - 'furnace_modules', - 'editor_main', - 'character_main', - 'editor_armor', - 'character_vehicle', - 'character_guns', - 'cargo_wagon' - } - }, - lightcolor = {other_fields = true}, - logistic_member_index = { - fields = { - 'character_provider', - 'character_storage', - 'vehicle_storage', - 'generic_on_off_behavior', - 'logistic_container', - 'character_requester' - } - }, - logistic_mode = { - fields = {'passive_provider', 'active_provider', 'requester', 'storage', 'buffer', 'none'} - }, - mouse_button_type = {fields = {'left', 'middle', 'right', 'none'}}, - rail_connection_direction = {fields = {'left', 'straight', 'right', 'none'}}, - rail_direction = {fields = {'back', 'front'}}, - relative_gui_position = {fields = {'bottom', 'top', 'left', 'right'}}, - relative_gui_type = { - fields = { - 'blueprint_library_gui', - 'item_with_inventory_gui', - 'logistic_gui', - 'generic_on_off_entity_gui', - 'admin_gui', - 'spider_vehicle_gui', - 'bonus_gui', - 'programmable_speaker_gui', - 'upgrade_item_gui', - 'power_switch_gui', - 'assembling_machine_select_recipe_gui', - 'equipment_grid_gui', - 'blueprint_setup_gui', - 'constant_combinator_gui', - 'trains_gui', - 'controller_gui', - 'tile_variations_gui', - 'train_stop_gui', - 'wall_gui', - 'deconstruction_item_gui', - 'storage_tank_gui', - 'splitter_gui', - 'standalone_character_gui', - 'decider_combinator_gui', - 'mining_drill_gui', - 'additional_entity_info_gui', - 'server_config_gui', - 'rocket_silo_gui', - 'roboport_gui', - 'infinity_pipe_gui', - 'resource_entity_gui', - 'beacon_gui', - 'rename_stop_gui', - 'reactor_gui', - 'rail_signal_gui', - 'rail_chain_signal_gui', - 'inserter_gui', - 'arithmetic_combinator_gui', - 'assembling_machine_gui', - 'train_gui', - 'burner_equipment_gui', - 'production_gui', - 'pipe_gui', - 'permissions_gui', - 'loader_gui', - 'electric_energy_interface_gui', - 'transport_belt_gui', - 'furnace_gui', - 'other_player_gui', - 'lab_gui', - 'armor_gui', - 'heat_interface_gui', - 'achievement_gui', - 'linked_container_gui', - 'blueprint_book_gui', - 'lamp_gui', - 'electric_network_gui', - 'market_gui', - 'accumulator_gui', - 'entity_with_energy_source_gui', - 'container_gui', - 'car_gui', - 'entity_variations_gui' - } - }, - render_mode = {fields = {'chart_zoomed_in', 'game', 'chart'}}, - rich_text_setting = {fields = {'disabled', 'enabled', 'highlight'}}, - riding = { - fields = { - acceleration = {fields = {'reversing', 'accelerating', 'nothing', 'braking'}}, - direction = {fields = {'left', 'straight', 'right'}} - } - }, - shooting = {fields = {'shooting_selected', 'not_shooting', 'shooting_enemies'}}, - signal_state = {fields = {'reserved_by_circuit_network', 'reserved', 'closed', 'open'}}, - time = {fields = {'hour', 'week', 'year', 'month', 'minute', 'second', 'day'}}, - train_state = { - fields = { - 'no_path', - 'manual_control', - 'manual_control_stop', - 'on_the_path', - 'wait_station', - 'no_schedule', - 'wait_signal', - 'arrive_station', - 'arrive_signal', - 'path_lost' - } - }, - transport_line = { - fields = { - 'right_line', - 'left_split_line', - 'left_underground_line', - 'secondary_left_split_line', - 'secondary_right_split_line', - 'secondary_right_line', - 'secondary_left_line', - 'right_underground_line', - 'left_line', - 'right_split_line' - } - }, - wire_connection_id = {fields = {'power_switch_right', 'power_switch_left', 'electric_pole'}}, - wire_type = {fields = {'copper', 'green', 'red'}} - } - } - } -} - --)) - ---[[ Options - "ignore", "std", "globals", "unused_args", "self", "compat", "global", "unused", "redefined", - "unused_secondaries", "allow_defined", "allow_defined_top", "module", - "read_globals", "new_globals", "new_read_globals", "enable", "only", "not_globals", - "max_line_length", "max_code_line_length", "max_string_line_length", "max_comment_line_length", - "max_cyclomatic_complexity" ---]] - ---[[ Warnings list - -- 011 A syntax error. - -- 021 An invalid inline option. - -- 022 An unpaired inline push directive. - -- 023 An unpaired inline pop directive. - -- 111 Setting an undefined global variable. - -- 112 Mutating an undefined global variable. - -- 113 Accessing an undefined global variable. - -- 121 Setting a read-only global variable. - -- 122 Setting a read-only field of a global variable. - -- 131 Unused implicitly defined global variable. - -- 142 Setting an undefined field of a global variable. - -- 143 Accessing an undefined field of a global variable. - -- 211 Unused local variable. - -- 212 Unused argument. - -- 213 Unused loop variable. - -- 221 Local variable is accessed but never set. - -- 231 Local variable is set but never accessed. - -- 232 An argument is set but never accessed. - -- 233 Loop variable is set but never accessed. - -- 241 Local variable is mutated but never accessed. - -- 311 Value assigned to a local variable is unused. - -- 312 Value of an argument is unused. - -- 313 Value of a loop variable is unused. - -- 314 Value of a field in a table literal is unused. - -- 321 Accessing uninitialized local variable. - -- 331 Value assigned to a local variable is mutated but never accessed. - -- 341 Mutating uninitialized local variable. - -- 411 Redefining a local variable. - -- 412 Redefining an argument. - -- 413 Redefining a loop variable. - -- 421 Shadowing a local variable. - -- 422 Shadowing an argument. - -- 423 Shadowing a loop variable. - -- 431 Shadowing an upvalue. - -- 432 Shadowing an upvalue argument. - -- 433 Shadowing an upvalue loop variable. - -- 511 Unreachable code. - -- 512 Loop can be executed at most once. - -- 521 Unused label. - -- 531 Left-hand side of an assignment is too short. - -- 532 Left-hand side of an assignment is too long. - -- 541 An empty do end block. - -- 542 An empty if branch. - -- 551 An empty statement. - -- 611 A line consists of nothing but whitespace. - -- 612 A line contains trailing whitespace. - -- 613 Trailing whitespace in a string. - -- 614 Trailing whitespace in a comment. - -- 621 Inconsistent indentation (SPACE followed by TAB). - -- 631 Line is too long. ---]]