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