Initial commit

This commit is contained in:
David Skrundz 2024-09-15 01:45:35 -06:00
commit 160a1ffbc1
Signed by: DavidSkrundz
GPG Key ID: D7006AAB6214A600
185 changed files with 2339 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.zip

33
.vscode/.lua-format vendored Normal file
View File

@ -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

5
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"recommendations": [
"koihik.vscode-lua-format",
],
}

11
.vscode/settings.json vendored Normal file
View File

@ -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"
}

6
CONTRIBUTING.md Normal file
View File

@ -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

7
LICENSE.md Normal file
View File

@ -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"

10
README.md Normal file
View File

@ -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)

9
baseless/_baseless.lua Normal file
View File

@ -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

148
baseless/data.lua Normal file
View File

@ -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

251
baseless/graphics.lua Normal file
View File

@ -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

5
baseless/logging.lua Normal file
View File

@ -0,0 +1,5 @@
return function(Baseless)
Baseless.log = function(success, block, message)
log(std.log.checkmark(success) .. " [" .. block .. "] " .. serpent.line(message))
end
end

17
baseless/register.lua Normal file
View File

@ -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

3
baseless/sound.lua Normal file
View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Sound = {filename = "__core__/sound/achievement-unlocked.ogg"}
end

5
changelog.txt Normal file
View File

@ -0,0 +1,5 @@
---------------------------------------------------------------------------------------------------
Version: 1.1.0
Date: 15.09.2024
Major Features:
- Full rewrite supporting 1.1

200
data-final-fixes.lua Normal file
View File

@ -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")

14
info.json Normal file
View File

@ -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"
]
}

35
package.py Executable file
View File

@ -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}")

135
prototypes/MapSettings.lua Normal file
View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("PrototypeBase", "ammo-category")
end

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("PrototypeBase", "damage-type")
end

View File

@ -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

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("EntityPrototype", "arrow", {arrow_picture = Baseless.Graphics.Sprite})
end

View File

@ -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

View File

@ -0,0 +1,4 @@
return function(Baseless)
Baseless.Make.Gen("EntityPrototype", "artillery-projectile",
{reveal_map = Baseless.Data.bool, map_color = Baseless.Data.Color})
end

View File

@ -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

View File

@ -0,0 +1,4 @@
return function(Baseless)
Baseless.Make.Gen("EntityPrototype", "character-corpse",
{time_to_live = Baseless.Data.uint32, picture = Baseless.Graphics.Animation})
end

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("EntityPrototype", "deconstructible-tile-proxy")
end

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("EntityPrototype", "entity-ghost")
end

View File

@ -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

View File

@ -0,0 +1,4 @@
-- Deprecated
return function(Baseless)
Baseless.Make.Gen("EntityParticlePrototype", "leaf-particle")
end

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("CombinatorPrototype", "arithmetic-combinator")
end

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("CombinatorPrototype", "decider-combinator")
end

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,4 @@
return function(Baseless)
Baseless.Make.Gen("EntityWithOwnerPrototype", "electric-energy-interface",
{energy_source = Baseless.Data.ElectricEnergySource})
end

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,4 @@
return function(Baseless)
Baseless.Make.Gen("RobotWithLogisticInterfacePrototype", "construction-robot",
{construction_vector = Baseless.Data.Vector})
end

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("RobotWithLogisticInterfacePrototype", "logistic-robot")
end

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,4 @@
return function(Baseless)
Baseless.Make.Gen("EntityWithOwnerPrototype", "heat-interface",
{heat_buffer = Baseless.Data.HeatBuffer})
end

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,4 @@
return function(Baseless)
Baseless.Make.Gen("EntityWithOwnerPrototype", "linked-container",
{inventory_size = Baseless.Data.MinItemStack})
end

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("EntityWithOwnerPrototype", "market", {picture = Baseless.Graphics.Sprite})
end

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("PipePrototype", "infinity-pipe")
end

View File

@ -0,0 +1,6 @@
return function(Baseless)
Baseless.Make.Gen("EntityWithOwnerPrototype", "pipe-to-ground", {
fluid_box = Baseless.Data.FluidBox,
pictures = Baseless.Graphics.PipeToGroundPictures,
})
end

View File

@ -0,0 +1,4 @@
return function(Baseless)
Baseless.Make.Gen("EntityWithOwnerPrototype", "player-port",
{animation = Baseless.Graphics.Animation})
end

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("RailPrototype", "curved-rail")
end

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("RailPrototype", "straight-rail")
end

View File

@ -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

View File

@ -0,0 +1,4 @@
return function(Baseless)
Baseless.Make.Gen("RailSignalBasePrototype", "rail-chain-signal",
{selection_box_offsets = Baseless.Data.RailChainSignalBoxOffsets})
end

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("RailSignalBasePrototype", "rail-signal")
end

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("SimpleEntityWithOwnerPrototype", "simple-entity-with-force")
end

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,4 @@
return function(Baseless)
Baseless.Make.Gen("EntityWithOwnerPrototype", "train-stop",
{animation_ticks_per_frame = Baseless.Data.uint32})
end

View File

@ -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

View File

@ -0,0 +1,4 @@
return function(Baseless)
Baseless.Make.Gen("TransportBeltConnectablePrototype", "linked-belt",
{structure = Baseless.Graphics.LinkedBeltStructure})
end

View File

@ -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

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("LoaderPrototype", "loader-1x1")
end

View File

@ -0,0 +1,3 @@
return function(Baseless)
Baseless.Make.Gen("LoaderPrototype", "loader", {tile_height = Baseless.Data.LoaderTileHeight})
end

View File

@ -0,0 +1,6 @@
return function(Baseless)
Baseless.Make.Gen("TransportBeltConnectablePrototype", "splitter", {
structure = Baseless.Graphics.Animation4Way,
tile_width = Baseless.Data.SplitterTileWidth,
})
end

Some files were not shown because too many files have changed in this diff Show More