From cca2c2a70f7f3cc9046d5dfb0362b19bab5832f5 Mon Sep 17 00:00:00 2001 From: David Skrundz Date: Tue, 21 Apr 2020 22:35:40 -0600 Subject: [PATCH] Good enough to launch game --- .gitignore | 1 + Baseless.lua | 274 ++++++++++++++++++ README.md | 5 + data-final-fixes.lua | 198 +++++++++++++ data.lua | 1 + helpers/CreateAssemblingMachine.lua | 3 + helpers/CreateCombinator.lua | 20 ++ helpers/CreateContainer.lua | 12 + helpers/CreateCorpse.lua | 3 + helpers/CreateCraftingMachine.lua | 18 ++ helpers/CreateEntity.lua | 16 + helpers/CreateEntityWithHealth.lua | 3 + helpers/CreateEquipment.lua | 30 ++ helpers/CreateExplosion.lua | 11 + helpers/CreateFlyingRobot.lua | 11 + helpers/CreateItem.lua | 17 ++ helpers/CreateItemWithInventory.lua | 11 + helpers/CreateItemWithLabel.lua | 3 + helpers/CreateItemWithTags.lua | 3 + helpers/CreateLogisticContainer.lua | 11 + helpers/CreatePipe.lua | 43 +++ helpers/CreatePrototype.lua | 22 ++ helpers/CreateRail.lua | 38 +++ helpers/CreateRailSignalBase.lua | 11 + helpers/CreateRobotWithLogisticInterface.lua | 12 + helpers/CreateRollingStock.lua | 19 ++ helpers/CreateSelectionTool.lua | 16 + helpers/CreateSmoke.lua | 11 + helpers/CreateTool.lua | 11 + helpers/CreateTransportBeltConnectable.lua | 20 ++ helpers/CreateTurret.lua | 17 ++ helpers/CreateVehicle.lua | 14 + helpers/MergeTables.lua | 13 + info.json | 13 + package.py | 30 ++ prototypes/category/ammo.lua | 3 + prototypes/category/damage.lua | 26 ++ prototypes/category/equipment.lua | 3 + prototypes/category/fuel.lua | 3 + prototypes/category/module.lua | 3 + prototypes/category/recipe.lua | 14 + prototypes/category/resource.lua | 14 + prototypes/category/trigger-target.lua | 21 ++ prototypes/entity/accumulator.lua | 6 + prototypes/entity/ammo-turret.lua | 4 + prototypes/entity/arithmetic-combinator.lua | 13 + prototypes/entity/arrow.lua | 3 + prototypes/entity/artillery-flare.lua | 5 + prototypes/entity/artillery-projectile.lua | 4 + prototypes/entity/artillery-turret.lua | 8 + prototypes/entity/artillery-wagon.lua | 7 + prototypes/entity/assembling-machine.lua | 1 + prototypes/entity/beacon.lua | 10 + prototypes/entity/beam.lua | 7 + prototypes/entity/boiler.lua | 17 ++ prototypes/entity/burner-generator.lua | 8 + prototypes/entity/car.lua | 8 + prototypes/entity/cargo-wagon.lua | 3 + prototypes/entity/character-corpse.lua | 4 + prototypes/entity/character.lua | 31 ++ prototypes/entity/cliff.lua | 34 +++ prototypes/entity/combat-robot.lua | 10 + prototypes/entity/constant-combinator.lua | 7 + prototypes/entity/construction-robot.lua | 3 + prototypes/entity/container.lua | 1 + prototypes/entity/corpse.lua | 1 + prototypes/entity/curved-rail.lua | 3 + prototypes/entity/decider-combinator.lua | 8 + .../entity/deconstructible-tile-proxy.lua | 1 + prototypes/entity/decorative.lua | 1 + .../entity/electric-energy-interface.lua | 3 + prototypes/entity/electric-pole.lua | 5 + prototypes/entity/electric-turret.lua | 3 + prototypes/entity/entity-ghost.lua | 1 + prototypes/entity/explosion.lua | 1 + prototypes/entity/fire.lua | 7 + prototypes/entity/fish.lua | 3 + prototypes/entity/flame-thrower-explosion.lua | 6 + prototypes/entity/fluid-turret.lua | 7 + prototypes/entity/fluid-wagon.lua | 3 + prototypes/entity/flying-text.lua | 4 + prototypes/entity/furnace.lua | 4 + prototypes/entity/gate.lua | 16 + prototypes/entity/generator.lua | 10 + prototypes/entity/heat-interface.lua | 3 + prototypes/entity/heat-pipe.lua | 25 ++ prototypes/entity/highlight-box.lua | 1 + prototypes/entity/infinity-container.lua | 3 + prototypes/entity/infinity-pipe.lua | 1 + prototypes/entity/inserter.lua | 15 + prototypes/entity/item-entity.lua | 1 + prototypes/entity/item-request-proxy.lua | 3 + prototypes/entity/lab.lua | 9 + prototypes/entity/lamp.lua | 6 + prototypes/entity/land-mine.lua | 5 + prototypes/entity/leaf-particle.lua | 7 + prototypes/entity/loader-1x1.lua | 8 + prototypes/entity/loader.lua | 8 + prototypes/entity/locomotive.lua | 5 + prototypes/entity/logistic-container.lua | 1 + prototypes/entity/logistic-robot.lua | 1 + prototypes/entity/market.lua | 3 + prototypes/entity/mining-drill.lua | 11 + prototypes/entity/offshore-pump.lua | 11 + prototypes/entity/particle-source.lua | 10 + prototypes/entity/particle.lua | 7 + prototypes/entity/pipe-to-ground.lua | 10 + prototypes/entity/pipe.lua | 1 + prototypes/entity/player-port.lua | 3 + prototypes/entity/power-switch.lua | 11 + prototypes/entity/programmable-speaker.lua | 7 + prototypes/entity/projectile.lua | 4 + prototypes/entity/pump.lua | 7 + prototypes/entity/radar.lua | 9 + prototypes/entity/rail-chain-signal.lua | 13 + prototypes/entity/rail-remnants.lua | 6 + prototypes/entity/rail-signal.lua | 3 + prototypes/entity/reactor.lua | 6 + prototypes/entity/resource.lua | 8 + prototypes/entity/roboport.lua | 19 ++ .../entity/rocket-silo-rocket-shadow.lua | 1 + prototypes/entity/rocket-silo-rocket.lua | 31 ++ prototypes/entity/rocket-silo.lua | 34 +++ .../entity/simple-entity-with-force.lua | 3 + .../entity/simple-entity-with-owner.lua | 3 + prototypes/entity/simple-entity.lua | 3 + prototypes/entity/smoke-with-trigger.lua | 1 + prototypes/entity/smoke.lua | 8 + prototypes/entity/solar-panel.lua | 5 + prototypes/entity/speech-bubble.lua | 3 + prototypes/entity/splitter.lua | 3 + prototypes/entity/sticker.lua | 3 + prototypes/entity/storage-tank.lua | 13 + prototypes/entity/straight-rail.lua | 3 + prototypes/entity/stream.lua | 6 + prototypes/entity/tile-ghost.lua | 1 + prototypes/entity/train-stop.lua | 3 + prototypes/entity/transport-belt.lua | 4 + prototypes/entity/tree.lua | 3 + prototypes/entity/turret.lua | 1 + prototypes/entity/underground-belt.lua | 9 + prototypes/entity/unit-spawner.lua | 28 ++ prototypes/entity/unit.lua | 13 + prototypes/entity/wall.lua | 13 + .../equipment/active-defense-equipment.lua | 6 + prototypes/equipment/battery-equipment.lua | 1 + .../equipment/belt-immunity-equipment.lua | 3 + .../equipment/energy-shield-equipment.lua | 4 + prototypes/equipment/generator-equipment.lua | 4 + .../equipment/movement-bonus-equipment.lua | 4 + .../equipment/night-vision-equipment.lua | 5 + prototypes/equipment/roboport-equipment.lua | 7 + .../equipment/solar-panel-equipment.lua | 3 + prototypes/item-group.lua | 16 + prototypes/item/ammo.lua | 5 + prototypes/item/armor.lua | 1 + prototypes/item/blueprint-book.lua | 1 + prototypes/item/blueprint.lua | 1 + prototypes/item/capsule.lua | 9 + prototypes/item/copper-cable.lua | 14 + prototypes/item/copy-paste-tool.lua | 1 + prototypes/item/deconstruction-item.lua | 1 + prototypes/item/green-wire.lua | 14 + prototypes/item/gun.lua | 5 + prototypes/item/item-with-entity-data.lua | 1 + prototypes/item/item-with-inventory.lua | 1 + prototypes/item/item-with-label.lua | 1 + prototypes/item/item-with-tags.lua | 1 + prototypes/item/item.lua | 1 + prototypes/item/mining-tool.lua | 1 + prototypes/item/module.lua | 7 + prototypes/item/rail-planner.lua | 6 + prototypes/item/red-wire.lua | 14 + prototypes/item/repair-tool.lua | 3 + prototypes/item/science.lua | 15 + prototypes/item/selection-tool.lua | 1 + prototypes/item/tool.lua | 1 + prototypes/item/upgrade-item.lua | 1 + prototypes/map-settings.lua | 120 ++++++++ prototypes/other/equipment-grid.lua | 14 + prototypes/other/fluid.lua | 11 + prototypes/other/optimized-particle.lua | 8 + prototypes/other/tile.lua | 7 + prototypes/other/trivial-smoke.lua | 13 + prototypes/other/virtual-signal.lua | 41 +++ 185 files changed, 2128 insertions(+) create mode 100644 .gitignore create mode 100644 Baseless.lua create mode 100644 README.md create mode 100644 data-final-fixes.lua create mode 100644 data.lua create mode 100644 helpers/CreateAssemblingMachine.lua create mode 100644 helpers/CreateCombinator.lua create mode 100644 helpers/CreateContainer.lua create mode 100644 helpers/CreateCorpse.lua create mode 100644 helpers/CreateCraftingMachine.lua create mode 100644 helpers/CreateEntity.lua create mode 100644 helpers/CreateEntityWithHealth.lua create mode 100644 helpers/CreateEquipment.lua create mode 100644 helpers/CreateExplosion.lua create mode 100644 helpers/CreateFlyingRobot.lua create mode 100644 helpers/CreateItem.lua create mode 100644 helpers/CreateItemWithInventory.lua create mode 100644 helpers/CreateItemWithLabel.lua create mode 100644 helpers/CreateItemWithTags.lua create mode 100644 helpers/CreateLogisticContainer.lua create mode 100644 helpers/CreatePipe.lua create mode 100644 helpers/CreatePrototype.lua create mode 100644 helpers/CreateRail.lua create mode 100644 helpers/CreateRailSignalBase.lua create mode 100644 helpers/CreateRobotWithLogisticInterface.lua create mode 100644 helpers/CreateRollingStock.lua create mode 100644 helpers/CreateSelectionTool.lua create mode 100644 helpers/CreateSmoke.lua create mode 100644 helpers/CreateTool.lua create mode 100644 helpers/CreateTransportBeltConnectable.lua create mode 100644 helpers/CreateTurret.lua create mode 100644 helpers/CreateVehicle.lua create mode 100644 helpers/MergeTables.lua create mode 100644 info.json create mode 100644 package.py create mode 100644 prototypes/category/ammo.lua create mode 100644 prototypes/category/damage.lua create mode 100644 prototypes/category/equipment.lua create mode 100644 prototypes/category/fuel.lua create mode 100644 prototypes/category/module.lua create mode 100644 prototypes/category/recipe.lua create mode 100644 prototypes/category/resource.lua create mode 100644 prototypes/category/trigger-target.lua create mode 100644 prototypes/entity/accumulator.lua create mode 100644 prototypes/entity/ammo-turret.lua create mode 100644 prototypes/entity/arithmetic-combinator.lua create mode 100644 prototypes/entity/arrow.lua create mode 100644 prototypes/entity/artillery-flare.lua create mode 100644 prototypes/entity/artillery-projectile.lua create mode 100644 prototypes/entity/artillery-turret.lua create mode 100644 prototypes/entity/artillery-wagon.lua create mode 100644 prototypes/entity/assembling-machine.lua create mode 100644 prototypes/entity/beacon.lua create mode 100644 prototypes/entity/beam.lua create mode 100644 prototypes/entity/boiler.lua create mode 100644 prototypes/entity/burner-generator.lua create mode 100644 prototypes/entity/car.lua create mode 100644 prototypes/entity/cargo-wagon.lua create mode 100644 prototypes/entity/character-corpse.lua create mode 100644 prototypes/entity/character.lua create mode 100644 prototypes/entity/cliff.lua create mode 100644 prototypes/entity/combat-robot.lua create mode 100644 prototypes/entity/constant-combinator.lua create mode 100644 prototypes/entity/construction-robot.lua create mode 100644 prototypes/entity/container.lua create mode 100644 prototypes/entity/corpse.lua create mode 100644 prototypes/entity/curved-rail.lua create mode 100644 prototypes/entity/decider-combinator.lua create mode 100644 prototypes/entity/deconstructible-tile-proxy.lua create mode 100644 prototypes/entity/decorative.lua create mode 100644 prototypes/entity/electric-energy-interface.lua create mode 100644 prototypes/entity/electric-pole.lua create mode 100644 prototypes/entity/electric-turret.lua create mode 100644 prototypes/entity/entity-ghost.lua create mode 100644 prototypes/entity/explosion.lua create mode 100644 prototypes/entity/fire.lua create mode 100644 prototypes/entity/fish.lua create mode 100644 prototypes/entity/flame-thrower-explosion.lua create mode 100644 prototypes/entity/fluid-turret.lua create mode 100644 prototypes/entity/fluid-wagon.lua create mode 100644 prototypes/entity/flying-text.lua create mode 100644 prototypes/entity/furnace.lua create mode 100644 prototypes/entity/gate.lua create mode 100644 prototypes/entity/generator.lua create mode 100644 prototypes/entity/heat-interface.lua create mode 100644 prototypes/entity/heat-pipe.lua create mode 100644 prototypes/entity/highlight-box.lua create mode 100644 prototypes/entity/infinity-container.lua create mode 100644 prototypes/entity/infinity-pipe.lua create mode 100644 prototypes/entity/inserter.lua create mode 100644 prototypes/entity/item-entity.lua create mode 100644 prototypes/entity/item-request-proxy.lua create mode 100644 prototypes/entity/lab.lua create mode 100644 prototypes/entity/lamp.lua create mode 100644 prototypes/entity/land-mine.lua create mode 100644 prototypes/entity/leaf-particle.lua create mode 100644 prototypes/entity/loader-1x1.lua create mode 100644 prototypes/entity/loader.lua create mode 100644 prototypes/entity/locomotive.lua create mode 100644 prototypes/entity/logistic-container.lua create mode 100644 prototypes/entity/logistic-robot.lua create mode 100644 prototypes/entity/market.lua create mode 100644 prototypes/entity/mining-drill.lua create mode 100644 prototypes/entity/offshore-pump.lua create mode 100644 prototypes/entity/particle-source.lua create mode 100644 prototypes/entity/particle.lua create mode 100644 prototypes/entity/pipe-to-ground.lua create mode 100644 prototypes/entity/pipe.lua create mode 100644 prototypes/entity/player-port.lua create mode 100644 prototypes/entity/power-switch.lua create mode 100644 prototypes/entity/programmable-speaker.lua create mode 100644 prototypes/entity/projectile.lua create mode 100644 prototypes/entity/pump.lua create mode 100644 prototypes/entity/radar.lua create mode 100644 prototypes/entity/rail-chain-signal.lua create mode 100644 prototypes/entity/rail-remnants.lua create mode 100644 prototypes/entity/rail-signal.lua create mode 100644 prototypes/entity/reactor.lua create mode 100644 prototypes/entity/resource.lua create mode 100644 prototypes/entity/roboport.lua create mode 100644 prototypes/entity/rocket-silo-rocket-shadow.lua create mode 100644 prototypes/entity/rocket-silo-rocket.lua create mode 100644 prototypes/entity/rocket-silo.lua create mode 100644 prototypes/entity/simple-entity-with-force.lua create mode 100644 prototypes/entity/simple-entity-with-owner.lua create mode 100644 prototypes/entity/simple-entity.lua create mode 100644 prototypes/entity/smoke-with-trigger.lua create mode 100644 prototypes/entity/smoke.lua create mode 100644 prototypes/entity/solar-panel.lua create mode 100644 prototypes/entity/speech-bubble.lua create mode 100644 prototypes/entity/splitter.lua create mode 100644 prototypes/entity/sticker.lua create mode 100644 prototypes/entity/storage-tank.lua create mode 100644 prototypes/entity/straight-rail.lua create mode 100644 prototypes/entity/stream.lua create mode 100644 prototypes/entity/tile-ghost.lua create mode 100644 prototypes/entity/train-stop.lua create mode 100644 prototypes/entity/transport-belt.lua create mode 100644 prototypes/entity/tree.lua create mode 100644 prototypes/entity/turret.lua create mode 100644 prototypes/entity/underground-belt.lua create mode 100644 prototypes/entity/unit-spawner.lua create mode 100644 prototypes/entity/unit.lua create mode 100644 prototypes/entity/wall.lua create mode 100644 prototypes/equipment/active-defense-equipment.lua create mode 100644 prototypes/equipment/battery-equipment.lua create mode 100644 prototypes/equipment/belt-immunity-equipment.lua create mode 100644 prototypes/equipment/energy-shield-equipment.lua create mode 100644 prototypes/equipment/generator-equipment.lua create mode 100644 prototypes/equipment/movement-bonus-equipment.lua create mode 100644 prototypes/equipment/night-vision-equipment.lua create mode 100644 prototypes/equipment/roboport-equipment.lua create mode 100644 prototypes/equipment/solar-panel-equipment.lua create mode 100644 prototypes/item-group.lua create mode 100644 prototypes/item/ammo.lua create mode 100644 prototypes/item/armor.lua create mode 100644 prototypes/item/blueprint-book.lua create mode 100644 prototypes/item/blueprint.lua create mode 100644 prototypes/item/capsule.lua create mode 100644 prototypes/item/copper-cable.lua create mode 100644 prototypes/item/copy-paste-tool.lua create mode 100644 prototypes/item/deconstruction-item.lua create mode 100644 prototypes/item/green-wire.lua create mode 100644 prototypes/item/gun.lua create mode 100644 prototypes/item/item-with-entity-data.lua create mode 100644 prototypes/item/item-with-inventory.lua create mode 100644 prototypes/item/item-with-label.lua create mode 100644 prototypes/item/item-with-tags.lua create mode 100644 prototypes/item/item.lua create mode 100644 prototypes/item/mining-tool.lua create mode 100644 prototypes/item/module.lua create mode 100644 prototypes/item/rail-planner.lua create mode 100644 prototypes/item/red-wire.lua create mode 100644 prototypes/item/repair-tool.lua create mode 100644 prototypes/item/science.lua create mode 100644 prototypes/item/selection-tool.lua create mode 100644 prototypes/item/tool.lua create mode 100644 prototypes/item/upgrade-item.lua create mode 100644 prototypes/map-settings.lua create mode 100644 prototypes/other/equipment-grid.lua create mode 100644 prototypes/other/fluid.lua create mode 100644 prototypes/other/optimized-particle.lua create mode 100644 prototypes/other/tile.lua create mode 100644 prototypes/other/trivial-smoke.lua create mode 100644 prototypes/other/virtual-signal.lua diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c4c4ffc --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.zip diff --git a/Baseless.lua b/Baseless.lua new file mode 100644 index 0000000..6172335 --- /dev/null +++ b/Baseless.lua @@ -0,0 +1,274 @@ +Baseless = {} +Baseless.Needs = {} + + +-- FIXME +Baseless.RenderLayer = "water-tile" + +Baseless.Image = "__core__/graphics/empty.png" +Baseless.Image32 = "__core__/graphics/factorio-icon.png" +Baseless.Sound = +{ + filename = "__core__/sound/achievement-unlocked.ogg", +} + +Baseless.RotatedAnimation = +{ + filename = Baseless.Image, + size = 1, + direction_count = 18, +} +Baseless.RotatedAnimation32 = +{ + filename = Baseless.Image32, + size = 1, + direction_count = 18, +} +Baseless.RotatedAnimation4Way = Baseless.RotatedAnimation +Baseless.RotatedAnimation4Way32 = Baseless.RotatedAnimation32 +-- END + + + +Baseless._AmmoType = {category = "dummy-ammo-category"} +Baseless.AmmoType = function (register) + if register then + Baseless.Needs.AmmoType = true + end + return Baseless._AmmoType +end + +Baseless.AttackParameters = {} +Baseless.AttackParameters._Stream = +{ + type = "stream", + range = 0, + cooldown = 0, + ammo_type = Baseless._AmmoType, + animation = Baseless.RotatedAnimation32, +} +Baseless.AttackParameters.Stream = function (register) + if register then + Baseless.AmmoType(true) + end + return Baseless.AttackParameters._Stream +end + + +Baseless._DamagePrototype = +{ + amount = 1, + type = "dummy-damage-type", +} +Baseless.DamagePrototype = function (register) + if register then + Baseless.Needs.DamageType = true + end + return Baseless._DamagePrototype +end + + +Baseless.EnergySource = {} +Baseless.EnergySource._Burner = +{ + type = "burner", + fuel_inventory_size = 0, + fuel_category = "dummy-fuel-category", +} +Baseless.EnergySource.Burner = function (register) + if register then + Baseless.Needs.FuelType = true + end + return Baseless.EnergySource._Burner +end + +Baseless.EnergySource.Electric = +{ + type = "electric", + usage_priority = "tertiary", +} + +Baseless.EnergySource.Void = +{ + type = "void", + usage_priority = "tertiary", +} + + +Baseless._ModuleType = "dummy-module-category" +Baseless.ModuleType = function (register) + if register then + Baseless.Needs.ModuleType = true + end + return Baseless._ModuleType +end + + +Baseless._RecipeType = "dummy-recipe-category" +Baseless.RecipeType = function (register) + if register then + Baseless.Needs.RecipeType = true + end + return Baseless._RecipeType +end + + +Baseless._ResourceType = "dummy-resource-category" +Baseless.ResourceType = function (register) + if register then + Baseless.Needs.ResourceType = true + end + return Baseless._ResourceType +end + + +Baseless._ScienceType = "dummy-science-pack" +Baseless.ScienceType = function (register) + if register then + Baseless.Needs.ScienceType = true + end + return Baseless._ScienceType +end + + + +-- FIXME + +Baseless.IconSpecification = +{ + icon = Baseless.Image, + icon_size = 1, +} + +Baseless.BoundingBox = {{0, 0}, {0, 0}} + +Baseless.Color = {0, 0, 0} + +Baseless.Sprite = +{ + filename = Baseless.Image32, + size = 1, +} +Baseless.RotatedSprite = +{ + filename = Baseless.Image, + size = 1, + direction_count = 1, +} + +Baseless.SpriteVariations = +{ + sheet = Baseless.Sprite, +} + +Baseless.Animation = +{ + filename = Baseless.Image32, + size = 1, + variation_count = 12, +} +Baseless.Animation4Way = Baseless.Animation +Baseless.AnimationVariations = +{ + sheet = Baseless.Animation, +} + +Baseless.RotatedAnimation = +{ + filename = Baseless.Image32, + size = 1, + direction_count = 18, +} +Baseless.RotatedAnimation4Way = Baseless.RotatedAnimation + +Baseless.Sprite4Way = Baseless.Sprite +Baseless.Sprite8Way = +{ + sheets = {Baseless.Sprite}, +} + +Baseless.CombinatorOffsets = +{ + {0, 0}, + {0, 0}, + {0, 0}, + {0, 0}, +} + +Baseless.WireConnectionPoint = {} +Baseless.WireConnectionPoint.Combinator = +{ + {wire = {}, shadow = {}}, + {wire = {}, shadow = {}}, + {wire = {}, shadow = {}}, + {wire = {}, shadow = {}}, +} +Baseless.WireConnectionPoint.Pole = +{ + {wire = {}, shadow = {}}, +} +Baseless.WireConnectionPoint.PowerSwitch = {wire = {}, shadow = {}} + +Baseless.FluidBox = {pipe_connections = {}} + +Baseless.HeatBuffer = +{ + max_temperature = 15, + specific_heat = "1W", + max_transfer = "1W", +} + +Baseless.TransportBeltConnectorFrame = +{ + frame_main = Baseless.AnimationVariations, + frame_shadow = Baseless.AnimationVariations, + frame_main_scanner = Baseless.Animation, + frame_main_scanner_movement_speed = 1, + frame_main_scanner_horizontal_start_shift = {0, 0}, + frame_main_scanner_horizontal_end_shift = {0, 0}, + frame_main_scanner_horizontal_y_scale = 1, + frame_main_scanner_horizontal_rotation = 0, + frame_main_scanner_vertical_start_shift = {0, 0}, + frame_main_scanner_vertical_end_shift = {0, 0}, + frame_main_scanner_vertical_y_scale = 1, + frame_main_scanner_vertical_rotation = 0, + frame_main_scanner_cross_horizontal_start_shift = {0, 0}, + frame_main_scanner_cross_horizontal_end_shift = {0, 0}, + frame_main_scanner_cross_horizontal_y_scale = 1, + frame_main_scanner_cross_horizontal_rotation = 0, + frame_main_scanner_cross_vertical_start_shift = {0, 0}, + frame_main_scanner_cross_vertical_end_shift = {0, 0}, + frame_main_scanner_cross_vertical_y_scale = 1, + frame_main_scanner_cross_vertical_rotation = 0, + frame_main_scanner_nw_ne = Baseless.Animation, + frame_main_scanner_sw_se = Baseless.Animation, +} + +Baseless.BeltAnimation = +{ + filename = Baseless.Image32, + size = 1, + variation_count = 1, + direction_count = 12, +} + +Baseless.EquipmentShape = +{ + width = 1, + height = 1, + type = "full", +} + +Baseless.TileTransitionSprite = +{ + count = 1, + picture = Baseless.Image32, + size = 1, +} +Baseless.Transitions = +{ + main = {Baseless.TileTransitionSprite}, + empty_transitions = true, +} + +-- END diff --git a/README.md b/README.md new file mode 100644 index 0000000..eb3e7d3 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# Baseless + +Defines missing prototypes required to launch the game. + +**Incompatible with the base mod.** diff --git a/data-final-fixes.lua b/data-final-fixes.lua new file mode 100644 index 0000000..f861186 --- /dev/null +++ b/data-final-fixes.lua @@ -0,0 +1,198 @@ +require("Baseless") + +require("helpers.MergeTables") + +-- Prototype Hierarchy +require("helpers.CreatePrototype") + require("helpers.CreateItem") + require("helpers.CreateItemWithLabel") + require("helpers.CreateItemWithInventory") + require("helpers.CreateItemWithTags") + require("helpers.CreateSelectionTool") + require("helpers.CreateTool") + require("helpers.CreateEntity") + require("helpers.CreateCorpse") + require("helpers.CreateEntityWithHealth") + require("helpers.CreateCombinator") + require("helpers.CreateContainer") + require("helpers.CreateLogisticContainer") + require("helpers.CreateCraftingMachine") + require("helpers.CreateAssemblingMachine") + require("helpers.CreateFlyingRobot") + require("helpers.CreateRobotWithLogisticInterface") + require("helpers.CreatePipe") + require("helpers.CreateRail") + require("helpers.CreateRailSignalBase") + require("helpers.CreateTransportBeltConnectable") + require("helpers.CreateTurret") + require("helpers.CreateVehicle") + require("helpers.CreateRollingStock") + require("helpers.CreateExplosion") + require("helpers.CreateSmoke") + require("helpers.CreateEquipment") + +-- Items +require("prototypes.item.ammo") +require("prototypes.item.armor") +require("prototypes.item.blueprint") +require("prototypes.item.blueprint-book") +require("prototypes.item.capsule") +require("prototypes.item.copy-paste-tool") +require("prototypes.item.deconstruction-item") +require("prototypes.item.gun") +require("prototypes.item.item") +require("prototypes.item.item-with-entity-data") +require("prototypes.item.item-with-inventory") +require("prototypes.item.item-with-label") +require("prototypes.item.item-with-tags") +require("prototypes.item.mining-tool") +require("prototypes.item.module") +require("prototypes.item.rail-planner") +require("prototypes.item.repair-tool") +require("prototypes.item.selection-tool") +require("prototypes.item.tool") +require("prototypes.item.upgrade-item") + +-- Entities (depends on above) + + +-- Entities +require("prototypes.entity.accumulator") +require("prototypes.entity.ammo-turret") +require("prototypes.entity.arithmetic-combinator") +require("prototypes.entity.arrow") +require("prototypes.entity.artillery-flare") +require("prototypes.entity.artillery-projectile") +require("prototypes.entity.artillery-turret") +require("prototypes.entity.artillery-wagon") +require("prototypes.entity.assembling-machine") +require("prototypes.entity.beacon") +require("prototypes.entity.beam") +require("prototypes.entity.boiler") +require("prototypes.entity.burner-generator") +require("prototypes.entity.car") +require("prototypes.entity.cargo-wagon") +require("prototypes.entity.character") +require("prototypes.entity.character-corpse") +require("prototypes.entity.cliff") +require("prototypes.entity.combat-robot") +require("prototypes.entity.constant-combinator") +require("prototypes.entity.construction-robot") +require("prototypes.entity.container") +require("prototypes.entity.corpse") +require("prototypes.entity.decider-combinator") +require("prototypes.entity.deconstructible-tile-proxy") +require("prototypes.entity.decorative") +require("prototypes.entity.electric-energy-interface") +require("prototypes.entity.electric-pole") +require("prototypes.entity.electric-turret") +require("prototypes.entity.entity-ghost") +require("prototypes.entity.explosion") +require("prototypes.entity.fire") +require("prototypes.entity.fish") +require("prototypes.entity.flame-thrower-explosion") +require("prototypes.entity.fluid-turret") +require("prototypes.entity.fluid-wagon") +require("prototypes.entity.flying-text") +require("prototypes.entity.furnace") +require("prototypes.entity.gate") +require("prototypes.entity.generator") +require("prototypes.entity.heat-interface") +require("prototypes.entity.heat-pipe") +require("prototypes.entity.highlight-box") +require("prototypes.entity.infinity-container") +require("prototypes.entity.infinity-pipe") +require("prototypes.entity.inserter") +require("prototypes.entity.item-entity") +require("prototypes.entity.item-request-proxy") +require("prototypes.entity.lab") +require("prototypes.entity.lamp") +require("prototypes.entity.land-mine") +require("prototypes.entity.leaf-particle") +require("prototypes.entity.loader") +require("prototypes.entity.loader-1x1") +require("prototypes.entity.locomotive") +require("prototypes.entity.logistic-container") +require("prototypes.entity.logistic-robot") +require("prototypes.entity.market") +require("prototypes.entity.mining-drill") +require("prototypes.entity.offshore-pump") +require("prototypes.entity.particle") +require("prototypes.entity.particle-source") +require("prototypes.entity.pipe") +require("prototypes.entity.pipe-to-ground") +require("prototypes.entity.player-port") +require("prototypes.entity.power-switch") +require("prototypes.entity.programmable-speaker") +require("prototypes.entity.projectile") +require("prototypes.entity.pump") +require("prototypes.entity.radar") +require("prototypes.entity.rail-chain-signal") +require("prototypes.entity.rail-remnants") +require("prototypes.entity.rail-signal") +require("prototypes.entity.reactor") +require("prototypes.entity.resource") +require("prototypes.entity.roboport") +require("prototypes.entity.rocket-silo") +require("prototypes.entity.rocket-silo-rocket-shadow") +require("prototypes.entity.simple-entity") +require("prototypes.entity.simple-entity-with-force") +require("prototypes.entity.simple-entity-with-owner") +require("prototypes.entity.smoke") +require("prototypes.entity.smoke-with-trigger") +require("prototypes.entity.solar-panel") +require("prototypes.entity.speech-bubble") +require("prototypes.entity.splitter") +require("prototypes.entity.sticker") +require("prototypes.entity.storage-tank") +require("prototypes.entity.stream") +require("prototypes.entity.tile-ghost") +require("prototypes.entity.train-stop") +require("prototypes.entity.transport-belt") +require("prototypes.entity.tree") +require("prototypes.entity.turret") +require("prototypes.entity.underground-belt") +require("prototypes.entity.unit-spawner") +require("prototypes.entity.wall") + +-- Equipment +require("prototypes.equipment.active-defense-equipment") +require("prototypes.equipment.battery-equipment") +require("prototypes.equipment.belt-immunity-equipment") +require("prototypes.equipment.energy-shield-equipment") +require("prototypes.equipment.generator-equipment") +require("prototypes.equipment.movement-bonus-equipment") +require("prototypes.equipment.night-vision-equipment") +require("prototypes.equipment.roboport-equipment") +require("prototypes.equipment.solar-panel-equipment") + +-- Items (depends on above) +require("prototypes.item.science") + +-- Entities (depends on above) +require("prototypes.entity.curved-rail") +require("prototypes.entity.rocket-silo-rocket") +require("prototypes.entity.straight-rail") +require("prototypes.entity.unit") + +-- Categories (depends on above) +require("prototypes.category.ammo") +require("prototypes.category.damage") +require("prototypes.category.equipment") +require("prototypes.category.fuel") +require("prototypes.category.module") +require("prototypes.category.recipe") +require("prototypes.category.resource") +require("prototypes.category.trigger-target") + +-- Other (depends on above) +require("prototypes.item-group") +require("prototypes.item.copper-cable") +require("prototypes.item.green-wire") +require("prototypes.item.red-wire") +require("prototypes.other.equipment-grid") +require("prototypes.other.fluid") +require("prototypes.other.optimized-particle") +require("prototypes.other.tile") +require("prototypes.other.trivial-smoke") +require("prototypes.other.virtual-signal") diff --git a/data.lua b/data.lua new file mode 100644 index 0000000..afa5623 --- /dev/null +++ b/data.lua @@ -0,0 +1 @@ +require("prototypes.map-settings") diff --git a/helpers/CreateAssemblingMachine.lua b/helpers/CreateAssemblingMachine.lua new file mode 100644 index 0000000..38f1296 --- /dev/null +++ b/helpers/CreateAssemblingMachine.lua @@ -0,0 +1,3 @@ +function CreateAssemblingMachine (type, prototype) + return CreateCraftingMachine(type, prototype) +end diff --git a/helpers/CreateCombinator.lua b/helpers/CreateCombinator.lua new file mode 100644 index 0000000..74a4d90 --- /dev/null +++ b/helpers/CreateCombinator.lua @@ -0,0 +1,20 @@ +function CreateCombinator (type, prototype) + return CreateEntityWithHealth( + type, + MergeTables( + prototype, + { + active_energy_usage = "1W", + activity_led_light_offsets = Baseless.CombinatorOffsets, + activity_led_sprites = Baseless.Sprite4Way, + energy_source = Baseless.EnergySource.Void, + input_connection_bounding_box = Baseless.BoundingBox, + input_connection_points = Baseless.WireConnectionPoint.Combinator, + output_connection_bounding_box = Baseless.BoundingBox, + output_connection_points = Baseless.WireConnectionPoint.Combinator, + screen_light_offsets = Baseless.CombinatorOffsets, + sprites = Baseless.Sprite4Way, + } + ) + ) +end diff --git a/helpers/CreateContainer.lua b/helpers/CreateContainer.lua new file mode 100644 index 0000000..e3bf6d2 --- /dev/null +++ b/helpers/CreateContainer.lua @@ -0,0 +1,12 @@ +function CreateContainer (type, prototype) + return CreateEntityWithHealth( + type, + MergeTables( + prototype, + { + inventory_size = 1, + picture = Baseless.Sprite, + } + ) + ) +end diff --git a/helpers/CreateCorpse.lua b/helpers/CreateCorpse.lua new file mode 100644 index 0000000..592cdc0 --- /dev/null +++ b/helpers/CreateCorpse.lua @@ -0,0 +1,3 @@ +function CreateCorpse (type, prototype) + return CreateEntity(type, prototype) +end diff --git a/helpers/CreateCraftingMachine.lua b/helpers/CreateCraftingMachine.lua new file mode 100644 index 0000000..819a0e4 --- /dev/null +++ b/helpers/CreateCraftingMachine.lua @@ -0,0 +1,18 @@ +function CreateCraftingMachine (type, prototype) + if CreateEntityWithHealth( + type, + MergeTables( + prototype, + { + crafting_categories = {Baseless.RecipeType()}, + crafting_speed = 1, + energy_source = Baseless.EnergySource.Void, + energy_usage = "1W", + } + ) + ) then + Baseless.RecipeType(true) + return true + end + return false +end diff --git a/helpers/CreateEntity.lua b/helpers/CreateEntity.lua new file mode 100644 index 0000000..5539d3a --- /dev/null +++ b/helpers/CreateEntity.lua @@ -0,0 +1,16 @@ +function CreateEntity (type, prototype) + if CreateUniquePrototype( + type, + MergeTables( + prototype, + Baseless.IconSpecification, + { + subgroup = "dummy-item-subgroup", + } + ) + ) then + Baseless.Needs.ItemGroup = true + return true + end + return false +end diff --git a/helpers/CreateEntityWithHealth.lua b/helpers/CreateEntityWithHealth.lua new file mode 100644 index 0000000..47dd83e --- /dev/null +++ b/helpers/CreateEntityWithHealth.lua @@ -0,0 +1,3 @@ +function CreateEntityWithHealth (type, prototype) + return CreateEntity(type, prototype) +end diff --git a/helpers/CreateEquipment.lua b/helpers/CreateEquipment.lua new file mode 100644 index 0000000..7a465c2 --- /dev/null +++ b/helpers/CreateEquipment.lua @@ -0,0 +1,30 @@ +function CreateEquipment (type, prototype) + if CreateUniquePrototype( + type, + MergeTables( + prototype, + Baseless.IconSpecification, + { + categories = {"dummy-equipment-category"}, + energy_source = Baseless.EnergySource.Void, + shape = Baseless.EquipmentShape, + sprite = Baseless.Sprite, + } + ) + ) then + Baseless.Needs.EquipmentType = true + data:extend + { + { + type = "item", + name = "dummy-" .. type, + icon = Baseless.Image, + icon_size = 1, + stack_size = 1, + subgroup = "dummy-item-subgroup", + }, + } + return true + end + return false +end diff --git a/helpers/CreateExplosion.lua b/helpers/CreateExplosion.lua new file mode 100644 index 0000000..cffa3bc --- /dev/null +++ b/helpers/CreateExplosion.lua @@ -0,0 +1,11 @@ +function CreateExplosion (type, prototype) + return CreateEntity( + type, + MergeTables( + prototype, + { + animations = Baseless.AnimationVariations, + } + ) + ) +end diff --git a/helpers/CreateFlyingRobot.lua b/helpers/CreateFlyingRobot.lua new file mode 100644 index 0000000..33486c2 --- /dev/null +++ b/helpers/CreateFlyingRobot.lua @@ -0,0 +1,11 @@ +function CreateFlyingRobot (type, prototype) + return CreateEntityWithHealth( + type, + MergeTables( + prototype, + { + speed = 1, + } + ) + ) +end diff --git a/helpers/CreateItem.lua b/helpers/CreateItem.lua new file mode 100644 index 0000000..c6b98ac --- /dev/null +++ b/helpers/CreateItem.lua @@ -0,0 +1,17 @@ +function CreateItem (type, prototype) + if CreateUniquePrototype( + type, + MergeTables( + prototype, + Baseless.IconSpecification, + { + stack_size = 1, + subgroup = "dummy-item-subgroup", + } + ) + ) then + Baseless.Needs.ItemGroup = true + return true + end + return false +end diff --git a/helpers/CreateItemWithInventory.lua b/helpers/CreateItemWithInventory.lua new file mode 100644 index 0000000..199905b --- /dev/null +++ b/helpers/CreateItemWithInventory.lua @@ -0,0 +1,11 @@ +function CreateItemWithInventory (type, prototype) + return CreateItemWithLabel( + type, + MergeTables( + prototype, + { + inventory_size = 0, + } + ) + ) +end diff --git a/helpers/CreateItemWithLabel.lua b/helpers/CreateItemWithLabel.lua new file mode 100644 index 0000000..70ef3e3 --- /dev/null +++ b/helpers/CreateItemWithLabel.lua @@ -0,0 +1,3 @@ +function CreateItemWithLabel (type, prototype) + return CreateItem(type, prototype) +end diff --git a/helpers/CreateItemWithTags.lua b/helpers/CreateItemWithTags.lua new file mode 100644 index 0000000..f80927b --- /dev/null +++ b/helpers/CreateItemWithTags.lua @@ -0,0 +1,3 @@ +function CreateItemWithTags (type, prototype) + return CreateItemWithLabel(type, prototype) +end diff --git a/helpers/CreateLogisticContainer.lua b/helpers/CreateLogisticContainer.lua new file mode 100644 index 0000000..ebc3646 --- /dev/null +++ b/helpers/CreateLogisticContainer.lua @@ -0,0 +1,11 @@ +function CreateLogisticContainer (type, prototype) + return CreateContainer( + type, + MergeTables( + prototype, + { + logistic_mode = "storage", + } + ) + ) +end diff --git a/helpers/CreatePipe.lua b/helpers/CreatePipe.lua new file mode 100644 index 0000000..28f79e9 --- /dev/null +++ b/helpers/CreatePipe.lua @@ -0,0 +1,43 @@ +Baseless.PipePictures = +{ + straight_vertical_single = Baseless.Sprite, + straight_vertical = Baseless.Sprite, + straight_vertical_window = Baseless.Sprite, + straight_horizontal = Baseless.Sprite, + straight_horizontal_window = Baseless.Sprite, + corner_up_right = Baseless.Sprite, + corner_up_left = Baseless.Sprite, + corner_down_right = Baseless.Sprite, + corner_down_left = Baseless.Sprite, + t_up = Baseless.Sprite, + t_down = Baseless.Sprite, + t_right = Baseless.Sprite, + t_left = Baseless.Sprite, + cross = Baseless.Sprite, + ending_up = Baseless.Sprite, + ending_down = Baseless.Sprite, + ending_right = Baseless.Sprite, + ending_left = Baseless.Sprite, + horizontal_window_background = Baseless.Sprite, + vertical_window_background = Baseless.Sprite, + fluid_background = Baseless.Sprite, + low_temperature_flow = Baseless.Sprite, + middle_temperature_flow = Baseless.Sprite, + high_temperature_flow = Baseless.Sprite, + gas_flow = Baseless.Animation, +} + +function CreatePipe (type, prototype) + return CreateEntityWithHealth( + type, + MergeTables( + prototype, + { + fluid_box = Baseless.FluidBox, + horizontal_window_bounding_box = Baseless.BoundingBox, + pictures = Baseless.PipePictures, + vertical_window_bounding_box = Baseless.BoundingBox, + } + ) + ) +end diff --git a/helpers/CreatePrototype.lua b/helpers/CreatePrototype.lua new file mode 100644 index 0000000..a7b775b --- /dev/null +++ b/helpers/CreatePrototype.lua @@ -0,0 +1,22 @@ +function CreatePrototype (type, prototype) + data:extend + { + MergeTables( + prototype, + { + type = type, + name = "dummy-" .. type, + flags = {"hidden"}, -- Make everything hidden + } + ), + } +end + +-- Does not create if that type already exists +function CreateUniquePrototype (type, prototype) + if data.raw[type] == nil then + CreatePrototype(type, prototype) + return true + end + return false +end diff --git a/helpers/CreateRail.lua b/helpers/CreateRail.lua new file mode 100644 index 0000000..a217660 --- /dev/null +++ b/helpers/CreateRail.lua @@ -0,0 +1,38 @@ +Baseless.RailPieceLayers = +{ + metals = Baseless.SpriteVariations, + backplates = Baseless.SpriteVariations, + ties = Baseless.SpriteVariations, + stone_path = Baseless.SpriteVariations, +} + +Baseless.RailPictures = +{ + straight_rail_horizontal = Baseless.RailPieceLayers, + straight_rail_vertical = Baseless.RailPieceLayers, + straight_rail_diagonal_left_top = Baseless.RailPieceLayers, + straight_rail_diagonal_right_top = Baseless.RailPieceLayers, + straight_rail_diagonal_right_bottom = Baseless.RailPieceLayers, + straight_rail_diagonal_left_bottom = Baseless.RailPieceLayers, + curved_rail_vertical_left_top = Baseless.RailPieceLayers, + curved_rail_vertical_right_top = Baseless.RailPieceLayers, + curved_rail_vertical_right_bottom = Baseless.RailPieceLayers, + curved_rail_vertical_left_bottom = Baseless.RailPieceLayers, + curved_rail_horizontal_left_top = Baseless.RailPieceLayers, + curved_rail_horizontal_right_top = Baseless.RailPieceLayers, + curved_rail_horizontal_right_bottom = Baseless.RailPieceLayers, + curved_rail_horizontal_left_bottom = Baseless.RailPieceLayers, + rail_endings = Baseless.Sprite8Way, +} + +function CreateRail (type, prototype) + return CreateEntityWithHealth( + type, + MergeTables( + prototype, + { + pictures = Baseless.RailPictures, + } + ) + ) +end diff --git a/helpers/CreateRailSignalBase.lua b/helpers/CreateRailSignalBase.lua new file mode 100644 index 0000000..28440f9 --- /dev/null +++ b/helpers/CreateRailSignalBase.lua @@ -0,0 +1,11 @@ +function CreateRailSignalBase (type, prototype) + return CreateEntityWithHealth( + type, + MergeTables( + prototype, + { + animation = Baseless.RotatedAnimation, + } + ) + ) +end diff --git a/helpers/CreateRobotWithLogisticInterface.lua b/helpers/CreateRobotWithLogisticInterface.lua new file mode 100644 index 0000000..451ac51 --- /dev/null +++ b/helpers/CreateRobotWithLogisticInterface.lua @@ -0,0 +1,12 @@ +function CreateRobotWithLogisticInterface (type, prototype) + return CreateFlyingRobot( + type, + MergeTables( + prototype, + { + cargo_centered = {0, 0}, + max_payload_size = 1, + } + ) + ) +end diff --git a/helpers/CreateRollingStock.lua b/helpers/CreateRollingStock.lua new file mode 100644 index 0000000..d78be8e --- /dev/null +++ b/helpers/CreateRollingStock.lua @@ -0,0 +1,19 @@ +function CreateRollingStock (type, prototype) + return CreateVehicle( + type, + MergeTables( + prototype, + { + air_resistance = 1, + connection_distance = 1, + joint_distance = 2, -- Must be compatible with collision_box + max_speed = 1, + pictures = Baseless.RotatedSprite, + vertical_selection_shift = 1, + + -- Required for joint_distance to work + collision_box = {{-0.1, -2}, {0.1, 2}}, + } + ) + ) +end diff --git a/helpers/CreateSelectionTool.lua b/helpers/CreateSelectionTool.lua new file mode 100644 index 0000000..c4b081a --- /dev/null +++ b/helpers/CreateSelectionTool.lua @@ -0,0 +1,16 @@ +function CreateSelectionTool (type, prototype) + return CreateItemWithLabel( + type, + MergeTables( + prototype, + { + alt_selection_color = Baseless.Color, + alt_selection_cursor_box_type = "not-allowed", + alt_selection_mode = {"nothing"}, + selection_color = Baseless.Color, + selection_cursor_box_type = "not-allowed", + selection_mode = {"nothing"}, + } + ) + ) +end diff --git a/helpers/CreateSmoke.lua b/helpers/CreateSmoke.lua new file mode 100644 index 0000000..0241b04 --- /dev/null +++ b/helpers/CreateSmoke.lua @@ -0,0 +1,11 @@ +function CreateSmoke (type, prototype) + return CreateEntity( + type, + MergeTables( + prototype, + { + animation = Baseless.Animation, + } + ) + ) +end diff --git a/helpers/CreateTool.lua b/helpers/CreateTool.lua new file mode 100644 index 0000000..9572c37 --- /dev/null +++ b/helpers/CreateTool.lua @@ -0,0 +1,11 @@ +function CreateTool (type, prototype) + return CreateItem( + type, + MergeTables( + prototype, + { + infinite = true, + } + ) + ) +end diff --git a/helpers/CreateTransportBeltConnectable.lua b/helpers/CreateTransportBeltConnectable.lua new file mode 100644 index 0000000..9cd0411 --- /dev/null +++ b/helpers/CreateTransportBeltConnectable.lua @@ -0,0 +1,20 @@ +function CreateTransportBeltConnectable (type, prototype) + return CreateEntityWithHealth( + type, + MergeTables( + prototype, + { + speed = 1, + belt_horizontal = Baseless.Animation, + belt_vertical = Baseless.Animation, + ending_bottom = Baseless.Animation, + ending_side = Baseless.Animation, + ending_top = Baseless.Animation, + starting_bottom = Baseless.Animation, + starting_side = Baseless.Animation, + starting_top = Baseless.Animation, + collision_box = {{-1, -1}, {1, 1}}, + } + ) + ) +end diff --git a/helpers/CreateTurret.lua b/helpers/CreateTurret.lua new file mode 100644 index 0000000..8bd40c6 --- /dev/null +++ b/helpers/CreateTurret.lua @@ -0,0 +1,17 @@ +function CreateTurret (type, prototype) + if CreateEntityWithHealth( + type, + MergeTables( + prototype, + { + attack_parameters = Baseless.AttackParameters.Stream(), + call_for_help_radius = 0, + folded_animation = Baseless.RotatedAnimation4Way, + } + ) + ) then + Baseless.AttackParameters.Stream(true) + return true + end + return false +end diff --git a/helpers/CreateVehicle.lua b/helpers/CreateVehicle.lua new file mode 100644 index 0000000..5f38676 --- /dev/null +++ b/helpers/CreateVehicle.lua @@ -0,0 +1,14 @@ +function CreateVehicle (type, prototype) + return CreateEntityWithHealth( + type, + MergeTables( + prototype, + { + braking_force = 1, + energy_per_hit_point = 1, + friction_force = 1, + weight = 1, + } + ) + ) +end diff --git a/helpers/MergeTables.lua b/helpers/MergeTables.lua new file mode 100644 index 0000000..29507c4 --- /dev/null +++ b/helpers/MergeTables.lua @@ -0,0 +1,13 @@ +-- Combine multiple tables into one +-- +-- *Tables should not share keys +-- *Values are not deep copies +function MergeTables(...) + local newTable = {} + for _, table in pairs({...}) do + for key, value in pairs(table) do + newTable[key] = value + end + end + return newTable +end diff --git a/info.json b/info.json new file mode 100644 index 0000000..e8900aa --- /dev/null +++ b/info.json @@ -0,0 +1,13 @@ +{ + "name":"Baseless", + "version":"0.0.1", + "title":"Baseless", + "description":"Defines missing prototypes required to launch the game.", + "author":"David Skrundz", + "contact": "david@skrundz.ca", + "homepage": "https://github.com/DavidSkrundz/Baseless", + "factorio_version": "0.18", + "dependencies": [ + "! base" + ] +} diff --git a/package.py b/package.py new file mode 100644 index 0000000..08a3439 --- /dev/null +++ b/package.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 + +import json +import os +from zipfile import ZipFile + +modFiles = [ + "info.json", + "changelog.txt", + "thumbnail.png", +] +modFolders = [ + "helpers", + "prototypes", +] + +with open("info.json") as file: + modInfo = json.load(file) + +zipName = "{}_{}".format(modInfo["name"], modInfo["version"]) + +with ZipFile("{}.zip".format(zipName), 'w') as modZip: + for file in modFiles: + modZip.write(file, arcname="{}/{}".format(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="{}/{}".format(zipName, archivePath)) diff --git a/prototypes/category/ammo.lua b/prototypes/category/ammo.lua new file mode 100644 index 0000000..b54dd26 --- /dev/null +++ b/prototypes/category/ammo.lua @@ -0,0 +1,3 @@ +if Baseless.Needs.AmmoType then + CreatePrototype("ammo-category", {}) +end diff --git a/prototypes/category/damage.lua b/prototypes/category/damage.lua new file mode 100644 index 0000000..ccc09a9 --- /dev/null +++ b/prototypes/category/damage.lua @@ -0,0 +1,26 @@ +if data.raw["damage-type"] == nil or + data.raw["damage-type"]["physical"] == nil then + data:extend + { + { + type = "damage-type", + name = "physical", + }, + } +end + +if data.raw["damage-type"] == nil or + data.raw["damage-type"]["impact"] == nil then + data:extend + { + { + type = "damage-type", + name = "impact", + }, + } +end + + +if Baseless.Needs.DamageType then + CreatePrototype("damage-type", {}) +end diff --git a/prototypes/category/equipment.lua b/prototypes/category/equipment.lua new file mode 100644 index 0000000..32d9885 --- /dev/null +++ b/prototypes/category/equipment.lua @@ -0,0 +1,3 @@ +if Baseless.Needs.EquipmentType then + CreatePrototype("equipment-category", {}) +end diff --git a/prototypes/category/fuel.lua b/prototypes/category/fuel.lua new file mode 100644 index 0000000..484d09b --- /dev/null +++ b/prototypes/category/fuel.lua @@ -0,0 +1,3 @@ +if Baseless.Needs.FuelType then + CreatePrototype("fuel-category", {}) +end diff --git a/prototypes/category/module.lua b/prototypes/category/module.lua new file mode 100644 index 0000000..5a7aed6 --- /dev/null +++ b/prototypes/category/module.lua @@ -0,0 +1,3 @@ +if Baseless.Needs.ModuleType then + CreatePrototype("module-category", {}) +end diff --git a/prototypes/category/recipe.lua b/prototypes/category/recipe.lua new file mode 100644 index 0000000..b5658ca --- /dev/null +++ b/prototypes/category/recipe.lua @@ -0,0 +1,14 @@ +if data.raw["recipe-category"] == nil or + data.raw["recipe-category"]["crafting"] == nil then + data:extend + { + { + type = "recipe-category", + name = "crafting", + }, + } +end + +if Baseless.Needs.RecipeType then + CreatePrototype("recipe-category", {}) +end diff --git a/prototypes/category/resource.lua b/prototypes/category/resource.lua new file mode 100644 index 0000000..a137a44 --- /dev/null +++ b/prototypes/category/resource.lua @@ -0,0 +1,14 @@ +if data.raw["resource-category"] == nil or + data.raw["resource-category"]["basic-solid"] == nil then + data:extend + { + { + type = "resource-category", + name = "basic-solid", + }, + } +end + +if Baseless.Needs.ResourceType then + CreatePrototype("resource-category", {}) +end diff --git a/prototypes/category/trigger-target.lua b/prototypes/category/trigger-target.lua new file mode 100644 index 0000000..690c24b --- /dev/null +++ b/prototypes/category/trigger-target.lua @@ -0,0 +1,21 @@ +if data.raw["trigger-target-type"] == nil or + data.raw["trigger-target-type"]["common"] == nil then + data:extend + { + { + type = "trigger-target-type", + name = "common", + }, + } +end + +if data.raw["trigger-target-type"] == nil or + data.raw["trigger-target-type"]["ground-unit"] == nil then + data:extend + { + { + type = "trigger-target-type", + name = "ground-unit", + }, + } +end diff --git a/prototypes/entity/accumulator.lua b/prototypes/entity/accumulator.lua new file mode 100644 index 0000000..4d6ad8e --- /dev/null +++ b/prototypes/entity/accumulator.lua @@ -0,0 +1,6 @@ +CreateEntityWithHealth("accumulator", { + charge_cooldown = 0, + discharge_cooldown = 0, + energy_source = Baseless.EnergySource.Void, + picture = Baseless.Sprite, +}) diff --git a/prototypes/entity/ammo-turret.lua b/prototypes/entity/ammo-turret.lua new file mode 100644 index 0000000..b79199c --- /dev/null +++ b/prototypes/entity/ammo-turret.lua @@ -0,0 +1,4 @@ +CreateTurret("ammo-turret", { + automated_ammo_count = 0, + inventory_size = 0, +}) diff --git a/prototypes/entity/arithmetic-combinator.lua b/prototypes/entity/arithmetic-combinator.lua new file mode 100644 index 0000000..9c05af6 --- /dev/null +++ b/prototypes/entity/arithmetic-combinator.lua @@ -0,0 +1,13 @@ +CreateCombinator("arithmetic-combinator", { + and_symbol_sprites = Baseless.Sprite4Way, + divide_symbol_sprites = Baseless.Sprite4Way, + left_shift_symbol_sprites = Baseless.Sprite4Way, + minus_symbol_sprites = Baseless.Sprite4Way, + modulo_symbol_sprites = Baseless.Sprite4Way, + multiply_symbol_sprites = Baseless.Sprite4Way, + or_symbol_sprites = Baseless.Sprite4Way, + plus_symbol_sprites = Baseless.Sprite4Way, + power_symbol_sprites = Baseless.Sprite4Way, + right_shift_symbol_sprites = Baseless.Sprite4Way, + xor_symbol_sprites = Baseless.Sprite4Way, +}) diff --git a/prototypes/entity/arrow.lua b/prototypes/entity/arrow.lua new file mode 100644 index 0000000..c5e176c --- /dev/null +++ b/prototypes/entity/arrow.lua @@ -0,0 +1,3 @@ +CreateEntity("arrow", { + arrow_picture = Baseless.Sprite, +}) diff --git a/prototypes/entity/artillery-flare.lua b/prototypes/entity/artillery-flare.lua new file mode 100644 index 0000000..3df4be8 --- /dev/null +++ b/prototypes/entity/artillery-flare.lua @@ -0,0 +1,5 @@ +CreateEntity("artillery-flare", { + life_time = 1, + pictures = Baseless.AnimationVariations, + map_color = Baseless.Color, +}) diff --git a/prototypes/entity/artillery-projectile.lua b/prototypes/entity/artillery-projectile.lua new file mode 100644 index 0000000..4178adf --- /dev/null +++ b/prototypes/entity/artillery-projectile.lua @@ -0,0 +1,4 @@ +CreateEntity("artillery-projectile", { + reveal_map = false, + map_color = Baseless.Color, +}) diff --git a/prototypes/entity/artillery-turret.lua b/prototypes/entity/artillery-turret.lua new file mode 100644 index 0000000..f81d6b4 --- /dev/null +++ b/prototypes/entity/artillery-turret.lua @@ -0,0 +1,8 @@ +CreateEntityWithHealth("artillery-turret", { + ammo_stack_limit = 1, + automated_ammo_count = 0, + gun = "dummy-gun", + inventory_size = 1, + manual_range_modifier = 1, + turret_rotation_speed = 1, +}) diff --git a/prototypes/entity/artillery-wagon.lua b/prototypes/entity/artillery-wagon.lua new file mode 100644 index 0000000..e051ce0 --- /dev/null +++ b/prototypes/entity/artillery-wagon.lua @@ -0,0 +1,7 @@ +CreateRollingStock("artillery-wagon", { + ammo_stack_limit = 1, + gun = "dummy-gun", + inventory_size = 1, + manual_range_modifier = 1, + turret_rotation_speed = 1, +}) diff --git a/prototypes/entity/assembling-machine.lua b/prototypes/entity/assembling-machine.lua new file mode 100644 index 0000000..88eae2d --- /dev/null +++ b/prototypes/entity/assembling-machine.lua @@ -0,0 +1 @@ +CreateAssemblingMachine("assembling-machine", {}) diff --git a/prototypes/entity/beacon.lua b/prototypes/entity/beacon.lua new file mode 100644 index 0000000..563a14e --- /dev/null +++ b/prototypes/entity/beacon.lua @@ -0,0 +1,10 @@ +CreateEntityWithHealth("beacon", { + animation = Baseless.Animation, + animation_shadow = Baseless.Animation, + base_picture = Baseless.Sprite, + distribution_effectivity = 1, + energy_source = Baseless.EnergySource.Void, + energy_usage = "1W", + module_specification = {}, + supply_area_distance = 1, +}) diff --git a/prototypes/entity/beam.lua b/prototypes/entity/beam.lua new file mode 100644 index 0000000..8632744 --- /dev/null +++ b/prototypes/entity/beam.lua @@ -0,0 +1,7 @@ +CreateEntity("beam", { + body = Baseless.AnimationVariations, + damage_interval = 1, + head = Baseless.Animation, + tail = Baseless.Animation, + width = 1, +}) diff --git a/prototypes/entity/boiler.lua b/prototypes/entity/boiler.lua new file mode 100644 index 0000000..df1118c --- /dev/null +++ b/prototypes/entity/boiler.lua @@ -0,0 +1,17 @@ +CreateEntityWithHealth("boiler", { + burning_cooldown = 0, + energy_consumption = "1W", + energy_source = Baseless.EnergySource.Void, + fire = {}, + fire_glow = {}, + fluid_box = Baseless.FluidBox, + output_fluid_box = Baseless.FluidBox, + structure = + { + north = Baseless.Sprite, + south = Baseless.Sprite, + east = Baseless.Sprite, + west = Baseless.Sprite, + }, + target_temperature = 1, +}) diff --git a/prototypes/entity/burner-generator.lua b/prototypes/entity/burner-generator.lua new file mode 100644 index 0000000..0d83d91 --- /dev/null +++ b/prototypes/entity/burner-generator.lua @@ -0,0 +1,8 @@ +if CreateEntityWithHealth("burner-generator", { + animation = Baseless.Animation4Way, + burner = Baseless.EnergySource.Burner(), + energy_source = Baseless.EnergySource.Electric, + max_power_output = "1W", +}) then + Baseless.EnergySource.Burner(true) +end diff --git a/prototypes/entity/car.lua b/prototypes/entity/car.lua new file mode 100644 index 0000000..d701ebc --- /dev/null +++ b/prototypes/entity/car.lua @@ -0,0 +1,8 @@ +CreateVehicle("car", { + animation = Baseless.RotatedAnimation, + energy_source = Baseless.EnergySource.Void, + consumption = "1W", + effectivity = 1, + inventory_size = 0, + rotation_speed = 1, +}) diff --git a/prototypes/entity/cargo-wagon.lua b/prototypes/entity/cargo-wagon.lua new file mode 100644 index 0000000..9787fb0 --- /dev/null +++ b/prototypes/entity/cargo-wagon.lua @@ -0,0 +1,3 @@ +CreateRollingStock("cargo-wagon", { + inventory_size = 1, +}) diff --git a/prototypes/entity/character-corpse.lua b/prototypes/entity/character-corpse.lua new file mode 100644 index 0000000..f15a713 --- /dev/null +++ b/prototypes/entity/character-corpse.lua @@ -0,0 +1,4 @@ +CreateEntity("character-corpse", { + time_to_live = 0, + picture = Baseless.Animation, +}) diff --git a/prototypes/entity/character.lua b/prototypes/entity/character.lua new file mode 100644 index 0000000..ac4cff6 --- /dev/null +++ b/prototypes/entity/character.lua @@ -0,0 +1,31 @@ +CreateEntityWithHealth("character", { + animations = + { + { + idle = Baseless.RotatedAnimation, + idle_with_gun = Baseless.RotatedAnimation, + running = Baseless.RotatedAnimation, + running_with_gun = Baseless.RotatedAnimation, + mining_with_tool = Baseless.RotatedAnimation, + }, + }, + build_distance = 0, + damage_hit_tint = Baseless.Color, + distance_per_frame = 0, + drop_item_distance = 0, + eat = Baseless.Sound, + heartbeat = Baseless.Sound, + inventory_size = 0, + item_pickup_distance = 0, + loot_pickup_distance = 0, + maximum_corner_sliding_distance = 0, + mining_speed = 0, + mining_with_tool_particles_animation_positions = {}, + reach_distance = 0, + reach_resource_distance = 0, + running_sound_animation_positions = {}, + running_speed = 0, + ticks_to_keep_aiming_direction = 0, + ticks_to_keep_gun = 0, + ticks_to_stay_in_combat = 0, +}) diff --git a/prototypes/entity/cliff.lua b/prototypes/entity/cliff.lua new file mode 100644 index 0000000..b14ec6b --- /dev/null +++ b/prototypes/entity/cliff.lua @@ -0,0 +1,34 @@ +Baseless.OrientedCliffPrototype = +{ + collision_bounding_box = Baseless.BoundingBox, + pictures = Baseless.SpriteVariations, + fill_volume = 1, +} + +CreateEntity("cliff", { + grid_offset = {0, 0}, + grid_size = {1, 1}, + orientations = + { + west_to_east = Baseless.OrientedCliffPrototype, + north_to_south = Baseless.OrientedCliffPrototype, + east_to_west = Baseless.OrientedCliffPrototype, + south_to_north = Baseless.OrientedCliffPrototype, + west_to_north = Baseless.OrientedCliffPrototype, + north_to_east = Baseless.OrientedCliffPrototype, + east_to_south = Baseless.OrientedCliffPrototype, + south_to_west = Baseless.OrientedCliffPrototype, + west_to_south = Baseless.OrientedCliffPrototype, + north_to_west = Baseless.OrientedCliffPrototype, + east_to_north = Baseless.OrientedCliffPrototype, + south_to_east = Baseless.OrientedCliffPrototype, + west_to_none = Baseless.OrientedCliffPrototype, + none_to_east = Baseless.OrientedCliffPrototype, + north_to_none = Baseless.OrientedCliffPrototype, + none_to_south = Baseless.OrientedCliffPrototype, + east_to_none = Baseless.OrientedCliffPrototype, + none_to_west = Baseless.OrientedCliffPrototype, + south_to_none = Baseless.OrientedCliffPrototype, + none_to_north = Baseless.OrientedCliffPrototype, + }, +}) diff --git a/prototypes/entity/combat-robot.lua b/prototypes/entity/combat-robot.lua new file mode 100644 index 0000000..24a6229 --- /dev/null +++ b/prototypes/entity/combat-robot.lua @@ -0,0 +1,10 @@ +if CreateFlyingRobot("combat-robot", { + attack_parameters = Baseless.AttackParameters.Stream(), + idle = Baseless.RotatedAnimation, + in_motion = Baseless.RotatedAnimation, + shadow_idle = Baseless.RotatedAnimation, + shadow_in_motion = Baseless.RotatedAnimation, + time_to_live = 1, +}) then + Baseless.AttackParameters.Stream(true) +end diff --git a/prototypes/entity/constant-combinator.lua b/prototypes/entity/constant-combinator.lua new file mode 100644 index 0000000..3e4fd02 --- /dev/null +++ b/prototypes/entity/constant-combinator.lua @@ -0,0 +1,7 @@ +CreateEntityWithHealth("constant-combinator", { + activity_led_light_offsets = Baseless.CombinatorOffsets, + activity_led_sprites = Baseless.Sprite4Way, + circuit_wire_connection_points = Baseless.WireConnectionPoint.Combinator, + item_slot_count = 0, + sprites = Baseless.Sprite4Way, +}) diff --git a/prototypes/entity/construction-robot.lua b/prototypes/entity/construction-robot.lua new file mode 100644 index 0000000..360680a --- /dev/null +++ b/prototypes/entity/construction-robot.lua @@ -0,0 +1,3 @@ +CreateRobotWithLogisticInterface("construction-robot", { + construction_vector = {0, 0}, +}) diff --git a/prototypes/entity/container.lua b/prototypes/entity/container.lua new file mode 100644 index 0000000..cc9ab6b --- /dev/null +++ b/prototypes/entity/container.lua @@ -0,0 +1 @@ +CreateContainer("container", {}) diff --git a/prototypes/entity/corpse.lua b/prototypes/entity/corpse.lua new file mode 100644 index 0000000..1789d77 --- /dev/null +++ b/prototypes/entity/corpse.lua @@ -0,0 +1 @@ +CreateCorpse("corpse", {}) diff --git a/prototypes/entity/curved-rail.lua b/prototypes/entity/curved-rail.lua new file mode 100644 index 0000000..7bb99ef --- /dev/null +++ b/prototypes/entity/curved-rail.lua @@ -0,0 +1,3 @@ +if Baseless.Needs.RailEntity then + CreateRail("curved-rail", {}) +end diff --git a/prototypes/entity/decider-combinator.lua b/prototypes/entity/decider-combinator.lua new file mode 100644 index 0000000..9103e73 --- /dev/null +++ b/prototypes/entity/decider-combinator.lua @@ -0,0 +1,8 @@ +CreateCombinator("decider-combinator", { + equal_symbol_sprites = Baseless.Sprite4Way, + greater_or_equal_symbol_sprites = Baseless.Sprite4Way, + greater_symbol_sprites = Baseless.Sprite4Way, + less_or_equal_symbol_sprites = Baseless.Sprite4Way, + less_symbol_sprites = Baseless.Sprite4Way, + not_equal_symbol_sprites = Baseless.Sprite4Way, +}) diff --git a/prototypes/entity/deconstructible-tile-proxy.lua b/prototypes/entity/deconstructible-tile-proxy.lua new file mode 100644 index 0000000..019f786 --- /dev/null +++ b/prototypes/entity/deconstructible-tile-proxy.lua @@ -0,0 +1 @@ +CreateEntity("deconstructible-tile-proxy", {}) diff --git a/prototypes/entity/decorative.lua b/prototypes/entity/decorative.lua new file mode 100644 index 0000000..a1995c3 --- /dev/null +++ b/prototypes/entity/decorative.lua @@ -0,0 +1 @@ +CreateEntity("decorative", {}) diff --git a/prototypes/entity/electric-energy-interface.lua b/prototypes/entity/electric-energy-interface.lua new file mode 100644 index 0000000..124db8a --- /dev/null +++ b/prototypes/entity/electric-energy-interface.lua @@ -0,0 +1,3 @@ +CreateEntityWithHealth("electric-energy-interface", { + energy_source = Baseless.EnergySource.Void, +}) diff --git a/prototypes/entity/electric-pole.lua b/prototypes/entity/electric-pole.lua new file mode 100644 index 0000000..0223004 --- /dev/null +++ b/prototypes/entity/electric-pole.lua @@ -0,0 +1,5 @@ +CreateEntityWithHealth("electric-pole", { + connection_points = Baseless.WireConnectionPoint.Pole, + pictures = Baseless.RotatedSprite, + supply_area_distance = 1, +}) diff --git a/prototypes/entity/electric-turret.lua b/prototypes/entity/electric-turret.lua new file mode 100644 index 0000000..4b8ba22 --- /dev/null +++ b/prototypes/entity/electric-turret.lua @@ -0,0 +1,3 @@ +CreateTurret("electric-turret", { + energy_source = Baseless.EnergySource.Void, +}) diff --git a/prototypes/entity/entity-ghost.lua b/prototypes/entity/entity-ghost.lua new file mode 100644 index 0000000..cebbe1c --- /dev/null +++ b/prototypes/entity/entity-ghost.lua @@ -0,0 +1 @@ +CreateEntity("entity-ghost", {}) diff --git a/prototypes/entity/explosion.lua b/prototypes/entity/explosion.lua new file mode 100644 index 0000000..e7c5278 --- /dev/null +++ b/prototypes/entity/explosion.lua @@ -0,0 +1 @@ +CreateExplosion("explosion", {}) diff --git a/prototypes/entity/fire.lua b/prototypes/entity/fire.lua new file mode 100644 index 0000000..23b86ab --- /dev/null +++ b/prototypes/entity/fire.lua @@ -0,0 +1,7 @@ +if CreateEntity("fire", { + damage_per_tick = Baseless.DamagePrototype(), + spread_delay = 1, + spread_delay_deviation = 1, +}) then + Baseless.DamagePrototype(true) +end diff --git a/prototypes/entity/fish.lua b/prototypes/entity/fish.lua new file mode 100644 index 0000000..471ea84 --- /dev/null +++ b/prototypes/entity/fish.lua @@ -0,0 +1,3 @@ +CreateEntityWithHealth("fish", { + pictures = Baseless.SpriteVariations, +}) diff --git a/prototypes/entity/flame-thrower-explosion.lua b/prototypes/entity/flame-thrower-explosion.lua new file mode 100644 index 0000000..991b709 --- /dev/null +++ b/prototypes/entity/flame-thrower-explosion.lua @@ -0,0 +1,6 @@ +if CreateExplosion("flame-thrower-explosion", { + damage = Baseless.DamagePrototype(), + slow_down_factor = 1, +}) then + Baseless.DamagePrototype(true) +end diff --git a/prototypes/entity/fluid-turret.lua b/prototypes/entity/fluid-turret.lua new file mode 100644 index 0000000..3fe1010 --- /dev/null +++ b/prototypes/entity/fluid-turret.lua @@ -0,0 +1,7 @@ +CreateTurret("fluid-turret", { + activation_buffer_ratio = 1, + fluid_box = Baseless.FluidBox, + fluid_buffer_input_flow = 1, + fluid_buffer_size = 1, + turret_base_has_direction = true, +}) diff --git a/prototypes/entity/fluid-wagon.lua b/prototypes/entity/fluid-wagon.lua new file mode 100644 index 0000000..e549cd4 --- /dev/null +++ b/prototypes/entity/fluid-wagon.lua @@ -0,0 +1,3 @@ +CreateRollingStock("fluid-wagon", { + capacity = 1, +}) diff --git a/prototypes/entity/flying-text.lua b/prototypes/entity/flying-text.lua new file mode 100644 index 0000000..578addc --- /dev/null +++ b/prototypes/entity/flying-text.lua @@ -0,0 +1,4 @@ +CreateEntity("flying-text", { + speed = 1, + time_to_live = 1, +}) diff --git a/prototypes/entity/furnace.lua b/prototypes/entity/furnace.lua new file mode 100644 index 0000000..e7f0867 --- /dev/null +++ b/prototypes/entity/furnace.lua @@ -0,0 +1,4 @@ +CreateCraftingMachine("furnace", { + result_inventory_size = 1, + source_inventory_size = 1, +}) diff --git a/prototypes/entity/gate.lua b/prototypes/entity/gate.lua new file mode 100644 index 0000000..717bd89 --- /dev/null +++ b/prototypes/entity/gate.lua @@ -0,0 +1,16 @@ +CreateEntityWithHealth("gate", { + activation_distance = 1, + close_sound = Baseless.Sound, + horizontal_animation = Baseless.Animation, + horizontal_rail_animation_left = Baseless.Animation, + horizontal_rail_animation_right = Baseless.Animation, + horizontal_rail_base = Baseless.Animation, + open_sound = Baseless.Sound, + opening_speed = 1, + timeout_to_close = 1, + vertical_animation = Baseless.Animation, + vertical_rail_animation_left = Baseless.Animation, + vertical_rail_animation_right = Baseless.Animation, + vertical_rail_base = Baseless.Animation, + wall_patch = Baseless.Animation, +}) diff --git a/prototypes/entity/generator.lua b/prototypes/entity/generator.lua new file mode 100644 index 0000000..9e28ab9 --- /dev/null +++ b/prototypes/entity/generator.lua @@ -0,0 +1,10 @@ +CreateEntityWithHealth("generator", { + effectivity = 1, + energy_source = Baseless.EnergySource.Void, + fluid_box = Baseless.FluidBox, + fluid_usage_per_tick = 1, + horizontal_animation = Baseless.Animation, + maximum_temperature = 1, + vertical_animation = Baseless.Animation, + max_power_output = "1W", +}) diff --git a/prototypes/entity/heat-interface.lua b/prototypes/entity/heat-interface.lua new file mode 100644 index 0000000..3d6828e --- /dev/null +++ b/prototypes/entity/heat-interface.lua @@ -0,0 +1,3 @@ +CreateEntityWithHealth("heat-interface", { + heat_buffer = Baseless.HeatBuffer, +}) diff --git a/prototypes/entity/heat-pipe.lua b/prototypes/entity/heat-pipe.lua new file mode 100644 index 0000000..e3708f3 --- /dev/null +++ b/prototypes/entity/heat-pipe.lua @@ -0,0 +1,25 @@ +Baseless.ConnectableEntityGraphics = +{ + single = Baseless.SpriteVariations, + straight_vertical = Baseless.SpriteVariations, + straight_horizontal = Baseless.SpriteVariations, + corner_right_down = Baseless.SpriteVariations, + corner_left_down = Baseless.SpriteVariations, + corner_right_up = Baseless.SpriteVariations, + corner_left_up = Baseless.SpriteVariations, + t_up = Baseless.SpriteVariations, + t_right = Baseless.SpriteVariations, + t_down = Baseless.SpriteVariations, + t_left = Baseless.SpriteVariations, + ending_up = Baseless.SpriteVariations, + ending_right = Baseless.SpriteVariations, + ending_down = Baseless.SpriteVariations, + ending_left = Baseless.SpriteVariations, + cross = Baseless.SpriteVariations, +} + +CreateEntityWithHealth("heat-pipe", { + connection_sprites = Baseless.ConnectableEntityGraphics, + heat_buffer = Baseless.HeatBuffer, + heat_glow_sprites = Baseless.ConnectableEntityGraphics, +}) diff --git a/prototypes/entity/highlight-box.lua b/prototypes/entity/highlight-box.lua new file mode 100644 index 0000000..369b66c --- /dev/null +++ b/prototypes/entity/highlight-box.lua @@ -0,0 +1 @@ +CreateEntity("highlight-box", {}) diff --git a/prototypes/entity/infinity-container.lua b/prototypes/entity/infinity-container.lua new file mode 100644 index 0000000..591c1c1 --- /dev/null +++ b/prototypes/entity/infinity-container.lua @@ -0,0 +1,3 @@ +CreateLogisticContainer("infinity-container", { + erase_contents_when_mined = true, +}) diff --git a/prototypes/entity/infinity-pipe.lua b/prototypes/entity/infinity-pipe.lua new file mode 100644 index 0000000..951f4fe --- /dev/null +++ b/prototypes/entity/infinity-pipe.lua @@ -0,0 +1 @@ +CreatePipe("infinity-pipe", {}) diff --git a/prototypes/entity/inserter.lua b/prototypes/entity/inserter.lua new file mode 100644 index 0000000..040b039 --- /dev/null +++ b/prototypes/entity/inserter.lua @@ -0,0 +1,15 @@ +CreateEntityWithHealth("inserter", { + energy_source = Baseless.EnergySource.Void, + extension_speed = 1, + hand_base_picture = Baseless.Sprite, + hand_base_shadow = Baseless.Sprite, + hand_closed_picture = Baseless.Sprite, + hand_closed_shadow = Baseless.Sprite, + hand_open_picture = Baseless.Sprite, + hand_open_shadow = Baseless.Sprite, + insert_position = {0, 1}, + pickup_position = {0, -1}, + platform_picture = Baseless.Sprite4Way, + rotation_speed = 1, + collision_box = {{-0.1, -0.1}, {0.1, 0.1}}, +}) diff --git a/prototypes/entity/item-entity.lua b/prototypes/entity/item-entity.lua new file mode 100644 index 0000000..397faa8 --- /dev/null +++ b/prototypes/entity/item-entity.lua @@ -0,0 +1 @@ +CreateEntity("item-entity", {}) diff --git a/prototypes/entity/item-request-proxy.lua b/prototypes/entity/item-request-proxy.lua new file mode 100644 index 0000000..912059e --- /dev/null +++ b/prototypes/entity/item-request-proxy.lua @@ -0,0 +1,3 @@ +CreateEntity("item-request-proxy", { + picture = Baseless.Sprite, +}) diff --git a/prototypes/entity/lab.lua b/prototypes/entity/lab.lua new file mode 100644 index 0000000..0c65fa8 --- /dev/null +++ b/prototypes/entity/lab.lua @@ -0,0 +1,9 @@ +if CreateEntityWithHealth("lab", { + energy_source = Baseless.EnergySource.Void, + energy_usage = "1W", + inputs = {Baseless.ScienceType()}, + off_animation = Baseless.Animation, + on_animation = Baseless.Animation, +}) then + Baseless.ScienceType(true) +end diff --git a/prototypes/entity/lamp.lua b/prototypes/entity/lamp.lua new file mode 100644 index 0000000..e585b8c --- /dev/null +++ b/prototypes/entity/lamp.lua @@ -0,0 +1,6 @@ +CreateEntityWithHealth("lamp", { + energy_source = Baseless.EnergySource.Void, + energy_usage_per_tick = "1W", + picture_off = Baseless.Sprite, + picture_on = Baseless.Sprite, +}) diff --git a/prototypes/entity/land-mine.lua b/prototypes/entity/land-mine.lua new file mode 100644 index 0000000..636f4e4 --- /dev/null +++ b/prototypes/entity/land-mine.lua @@ -0,0 +1,5 @@ +CreateEntityWithHealth("land-mine", { + picture_safe = Baseless.Sprite, + picture_set = Baseless.Sprite, + trigger_radius = 1, +}) diff --git a/prototypes/entity/leaf-particle.lua b/prototypes/entity/leaf-particle.lua new file mode 100644 index 0000000..322e4e1 --- /dev/null +++ b/prototypes/entity/leaf-particle.lua @@ -0,0 +1,7 @@ +data:extend +{ + { + type = "leaf-particle", + name = "leaf-particle-for-migration", + }, +} diff --git a/prototypes/entity/loader-1x1.lua b/prototypes/entity/loader-1x1.lua new file mode 100644 index 0000000..de4e913 --- /dev/null +++ b/prototypes/entity/loader-1x1.lua @@ -0,0 +1,8 @@ +CreateTransportBeltConnectable("loader-1x1", { + filter_count = 0, + structure = + { + direction_in = Baseless.Sprite4Way, + direction_out = Baseless.Sprite4Way, + }, +}) diff --git a/prototypes/entity/loader.lua b/prototypes/entity/loader.lua new file mode 100644 index 0000000..a67b5b2 --- /dev/null +++ b/prototypes/entity/loader.lua @@ -0,0 +1,8 @@ +CreateTransportBeltConnectable("loader", { + filter_count = 0, + structure = + { + direction_in = Baseless.Sprite4Way, + direction_out = Baseless.Sprite4Way, + }, +}) diff --git a/prototypes/entity/locomotive.lua b/prototypes/entity/locomotive.lua new file mode 100644 index 0000000..78e6064 --- /dev/null +++ b/prototypes/entity/locomotive.lua @@ -0,0 +1,5 @@ +CreateRollingStock("locomotive", { + energy_source = Baseless.EnergySource.Void, + max_power = "1W", + reversing_power_modifier = 1, +}) diff --git a/prototypes/entity/logistic-container.lua b/prototypes/entity/logistic-container.lua new file mode 100644 index 0000000..f7ab171 --- /dev/null +++ b/prototypes/entity/logistic-container.lua @@ -0,0 +1 @@ +CreateLogisticContainer("logistic-container", {}) diff --git a/prototypes/entity/logistic-robot.lua b/prototypes/entity/logistic-robot.lua new file mode 100644 index 0000000..1319120 --- /dev/null +++ b/prototypes/entity/logistic-robot.lua @@ -0,0 +1 @@ +CreateRobotWithLogisticInterface("logistic-robot", {}) diff --git a/prototypes/entity/market.lua b/prototypes/entity/market.lua new file mode 100644 index 0000000..bcfed60 --- /dev/null +++ b/prototypes/entity/market.lua @@ -0,0 +1,3 @@ +CreateEntityWithHealth("market", { + picture = Baseless.Sprite, +}) diff --git a/prototypes/entity/mining-drill.lua b/prototypes/entity/mining-drill.lua new file mode 100644 index 0000000..530c19d --- /dev/null +++ b/prototypes/entity/mining-drill.lua @@ -0,0 +1,11 @@ +if CreateEntityWithHealth("mining-drill", { + animations = Baseless.Animation4Way, + energy_source = Baseless.EnergySource.Void, + energy_usage = "1W", + mining_speed = 1, + resource_categories = {Baseless.ResourceType()}, + resource_searching_radius = 1, + vector_to_place_result = {0, 0}, +}) then + Baseless.ResourceType(true) +end diff --git a/prototypes/entity/offshore-pump.lua b/prototypes/entity/offshore-pump.lua new file mode 100644 index 0000000..8a44555 --- /dev/null +++ b/prototypes/entity/offshore-pump.lua @@ -0,0 +1,11 @@ +if CreateEntityWithHealth("offshore-pump", { + fluid = "dummy-fluid", + fluid_box = Baseless.FluidBox, + pumping_speed = 1, + graphics_set = + { + animation = Baseless.Animation4Way, + }, +}) then + Baseless.Needs.Fluid = true +end diff --git a/prototypes/entity/particle-source.lua b/prototypes/entity/particle-source.lua new file mode 100644 index 0000000..e3c746d --- /dev/null +++ b/prototypes/entity/particle-source.lua @@ -0,0 +1,10 @@ +if CreateEntity("particle-source", { + height = 1, + horizontal_speed = 1, + particle = "dummy-optimized-particle", + time_before_start = 1, + time_to_live = 1, + vertical_speed = 1, +}) then + Baseless.Needs.Particle = true +end diff --git a/prototypes/entity/particle.lua b/prototypes/entity/particle.lua new file mode 100644 index 0000000..2701552 --- /dev/null +++ b/prototypes/entity/particle.lua @@ -0,0 +1,7 @@ +data:extend +{ + { + type = "particle", + name = "particle-for-migration", + }, +} diff --git a/prototypes/entity/pipe-to-ground.lua b/prototypes/entity/pipe-to-ground.lua new file mode 100644 index 0000000..006f533 --- /dev/null +++ b/prototypes/entity/pipe-to-ground.lua @@ -0,0 +1,10 @@ +CreateEntityWithHealth("pipe-to-ground", { + fluid_box = Baseless.FluidBox, + pictures = + { + down = Baseless.Sprite, + up = Baseless.Sprite, + left = Baseless.Sprite, + right = Baseless.Sprite, + }, +}) diff --git a/prototypes/entity/pipe.lua b/prototypes/entity/pipe.lua new file mode 100644 index 0000000..5815e1a --- /dev/null +++ b/prototypes/entity/pipe.lua @@ -0,0 +1 @@ +CreatePipe("pipe", {}) diff --git a/prototypes/entity/player-port.lua b/prototypes/entity/player-port.lua new file mode 100644 index 0000000..1eced48 --- /dev/null +++ b/prototypes/entity/player-port.lua @@ -0,0 +1,3 @@ +CreateEntityWithHealth("player-port", { + animation = Baseless.Animation, +}) diff --git a/prototypes/entity/power-switch.lua b/prototypes/entity/power-switch.lua new file mode 100644 index 0000000..ed69174 --- /dev/null +++ b/prototypes/entity/power-switch.lua @@ -0,0 +1,11 @@ +CreateEntityWithHealth("power-switch", { + circuit_wire_connection_point = Baseless.WireConnectionPoint.PowerSwitch, + led_off = Baseless.Sprite, + led_on = Baseless.Sprite, + left_wire_connection_point = Baseless.WireConnectionPoint.PowerSwitch, + overlay_loop = Baseless.Animation, + overlay_start = Baseless.Animation, + overlay_start_delay = 0, + power_on_animation = Baseless.Animation, + right_wire_connection_point = Baseless.WireConnectionPoint.PowerSwitch, +}) diff --git a/prototypes/entity/programmable-speaker.lua b/prototypes/entity/programmable-speaker.lua new file mode 100644 index 0000000..741d457 --- /dev/null +++ b/prototypes/entity/programmable-speaker.lua @@ -0,0 +1,7 @@ +CreateEntityWithHealth("programmable-speaker", { + energy_source = Baseless.EnergySource.Void, + energy_usage_per_tick = "1W", + instruments = {}, + maximum_polyphony = 1, + sprite = Baseless.Sprite, +}) diff --git a/prototypes/entity/projectile.lua b/prototypes/entity/projectile.lua new file mode 100644 index 0000000..3367d79 --- /dev/null +++ b/prototypes/entity/projectile.lua @@ -0,0 +1,4 @@ +CreateEntity("projectile", { + acceleration = 1, + animation = Baseless.Animation, +}) diff --git a/prototypes/entity/pump.lua b/prototypes/entity/pump.lua new file mode 100644 index 0000000..c52fa41 --- /dev/null +++ b/prototypes/entity/pump.lua @@ -0,0 +1,7 @@ +CreateEntityWithHealth("pump", { + animations = Baseless.Animation4Way, + energy_source = Baseless.EnergySource.Void, + energy_usage = "1W", + fluid_box = Baseless.FluidBox, + pumping_speed = 1, +}) diff --git a/prototypes/entity/radar.lua b/prototypes/entity/radar.lua new file mode 100644 index 0000000..e89a501 --- /dev/null +++ b/prototypes/entity/radar.lua @@ -0,0 +1,9 @@ +CreateEntityWithHealth("radar", { + energy_per_nearby_scan = "1W", + energy_per_sector = "1W", + energy_source = Baseless.EnergySource.Void, + energy_usage = "1W", + max_distance_of_nearby_sector_revealed = 1, + max_distance_of_sector_revealed = 1, + pictures = Baseless.RotatedSprite, +}) diff --git a/prototypes/entity/rail-chain-signal.lua b/prototypes/entity/rail-chain-signal.lua new file mode 100644 index 0000000..74e96df --- /dev/null +++ b/prototypes/entity/rail-chain-signal.lua @@ -0,0 +1,13 @@ +CreateRailSignalBase("rail-chain-signal", { + selection_box_offsets = + { + {0, 0}, + {0, 0}, + {0, 0}, + {0, 0}, + {0, 0}, + {0, 0}, + {0, 0}, + {0, 0}, + }, +}) diff --git a/prototypes/entity/rail-remnants.lua b/prototypes/entity/rail-remnants.lua new file mode 100644 index 0000000..b82e2a6 --- /dev/null +++ b/prototypes/entity/rail-remnants.lua @@ -0,0 +1,6 @@ +CreateCorpse("rail-remnants", { + bending_type = "turn", + pictures = Baseless.RailPictures, + collision_box = {{-1, -1}, {1, 1}}, + secondary_collision_box = {{-1, -1}, {1, 1}}, +}) diff --git a/prototypes/entity/rail-signal.lua b/prototypes/entity/rail-signal.lua new file mode 100644 index 0000000..92b37fd --- /dev/null +++ b/prototypes/entity/rail-signal.lua @@ -0,0 +1,3 @@ +CreateEntityWithHealth("rail-signal", { + animation = Baseless.RotatedAnimation, +}) diff --git a/prototypes/entity/reactor.lua b/prototypes/entity/reactor.lua new file mode 100644 index 0000000..45791d6 --- /dev/null +++ b/prototypes/entity/reactor.lua @@ -0,0 +1,6 @@ +CreateEntityWithHealth("reactor", { + consumption = "1W", + energy_source = Baseless.EnergySource.Void, + heat_buffer = Baseless.HeatBuffer, + working_light_picture = Baseless.Sprite, +}) diff --git a/prototypes/entity/resource.lua b/prototypes/entity/resource.lua new file mode 100644 index 0000000..29ca12d --- /dev/null +++ b/prototypes/entity/resource.lua @@ -0,0 +1,8 @@ +CreateEntity("resource", { + stage_counts = {1}, + stages = Baseless.AnimationVariations, + minable = + { + mining_time = 1, + }, +}) diff --git a/prototypes/entity/roboport.lua b/prototypes/entity/roboport.lua new file mode 100644 index 0000000..5ae7a18 --- /dev/null +++ b/prototypes/entity/roboport.lua @@ -0,0 +1,19 @@ +CreateEntityWithHealth("roboport", { + base = Baseless.Sprite, + base_animation = Baseless.Animation, + base_patch = Baseless.Sprite, + charge_approach_distance = 1, + charging_energy = "1W", + construction_radius = 1, + door_animation_down = Baseless.Animation, + door_animation_up = Baseless.Animation, + energy_source = Baseless.EnergySource.Void, + energy_usage = "1W", + logistics_radius = 1, + material_slots_count = 0, + recharge_minimum = "1W", + recharging_animation = Baseless.Animation, + request_to_open_door_timeout = 1, + robot_slots_count = 0, + spawn_and_station_height = 1, +}) diff --git a/prototypes/entity/rocket-silo-rocket-shadow.lua b/prototypes/entity/rocket-silo-rocket-shadow.lua new file mode 100644 index 0000000..07075cf --- /dev/null +++ b/prototypes/entity/rocket-silo-rocket-shadow.lua @@ -0,0 +1 @@ +CreateEntity("rocket-silo-rocket-shadow", {}) diff --git a/prototypes/entity/rocket-silo-rocket.lua b/prototypes/entity/rocket-silo-rocket.lua new file mode 100644 index 0000000..3919dbb --- /dev/null +++ b/prototypes/entity/rocket-silo-rocket.lua @@ -0,0 +1,31 @@ +if Baseless.Needs.RocketEntity then + CreateEntity("rocket-silo-rocket", { + effects_fade_in_end_distance = 1, + effects_fade_in_start_distance = 1, + engine_starting_speed = 1, + flying_acceleration = 1, + flying_speed = 1, + full_render_layer_switch_distance = 1, + inventory_size = 1, + rising_speed = 1, + rocket_flame_animation = Baseless.Animation, + rocket_flame_left_animation = Baseless.Animation, + rocket_flame_left_rotation = 1, + rocket_flame_right_animation = Baseless.Animation, + rocket_flame_right_rotation = 1, + rocket_glare_overlay_sprite = Baseless.Sprite, + rocket_launch_offset = {0, 0}, + rocket_render_layer_switch_distance = 1, + rocket_rise_offset = {0, 0}, + rocket_shadow_sprite = Baseless.Sprite, + rocket_smoke_bottom1_animation = Baseless.Animation, + rocket_smoke_bottom2_animation = Baseless.Animation, + rocket_smoke_top1_animation = Baseless.Animation, + rocket_smoke_top2_animation = Baseless.Animation, + rocket_smoke_top3_animation = Baseless.Animation, + rocket_sprite = Baseless.Sprite, + rocket_visible_distance_from_center = 1, + shadow_fade_out_end_ratio = 1, + shadow_fade_out_start_ratio = 1 + }) +end diff --git a/prototypes/entity/rocket-silo.lua b/prototypes/entity/rocket-silo.lua new file mode 100644 index 0000000..91f85f0 --- /dev/null +++ b/prototypes/entity/rocket-silo.lua @@ -0,0 +1,34 @@ +if CreateAssemblingMachine("rocket-silo", { + active_energy_usage = "1W", + arm_01_back_animation = Baseless.Animation, + arm_02_right_animation = Baseless.Animation, + arm_03_front_animation = Baseless.Animation, + base_day_sprite = Baseless.Sprite, + base_front_sprite = Baseless.Sprite, + door_back_open_offset = {0, 0}, + door_back_sprite = Baseless.Sprite, + door_front_open_offset = {0, 0}, + door_front_sprite = Baseless.Sprite, + door_opening_speed = 1, + energy_usage = "1W", + hole_clipping_box = Baseless.BoundingBox, + hole_light_sprite = Baseless.Sprite, + hole_sprite = Baseless.Sprite, + idle_energy_usage = "1W", + lamp_energy_usage = "1W", + light_blinking_speed = 1, + red_lights_back_sprites = Baseless.Sprite, + red_lights_front_sprites = Baseless.Sprite, + rocket_entity = "dummy-rocket-silo-rocket", + rocket_glow_overlay_sprite = Baseless.Sprite, + rocket_parts_required = 1, + rocket_shadow_overlay_sprite = Baseless.Sprite, + satellite_animation = Baseless.Animation, + satellite_shadow_animation = Baseless.Animation, + shadow_sprite = Baseless.Sprite, + silo_fade_out_end_distance = 1, + silo_fade_out_start_distance = 1, + times_to_blink = 1, +}) then + Baseless.Needs.RocketEntity = true +end diff --git a/prototypes/entity/simple-entity-with-force.lua b/prototypes/entity/simple-entity-with-force.lua new file mode 100644 index 0000000..49e43ce --- /dev/null +++ b/prototypes/entity/simple-entity-with-force.lua @@ -0,0 +1,3 @@ +CreateEntityWithHealth("simple-entity-with-force", { + picture = Baseless.Sprite, +}) diff --git a/prototypes/entity/simple-entity-with-owner.lua b/prototypes/entity/simple-entity-with-owner.lua new file mode 100644 index 0000000..bfbebc0 --- /dev/null +++ b/prototypes/entity/simple-entity-with-owner.lua @@ -0,0 +1,3 @@ +CreateEntityWithHealth("simple-entity-with-owner", { + picture = Baseless.Sprite, +}) diff --git a/prototypes/entity/simple-entity.lua b/prototypes/entity/simple-entity.lua new file mode 100644 index 0000000..a0ae060 --- /dev/null +++ b/prototypes/entity/simple-entity.lua @@ -0,0 +1,3 @@ +CreateEntityWithHealth("simple-entity", { + picture = Baseless.Sprite, +}) diff --git a/prototypes/entity/smoke-with-trigger.lua b/prototypes/entity/smoke-with-trigger.lua new file mode 100644 index 0000000..bbd794b --- /dev/null +++ b/prototypes/entity/smoke-with-trigger.lua @@ -0,0 +1 @@ +CreateSmoke("smoke-with-trigger", {}) diff --git a/prototypes/entity/smoke.lua b/prototypes/entity/smoke.lua new file mode 100644 index 0000000..656c5ea --- /dev/null +++ b/prototypes/entity/smoke.lua @@ -0,0 +1,8 @@ +data:extend +{ + { + type = "smoke", + name = "smoke-for-migration", + animation = Baseless.Animation, + }, +} diff --git a/prototypes/entity/solar-panel.lua b/prototypes/entity/solar-panel.lua new file mode 100644 index 0000000..1633a31 --- /dev/null +++ b/prototypes/entity/solar-panel.lua @@ -0,0 +1,5 @@ +CreateEntityWithHealth("solar-panel", { + energy_source = Baseless.EnergySource.Void, + picture = Baseless.SpriteVariations, + production = "1W", +}) diff --git a/prototypes/entity/speech-bubble.lua b/prototypes/entity/speech-bubble.lua new file mode 100644 index 0000000..7672e96 --- /dev/null +++ b/prototypes/entity/speech-bubble.lua @@ -0,0 +1,3 @@ +CreateEntity("speech-bubble", { + style = "compilatron_speech_bubble", +}) diff --git a/prototypes/entity/splitter.lua b/prototypes/entity/splitter.lua new file mode 100644 index 0000000..1b64b20 --- /dev/null +++ b/prototypes/entity/splitter.lua @@ -0,0 +1,3 @@ +CreateTransportBeltConnectable("splitter", { + structure = Baseless.Animation4Way, +}) diff --git a/prototypes/entity/sticker.lua b/prototypes/entity/sticker.lua new file mode 100644 index 0000000..f077942 --- /dev/null +++ b/prototypes/entity/sticker.lua @@ -0,0 +1,3 @@ +CreateEntity("sticker", { + duration_in_ticks = 1, +}) diff --git a/prototypes/entity/storage-tank.lua b/prototypes/entity/storage-tank.lua new file mode 100644 index 0000000..a7a95bd --- /dev/null +++ b/prototypes/entity/storage-tank.lua @@ -0,0 +1,13 @@ +CreateEntityWithHealth("storage-tank", { + flow_length_in_ticks = 1, + fluid_box = Baseless.FluidBox, + pictures = + { + picture = Baseless.Sprite4Way, + window_background = Baseless.Sprite, + fluid_background = Baseless.Sprite, + flow_sprite = Baseless.Sprite, + gas_flow = Baseless.Animation, + }, + window_bounding_box = Baseless.BoundingBox, +}) diff --git a/prototypes/entity/straight-rail.lua b/prototypes/entity/straight-rail.lua new file mode 100644 index 0000000..1c63f60 --- /dev/null +++ b/prototypes/entity/straight-rail.lua @@ -0,0 +1,3 @@ +if Baseless.Needs.RailEntity then + CreateRail("straight-rail", {}) +end diff --git a/prototypes/entity/stream.lua b/prototypes/entity/stream.lua new file mode 100644 index 0000000..f800bf5 --- /dev/null +++ b/prototypes/entity/stream.lua @@ -0,0 +1,6 @@ +CreateEntity("stream", { + particle_horizontal_speed = 1, + particle_horizontal_speed_deviation = 0, + particle_spawn_interval = 1, + particle_vertical_acceleration = 1, +}) diff --git a/prototypes/entity/tile-ghost.lua b/prototypes/entity/tile-ghost.lua new file mode 100644 index 0000000..1416e26 --- /dev/null +++ b/prototypes/entity/tile-ghost.lua @@ -0,0 +1 @@ +CreateEntity("tile-ghost", {}) diff --git a/prototypes/entity/train-stop.lua b/prototypes/entity/train-stop.lua new file mode 100644 index 0000000..69c5894 --- /dev/null +++ b/prototypes/entity/train-stop.lua @@ -0,0 +1,3 @@ +CreateEntityWithHealth("train-stop", { + animation_ticks_per_frame = 1, +}) diff --git a/prototypes/entity/transport-belt.lua b/prototypes/entity/transport-belt.lua new file mode 100644 index 0000000..2d3af35 --- /dev/null +++ b/prototypes/entity/transport-belt.lua @@ -0,0 +1,4 @@ +CreateTransportBeltConnectable("transport-belt", { + connector_frame_sprites = Baseless.TransportBeltConnectorFrame, + animations = Baseless.BeltAnimation, +}) diff --git a/prototypes/entity/tree.lua b/prototypes/entity/tree.lua new file mode 100644 index 0000000..78f16e1 --- /dev/null +++ b/prototypes/entity/tree.lua @@ -0,0 +1,3 @@ +CreateEntityWithHealth("tree", { + pictures = Baseless.SpriteVariations, +}) diff --git a/prototypes/entity/turret.lua b/prototypes/entity/turret.lua new file mode 100644 index 0000000..0831f70 --- /dev/null +++ b/prototypes/entity/turret.lua @@ -0,0 +1 @@ +CreateTurret("turret", {}) diff --git a/prototypes/entity/underground-belt.lua b/prototypes/entity/underground-belt.lua new file mode 100644 index 0000000..ea3e242 --- /dev/null +++ b/prototypes/entity/underground-belt.lua @@ -0,0 +1,9 @@ +CreateTransportBeltConnectable("underground-belt", { + max_distance = 1, + structure = + { + direction_in = Baseless.Sprite4Way, + direction_out = Baseless.Sprite4Way, + }, + underground_sprite = Baseless.Sprite, +}) diff --git a/prototypes/entity/unit-spawner.lua b/prototypes/entity/unit-spawner.lua new file mode 100644 index 0000000..d6501f7 --- /dev/null +++ b/prototypes/entity/unit-spawner.lua @@ -0,0 +1,28 @@ +if CreateEntityWithHealth("unit-spawner", { + animations = Baseless.AnimationVariations, + call_for_help_radius = 1, + max_count_of_owned_units = 1, + max_friends_around_to_spawn = 1, + max_richness_for_spawn_shift = 1, + max_spawn_shift = 1, + pollution_absorption_absolute = 1, + pollution_absorption_proportional = 1, + result_units = + { + { + unit = "dummy-unit", + spawn_points = + { + { + evolution_factor = 0, + spawn_weight = 0, + }, + }, + }, + }, + spawning_cooldown = {1, 1}, + spawning_radius = 1, + spawning_spacing = 1, +}) then + Baseless.Needs.UnitEntity = true +end diff --git a/prototypes/entity/unit.lua b/prototypes/entity/unit.lua new file mode 100644 index 0000000..21cbb76 --- /dev/null +++ b/prototypes/entity/unit.lua @@ -0,0 +1,13 @@ +if Baseless.Needs.UnitEntity then + if CreateEntityWithHealth("unit", { + attack_parameters = Baseless.AttackParameters.Stream(), + distance_per_frame = 1, + distraction_cooldown = 1, + movement_speed = 1, + pollution_to_join_attack = 1, + run_animation = Baseless.RotatedAnimation, + vision_distance = 1, + }) then + Baseless.AttackParameters.Stream(true) + end +end diff --git a/prototypes/entity/wall.lua b/prototypes/entity/wall.lua new file mode 100644 index 0000000..48ec665 --- /dev/null +++ b/prototypes/entity/wall.lua @@ -0,0 +1,13 @@ +CreateEntityWithHealth("wall", { + pictures = + { + single = Baseless.SpriteVariations, + straight_vertical = Baseless.SpriteVariations, + straight_horizontal = Baseless.SpriteVariations, + corner_right_down = Baseless.SpriteVariations, + corner_left_down = Baseless.SpriteVariations, + t_up = Baseless.SpriteVariations, + ending_right = Baseless.SpriteVariations, + ending_left = Baseless.SpriteVariations, + }, +}) diff --git a/prototypes/equipment/active-defense-equipment.lua b/prototypes/equipment/active-defense-equipment.lua new file mode 100644 index 0000000..9fded0d --- /dev/null +++ b/prototypes/equipment/active-defense-equipment.lua @@ -0,0 +1,6 @@ +if CreateEquipment("active-defense-equipment", { + attack_parameters = Baseless.AttackParameters.Stream(), + automatic = true, +}) then + Baseless.AttackParameters.Stream(true) +end diff --git a/prototypes/equipment/battery-equipment.lua b/prototypes/equipment/battery-equipment.lua new file mode 100644 index 0000000..293bc27 --- /dev/null +++ b/prototypes/equipment/battery-equipment.lua @@ -0,0 +1 @@ +CreateEquipment("battery-equipment", {}) diff --git a/prototypes/equipment/belt-immunity-equipment.lua b/prototypes/equipment/belt-immunity-equipment.lua new file mode 100644 index 0000000..e0334cd --- /dev/null +++ b/prototypes/equipment/belt-immunity-equipment.lua @@ -0,0 +1,3 @@ +CreateEquipment("belt-immunity-equipment", { + energy_consumption = "1W", +}) diff --git a/prototypes/equipment/energy-shield-equipment.lua b/prototypes/equipment/energy-shield-equipment.lua new file mode 100644 index 0000000..8b7015c --- /dev/null +++ b/prototypes/equipment/energy-shield-equipment.lua @@ -0,0 +1,4 @@ +CreateEquipment("energy-shield-equipment", { + energy_per_shield = "1W", + max_shield_value = 1, +}) diff --git a/prototypes/equipment/generator-equipment.lua b/prototypes/equipment/generator-equipment.lua new file mode 100644 index 0000000..cea4621 --- /dev/null +++ b/prototypes/equipment/generator-equipment.lua @@ -0,0 +1,4 @@ +CreateEquipment("generator-equipment", { + power = "1W", + burner = Baseless.EnergySource.Burner(), +}) diff --git a/prototypes/equipment/movement-bonus-equipment.lua b/prototypes/equipment/movement-bonus-equipment.lua new file mode 100644 index 0000000..6e2eb42 --- /dev/null +++ b/prototypes/equipment/movement-bonus-equipment.lua @@ -0,0 +1,4 @@ +CreateEquipment("movement-bonus-equipment", { + energy_consumption = "1W", + movement_bonus = 1, +}) diff --git a/prototypes/equipment/night-vision-equipment.lua b/prototypes/equipment/night-vision-equipment.lua new file mode 100644 index 0000000..4d566f7 --- /dev/null +++ b/prototypes/equipment/night-vision-equipment.lua @@ -0,0 +1,5 @@ +CreateEquipment("night-vision-equipment", { + color_lookup = {{1, "identity"}}, + energy_input = "1W", + darkness_to_turn_on = 1, +}) diff --git a/prototypes/equipment/roboport-equipment.lua b/prototypes/equipment/roboport-equipment.lua new file mode 100644 index 0000000..47499c0 --- /dev/null +++ b/prototypes/equipment/roboport-equipment.lua @@ -0,0 +1,7 @@ +CreateEquipment("roboport-equipment", { + charge_approach_distance = 1, + charging_energy = "1W", + construction_radius = 1, + recharging_animation = Baseless.Animation, + spawn_and_station_height = 1, +}) diff --git a/prototypes/equipment/solar-panel-equipment.lua b/prototypes/equipment/solar-panel-equipment.lua new file mode 100644 index 0000000..32b70c7 --- /dev/null +++ b/prototypes/equipment/solar-panel-equipment.lua @@ -0,0 +1,3 @@ +CreateEquipment("solar-panel-equipment", { + power = "1W", +}) diff --git a/prototypes/item-group.lua b/prototypes/item-group.lua new file mode 100644 index 0000000..fec512c --- /dev/null +++ b/prototypes/item-group.lua @@ -0,0 +1,16 @@ +if Baseless.Needs.ItemGroup then + CreatePrototype("item-group", Baseless.IconSpecification) + CreatePrototype("item-subgroup", {group = "dummy-item-group"}) +end + +if data.raw["item-subgroup"] == nil or + data.raw["item-subgroup"]["other"] == nil then + data:extend + { + { + type = "item-subgroup", + name = "other", + group = "dummy-item-group", + }, + } +end diff --git a/prototypes/item/ammo.lua b/prototypes/item/ammo.lua new file mode 100644 index 0000000..31a5a99 --- /dev/null +++ b/prototypes/item/ammo.lua @@ -0,0 +1,5 @@ +if CreateItem("ammo", { + ammo_type = Baseless.AmmoType(), +}) then + Baseless.AmmoType(true) +end diff --git a/prototypes/item/armor.lua b/prototypes/item/armor.lua new file mode 100644 index 0000000..63313b3 --- /dev/null +++ b/prototypes/item/armor.lua @@ -0,0 +1 @@ +CreateTool("armor", {}) diff --git a/prototypes/item/blueprint-book.lua b/prototypes/item/blueprint-book.lua new file mode 100644 index 0000000..8e47e9e --- /dev/null +++ b/prototypes/item/blueprint-book.lua @@ -0,0 +1 @@ +CreateItemWithInventory("blueprint-book", {}) diff --git a/prototypes/item/blueprint.lua b/prototypes/item/blueprint.lua new file mode 100644 index 0000000..d14503a --- /dev/null +++ b/prototypes/item/blueprint.lua @@ -0,0 +1 @@ +CreateSelectionTool("blueprint", {}) diff --git a/prototypes/item/capsule.lua b/prototypes/item/capsule.lua new file mode 100644 index 0000000..dc01319 --- /dev/null +++ b/prototypes/item/capsule.lua @@ -0,0 +1,9 @@ +if CreateItem("capsule", { + capsule_action = + { + type = "throw", + attack_parameters = Baseless.AttackParameters.Stream(), + }, +}) then + Baseless.AttackParameters.Stream(true) +end diff --git a/prototypes/item/copper-cable.lua b/prototypes/item/copper-cable.lua new file mode 100644 index 0000000..d9f7a47 --- /dev/null +++ b/prototypes/item/copper-cable.lua @@ -0,0 +1,14 @@ +if data.raw["item"] == nil or + data.raw["item"]["copper-cable"] == nil then + data:extend + { + { + type = "item", + name = "copper-cable", + icon = Baseless.Image, + icon_size = 1, + stack_size = 1, + subgroup = "dummy-item-subgroup", + }, + } +end diff --git a/prototypes/item/copy-paste-tool.lua b/prototypes/item/copy-paste-tool.lua new file mode 100644 index 0000000..916484a --- /dev/null +++ b/prototypes/item/copy-paste-tool.lua @@ -0,0 +1 @@ +CreateSelectionTool("copy-paste-tool", {}) diff --git a/prototypes/item/deconstruction-item.lua b/prototypes/item/deconstruction-item.lua new file mode 100644 index 0000000..168d8c9 --- /dev/null +++ b/prototypes/item/deconstruction-item.lua @@ -0,0 +1 @@ +CreateSelectionTool("deconstruction-item", {}) diff --git a/prototypes/item/green-wire.lua b/prototypes/item/green-wire.lua new file mode 100644 index 0000000..ee90779 --- /dev/null +++ b/prototypes/item/green-wire.lua @@ -0,0 +1,14 @@ +if data.raw["item"] == nil or + data.raw["item"]["green-wire"] == nil then + data:extend + { + { + type = "item", + name = "green-wire", + icon = Baseless.Image, + icon_size = 1, + stack_size = 1, + subgroup = "dummy-item-subgroup", + }, + } +end diff --git a/prototypes/item/gun.lua b/prototypes/item/gun.lua new file mode 100644 index 0000000..231d1ae --- /dev/null +++ b/prototypes/item/gun.lua @@ -0,0 +1,5 @@ +if CreateItem("gun", { + attack_parameters = Baseless.AttackParameters.Stream(), +}) then + Baseless.AttackParameters.Stream(true) +end diff --git a/prototypes/item/item-with-entity-data.lua b/prototypes/item/item-with-entity-data.lua new file mode 100644 index 0000000..9303f30 --- /dev/null +++ b/prototypes/item/item-with-entity-data.lua @@ -0,0 +1 @@ +CreateItem("item-with-entity-data", {}) diff --git a/prototypes/item/item-with-inventory.lua b/prototypes/item/item-with-inventory.lua new file mode 100644 index 0000000..da310dc --- /dev/null +++ b/prototypes/item/item-with-inventory.lua @@ -0,0 +1 @@ +CreateItemWithInventory("item-with-inventory", {}) diff --git a/prototypes/item/item-with-label.lua b/prototypes/item/item-with-label.lua new file mode 100644 index 0000000..e61fa26 --- /dev/null +++ b/prototypes/item/item-with-label.lua @@ -0,0 +1 @@ +CreateItemWithLabel("item-with-label", {}) diff --git a/prototypes/item/item-with-tags.lua b/prototypes/item/item-with-tags.lua new file mode 100644 index 0000000..d85771d --- /dev/null +++ b/prototypes/item/item-with-tags.lua @@ -0,0 +1 @@ +CreateItemWithTags("item-with-tags", {}) diff --git a/prototypes/item/item.lua b/prototypes/item/item.lua new file mode 100644 index 0000000..e39773c --- /dev/null +++ b/prototypes/item/item.lua @@ -0,0 +1 @@ +CreateItem("item", {}) diff --git a/prototypes/item/mining-tool.lua b/prototypes/item/mining-tool.lua new file mode 100644 index 0000000..bb7a821 --- /dev/null +++ b/prototypes/item/mining-tool.lua @@ -0,0 +1 @@ +CreateTool("mining-tool", {}) diff --git a/prototypes/item/module.lua b/prototypes/item/module.lua new file mode 100644 index 0000000..6ea03be --- /dev/null +++ b/prototypes/item/module.lua @@ -0,0 +1,7 @@ +if CreateItem("module", { + category = Baseless.ModuleType(), + effect = {}, + tier = 0, +}) then + Baseless.ModuleType(true) +end diff --git a/prototypes/item/rail-planner.lua b/prototypes/item/rail-planner.lua new file mode 100644 index 0000000..9aa2d5e --- /dev/null +++ b/prototypes/item/rail-planner.lua @@ -0,0 +1,6 @@ +if CreateItem("rail-planner", { + curved_rail = "dummy-curved-rail", + straight_rail = "dummy-straight-rail", +}) then + Baseless.Needs.RailEntity = true +end diff --git a/prototypes/item/red-wire.lua b/prototypes/item/red-wire.lua new file mode 100644 index 0000000..77c056f --- /dev/null +++ b/prototypes/item/red-wire.lua @@ -0,0 +1,14 @@ +if data.raw["item"] == nil or + data.raw["item"]["red-wire"] == nil then + data:extend + { + { + type = "item", + name = "red-wire", + icon = Baseless.Image, + icon_size = 1, + stack_size = 1, + subgroup = "dummy-item-subgroup", + }, + } +end diff --git a/prototypes/item/repair-tool.lua b/prototypes/item/repair-tool.lua new file mode 100644 index 0000000..72babd9 --- /dev/null +++ b/prototypes/item/repair-tool.lua @@ -0,0 +1,3 @@ +CreateTool("repair-tool", { + speed = 1, +}) diff --git a/prototypes/item/science.lua b/prototypes/item/science.lua new file mode 100644 index 0000000..65a2c3c --- /dev/null +++ b/prototypes/item/science.lua @@ -0,0 +1,15 @@ +if Baseless.Needs.ScienceType then + data:extend + { + { + type = "tool", + name = "dummy-science-pack", + flags = {"hidden"}, + icon = Baseless.Image, + icon_size = 1, + stack_size = 1, + subgroup = "dummy-item-subgroup", + infinite = true, + }, + } +end diff --git a/prototypes/item/selection-tool.lua b/prototypes/item/selection-tool.lua new file mode 100644 index 0000000..6ca181c --- /dev/null +++ b/prototypes/item/selection-tool.lua @@ -0,0 +1 @@ +CreateSelectionTool("selection-tool", {}) diff --git a/prototypes/item/tool.lua b/prototypes/item/tool.lua new file mode 100644 index 0000000..998af11 --- /dev/null +++ b/prototypes/item/tool.lua @@ -0,0 +1 @@ +CreateTool("tool", {}) diff --git a/prototypes/item/upgrade-item.lua b/prototypes/item/upgrade-item.lua new file mode 100644 index 0000000..206b781 --- /dev/null +++ b/prototypes/item/upgrade-item.lua @@ -0,0 +1 @@ +CreateSelectionTool("upgrade-item", {}) diff --git a/prototypes/map-settings.lua b/prototypes/map-settings.lua new file mode 100644 index 0000000..1ea12b6 --- /dev/null +++ b/prototypes/map-settings.lua @@ -0,0 +1,120 @@ +-- Stripped copy of the base mod +data:extend +{ + { + type = "map-settings", + name = "map-settings", + pollution = + { + enabled = true, + diffusion_ratio = 0.02, + min_to_diffuse = 15, + ageing = 1, + expected_max_per_chunk = 150, + min_to_show_per_chunk = 50, + min_pollution_to_damage_trees = 60, + pollution_with_max_forest_damage = 150, + pollution_per_tree_damage = 50, + pollution_restored_per_tree_damage = 10, + max_pollution_to_restore_trees = 20, + enemy_attack_pollution_consumption_modifier = 1, + }, + enemy_evolution = + { + enabled = true, + time_factor = 0.000004, + destroy_factor = 0.002, + pollution_factor = 0.0000009, + }, + enemy_expansion = + { + enabled = true, + max_expansion_distance = 7, + friendly_base_influence_radius = 2, + enemy_building_influence_radius = 2, + building_coefficient = 0.1, + other_base_coefficient = 2.0, + neighbouring_chunk_coefficient = 0.5, + neighbouring_base_chunk_coefficient = 0.4, + max_colliding_tiles_coefficient = 0.9, + settler_group_min_size = 5, + settler_group_max_size = 20, + min_expansion_cooldown = 4 * 3600, + max_expansion_cooldown = 60 * 3600, + }, + unit_group = + { + min_group_gathering_time = 3600, + max_group_gathering_time = 10 * 3600, + max_wait_time_for_late_members = 2 * 3600, + max_group_radius = 30.0, + min_group_radius = 5.0, + max_member_speedup_when_behind = 1.4, + max_member_slowdown_when_ahead = 0.6, + max_group_slowdown_factor = 0.3, + max_group_member_fallback_factor = 3, + member_disown_distance = 10, + tick_tolerance_when_member_arrives = 60, + max_gathering_unit_groups = 30, + max_unit_group_size = 200, + }, + steering = + { + default = + { + radius = 1.2, + separation_force = 0.005, + separation_factor = 1.2, + force_unit_fuzzy_goto_behavior = false, + }, + moving = + { + radius = 3, + separation_force = 0.01, + separation_factor = 3, + force_unit_fuzzy_goto_behavior = false, + }, + }, + path_finder = + { + fwd2bwd_ratio = 5, + goal_pressure_ratio = 2, + max_steps_worked_per_tick = 1000, + max_work_done_per_tick = 8000, + use_path_cache = true, + short_cache_size = 5, + long_cache_size = 25, + short_cache_min_cacheable_distance = 10, + short_cache_min_algo_steps_to_cache = 50, + long_cache_min_cacheable_distance = 30, + cache_max_connect_to_cache_steps_multiplier = 100, + cache_accept_path_start_distance_ratio = 0.2, + cache_accept_path_end_distance_ratio = 0.15, + negative_cache_accept_path_start_distance_ratio = 0.3, + negative_cache_accept_path_end_distance_ratio = 0.3, + cache_path_start_distance_rating_multiplier = 10, + cache_path_end_distance_rating_multiplier = 20, + stale_enemy_with_same_destination_collision_penalty = 30, + ignore_moving_enemy_collision_distance = 5, + enemy_with_different_destination_collision_penalty = 30, + general_entity_collision_penalty = 10, + general_entity_subsequent_collision_penalty = 3, + extended_collision_penalty = 3, + max_clients_to_accept_any_new_request = 10, + max_clients_to_accept_short_new_request = 100, + direct_distance_to_consider_short_request = 100, + short_request_max_steps = 1000, + short_request_ratio = 0.5, + min_steps_to_check_path_find_termination = 2000, + start_to_goal_cost_multiplier_to_terminate_path_find = 2000.0, + overload_levels = {0, 100, 500}, + overload_multipliers = {2, 3, 4}, + }, + max_failed_behavior_count = 3, + difficulty_settings = + { + recipe_difficulty = defines.difficulty_settings.recipe_difficulty.normal, + technology_difficulty = defines.difficulty_settings.technology_difficulty.normal, + }, + }, +} diff --git a/prototypes/other/equipment-grid.lua b/prototypes/other/equipment-grid.lua new file mode 100644 index 0000000..89900e3 --- /dev/null +++ b/prototypes/other/equipment-grid.lua @@ -0,0 +1,14 @@ +data:extend +{ + { + type = "equipment-grid", + name = "small-equipment-grid", + equipment_categories = {"dummy-equipment-category"}, + height = 1, + width = 1, + }, + { + type = "equipment-category", + name = "dummy-equipment-category", + }, +} diff --git a/prototypes/other/fluid.lua b/prototypes/other/fluid.lua new file mode 100644 index 0000000..c6f8f84 --- /dev/null +++ b/prototypes/other/fluid.lua @@ -0,0 +1,11 @@ +if Baseless.Needs.Fluid then + CreatePrototype("fluid", { + base_color = Baseless.Color, + default_temperature = 1, + flow_color = Baseless.Color, + icon = Baseless.Image, + icon_size = 1, + max_temperature = 1, + subgroup = "dummy-item-subgroup", + }) +end diff --git a/prototypes/other/optimized-particle.lua b/prototypes/other/optimized-particle.lua new file mode 100644 index 0000000..1d074e1 --- /dev/null +++ b/prototypes/other/optimized-particle.lua @@ -0,0 +1,8 @@ +if Baseless.Needs.Particle then + CreatePrototype("optimized-particle", { + life_time = 2, + pictures = Baseless.AnimationVariations, + render_layer = Baseless.RenderLayer, + render_layer_when_on_ground = Baseless.RenderLayer, + }) +end diff --git a/prototypes/other/tile.lua b/prototypes/other/tile.lua new file mode 100644 index 0000000..eb073ed --- /dev/null +++ b/prototypes/other/tile.lua @@ -0,0 +1,7 @@ +CreatePrototype("tile", { + collision_mask = {"ground-tile"}, + layer = 1, + map_color = Baseless.Color, + pollution_absorption_per_second = 0, + variants = Baseless.Transitions, +}) diff --git a/prototypes/other/trivial-smoke.lua b/prototypes/other/trivial-smoke.lua new file mode 100644 index 0000000..92bd797 --- /dev/null +++ b/prototypes/other/trivial-smoke.lua @@ -0,0 +1,13 @@ +if data.raw["trivial-smoke"] == nil or + data.raw["trivial-smoke"]["smoke-building"] == nil then + data:extend + { + { + type = "trivial-smoke", + name = "smoke-building", + animation = Baseless.Animation, + duration = 1, + cyclic = true, + }, + } +end diff --git a/prototypes/other/virtual-signal.lua b/prototypes/other/virtual-signal.lua new file mode 100644 index 0000000..b3df9c7 --- /dev/null +++ b/prototypes/other/virtual-signal.lua @@ -0,0 +1,41 @@ +if data.raw["virtual-signal"] == nil or + data.raw["virtual-signal"]["signal-everything"] == nil then + data:extend + { + { + type = "virtual-signal", + name = "signal-everything", + icon = Baseless.Image, + icon_size = 1, + subgroup = "dummy-item-subgroup", + }, + } +end + +if data.raw["virtual-signal"] == nil or + data.raw["virtual-signal"]["signal-anything"] == nil then + data:extend + { + { + type = "virtual-signal", + name = "signal-anything", + icon = Baseless.Image, + icon_size = 1, + subgroup = "dummy-item-subgroup", + }, + } +end + +if data.raw["virtual-signal"] == nil or + data.raw["virtual-signal"]["signal-each"] == nil then + data:extend + { + { + type = "virtual-signal", + name = "signal-each", + icon = Baseless.Image, + icon_size = 1, + subgroup = "dummy-item-subgroup", + }, + } +end