commit 160a1ffbc17a309d0c0b1ffb388ec34039275454 Author: David Skrundz Date: Sun Sep 15 01:45:35 2024 -0600 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c4c4ffc --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.zip diff --git a/.vscode/.lua-format b/.vscode/.lua-format new file mode 100644 index 0000000..c729fb2 --- /dev/null +++ b/.vscode/.lua-format @@ -0,0 +1,33 @@ +column_limit: 100 +indent_width: 2 +use_tab: false +tab_width: 4 +continuation_indent_width: 4 +keep_simple_control_block_one_line: false +keep_simple_function_one_line: false +align_args: true +break_after_functioncall_lp: false +break_before_functioncall_rp: false +align_parameter: true +chop_down_parameter: true +break_after_functiondef_lp: true +break_before_functiondef_rp: true +align_table_field: true +break_after_table_lb: true +break_before_table_rb: true +chop_down_table: false +chop_down_kv_table: true +column_table_limit: 100 +column_table_limit_kv: 100 +table_sep: "," +extra_sep_at_table_end: true +break_after_operator: false +single_quote_to_double_quote: true +double_quote_to_single_quote: false +spaces_before_call: 1 +spaces_inside_functiondef_parens: false +spaces_inside_functioncall_parens: false +spaces_inside_table_braces: false +spaces_around_equals_in_field: true +line_breaks_after_function_body: 1 +line_separator: input diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..9ac1454 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "koihik.vscode-lua-format", + ], +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..3a7a685 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + "editor.detectIndentation": false, + "editor.tabSize": 4, + "editor.insertSpaces": false, + "[lua]": { + "editor.detectIndentation": false, + "editor.tabSize": 2, + "editor.insertSpaces": true, + }, + "vscode-lua-format.configPath": ".vscode/.lua-format" +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..2f4b83c --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,6 @@ +How to Contribute +================= + +We'd love to accept your patches and contributions to this project. +We just need you to follow the Contributor License Agreement outlined +in the latest v0.0.x of https://github.com/Skrunix/license diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..161d3b0 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,7 @@ +Skrunix Software License +======================== + +Permission to use, copy, modify, and/or distribute this software is +outlined in the latest v0.0.x of https://github.com/Skrunix/license + +THE SOFTWARE IS PROVIDED "AS IS" diff --git a/README.md b/README.md new file mode 100644 index 0000000..aa899cd --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# Baseless Mod + +Defines missing prototypes required to launch the game + +--- + +## Folder structure + +- `baseless` - shared constants +- `prototypes` - constructors mirroring [https://lua-api.factorio.com/latest/tree.html](https://lua-api.factorio.com/latest/tree.html) diff --git a/baseless/_baseless.lua b/baseless/_baseless.lua new file mode 100644 index 0000000..f1b18d5 --- /dev/null +++ b/baseless/_baseless.lua @@ -0,0 +1,9 @@ +local Baseless = {} + +require("baseless.data")(Baseless) +require("baseless.graphics")(Baseless) +require("baseless.logging")(Baseless) +require("baseless.register")(Baseless) +require("baseless.sound")(Baseless) + +return Baseless diff --git a/baseless/data.lua b/baseless/data.lua new file mode 100644 index 0000000..fc802a7 --- /dev/null +++ b/baseless/data.lua @@ -0,0 +1,148 @@ +return function(Baseless) + Baseless.Data = {} + + Baseless.Data.array = {} + Baseless.Data.bool = false + Baseless.Data.double = 0.0 + Baseless.Data.float = 0.0 + Baseless.Data.int16 = 0 + Baseless.Data.uint16 = 0 + Baseless.Data.uint32 = 0 + Baseless.Data.uint8 = 0 + + Baseless.Data.Cyclic = true + Baseless.Data.DirectionCount = Baseless.Data.uint32 + 1 + Baseless.Data.double_positive = Baseless.Data.double + 1 + Baseless.Data.float_positive = Baseless.Data.float + 1 + Baseless.Data.ItemCountType = Baseless.Data.uint32 + Baseless.Data.ItemStackIndex = Baseless.Data.uint16 + Baseless.Data.MinDamageInterval = Baseless.Data.uint32 + 1 + Baseless.Data.MinItemCount = Baseless.Data.ItemCountType + 1 + Baseless.Data.MinItemCount = Baseless.Data.uint32 + 1 + Baseless.Data.MinItemStack = Baseless.Data.ItemStackIndex + 1 + Baseless.Data.MinSpriteSize = Baseless.Data.int16 + 1 + Baseless.Data.uint32_positive = Baseless.Data.uint32 + 1 + + Baseless.Data.BoilerFire = {} + Baseless.Data.BoilerFireGlow = {} + Baseless.Data.BoundingBox = {{-1, -1}, {1, 1}} + Baseless.Data.CollisionMask = {} + Baseless.Data.Color = {} + Baseless.Data.DaytimeColorLookupTable = {{Baseless.Data.double, "identity"}} + Baseless.Data.Effect = {} + Baseless.Data.Energy = "1W" + Baseless.Data.FluidBox = {pipe_connections = {}} + Baseless.Data.ModuleSpecification = {} + Baseless.Data.NonzeroVector = {1, 1} + Baseless.Data.RealOrientation = Baseless.Data.float + Baseless.Data.SelectionMode = "nothing" + Baseless.Data.SelectionType = "not-allowed" + Baseless.Data.SpeechBubbleStyle = "compilatron_speech_bubble" + Baseless.Data.Vector = {0, 0} + Baseless.Data.Vector_negative = {-1, -1} + Baseless.Data.Vector_positive = {1, 1} + Baseless.Data.WirePosition = {} + + Baseless.Data.AmmoCategory = "baseless-ammo-category" + Baseless.Data.CurvedRailEntity = "baseless-curved-rail" + Baseless.Data.DamageType = "baseless-damage-type" + Baseless.Data.EquipmentType = "baseless-equipment-category" + Baseless.Data.Fluid = "baseless-fluid" + Baseless.Data.FuelType = "baseless-fuel-category" + Baseless.Data.Gun = "baseless-gun" + Baseless.Data.ItemGroup = "baseless-item-group" + Baseless.Data.ItemSubGroup = "baseless-item-subgroup" + Baseless.Data.ModuleCategory = "baseless-module-category" + Baseless.Data.Particle = "baseless-optimized-particle" + Baseless.Data.RailPlanner = "baseless-rail-planner" + Baseless.Data.RecipeCategory = "baseless-recipe-category" + Baseless.Data.ResourceType = "baseless-resource-category" + Baseless.Data.RocketEntity = "baseless-rocket-silo-rocket" + Baseless.Data.SpiderLeg = "baseless-spider-leg" + Baseless.Data.StraightRailEntity = "baseless-straight-rail" + Baseless.Data.UnitEntity = "baseless-unit" + + Baseless.Data.AmmoType = {category = Baseless.Data.AmmoCategory} + Baseless.Data.ElectricUsagePriority = "tertiary" + Baseless.Data.ElectricEnergySource = {usage_priority = Baseless.Data.ElectricUsagePriority} + Baseless.Data.BurnerEnergySource = { + type = "burner", + fuel_inventory_size = Baseless.Data.ItemStackIndex, + fuel_category = Baseless.Data.FuelType, + } + Baseless.Data.VoidEnergySource = {type = "void"} + Baseless.Data.WireConnectionPoint = { + wire = Baseless.Data.WirePosition, + shadow = Baseless.Data.WirePosition, + } + Baseless.Data.BeamAttackParameters = { + type = "beam", + range = Baseless.Data.float, + cooldown = Baseless.Data.float, + ammo_type = Baseless.Data.AmmoType, + } + Baseless.Data.StreamAttackParameters = { + type = "stream", + range = Baseless.Data.float, + cooldown = Baseless.Data.float, + ammo_type = Baseless.Data.AmmoType, + } + Baseless.Data.DamagePrototype = {amount = Baseless.Data.float, type = Baseless.Data.DamageType} + Baseless.Data.HeatBuffer = { + max_temperature = 15, -- minimum 15 + specific_heat = Baseless.Data.Energy, + max_transfer = Baseless.Data.Energy, + } + Baseless.Data.MinableProperties = {mining_time = Baseless.Data.double_positive} + Baseless.Data.SpawnPoint = { + evolution_factor = Baseless.Data.double, + spawn_weight = Baseless.Data.double, + } + + Baseless.Data.BeltTileHeight = 1 -- must be 1 + Baseless.Data.BeltTileWidth = 1 -- must be 1 + Baseless.Data.fwd2bwd_ratio = 2 -- minimum 2 + Baseless.Data.LoaderTileHeight = 2 -- must be 2 + Baseless.Data.MaxLogisticSlots = 1 -- maximum 1 + Baseless.Data.SplitterTileWidth = 2 -- must be 2 + + Baseless.Data.ThrowCapsuleAction = { + type = "throw", + attack_parameters = Baseless.Data.BeamAttackParameters, + } + Baseless.Data.CombinatorOffsets = { + Baseless.Data.Vector, Baseless.Data.Vector, Baseless.Data.Vector, Baseless.Data.Vector, + } + Baseless.Data.CombinatorConnectionPoints = { + Baseless.Data.WireConnectionPoint, Baseless.Data.WireConnectionPoint, + Baseless.Data.WireConnectionPoint, Baseless.Data.WireConnectionPoint, + } + Baseless.Data.RollingStockCollisionBox = {{-0.1, -2}, {0.1, 2}} + Baseless.Data.ElectricPoleConnectionPoints = {Baseless.Data.WireConnectionPoint} + Baseless.Data.RailChainSignalBoxOffsets = { + Baseless.Data.Vector, Baseless.Data.Vector, Baseless.Data.Vector, Baseless.Data.Vector, + Baseless.Data.Vector, Baseless.Data.Vector, Baseless.Data.Vector, Baseless.Data.Vector, + } + Baseless.Data.ResourceStageCounts = {Baseless.Data.uint32} + Baseless.Data.SpiderLegSpecification = { + leg = Baseless.Data.SpiderLeg, + mount_position = Baseless.Data.Vector, + ground_position = Baseless.Data.Vector, + blocking_legs = Baseless.Data.array, + } + Baseless.Data.SpiderEnginePrototype = {legs = Baseless.Data.SpiderLegSpecification} + Baseless.Data.UnitSpawnDefinition = { + unit = Baseless.Data.UnitEntity, + spawn_points = {Baseless.Data.SpawnPoint}, + } + Baseless.Data.EquipmentShape = { + width = Baseless.Data.uint32, + height = Baseless.Data.uint32, + type = "full", + } + Baseless.Data.RailPlaceableBy = { + item = Baseless.Data.RailPlanner, + count = Baseless.Data.uint32_positive, + } + Baseless.Data.InserterCollisionBox = {{-0.1, -0.1}, {0.1, 0.1}} +end diff --git a/baseless/graphics.lua b/baseless/graphics.lua new file mode 100644 index 0000000..d227a5d --- /dev/null +++ b/baseless/graphics.lua @@ -0,0 +1,251 @@ +return function(Baseless) + Baseless.Graphics = {} + + Baseless.Graphics.Image = "__core__/graphics/empty.png" + Baseless.Graphics.Image32 = "__core__/graphics/too-far.png" + + Baseless.Graphics.Icon = {icon = Baseless.Graphics.Image, icon_size = Baseless.Data.MinSpriteSize} + + Baseless.Graphics.Sprite = { + filename = Baseless.Graphics.Image, + size = Baseless.Data.MinSpriteSize, + } + Baseless.Graphics.Sprite32 = { + filename = Baseless.Graphics.Image32, + size = Baseless.Data.MinSpriteSize, + } + + Baseless.Graphics.Animation = Baseless.Graphics.Sprite + Baseless.Graphics.Sprite4Way = Baseless.Graphics.Sprite + Baseless.Graphics.Animation4Way = {north = Baseless.Graphics.Sprite4Way} + Baseless.Graphics.Sprite8Way = {sheets = {Baseless.Graphics.Sprite}} + Baseless.Graphics.Sprite8Way32 = {sheets = {Baseless.Graphics.Sprite32}} + Baseless.Graphics.SpriteSheet = Baseless.Graphics.Sprite + Baseless.Graphics.SpriteSheet32 = Baseless.Graphics.Sprite32 + Baseless.Graphics.SpriteVariations = {sheet = Baseless.Graphics.SpriteSheet} + Baseless.Graphics.SpriteVariations32 = {sheet = Baseless.Graphics.SpriteSheet32} + Baseless.Graphics.RotatedSprite = table.merge_new(Baseless.Graphics.Sprite, { + direction_count = Baseless.Data.DirectionCount, + }) + Baseless.Graphics.RotatedSprite32 = table.merge_new(Baseless.Graphics.Sprite32, { + direction_count = Baseless.Data.DirectionCount, + }) + Baseless.Graphics.RotatedAnimation = Baseless.Graphics.RotatedSprite + Baseless.Graphics.RotatedAnimation32 = Baseless.Graphics.RotatedSprite32 + Baseless.Graphics.RotatedAnimation4Way = {north = Baseless.Graphics.RotatedSprite} + Baseless.Graphics.AnimationSheet = + table.merge_new(Baseless.Graphics.Sprite, {variation_count = 1}) + Baseless.Graphics.AnimationSheet32 = table.merge_new(Baseless.Graphics.Sprite32, + {variation_count = 1}) + Baseless.Graphics.AnimationVariations = {sheet = Baseless.Graphics.AnimationSheet} + + Baseless.Graphics.RailPieceLayers = { + metals = Baseless.Graphics.SpriteVariations32, + backplates = Baseless.Graphics.SpriteVariations32, + ties = Baseless.Graphics.SpriteVariations32, + stone_path = Baseless.Graphics.SpriteVariations32, + } + Baseless.Graphics.RailPictureSet = { + straight_rail_horizontal = Baseless.Graphics.RailPieceLayers, + straight_rail_vertical = Baseless.Graphics.RailPieceLayers, + straight_rail_diagonal_left_top = Baseless.Graphics.RailPieceLayers, + straight_rail_diagonal_right_top = Baseless.Graphics.RailPieceLayers, + straight_rail_diagonal_right_bottom = Baseless.Graphics.RailPieceLayers, + straight_rail_diagonal_left_bottom = Baseless.Graphics.RailPieceLayers, + curved_rail_vertical_left_top = Baseless.Graphics.RailPieceLayers, + curved_rail_vertical_right_top = Baseless.Graphics.RailPieceLayers, + curved_rail_vertical_right_bottom = Baseless.Graphics.RailPieceLayers, + curved_rail_vertical_left_bottom = Baseless.Graphics.RailPieceLayers, + curved_rail_horizontal_left_top = Baseless.Graphics.RailPieceLayers, + curved_rail_horizontal_right_top = Baseless.Graphics.RailPieceLayers, + curved_rail_horizontal_right_bottom = Baseless.Graphics.RailPieceLayers, + curved_rail_horizontal_left_bottom = Baseless.Graphics.RailPieceLayers, + rail_endings = Baseless.Graphics.Sprite8Way32, + } + Baseless.Graphics.BoilerStructure = { + north = Baseless.Graphics.Sprite, + south = Baseless.Graphics.Sprite, + east = Baseless.Graphics.Sprite, + west = Baseless.Graphics.Sprite, + } + Baseless.Graphics.CharacterRotatedAnimation = table.merge_new( + Baseless.Graphics.RotatedAnimation32, + {direction_count = 18}) + Baseless.Graphics.CharacterArmorAnimation = { + idle = Baseless.Graphics.CharacterRotatedAnimation, + idle_with_gun = Baseless.Graphics.CharacterRotatedAnimation, + running = Baseless.Graphics.CharacterRotatedAnimation, + running_with_gun = Baseless.Graphics.CharacterRotatedAnimation, + mining_with_tool = Baseless.Graphics.CharacterRotatedAnimation, + } + Baseless.Graphics.OrientedCliffPrototype = { + collision_bounding_box = Baseless.Data.BoundingBox, + pictures = Baseless.Graphics.SpriteVariations, + fill_volume = Baseless.Data.uint32, + } + Baseless.Graphics.OrientedCliffPrototypeSet = { + west_to_east = Baseless.Graphics.OrientedCliffPrototype, + north_to_south = Baseless.Graphics.OrientedCliffPrototype, + east_to_west = Baseless.Graphics.OrientedCliffPrototype, + south_to_north = Baseless.Graphics.OrientedCliffPrototype, + west_to_north = Baseless.Graphics.OrientedCliffPrototype, + north_to_east = Baseless.Graphics.OrientedCliffPrototype, + east_to_south = Baseless.Graphics.OrientedCliffPrototype, + south_to_west = Baseless.Graphics.OrientedCliffPrototype, + west_to_south = Baseless.Graphics.OrientedCliffPrototype, + north_to_west = Baseless.Graphics.OrientedCliffPrototype, + east_to_north = Baseless.Graphics.OrientedCliffPrototype, + south_to_east = Baseless.Graphics.OrientedCliffPrototype, + west_to_none = Baseless.Graphics.OrientedCliffPrototype, + none_to_east = Baseless.Graphics.OrientedCliffPrototype, + north_to_none = Baseless.Graphics.OrientedCliffPrototype, + none_to_south = Baseless.Graphics.OrientedCliffPrototype, + east_to_none = Baseless.Graphics.OrientedCliffPrototype, + none_to_west = Baseless.Graphics.OrientedCliffPrototype, + south_to_none = Baseless.Graphics.OrientedCliffPrototype, + none_to_north = Baseless.Graphics.OrientedCliffPrototype, + } + Baseless.Data.ConnectableEntityGraphics = { + single = Baseless.Graphics.SpriteVariations, + straight_vertical = Baseless.Graphics.SpriteVariations, + straight_horizontal = Baseless.Graphics.SpriteVariations, + corner_right_down = Baseless.Graphics.SpriteVariations, + corner_left_down = Baseless.Graphics.SpriteVariations, + corner_right_up = Baseless.Graphics.SpriteVariations, + corner_left_up = Baseless.Graphics.SpriteVariations, + t_up = Baseless.Graphics.SpriteVariations, + t_right = Baseless.Graphics.SpriteVariations, + t_down = Baseless.Graphics.SpriteVariations, + t_left = Baseless.Graphics.SpriteVariations, + ending_up = Baseless.Graphics.SpriteVariations, + ending_right = Baseless.Graphics.SpriteVariations, + ending_down = Baseless.Graphics.SpriteVariations, + ending_left = Baseless.Graphics.SpriteVariations, + cross = Baseless.Graphics.SpriteVariations, + } + Baseless.Graphics.PipePictures = { + straight_vertical_single = Baseless.Graphics.Sprite, + straight_vertical = Baseless.Graphics.Sprite, + straight_vertical_window = Baseless.Graphics.Sprite, + straight_horizontal = Baseless.Graphics.Sprite, + straight_horizontal_window = Baseless.Graphics.Sprite, + corner_up_right = Baseless.Graphics.Sprite, + corner_up_left = Baseless.Graphics.Sprite, + corner_down_right = Baseless.Graphics.Sprite, + corner_down_left = Baseless.Graphics.Sprite, + t_up = Baseless.Graphics.Sprite, + t_down = Baseless.Graphics.Sprite, + t_right = Baseless.Graphics.Sprite, + t_left = Baseless.Graphics.Sprite, + cross = Baseless.Graphics.Sprite, + ending_up = Baseless.Graphics.Sprite, + ending_down = Baseless.Graphics.Sprite, + ending_right = Baseless.Graphics.Sprite, + ending_left = Baseless.Graphics.Sprite, + horizontal_window_background = Baseless.Graphics.Sprite, + vertical_window_background = Baseless.Graphics.Sprite, + fluid_background = Baseless.Graphics.Sprite, + low_temperature_flow = Baseless.Graphics.Sprite, + middle_temperature_flow = Baseless.Graphics.Sprite, + high_temperature_flow = Baseless.Graphics.Sprite, + gas_flow = Baseless.Graphics.Animation, + } + Baseless.Graphics.TransportBeltAnimationSet = { + animation_set = Baseless.Graphics.RotatedAnimation, + east_index = 1, + west_index = 1, + north_index = 1, + south_index = 1, + starting_south_index = 1, + ending_south_index = 1, + starting_west_index = 1, + ending_west_index = 1, + starting_north_index = 1, + ending_north_index = 1, + starting_east_index = 1, + ending_east_index = 1, + + -- required by TransportBeltPrototype 'transport-belt' + east_to_north_index = 1, + north_to_east_index = 1, + west_to_north_index = 1, + north_to_west_index = 1, + south_to_east_index = 1, + east_to_south_index = 1, + south_to_west_index = 1, + west_to_south_index = 1, + } + Baseless.Graphics.LinkedBeltStructure = { + direction_in = Baseless.Graphics.Sprite4Way, + direction_out = Baseless.Graphics.Sprite4Way, + } + Baseless.Graphics.LoaderStructure = { + direction_in = Baseless.Graphics.Sprite4Way, + direction_out = Baseless.Graphics.Sprite4Way, + } + Baseless.Graphics.UndergroundBeltStructure = { + direction_in = Baseless.Graphics.Sprite4Way, + direction_out = Baseless.Graphics.Sprite4Way, + } + Baseless.Graphics.PipeToGroundPictures = { + down = Baseless.Graphics.Sprite, + up = Baseless.Graphics.Sprite, + left = Baseless.Graphics.Sprite, + right = Baseless.Graphics.Sprite, + } + Baseless.Graphics.SpiderLegGraphicsSet = {} + Baseless.Graphics.SpiderVehicleGraphicsSet = {} + Baseless.Graphics.StorageTankPictures = { + picture = Baseless.Graphics.Sprite4Way, + window_background = Baseless.Graphics.Sprite, + fluid_background = Baseless.Graphics.Sprite, + flow_sprite = Baseless.Graphics.Sprite, + gas_flow = Baseless.Graphics.Animation, + } + Baseless.Graphics.TransportBeltAnimationVariations = { + sheet = table.merge_new(Baseless.Graphics.AnimationSheet32, {variation_count = 7}), + } + Baseless.Graphics.TransportBeltConnectorFrame = { + frame_main = Baseless.Graphics.TransportBeltAnimationVariations, + frame_shadow = Baseless.Graphics.TransportBeltAnimationVariations, + frame_main_scanner = Baseless.Graphics.Animation, + frame_main_scanner_movement_speed = Baseless.Data.float, + frame_main_scanner_horizontal_start_shift = Baseless.Data.Vector, + frame_main_scanner_horizontal_end_shift = Baseless.Data.Vector, + frame_main_scanner_horizontal_y_scale = Baseless.Data.float, + frame_main_scanner_horizontal_rotation = Baseless.Data.RealOrientation, + frame_main_scanner_vertical_start_shift = Baseless.Data.Vector, + frame_main_scanner_vertical_end_shift = Baseless.Data.Vector, + frame_main_scanner_vertical_y_scale = Baseless.Data.float, + frame_main_scanner_vertical_rotation = Baseless.Data.RealOrientation, + frame_main_scanner_cross_horizontal_start_shift = Baseless.Data.Vector, + frame_main_scanner_cross_horizontal_end_shift = Baseless.Data.Vector, + frame_main_scanner_cross_horizontal_y_scale = Baseless.Data.float, + frame_main_scanner_cross_horizontal_rotation = Baseless.Data.RealOrientation, + frame_main_scanner_cross_vertical_start_shift = Baseless.Data.Vector, + frame_main_scanner_cross_vertical_end_shift = Baseless.Data.Vector, + frame_main_scanner_cross_vertical_y_scale = Baseless.Data.float, + frame_main_scanner_cross_vertical_rotation = Baseless.Data.RealOrientation, + frame_main_scanner_nw_ne = Baseless.Graphics.Animation, + frame_main_scanner_sw_se = Baseless.Graphics.Animation, + } + Baseless.Graphics.WallPictures = { + single = Baseless.Graphics.SpriteVariations, + straight_vertical = Baseless.Graphics.SpriteVariations, + straight_horizontal = Baseless.Graphics.SpriteVariations, + corner_right_down = Baseless.Graphics.SpriteVariations, + corner_left_down = Baseless.Graphics.SpriteVariations, + t_up = Baseless.Graphics.SpriteVariations, + ending_right = Baseless.Graphics.SpriteVariations, + ending_left = Baseless.Graphics.SpriteVariations, + } + Baseless.Graphics.TileTransitionSprite = { + count = 1, + picture = Baseless.Graphics.Image32, + size = Baseless.Data.MinSpriteSize, + } + Baseless.Graphics.Transitions = { + main = {Baseless.Graphics.TileTransitionSprite}, + empty_transitions = true, + } +end diff --git a/baseless/logging.lua b/baseless/logging.lua new file mode 100644 index 0000000..44a282b --- /dev/null +++ b/baseless/logging.lua @@ -0,0 +1,5 @@ +return function(Baseless) + Baseless.log = function(success, block, message) + log(std.log.checkmark(success) .. " [" .. block .. "] " .. serpent.line(message)) + end +end diff --git a/baseless/register.lua b/baseless/register.lua new file mode 100644 index 0000000..5e73e62 --- /dev/null +++ b/baseless/register.lua @@ -0,0 +1,17 @@ +return function(Baseless) + Baseless.Needs = {} + + Baseless.name_of = function(type, name) + return name or ("baseless-" .. type) + end + + Baseless.needs = function(type, name) + table.insert(Baseless.Needs, {type = type, name = name}) + end + + Baseless.needs_dependencies = function(dependencies) + for _, dependency in ipairs(dependencies or {}) do + Baseless.needs(dependency.type, Baseless.name_of(dependency.type, dependency.name)) + end + end +end diff --git a/baseless/sound.lua b/baseless/sound.lua new file mode 100644 index 0000000..b9f736b --- /dev/null +++ b/baseless/sound.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Sound = {filename = "__core__/sound/achievement-unlocked.ogg"} +end diff --git a/changelog.txt b/changelog.txt new file mode 100644 index 0000000..a6a2f17 --- /dev/null +++ b/changelog.txt @@ -0,0 +1,5 @@ +--------------------------------------------------------------------------------------------------- +Version: 1.1.0 +Date: 15.09.2024 + Major Features: + - Full rewrite supporting 1.1 diff --git a/data-final-fixes.lua b/data-final-fixes.lua new file mode 100644 index 0000000..684a2e4 --- /dev/null +++ b/data-final-fixes.lua @@ -0,0 +1,200 @@ +std.log.color = true + +baseless = require("baseless._baseless") +require("prototypes._prototype")(baseless) + +-- Required by name +baseless.needs("map-settings", "map-settings") +baseless.needs("recipe-category", "crafting") +baseless.needs("resource-category", "basic-solid") +baseless.needs("item-subgroup", "other") +baseless.needs("item-subgroup", "fluid") +baseless.needs("trigger-target-type", "ground-unit") +baseless.needs("equipment-grid", "small-equipment-grid") +baseless.needs("item", "copper-cable") +baseless.needs("item", "red-wire") +baseless.needs("item", "green-wire") +baseless.needs("virtual-signal", "signal-everything") +baseless.needs("virtual-signal", "signal-anything") +baseless.needs("virtual-signal", "signal-each") +baseless.needs("damage-type", "physical") +baseless.needs("damage-type", "impact") +baseless.needs("trivial-smoke", "smoke-building") + +-- Required by type +baseless.needs("ammo") +baseless.needs("armor") +baseless.needs("blueprint") +baseless.needs("blueprint-book") +baseless.needs("capsule") +baseless.needs("copy-paste-tool") +baseless.needs("deconstruction-item") +baseless.needs("item-with-entity-data") +baseless.needs("item-with-inventory") +baseless.needs("item-with-label") +baseless.needs("item-with-tags") +baseless.needs("module") +baseless.needs("rail-planner") +baseless.needs("repair-tool") +baseless.needs("selection-tool") +baseless.needs("spidertron-remote") +baseless.needs("tool") +baseless.needs("upgrade-item") +baseless.needs("accumulator") +baseless.needs("ammo-turret") +baseless.needs("arithmetic-combinator") +baseless.needs("arrow") +baseless.needs("artillery-flare") +baseless.needs("artillery-projectile") +baseless.needs("artillery-turret") +baseless.needs("artillery-wagon") +baseless.needs("assembling-machine") +baseless.needs("beacon") +baseless.needs("beam") +baseless.needs("boiler") +baseless.needs("burner-generator") +baseless.needs("car") +baseless.needs("cargo-wagon") +baseless.needs("character") +baseless.needs("character-corpse") +baseless.needs("cliff") +baseless.needs("combat-robot") +baseless.needs("constant-combinator") +baseless.needs("construction-robot") +baseless.needs("container") +baseless.needs("corpse") +baseless.needs("decider-combinator") +baseless.needs("deconstructible-tile-proxy") +baseless.needs("electric-energy-interface") +baseless.needs("electric-pole") +baseless.needs("electric-turret") +baseless.needs("entity-ghost") +baseless.needs("explosion") +baseless.needs("fire") +baseless.needs("fish") +baseless.needs("flame-thrower-explosion") +baseless.needs("fluid-turret") +baseless.needs("fluid-wagon") +baseless.needs("furnace") +baseless.needs("gate") +baseless.needs("generator") +baseless.needs("heat-interface") +baseless.needs("heat-pipe") +baseless.needs("highlight-box") +baseless.needs("infinity-container") +baseless.needs("infinity-pipe") +baseless.needs("inserter") +baseless.needs("item-entity") +baseless.needs("item-request-proxy") +baseless.needs("lab") +baseless.needs("lamp") +baseless.needs("land-mine") +baseless.needs("linked-belt") +baseless.needs("linked-container") +baseless.needs("loader") +baseless.needs("loader-1x1") +baseless.needs("locomotive") +baseless.needs("logistic-container") +baseless.needs("logistic-robot") +baseless.needs("market") +baseless.needs("mining-drill") +baseless.needs("offshore-pump") +baseless.needs("particle-source") +baseless.needs("pipe") +baseless.needs("pipe-to-ground") +baseless.needs("player-port") +baseless.needs("power-switch") +baseless.needs("programmable-speaker") +baseless.needs("projectile") +baseless.needs("pump") +baseless.needs("radar") +baseless.needs("rail-chain-signal") +baseless.needs("rail-remnants") +baseless.needs("rail-signal") +baseless.needs("reactor") +baseless.needs("resource") +baseless.needs("roboport") +baseless.needs("rocket-silo") +baseless.needs("rocket-silo-rocket-shadow") +baseless.needs("simple-entity") +baseless.needs("simple-entity-with-force") +baseless.needs("simple-entity-with-owner") +baseless.needs("smoke-with-trigger") +baseless.needs("solar-panel") +baseless.needs("speech-bubble") +baseless.needs("spider-vehicle") +baseless.needs("splitter") +baseless.needs("sticker") +baseless.needs("storage-tank") +baseless.needs("stream") +baseless.needs("tile-ghost") +baseless.needs("train-stop") +baseless.needs("transport-belt") +baseless.needs("tree") +baseless.needs("turret") +baseless.needs("underground-belt") +baseless.needs("unit-spawner") +baseless.needs("wall") +baseless.needs("active-defense-equipment") +baseless.needs("battery-equipment") +baseless.needs("belt-immunity-equipment") +baseless.needs("energy-shield-equipment") +baseless.needs("generator-equipment") +baseless.needs("movement-bonus-equipment") +baseless.needs("night-vision-equipment") +baseless.needs("roboport-equipment") +baseless.needs("solar-panel-equipment") + +-- Deprecated prototypes +baseless.needs("mining-tool", "dummy-steel-axe") +baseless.needs("leaf-particle", "leaf-particle-for-migration") +baseless.needs("particle", "particle-for-migration") +baseless.needs("smoke", "smoke-for-migration") + +local AddedCount = 0 +local AttemptCount = 0 +local BaselessHas = {} + +-- Requires at least one tile that is walkable and not minable +for _, tile in pairs(data.raw["tile"] or {}) do + if tile.minable == nil then + for _, mask in pairs(tile.collision_mask or {}) do + if mask == "ground-tile" then + goto after_tile + end + end + end +end +if true then + local block = baseless.Make["tile"](nil, {collision_mask = {"ground-tile"}}) + baseless.needs_dependencies(block.dependencies) + data:extend{block.prototype} +end +::after_tile:: + +local next = next +while next(baseless.Needs) ~= nil do + local requirement = table.remove(baseless.Needs) + local type = requirement.type + local name = requirement.name + + AttemptCount = AttemptCount + 1 + local HasID = type .. "-" .. baseless.name_of(type, name) + + if (data.raw[type] == nil) or (name and data.raw[type][name] == nil) then + AddedCount = AddedCount + 1 + local block = baseless.Make[type](name) + BaselessHas[HasID] = true + baseless.needs_dependencies(block.dependencies) + data:extend{block.prototype} + baseless.log(true, type, name) + else + if BaselessHas[HasID] == nil then + baseless.log(false, type, name) + else + AttemptCount = AttemptCount - 1 + end + end +end + +log("Added " .. AddedCount .. "/" .. AttemptCount .. " prototypes") diff --git a/info.json b/info.json new file mode 100644 index 0000000..23295ff --- /dev/null +++ b/info.json @@ -0,0 +1,14 @@ +{ + "name": "baseless", + "version": "1.1.0", + "title": "Baseless Mod", + "description": "Defines missing prototypes required to launch the game", + "author": "David Skrundz", + "contact": "david@skrundz.ca", + "homepage": "https://git.skrundz.dev/skrundztorio/baseless", + "factorio_version": "1.1", + "dependencies": [ + "!base", + "std" + ] +} diff --git a/package.py b/package.py new file mode 100755 index 0000000..65293d1 --- /dev/null +++ b/package.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python3 + +import json +import os +from zipfile import ZipFile + +modFiles = [ + "info.json", + "changelog.txt", + "thumbnail.png", + "LICENSE.md", + + "data-final-fixes.lua", +] +modFolders = [ + "baseless", + "prototypes", +] + +with open("info.json") as file: + modInfo = json.load(file) + +mod_name = modInfo["name"] +mod_version = modInfo["version"] +zipName = f"{mod_name}_{mod_version}" + +with ZipFile(f"{zipName}.zip", 'w') as modZip: + for file in modFiles: + modZip.write(file, arcname=f"{zipName}/{file}") + for folder in modFolders: + for root, dirs, files in os.walk(folder): + for file in files: + filePath = os.path.join(root, file) + archivePath = os.path.relpath(filePath, os.path.join(folder, '..')) + modZip.write(filePath, arcname=f"{zipName}/{archivePath}") diff --git a/prototypes/MapSettings.lua b/prototypes/MapSettings.lua new file mode 100644 index 0000000..c8bd91e --- /dev/null +++ b/prototypes/MapSettings.lua @@ -0,0 +1,135 @@ +return function(Baseless) + Baseless.Make.PollutionSettings = function() + return { + enabled = Baseless.Data.bool, + diffusion_ratio = Baseless.Data.double, + min_to_diffuse = Baseless.Data.double, + ageing = Baseless.Data.double, + expected_max_per_chunk = Baseless.Data.double, + min_to_show_per_chunk = Baseless.Data.double, + min_pollution_to_damage_trees = Baseless.Data.double, + pollution_with_max_forest_damage = Baseless.Data.double, + pollution_restored_per_tree_damage = Baseless.Data.double, + pollution_per_tree_damage = Baseless.Data.double, + max_pollution_to_restore_trees = Baseless.Data.double, + enemy_attack_pollution_consumption_modifier = Baseless.Data.double, + } + end + + Baseless.Make.StateSteeringSettings = function() + return { + radius = Baseless.Data.double, + separation_factor = Baseless.Data.double, + separation_force = Baseless.Data.double, + force_unit_fuzzy_goto_behavior = Baseless.Data.bool, + } + end + + Baseless.Make.SteeringSettings = function() + return { + default = Baseless.Make.StateSteeringSettings(), + moving = Baseless.Make.StateSteeringSettings(), + } + end + + Baseless.Make.EnemyEvolutionSettings = function() + return { + enabled = Baseless.Data.bool, + time_factor = Baseless.Data.double, + destroy_factor = Baseless.Data.double, + pollution_factor = Baseless.Data.double, + } + end + + Baseless.Make.EnemyExpansionSettings = function() + return { + enabled = Baseless.Data.bool, + max_expansion_distance = Baseless.Data.uint32, + friendly_base_influence_radius = Baseless.Data.uint32, + enemy_building_influence_radius = Baseless.Data.uint32, + building_coefficient = Baseless.Data.double, + other_base_coefficient = Baseless.Data.double, + neighbouring_chunk_coefficient = Baseless.Data.double, + neighbouring_base_chunk_coefficient = Baseless.Data.double, + max_colliding_tiles_coefficient = Baseless.Data.double, + settler_group_min_size = Baseless.Data.uint32, + settler_group_max_size = Baseless.Data.uint32, + min_expansion_cooldown = Baseless.Data.uint32, + max_expansion_cooldown = Baseless.Data.uint32, + } + end + + Baseless.Make.UnitGroupSettings = function() + return { + min_group_gathering_time = Baseless.Data.uint32, + max_group_gathering_time = Baseless.Data.uint32, + max_wait_time_for_late_members = Baseless.Data.uint32, + max_group_radius = Baseless.Data.double, + min_group_radius = Baseless.Data.double, + max_member_speedup_when_behind = Baseless.Data.double, + max_member_slowdown_when_ahead = Baseless.Data.double, + max_group_slowdown_factor = Baseless.Data.double, + max_group_member_fallback_factor = Baseless.Data.double, + member_disown_distance = Baseless.Data.double, + tick_tolerance_when_member_arrives = Baseless.Data.uint32, + max_gathering_unit_groups = Baseless.Data.uint32, + max_unit_group_size = Baseless.Data.uint32, + } + end + + Baseless.Make.PathFinderSettings = function() + return { + fwd2bwd_ratio = Baseless.Data.fwd2bwd_ratio, + goal_pressure_ratio = Baseless.Data.double, + use_path_cache = Baseless.Data.bool, + max_steps_worked_per_tick = Baseless.Data.double, + max_work_done_per_tick = Baseless.Data.uint32, + short_cache_size = Baseless.Data.uint32, + long_cache_size = Baseless.Data.uint32, + short_cache_min_cacheable_distance = Baseless.Data.double, + short_cache_min_algo_steps_to_cache = Baseless.Data.uint32, + long_cache_min_cacheable_distance = Baseless.Data.double, + cache_max_connect_to_cache_steps_multiplier = Baseless.Data.uint32, + cache_accept_path_start_distance_ratio = Baseless.Data.double, + cache_accept_path_end_distance_ratio = Baseless.Data.double, + negative_cache_accept_path_start_distance_ratio = Baseless.Data.double, + negative_cache_accept_path_end_distance_ratio = Baseless.Data.double, + cache_path_start_distance_rating_multiplier = Baseless.Data.double, + cache_path_end_distance_rating_multiplier = Baseless.Data.double, + stale_enemy_with_same_destination_collision_penalty = Baseless.Data.double, + ignore_moving_enemy_collision_distance = Baseless.Data.double, + enemy_with_different_destination_collision_penalty = Baseless.Data.double, + general_entity_collision_penalty = Baseless.Data.double, + general_entity_subsequent_collision_penalty = Baseless.Data.double, + extended_collision_penalty = Baseless.Data.double, + max_clients_to_accept_any_new_request = Baseless.Data.uint32, + max_clients_to_accept_short_new_request = Baseless.Data.uint32, + direct_distance_to_consider_short_request = Baseless.Data.uint32, + short_request_max_steps = Baseless.Data.uint32, + short_request_ratio = Baseless.Data.double, + min_steps_to_check_path_find_termination = Baseless.Data.uint32, + start_to_goal_cost_multiplier_to_terminate_path_find = Baseless.Data.double, + overload_levels = Baseless.Data.array, + overload_multipliers = Baseless.Data.array, + negative_path_cache_delay_interval = Baseless.Data.double, + } + end + + Baseless.Make.DifficultySettings = function() + return { + recipe_difficulty = defines.difficulty_settings.recipe_difficulty.normal, + technology_difficulty = defines.difficulty_settings.technology_difficulty.normal, + } + end + + Baseless.Make.Gen("_Proto", "map-settings", { + pollution = Baseless.Make.PollutionSettings(), + steering = Baseless.Make.SteeringSettings(), + enemy_evolution = Baseless.Make.EnemyEvolutionSettings(), + enemy_expansion = Baseless.Make.EnemyExpansionSettings(), + unit_group = Baseless.Make.UnitGroupSettings(), + path_finder = Baseless.Make.PathFinderSettings(), + max_failed_behavior_count = Baseless.Data.uint32, + difficulty_settings = Baseless.Make.DifficultySettings(), + }) +end diff --git a/prototypes/PrototypeBase.lua b/prototypes/PrototypeBase.lua new file mode 100644 index 0000000..f48f1e4 --- /dev/null +++ b/prototypes/PrototypeBase.lua @@ -0,0 +1,22 @@ +return function(Baseless) + Baseless.Make.Def("_Proto", "PrototypeBase") + + require("prototypes.PrototypeBase.AmmoCategory")(Baseless) + require("prototypes.PrototypeBase.DamageType")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype")(Baseless) + require("prototypes.PrototypeBase.EquipmentCategory")(Baseless) + require("prototypes.PrototypeBase.EquipmentGridPrototype")(Baseless) + require("prototypes.PrototypeBase.EquipmentPrototype")(Baseless) + require("prototypes.PrototypeBase.FluidPrototype")(Baseless) + require("prototypes.PrototypeBase.FuelCategory")(Baseless) + require("prototypes.PrototypeBase.ItemGroup")(Baseless) + require("prototypes.PrototypeBase.ItemPrototype")(Baseless) + require("prototypes.PrototypeBase.ItemSubGroup")(Baseless) + require("prototypes.PrototypeBase.ModuleCategory")(Baseless) + require("prototypes.PrototypeBase.ParticlePrototype")(Baseless) + require("prototypes.PrototypeBase.RecipeCategory")(Baseless) + require("prototypes.PrototypeBase.ResourceCategory")(Baseless) + require("prototypes.PrototypeBase.TilePrototype")(Baseless) + require("prototypes.PrototypeBase.TrivialSmokePrototype")(Baseless) + require("prototypes.PrototypeBase.VirtualSignalPrototype")(Baseless) +end diff --git a/prototypes/PrototypeBase/AmmoCategory.lua b/prototypes/PrototypeBase/AmmoCategory.lua new file mode 100644 index 0000000..deaa25b --- /dev/null +++ b/prototypes/PrototypeBase/AmmoCategory.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("PrototypeBase", "ammo-category") +end diff --git a/prototypes/PrototypeBase/DamageType.lua b/prototypes/PrototypeBase/DamageType.lua new file mode 100644 index 0000000..af1c30f --- /dev/null +++ b/prototypes/PrototypeBase/DamageType.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("PrototypeBase", "damage-type") +end diff --git a/prototypes/PrototypeBase/EntityPrototype.lua b/prototypes/PrototypeBase/EntityPrototype.lua new file mode 100644 index 0000000..2e5f26a --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype.lua @@ -0,0 +1,32 @@ +return function(Baseless) + Baseless.Make.Def("PrototypeBase", "EntityPrototype") + + require("prototypes.PrototypeBase.EntityPrototype.ArrowPrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.ArtilleryFlarePrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.ArtilleryProjectilePrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.BeamPrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.CharacterCorpsePrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.CliffPrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.CorpsePrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.DeconstructibleTileProxyPrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.EntityGhostPrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.ExplosionPrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.FireFlamePrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.HighlightBoxEntityPrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.ItemEntityPrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.ItemRequestProxyPrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.ParticleSourcePrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.ProjectilePrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.ResourceEntityPrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.RocketSiloRocketPrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.RocketSiloRocketShadowPrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.SmokePrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.SpeechBubblePrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.StickerPrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.FluidStreamPrototype")(Baseless) + require("prototypes.PrototypeBase.EntityPrototype.TileGhostPrototype")(Baseless) + + -- Deprecated + require("prototypes.PrototypeBase.EntityPrototype.EntityParticlePrototype")(Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/ArrowPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/ArrowPrototype.lua new file mode 100644 index 0000000..4a8d09f --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/ArrowPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "arrow", {arrow_picture = Baseless.Graphics.Sprite}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/ArtilleryFlarePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/ArtilleryFlarePrototype.lua new file mode 100644 index 0000000..c8cfdf9 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/ArtilleryFlarePrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "artillery-flare", { + pictures = Baseless.Graphics.AnimationVariations, + life_time = Baseless.Data.uint16, + map_color = Baseless.Data.Color, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/ArtilleryProjectilePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/ArtilleryProjectilePrototype.lua new file mode 100644 index 0000000..44ed728 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/ArtilleryProjectilePrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "artillery-projectile", + {reveal_map = Baseless.Data.bool, map_color = Baseless.Data.Color}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/BeamPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/BeamPrototype.lua new file mode 100644 index 0000000..540a0d2 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/BeamPrototype.lua @@ -0,0 +1,9 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "beam", { + width = Baseless.Data.double, + damage_interval = Baseless.Data.MinDamageInterval, + head = Baseless.Graphics.Animation, + tail = Baseless.Graphics.Animation, + body = Baseless.Graphics.AnimationVariations, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/CharacterCorpsePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/CharacterCorpsePrototype.lua new file mode 100644 index 0000000..516a1f3 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/CharacterCorpsePrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "character-corpse", + {time_to_live = Baseless.Data.uint32, picture = Baseless.Graphics.Animation}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/CliffPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/CliffPrototype.lua new file mode 100644 index 0000000..c759c0c --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/CliffPrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "cliff", { + orientations = Baseless.Graphics.OrientedCliffPrototypeSet, + grid_size = Baseless.Data.NonzeroVector, + grid_offset = Baseless.Data.Vector, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/CorpsePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/CorpsePrototype.lua new file mode 100644 index 0000000..a32071d --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/CorpsePrototype.lua @@ -0,0 +1,6 @@ +return function(Baseless) + Baseless.Make.Def("EntityPrototype", "CorpsePrototype") + Baseless.Make.Gen("CorpsePrototype", "corpse") + + require("prototypes.PrototypeBase.EntityPrototype.CorpsePrototype.RailRemnantsPrototype")(Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/CorpsePrototype/RailRemnantsPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/CorpsePrototype/RailRemnantsPrototype.lua new file mode 100644 index 0000000..fe4b9a5 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/CorpsePrototype/RailRemnantsPrototype.lua @@ -0,0 +1,8 @@ +return function(Baseless) + Baseless.Make.Gen("CorpsePrototype", "rail-remnants", { + bending_type = "turn", + pictures = Baseless.Graphics.RailPictureSet, + secondary_collision_box = Baseless.Data.BoundingBox, + collision_box = Baseless.Data.BoundingBox, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/DeconstructibleTileProxyPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/DeconstructibleTileProxyPrototype.lua new file mode 100644 index 0000000..67ce9ec --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/DeconstructibleTileProxyPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "deconstructible-tile-proxy") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityGhostPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityGhostPrototype.lua new file mode 100644 index 0000000..779104f --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityGhostPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "entity-ghost") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityParticlePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityParticlePrototype.lua new file mode 100644 index 0000000..2f8bc06 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityParticlePrototype.lua @@ -0,0 +1,9 @@ +-- Deprecated +return function(Baseless) + Baseless.Make.Def("EntityPrototype", "EntityParticlePrototype") + Baseless.Make.Gen("EntityParticlePrototype", "particle") + + -- Deprecated + require("prototypes.PrototypeBase.EntityPrototype.EntityParticlePrototype.LeafParticlePrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityParticlePrototype/LeafParticlePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityParticlePrototype/LeafParticlePrototype.lua new file mode 100644 index 0000000..f08ef17 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityParticlePrototype/LeafParticlePrototype.lua @@ -0,0 +1,4 @@ +-- Deprecated +return function(Baseless) + Baseless.Make.Gen("EntityParticlePrototype", "leaf-particle") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype.lua new file mode 100644 index 0000000..791ac90 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype.lua @@ -0,0 +1,15 @@ +return function(Baseless) + Baseless.Make.Def("EntityPrototype", "EntityWithHealthPrototype") + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype")( + Baseless) + require("prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.FishPrototype")( + Baseless) + require("prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.SimpleEntityPrototype")( + Baseless) + require("prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.SpiderLegPrototype")( + Baseless) + require("prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.TreePrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype.lua new file mode 100644 index 0000000..007a2ff --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype.lua @@ -0,0 +1,142 @@ +return function(Baseless) + Baseless.Make.Def("EntityWithHealthPrototype", "EntityWithOwnerPrototype") + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.AccumulatorPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.ArtilleryTurretPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.BeaconPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.BoilerPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.BurnerGeneratorPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.CharacterPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.CombinatorPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.ConstantCombinatorPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.ContainerPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.CraftingMachinePrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.ElectricEnergyInterfacePrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.ElectricPolePrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.EnemySpawnerPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.FlyingRobotPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.GatePrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.GeneratorPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.HeatInterfacePrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.HeatPipePrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.InserterPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.LabPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.LampPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.LandMinePrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.LinkedContainerPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.MarketPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.MiningDrillPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.OffshorePumpPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.PipePrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.PipeToGroundPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.PlayerPortPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.PowerSwitchPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.ProgrammableSpeakerPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.PumpPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.RadarPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.RailPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.RailSignalBasePrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.ReactorPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.RoboportPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.SimpleEntityWithOwnerPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.SolarPanelPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.StorageTankPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.TrainStopPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.TransportBeltConnectablePrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.TurretPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.UnitPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.VehiclePrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.WallPrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/AccumulatorPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/AccumulatorPrototype.lua new file mode 100644 index 0000000..83c73f1 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/AccumulatorPrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "accumulator", { + energy_source = Baseless.Data.ElectricEnergySource, + charge_cooldown = Baseless.Data.uint16, + discharge_cooldown = Baseless.Data.uint16, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ArtilleryTurretPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ArtilleryTurretPrototype.lua new file mode 100644 index 0000000..618a5e7 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ArtilleryTurretPrototype.lua @@ -0,0 +1,10 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "artillery-turret", { + gun = Baseless.Data.Gun, + inventory_size = Baseless.Data.MinItemStack, + ammo_stack_limit = Baseless.Data.MinItemCount, + automated_ammo_count = Baseless.Data.ItemCountType, + turret_rotation_speed = Baseless.Data.double, + manual_range_modifier = Baseless.Data.double_positive, + }, {{type = "gun"}}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/BeaconPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/BeaconPrototype.lua new file mode 100644 index 0000000..5efba07 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/BeaconPrototype.lua @@ -0,0 +1,9 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "beacon", { + energy_usage = Baseless.Data.Energy, + energy_source = Baseless.Data.VoidEnergySource, + distribution_effectivity = Baseless.Data.double, + supply_area_distance = Baseless.Data.double, + module_specification = Baseless.Data.ModuleSpecification, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/BoilerPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/BoilerPrototype.lua new file mode 100644 index 0000000..c4c03da --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/BoilerPrototype.lua @@ -0,0 +1,13 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "boiler", { + structure = Baseless.Graphics.BoilerStructure, + fire = Baseless.Data.BoilerFire, + fire_glow = Baseless.Data.BoilerFireGlow, + energy_source = Baseless.Data.VoidEnergySource, + fluid_box = Baseless.Data.FluidBox, + output_fluid_box = Baseless.Data.FluidBox, + energy_consumption = Baseless.Data.Energy, + burning_cooldown = Baseless.Data.uint16, + target_temperature = Baseless.Data.double, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/BurnerGeneratorPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/BurnerGeneratorPrototype.lua new file mode 100644 index 0000000..134eff6 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/BurnerGeneratorPrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "burner-generator", { + energy_source = Baseless.Data.ElectricEnergySource, + burner = Baseless.Data.BurnerEnergySource, + max_power_output = Baseless.Data.Energy, + }, {{type = "fuel-category"}}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CharacterPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CharacterPrototype.lua new file mode 100644 index 0000000..ec7a983 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CharacterPrototype.lua @@ -0,0 +1,24 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "character", { + mining_speed = Baseless.Data.double, + running_speed = Baseless.Data.double, + distance_per_frame = Baseless.Data.double, + maximum_corner_sliding_distance = Baseless.Data.double, + heartbeat = Baseless.Sound, + eat = Baseless.Sound, + inventory_size = Baseless.Data.ItemStackIndex, + build_distance = Baseless.Data.uint32, + drop_item_distance = Baseless.Data.uint32, + reach_distance = Baseless.Data.uint32, + reach_resource_distance = Baseless.Data.double, + item_pickup_distance = Baseless.Data.double, + loot_pickup_distance = Baseless.Data.double, + ticks_to_keep_gun = Baseless.Data.uint32, + ticks_to_keep_aiming_direction = Baseless.Data.uint32, + ticks_to_stay_in_combat = Baseless.Data.uint32, + damage_hit_tint = Baseless.Data.Color, + mining_with_tool_particles_animation_positions = Baseless.Data.array, + running_sound_animation_positions = Baseless.Data.array, + animations = {Baseless.Graphics.CharacterArmorAnimation}, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CombinatorPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CombinatorPrototype.lua new file mode 100644 index 0000000..5c115d6 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CombinatorPrototype.lua @@ -0,0 +1,19 @@ +return function(Baseless) + Baseless.Make.Def("EntityWithOwnerPrototype", "CombinatorPrototype", { + energy_source = Baseless.Data.VoidEnergySource, + active_energy_usage = Baseless.Data.Energy, + input_connection_bounding_box = Baseless.Data.BoundingBox, + output_connection_bounding_box = Baseless.Data.BoundingBox, + activity_led_light_offsets = Baseless.Data.CombinatorOffsets, + screen_light_offsets = Baseless.Data.CombinatorOffsets, + input_connection_points = Baseless.Data.CombinatorConnectionPoints, + output_connection_points = Baseless.Data.CombinatorConnectionPoints, + }) + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.CombinatorPrototype.ArithmeticCombinatorPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.CombinatorPrototype.DeciderCombinatorPrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CombinatorPrototype/ArithmeticCombinatorPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CombinatorPrototype/ArithmeticCombinatorPrototype.lua new file mode 100644 index 0000000..4bbe777 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CombinatorPrototype/ArithmeticCombinatorPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("CombinatorPrototype", "arithmetic-combinator") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CombinatorPrototype/DeciderCombinatorPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CombinatorPrototype/DeciderCombinatorPrototype.lua new file mode 100644 index 0000000..4ba0bc1 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CombinatorPrototype/DeciderCombinatorPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("CombinatorPrototype", "decider-combinator") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ConstantCombinatorPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ConstantCombinatorPrototype.lua new file mode 100644 index 0000000..8b73bfd --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ConstantCombinatorPrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "constant-combinator", { + item_slot_count = Baseless.Data.uint32, + activity_led_light_offsets = Baseless.Data.CombinatorOffsets, + circuit_wire_connection_points = Baseless.Data.CombinatorConnectionPoints, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ContainerPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ContainerPrototype.lua new file mode 100644 index 0000000..e93202d --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ContainerPrototype.lua @@ -0,0 +1,11 @@ +return function(Baseless) + Baseless.Make.Def("EntityWithOwnerPrototype", "ContainerPrototype", { + inventory_size = Baseless.Data.ItemStackIndex, + picture = Baseless.Graphics.Sprite, + }) + Baseless.Make.Gen("ContainerPrototype", "container") + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.ContainerPrototype.LogisticContainerPrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ContainerPrototype/LogisticContainerPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ContainerPrototype/LogisticContainerPrototype.lua new file mode 100644 index 0000000..ec8a372 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ContainerPrototype/LogisticContainerPrototype.lua @@ -0,0 +1,11 @@ +return function(Baseless) + Baseless.Make.Def("ContainerPrototype", "LogisticContainerPrototype", { + logistic_mode = "storage", + max_logistic_slots = Baseless.Data.MaxLogisticSlots, + }) + Baseless.Make.Gen("LogisticContainerPrototype", "logistic-container") + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.ContainerPrototype.LogisticContainerPrototype.InfinityContainerPrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ContainerPrototype/LogisticContainerPrototype/InfinityContainerPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ContainerPrototype/LogisticContainerPrototype/InfinityContainerPrototype.lua new file mode 100644 index 0000000..7e143a7 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ContainerPrototype/LogisticContainerPrototype/InfinityContainerPrototype.lua @@ -0,0 +1,6 @@ +return function(Baseless) + Baseless.Make.Gen("LogisticContainerPrototype", "infinity-container", { + erase_contents_when_mined = Baseless.Data.bool, + inventory_size = Baseless.Data.MinItemStack, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CraftingMachinePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CraftingMachinePrototype.lua new file mode 100644 index 0000000..f856f03 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CraftingMachinePrototype.lua @@ -0,0 +1,15 @@ +return function(Baseless) + Baseless.Make.Def("EntityWithOwnerPrototype", "CraftingMachinePrototype", { + energy_usage = Baseless.Data.Energy, + crafting_speed = Baseless.Data.double_positive, + crafting_categories = {Baseless.Data.RecipeCategory}, + energy_source = Baseless.Data.VoidEnergySource, + }, {{type = "recipe-category"}}) + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.CraftingMachinePrototype.AssemblingMachinePrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.CraftingMachinePrototype.FurnacePrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CraftingMachinePrototype/AssemblingMachinePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CraftingMachinePrototype/AssemblingMachinePrototype.lua new file mode 100644 index 0000000..47ebb3e --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CraftingMachinePrototype/AssemblingMachinePrototype.lua @@ -0,0 +1,8 @@ +return function(Baseless) + Baseless.Make.Def("CraftingMachinePrototype", "AssemblingMachinePrototype") + Baseless.Make.Gen("AssemblingMachinePrototype", "assembling-machine") + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.CraftingMachinePrototype.AssemblingMachinePrototype.RocketSiloPrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CraftingMachinePrototype/AssemblingMachinePrototype/RocketSiloPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CraftingMachinePrototype/AssemblingMachinePrototype/RocketSiloPrototype.lua new file mode 100644 index 0000000..10317a2 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CraftingMachinePrototype/AssemblingMachinePrototype/RocketSiloPrototype.lua @@ -0,0 +1,30 @@ +return function(Baseless) + Baseless.Make.Gen("AssemblingMachinePrototype", "rocket-silo", { + active_energy_usage = Baseless.Data.Energy, + lamp_energy_usage = Baseless.Data.Energy, + rocket_entity = Baseless.Data.RocketEntity, + arm_02_right_animation = Baseless.Graphics.Animation, + arm_01_back_animation = Baseless.Graphics.Animation, + arm_03_front_animation = Baseless.Graphics.Animation, + shadow_sprite = Baseless.Graphics.Sprite, + hole_sprite = Baseless.Graphics.Sprite, + hole_light_sprite = Baseless.Graphics.Sprite, + rocket_shadow_overlay_sprite = Baseless.Graphics.Sprite, + rocket_glow_overlay_sprite = Baseless.Graphics.Sprite, + door_back_sprite = Baseless.Graphics.Sprite, + door_front_sprite = Baseless.Graphics.Sprite, + base_day_sprite = Baseless.Graphics.Sprite, + base_front_sprite = Baseless.Graphics.Sprite, + red_lights_back_sprites = Baseless.Graphics.Sprite, + red_lights_front_sprites = Baseless.Graphics.Sprite, + hole_clipping_box = Baseless.Data.BoundingBox, + door_back_open_offset = Baseless.Data.Vector, + door_front_open_offset = Baseless.Data.Vector, + silo_fade_out_start_distance = Baseless.Data.double, + silo_fade_out_end_distance = Baseless.Data.double, + times_to_blink = Baseless.Data.uint8, + light_blinking_speed = Baseless.Data.double, + door_opening_speed = Baseless.Data.double, + rocket_parts_required = Baseless.Data.uint32, + }, {{type = "rocket-silo-rocket"}}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CraftingMachinePrototype/FurnacePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CraftingMachinePrototype/FurnacePrototype.lua new file mode 100644 index 0000000..4968b24 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/CraftingMachinePrototype/FurnacePrototype.lua @@ -0,0 +1,6 @@ +return function(Baseless) + Baseless.Make.Gen("CraftingMachinePrototype", "furnace", { + source_inventory_size = Baseless.Data.ItemStackIndex, + result_inventory_size = Baseless.Data.ItemStackIndex, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ElectricEnergyInterfacePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ElectricEnergyInterfacePrototype.lua new file mode 100644 index 0000000..03eef46 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ElectricEnergyInterfacePrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "electric-energy-interface", + {energy_source = Baseless.Data.ElectricEnergySource}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ElectricPolePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ElectricPolePrototype.lua new file mode 100644 index 0000000..beba7b4 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ElectricPolePrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "electric-pole", { + pictures = Baseless.Graphics.RotatedSprite, + supply_area_distance = Baseless.Data.double, + connection_points = Baseless.Data.ElectricPoleConnectionPoints, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/EnemySpawnerPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/EnemySpawnerPrototype.lua new file mode 100644 index 0000000..d9907b1 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/EnemySpawnerPrototype.lua @@ -0,0 +1,16 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "unit-spawner", { + animations = Baseless.Graphics.AnimationVariations, + max_count_of_owned_units = Baseless.Data.uint32, + max_friends_around_to_spawn = Baseless.Data.uint32, + spawning_cooldown = {Baseless.Data.double, Baseless.Data.double}, + spawning_radius = Baseless.Data.double, + spawning_spacing = Baseless.Data.double, + max_richness_for_spawn_shift = Baseless.Data.double, + max_spawn_shift = Baseless.Data.double, + pollution_absorption_absolute = Baseless.Data.double, + pollution_absorption_proportional = Baseless.Data.double, + call_for_help_radius = Baseless.Data.double, + result_units = {Baseless.Data.UnitSpawnDefinition}, + }, {{type = "unit"}}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/FlyingRobotPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/FlyingRobotPrototype.lua new file mode 100644 index 0000000..ea1ac5d --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/FlyingRobotPrototype.lua @@ -0,0 +1,11 @@ +return function(Baseless) + Baseless.Make.Def("EntityWithOwnerPrototype", "FlyingRobotPrototype", + {speed = Baseless.Data.double}) + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.FlyingRobotPrototype.CombatRobotPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.FlyingRobotPrototype.RobotWithLogisticInterfacePrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/FlyingRobotPrototype/CombatRobotPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/FlyingRobotPrototype/CombatRobotPrototype.lua new file mode 100644 index 0000000..53706c2 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/FlyingRobotPrototype/CombatRobotPrototype.lua @@ -0,0 +1,10 @@ +return function(Baseless) + Baseless.Make.Gen("FlyingRobotPrototype", "combat-robot", { + time_to_live = Baseless.Data.uint32, + attack_parameters = Baseless.Data.BeamAttackParameters, + idle = Baseless.Graphics.RotatedAnimation, + shadow_idle = Baseless.Graphics.RotatedAnimation, + in_motion = Baseless.Graphics.RotatedAnimation, + shadow_in_motion = Baseless.Graphics.RotatedAnimation, + }, {{type = "ammo-category"}}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/FlyingRobotPrototype/RobotWithLogisticInterfacePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/FlyingRobotPrototype/RobotWithLogisticInterfacePrototype.lua new file mode 100644 index 0000000..854f64f --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/FlyingRobotPrototype/RobotWithLogisticInterfacePrototype.lua @@ -0,0 +1,13 @@ +return function(Baseless) + Baseless.Make.Def("FlyingRobotPrototype", "RobotWithLogisticInterfacePrototype", { + max_payload_size = Baseless.Data.ItemCountType, + cargo_centered = Baseless.Data.Vector, + }) + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.FlyingRobotPrototype.RobotWithLogisticInterfacePrototype.ConstructionRobotPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.FlyingRobotPrototype.RobotWithLogisticInterfacePrototype.LogisticRobotPrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/FlyingRobotPrototype/RobotWithLogisticInterfacePrototype/ConstructionRobotPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/FlyingRobotPrototype/RobotWithLogisticInterfacePrototype/ConstructionRobotPrototype.lua new file mode 100644 index 0000000..8c1b8b7 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/FlyingRobotPrototype/RobotWithLogisticInterfacePrototype/ConstructionRobotPrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("RobotWithLogisticInterfacePrototype", "construction-robot", + {construction_vector = Baseless.Data.Vector}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/FlyingRobotPrototype/RobotWithLogisticInterfacePrototype/LogisticRobotPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/FlyingRobotPrototype/RobotWithLogisticInterfacePrototype/LogisticRobotPrototype.lua new file mode 100644 index 0000000..f49b856 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/FlyingRobotPrototype/RobotWithLogisticInterfacePrototype/LogisticRobotPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("RobotWithLogisticInterfacePrototype", "logistic-robot") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/GatePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/GatePrototype.lua new file mode 100644 index 0000000..179295d --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/GatePrototype.lua @@ -0,0 +1,18 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "gate", { + vertical_animation = Baseless.Graphics.Animation, + horizontal_animation = Baseless.Graphics.Animation, + vertical_rail_animation_left = Baseless.Graphics.Animation, + vertical_rail_animation_right = Baseless.Graphics.Animation, + horizontal_rail_animation_left = Baseless.Graphics.Animation, + horizontal_rail_animation_right = Baseless.Graphics.Animation, + vertical_rail_base = Baseless.Graphics.Animation, + horizontal_rail_base = Baseless.Graphics.Animation, + wall_patch = Baseless.Graphics.Animation, + opening_speed = Baseless.Data.float, + activation_distance = Baseless.Data.double, + timeout_to_close = Baseless.Data.uint32, + open_sound = Baseless.Sound, + close_sound = Baseless.Sound, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/GeneratorPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/GeneratorPrototype.lua new file mode 100644 index 0000000..5f1f3f7 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/GeneratorPrototype.lua @@ -0,0 +1,9 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "generator", { + energy_source = Baseless.Data.ElectricEnergySource, + fluid_box = Baseless.Data.FluidBox, + fluid_usage_per_tick = Baseless.Data.double, + maximum_temperature = Baseless.Data.double, + max_power_output = Baseless.Data.Energy, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/HeatInterfacePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/HeatInterfacePrototype.lua new file mode 100644 index 0000000..bd622ec --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/HeatInterfacePrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "heat-interface", + {heat_buffer = Baseless.Data.HeatBuffer}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/HeatPipePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/HeatPipePrototype.lua new file mode 100644 index 0000000..0788fd4 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/HeatPipePrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "heat-pipe", { + connection_sprites = Baseless.Data.ConnectableEntityGraphics, + heat_glow_sprites = Baseless.Data.ConnectableEntityGraphics, + heat_buffer = Baseless.Data.HeatBuffer, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/InserterPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/InserterPrototype.lua new file mode 100644 index 0000000..268263b --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/InserterPrototype.lua @@ -0,0 +1,14 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "inserter", { + extension_speed = Baseless.Data.double, + rotation_speed = Baseless.Data.double, + insert_position = Baseless.Data.Vector_positive, + pickup_position = Baseless.Data.Vector_negative, + platform_picture = Baseless.Graphics.Sprite4Way, + hand_base_picture = Baseless.Graphics.Sprite, + hand_open_picture = Baseless.Graphics.Sprite, + hand_closed_picture = Baseless.Graphics.Sprite, + energy_source = Baseless.Data.VoidEnergySource, + collision_box = Baseless.Data.InserterCollisionBox, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/LabPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/LabPrototype.lua new file mode 100644 index 0000000..56161a9 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/LabPrototype.lua @@ -0,0 +1,9 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "lab", { + energy_usage = Baseless.Data.Energy, + energy_source = Baseless.Data.VoidEnergySource, + on_animation = Baseless.Graphics.Animation, + off_animation = Baseless.Graphics.Animation, + inputs = Baseless.Data.array, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/LampPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/LampPrototype.lua new file mode 100644 index 0000000..1f5cd4e --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/LampPrototype.lua @@ -0,0 +1,8 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "lamp", { + picture_on = Baseless.Graphics.Sprite, + picture_off = Baseless.Graphics.Sprite, + energy_usage_per_tick = Baseless.Data.Energy, + energy_source = Baseless.Data.VoidEnergySource, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/LandMinePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/LandMinePrototype.lua new file mode 100644 index 0000000..fd7fd84 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/LandMinePrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "land-mine", { + picture_safe = Baseless.Graphics.Sprite, + picture_set = Baseless.Graphics.Sprite, + trigger_radius = Baseless.Data.double, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/LinkedContainerPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/LinkedContainerPrototype.lua new file mode 100644 index 0000000..ea20c80 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/LinkedContainerPrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "linked-container", + {inventory_size = Baseless.Data.MinItemStack}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/MarketPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/MarketPrototype.lua new file mode 100644 index 0000000..91af5d6 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/MarketPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "market", {picture = Baseless.Graphics.Sprite}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/MiningDrillPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/MiningDrillPrototype.lua new file mode 100644 index 0000000..db9d44f --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/MiningDrillPrototype.lua @@ -0,0 +1,10 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "mining-drill", { + vector_to_place_result = Baseless.Data.Vector, + energy_usage = Baseless.Data.Energy, + mining_speed = Baseless.Data.double, + energy_source = Baseless.Data.VoidEnergySource, + resource_categories = {Baseless.Data.ResourceType}, + resource_searching_radius = Baseless.Data.double, + }, {{type = "resource-category"}}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/OffshorePumpPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/OffshorePumpPrototype.lua new file mode 100644 index 0000000..55dd0af --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/OffshorePumpPrototype.lua @@ -0,0 +1,8 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "offshore-pump", { + fluid_box = Baseless.Data.FluidBox, + pumping_speed = Baseless.Data.float_positive, + fluid = Baseless.Data.Fluid, + picture = Baseless.Graphics.Animation4Way, + }, {{type = "fluid"}}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PipePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PipePrototype.lua new file mode 100644 index 0000000..2b5c372 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PipePrototype.lua @@ -0,0 +1,13 @@ +return function(Baseless) + Baseless.Make.Def("EntityWithOwnerPrototype", "PipePrototype", { + fluid_box = Baseless.Data.FluidBox, + pictures = Baseless.Graphics.PipePictures, + horizontal_window_bounding_box = Baseless.Data.BoundingBox, + vertical_window_bounding_box = Baseless.Data.BoundingBox, + }) + Baseless.Make.Gen("PipePrototype", "pipe") + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.PipePrototype.InfinityPipePrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PipePrototype/InfinityPipePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PipePrototype/InfinityPipePrototype.lua new file mode 100644 index 0000000..3a8b64d --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PipePrototype/InfinityPipePrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("PipePrototype", "infinity-pipe") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PipeToGroundPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PipeToGroundPrototype.lua new file mode 100644 index 0000000..5aa4c04 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PipeToGroundPrototype.lua @@ -0,0 +1,6 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "pipe-to-ground", { + fluid_box = Baseless.Data.FluidBox, + pictures = Baseless.Graphics.PipeToGroundPictures, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PlayerPortPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PlayerPortPrototype.lua new file mode 100644 index 0000000..79af7f5 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PlayerPortPrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "player-port", + {animation = Baseless.Graphics.Animation}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PowerSwitchPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PowerSwitchPrototype.lua new file mode 100644 index 0000000..9ba6cc3 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PowerSwitchPrototype.lua @@ -0,0 +1,13 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "power-switch", { + power_on_animation = Baseless.Graphics.Animation, + overlay_start = Baseless.Graphics.Animation, + overlay_loop = Baseless.Graphics.Animation, + led_on = Baseless.Graphics.Sprite, + led_off = Baseless.Graphics.Sprite, + overlay_start_delay = Baseless.Data.uint8, + circuit_wire_connection_point = Baseless.Data.WireConnectionPoint, + left_wire_connection_point = Baseless.Data.WireConnectionPoint, + right_wire_connection_point = Baseless.Data.WireConnectionPoint, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ProgrammableSpeakerPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ProgrammableSpeakerPrototype.lua new file mode 100644 index 0000000..77ce643 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ProgrammableSpeakerPrototype.lua @@ -0,0 +1,9 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "programmable-speaker", { + energy_source = Baseless.Data.VoidEnergySource, + energy_usage_per_tick = Baseless.Data.Energy, + sprite = Baseless.Graphics.Sprite, + maximum_polyphony = Baseless.Data.uint32, + instruments = Baseless.Data.array, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PumpPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PumpPrototype.lua new file mode 100644 index 0000000..f3c1a62 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/PumpPrototype.lua @@ -0,0 +1,9 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "pump", { + fluid_box = Baseless.Data.FluidBox, + energy_source = Baseless.Data.VoidEnergySource, + energy_usage = Baseless.Data.Energy, + pumping_speed = Baseless.Data.double, + animations = Baseless.Graphics.Animation4Way, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RadarPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RadarPrototype.lua new file mode 100644 index 0000000..6059bab --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RadarPrototype.lua @@ -0,0 +1,11 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "radar", { + energy_usage = Baseless.Data.Energy, + energy_per_sector = Baseless.Data.Energy, + energy_per_nearby_scan = Baseless.Data.Energy, + energy_source = Baseless.Data.VoidEnergySource, + pictures = Baseless.Graphics.RotatedSprite, + max_distance_of_sector_revealed = Baseless.Data.uint32, + max_distance_of_nearby_sector_revealed = Baseless.Data.uint32, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailPrototype.lua new file mode 100644 index 0000000..a7098b3 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailPrototype.lua @@ -0,0 +1,13 @@ +return function(Baseless) + Baseless.Make.Def("EntityWithOwnerPrototype", "RailPrototype", { + pictures = Baseless.Graphics.RailPictureSet, + placeable_by = Baseless.Data.RailPlaceableBy, + }, {{type = "rail-planner"}}) + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.RailPrototype.CurvedRailPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.RailPrototype.StraightRailPrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailPrototype/CurvedRailPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailPrototype/CurvedRailPrototype.lua new file mode 100644 index 0000000..92795bd --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailPrototype/CurvedRailPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("RailPrototype", "curved-rail") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailPrototype/StraightRailPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailPrototype/StraightRailPrototype.lua new file mode 100644 index 0000000..12507ae --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailPrototype/StraightRailPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("RailPrototype", "straight-rail") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailSignalBasePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailSignalBasePrototype.lua new file mode 100644 index 0000000..2bf60d8 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailSignalBasePrototype.lua @@ -0,0 +1,11 @@ +return function(Baseless) + Baseless.Make.Def("EntityWithOwnerPrototype", "RailSignalBasePrototype", + {animation = Baseless.Graphics.RotatedAnimation}) + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.RailSignalBasePrototype.RailChainSignalPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.RailSignalBasePrototype.RailSignalPrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailSignalBasePrototype/RailChainSignalPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailSignalBasePrototype/RailChainSignalPrototype.lua new file mode 100644 index 0000000..0023823 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailSignalBasePrototype/RailChainSignalPrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("RailSignalBasePrototype", "rail-chain-signal", + {selection_box_offsets = Baseless.Data.RailChainSignalBoxOffsets}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailSignalBasePrototype/RailSignalPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailSignalBasePrototype/RailSignalPrototype.lua new file mode 100644 index 0000000..011d8ee --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RailSignalBasePrototype/RailSignalPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("RailSignalBasePrototype", "rail-signal") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ReactorPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ReactorPrototype.lua new file mode 100644 index 0000000..b81bb5c --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/ReactorPrototype.lua @@ -0,0 +1,8 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "reactor", { + working_light_picture = Baseless.Graphics.Sprite, + heat_buffer = Baseless.Data.HeatBuffer, + energy_source = Baseless.Data.VoidEnergySource, + consumption = Baseless.Data.Energy, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RoboportPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RoboportPrototype.lua new file mode 100644 index 0000000..5cfd6f7 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/RoboportPrototype.lua @@ -0,0 +1,21 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "roboport", { + energy_source = Baseless.Data.VoidEnergySource, + energy_usage = Baseless.Data.Energy, + recharge_minimum = Baseless.Data.Energy, + robot_slots_count = Baseless.Data.ItemStackIndex, + material_slots_count = Baseless.Data.ItemStackIndex, + base = Baseless.Graphics.Sprite, + base_patch = Baseless.Graphics.Sprite, + base_animation = Baseless.Graphics.Animation, + door_animation_up = Baseless.Graphics.Animation, + door_animation_down = Baseless.Graphics.Animation, + request_to_open_door_timeout = Baseless.Data.uint32, + recharging_animation = Baseless.Graphics.Animation, + spawn_and_station_height = Baseless.Data.float, + charge_approach_distance = Baseless.Data.float, + logistics_radius = Baseless.Data.float, + construction_radius = Baseless.Data.float, + charging_energy = Baseless.Data.Energy, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/SimpleEntityWithOwnerPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/SimpleEntityWithOwnerPrototype.lua new file mode 100644 index 0000000..80bc5f5 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/SimpleEntityWithOwnerPrototype.lua @@ -0,0 +1,8 @@ +return function(Baseless) + Baseless.Make.Def("EntityWithOwnerPrototype", "SimpleEntityWithOwnerPrototype") + Baseless.Make.Gen("SimpleEntityWithOwnerPrototype", "simple-entity-with-owner") + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.SimpleEntityWithOwnerPrototype.SimpleEntityWithForcePrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/SimpleEntityWithOwnerPrototype/SimpleEntityWithForcePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/SimpleEntityWithOwnerPrototype/SimpleEntityWithForcePrototype.lua new file mode 100644 index 0000000..8c35060 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/SimpleEntityWithOwnerPrototype/SimpleEntityWithForcePrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("SimpleEntityWithOwnerPrototype", "simple-entity-with-force") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/SolarPanelPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/SolarPanelPrototype.lua new file mode 100644 index 0000000..b6fca66 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/SolarPanelPrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "solar-panel", { + energy_source = Baseless.Data.ElectricEnergySource, + picture = Baseless.Graphics.SpriteVariations, + production = Baseless.Data.Energy, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/StorageTankPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/StorageTankPrototype.lua new file mode 100644 index 0000000..aaa0e6b --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/StorageTankPrototype.lua @@ -0,0 +1,8 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "storage-tank", { + fluid_box = Baseless.Data.FluidBox, + window_bounding_box = Baseless.Data.BoundingBox, + pictures = Baseless.Graphics.StorageTankPictures, + flow_length_in_ticks = Baseless.Data.uint32_positive, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TrainStopPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TrainStopPrototype.lua new file mode 100644 index 0000000..45ba6fa --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TrainStopPrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "train-stop", + {animation_ticks_per_frame = Baseless.Data.uint32}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype.lua new file mode 100644 index 0000000..e190744 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype.lua @@ -0,0 +1,25 @@ +return function(Baseless) + Baseless.Make.Def("EntityWithOwnerPrototype", "TransportBeltConnectablePrototype", { + belt_animation_set = Baseless.Graphics.TransportBeltAnimationSet, + speed = Baseless.Data.double_positive, + collision_box = Baseless.Data.BoundingBox, + tile_width = Baseless.Data.BeltTileWidth, + tile_height = Baseless.Data.BeltTileHeight, + }) + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.TransportBeltConnectablePrototype.LinkedBeltPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.TransportBeltConnectablePrototype.LoaderPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.TransportBeltConnectablePrototype.SplitterPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.TransportBeltConnectablePrototype.TransportBeltPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.TransportBeltConnectablePrototype.UndergroundBeltPrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/LinkedBeltPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/LinkedBeltPrototype.lua new file mode 100644 index 0000000..43b70f4 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/LinkedBeltPrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("TransportBeltConnectablePrototype", "linked-belt", + {structure = Baseless.Graphics.LinkedBeltStructure}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/LoaderPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/LoaderPrototype.lua new file mode 100644 index 0000000..a543641 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/LoaderPrototype.lua @@ -0,0 +1,13 @@ +return function(Baseless) + Baseless.Make.Def("TransportBeltConnectablePrototype", "LoaderPrototype", { + filter_count = Baseless.Data.uint8, + structure = Baseless.Graphics.LoaderStructure, + }) + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.TransportBeltConnectablePrototype.LoaderPrototype.Loader1x1Prototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.TransportBeltConnectablePrototype.LoaderPrototype.Loader1x2Prototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/LoaderPrototype/Loader1x1Prototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/LoaderPrototype/Loader1x1Prototype.lua new file mode 100644 index 0000000..471cc54 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/LoaderPrototype/Loader1x1Prototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("LoaderPrototype", "loader-1x1") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/LoaderPrototype/Loader1x2Prototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/LoaderPrototype/Loader1x2Prototype.lua new file mode 100644 index 0000000..4dd9179 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/LoaderPrototype/Loader1x2Prototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("LoaderPrototype", "loader", {tile_height = Baseless.Data.LoaderTileHeight}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/SplitterPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/SplitterPrototype.lua new file mode 100644 index 0000000..81f94b7 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/SplitterPrototype.lua @@ -0,0 +1,6 @@ +return function(Baseless) + Baseless.Make.Gen("TransportBeltConnectablePrototype", "splitter", { + structure = Baseless.Graphics.Animation4Way, + tile_width = Baseless.Data.SplitterTileWidth, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/TransportBeltPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/TransportBeltPrototype.lua new file mode 100644 index 0000000..1435915 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/TransportBeltPrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("TransportBeltConnectablePrototype", "transport-belt", + {connector_frame_sprites = Baseless.Graphics.TransportBeltConnectorFrame}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/UndergroundBeltPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/UndergroundBeltPrototype.lua new file mode 100644 index 0000000..98de49a --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TransportBeltConnectablePrototype/UndergroundBeltPrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("TransportBeltConnectablePrototype", "underground-belt", { + max_distance = Baseless.Data.uint8, + structure = Baseless.Graphics.UndergroundBeltStructure, + underground_sprite = Baseless.Graphics.Sprite, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TurretPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TurretPrototype.lua new file mode 100644 index 0000000..8e58e66 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TurretPrototype.lua @@ -0,0 +1,18 @@ +return function(Baseless) + Baseless.Make.Def("EntityWithOwnerPrototype", "TurretPrototype", { + attack_parameters = Baseless.Data.StreamAttackParameters, + folded_animation = Baseless.Graphics.RotatedAnimation4Way, + call_for_help_radius = Baseless.Data.double, + }, {{type = "ammo-category"}}) + Baseless.Make.Gen("TurretPrototype", "turret") + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.TurretPrototype.AmmoTurretPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.TurretPrototype.ElectricTurretPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.TurretPrototype.FluidTurretPrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TurretPrototype/AmmoTurretPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TurretPrototype/AmmoTurretPrototype.lua new file mode 100644 index 0000000..8f06a92 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TurretPrototype/AmmoTurretPrototype.lua @@ -0,0 +1,6 @@ +return function(Baseless) + Baseless.Make.Gen("TurretPrototype", "ammo-turret", { + inventory_size = Baseless.Data.ItemStackIndex, + automated_ammo_count = Baseless.Data.ItemCountType, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TurretPrototype/ElectricTurretPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TurretPrototype/ElectricTurretPrototype.lua new file mode 100644 index 0000000..bebb45b --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TurretPrototype/ElectricTurretPrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("TurretPrototype", "electric-turret", + {energy_source = Baseless.Data.VoidEnergySource}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TurretPrototype/FluidTurretPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TurretPrototype/FluidTurretPrototype.lua new file mode 100644 index 0000000..7e61aad --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/TurretPrototype/FluidTurretPrototype.lua @@ -0,0 +1,9 @@ +return function(Baseless) + Baseless.Make.Gen("TurretPrototype", "fluid-turret", { + fluid_buffer_size = Baseless.Data.float, + fluid_buffer_input_flow = Baseless.Data.float, + activation_buffer_ratio = Baseless.Data.float, + fluid_box = Baseless.Data.FluidBox, + turret_base_has_direction = true, + }, {{type = "ammo-category"}}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/UnitPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/UnitPrototype.lua new file mode 100644 index 0000000..422f3a7 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/UnitPrototype.lua @@ -0,0 +1,12 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "unit", { + run_animation = Baseless.Graphics.RotatedAnimation, + attack_parameters = table.merge_new(Baseless.Data.BeamAttackParameters, + {animation = Baseless.Graphics.RotatedAnimation}), + movement_speed = Baseless.Data.float, + distance_per_frame = Baseless.Data.float, + pollution_to_join_attack = Baseless.Data.float, + distraction_cooldown = Baseless.Data.uint32, + vision_distance = Baseless.Data.double, + }, {{type = "ammo-category"}}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype.lua new file mode 100644 index 0000000..5bf5099 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype.lua @@ -0,0 +1,18 @@ +return function(Baseless) + Baseless.Make.Def("EntityWithOwnerPrototype", "VehiclePrototype", { + weight = Baseless.Data.double_positive, + braking_power = Baseless.Data.Energy, + friction = Baseless.Data.double_positive, + energy_per_hit_point = Baseless.Data.double, + }) + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.VehiclePrototype.CarPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.VehiclePrototype.RollingStockPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.VehiclePrototype.SpiderVehiclePrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/CarPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/CarPrototype.lua new file mode 100644 index 0000000..e8ee9d1 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/CarPrototype.lua @@ -0,0 +1,10 @@ +return function(Baseless) + Baseless.Make.Gen("VehiclePrototype", "car", { + animation = Baseless.Graphics.RotatedAnimation, + effectivity = Baseless.Data.double, + consumption = Baseless.Data.Energy, + rotation_speed = Baseless.Data.double, + energy_source = Baseless.Data.VoidEnergySource, + inventory_size = Baseless.Data.ItemStackIndex, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/RollingStockPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/RollingStockPrototype.lua new file mode 100644 index 0000000..e91620b --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/RollingStockPrototype.lua @@ -0,0 +1,24 @@ +return function(Baseless) + Baseless.Make.Def("VehiclePrototype", "RollingStockPrototype", { + max_speed = Baseless.Data.double, + air_resistance = Baseless.Data.double, + joint_distance = Baseless.Data.double, + connection_distance = Baseless.Data.double, + pictures = Baseless.Graphics.RotatedSprite, + vertical_selection_shift = Baseless.Data.double, + collision_box = Baseless.Data.RollingStockCollisionBox, + }) + + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.VehiclePrototype.RollingStockPrototype.ArtilleryWagonPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.VehiclePrototype.RollingStockPrototype.CargoWagonPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.VehiclePrototype.RollingStockPrototype.FluidWagonPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.EntityPrototype.EntityWithHealthPrototype.EntityWithOwnerPrototype.VehiclePrototype.RollingStockPrototype.LocomotivePrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/RollingStockPrototype/ArtilleryWagonPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/RollingStockPrototype/ArtilleryWagonPrototype.lua new file mode 100644 index 0000000..5c1b163 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/RollingStockPrototype/ArtilleryWagonPrototype.lua @@ -0,0 +1,9 @@ +return function(Baseless) + Baseless.Make.Gen("RollingStockPrototype", "artillery-wagon", { + gun = Baseless.Data.Gun, + inventory_size = Baseless.Data.MinItemStack, + ammo_stack_limit = Baseless.Data.MinItemCount, + turret_rotation_speed = Baseless.Data.double, + manual_range_modifier = Baseless.Data.double_positive, + }, {{type = "gun"}}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/RollingStockPrototype/CargoWagonPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/RollingStockPrototype/CargoWagonPrototype.lua new file mode 100644 index 0000000..599b40c --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/RollingStockPrototype/CargoWagonPrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("RollingStockPrototype", "cargo-wagon", + {inventory_size = Baseless.Data.ItemStackIndex}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/RollingStockPrototype/FluidWagonPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/RollingStockPrototype/FluidWagonPrototype.lua new file mode 100644 index 0000000..4096a53 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/RollingStockPrototype/FluidWagonPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("RollingStockPrototype", "fluid-wagon", {capacity = Baseless.Data.double}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/RollingStockPrototype/LocomotivePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/RollingStockPrototype/LocomotivePrototype.lua new file mode 100644 index 0000000..5d37304 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/RollingStockPrototype/LocomotivePrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("RollingStockPrototype", "locomotive", { + max_power = Baseless.Data.Energy, + reversing_power_modifier = Baseless.Data.double, + energy_source = Baseless.Data.VoidEnergySource, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/SpiderVehiclePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/SpiderVehiclePrototype.lua new file mode 100644 index 0000000..b86e89a --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/VehiclePrototype/SpiderVehiclePrototype.lua @@ -0,0 +1,13 @@ +return function(Baseless) + Baseless.Make.Gen("VehiclePrototype", "spider-vehicle", { + energy_source = Baseless.Data.VoidEnergySource, + inventory_size = Baseless.Data.ItemStackIndex, + graphics_set = Baseless.Graphics.SpiderVehicleGraphicsSet, + spider_engine = Baseless.Data.SpiderEnginePrototype, + height = Baseless.Data.float, + chunk_exploration_radius = Baseless.Data.uint32, + movement_energy_consumption = Baseless.Data.Energy, + automatic_weapon_cycling = Baseless.Data.bool, + chain_shooting_cooldown_modifier = Baseless.Data.float, + }, {{type = "spider-leg"}}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/WallPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/WallPrototype.lua new file mode 100644 index 0000000..2b1b186 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/EntityWithOwnerPrototype/WallPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithOwnerPrototype", "wall", {pictures = Baseless.Graphics.WallPictures}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/FishPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/FishPrototype.lua new file mode 100644 index 0000000..76c440f --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/FishPrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithHealthPrototype", "fish", + {pictures = Baseless.Graphics.SpriteVariations}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/SimpleEntityPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/SimpleEntityPrototype.lua new file mode 100644 index 0000000..d817f7d --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/SimpleEntityPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithHealthPrototype", "simple-entity") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/SpiderLegPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/SpiderLegPrototype.lua new file mode 100644 index 0000000..c41b584 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/SpiderLegPrototype.lua @@ -0,0 +1,11 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithHealthPrototype", "spider-leg", { + part_length = Baseless.Data.double_positive, + initial_movement_speed = Baseless.Data.double, + movement_acceleration = Baseless.Data.double, + target_position_randomisation_distance = Baseless.Data.double, + minimal_step_size = Baseless.Data.double, + movement_based_position_selection_distance = Baseless.Data.double, + graphics_set = Baseless.Graphics.SpiderLegGraphicsSet, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/TreePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/TreePrototype.lua new file mode 100644 index 0000000..679ced4 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/EntityWithHealthPrototype/TreePrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("EntityWithHealthPrototype", "tree", + {pictures = Baseless.Graphics.SpriteVariations}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/ExplosionPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/ExplosionPrototype.lua new file mode 100644 index 0000000..9991415 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/ExplosionPrototype.lua @@ -0,0 +1,9 @@ +return function(Baseless) + Baseless.Make.Def("EntityPrototype", "ExplosionPrototype", + {animations = Baseless.Graphics.AnimationVariations}) + Baseless.Make.Gen("ExplosionPrototype", "explosion") + + require( + "prototypes.PrototypeBase.EntityPrototype.ExplosionPrototype.FlameThrowerExplosionPrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/ExplosionPrototype/FlameThrowerExplosionPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/ExplosionPrototype/FlameThrowerExplosionPrototype.lua new file mode 100644 index 0000000..ec142d6 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/ExplosionPrototype/FlameThrowerExplosionPrototype.lua @@ -0,0 +1,6 @@ +return function(Baseless) + Baseless.Make.Gen("ExplosionPrototype", "flame-thrower-explosion", { + damage = Baseless.Data.DamagePrototype, + slow_down_factor = Baseless.Data.double, + }, {{type = "damage-type"}}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/FireFlamePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/FireFlamePrototype.lua new file mode 100644 index 0000000..d78ca07 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/FireFlamePrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "fire", { + damage_per_tick = Baseless.Data.DamagePrototype, + spread_delay = Baseless.Data.uint32, + spread_delay_deviation = Baseless.Data.uint32, + }, {{type = "damage-type"}}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/FluidStreamPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/FluidStreamPrototype.lua new file mode 100644 index 0000000..342d192 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/FluidStreamPrototype.lua @@ -0,0 +1,8 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "stream", { + particle_spawn_interval = Baseless.Data.uint16, + particle_horizontal_speed = Baseless.Data.float_positive, + particle_horizontal_speed_deviation = Baseless.Data.float, + particle_vertical_acceleration = Baseless.Data.float, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/HighlightBoxEntityPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/HighlightBoxEntityPrototype.lua new file mode 100644 index 0000000..e5aa77c --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/HighlightBoxEntityPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "highlight-box") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/ItemEntityPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/ItemEntityPrototype.lua new file mode 100644 index 0000000..a2752f5 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/ItemEntityPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "item-entity") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/ItemRequestProxyPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/ItemRequestProxyPrototype.lua new file mode 100644 index 0000000..0f56bc4 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/ItemRequestProxyPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "item-request-proxy", {picture = Baseless.Graphics.Sprite}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/ParticleSourcePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/ParticleSourcePrototype.lua new file mode 100644 index 0000000..07c5188 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/ParticleSourcePrototype.lua @@ -0,0 +1,10 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "particle-source", { + time_to_live = Baseless.Data.float, + time_before_start = Baseless.Data.float, + height = Baseless.Data.float, + vertical_speed = Baseless.Data.float, + horizontal_speed = Baseless.Data.float, + particle = Baseless.Data.Particle, + }, {{type = "optimized-particle"}}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/ProjectilePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/ProjectilePrototype.lua new file mode 100644 index 0000000..0ad97ea --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/ProjectilePrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "projectile", {acceleration = Baseless.Data.double}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/ResourceEntityPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/ResourceEntityPrototype.lua new file mode 100644 index 0000000..c415eb2 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/ResourceEntityPrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "resource", { + stages = Baseless.Graphics.AnimationVariations, + stage_counts = Baseless.Data.ResourceStageCounts, + minable = Baseless.Data.MinableProperties, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/RocketSiloRocketPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/RocketSiloRocketPrototype.lua new file mode 100644 index 0000000..cda1b1c --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/RocketSiloRocketPrototype.lua @@ -0,0 +1,31 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "rocket-silo-rocket", { + rocket_sprite = Baseless.Graphics.Sprite, + rocket_shadow_sprite = Baseless.Graphics.Sprite, + rocket_glare_overlay_sprite = Baseless.Graphics.Sprite, + rocket_smoke_bottom1_animation = Baseless.Graphics.Animation, + rocket_smoke_bottom2_animation = Baseless.Graphics.Animation, + rocket_smoke_top1_animation = Baseless.Graphics.Animation, + rocket_smoke_top2_animation = Baseless.Graphics.Animation, + rocket_smoke_top3_animation = Baseless.Graphics.Animation, + rocket_flame_animation = Baseless.Graphics.Animation, + rocket_flame_left_animation = Baseless.Graphics.Animation, + rocket_flame_right_animation = Baseless.Graphics.Animation, + rocket_rise_offset = Baseless.Data.Vector, + rocket_flame_left_rotation = Baseless.Data.float, + rocket_flame_right_rotation = Baseless.Data.float, + rocket_render_layer_switch_distance = Baseless.Data.double, + full_render_layer_switch_distance = Baseless.Data.double, + rocket_launch_offset = Baseless.Data.Vector, + effects_fade_in_start_distance = Baseless.Data.double, + effects_fade_in_end_distance = Baseless.Data.double, + shadow_fade_out_start_ratio = Baseless.Data.double, + shadow_fade_out_end_ratio = Baseless.Data.double, + rocket_visible_distance_from_center = Baseless.Data.float, + rising_speed = Baseless.Data.double, + engine_starting_speed = Baseless.Data.double, + flying_speed = Baseless.Data.double, + flying_acceleration = Baseless.Data.double, + inventory_size = Baseless.Data.ItemStackIndex, + }) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/RocketSiloRocketShadowPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/RocketSiloRocketShadowPrototype.lua new file mode 100644 index 0000000..bf6d45c --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/RocketSiloRocketShadowPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "rocket-silo-rocket-shadow") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/SmokePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/SmokePrototype.lua new file mode 100644 index 0000000..b0a11a7 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/SmokePrototype.lua @@ -0,0 +1,9 @@ +return function(Baseless) + Baseless.Make.Def("EntityPrototype", "SmokePrototype", {animation = Baseless.Graphics.Animation}) + + require("prototypes.PrototypeBase.EntityPrototype.SmokePrototype.SmokeWithTriggerPrototype")( + Baseless) + + -- Deprecated + require("prototypes.PrototypeBase.EntityPrototype.SmokePrototype.SimpleSmokePrototype")(Baseless) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/SmokePrototype/SimpleSmokePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/SmokePrototype/SimpleSmokePrototype.lua new file mode 100644 index 0000000..c3984ae --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/SmokePrototype/SimpleSmokePrototype.lua @@ -0,0 +1,4 @@ +-- Deprecated +return function(Baseless) + Baseless.Make.Gen("SmokePrototype", "smoke") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/SmokePrototype/SmokeWithTriggerPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/SmokePrototype/SmokeWithTriggerPrototype.lua new file mode 100644 index 0000000..d409039 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/SmokePrototype/SmokeWithTriggerPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("SmokePrototype", "smoke-with-trigger") +end diff --git a/prototypes/PrototypeBase/EntityPrototype/SpeechBubblePrototype.lua b/prototypes/PrototypeBase/EntityPrototype/SpeechBubblePrototype.lua new file mode 100644 index 0000000..3fe2027 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/SpeechBubblePrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "speech-bubble", {style = Baseless.Data.SpeechBubbleStyle}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/StickerPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/StickerPrototype.lua new file mode 100644 index 0000000..63fdf01 --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/StickerPrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "sticker", + {duration_in_ticks = Baseless.Data.uint32_positive}) +end diff --git a/prototypes/PrototypeBase/EntityPrototype/TileGhostPrototype.lua b/prototypes/PrototypeBase/EntityPrototype/TileGhostPrototype.lua new file mode 100644 index 0000000..d9a2e2e --- /dev/null +++ b/prototypes/PrototypeBase/EntityPrototype/TileGhostPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EntityPrototype", "tile-ghost") +end diff --git a/prototypes/PrototypeBase/EquipmentCategory.lua b/prototypes/PrototypeBase/EquipmentCategory.lua new file mode 100644 index 0000000..9b8055d --- /dev/null +++ b/prototypes/PrototypeBase/EquipmentCategory.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("PrototypeBase", "equipment-category") +end diff --git a/prototypes/PrototypeBase/EquipmentGridPrototype.lua b/prototypes/PrototypeBase/EquipmentGridPrototype.lua new file mode 100644 index 0000000..372002c --- /dev/null +++ b/prototypes/PrototypeBase/EquipmentGridPrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("PrototypeBase", "equipment-grid", { + equipment_categories = {Baseless.Data.EquipmentType}, + height = Baseless.Data.uint32, + width = Baseless.Data.uint32, + }, {{type = "equipment-category"}}) +end diff --git a/prototypes/PrototypeBase/EquipmentPrototype.lua b/prototypes/PrototypeBase/EquipmentPrototype.lua new file mode 100644 index 0000000..c689507 --- /dev/null +++ b/prototypes/PrototypeBase/EquipmentPrototype.lua @@ -0,0 +1,22 @@ +return function(Baseless) + Baseless.Make.EquipmentPrototype = function(type, name, prototype, dependencies) + return Baseless.Make.PrototypeBase(type, name, table.merge_new({ + sprite = Baseless.Graphics.Sprite, + shape = Baseless.Data.EquipmentShape, + categories = {Baseless.Data.EquipmentType}, + energy_source = Baseless.Data.ElectricEnergySource, + }, prototype), table.concat_new({ + {type = "equipment-category"}, {type = "item", name = Baseless.name_of(type, name)}, + }, dependencies)) + end + + require("prototypes.PrototypeBase.EquipmentPrototype.ActiveDefenseEquipmentPrototype")(Baseless) + require("prototypes.PrototypeBase.EquipmentPrototype.BatteryEquipmentPrototype")(Baseless) + require("prototypes.PrototypeBase.EquipmentPrototype.BeltImmunityEquipmentPrototype")(Baseless) + require("prototypes.PrototypeBase.EquipmentPrototype.EnergyShieldEquipmentPrototype")(Baseless) + require("prototypes.PrototypeBase.EquipmentPrototype.GeneratorEquipmentPrototype")(Baseless) + require("prototypes.PrototypeBase.EquipmentPrototype.MovementBonusEquipmentPrototype")(Baseless) + require("prototypes.PrototypeBase.EquipmentPrototype.NightVisionEquipmentPrototype")(Baseless) + require("prototypes.PrototypeBase.EquipmentPrototype.RoboportEquipmentPrototype")(Baseless) + require("prototypes.PrototypeBase.EquipmentPrototype.SolarPanelEquipmentPrototype")(Baseless) +end diff --git a/prototypes/PrototypeBase/EquipmentPrototype/ActiveDefenseEquipmentPrototype.lua b/prototypes/PrototypeBase/EquipmentPrototype/ActiveDefenseEquipmentPrototype.lua new file mode 100644 index 0000000..84890e0 --- /dev/null +++ b/prototypes/PrototypeBase/EquipmentPrototype/ActiveDefenseEquipmentPrototype.lua @@ -0,0 +1,6 @@ +return function(Baseless) + Baseless.Make.Gen("EquipmentPrototype", "active-defense-equipment", { + automatic = Baseless.Data.bool, + attack_parameters = Baseless.Data.BeamAttackParameters, + }) +end diff --git a/prototypes/PrototypeBase/EquipmentPrototype/BatteryEquipmentPrototype.lua b/prototypes/PrototypeBase/EquipmentPrototype/BatteryEquipmentPrototype.lua new file mode 100644 index 0000000..51241a9 --- /dev/null +++ b/prototypes/PrototypeBase/EquipmentPrototype/BatteryEquipmentPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EquipmentPrototype", "battery-equipment") +end diff --git a/prototypes/PrototypeBase/EquipmentPrototype/BeltImmunityEquipmentPrototype.lua b/prototypes/PrototypeBase/EquipmentPrototype/BeltImmunityEquipmentPrototype.lua new file mode 100644 index 0000000..8c94d3e --- /dev/null +++ b/prototypes/PrototypeBase/EquipmentPrototype/BeltImmunityEquipmentPrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("EquipmentPrototype", "belt-immunity-equipment", + {energy_consumption = Baseless.Data.Energy}) +end diff --git a/prototypes/PrototypeBase/EquipmentPrototype/EnergyShieldEquipmentPrototype.lua b/prototypes/PrototypeBase/EquipmentPrototype/EnergyShieldEquipmentPrototype.lua new file mode 100644 index 0000000..c293470 --- /dev/null +++ b/prototypes/PrototypeBase/EquipmentPrototype/EnergyShieldEquipmentPrototype.lua @@ -0,0 +1,6 @@ +return function(Baseless) + Baseless.Make.Gen("EquipmentPrototype", "energy-shield-equipment", { + max_shield_value = Baseless.Data.float, + energy_per_shield = Baseless.Data.Energy, + }) +end diff --git a/prototypes/PrototypeBase/EquipmentPrototype/GeneratorEquipmentPrototype.lua b/prototypes/PrototypeBase/EquipmentPrototype/GeneratorEquipmentPrototype.lua new file mode 100644 index 0000000..601824b --- /dev/null +++ b/prototypes/PrototypeBase/EquipmentPrototype/GeneratorEquipmentPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EquipmentPrototype", "generator-equipment", {power = Baseless.Data.Energy}) +end diff --git a/prototypes/PrototypeBase/EquipmentPrototype/MovementBonusEquipmentPrototype.lua b/prototypes/PrototypeBase/EquipmentPrototype/MovementBonusEquipmentPrototype.lua new file mode 100644 index 0000000..fedc003 --- /dev/null +++ b/prototypes/PrototypeBase/EquipmentPrototype/MovementBonusEquipmentPrototype.lua @@ -0,0 +1,6 @@ +return function(Baseless) + Baseless.Make.Gen("EquipmentPrototype", "movement-bonus-equipment", { + energy_consumption = Baseless.Data.Energy, + movement_bonus = Baseless.Data.double, + }) +end diff --git a/prototypes/PrototypeBase/EquipmentPrototype/NightVisionEquipmentPrototype.lua b/prototypes/PrototypeBase/EquipmentPrototype/NightVisionEquipmentPrototype.lua new file mode 100644 index 0000000..fa35b5f --- /dev/null +++ b/prototypes/PrototypeBase/EquipmentPrototype/NightVisionEquipmentPrototype.lua @@ -0,0 +1,6 @@ +return function(Baseless) + Baseless.Make.Gen("EquipmentPrototype", "night-vision-equipment", { + energy_input = Baseless.Data.Energy, + color_lookup = Baseless.Data.DaytimeColorLookupTable, + }) +end diff --git a/prototypes/PrototypeBase/EquipmentPrototype/RoboportEquipmentPrototype.lua b/prototypes/PrototypeBase/EquipmentPrototype/RoboportEquipmentPrototype.lua new file mode 100644 index 0000000..5cd7d58 --- /dev/null +++ b/prototypes/PrototypeBase/EquipmentPrototype/RoboportEquipmentPrototype.lua @@ -0,0 +1,9 @@ +return function(Baseless) + Baseless.Make.Gen("EquipmentPrototype", "roboport-equipment", { + recharging_animation = Baseless.Graphics.Animation, + spawn_and_station_height = Baseless.Data.float, + charge_approach_distance = Baseless.Data.float, + construction_radius = Baseless.Data.float, + charging_energy = Baseless.Data.Energy, + }) +end diff --git a/prototypes/PrototypeBase/EquipmentPrototype/SolarPanelEquipmentPrototype.lua b/prototypes/PrototypeBase/EquipmentPrototype/SolarPanelEquipmentPrototype.lua new file mode 100644 index 0000000..3c308ea --- /dev/null +++ b/prototypes/PrototypeBase/EquipmentPrototype/SolarPanelEquipmentPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("EquipmentPrototype", "solar-panel-equipment", {power = Baseless.Data.Energy}) +end diff --git a/prototypes/PrototypeBase/FluidPrototype.lua b/prototypes/PrototypeBase/FluidPrototype.lua new file mode 100644 index 0000000..5b83243 --- /dev/null +++ b/prototypes/PrototypeBase/FluidPrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("PrototypeBase", "fluid", table.merge_new(Baseless.Graphics.Icon, { + default_temperature = Baseless.Data.double, + base_color = Baseless.Data.Color, + flow_color = Baseless.Data.Color, + })) +end diff --git a/prototypes/PrototypeBase/FuelCategory.lua b/prototypes/PrototypeBase/FuelCategory.lua new file mode 100644 index 0000000..2160469 --- /dev/null +++ b/prototypes/PrototypeBase/FuelCategory.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("PrototypeBase", "fuel-category") +end diff --git a/prototypes/PrototypeBase/ItemGroup.lua b/prototypes/PrototypeBase/ItemGroup.lua new file mode 100644 index 0000000..10c6cb0 --- /dev/null +++ b/prototypes/PrototypeBase/ItemGroup.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("PrototypeBase", "item-group", Baseless.Graphics.Icon) +end diff --git a/prototypes/PrototypeBase/ItemPrototype.lua b/prototypes/PrototypeBase/ItemPrototype.lua new file mode 100644 index 0000000..7e4337c --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype.lua @@ -0,0 +1,16 @@ +return function(Baseless) + Baseless.Make.Def("PrototypeBase", "ItemPrototype", table.merge_new(Baseless.Graphics.Icon, { + stack_size = Baseless.Data.MinItemCount, + })) + Baseless.Make.Gen("ItemPrototype", "item") + + require("prototypes.PrototypeBase.ItemPrototype.AmmoItemPrototype")(Baseless) + require("prototypes.PrototypeBase.ItemPrototype.CapsulePrototype")(Baseless) + require("prototypes.PrototypeBase.ItemPrototype.GunPrototype")(Baseless) + require("prototypes.PrototypeBase.ItemPrototype.ItemWithEntityDataPrototype")(Baseless) + require("prototypes.PrototypeBase.ItemPrototype.ItemWithLabelPrototype")(Baseless) + require("prototypes.PrototypeBase.ItemPrototype.ModulePrototype")(Baseless) + require("prototypes.PrototypeBase.ItemPrototype.RailPlannerPrototype")(Baseless) + require("prototypes.PrototypeBase.ItemPrototype.SpidertronRemotePrototype")(Baseless) + require("prototypes.PrototypeBase.ItemPrototype.ToolPrototype")(Baseless) +end diff --git a/prototypes/PrototypeBase/ItemPrototype/AmmoItemPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/AmmoItemPrototype.lua new file mode 100644 index 0000000..ac925dd --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/AmmoItemPrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("ItemPrototype", "ammo", {ammo_type = Baseless.Data.AmmoType}, + {{type = "ammo-category"}}) +end diff --git a/prototypes/PrototypeBase/ItemPrototype/CapsulePrototype.lua b/prototypes/PrototypeBase/ItemPrototype/CapsulePrototype.lua new file mode 100644 index 0000000..de79f05 --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/CapsulePrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("ItemPrototype", "capsule", {capsule_action = Baseless.Data.ThrowCapsuleAction}, + {{type = "ammo-category"}}) +end diff --git a/prototypes/PrototypeBase/ItemPrototype/GunPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/GunPrototype.lua new file mode 100644 index 0000000..6fc0f39 --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/GunPrototype.lua @@ -0,0 +1,5 @@ +return function(Baseless) + Baseless.Make.Gen("ItemPrototype", "gun", + {attack_parameters = Baseless.Data.BeamAttackParameters}, + {{type = "ammo-category"}}) +end diff --git a/prototypes/PrototypeBase/ItemPrototype/ItemWithEntityDataPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/ItemWithEntityDataPrototype.lua new file mode 100644 index 0000000..34a5338 --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/ItemWithEntityDataPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("ItemPrototype", "item-with-entity-data") +end diff --git a/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype.lua new file mode 100644 index 0000000..5bd4525 --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype.lua @@ -0,0 +1,11 @@ +return function(Baseless) + Baseless.Make.Def("ItemPrototype", "ItemWithLabelPrototype") + Baseless.Make.Gen("ItemWithLabelPrototype", "item-with-label") + + require("prototypes.PrototypeBase.ItemPrototype.ItemWithLabelPrototype.ItemWithInventoryPrototype")( + Baseless) + require("prototypes.PrototypeBase.ItemPrototype.ItemWithLabelPrototype.ItemWithTagsPrototype")( + Baseless) + require("prototypes.PrototypeBase.ItemPrototype.ItemWithLabelPrototype.SelectionToolPrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/ItemWithInventoryPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/ItemWithInventoryPrototype.lua new file mode 100644 index 0000000..88a8c78 --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/ItemWithInventoryPrototype.lua @@ -0,0 +1,8 @@ +return function(Baseless) + Baseless.Make.Def("ItemWithLabelPrototype", "ItemWithInventoryPrototype") + Baseless.Make.Gen("ItemWithInventoryPrototype", "item-with-inventory") + + require( + "prototypes.PrototypeBase.ItemPrototype.ItemWithLabelPrototype.ItemWithInventoryPrototype.BlueprintBookPrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/ItemWithInventoryPrototype/BlueprintBookPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/ItemWithInventoryPrototype/BlueprintBookPrototype.lua new file mode 100644 index 0000000..da772ad --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/ItemWithInventoryPrototype/BlueprintBookPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("ItemWithInventoryPrototype", "blueprint-book") +end diff --git a/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/ItemWithTagsPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/ItemWithTagsPrototype.lua new file mode 100644 index 0000000..0baef4d --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/ItemWithTagsPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("ItemWithLabelPrototype", "item-with-tags") +end diff --git a/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/SelectionToolPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/SelectionToolPrototype.lua new file mode 100644 index 0000000..dfd6588 --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/SelectionToolPrototype.lua @@ -0,0 +1,24 @@ +return function(Baseless) + Baseless.Make.Def("ItemWithLabelPrototype", "SelectionToolPrototype", { + alt_selection_color = Baseless.Data.Color, + alt_selection_cursor_box_type = Baseless.Data.SelectionType, + alt_selection_mode = Baseless.Data.SelectionMode, + selection_color = Baseless.Data.Color, + selection_cursor_box_type = Baseless.Data.SelectionType, + selection_mode = Baseless.Data.SelectionMode, + }) + Baseless.Make.Gen("SelectionToolPrototype", "selection-tool") + + require( + "prototypes.PrototypeBase.ItemPrototype.ItemWithLabelPrototype.SelectionToolPrototype.BlueprintItemPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.ItemPrototype.ItemWithLabelPrototype.SelectionToolPrototype.CopyPasteToolPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.ItemPrototype.ItemWithLabelPrototype.SelectionToolPrototype.DeconstructionItemPrototype")( + Baseless) + require( + "prototypes.PrototypeBase.ItemPrototype.ItemWithLabelPrototype.SelectionToolPrototype.UpgradeItemPrototype")( + Baseless) +end diff --git a/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/SelectionToolPrototype/BlueprintItemPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/SelectionToolPrototype/BlueprintItemPrototype.lua new file mode 100644 index 0000000..cb0c8aa --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/SelectionToolPrototype/BlueprintItemPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("SelectionToolPrototype", "blueprint") +end diff --git a/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/SelectionToolPrototype/CopyPasteToolPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/SelectionToolPrototype/CopyPasteToolPrototype.lua new file mode 100644 index 0000000..ba25dfb --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/SelectionToolPrototype/CopyPasteToolPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("SelectionToolPrototype", "copy-paste-tool") +end diff --git a/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/SelectionToolPrototype/DeconstructionItemPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/SelectionToolPrototype/DeconstructionItemPrototype.lua new file mode 100644 index 0000000..9577988 --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/SelectionToolPrototype/DeconstructionItemPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("SelectionToolPrototype", "deconstruction-item") +end diff --git a/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/SelectionToolPrototype/UpgradeItemPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/SelectionToolPrototype/UpgradeItemPrototype.lua new file mode 100644 index 0000000..cc1a4f0 --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/ItemWithLabelPrototype/SelectionToolPrototype/UpgradeItemPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("SelectionToolPrototype", "upgrade-item") +end diff --git a/prototypes/PrototypeBase/ItemPrototype/ModulePrototype.lua b/prototypes/PrototypeBase/ItemPrototype/ModulePrototype.lua new file mode 100644 index 0000000..0ba5c97 --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/ModulePrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("ItemPrototype", "module", { + effect = Baseless.Data.Effect, + category = Baseless.Data.ModuleCategory, + tier = Baseless.Data.uint32, + }, {{type = "module-category"}}) +end diff --git a/prototypes/PrototypeBase/ItemPrototype/RailPlannerPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/RailPlannerPrototype.lua new file mode 100644 index 0000000..0be5238 --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/RailPlannerPrototype.lua @@ -0,0 +1,6 @@ +return function(Baseless) + Baseless.Make.Gen("ItemPrototype", "rail-planner", { + curved_rail = Baseless.Data.CurvedRailEntity, + straight_rail = Baseless.Data.StraightRailEntity, + }, {{type = "curved-rail"}, {type = "straight-rail"}}) +end diff --git a/prototypes/PrototypeBase/ItemPrototype/SpidertronRemotePrototype.lua b/prototypes/PrototypeBase/ItemPrototype/SpidertronRemotePrototype.lua new file mode 100644 index 0000000..ff0ce5f --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/SpidertronRemotePrototype.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("ItemPrototype", "spidertron-remote", + {icon_color_indicator_mask = Baseless.Graphics.Image}) +end diff --git a/prototypes/PrototypeBase/ItemPrototype/ToolPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/ToolPrototype.lua new file mode 100644 index 0000000..6a7082c --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/ToolPrototype.lua @@ -0,0 +1,10 @@ +return function(Baseless) + Baseless.Make.Def("ItemPrototype", "ToolPrototype", {infinite = not Baseless.Data.bool}) + Baseless.Make.Gen("ToolPrototype", "tool") + + require("prototypes.PrototypeBase.ItemPrototype.ToolPrototype.ArmorPrototype")(Baseless) + require("prototypes.PrototypeBase.ItemPrototype.ToolPrototype.RepairToolPrototype")(Baseless) + + -- Deprecated + require("prototypes.PrototypeBase.ItemPrototype.ToolPrototype.MiningToolPrototype")(Baseless) +end diff --git a/prototypes/PrototypeBase/ItemPrototype/ToolPrototype/ArmorPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/ToolPrototype/ArmorPrototype.lua new file mode 100644 index 0000000..68bfc10 --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/ToolPrototype/ArmorPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("ToolPrototype", "armor") +end diff --git a/prototypes/PrototypeBase/ItemPrototype/ToolPrototype/MiningToolPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/ToolPrototype/MiningToolPrototype.lua new file mode 100644 index 0000000..b5a3e60 --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/ToolPrototype/MiningToolPrototype.lua @@ -0,0 +1,4 @@ +-- Deprecated +return function(Baseless) + Baseless.Make.Gen("ToolPrototype", "mining-tool") +end diff --git a/prototypes/PrototypeBase/ItemPrototype/ToolPrototype/RepairToolPrototype.lua b/prototypes/PrototypeBase/ItemPrototype/ToolPrototype/RepairToolPrototype.lua new file mode 100644 index 0000000..e76e409 --- /dev/null +++ b/prototypes/PrototypeBase/ItemPrototype/ToolPrototype/RepairToolPrototype.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("ToolPrototype", "repair-tool", {speed = Baseless.Data.float}) +end diff --git a/prototypes/PrototypeBase/ItemSubGroup.lua b/prototypes/PrototypeBase/ItemSubGroup.lua new file mode 100644 index 0000000..e5807fe --- /dev/null +++ b/prototypes/PrototypeBase/ItemSubGroup.lua @@ -0,0 +1,4 @@ +return function(Baseless) + Baseless.Make.Gen("PrototypeBase", "item-subgroup", {group = Baseless.Data.ItemGroup}, + {{type = "item-group"}}) +end diff --git a/prototypes/PrototypeBase/ModuleCategory.lua b/prototypes/PrototypeBase/ModuleCategory.lua new file mode 100644 index 0000000..53aabd1 --- /dev/null +++ b/prototypes/PrototypeBase/ModuleCategory.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("PrototypeBase", "module-category") +end diff --git a/prototypes/PrototypeBase/ParticlePrototype.lua b/prototypes/PrototypeBase/ParticlePrototype.lua new file mode 100644 index 0000000..3c1ebe0 --- /dev/null +++ b/prototypes/PrototypeBase/ParticlePrototype.lua @@ -0,0 +1,6 @@ +return function(Baseless) + Baseless.Make.Gen("PrototypeBase", "optimized-particle", { + pictures = Baseless.Graphics.AnimationVariations, + life_time = Baseless.Data.uint16, + }) +end diff --git a/prototypes/PrototypeBase/RecipeCategory.lua b/prototypes/PrototypeBase/RecipeCategory.lua new file mode 100644 index 0000000..73942d7 --- /dev/null +++ b/prototypes/PrototypeBase/RecipeCategory.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("PrototypeBase", "recipe-category") +end diff --git a/prototypes/PrototypeBase/ResourceCategory.lua b/prototypes/PrototypeBase/ResourceCategory.lua new file mode 100644 index 0000000..cb2f50c --- /dev/null +++ b/prototypes/PrototypeBase/ResourceCategory.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("PrototypeBase", "resource-category") +end diff --git a/prototypes/PrototypeBase/TilePrototype.lua b/prototypes/PrototypeBase/TilePrototype.lua new file mode 100644 index 0000000..038c50b --- /dev/null +++ b/prototypes/PrototypeBase/TilePrototype.lua @@ -0,0 +1,9 @@ +return function(Baseless) + Baseless.Make.Gen("PrototypeBase", "tile", { + collision_mask = Baseless.Data.CollisionMask, + layer = Baseless.Data.uint8, + variants = Baseless.Graphics.Transitions, + map_color = Baseless.Data.Color, + pollution_absorption_per_second = Baseless.Data.double, + }) +end diff --git a/prototypes/PrototypeBase/TrivialSmokePrototype.lua b/prototypes/PrototypeBase/TrivialSmokePrototype.lua new file mode 100644 index 0000000..6cdadf4 --- /dev/null +++ b/prototypes/PrototypeBase/TrivialSmokePrototype.lua @@ -0,0 +1,7 @@ +return function(Baseless) + Baseless.Make.Gen("PrototypeBase", "trivial-smoke", { + animation = Baseless.Graphics.Animation, + duration = Baseless.Data.uint32_positive, + cyclic = Baseless.Data.Cyclic, + }) +end diff --git a/prototypes/PrototypeBase/VirtualSignalPrototype.lua b/prototypes/PrototypeBase/VirtualSignalPrototype.lua new file mode 100644 index 0000000..1897240 --- /dev/null +++ b/prototypes/PrototypeBase/VirtualSignalPrototype.lua @@ -0,0 +1,5 @@ +return function(Baseless) + Baseless.Make.Gen("PrototypeBase", "virtual-signal", table.merge_new(Baseless.Graphics.Icon, { + subgroup = Baseless.Data.ItemSubGroup, + }), {{type = "item-subgroup"}}) +end diff --git a/prototypes/TriggerTargetType.lua b/prototypes/TriggerTargetType.lua new file mode 100644 index 0000000..30e84d6 --- /dev/null +++ b/prototypes/TriggerTargetType.lua @@ -0,0 +1,3 @@ +return function(Baseless) + Baseless.Make.Gen("_Proto", "trigger-target-type") +end diff --git a/prototypes/_prototype.lua b/prototypes/_prototype.lua new file mode 100644 index 0000000..c946736 --- /dev/null +++ b/prototypes/_prototype.lua @@ -0,0 +1,28 @@ +return function(Baseless) + Baseless.Make = {} + + Baseless.Make.Def = function(parent, this, proto, deps) + Baseless.Make[this] = function(type, name, prototype, dependencies) + return Baseless.Make[parent](type, name, table.merge_new(proto or {}, prototype), + table.concat_new(deps or {}, dependencies)) + end + end + + Baseless.Make.Gen = function(parent, type, proto, deps) + Baseless.Make[type] = function(name, prototype, dependencies) + return Baseless.Make[parent](type, name, table.merge_new(proto or {}, prototype), + table.concat_new(deps or {}, dependencies)) + end + end + + Baseless.Make._Proto = function(type, name, prototype, dependencies) + return { + prototype = table.merge_new({type = type, name = Baseless.name_of(type, name)}, prototype), + dependencies = dependencies or {}, + } + end + + require("prototypes.MapSettings")(Baseless) + require("prototypes.PrototypeBase")(Baseless) + require("prototypes.TriggerTargetType")(Baseless) +end diff --git a/thumbnail.png b/thumbnail.png new file mode 100644 index 0000000..3b1c9cb Binary files /dev/null and b/thumbnail.png differ