Browse Source

delivery canon new recepies

master
Florin Tobler 4 years ago
parent
commit
8c99f1a55c
  1. 2
      space-exploration-extension/control.lua
  2. 194
      space-exploration-extension/data.lua
  3. 9
      space-exploration-extension/info.json
  4. 5
      space-exploration-extension/locale/en/locale.cfg
  5. 364
      space-exploration_0.5.80/space-exploration/.documentation/global.txt
  6. 44
      space-exploration_0.5.80/space-exploration/.documentation/tiles.txt
  7. 6
      space-exploration_0.5.80/space-exploration/README.md
  8. 4010
      space-exploration_0.5.80/space-exploration/changelog.txt
  9. 67
      space-exploration_0.5.80/space-exploration/collision-mask-util-extended/control/collision-mask-util-control.lua
  10. 184
      space-exploration_0.5.80/space-exploration/collision-mask-util-extended/data/collision-mask-util-extended.lua
  11. 2072
      space-exploration_0.5.80/space-exploration/control.lua
  12. 174
      space-exploration_0.5.80/space-exploration/data-final-fixes.lua
  13. 26
      space-exploration_0.5.80/space-exploration/data-updates.lua
  14. 354
      space-exploration_0.5.80/space-exploration/data.lua
  15. 1082
      space-exploration_0.5.80/space-exploration/data_util.lua
  16. 101
      space-exploration_0.5.80/space-exploration/info.json
  17. 21
      space-exploration_0.5.80/space-exploration/licence.txt
  18. 1905
      space-exploration_0.5.80/space-exploration/locale/cs/strings.cfg
  19. 2191
      space-exploration_0.5.80/space-exploration/locale/de/strings.cfg
  20. 2375
      space-exploration_0.5.80/space-exploration/locale/en/strings.cfg
  21. 2374
      space-exploration_0.5.80/space-exploration/locale/es-ES/strings.cfg
  22. 2376
      space-exploration_0.5.80/space-exploration/locale/fr/strings.cfg
  23. 823
      space-exploration_0.5.80/space-exploration/locale/hw/strings.cfg
  24. 967
      space-exploration_0.5.80/space-exploration/locale/it/strings.cfg
  25. 1649
      space-exploration_0.5.80/space-exploration/locale/ja/strings.cfg
  26. 2111
      space-exploration_0.5.80/space-exploration/locale/ko/strings.cfg
  27. 2073
      space-exploration_0.5.80/space-exploration/locale/pl/strings.cfg
  28. 2277
      space-exploration_0.5.80/space-exploration/locale/pt-BR/strings.cfg
  29. 2374
      space-exploration_0.5.80/space-exploration/locale/ru/strings.cfg
  30. 2374
      space-exploration_0.5.80/space-exploration/locale/tr/strings.cfg
  31. 2375
      space-exploration_0.5.80/space-exploration/locale/zh-CN/strings.cfg
  32. 3
      space-exploration_0.5.80/space-exploration/lua-style.cfg
  33. 10
      space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.1.146.json
  34. 6
      space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.1.64.json
  35. 8
      space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.1.8.json
  36. 14
      space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.2.5.json
  37. 8
      space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.2.7.lua
  38. 16
      space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.3.126.lua
  39. 6
      space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.3.13.json
  40. 20
      space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.3.130.json
  41. 53
      space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.3.21.json
  42. 22
      space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.3.32.json
  43. 12
      space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.5.1.json
  44. 10
      space-exploration_0.5.80/space-exploration/migrations/space-exploration0.0.3.45.json
  45. 105
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/categories.lua
  46. 1052
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/antimatter-reactor.lua
  47. 358
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/arcosphere.lua
  48. 975
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/big-heat-exchanger.lua
  49. 565
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/big-turbine.lua
  50. 951
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/delivery-cannon.lua
  51. 400
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/electric-boiler.lua
  52. 2428
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/energy-transmitter.lua
  53. 466
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/interburbulator.lua
  54. 219
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/iridium-piledriver.lua
  55. 170
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/lifesupport.lua
  56. 103
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/linked-container.lua
  57. 326
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/nexus.lua
  58. 1043
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/pipe.lua
  59. 990
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/probe.lua
  60. 73
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/rail.lua
  61. 403
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/spaceship-clamps.lua
  62. 516
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/transport-belt.lua
  63. 1531
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/weapon-bio.lua
  64. 4
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/compatibility/qol_research.lua
  65. 23
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/damage-types.lua
  66. 72
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/decorative/crater.lua
  67. 3477
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/decorative/rocks-base.lua
  68. 80
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/decorative/rocks.lua
  69. 339
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/ancient.lua
  70. 356
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/astrometric-gravimetric.lua
  71. 423
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/cargo-rocket.lua
  72. 403
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/condenser-turbine.lua
  73. 195
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/core-miner.lua
  74. 399
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/decontamination-lifesupport.lua
  75. 197
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/dimensional-anchor.lua
  76. 429
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/entity.lua
  77. 216
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/explosion.lua
  78. 149
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/fluid-burner-generator.lua
  79. 145
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/fuel-refinery.lua
  80. 1690
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/gate.lua
  81. 164
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/genetics-laboratory.lua
  82. 245
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/growth-facility.lua
  83. 481
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/laser-radi-thermo.lua
  84. 44
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/light.lua
  85. 453
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/meteor-defence.lua
  86. 358
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/meteor.lua
  87. 483
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/particle-acc-col-fab.lua
  88. 865
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/pylons.lua
  89. 483
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/recycle-mechanical.lua
  90. 372
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/resource-autoplace.lua
  91. 535
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/resources.lua
  92. 399
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/rocket-fragments.lua
  93. 64
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/rocket-landing-pad.lua
  94. 992
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/rocket-launch-pad.lua
  95. 328
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/scaffold.lua
  96. 242
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/space-biochemical.lua
  97. 98
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/space-capsule.lua
  98. 276
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/space-electromagnetics.lua
  99. 148
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/space-hypercooler.lua
  100. 326
      space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/space-manufactory.lua

2
space-exploration-extension/control.lua

@ -0,0 +1,2 @@
--control.lua

194
space-exploration-extension/data.lua

@ -0,0 +1,194 @@
--data.lua
data:extend({
--[[{
type = "recipe",
name = "se-delivery-cannon-capsule",
result = "se-delivery-cannon-capsule",
enabled = false,
energy_required = 10,
ingredients = {
{ "low-density-structure", 1 },
{ "se-heat-shielding", 1 },
{ "explosives", 5 },
{ "copper-cable", 10 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},]]--
--[[{
type = "recipe",
name = "se-delivery-cannon-capsule-ftobler",
result = "se-delivery-cannon-capsule",
enabled = true,
energy_required = 10,
ingredients = {
{ "steel-plate", 4 },
{ "copper-cable", 10 },
{ "copper-plate", 10 },
{ "stone-brick", 10 },
{ "electronic-circuit", 4 },
{ "iron-plate", 10 },
{ "plastic-bar", 10 },
{ "pipe", 10 },
{ "uranium-238", 10 },
{ "explosives", 10 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},]]--
{
type = "recipe",
name = "se-delivery-cannon-capsule-ironless",
result = "se-delivery-cannon-capsule",
enabled = true,
energy_required = 10,
ingredients = {
{ "copper-cable", 80 },
{ "copper-plate", 10 },
{ "glass", 10 },
{ "explosives", 20 },
{ "plastic-bar", 10 },
{ "electronic-circuit", 5 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "recipe",
name = "se-delivery-cannon-capsule-stoneless",
result = "se-delivery-cannon-capsule",
enabled = true,
energy_required = 10,
ingredients = {
{ "explosives", 12 },
{ "copper-cable", 10 },
{ "copper-plate", 10 },
{ "plastic-bar", 20 },
{ "steel-plate", 5 },
{ "iron-stick", 40 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "recipe",
name = "se-delivery-cannon-capsule-oilless",
result = "se-delivery-cannon-capsule",
enabled = true,
energy_required = 10,
ingredients = {
{ "copper-cable", 10 },
{ "steel-plate", 4 },
{ "iron-plate", 10 },
{ "copper-plate", 20 },
{ "glass", 10 },
{ "stone-brick", 1 },
{ "iron-stick", 1 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "recipe",
name = "se-delivery-cannon-capsule-copperless",
result = "se-delivery-cannon-capsule",
enabled = true,
energy_required = 10,
ingredients = {
{ "steel-plate", 3 },
{ "iron-plate", 5 },
{ "iron-gear-wheel", 5 },
{ "se-heat-shielding", 2 },
{ "explosives", 15 },
{ "glass", 5 },
{ "grenade", 1 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "recipe",
name = "se-delivery-cannon-capsule-uran",
result = "se-delivery-cannon-capsule",
enabled = true,
energy_required = 10,
ingredients = {
{ "uranium-238", 13 },
{ "steel-plate", 4 },
{ "copper-plate", 10 },
{ "copper-cable", 10 },
{ "iron-gear-wheel", 2 },
{ "iron-stick", 2 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "recipe",
name = "se-delivery-cannon-capsule-stone",
result = "se-delivery-cannon-capsule",
enabled = true,
energy_required = 10,
ingredients = {
{ "concrete", 13 },
{ "landfill", 6 },
{ "steel-plate", 2 },
{ "iron-stick", 2 },
{ "coal", 5 },
{ "plastic-bar", 4 },
{ "sulfur", 6 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "recipe",
name = "se-delivery-cannon-capsule-iron-oil",
result = "se-delivery-cannon-capsule",
enabled = true,
energy_required = 10,
ingredients = {
{ "steel-plate", 25 },
{ "iron-stick", 2 },
{ "iron-gear-wheel", 5 },
{ "iron-plate", 5 },
{ "coal", 5 },
{ "plastic-bar", 24 },
{ "sulfur", 26 },
{ "explosives", 30 },
{ "land-mine", 10 },
{ "empty-barrel", 2 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "recipe",
name = "se-delivery-cannon-capsule-copper-stone",
result = "se-delivery-cannon-capsule",
enabled = true,
energy_required = 10,
ingredients = {
{ "copper-cable", 100 },
{ "copper-plate", 40 },
{ "glass", 5 },
{ "stone-tablet", 5 },
{ "sand", 50 },
{ "landfill", 6 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
})
--create a new receipe array or reuse existing one
se_delivery_cannon_recipes = se_delivery_cannon_recipes or {}
se_delivery_cannon_recipes["battery"] = {name="battery"}
se_delivery_cannon_recipes["electronic-circuit"] = {name="electronic-circuit"}
se_delivery_cannon_recipes["advanced-circuit"] = {name="advanced-circuit"}
se_delivery_cannon_recipes["processing-unit"] = {name="processing-unit"}

9
space-exploration-extension/info.json

@ -0,0 +1,9 @@
{
"name": "space-exploration-extension",
"version": "0.1.0",
"title": "Space Exploration Extensions",
"author": "ftobler",
"factorio_version": "1.1",
"dependencies": ["space-exploration >= 0.5.58"],
"description": "some stuff I tweaked"
}

5
space-exploration-extension/locale/en/locale.cfg

@ -0,0 +1,5 @@
[item-name]
fire-armor=Fire armor
[item-description]
fire-armor=An armor that seems to catch the ground itself on fire when you take a step. It's warm to the touch.

364
space-exploration_0.5.80/space-exploration/.documentation/global.txt

@ -0,0 +1,364 @@
-- Zones have an inheritace chain:
Zone -- anomaly, asteroid-field, asteroid-belt, orbit
Zone:Body -- star planet or moon
Zone:Body:Star -- stellar_position, children, asteroid_belts, star_gravity_well, orbit, has no own surface (uses orbit)
Zone:Body:Planet -- star_gravity_well, planet_gravity_well, children, orbit
Zone:Body:Moon -- star_gravity_well, planet_gravity_well, orbit
Zone:BlackHole -- has no stellar position. Loophole: equal distance to all stars
Zone:AsteroidBelt -- star_gravity_well
Zone:AsteroidField -- stellar_position
-- Locations specify a point in the world:
Location {
index = int, -- zone index or spaceship index or star zone index
position = {x,y} -- position in the zone
type = "spaceship" or "zone" or "interstellar" or "system" -- the type of location this is
name = string -- a nice name for this location
}
global {
seed = nauvis.map_gen_settings.seed,
version=3112, -- for on_configuration_changed phase migration code. Is more flexible than the normal system.
tick_task_next_id = int,
tick_tasks = dictionary{
-- tick tacks are objects that have per-tick functionality for systems that are not usually per-tick systems.
-- used for animations, solar flares, rocket launches and landings, special weapon fx, etc.
-- for example, the tesla gun spawns a tick task when it fires, the arcs of electrivity are genrated per frame until the effect ends.
tick_task_id = {
id = tick_task_next_id,
type = "keyword determines secondary function call or removeal"
valid = true, -- needs to stay valid or be removed
otherdata...
}
},
astronomical = dictionary{ -- the structured map of the universe.
stars = array {
1 = Zone:Body:Star {
type = "star",
name = "body_name",
index = zone_index,
star_gravity_well = float, -- how far in star gravity well
surface_index = nil or surface_index,
orbit = Zone:Orbit{
type = "orbit",
name = "body_name" .. " Orbit",
controls = {control_name = {frequency, scale, richness}}, -- resource controls
parent = Star,
surface_index = nil or surface_index,
},
children = array{
1 = Zone:AsteroidBelt{
type = "asteroid-belt",
name = star.name .. " Asteroid Belt ".. 1,
controls = {control_name = {frequency, scale, richness}}, -- resource controls
index = zone_index,
parent = Star,
star_gravity_well = float, -- how far in star gravity well
},
2 = Zone:Body:Planet {
type = "planet",
name = "body_name",
index = zone_index,
radius_multiplier = 0.2 to 1,
radius = 2000 to 10000,
parent = Star,
star_gravity_well = float, -- how far in star gravity well
planet_gravity_well = float, -- how far in planet gravity well
controls = {control_name = {frequency, scale, richness}}, -- climate and resource controls
resources = {primary resource},
fragment_name = "se-core-fragment-iron-ore",
tags = {"water_none"}, -- climate generation tags
biome_replacements = {
{replace={"all-dirt", "all-sand", "all-volcanic"}, with="sand-red"},
{replace={"all-vegetation", "all-frozen"}, with="vegetation-red"}
},
tile_replacements = {
["tile-a"] = "tile-b",
},
core_miners = array(
1 = CoreMinerStruct{}
),
glyph = glyph,
vault_pyramid = LuaEntity,
surface_index = nil or surface_index,
orbit = Zone:Orbit{
type = "orbit",
name = "body_name" .. " Orbit",
controls = {control_name = {frequency, scale, richness}}, -- resource controls
parent = Planet,
surface_index = nil or surface_index,
},
children = array {
1 = Zone:Body:Moon{
type = "moon",
name = "body_name",
index = zone_index,
radius_multiplier = 0.2 to 1,
radius = 5000 to 400, (can't be more than 50% of planet size)
star_gravity_well = float, -- how far in star gravity well
planet_gravity_well = float, -- how far in planet gravity well
star_gravity_well = float, -- how far in star gravity well
planet_gravity_well = float, -- how far in planet gravity well
controls = {control_name = {frequency, scale, richness}}, -- climate and resource controls
resources = {primary resource},
fragment_name = "se-core-fragment-iron-ore",
tags = {"water_none"}, -- climate generation tags
biome_replacements = {
{replace={"all-dirt", "all-sand", "all-volcanic"}, with="sand-red"},
{replace={"all-vegetation", "all-frozen"}, with="vegetation-red"}
},
tile_replacements = {
["tile-a"] = "tile-b",
},
parent = Planet,
core_miners = array(
1 = CoreMinerStruct{}
),
surface_index = nil or surface_index,
orbit = Zone:Orbit{
type = "orbit",
name = "body_name" .. " Orbit",
controls = {control_name = {frequency, scale, richness}}, -- resource controls
parent = Moon,
surface_index = nil or surface_index,
},
}
}
}
},
},
},
black_hole = Zone:BlackHole{ -- only 1 of these, not in the 2d layer, equal disance in 3rd layer
type = "anomaly",
index = zone_index, -- 3
name = "Foenestra" -- window, loophole, Hole, breach, opening
surface_index = nil or surface_index,
},
space_zones = array{
1 = Zone:AsteroidField{
type = "asteroid-field",
name = "zone-name",
index = zone_index,
controls = {control_name = {frequency, scale, richness}}, -- resource controls
stellar_position = {x = x, y = y},
surface_index = nil or surface_index,
}
},
zones_by_name -- this gets moved out of stellar cluster after formation
}, -- end stellar cluster
zone_index = array{
1 = Zone{ ... allzones by their zone_index = zone.index }
},
zones_by_name = array{
name = Zone { Zone(deep space), Star, Planet, or Moon, Orbit }
},
zones_by_surface = array{ -- links a surface index to a zone
surface_index = Zone { Zone(deep space), Star, Planet, or Moon, Orbit }
},
zones_alphabetised = array{
},
zones_by_resource_options = array{
homeworld = {},
planet = {}, -- and moons, not homeworlds
anomaly = {},
["asteroid-belt"] = {},
["asteroid-field"] = {},
orbit = {}, -- any orbit type or star
},
spaceships = array{
1 = Spaceship{
index = i,
name = "Unique Name",
force_name,
console = LuaEntity or nil, -- can only be nil if in own space
space_distortion = 0-1
stellar_position = {x = x, y = y},
star_gravity_well = float,
planet_gravity_well = float,
zone_index = -- landed zone,
near = {type = "zone" / "spaceship", index = int}, or nil. -- at location ready to land
destination = {type = "zone" / "spaceship", index = int}, or nil.
own_surface_index =,
known_tiles = {}
check_tiles,
pending_tiles,
is_landing
is_launching
is_stopped
console
}
},
glyph_vaults = array{
1 (glyph id) = vaults {
zone_id = {
glyph = int,
zone_index = int,
surface_index = int, -- only exists if surface is made.
}
}
},
playerdata = array{
player_index = PlayerData{
zero_velocity = true, optional, used to zero velocity on the next tick (after teleportation)
velocity = {x = 0, y = 0},
last_postition = {x = 0, y = 0}, -- position last tick
postition = {x = 0, y = 0}, -- current position
set_postition = {x = 0, y = 0}, -- the position as set by script, deviation from it means that the player caused movement, used for thrust in zero-G
opened = nil or Entity,
opened_gui_type = nil or GuiType(int),
remote_view_active = nil or true,
remote_view_zone_name = nil or Zone Name,
character = LuaEntity, -- store link while in remote view
saved_swaps = dictionary{ -- saved locations for quick swapping in remote view
saved_swap_id = {
signal = SignalID -- the icon
location_reference = Location -- the location that this swap is
}
id = int -- the next available unique index to assign to a newly created saved location
}
saved_hotkeys = dictionary{ -- what saved location each quick swap hotkey goes to
hotkey_dropdown_index -> saved_swap_id -- maps the index in the hotkey dropdown to the saved_swap_id it swaps to
}
quick_swap_opened_item_name -- what quick swap is being viewed in the editing modal
quick_swap_selected_hotkey -- what hotkey index is set in the editing modal dropdown
}
},
chart_tag_buffer array{ -- array of chart_tag_definitions that add map markers when the area has been charted (marker fails if not charted)
chart_tag_next_id = chart_tag_definition {
surface_name (optional)
force_name
position
surface = LuaSurface
icon_type (item/virtual)
icon_name
text
chart_range (optional)
}
},
chart_tag_next_id = int,
rocket_launch_pads = array{
unit_number = RocketLaunchPad{}
},
rocket_landing_pads = array{
unit_number = RocketLandingPad{}
},
forces = dictionary{
force_name = {
force_name = string,
zones_discovered_count = 1, -- planets and moons discovered
zones_discovered = dictionary{
zone_index = {
[455]={ -- Note: orbits are not discovered, the parent zone is.
discovered_at=16798383
},
[457]={
discovered_at=16798383
},
}
},
satellites_launched = count by silo mk1,
cargo_rockets_launched =- count of launches,
cargo_rockets_crashed = count of launches that crashed,
rocket_landing_pad_names = dictionary {
rocket_landing_pad_name = array{
unit_number = RocketLandingPad{
type = name_rocket_landing_pad
valid = true,
force_name -- string
unit_number -- uint
name -- string
container -- primary entity
inbound_rocket -- bool
zone = Zone{}, -- the zone occupied
}
}
}
zone_assets = dictionary{
zone_index = dictionary{
rocket_launch_pad_names = dictionary { -- is it really necessary to have these named?
rocket_launch_pad_name = array{
unit_number = RocketLaunchPad {
type = name_rocket_launch_pad
valid = true,
force_name -- string
unit_number -- uint
name -- string
container -- container primary entity
section_input -- vehicle entity nullable
tank -- storage tank entity
silo -- rocket silo entity
combinator -- combinator entity
seats[] -- entity
settings -- speaker
rocket_sections -- unit
crew_capsules -- unit
lua_fuel -- float - additional fuel otherwise fuel tank would need to be huge.
required_fuel -- cached for ui
total_fuel -- cached for ui, lua_fuel + tank fuel
launch_status -- int: -1 when not ready, ticks up while launching so things can be timed
zone = Zone{}, -- the zone occupied
destination = nil or Destination{ -- make deepcopy safe
type = "zone" or "landing-pad",
zone = Zone,
landing_pad_name = "Pad Name" -- "landing-pad" type only
} -- as above
launching_to_destination = nil
or LockedDestination{
type = "zone" or "landing-pad",
zone = Zone,
position = {x=x,y=y} -- set once launch is locked and there is no landing pad
landing_pad_name = "Landing Pad Name", -- optional, sets attempt to land at a landing pad with this name in the target zone
landing_pad = LandingPad{}, -- set once launch is locked to a landing pad
}
launch_trigger -- string: none / fuel_full / cargo_full / signal
}
}
},
rocket_landing_pad_names = dictionary {
rocket_landing_pad_name = array{
unit_number = RocketLandingPad{
type = name_rocket_landing_pad
valid = true,
force_name -- string
unit_number -- uint
name -- string
container -- primary entity
inbound_rocket -- bool
zone = Zone{}, -- the zone occupied
}
}
}
}
}
nauvis_satellite = Position,
zone_priorities = {
zone_index = priority(int)
},
first_entered_vault = Zone,
homeworld_index = zone_index,
}
},
space_capsule_launches = array {
vehicle.unit_number = {
force_name = vehicle.force.name,
unit_number = vehicle.unit_number,
vehicle = vehicle,
shadow = shadow,
light = light,
start_position = vehicle.position,
launch_progress = 1,
destination_zone = target_zone,
destination_position = find_zone_landing_position(target_zone),
passengers = passenger_indexes,
}
},
resources_and_controls = {
-- saves settings related to surface and resource generation.
-- If settings change between save/load then parts of
}
}

44
space-exploration_0.5.80/space-exploration/.documentation/tiles.txt

@ -0,0 +1,44 @@
Converting from map_gen_setting:planet_size:frequency to planet radius:
planet_size ranges from 17% min, 100% default, 600% max (0.17, 1, 6)
percent_of_max = (6 + log(percent_of_max/6, 2)) / 6
percent_of_max converts:
17% -> 14%
100% -> 50%
600% -> 100%
planet_radius = percent_of_max * max_planet_size
max_planet_size is 10000
17% -> 1431
100% -> 5000
600% -> 10000
final formulas for scale:
planet_radius = 10000 / 6 * (6 + log(planet_size/6, 2))
planet_size = 6 * 2 ^ (planet_radius / 10000 * 6 - 6)
actual impementations use frequency:
planet_radius = 10000 / 6 * (6 + log(1/planet_frequency/6, 2))
planet_frequency = 1 / 6 / 2 ^ (planet_radius * 6 / 10000 - 6)
Planets:
Plant tile generation follows rules set by other mods
At a certain radius the planet-size setting kicks in and tiles spawn as out-of-map
This makes circular planets.
Planets have altered map-gen settings for climate: temperature, moisture, aux
Space:
The planet-size setting should be set to something extremely large so out-of-tile are unlikely to be reached
Space tiles spawn with extreme influence were planet-size is set to a normally unreachable setting (100)
All non-space tiles must have an upper limit on their influence less than space tiles.
Natural space tiles are:
Space
Asteroid
Artificial space tiles are:
Space Platform Scaffold
Space Platform Plating
Spaceship floor (has own layer)

6
space-exploration_0.5.80/space-exploration/README.md

@ -0,0 +1,6 @@
# space-exploration
Factorio Space Exploration
This is **NOT** an open source project, please check the licence file.
If you would like to contribute please contact Earendel on Discord first: https://discord.gg/ymjUVMv

4010
space-exploration_0.5.80/space-exploration/changelog.txt

File diff suppressed because it is too large

67
space-exploration_0.5.80/space-exploration/collision-mask-util-extended/control/collision-mask-util-control.lua

@ -0,0 +1,67 @@
-- File Licence: You can copy and distribute this file regardless of the mod's general licence. This licence exception does not affect other files of this mod.
local collision_mask_util_extended = {}
-- see collision_mask_util_extended_extended.lua for full instructions.
--[[
-- Example usage
local collision_mask_util_extended = require("collision-mask-util-control")
function check_collision_layers()
collision_mask_util_extended.named_collision_mask_integrity_check()
local flying_layer = collision_mask_util_extended.get_named_collision_mask("flying-layer")
end
script.on_init(check_collision_layers)
script.on_configuration_changed(check_collision_layers)
function find_flying_entities(surface)
local flying_layer = collision_mask_util_extended.get_named_collision_mask("flying-layer")
return surface.find_entities_filtered{collision_mask={flying_layer}}
end
]]
function collision_mask_util_extended.get_named_collision_mask(mask_name)
local prototype = game.entity_prototypes["collision-mask-"..mask_name]
if prototype then
local layer
for mask_name, collides in pairs(prototype.collision_mask) do
if layer then
error("\n\n\nA reserved collision mask object "..mask_name.." has been compromised by 1 or more of your installed mods. Object must have only 1 collision mask.\n\n")
else
layer = mask_name
end
end
if not layer then
error("\n\n\nA reserved collision mask object "..mask_name.." has been compromised by 1 or more of your installed mods. Object is missing collision_mask.\n\n")
end
return layer
else
error("\n\n\nA reserved collision mask object "..mask_name.." has been removed.\n\n")
end
end
function collision_mask_util_extended.named_collision_mask_integrity_check()
-- This function will check that collision mask marker objects have 1 collision mask
-- Run this on the events: on_init and on_configuration_changed
-- It will not detect collision mask marker objects that have been removed from the game
-- However: collision_mask_util_extended.get_named_collision_mask(mask_name) will
local prototypes = game.get_filtered_entity_prototypes({{filter = "type", type = "arrow"}})
for _, prototype in pairs(prototypes) do
if string.find(prototype.name, "collision-mask-") then
local layer
for mask_name, collides in pairs(prototype.collision_mask) do
if layer then
error("\n\n\nA reserved collision mask object "..mask_name.." has been compromised by 1 or more of your installed mods. Object must have only 1 collision mask.\n\n")
else
layer = mask_name
end
end
if not layer then
error("\n\n\nA reserved collision mask object "..mask_name.." has been compromised by 1 or more of your installed mods. Object is missing collision_mask.\n\n")
end
end
end
end
return collision_mask_util_extended

184
space-exploration_0.5.80/space-exploration/collision-mask-util-extended/data/collision-mask-util-extended.lua

@ -0,0 +1,184 @@
-- File Licence: You can copy and distribute this file regardless of the mod's general licence. This licence exception does not affect other files of this mod.
local collision_mask_util_extended = require("__core__/lualib/collision-mask-util")
--[[
Named collision masks allow a collision mask to be passed to the control phase.
The arrow object used to stor the mask is accessible under: game.entity_prototypes["collision-mask-flying-layer"]
The layer used is therefore: game.entity_prototypes["collision-mask-flying-layer"].collision_mask .. something
--------------------------------------------------------------------------------
-- INSTRUCTIONS
--------------------------------------------------------------------------------
-- flying-layer example:
-- data phase ------------------------------------------------------------------
(data.lua data-updates.lua data-final-fixes.lua etc) get/make a layer:
-- load the modified util
local collision_mask_util_extended = require("collision-mask-util-extended")
-- get a collision layer by name, if the name is not assigned to a layer it will assign one
local flying_layer = collision_mask_util_extended.get_make_named_collision_mask("flying-layer")
-- control phase ---------------------------------------------------------------
(conrtol.lua) Note: most mods don't need to know collision layers in control code.
local collision_mask_util_extended = require("collision-mask-util-control")
-- Example usage
local flying_layer = collision_mask_util_extended.get_named_collision_mask("flying-layer")
local entities = surface.find_entities_filtered{collision_mask={flying_layer}}
--------------------------------------------------------------------------------
-- Additional named layers
--------------------------------------------------------------------------------
"flying-layer"
-- local collision_mask_flying_layer = get_make_named_collision_mask("flying-layer")
Flying vehicles, units, and characters.
It is useful to also set the mask "not-colliding-with-itself" to prefent air-air collisions.
The mask can also be added to interior walls that are full height so can't be flown over.
"projectile-layer"
-- local collision_mask_projectile_layer = get_make_named_collision_mask("projectile-layer")
Projectiles. The the projectile should have the layers or most things it can hit (flying-layer).
Walls and shields can also use this layer to block the projectile.
Note: Projectiles use hit_collision_mask not collision_mask. force_condition = "not-friend" means it won't hit your stuff.
Note: Streams can't collide.
"vehicle-layer"
-- local collision_mask_vehicle_layer = get_make_named_collision_mask("vehicle-layer")
Car type vehicles and things that collide with them. Allows separation of vehicle-layer and player-layer in certain situations. Add to cars, trees, pipes
"space-tile"
-- local collision_mask_space_tile = get_make_named_collision_mask("space-tile")
All tiles in space zones (orbit/asteroid fields) including empty space and space platform.
"empty-space-tile"
-- local collision_mask_empty_space_tile = get_make_named_collision_mask("empty-space-tile")
tiles in space without flooring.
Different from void becuase there is no grravity and stuff can float there.
"interior-tile"
-- local collision_mask_interior_tile = get_make_named_collision_mask("interior-tile")
Tiles that represent interior spaces and don't have sky, like underground, factory building interiors, etc.
Rocket silos, artillery, telescopes, and space elevators may not be appropriate here.
"moving-tile"
-- local collision_mask_moving_tile = get_make_named_collision_mask("moving-tile")
Tiles that might change surface, such as spaceship tiles or warp structures.
"void-tile"
-- local collision_mask_void_tile = get_make_named_collision_mask("void-tile")
Tiles where there is a drop in to the ground (so you can't walk over or build on) but you can fly/jump over.
]]
local collision_flags =
{
"consider-tile-transitions",
"not-colliding-with-itself",
"colliding-with-tiles-only"
}
collision_mask_util_extended.collision_flags = table.deepcopy(collision_flags)
collision_mask_util_extended.vanilla_named_collision_masks = {
["ground-tile"] = "ground-tile",
["water-tile"] = "water-tile",
["resource-layer"] = "resource-layer",
["doodad-layer"] = "doodad-layer",
["floor-layer"] = "floor-layer",
["item-layer"] = "item-layer",
["ghost-layer"] = "ghost-layer",
["object-layer"] = "object-layer",
["player-layer"] = "player-layer",
["train-layer"] = "train-layer",
["rail-layer"] = "rail-layer",
["transport-belt-layer"] = "transport-belt-layer"
}
-- fix issue reported in F1.1.5
collision_mask_util_extended.get_default_mask_vanilla = collision_mask_util_extended.get_default_mask
collision_mask_util_extended.get_default_mask = function (type)
if type == "unit" then
return {"player-layer", "train-layer", "not-colliding-with-itself"}
else
return collision_mask_util_extended.get_default_mask_vanilla(type)
end
end
_named_collision_masks = _named_collision_masks or table.deepcopy(collision_mask_util_extended.vanilla_named_collision_masks) -- do not modify directly
named_collision_masks = table.deepcopy(_named_collision_masks) -- readonly
collision_mask_util_extended.named_collision_masks = named_collision_masks
-- tracks mod layers only. format: named_collision_masks[mask_name] == "layer-"..x
function collision_mask_util_extended.get_named_collision_mask(mask_name)
return _named_collision_masks[mask_name]
end
function collision_mask_util_extended.get_make_named_collision_mask(mask_name)
local layer = collision_mask_util_extended.get_named_collision_mask(mask_name)
if not layer then
layer = collision_mask_util_extended.get_first_unused_layer()
log("Named collision layer ["..mask_name .."] set to layer ["..layer.."]")
data:extend({
{
type = "arrow",
name = "collision-mask-"..mask_name,
collision_mask = {layer},
flags = {"placeable-off-grid", "not-on-map"},
circle_picture = { filename = "__core__/graphics/empty.png", priority = "low", width = 1, height = 1},
arrow_picture = { filename = "__core__/graphics/empty.png", priority = "low", width = 1, height = 1}
}
})
end
_named_collision_masks[mask_name] = layer
named_collision_masks = table.deepcopy(_named_collision_masks) -- readonly
collision_mask_util_extended.named_collision_masks = named_collision_masks
return layer
end
function collision_mask_util_extended.named_collision_mask_integrity_check()
-- This function will check that collision mask marker objects have 1 collision mask
for mask_name, layer_name in pairs(_named_collision_masks) do
if not collision_mask_util_extended.vanilla_named_collision_masks[mask_name] then
local mask_bearer = data.raw.arrow["collision-mask-"..mask_name]
local layer
if mask_bearer then
if mask_bearer.collision_mask then
for i, mask in pairs(mask_bearer.collision_mask) do
if i == 1 then
if mask == "not-colliding-with-itself"
or mask == "consider-tile-transitions"
or mask == "colliding-with-tiles-only" then
error("\n\n\nA reserved collision mask object "..mask_name.." has been compromised by 1 or more of your installed mods. Collision mask must be a collision layer, not a collision option.\n\n")
end
layer = mask
else
error("\n\n\nA reserved collision mask object "..mask_name.." has been compromised by 1 or more of your installed mods. Object must have only 1 collision mask.\n\n")
end
end
else
error("\n\n\nA reserved collision mask object "..mask_name.." has been compromised by 1 or more of your installed mods. Object is missing collision_mask.\n\n")
end
else
error("\n\n\nA reserved collision mask object "..mask_name.." has been removed.\n\n")
end
end
end
end
function collision_mask_util_extended.is_mask_empty(mask)
for _, layer in pairs(mask) do
local is_flag = false
for _, option in pairs(collision_flags) do
if layer == option then
is_flag = true
end
end
if not is_flag then
return false
end
end
return true
end
return collision_mask_util_extended

2072
space-exploration_0.5.80/space-exploration/control.lua

File diff suppressed because it is too large

174
space-exploration_0.5.80/space-exploration/data-final-fixes.lua

@ -0,0 +1,174 @@
local data_util = require("data_util")
collision_mask_util_extended = require("collision-mask-util-extended/data/collision-mask-util-extended")
require("prototypes/phase-multi/no-recycle")
require("prototypes/phase-3/recipe")
require("prototypes/phase-3/technology")
require("prototypes/phase-3/technology-procedural")
require("prototypes/phase-3/noise-programs")
require("prototypes/phase-3/collision-common")
require("prototypes/phase-3/space-collision")
require("prototypes/phase-3/ruin-remnants")
require("prototypes/phase-3/ruins")
require("prototypes/phase-3/resources")
require("prototypes/phase-3/core-fragments")
require("prototypes/phase-3/incompatibility")
require("prototypes/phase-3/compatibility/angels")
require("prototypes/phase-3/compatibility/notnotmelon")
require("prototypes/phase-3/character")
require("prototypes/phase-3/energy-shield-equipment")
require("prototypes/phase-3/electric-boiling")
require("prototypes/phase-3/delivery-cannon")
require("prototypes/phase-3/interior-divider")
require("prototypes/phase-multi/item-group-assign")
--require("prototypes/phase-3/compatibility")
data.raw["heat-pipe"]["heat-pipe"].heat_buffer.max_transfer = "2GW"
for _, fish in pairs(data.raw.fish) do
if not fish.healing_per_tick then fish.healing_per_tick = 0.01 end
fish.resistances = data_util.resistances_max(fish.resistances, {{type = "meteor", percent = 100}, {type = "fire", percent = 100}})
end
for _, tree in pairs(data.raw.tree) do
tree.trigger_target_mask = tree.trigger_target_mask or {}
table.insert(tree.trigger_target_mask, "flammable")
table.insert(tree.trigger_target_mask, "tree")
end
-- undo some alien biomes changes, impotant for asteroid decals
data.raw.tile["se-space"].layer = 0
data.raw.tile["se-space"].pollution_absorption_per_second = 0.1
data.raw.tile["se-asteroid"].layer = 5
data.raw.tile["out-of-map"].pollution_absorption_per_second = 0.1
local function find_orphaned_recipes()
local all_recipes = {}
for _, recipe in pairs(data.raw.recipe) do
if (recipe.enabled == false) or
(recipe.normal and recipe.normal.enabled == false) or
(recipe.expensive and recipe.expensive.enabled == false) then
all_recipes[recipe.name] = true
end
end
for _, tech in pairs(data.raw.technology) do
if tech.effects then
for _, effect in pairs(tech.effects) do
if effect.type == "unlock-recipe" and effect.recipe then
all_recipes[effect.recipe] = nil
end
end
end
end
for recipe_name, valid in pairs(all_recipes) do
log("Orphaned recipe: " .. recipe_name)
end
end
-- stop rails from being destroyed by meteors and sky beams
for _, rail_type in pairs({"rail-signal", "rail-chain-signal"}) do
for _, rail in pairs(data.raw[rail_type]) do
rail.resistances = data_util.resistances_max(rail.resistances, {{type = "meteor", percent = 99.9}, {type = "fire", percent = 100}, {type = "laser", percent = 99}, {type = "explosion", percent = 80}})
end
end
for _, rail_type in pairs({"straight-rail", "curved-rail"}) do
for _, rail in pairs(data.raw[rail_type]) do
rail.selection_priority = 1
rail.resistances = data_util.resistances_max(rail.resistances, {{type = "meteor", percent = 99.9}, {type = "fire", percent = 100}, {type = "laser", percent = 99}, {type = "explosion", percent = 90}})
rail.max_health = rail.max_health * 4
end
end
for _, type in pairs({"locomotive", "cargo-wagon", "fluid-wagon"}) do
for _, prototype in pairs(data.raw[type]) do
prototype.selection_priority = 51
end
end
-- satellite
data.raw["god-controller"]["default"].item_pickup_distance = 0
data.raw["god-controller"]["default"].loot_pickup_distance = 0
data.raw["god-controller"]["default"].mining_speed = 0.0000001 -- required to remove ghosts but not mine entities.
data.raw["god-controller"]["default"].movement_speed = 1
-- dead
data.raw["spectator-controller"]["default"].movement_speed = 1
-- this won't work, the furnace recipes are hidden
if data.raw["recipe-category"]["recycle"] then
table.insert(data.raw["assembling-machine"][data_util.mod_prefix .. "recycling-facility"].crafting_categories, "recycle")
end
if data.raw["recipe-category"]["recycle-with-fluids"] then
table.insert(data.raw["assembling-machine"][data_util.mod_prefix .. "recycling-facility"].crafting_categories, "recycle-with-fluids")
end
for i=4,9 do
data.raw.module["productivity-module-" .. i].limitation = data.raw.module["productivity-module-3"].limitation
end
data.raw["map-gen-presets"].default["space-exploration"] = {
--name = "space-exploration",
order = "a",
basic_settings = {
autoplace_controls = {
hot = {size = 0.5},
cold = {size = 0.5},
["se-beryllium-ore"] = {frequency = 0, richness = -1, size = 0},
["se-cryonite"] = {frequency = 0, richness = -1, size = 0},
["se-holmium-ore"] = {frequency = 0, richness = -1, size = 0},
["se-iridium-ore"] = {frequency = 0, richness = -1, size = 0},
["se-methane-ice"] = {frequency = 0, richness = -1, size = 0},
["se-naquium-ore"] = {frequency = 0, richness = -1, size = 0},
["se-vitamelange"] = {frequency = 0, richness = -1, size = 0},
["se-vulcanite"] = {frequency = 0, richness = -1, size = 0},
["se-water-ice"] = {frequency = 0, richness = -1, size = 0}
},
property_expression_names = {
["control-setting:water"] = 1.5,
["control-setting:moisture:bias"] = 0.05,
["control-setting:aux:bias"] = -0.35
},
starting_area = 2,
},
advanced_settings = {
enemy_evolution =
{
time_factor = 0.000001,
destroy_factor = 0.001,
pollution_factor = 0.0000005
},
pollution =
{
ageing = 0.5,
enemy_attack_pollution_consumption_modifier = 0.5
},
},
}
if data.raw["map-gen-presets"].default and data.raw["map-gen-presets"].default.default then
data.raw["map-gen-presets"].default.default.order = "a-a"
end
--find_orphaned_recipes()
--log( serpent.block( data.raw["assembling-machine"][data_util.mod_prefix .. "spaceship-clamp"], {comment = false, numformat = '%1.8g' } ) )

26
space-exploration_0.5.80/space-exploration/data-updates.lua

@ -0,0 +1,26 @@
local data_util = require("data_util")
require("prototypes/phase-multi/no-recycle")
require("prototypes/phase-2/recipe-update")
require("prototypes/phase-2/generic-recycling")
require("prototypes/phase-2/modules")
require("prototypes/phase-2/capsules")
require("prototypes/phase-2/compatibility/general")
require("prototypes/phase-2/compatibility/krastorio2/krastorio2")
-- this is where space science pack goes now in SE, but other mods are more free to change it than when it was a critical mid-game pack.
data_util.tech_add_prerequisites("space-science-pack", {data_util.mod_prefix .. "processing-cryonite", "production-science-pack", "uranium-processing",})
data_util.tech_add_ingredients("space-science-pack", {"production-science-pack"}, true)
-- Give burner lamp space collision, because it's a one line fix and getting it done here is easier than trying to get it done in the owner's mod
if data.raw["assembling-machine"]["deadlock-copper-lamp"] then
data.raw["assembling-machine"]["deadlock-copper-lamp"].se_allow_in_space = true
end
if data.raw["electric-turret"]["laser-turret"] then
data.raw["electric-turret"]["laser-turret"].prepare_range = data.raw["electric-turret"]["laser-turret"].attack_parameters.range + 8
end

354
space-exploration_0.5.80/space-exploration/data.lua

@ -0,0 +1,354 @@
is_debug_mode = false
debug_log = is_debug_mode and log or function()end
-- COLLISION MASKS
-- We need to be able to refer to these layers in control.lua so getting a sequential layer from the collision mask util is not ideal
-- remember to update control.lua setup_collision_layers()
-- global scope
collision_mask_util_extended = require("collision-mask-util-extended/data/collision-mask-util-extended")
-- a full-height wall that you cannot fly though, such as the wall of an underground tunnel.
flying_collision_layer = collision_mask_util_extended.get_make_named_collision_mask("flying-layer")
-- things that should block projectiles
projectile_collision_layer = collision_mask_util_extended.get_make_named_collision_mask("projectile-layer")
-- Cars, trees, pipes
vehicle_collision_layer = collision_mask_util_extended.get_make_named_collision_mask("vehicle-layer")
-- empty space only
empty_space_collision_layer = collision_mask_util_extended.get_make_named_collision_mask("empty-space-tile")
-- All space tiles have this
space_collision_layer = collision_mask_util_extended.get_make_named_collision_mask("space-tile")
-- Spaceship tiles move around
spaceship_collision_layer = collision_mask_util_extended.get_make_named_collision_mask("moving-tile")
-- Composite entity internal circuit connection entities get a separate layer so they don't collide with the main entity
composite_entity_circuit_connection_layer = collision_mask_util_extended.get_make_named_collision_mask("composite-entity-circuit-connection-layer")
rocket_capacity = 500
local min_postprocess_version = "0.5.6"
local data_util = require("data_util")
if not logged_mods_once then logged_mods_once = true log("Log mods once: "..serpent.block(mods)) end
--log(serpent.block( mods, {comment = false, numformat = '%1.8g' } ))
-- SURFACE RESOURCE VALUES -------------------------------------------------------------
se_resources = se_resources or {}
se_resources["iron-ore"] = se_resources["iron-ore"] or { order = "c-a", base_density = 14, starting_rq_factor_multiplier = 1.5}
se_resources["copper-ore"] = se_resources["copper-ore"] or {order = "c-b", base_density = 12, starting_rq_factor_multiplier = 1.5}
se_resources["stone"] = se_resources["stone"] or {order = "c-c", base_density = 12, starting_rq_factor_multiplier = 1.5}
se_resources["coal"] = se_resources["coal"] or {order = "c-e", base_density = 9, starting_rq_factor_multiplier = 1.5,}
se_resources["uranium-ore"] = se_resources["uranium-ore"] or {
order = "c-d",
has_starting_area_placement = false,
base_density = 1,
base_spots_per_km2 = 2,
random_spot_size_minimum = 2,
random_spot_size_maximum = 4,
}
se_resources["crude-oil"] = se_resources["crude-oil"] or {
order = "e-a",
has_starting_area_placement = false,
base_density = 8,
base_spots_per_km2 = 2,
random_probability = 1/48,
random_spot_size_minimum = 1,
random_spot_size_maximum = 1, -- don't randomize spot size
additional_richness = 220000, -- this increases the total everywhere, so base_density needs to be decreased to compensate
regular_rq_factor_multiplier = 1,
starting_rq_factor_multiplier = 1.5,
}
se_resources[data_util.mod_prefix.."vulcanite"] = se_resources[data_util.mod_prefix.."vulcanite"] or { order = "b-v", base_density = 10, base_spots_per_km2 = 5 }
se_resources[data_util.mod_prefix.."cryonite"] = se_resources[data_util.mod_prefix.."cryonite"] or { order = "b-c", base_density = 10, base_spots_per_km2 = 5 }
se_resources[data_util.mod_prefix.."vitamelange"] = se_resources[data_util.mod_prefix.."vitamelange"] or { order = "a-a", base_density = 10 }
se_resources[data_util.mod_prefix.."iridium-ore"] = se_resources[data_util.mod_prefix.."iridium-ore"] or { order = "a-b" }
se_resources[data_util.mod_prefix.."holmium-ore"] = se_resources[data_util.mod_prefix.."holmium-ore"] or { order = "a-b" }
se_resources[data_util.mod_prefix.."beryllium-ore"] = se_resources[data_util.mod_prefix.."beryllium-ore"] or { order = "a-b" }
se_resources[data_util.mod_prefix.."naquium-ore"] = se_resources[data_util.mod_prefix.."naquium-ore"] or { order = "a-a", base_density = 1 }
se_resources[data_util.mod_prefix.."water-ice"] = se_resources[data_util.mod_prefix.."water-ice"] or { order = "f-a" }
se_resources[data_util.mod_prefix.."methane-ice"] = se_resources[data_util.mod_prefix.."methane-ice"] or { order = "f-b" }
-- CORE FRAGMENT RESOURCE VALUES -------------------------------------------------------------
-- allows other mods to alter core fragment resources
se_core_fragment_resources = se_core_fragment_resources or {}
se_core_fragment_resources["water"] = se_core_fragment_resources["water"] or { multiplier = 0, omni_multiplier = 0.1}
se_core_fragment_resources["crude-oil"] = se_core_fragment_resources["crude-oil"] or { multiplier = 1, omni_multiplier = 0.1}
se_core_fragment_resources["stone"] = se_core_fragment_resources["stone"] or { multiplier = 1, omni_multiplier = 0.5}
se_core_fragment_resources["iron-ore"] = se_core_fragment_resources["iron-ore"] or { multiplier = 1.2, omni_multiplier = 0.6}
se_core_fragment_resources["copper-ore"] = se_core_fragment_resources["copper-ore"] or { multiplier = 1, omni_multiplier = 0.5}
se_core_fragment_resources["coal"] = se_core_fragment_resources["coal"] or { multiplier = 1, omni_multiplier = 0.5}
se_core_fragment_resources["uranium-ore"] = se_core_fragment_resources["uranium-ore"] or { multiplier = 0.2, omni_multiplier = 0.005}
-- Depreciated, don't do this. Add se_allow_in_space =true to the prototype directly instead. --------------------------------------------------------------
se_allow_in_space = se_allow_in_space or {}
se_allow_in_space[data_util.mod_prefix.."lifesupport-facility"] = true
se_allow_in_space[data_util.mod_prefix.."recycling-facility"] = true
se_allow_in_space[data_util.mod_prefix.."delivery-cannon"] = true
-- EXCLUDE FROM PROCEDURAL TECHNOLOGY INGREDIENT FUNCTIONS ---------------------
-- These techs won't have science packs dynamically added.
-- If additional technologies are specified your mod should add the appropriate specialist science packs for that stage of the game
se_prodecural_tech_exclusions = se_prodecural_tech_exclusions or {}
table.insert(se_prodecural_tech_exclusions, "productivity-module")
table.insert(se_prodecural_tech_exclusions, "speed-module")
table.insert(se_prodecural_tech_exclusions, "effectivity-module")
table.insert(se_prodecural_tech_exclusions, "nano-speed")
table.insert(se_prodecural_tech_exclusions, "nano-range")
table.insert(se_prodecural_tech_exclusions, "mining-productivity")
-- DELIVERY CANNON: Should ONLY deliver homogenous resources, nothing manufactured.
-- defaults to stack size for items
se_delivery_cannon_recipes = se_delivery_cannon_recipes or {}
se_delivery_cannon_recipes["water"] = {name="water-barrel"}
se_delivery_cannon_recipes["crude-oil"] = {name="crude-oil-barrel"}
se_delivery_cannon_recipes["heavy-oil"] = {name="heavy-oil-barrel"}
se_delivery_cannon_recipes["light-oil"] = {name="light-oil-barrel"}
se_delivery_cannon_recipes["petroleum-gas"] = {name="petroleum-gas-barrel"}
se_delivery_cannon_recipes["lubricant"] = {name="lubricant-barrel"}
se_delivery_cannon_recipes["sulfuric-acid"] = {name="sulfuric-acid-barrel"}
se_delivery_cannon_recipes["iron-ore"] = {name="iron-ore"}
se_delivery_cannon_recipes["iron-plate"] = {name="iron-plate"}
se_delivery_cannon_recipes["copper-ore"] = {name="copper-ore"}
se_delivery_cannon_recipes["copper-plate"] = {name="copper-plate"}
se_delivery_cannon_recipes["uranium-ore"] = {name="uranium-ore"}
se_delivery_cannon_recipes["uranium-238"] = {name="uranium-238"}
se_delivery_cannon_recipes["uranium-235"] = {name="uranium-235"}
se_delivery_cannon_recipes["steel-plate"] = {name="steel-plate"}
se_delivery_cannon_recipes["stone"] = {name="stone"}
se_delivery_cannon_recipes["stone-brick"] = {name="stone-brick"}
se_delivery_cannon_recipes["coal"] = {name="coal"}
se_delivery_cannon_recipes["concrete"] = {name="concrete"}
se_delivery_cannon_recipes["plastic-bar"] = {name="plastic-bar"}
se_delivery_cannon_recipes["sulfur"] = {name="sulfur"}
se_delivery_cannon_recipes["wood"] = {name="wood"}
se_delivery_cannon_recipes["fish"] = {name="fish"}
se_delivery_cannon_recipes["rocket-fuel"] = {name="rocket-fuel"}
se_delivery_cannon_recipes["solid-fuel"] = {name="solid-fuel"}
se_delivery_cannon_recipes["processed-fuel"] = {name="processed-fuel"}
se_delivery_cannon_recipes["sand"] = {name="sand"}
se_delivery_cannon_recipes["glass"] = {name="glass"}
se_delivery_cannon_recipes["explosives"] = {name="explosives"}
se_delivery_cannon_recipes["low-density-structure"] = {name="low-density-structure"}
se_delivery_cannon_recipes[data_util.mod_prefix.."heat-shielding"] = {name=data_util.mod_prefix.."heat-shielding"}
se_delivery_cannon_recipes[data_util.mod_prefix.."scrap"] = {name=data_util.mod_prefix.."scrap"}
se_delivery_cannon_recipes[data_util.mod_prefix.."contaminated-scrap"] = {name=data_util.mod_prefix.."contaminated-scrap"}
se_delivery_cannon_recipes[data_util.mod_prefix.."water-ice"] = {name=data_util.mod_prefix.."water-ice"}
se_delivery_cannon_recipes[data_util.mod_prefix.."methane-ice"] = {name=data_util.mod_prefix.."methane-ice"}
se_delivery_cannon_recipes[data_util.mod_prefix.."beryllium-ore"] = {name=data_util.mod_prefix.."beryllium-ore"}
se_delivery_cannon_recipes[data_util.mod_prefix.."beryllium-ingot"] = {name=data_util.mod_prefix.."beryllium-ingot"}
se_delivery_cannon_recipes[data_util.mod_prefix.."iridium-ore"] = {name=data_util.mod_prefix.."iridium-ore"}
se_delivery_cannon_recipes[data_util.mod_prefix.."iridium-ingot"] = {name=data_util.mod_prefix.."iridium-ingot"}
se_delivery_cannon_recipes[data_util.mod_prefix.."holmium-ore"] = {name=data_util.mod_prefix.."holmium-ore"}
se_delivery_cannon_recipes[data_util.mod_prefix.."holmium-ingot"] = {name=data_util.mod_prefix.."holmium-ingot"}
se_delivery_cannon_recipes[data_util.mod_prefix.."naquium-ore"] = {name=data_util.mod_prefix.."naquium-ore"}
se_delivery_cannon_recipes[data_util.mod_prefix.."naquium-ingot"] = {name=data_util.mod_prefix.."naquium-ingot"}
se_delivery_cannon_recipes[data_util.mod_prefix.."vitamelange"] = {name=data_util.mod_prefix.."vitamelange"}
se_delivery_cannon_recipes[data_util.mod_prefix.."vitamelange-spice"] = {name=data_util.mod_prefix.."vitamelange-spice"}
se_delivery_cannon_recipes[data_util.mod_prefix.."cryonite"] = {name=data_util.mod_prefix.."cryonite"}
se_delivery_cannon_recipes[data_util.mod_prefix.."cryonite-rod"] = {name=data_util.mod_prefix.."cryonite-rod"}
se_delivery_cannon_recipes[data_util.mod_prefix.."vulcanite"] = {name=data_util.mod_prefix.."vulcanite"}
se_delivery_cannon_recipes[data_util.mod_prefix.."vulcanite-block"] = {name=data_util.mod_prefix.."vulcanite-block"}
se_delivery_cannon_ammo_recipes = se_delivery_cannon_ammo_recipes or {}
se_delivery_cannon_ammo_recipes["atomic-bomb"] = {
type = "ammo",
name="atomic-bomb",
amount = 1,
ingredients = {
{ "atomic-bomb", 1},
{ data_util.mod_prefix .. "delivery-cannon-weapon-capsule", 1 }
}
}
se_delivery_cannon_ammo_recipes[data_util.mod_prefix.."plague-bomb"] = {
type = "ammo",
name=data_util.mod_prefix.."plague-bomb",
amount = 1,
ingredients = {
{ data_util.mod_prefix .. "plague-bomb", 1},
{ data_util.mod_prefix .. "delivery-cannon-weapon-capsule", 1 }
}
}
if not mods["space-exploration-postprocess"] then
local message = "\n\n---------------------------------------------------------------------------------------------------"
message = message .. "\n\nPlease install the Space Exploration Postprocess mod."
message = message .. " \n\nYou have the Space Exploration mod installed but not the Space Exploration Postprocess mod. Both are required."
message = message .. " \n\nUnfortunately the postprocess mod can't be listed as a dependency without creating a dependancy loop, sorry for the inconvenience. "
message = message .. " \nTo install the postprocess mod you can disable Space Exploration using the 'disable listed mods' button below and reload the game,"
message = message .. " \ndownload Space Exploration Postprocess mod using the in-game interface, then enable both mods. \nAlternatively you can download the postprocess mod directly here:"
message = message .. " \nhttps://mods.factorio.com/mod/space-exploration-postprocess/downloads "
message = message .. "\n\n---------------------------------------------------------------------------------------------------"
error(message)
end
if not data_util.dot_string_greater_than(mods["space-exploration-postprocess"], min_postprocess_version, true) then
local message = "\n\n---------------------------------------------------------------------------------------------------"
message = message .. "\n\nPlease update the Space Exploration Postprocess mod."
message = message .. "\nMinimum version: " .. min_postprocess_version
message = message .. "\n\n---------------------------------------------------------------------------------------------------"
error(message)
end
resource_autoplace = require("prototypes/resource_autoplace_overrides") -- load the updated functions
require("prototypes/phase-1/input")
require("prototypes/phase-1/shortcut")
require("prototypes/phase-1/utility-sprites.lua")
require("prototypes/phase-1/item/utility")
require("prototypes/phase-1/item/science-pack")
require("prototypes/phase-1/damage-types")
require("prototypes/phase-1/categories")
require("prototypes/phase-1/item-groups")
require("prototypes/phase-1/signal")
require("prototypes/phase-1/sound")
require("prototypes/phase-1/styles")
--require("prototypes/phase-1/space-structures")
require("prototypes/phase-1/item/armor")
require("prototypes/phase-1/item/cargo-rocket")
require("prototypes/phase-1/item/condenser-turbine")
require("prototypes/phase-1/item/core-miner")
require("prototypes/phase-1/item/items")
require("prototypes/phase-1/item/gate")
require("prototypes/phase-1/item/meteor-defence")
require("prototypes/phase-1/item/platforms")
require("prototypes/phase-1/item/resources")
require("prototypes/phase-1/item/rocket-landing-pad")
require("prototypes/phase-1/item/rocket-launch-pad")
require("prototypes/phase-1/item/spaceship")
require("prototypes/phase-1/item/structures")
require("prototypes/phase-1/item/medpack")
require("prototypes/phase-1/item/weapon-tesla")
require("prototypes/phase-1/item/weapon-cryogun")
require("prototypes/phase-1/item/weapon-plague")
require("prototypes/phase-1/item/weapon-railgun")
require("prototypes/phase-1/item/equipment")
require("prototypes/phase-1/fluid/fluid")
require("prototypes/phase-1/recipe/recipe")
require("prototypes/phase-1/recipe/structures")
require("prototypes/phase-1/recipe/astrometrics-laboratory")
require("prototypes/phase-1/recipe/biochemical-laboratory")
require("prototypes/phase-1/recipe/cargo-rocket")
require("prototypes/phase-1/recipe/condenser-turbine")
require("prototypes/phase-1/recipe/core-miner")
require("prototypes/phase-1/recipe/decontamination-facility")
require("prototypes/phase-1/recipe/electromagnetics-laboratory")
require("prototypes/phase-1/recipe/material-fabricator")
require("prototypes/phase-1/recipe/gate")
require("prototypes/phase-1/recipe/genetics-laboratory")
require("prototypes/phase-1/recipe/gravimetrics-laboratory")
require("prototypes/phase-1/recipe/growth-facility")
require("prototypes/phase-1/recipe/hypercooler")
require("prototypes/phase-1/recipe/laser-laboratory")
require("prototypes/phase-1/recipe/lifesupport-facility")
require("prototypes/phase-1/recipe/manufacturing")
require("prototypes/phase-1/recipe/mechanical-laboratory")
require("prototypes/phase-1/recipe/observation")
require("prototypes/phase-1/recipe/particle-accelerator")
require("prototypes/phase-1/recipe/particle-collider")
require("prototypes/phase-1/recipe/plasma-generator")
require("prototypes/phase-1/recipe/platforms")
require("prototypes/phase-1/recipe/resources")
require("prototypes/phase-1/recipe/radiation-laboratory")
require("prototypes/phase-1/recipe/radiator")
require("prototypes/phase-1/recipe/recycling-facility")
require("prototypes/phase-1/recipe/rocket-landing-pad")
require("prototypes/phase-1/recipe/rocket-launch-pad")
require("prototypes/phase-1/recipe/science-lab")
require("prototypes/phase-1/recipe/science")
require("prototypes/phase-1/recipe/supercomputing")
require("prototypes/phase-1/recipe/thermodynamics-laboratory")
require("prototypes/phase-1/recipe/spaceship")
require("prototypes/phase-1/recipe/medpack")
require("prototypes/phase-1/decorative/crater")
require("prototypes/phase-1/decorative/rocks")
require("prototypes/phase-1/entity/entity") -- must be first
require("prototypes/phase-1/entity/astrometric-gravimetric")
require("prototypes/phase-1/entity/wide-beacon")
require("prototypes/phase-1/entity/cargo-rocket")
require("prototypes/phase-1/entity/condenser-turbine")
require("prototypes/phase-1/entity/core-miner")
require("prototypes/phase-1/entity/decontamination-lifesupport")
require("prototypes/phase-1/entity/dimensional-anchor")
require("prototypes/phase-1/entity/explosion")
require("prototypes/phase-1/entity/fluid-burner-generator")
require("prototypes/phase-1/entity/fuel-refinery")
require("prototypes/phase-1/entity/gate")
require("prototypes/phase-1/entity/genetics-laboratory")
require("prototypes/phase-1/entity/growth-facility")
require("prototypes/phase-1/entity/laser-radi-thermo")
require("prototypes/phase-1/entity/light")
require("prototypes/phase-1/entity/meteor")
require("prototypes/phase-1/entity/meteor-defence")
require("prototypes/phase-1/entity/recycle-mechanical")
require("prototypes/phase-1/entity/resources")
require("prototypes/phase-1/entity/rocket-fragments")
require("prototypes/phase-1/entity/rocket-landing-pad")
require("prototypes/phase-1/entity/rocket-launch-pad")
require("prototypes/phase-1/entity/particle-acc-col-fab")
require("prototypes/phase-1/entity/pylons")
require("prototypes/phase-1/entity/scaffold")
require("prototypes/phase-1/entity/space-biochemical")
require("prototypes/phase-1/entity/space-capsule")
require("prototypes/phase-1/entity/space-electromagnetics")
require("prototypes/phase-1/entity/space-hypercooler")
require("prototypes/phase-1/entity/space-manufactory")
require("prototypes/phase-1/entity/space-plasma-generator")
require("prototypes/phase-1/entity/space-radiator")
require("prototypes/phase-1/entity/space-supercomputer")
require("prototypes/phase-1/entity/space-science-lab")
require("prototypes/phase-1/entity/spaceship")
require("prototypes/phase-1/entity/spaceship-obstacles")
require("prototypes/phase-1/entity/starmap")
require("prototypes/phase-1/entity/supercharger")
require("prototypes/phase-1/entity/telescopes")
require("prototypes/phase-1/entity/ancient")
require("prototypes/phase-1/technology/technology")
require("prototypes/phase-1/technology/bio-upgrades")
require("prototypes/phase-1/combined/arcosphere")
require("prototypes/phase-1/combined/antimatter-reactor")
require("prototypes/phase-1/combined/big-heat-exchanger")
require("prototypes/phase-1/combined/big-turbine")
require("prototypes/phase-1/combined/delivery-cannon")
require("prototypes/phase-1/combined/electric-boiler")
require("prototypes/phase-1/combined/energy-transmitter")
require("prototypes/phase-1/combined/iridium-piledriver")
require("prototypes/phase-1/combined/interburbulator")
require("prototypes/phase-1/combined/lifesupport")
require("prototypes/phase-1/combined/nexus")
require("prototypes/phase-1/combined/pipe")
require("prototypes/phase-1/combined/probe")
require("prototypes/phase-1/combined/rail")
--require("prototypes/phase-1/combined/shield-projector")
require("prototypes/phase-1/combined/transport-belt")
require("prototypes/phase-1/combined/spaceship-clamps")
require("prototypes/phase-1/combined/weapon-bio")
require("prototypes/phase-1/combined/linked-container")
require("prototypes/phase-1/tile/space")
require("prototypes/phase-1/tile/regolith")
require("prototypes/phase-1/tile/asteroid")
require("prototypes/phase-1/tile/scaffold")
require("prototypes/phase-1/tile/plating")
require("prototypes/phase-1/tile/spaceship")
require("prototypes/phase-1/compatibility/qol_research.lua")
require("prototypes/phase-multi/item-group-assign")
--log( serpent.block( data.raw["tile"], {comment = false, numformat = '%1.8g' } ) )

1082
space-exploration_0.5.80/space-exploration/data_util.lua

File diff suppressed because it is too large

101
space-exploration_0.5.80/space-exploration/info.json

@ -0,0 +1,101 @@
{
"name": "space-exploration",
"version": "0.5.80",
"title": "Space Exploration (Experimental)",
"author": "Earendel",
"dependencies": [
"base >= 1.1.34",
"aai-industry >= 0.5.3",
"alien-biomes >= 0.6.4",
"jetpack >= 0.2.6",
"robot_attrition >= 0.5.9",
"shield-projector >= 0.1.2",
"space-exploration-graphics >= 0.5.11",
"space-exploration-graphics-2 >= 0.1.1",
"space-exploration-graphics-3 >= 0.1.1",
"space-exploration-graphics-4 >= 0.1.1",
"space-exploration-graphics-5 >= 0.1.2",
"~ space-exploration-postprocess >= 0.5.11",
"informatron >= 0.2.1",
"aai-signal-transmission >= 0.4.1",
"? space-exploration-hr-graphics >= 0.5.1",
"? aai-containers >= 0.2.7",
"? bullet-trails >= 0.6.1",
"? grappling-gun >= 0.3.1",
"? combat-mechanics-overhaul >= 0.6.15",
"? equipment-gantry >= 0.1.1",
"! angelsindustries",
"! angelspetrochem",
"! angelsrefining",
"! angelssmelting",
"! bobelectronics",
"! bobores",
"! bobplates",
"! bobpower",
"! bobrevamp",
"! bobtech",
"! bobvehicleequipment",
"! bobwarfare",
"! Yuoki",
"! pycoalprocessing",
"! pyindustry",
"! pyhightech",
"! ab_logisticscenter",
"! angelsinfiniteores",
"! BasicSeaBlock",
"! BitersBegone",
"! BitersBegoneUpdated",
"! bobmodules",
"! bulkteleport",
"! Clockwork",
"! dangOreus",
"! dark-matter-replicators",
"! dark-matter-replicators-0_17-port",
"! DeepMine",
"! endlessresources",
"! Explosive Excavation",
"! FactorioExtended-Core",
"! FactorioExtended-Plus-Core",
"! IndustrialRevolution",
"! IndustrialRevolution2",
"! inf_res",
"! infinite-resources-depletion",
"! ItemTeleportation",
"! LandfillPainting",
"! modmash",
"! MoreScience",
"! MoreSciencePacks",
"! omnimatter",
"! OnlyReds",
"! PersonalTeleporter",
"! pickerextended",
"! pickerinventorytools",
"! PlacePump",
"! PumpAnywhere",
"! PyBlock",
"! railgun_revival",
"! rso-mod",
"! SeaBlock",
"! SchallMachineScaling",
"! SchallOreConversion",
"! sonaxaton-infinite-resources",
"! SpaceMod",
"! TagToTeleport",
"! TeamCoop",
"! Teleportation_Redux",
"! traintunnels",
"! Unlimited-Resources",
"! UnlimitedProductivity",
"! vtk-deep-core-mining",
"! warptorio"
],
"description": "Build Cargo Rockets to launch stuff into space. Ride a rocket into space yourself and start spacewalking. Build an orbital space platform to develop difficult data-driven space science. Build a spaceship tile by tile, fly it from a planet surface to other planets, moons, asteroid fields. Build interstellar death rays and deep space mining colonies. Explore ancient ruins on alien planets and relics lost in deep space. Not recommended to play with non-dependency mods while in experimental phase.",
"factorio_version": "1.1",
"homepage": "https://spaceexploration.miraheze.org/wiki/Main_Page"
}

21
space-exploration_0.5.80/space-exploration/licence.txt

@ -0,0 +1,21 @@
FMLDOL
Factorio Mod Limited Distribution Only Licence
https://docs.google.com/document/d/1z-6hZQekEHOu1Pk4z-V5LuwlHnveFLJGTjVAtjYHwMU
This software is provided without warranty and the software author/license owner cannot be held liable for damages.
Commercial Use:
No.
You are not allowed to make money off this mod or any of the contained assets.
You are allowed to feature the mods in other media, such as Twitch or YouTube. It would be nice if you mentioned Earendel's Patreon https://www.patreon.com/earendel when featuring the mod but this in not a requirement.
Modification:
Restricted.
You may make alterations for your own private personal use only.
You are not allowed to distribute any content from the mod, or anything altered or derived from this mod with the following exception:
You may post partial modified sections of this mod in Earendel's discord https://discord.gg/ymjUVMv for the purpose of providing bug fixes or enhancements
Distribution:
You cannot distribute any content of the mod separate from the complete mod package.
You can distribute the complete and unmodified mod package with the following conditions:
The mod must not be modified. (Packaging the mod into a larger zip file does not count as modification. It can be used in mod set packs.)
You must disclose the source by providing a link to the mod on the mod portal https://mods.factorio.com, a link to the Earendel's discord https://discord.gg/ymjUVMv for bug reporting and discussion, and a link to Earendel's Patreon https://www.patreon.com/earendel to support further development.

1905
space-exploration_0.5.80/space-exploration/locale/cs/strings.cfg

File diff suppressed because one or more lines are too long

2191
space-exploration_0.5.80/space-exploration/locale/de/strings.cfg

File diff suppressed because it is too large

2375
space-exploration_0.5.80/space-exploration/locale/en/strings.cfg

File diff suppressed because one or more lines are too long

2374
space-exploration_0.5.80/space-exploration/locale/es-ES/strings.cfg

File diff suppressed because one or more lines are too long

2376
space-exploration_0.5.80/space-exploration/locale/fr/strings.cfg

File diff suppressed because one or more lines are too long

823
space-exploration_0.5.80/space-exploration/locale/hw/strings.cfg

@ -0,0 +1,823 @@
spaceship-integrity100=""+100 שלמות מבנית חללית
spaceship-integrity300=+ 300 שלמות מבנית חללית
spaceship-integrity500=+500 שלמות מבנית חללית
core-mining-productivity-5= 5% Core פרודוקטיביות הכרייה
[space-exploration]
rename-something=שינוי שם __1__
trigger-none=ללא (ידני)
trigger-fuel-full=הפעלה על דלק מלא
trigger-cargo-full=הפעלה על מטען מלא
trigger-fuel-full-signal=הפעלה על אות ירוק כאשר דלק מלא
trigger-cargo-full-signal=הפעלה על גרין סיגנל כאשר מטען מלא
destination-type-zone=מיקום משוער
destination-type-landing-pad=מטענים נחיתה Pad
button-launch=הפעלה
button-launch-disabled=הפעלה (מושבת)
destination-crash-warning=אזהרה: בחר בלוח המטען של המטען כדי להקטין את סיכויי ההתרסקות
recipe-to=__1__ אל __2__
recipe-from=__1__ מאת __2__
remote-view=ניווט לוויין Uplink [__CONTROL__se-remote-view__]
remote-view-instruction=השקת יותר לוויינים כדי לגלות כוכבים נוספים, כוכבי לכת, ירחים, ואזורים אחרים.
exit-remote-view=צא מלוויין ניווט לווייני [__CONTROL__se-remote-view__]
remote-view-requires-satellite=אתה חייב להשיק לוויין להשתמש uplink הלוויין ניווט.
satellite-launched=לוויין פריסה וסריקה לאובייקטים אסטרונומיים. השתמש [IMG = אות וירטואלי / תצוגת-מרחוק-מרחוק] ניווט לווייני כדי להציג (לחץ על [color = green] [__ CONTROL__se-remote-View __] [/ color] או השתמש בסרגל קיצור הדרך).
satellite-discovered-platform=[color = cyan] הלוויין גילה חלק משטח פלטפורמה. [/ color]
source-discovered-zone=[color = cyan] __ 1__ גילה __2__ חדש: [/ color] [img = __ 3__] [color = white] __ 4 __ [/ color]
discovered-zone=[color = cyan] התגלה חדש __1__: [img = __ 2__] [/ color] [color = white] __ 3 __ [/ color]
space-capsule=קפסולת חלל
player-died=__1__ מת
launch-suit-warning=כדי להימנע מחנק, אנא שקול ללבוש חליפה thruster שלך.
suffocating-warning=אתה נחנק. קבל בקפסולה בחלל או ללבוש חליפה שלך thruster.
rocket_survivability_fail=רקטת מטען פגעה במעבר והיא מנותקת. כמו כן, יעצו מחקרים נוספים בנושא שרידות רקטות ומטעני בטיחות מטענים.
respawn-if-stranded=אם תקועים אתה יכול להשתמש קיצור resawn [__CONTROL__se-respawn__]
filter-list=לחפש
clear-filter=חיפוש נקי
zone-tooltip=__1__ __2__ __3__ __4__ __5__ __6__ __7__
zone-tooltip-type=\ nType: __1__
zone-tooltip-resources=\ n משאב ראשי: __1__
zone-tooltip-lifesigns=\ nLesigns: __1__
zone-tooltip-daynight=\ n יום / לילה מחזור: __1 דקות
zone-tooltip-bot-attrition=\ n רובוט הפרעה: __1__
construction-denied=לא ניתן להציב כאן.
construction-denied-vehicle-in-space=לא ניתן למקם כלי רכב קרקעיים בחלל.
currently-viewing=כרגע צופה: __1__
[entity-name]
destroyed-cargo-pod=תרמיל מטען נהרס
meteorite=מטאוריט
rocket-silo=סילו טיל בלווין
rocket-fragment=שבר רוקט
se-antimatter-reactor=כור אנטי-חומר
se-cargo-rocket-cargo-pod=תרמיל מטענים
se-condenser-turbine=טורבינת קונדנסר
se-condenser-turbine-tank=טורבינת קונדנסר
se-condenser-turbine-generator=טורבינת קונדנסר
se-core-fragment-processor=מעבד הליבה שבר
se-core-miner=תרגיל הכרייה Core
se-core-miner-drill=תרגיל הכרייה Core
se-electric-boiler=דוד חשמלי
se-fluid-burner-generator=גנרטור מבער נוזל
se-fuel-refinery=זיקוק דלק
se-meteor-defence-container=מיתקן ביטחוני מטאור
se-meteor-defence-charger=מיתקן ביטחוני מטאור
se-meteor-point-defence-container=הגנת נקודת מטאור
se-meteor-point-defence-charger=הגנת נקודת מטאור
se-methane-ice=קרח מתאן
se-rocket-launch-pad=סילו טיל מטענים
se-rocket-launch-pad-tank=סילו טיל מטענים
se-rocket-launch-pad-silo=סילו טיל מטענים
se-rocket-launch-pad-combinator=סילו טיל מטענים
se-rocket-launch-pad-_-seat=סילו טיל מטענים
se-rocket-launch-pad-settings=סילו טיל מטענים
se-rocket-landing-pad=מנחת מטענים
se-space-accumulator=מצברי שטח
se-space-astrometrics-laboratory=מעבדת אסטרומטריקה
se-space-biochemical-laboratory=מעבדה ביוכימית
se-space-assembling-machine=מכונית להרכבת שטח
se-space-capsule-_-vehicle=קפסולת חלל
se-space-curved-rail=רכבת שטח
se-space-decontamination-facility=מתקן טיהור
se-space-electromagnetics-laboratory=מעבדת אלקטרומגנטיקה
se-space-genetics-laboratory=המעבדה לגנטיקה
se-space-growth-facility=מתקן צמיחה
se-space-gravimetrics-laboratory=מעבדת Gravimetrics
se-space-hypercooler=Hypercooler
se-space-laser-laboratory=מעבדת ליזר
se-space-lifesupport-facility=מתקן תמיכה בחיים
se-space-manufactory=manufactory שטח
se-space-material-fabricator=מפברק חומר
se-space-mechanical-laboratory=מעבדה מכאנית
se-space-particle-accelerator=מאיץ חלקיקים
se-space-particle-collider=מאיץ חלקיקים
se-space-plasma-generator=גנרטור פלזמה
se-space-radiation-laboratory=מעבדת קרינה
se-space-radiator=רדיאטור תרמי
se-space-recycling-facility=מתקן מיחזור
se-space-pipe=צינור שטח
se-space-pipe-to-ground=צינור שטח לקרקע
se-space-science-lab=מעבדת מדעי שטח
se-space-solar-panel=פאנל סולארי שטח
se-space-solar-panel-2=שטח מתקדם פאנל סולארי
se-space-spectrometry-facility=מתקן ספקטרומטריית
se-space-straight-rail=רכבת שטח
se-space-supercomputer-1=מחשב העל
se-space-supercomputer-2=מחשב העל קוונטית
se-space-supercomputer-3=מחשב על עצבי
se-space-telescope-radio=רדיו טלסקופ
se-space-telescope-microwave=טלסקופ מיקרוגל
se-space-telescope=טלסקופ
se-space-telescope-xray=טלסקופ xray
se-space-telescope-gammaray=טלסקופ קרני גמא
se-space-thermodynamics-laboratory=מעבדת תרמודינאמיקה
se-space-splitter=ספליטר שטח
se-space-transport-belt=שטח התחבורה חגורה
se-space-underground-belt=שטח תחתי חגורה
se-spaceship-antimatter-engine=Spaceship אנטי-חומר מנוע
se-spaceship-antimatter-booster-tank=ספינת חלל אנטי-חומר המאיץ טנק
se-spaceship-console=קונסולת ספינת חלל
se-spaceship-gate=דלת ספינת חלל
se-spaceship-obstacle=פסולת חלל
se-spaceship-rocket-engine=ספינת חלל רקטות מנועים
se-spaceship-rocket-booster-tank=ספינת חלל טיל בטנק המאיץ
se-spaceship-wall=קיר ספינת חלל
se-water-ice=מי קרח
small-asteroid=אסטרואיד קטן
[entity-description]
rocket-silo=לשגר לווין לחלל לסרוק שטח, ואולי לגלות כוכבי לכת חדשים, ולהשיג כמות קטנה של מדעי החלל.
se-antimatter-reactor=ומשמידה אנטי-חומר עם חומר כדי לייצר חום קיצוני.
se-condenser-turbine=75% את היעילות של טורבינת קיטור אלא רק משתמשים 1% מהמים.
se-core-fragment-processor=חילוץ משאבים שברי ליבה.
se-core-miner=מאפשר אינסופית להפקת אוצרות מן הפלנטות והירחים אבל יש תשואה שולית פוחתת אם מרובים משמשים באותו הגוף.
se-core-miner-drill=מאפשר אינסופית להפקת אוצרות מן הפלנטות והירחים אבל יש תשואה שולית פוחתת אם מרובים משמשים באותו הגוף. צורכת 50MW.
se-electric-boiler=יצירת קיטור ממים באמצעות אנרגיה חשמלית.
se-fluid-burner-generator=דורש דלק נוזלי עם ערך אנרגיה. ברנס נוזל לייצור חשמל. פשוט וקומפקטי אבל חסר את יעילות האנרגיה של מערכות מבוססות קיטור גדול.
se-meteor-defence-container=האם ניתן להגן על כדור הארץ כולו מן מטאורים אבל יכול לירות 1 מטאור רק זמן. חייב להיות עמוס תחמושת מטאור ביטחון טעון במלואה לפטר. דיוק 80%, לוקח זמן לנוח אחרי הירי.
se-meteor-defence-charger=האם ניתן להגן על כדור הארץ כולו מן מטאורים אבל יכול לירות 1 מטאור רק זמן. חייב להיות עמוס תחמושת מטאור ביטחון טעון במלואה לפטר. דיוק 80%, לוקח זמן לנוח אחרי הירי.
se-meteor-point-defence-container=מגן על שטח מן המטאורים. מסוגל לירות עד 4 מטאורים מטחים. חייב להיות עמוס תחמושת הגנת נקודת מטאור ו טעון במלואה לפטר. טווח 64, 50% דיוק, לוקח זמן לנוח אחרי הירי.
se-meteor-point-defence-charger=מגן על שטח מן המטאורים. מסוגל לירות עד 4 מטאורים מטחים. חייב להיות עמוס תחמושת הגנת נקודת מטאור ו טעון במלואה לפטר. טווח 64, 50% דיוק, לוקח זמן לנוח אחרי הירי.
se-rocket-launch-pad=משיקת מלאי לחלל שלה. האם ניתן לקחת נוסעים, להיכנס באמצעות ENTER ליד דלת הכניסה.
se-rocket-landing-pad=אתר משלוח מטען עבור קפסולות רקטות מטען.
se-space-assembling-machine=מכונית להרכבה שונה שיכול לעבוד בחלל.
se-space-astrometrics-laboratory=משלב, משווה, מכמת מקורות שונים של מידע אסטרונומי.
se-space-biochemical-laboratory=מעבדת כימית מתקדמת המתמחה הביו-כימיה. ניתן גם לבצע כימיים בסיסיים יותר ועיבוד נפט.
se-space-capsule-_-vehicle=ניתן להשתמש בו כדי לקחת נוסע בחזרה אל פני שטח הכוכב הקרוב. הזן את הקפסולה באמצעות ENTER.
se-space-decontamination-facility=מנקה חומרים לשימוש בסביבות סטרילי, ומכין נוזלים לשימוש בתנאי לחץ נמוך.
se-space-electromagnetics-laboratory=ציוד עבור שדה מגנטי חזק ויישומי מתח גבוהים מאוד.
se-space-genetics-laboratory=מעבדת מוקדש רצף גנטי, הנדסה גנטית, והדפסה גנטית של תרבויות.
se-space-gravimetrics-laboratory=ניתוח המדמה הפרעות הכבידה.
se-space-growth-facility=גדל דגימות ביולוגיות תחת מגוון של תנאים מבוקרים שאינם אפשריים במקום אחר, מיקרו-כבידה כזה,
se-space-hypercooler=מבצע החלפת חום על thermofluid, מה שהופך חם אחד והשני קר.
se-space-laser-laboratory=ניסויים עם לייזרים. הגנה על עיניים חייבת להיות משוחקת.
se-space-lifesupport-facility=לקיום חיים בסביבות עוינות יותר.
se-space-manufactory=טכנולוגיית מפתח לייצור המוני בחלל.
se-space-material-fabricator=Synthesises חומרים חדשים. הכלאה בין מאיץ חלקיקים ומדפסת 3D.
se-space-mechanical-laboratory=מספק מגוון של תהליכים מכניים: ריסוק, קריעה, מריחה, רטט, וכו '
se-space-particle-accelerator=מאיץ חלקיקים קרובים למהירות האור.
se-space-particle-collider=מתנגש חלקיקים במהירות גבוהה ומנתח את התוצאות.
se-space-pipe=אתה יכול ללכת על זה.
se-space-pipe-to-ground=מגוון יקר ומוגבל, רק כדי לשמש בעת הצורך. אתה יכול ללכת לאורך צינור החלל.
se-space-plasma-generator=יוצר מגוון של פלזמות.
se-space-radiation-laboratory=מקום בטוח יחסית לשחק עם חומר רדיואקטיבי. יכול לשמש לעיבוד אורניום.
se-space-radiator=מקרין משם עודף חום מן thermofluid השחון.
se-space-recycling-facility=ממחזר גרוטאות ומוצרי לוואי אחרים לתוך משאבים.
se-space-solar-panel=פאנל סולארי יעילות גבוהה עבור החלל.
se-space-solar-panel-2=פאנל סולארי גבוהה ויעילות מתקדמים בחלל.
se-space-spectrometry-facility=Spectrophotometry, גז כרומטוגרפיה, ספקטרומטריית מסה, ואת spectrography האחר. דברים באש לעבר הקיר, להפוך אותו לכופף, ונראה לאן זה יגיע.
se-space-supercomputer-1=מניפולציה נתונים, עיבוד הסימולציה.
se-space-supercomputer-2=מחשוב קוונטי. נתונים משופרים מניפולציה, עיבוד סימולציה.
se-space-supercomputer-3=רשת עצבית מסתגלת על מסגרת מחשוב קוונטי. נתונים משופרים מניפולציה, עיבוד סימולציה.
se-space-straight-rail=עוצב עבור שטח אבל ניתן להשתמש בשטח מדי.
se-space-science-lab=האם ניתן להשתמש חבילות מדע מתקדמות. יש להציב בחלל.
se-space-telescope=טלסקופ מתוחכם רגיש לאורכי גל שונים ברחבי הספקטרום הנראה.
se-space-telescope-gammaray=קרני גמא לא לשבור. טלסקופ רב עוצמה זו המשתמשת מראות גלאי מיוחד במקום.
se-space-telescope-xray=צילומי רנטגן נחסמים על ידי רוב אטמוספרות. טלסקופ רב עוצמה זה מיועד החלל שבו האווירה היא לא בעיה.
se-space-telescope-microwave=טלסקופ ענק שמזהה מיקרוגלי הרקע הקוסמי.
se-space-telescope-radio=טלסקופ ענק שמזהה גלי רדיו חלשים מאוד ממקורות מרחק.
se-space-thermodynamics-laboratory=מתחייב תהליכים כרוכים טמפרטורות קיצוניות. ניתן גם לבצע תהליכים תרמיים בסיסיים, כגון להתכה.
se-space-transport-belt=מפסיק את הפריטים שלך צף משם.
se-spaceship-antimatter-engine=ומשמידת זרם אנטי-חומר. נחשב מחצה הכלה חללית.
se-spaceship-antimatter-booster-tank=בעלת אנטי-חומר. חובה לשיגור חללית.
se-spaceship-console=השתמש כדי להזיז את החללית בין כוכבי לכת, ירחים, במסלולים, ושדות אסטרואיד. חייב להיות על הרצפה חללית, הכלול בתוך קירות / דלתות חלליות, אין פערים או חורים. בדיקת תקינות מדגישה בעיות.
se-spaceship-gate=שדה כוח מפסיק לחץ כשנפתחת הדלת. נחשב מחצה הכלה חללית.
se-spaceship-rocket-engine=דלק ברנס טילים נוזליים. נחשב מחצה הכלה חללית.
se-spaceship-rocket-booster-tank=בעלת דלק טילים נוזלי. חובה לשיגור חללית.
se-spaceship-wall=יש להציב על הרצפה חללית כדי להיחשב כחלק ספינה. נחשב מחצה הכלה חללית, פערים אלכסוניים לשבור בלימה.
[equipment-name]
energy-shield-equipment=מגן אנרגיה
energy-shield-mk2-equipment=MK2 מגן אנרגיה
energy-shield-mk3-equipment=MK3 מגן אנרגיה
energy-shield-mk4-equipment=MK4 מגן אנרגיה
energy-shield-mk5-equipment=Mk5 מגן אנרגיה
energy-shield-mk6-equipment=MK6 מגן אנרגיה
se-adaptive-armour-equipment-1=MK1 שריון מסתגל
se-adaptive-armour-equipment-2=MK2 שריון מסתגל
se-adaptive-armour-equipment-3=MK3 שריון מסתגל
se-adaptive-armour-equipment-4=MK4 שריון מסתגל
se-adaptive-armour-equipment-5=Mk5 שריון מסתגל
se-rtg-equipment=ראדיוקלידבאטרי נייד
se-rtg-equipment-2=ראדיוקלידבאטרי MK2 נייד
[equipment-description]
energy-shield-equipment=בועת מגן כי גובה במהירות אבל משתמשת הרבה אנרגיה.
energy-shield-mk2-equipment=בועת מגן כי גובה במהירות אבל משתמשת הרבה אנרגיה.
energy-shield-mk3-equipment=בועת מגן כי גובה במהירות אבל משתמשת הרבה אנרגיה.
energy-shield-mk4-equipment=בועת מגן כי גובה במהירות אבל משתמשת הרבה אנרגיה.
energy-shield-mk5-equipment=בועת מגן כי גובה במהירות אבל משתמשת הרבה אנרגיה.
energy-shield-mk6-equipment=בועת מגן כי גובה במהירות אבל משתמשת הרבה אנרגיה.
se-adaptive-armour-equipment-1=שריון המשתמשת באנרגיה כדי תיקון עצמי. לאט לאט מגביר ערך הגנה לאורך זמן.
se-adaptive-armour-equipment-2=שריון המשתמשת באנרגיה כדי תיקון עצמי. לאט לאט מגביר ערך הגנה לאורך זמן.
se-adaptive-armour-equipment-3=שריון המשתמשת באנרגיה כדי תיקון עצמי. לאט לאט מגביר ערך הגנה לאורך זמן.
se-adaptive-armour-equipment-4=שריון המשתמשת באנרגיה כדי תיקון עצמי. לאט לאט מגביר ערך הגנה לאורך זמן.
se-adaptive-armour-equipment-5=שריון המשתמשת באנרגיה כדי תיקון עצמי. לאט לאט מגביר ערך הגנה לאורך זמן.
se-rtg-equipment=הגנרטור התרמו רדיואיזוטופיים. גנרטור נייד שממירה את החום מן התפרקות רדיואקטיבית לחשמל. שמחזיק עשרות שנים ללא נדרש דלק נוסף.
se-rtg-equipment-2=הגנרטור התרמו רדיואיזוטופיים. גנרטור נייד משופרת שממירה את החום מן התפרקות רדיואקטיבית לחשמל. שמחזיק עשרות שנים ללא נדרש דלק נוסף.
[fluid-name]
se-antimatter-stream=זרם אנטי-חומר
se-bio-sludge=Biosludge
se-contaminated-bio-sludge=biosludge המזוהם
se-contaminated-space-water=מים מזוהמים קוסמיים
se-chemical-gel=ג'ל כימי
se-decompressing-steam=קיטור
se-liquid-rocket-fuel=דלק טילים נוזלי
se-methane-gas=גז מתאן
se-methane-gas-mixed=גז מתאן מעורב
se-nutrient-gel=ג'ל מזין
se-neural-gel=ג'ל עצבית
se-neural-gel-2=ג'ל מתקדם עצבי
se-ion-stream=זרם יון
se-plasma-stream=זרם פלזמה
se-particle-stream=זרם חלקיקים
se-proton-stream=זרם פרוטון
se-space-coolant=תרמופלואיד 25 ° C
se-space-coolant-hot=תרמופלואיד 25 ° C
se-space-coolant-warm=תרמופלואיד מגניב -10 ° C
se-space-coolant-cold=קרת תרמופלואיד -100 ° C
se-space-coolant-supercooled=בקירור תרמופלואיד -273 ° C
se-space-water=מים קוסמיים
[fluid-description]
se-space-water=מים כי לא להקפיא בלחץ נמוך, יותר מתאים ליישומים מרחב ביותר.
se-space-coolant=טמפרטורת ברירת המחדל של תרמופלואיד.
se-space-coolant-hot=טמפרטורת ברירת המחדל של תרמופלואיד.
se-space-coolant-warm=הטמפרטורה של לאחר מקוררת על ידי רדיאטורים תרמיים.
se-space-coolant-cold=הטמפרטורה של tתרמופלואיד לאחר היפרהיפר.
se-space-coolant-supercooled=הטמפרטורה של תרמופלואיד לאחר היפר חזר.
se-liquid-rocket-fuel=
[item-group-name]
space=שטח
spaceship=ספינת חלל
bob-fluids=נוזלים
[item-name]
sand=חול
solid-sand=חול שנשטף
washed-sand=חול שנשטף
glass=זכוכית
core-fragment=קטע הליבה (__1__)
rocket-fuel=דלק טילים מוצק
satellite=ניווט לווינים
se-antimatter-canister=אנטי-חומר מיכל
se-astrometric-data=אסטרומטרי תצפית נתונים
se-astronomic-catalogue-1=קטלוג אסטרונומים
se-astronomic-catalogue-2=קטלוג אסטרונומי רחבה
se-astronomic-catalogue-3=קטלוג אסטרונומים מקיף
se-astronomic-catalogue-4=קטלוג אסטרונומים מורחב
se-astronomic-insight=Insight אסטרונומים
se-astronomic-science-pack=חבילת המדע אסטרונומי
se-atomic-data=נתונים אטומיים
se-bio-combustion-data=ביו שרפה נתונים
se-bio-combustion-resistance-data=ביו שרפה התנגדות נתונים
se-bio-spectral-data=ביו-ספקטרלי נתונים
se-biochemical-data=נתונים ביוכימיים
se-bioculture=ביו-תרבות
se-bioelectrics-data=ביו אלקטריים נתונים
se-biological-catalogue-1=קטלוג ביולוגי
se-biological-catalogue-2=קטלוג הביולוגי הרחב
se-biological-catalogue-3=קטלוג ביולוגי מקיף
se-biological-catalogue-4=קטלוג ביולוגי מורחב
se-biological-insight=תובנה הביולוגית
se-biological-science-pack=חבילת המדע הביולוגי
se-biomechanical-data=ביומכנינתונים
se-biomechanical-resistance-data=ביומכני התנגדות נתונים
se-boson-data=בוזון נתונים
se-broken-data=כרטיס נתונים שבור
se-canister=מכל מאובטח
se-cargo-rocket-cargo-pod=תרמיל מטענים
se-cargo-rocket-fuel-tank=טנק דלק טילים
se-cargo-rocket-section=סעיף רקטות מטענים
se-cargo-rocket-section-packed=סעיף רקטות מטענים ארוז
se-cold-thermodynamics-data=נתוני תרמודינאמיקה קרים
se-comparative-genetic-data=השוואתי נתונים גנטיים
se-compressive-strength-data=נתונים חוזק דחיסה
se-conductivity-data=נתונים מוליכים
se-contaminated-scrap=גרוטאות מזוהמות
se-core-fragment-omni=קטע הליבה
se-cryogenics-data=נתוני נושא הקפאה
se-dark-energy-data=אנרגיה שחורה נתונים
se-darkmatter-data=חומר אפל נתונים
se-data-storage-substrate-cleaned=מצע אחסון נתונים מלוטש
se-data-storage-substrate=מצע אחסון נתונים גולמי
se-decompression-data=לחץ נתונים
se-decompression-resistance-data=לחץ התנגדות נתונים
se-deep-space-science-pack=חבילה מתקדמת מדע החלל
se-electromagnetic-field-data=אלקטרומגנטית שדה נתונים
se-empty-data=כרטיס נתונים ריק
se-empty-lifesupport-canister=רוקן תמיכה בחיים מיכל
se-energy-catalogue-1=קטלוג אנרגיה
se-energy-catalogue-2=קטלוג אנרגיה רחבה
se-energy-catalogue-3=קטלוג אנרגיה מקיף
se-energy-catalogue-4=קטלוג אנרגיה מורחב
se-energy-insight=תובנה אנרגיה
se-energy-science-pack=חבילת מדע אנרגיה
se-entanglement-data=נתוני הסתבכות
se-exotic-fission-data=נתוני ביקוע אקזוטיים
se-exotic-singularity-data=נתוני סינגולריות
se-experimental-biochemical-data=ניסיוני ביוכימיים נתונים
se-experimental-bioculture=ניסיוני ביו-תרבות
se-experimental-genetic-data=ניסיוני גנטי נתונים
se-experimental-material-decay-data=ניסיוני חומר ריקבון נתונים
se-experimental-material-spectral-data=ניסיוני חומר ספקטרלי נתונים
se-experimental-material=ניסיוני חומר אב טיפוס
se-experimental-specimen=ביומסה ניסויית
se-experimental-superconductor=אב טיפוס מוליך
se-forcefield-data=נתוני שדה כוח
se-fusion-test-data=פיוז'ן בדיקת נתונים
se-gammaray-detector=Gamma Ray גלאי
se-gammaray-observation-data=Gamma Ray תצפית נתונים
se-gammaray-test-data=Gamma Ray נתונים
se-genetic-data=נתונים גנטיים
se-gravity-wave-observation-data=Gravity Wave תצפית נתונים
se-gravimetric-observation-data=Gravimetric תצפית נתונים
se-gravimetric-test-data=Gravimetric בדיקת נתונים
se-heat-shielding=מגן חום
se-hot-thermodynamics-data=נתוני תרמודינאמיקה חמה
se-infrared-observation-data=נתוני תצפית אינפרא אדומים
se-ion-spectrometry-data=נתונים ספקטרומטריית יון
se-junk-data=כרטיס נתוני זבל
se-lepton-data=לפטון נתונים
se-lifesupport-canister=תמיכה בחיים מיכל
se-magnetic-canister=מיכל מגנטי
se-magnetic-monopole-data=נתוני מונופול מגנטיים
se-material-decay-data=חומר ריקבון נתונים
se-material-science-pack=חבילת חומר המדע
se-material-spectral-data=חומר ספקטרלי נתונים
se-material-testing-pack=חבילת חומר בדיקה
se-material-catalogue-1=קטלוג חומר
se-material-catalogue-2=קטלוג חומר רחבה
se-material-catalogue-3=קטלוג חומר מקיף
se-material-catalogue-4=קטלוג חומר מורחב
se-material-insight=תובנה חומר
se-medpack=תרופה
se-medpack-2=תרופה 2
se-medpack-3=תרופה 3
se-medpack-4=תרופה 4
se-meteor-defence=מיתקן ביטחוני מטאור
se-meteor-defence-ammo=תחמושת מיתקן ביטחוני מטאור
se-meteor-point-defence=הגנת נקודת מטאור
se-meteor-point-defence-ammo=תחמושת הגנת נקודת מטאור
se-methane-ice=קרח מתאן
se-micro-black-hole-data=נתונים חור שחור זעיר
se-microwave-observation-data=נתוני תצפית מיקרוגל
se-nano-cold-thermodynamics-data=נתוני תרמודינאמיקה קרים ננו
se-nano-compressive-strength-data=נתונים חוזק דחיסה ננו
se-nano-hot-thermodynamics-data=נתוני תרמודינאמיקה חמים ננו
se-nanomaterial=ננו
se-nano-tensile-strength-data=נתונים חוזק מתיחת ננו
se-negative-pressure-data=נתונים ללחץ שלילי
se-neural-anomaly-data=עצבי אנומליה נתונים
se-nutrient-vat=מע""מ מזין
se-observation-frame-blank=מסגרת תצפית ריק
se-observation-frame-gammaray=מסגרת Gamma Ray תצפית
se-observation-frame-infrared=מסגרת תצפית אינפרא אדומה
se-observation-frame-microwave=מסגרת תצפית מיקרוגל
se-observation-frame-radio=מסגרת רדיו גל תצפית
se-observation-frame-uv=מסגרת UV תצפית
se-observation-frame-visible=מסגרת תצפית גלויה
se-observation-frame-xray=מסגרת תצפית Xray
se-plague-bomb=רקטת מגפה
se-plasma-canister=פלזמה מיכל
se-plasma-electrodynamics-data=פלזמה האלקטרודינמיקה נתונים
se-plasma-thermodynamics-data=פלזמה תרמודינמיקה נתונים
se-polarisation-data=קיטוב נתונים
se-pressure-containment-data=נתונים בלימה לחץ
se-quantum-phenomenon-data=נתוני תופעת קוונטית
se-quark-data=קווארק נתונים
se-radiation-data=נתוני קרינה
se-radiation-exposure-data=נתוני חשיפה לקרינה
se-radiation-exposure-resistance-data=קרינת התנגדות נתונים
se-radiation-shielding-data=קרינת מסוכך נתונים
se-radio-observation-data=תצפית רדיו גל נתונים
se-rtg-equipment=רדיונוקלידים
se-rtg-equipment-2=רדיונוקלידים MK2
se-scrap=גרוטאות
se-significant-data=נתונים משמעותיים
se-significant-specimen=ביומסה משמעותית
se-space-capsule=קפסולת חלל
se-space-mirror=מראה רב - תכליתית
se-space-platform-plating=ציפוי פלטפורמת החלל
se-space-platform-scaffold=פיגום פלטפורמת החלל
se-space-rail=רכבת שטח
se-spaceship-floor=שטיח ספינת חלל
se-specimen=ביומסה
se-subatomic-data=נתונים תת-אטומיים
se-superconductivity-data=נתונים מוליכים
se-superconductor=מוליך
se-superconductive-cable=כבל מוליך
se-tensile-strength-data=נתונים חוזק מתיחה
se-tesla-ammo=טסלה אקדח תחמושת
se-tesla-gun=אקדח טסלה
se-thruster-suit=חליפת דקר
se-thruster-suit-2=MK2 חליפת דקר
se-thruster-suit-3=MK3 חליפת דקר
se-thruster-suit-4=MK4 חליפת דקר
se-timespace-anomaly-data=זמן אנומליה נתונים
se-used-lifesupport-canister=משומשים תמיכה בחיים מיכל
se-uv-observation-data=UV תצפית נתונים
se-visible-observation-data=נתוני תצפית גלויים
se-water-ice=מי קרח
se-xray-observation-data=Xray תצפית נתונים
se-zero-point-energy-data=אפס נקודת אנרגיה נתונים
space-science-pack=חבילת המדע שטח
[item-description]
automation-science-pack=בשימוש על ידי מעבדות מדע בסיסיות למחקר.
chemical-science-pack=בשימוש על ידי מעבדות מדע בסיסיות למחקר.
logistic-science-pack=בשימוש על ידי מעבדות מדע בסיסיות למחקר.
military-science-pack=בשימוש על ידי מעבדות מדע בסיסיות למחקר.
production-science-pack=בשימוש על ידי מעבדות מדע בסיסיות למחקר.
satellite=הלווין יש להכניס סילו טיל לווינים.
se-antimatter-canister=הצורה הצפופה ביותר של אנרגיה בכספת לנוע מיכל.
se-astronomic-science-pack=בשימוש על ידי מעבדות מדעי החלל למחקר.
se-biological-science-pack=בשימוש על ידי מעבדות מדעי החלל למחקר.
se-canister=כלי הכלה תכליתית
se-cargo-rocket-cargo-pod=מרכיב סעיף רקטות מטען.
se-cargo-rocket-fuel-tank=מרכיב סעיף רקטות מטען.
se-cargo-rocket-section=מרכיב רקטות מטען המפתח.
se-cargo-rocket-section-packed=קטעי רקטת מטענים ארוזים למעבר. חייב להיות פרק לשמש בבניית רקטות.
se-deep-space-science-pack=בשימוש על ידי מעבדות מדעי החלל למחקר.
se-energy-science-pack=בשימוש על ידי מעבדות מדעי החלל למחקר.
se-heat-shielding=פאנל מרוכבים המשמשים ליישומים בטמפרטורה גבוהה ומבנים בחלל.
se-material-science-pack=בשימוש על ידי מעבדות מדעי החלל למחקר.
se-medpack=השתמש כדי לרפא את עצמך.
se-medpack-2=השתמש כדי לרפא את עצמך.
se-medpack-3=השתמש כדי לרפא את עצמך.
se-medpack-4=השתמש כדי לרפא את עצמך.
se-meteor-defence=האם ניתן להגן על כדור הארץ כולו מן מטאורים אבל יכול לירות 1 מטאור רק זמן. חייב להיות עמוס תחמושת מטאור ביטחון טעון במלואה לפטר. דיוק 80%, לוקח זמן לנוח אחרי הירי.
se-meteor-defence-ammo=השמיד מטאוריטים. יש לטעון לתוך מיתקן ביטחוני מטאור.
se-meteor-point-defence=מגן על שטח מן המטאורים. מסוגל לירות עד 4 מטאורים מטחים. חייב להיות עמוס תחמושת מטאור ביטחון טעון במלואה לפטר. טווח 64, 50% דיוק, לוקח זמן לנוח אחרי הירי.
se-meteor-point-defence-container=השמיד מטאוריטים. יש לטעון לתוך מבנה הגנת נקודת מטאור.
se-rtg-equipment=הגנרטור התרמו רדיואיזוטופיים. גנרטור נייד שממירה את החום מן התפרקות רדיואקטיבית לחשמל. שמחזיק עשרות שנים ללא נדרש דלק נוסף.
se-rtg-equipment-2=הגנרטור התרמו רדיואיזוטופיים. גנרטור נייד משופרת שממירה את החום מן התפרקות רדיואקטיבית לחשמל. שמחזיק עשרות שנים ללא נדרש דלק נוסף.
se-plague-bomb=האם ניתן לכבות את כל החיים מכוכב. טפל בזהירות רבה. (מי ייתן טיפת UPS קשה כמו כל הדבר מת בהדרגה, לא מומלץ עבור כוכבי לכת גדולות או מרובה.)
se-space-capsule=קפסולת השליטה הנדרשת עבור הרוקטס מטענים. ניתן להשתמש בו כדי לקחת נוסע בחזרה אל פני שטח הכוכב הקרוב.
se-space-platform-plating=ציפוי מתקדם המאפשר תנועה מהירה על פני פלטפורמת החלל.
se-space-platform-scaffold=פיגום פלטפורמת החלל בסיסי המאפשר לך למקם מבנים מסוימים בחלל.
se-space-rail=Rails כי הם בטוחים לשימוש בחלל משום שהן מונעות את הרכבת עף מהפסים להרוס הכל. יכול לשמש גם על קרקע מסיבות אסתטיות.
se-spaceship-floor=ריצוף זה חייב להיות תחת כל החלקים של חללית עם קירות חלליים על הקצה החיצוני. כל פערי הרצפה ישברו בלימה, סעיפים אלה עלולים לנתק.
se-superconductive-cable=כבל מרוכבים superconductive שאינו דורש קירור אקטיבי.
se-tesla-gun=שרשרת-ברק במהירות האור.
se-thruster-suit=חליפת חלל שנדרש כדי לשרוד בחלל. \ Nhas מַרפְּקָן ו magboots.
se-thruster-suit-2=חליפת חלל שנדרש כדי לשרוד בחלל. \ Nhas מדחפים חזקים, להגדיל את המלאי ואת הרשת גדולה.
se-thruster-suit-3=חליפת חלל שנדרש כדי לשרוד בחלל. \ Nhas מדחפים חזקים, להגדיל את המלאי ואת הרשת גדולה.
se-thruster-suit-4=חליפת חלל שנדרש כדי לשרוד בחלל. \ Nhas מדחפים חזקים, להגדיל את המלאי ואת הרשת גדולה.
space-science-pack=בשימוש על ידי מעבדות מדעי החלל למחקר.
utility-science-pack=בשימוש על ידי מעבדות מדע בסיסיות למחקר.
[recipe-name]
core-fragment=עיבוד קטע הליבה (__1__)
rocket-fuel=דלק טילים מוצק
se-astrometric-analysis-multispectral-1=אסטרומטריים ניתוח 1
se-astrometric-analysis-multispectral-2=אסטרומטריים ניתוח 2
se-astrometric-analysis-multispectral-3=אסטרומטריים ניתוח 3
se-astrometrc-insight-1=תובנה אסטרונומים
se-astronomic-insight-1=תובנה אסטרונומים
se-astronomic-insight-2=רחבה אסטרונומי אינסייט
se-astronomic-insight-3=תובנה אסטרונומים המקיף
se-astronomic-insight-4=תובנה אסטרונומים מורחב
se-biological-insight-1=תובנה הביולוגית
se-biological-insight-2= הביורחבה לוגית אינסייט
se-biological-insight-3=המקיפה הביולוגית אינסייט
se-biological-insight-4=בפנים הביולוגי המורחב
se-bio-methane-to-crude-oil=מתאן עיבוד ביו לנפט גולמי
se-bio-sludge-crude-oil=בוצת ביו מביומסה ניסויית
se-bio-sludge-decontamination=טיהור
se-bio-sludge-from-fish=בוצת ביו מן הדגים
se-bio-sludge-from-wood=בוצה ביו מעץ
se-bio-sludge=ביו בוצת מביומסה
se-broken-data-scrapping=שבורי נתוני כרטיס מבטל
se-cargo-rocket-section-pack=אריזת קטעי רקטת מטענים
se-cargo-rocket-section-unpack=הוצאת קטעי רקטת מטענים
se-condenser-turbine-reclaim-water=ייצור חשמל עם טיוב מים
se-core-fragment-omni=עיבוד קטע Core
se-core-mining=כריית Core
se-empty-antimatter-canister=זרם אנטי-חומר מן מיכל
se-empty-barrel-scrapping=מבטל חבית ריקה
se-empty-barrel-reprocessing=עיבוד מחדש חבית ריקה
se-space-capsule-scrapping=מבטל קפסולת החלל
se-energy-insight-1=תובנה אנרגיה
se-energy-insight-2=רחבה אנרגיה אינסייט
se-energy-insight-3=מקיף אנרגיה אינסייט
se-energy-insight-4=תובנה אנרגיה מורחב
se-formatting-1=עיצוב נתונים
se-formatting-2=עיצוב נתונים יעיל
se-formatting-3=עיצוב נתונים מתקדם
se-material-insight-1=תובנה חומר
se-material-insight-2=רחבה חומר אינסייט
se-material-insight-3=מקיף חומר אינסייט
se-material-insight-4=תובנה חומר מורחב
se-matter-fusion-copper=עניין פיוז'ן (נחושת)
se-matter-fusion-dirty=עניין פיוז'ן (גרוטאות)
se-matter-fusion-iron=עניין פיוז'ן (ברזל)
se-matter-fusion-stone=עניין פיוז'ן (סטון)
se-matter-fusion-uranium=עניין
se-plasma-canister-empty=מיכל פלזמה ריק
se-radiating-space-coolant-normal=קירור תרמופלואיד כדי -10 ° C (מגניב)
se-radiating-space-coolant-slow=קירור איטי תרמופלואיד כדי -10 ° C (מגניב)
se-radiating-space-coolant-veryslow=מאוד איטי קירורצפיפות תרמופלואידית כדי -10 ° C (מגניב)
se-mixed-methane-gas-separation=הפרדת גז מתאן מעורב
se-rocket-fuel-from-water-copper=דלק טילים ממים
se-scrap-decontamination=טיהור גרוטאות
se-scrap-recycling=מחזור גרוטאות
se-space-coolant-cold=צפיפות תרמופלואידית כדי -100 ° C (קר)
se-space-coolant-supercooled=צפיפות תרמופלואידית -273°C
se-simulation-a=סימולצית אסטרונומים
se-simulation-ab=סימולציה פאנספרמיה
se-simulation-abm=סימולצית
se-simulation-am=סימולצית הפצת עניין
se-simulation-as=סימולציה אסטרופרטיקל
se-simulation-asb=סימולציה אסטרוביוני
se-simulation-asbm=סימולצית יוניברסל
se-simulation-asm=סימולציה אסטרופיזיקה
se-simulation-b=סימולציה ביולוגית
se-simulation-bm=סימולציה ביומכניקה
se-simulation-m=הדמיית חומר
se-simulation-s=סימולצית אנרגיה
se-simulation-sb=סימולציה ביוכימיים
se-simulation-sbm=סימולצית נאניט
se-simulation-sm=סימולצית ננו
se-space-water-decontamination=טיהור מים קוסמית
se-spaceship-rocket-engine-burn=צרוב דלק טילים נוזל
se-specimen-fish=לגידול דגים המיקרו-גרביטציה
se-specimen-wood=המיקרו-גרביטציה ווד צמיחה
se-thermodynamics-coal=לחץ בישול פחם
se-used-lifesupport-canister-cleaning=ניקוי מיכל תמיכה בחיים
[recipe-description]
se-astronomic-insight-2=יותר מסובך, אבל יותר משאבים יעילים.
se-astronomic-insight-3=יותר מסובך, אבל יותר משאבים יעילים.
se-astronomic-insight-4=יותר מסובך, אבל יותר משאבים יעילים.
se-biological-insight-2=יותר מסובך, אבל יותר משאבים יעילים.
se-biological-insight-3=יותר מסובך, אבל יותר משאבים יעילים.
se-biological-insight-4=יותר מסובך, אבל יותר משאבים יעילים.
se-core-mining=שבר בפועל חזר תלוי על פני כדור הארץ. שעת crafting אמיתי תלויה במספר של כורי ליבה על פני כדור הארץ או ירח.
se-energy-insight-2=יותר מסובך, אבל יותר משאבים יעילים.
se-energy-insight-3=יותר מסובך, אבל יותר משאבים יעילים.
se-energy-insight-4=יותר מסובך, אבל יותר משאבים יעילים.
se-material-insight-2=יותר מסובך, אבל יותר משאבים יעילים.
se-material-insight-3=יותר מסובך, אבל יותר משאבים יעילים.
se-material-insight-4=יותר מסובך, אבל יותר משאבים יעילים.
se-radiating-space-coolant-normal=קירור וחימום חוזרים של thermofluid גורמים להשפלה.
se-radiating-space-coolant-slow=קירור וחימום חוזרים של thermofluid גורם להשפלה, תוצאות קירור איטיות לאובדן מופחת.
se-radiating-space-coolant-veryslow=קירור וחימום חוזרים של thermofluid גורם להשפלה, תוצאות קירור איטיות לאובדן מופחת.
[technology-name]
energy-shield-equipment=מגן אנרגיה
energy-shield-mk2-equipment=MK2 מגן אנרגיה
energy-shield-mk3-equipment=MK3 מגן אנרגיה
energy-shield-mk4-equipment=MK4 מגן אנרגיה
energy-shield-mk5-equipment=Mk5 מגן אנרגיה
energy-shield-mk6-equipment=MK6 מגן אנרגיה
sand-processing=עיבוד חול
glass-processing=עיבוד זכוכית
liquid-rocket-fuel=דלק טילים נוזלי
rocket-silo=סילו טיל בלווין
rocketry=טילי Combat
se-adaptive-armour=שריון מסתגל
se-antimatter-engine=מנוע אנטי-חומר
se-antimatter-reactor=כור אנטי-חומר
se-antimatter-production=ייצור אנטי-חומר
se-astronomic-science-pack=חבילת מדע אסטרונומי
se-biological-science-pack=חבילת מחקר ביולוגית
se-condenser-turbine=טורבינת קונדנסר
se-core-miner=כריית הליבה
se-deep-space-science-pack=חבילת מדעי החלל מתקדם
se-electric-boiler=דוד חשמלי
se-energy-science-pack=חבילת מדע אנרגיה
se-fluid-burner-generator=מחולל צורב נוזל
se-fuel-refining=זיקוק דלק
se-heat-shielding=מיגון חום
se-material-science-pack=חבילת מדע חומר
se-medpack=תרופה
se-medpack-2=תרופה 2
se-medpack-3=תרופה 3
se-medpack-4=תרופה 4
se-meteor-defence=מיתקן ביטחוני מטאור
se-meteor-point-defence=הגנת נקודת מטאור
se-plague=המגפה
se-railgun=אקדח
se-rocket-cargo-safety=בטיחות מטען רוקט
se-rocket-fuel-from-water=דלק טילים ממים
se-rocket-launch-pad=סילו טיל מטענים
se-rocket-landing-pad=מנחת רוקט
se-rocket-reusability=שימוש חוזר של רוקט
se-rocket-survivability=שרידות רוקט
se-rtg-equipment=גנרטור תרמואלקטרי רדיואקטיבינייד
se-rtg-equipment-2=גנרטור תרמואלקטרי רדיואקטיבינייד 2
se-space-assembling=רכבת שטח
se-space-accumulator=למצבר שטח
se-space-astrometrics-laboratory=מעבדת אסטרומטריקה
se-space-biochemical-laboratory=מעבדה ביוכימית
se-space-catalogue-astronomic=קטלוג אסטרונומים
se-space-catalogue-biological=קטלוג ביולוגי
se-space-catalogue-energy=קטלוג אנרגיה
se-space-catalogue-material=קטלוג חומר
se-space-data-card=כרטיס נתונים
se-space-decontamination-facility=מתקן טיהור
se-space-electromagnetics-laboratory=מעבדת אלקטרומגנטיקה
se-space-genetics-laboratory=המעבדה לגנטיקה
se-space-gravimetrics-laboratory=מעבדגרווימטריקה s
se-space-growth-facility=מתקן צמיחה
se-space-hypercooling=Hypercooling
se-space-laser-laboratory=מעבדת ליזר
se-space-lifesupport-facility=מתקן תמיכה בחיים
se-space-manufactory= שטח
se-space-material-fabricator=מפברק חומר
se-space-mechanical-laboratory=מעבדה מכאנית
se-space-particle-accelerator=מאיץ חלקיקים
se-space-particle-collider=מאיץ חלקיקים
se-space-plasma-generator=גנרטור פלזמה
se-space-platform-plating=ציפוי פלטפורמת החלל
se-space-platform-scaffold=פיגום פלטפורמת החלל
se-space-radiation-laboratory=מעבדת קרינה
se-space-radiator=רדיאטור תרמי
se-space-rail=רכבת שטח
se-space-recycling-facility=מתקן מיחזור
se-space-science-lab=מעבדת המדע שטח
se-space-simulation-ab=סימולציה פאנספרמיה
se-space-simulation-am=סימולציה חומר אסטרומטריl
se-space-simulation-as=סימולציה אסטרופרטיקל
se-space-simulation-bm=סימולציה ביומכניקה
se-space-simulation-sb=סימולציה ביוכימיים
se-space-simulation-sm=סימולצית ננו
se-space-simulation-abm=סימולצית
se-space-simulation-asb=סימולציה אסטרוביוני
se-space-simulation-asm=סימולציה אסטרופיזיקה
se-space-simulation-sbm=סימולצית נאניט
se-space-simulation-asbm=סימולצית יוניברסל
se-space-solar-panel=פאנל סולארי שטח
se-space-solar-panel-adv=שטח מתקדם פאנל סולארי
se-space-spectrometry-facility=מתקן ספקטרומטריית
se-space-supercomputer=מחשב העל
se-space-telescope=טלסקופ
se-space-telescope-gammaray=טלסקופ קרני גמא
se-space-telescope-xray=טלסקופ צילום רנטגן
se-space-telescope-microwave=טלסקופ מיקרוגל
se-space-telescope-radio=רדיו טלסקופ
se-space-thermodynamics-laboratory=מעבדת תרמודינאמיקה
se-spaceship=ספינת חלל
se-spaceship-integrity=ספינת חלל המבנית ספינת חלל
se-factory-spaceship=ספינת חלל במפעל
se-superconductive-cable=כבל
se-teleportation=טלפורטציה
se-tesla-gun=Gun טסלה
se-thruster-suit=חליפת דקר
space-science-pack=חבילת המדע שטח
[technology-description]
energy-shield-equipment=בועת מגן כי גובה במהירות אבל משתמשת הרבה אנרגיה.
energy-shield-mk2-equipment=בועת מגן כי גובה במהירות אבל משתמשת הרבה אנרגיה.
energy-shield-mk3-equipment=בועת מגן כי גובה במהירות אבל משתמשת הרבה אנרגיה.
energy-shield-mk4-equipment=בועת מגן כי גובה במהירות אבל משתמשת הרבה אנרגיה.
energy-shield-mk5-equipment=בועת מגן כי גובה במהירות אבל משתמשת הרבה אנרגיה.
energy-shield-mk6-equipment=בועת מגן כי גובה במהירות אבל משתמשת הרבה אנרגיה.
sand-processing=ריסוק, טחינה, וסינון חומר גלם לתוך חול נקי.
glass-processing=התכה חול לתוך הכוס.
rocket-silo=מאפשר לך לשגר לוויין לחלל לפתח מדעי החלל ולגלות כוכבי לכת חדשים.
se-adaptive-armour=Armor המשתמשת באנרגיה כדי תיקון עצמי. ממלא תפקיד דומה מגיני אנרגיה עם דרישות חשמל נמוכות אבל הרבה התחדשות איטית.
se-antimatter-engine=להשמיד אנטי-חומר כדי לייצר דחף מדהים.
se-antimatter-reactor=ומשמידה אנטי-חומר עם חומר כדי לייצר חום קיצוני.
se-antimatter-production=הפיכה אנטי-חומר, בצורה הצפופה ביותר של אנרגיה אצורה.
se-astronomic-science-pack=מאפשר מחקר של טכנולוגיות הקשורות מסע בחלל ולוגיסטיקה בין-כוכבית.
se-biological-science-pack=מאפשר מחקר של טכנולוגיות הקשורות בשיפור היכולות, הנשק ביולוגי הפיזיות שלך, והעיבוד עצבי.
se-condenser-turbine=75% את היעילות של טורבינת קיטור אלא רק משתמשים 1% מהמים.
se-core-miner=מאפשר אינסופית להפקת אוצרות מן הפלנטות והירחים אבל יש תשואה שולית פוחתת אם מרובים משמשים באותו הגוף.
se-deep-space-science-pack=חובה עבור הטכנולוגיה המתקדמת ביותר
se-electric-boiler=יצירת קיטור ממים באמצעות אנרגיה חשמלית.
se-energy-science-pack=מאפשר מחקר של טכנולוגיות הקשורות כוחות היסוד, ועל תגליות תת-אטומיים.
se-fluid-burner-generator=דורש דלק נוזלי עם ערך אנרגיה. ברנס נוזל לייצור חשמל. פשוט וקומפקטי אבל חסר את יעילות האנרגיה של מערכות מבוססות קיטור גדול.
se-fuel-refining=מזקקת דלקים מתקדמים יותר.
se-heat-shielding=פאנל מרוכבים המשמשים ליישומים בטמפרטורה גבוהה ומבנים בחלל.
se-material-science-pack=מאפשר מחקר של טכנולוגיות הקשורות חומרים מתקדמים עבור דרישות הנדסיות מתקדמות יותר.
se-medpack=השתמש רפואה כדי לרפא את עצמך.
se-medpack-2=השתמש רפואה כדי לרפא את עצמך.
se-medpack-3=השתמש רפואה כדי לרפא את עצמך.
se-medpack-4=השתמש רפואה כדי לרפא את עצמך.
se-meteor-defence=לירות מטאורים מהשמיים לפני שהם הורסים את הדברים שלך. מיתקן ביטחוני מטאור יכול להגן על כדור הארץ כולו, אבל יכול רק לירות מטאור אחד בכל פעם.
se-meteor-point-defence=לירות מטאורים מהשמיים לפני שהם הורסים את הדברים שלך. הגנת נקודת מטאור יכולה להגן על שטח קטן ממרחק של עד 4 מטאורים בשעה.
se-railgun=אלקטרומגנטית מואצת חץ הנע למהירות כזו שהם משאירים אחריהם שובל פלזמה לפני שהם vaporise. נזק גבוה, שיעור איטי של אש.
se-plague=המכה הגדולה משמידה את כל החיים מכוכבים כולו. טפל בזהירות רבה.
se-rocket-cargo-safety=מפחית את הסיכוי כי תרמילי מטען לקבל נפגעו במעבר ידי 10% (כפלי).
se-rocket-fuel-from-water=יוצר דלק טילים-חמצן מימן באמצעות אלקטרוליזה מים.
se-rocket-landing-pad=מאפשר לך להעביר תרמילי מטען רקטות אל מנחת בשם. עם מחקר נוסף זה גם יכול לשחזר חלקי רקטות.
se-rocket-launch-pad=מאפשר לך להפעיל מטען לחלל או כוכבי לכת אחרים.
se-rocket-reusability=מגדיל את אחוז החלקים שניתן התאושש נחיתה במנחת מוצלחת על ידי 5% (כפלי).
se-rocket-survivability=מפחית את הסיכוי כי רקטות ולהינזק הועברו או כישלון ניווט המוביל חסר המנחת ידי 10% (כפלי).
se-rtg-equipment=הגנרטור התרמו רדיואיזוטופיים. גנרטור נייד שממירה את החום מן התפרקות רדיואקטיבית לחשמל. שמחזיק עשרות שנים ללא נדרש דלק נוסף.
se-rtg-equipment-2=הגנרטור התרמו רדיואיזוטופיים. גנרטור נייד משופרת שממירה את החום מן התפרקות רדיואקטיבית לחשמל. שמחזיק עשרות שנים ללא נדרש דלק נוסף.
se-space-assembling=מכונית להרכבה שונה שיכול לעבוד בחלל.
se-space-astrometrics-laboratory=משלב, משווה, מכמת מקורות שונים של מידע אסטרונומי.
se-space-biochemical-laboratory=מעבדת כימית מתקדמת המתמחה הביו-כימיה. ניתן גם לבצע כימיים בסיסיים יותר ועיבוד נפט.
se-space-catalogue-astronomic=נתוני אסטרונומי מובנים מוכנים לניתוח הדמיית מחשב. חובה למחקר אסטרונומים נוספת.
se-space-catalogue-biological=נתונים ביולוגיים מובנים מוכנים לניתוח הדמיית מחשב. חובה למחקר ביולוגי נוסף.
se-space-catalogue-energy=נתוני אנרגיה מובנים מוכנים לניתוח הדמיית מחשב. חובה למחקר אנרגיה נוספת.
se-space-catalogue-material=נתונים מהותיים מובנים מוכנים לניתוח הדמיית מחשב. חובה למחקר חומר נוסף.
se-space-data-card=התקן אחסון נתונים רב תכליתי. חובה למחקר מונחה נתונים מתקדמים יותר.
se-space-decontamination-facility=מנקה חומרים לשימוש בסביבות סטרילי, ומכין נוזלים לשימוש בתנאי לחץ נמוך.
se-space-electromagnetics-laboratory=ציוד עבור שדה מגנטי חזק ויישומי מתח גבוהים מאוד.
se-space-genetics-laboratory=מעבדת מוקדש רצף גנטי, הנדסה גנטית, והדפסה גנטית של תרבויות.
se-space-gravimetrics-laboratory=ניתוח המדמה הפרעות הכבידה.
se-space-growth-facility=גדל דגימות ביולוגיות תחת מגוון של תנאים מבוקרים שאינם אפשריים במקום אחר, מיקרו-כבידה כזה,
se-space-hypercooling=מבצע החלפת חום על thermofluid, מה שהופך חם אחד והשני קר.
se-space-laser-laboratory=ניסויים עם לייזרים. הגנה על עיניים חייבת להיות משוחקת.
se-space-lifesupport-facility=לקיום חיים בסביבות עוינות יותר.
se-space-manufactory=טכנולוגיית מפתח לייצור המוני בחלל.
se-space-material-fabricator=Synthesises חומרים חדשים. הכלאה בין מאיץ חלקיקים ומדפסת 3D.
se-space-mechanical-laboratory=מספק מגוון של תהליכים מכניים: ריסוק, קריעה, מריחה, רטט, וכו '
se-space-particle-accelerator=מאיץ חלקיקים קרובים למהירות האור.
se-space-particle-collider=מתנגש חלקיקים במהירות גבוהה ומנתח את התוצאות.
se-space-plasma-generator=יוצר מגוון של פלזמות.
se-space-platform-plating=ציפוי פלטפורמה איתן בחלל. חלקה ומהירה עבור חלל .
se-space-platform-scaffold=פיגומי פלטפורמת החלל בסיסיים. משהו לבנות על אבל לא נהדר עבור חלל .
se-space-radiation-laboratory=מקום בטוח יחסית לשחק עם חומר רדיואקטיבי. יכול לשמש לעיבוד אורניום.
se-space-radiator=מקרין משם עודף חום מן thermofluid השחון.
se-space-rail=Rails כי הם בטוחים לשימוש בחלל משום שהן מונעות את הרכבת עף מהפסים להרוס הכל. יכול לשמש גם על קרקע מסיבות אסתטיות.
se-space-recycling-facility=השלכת פריטים וגרוטאות עיבוד מחדש לתוך חומרי גלם.
se-space-science-lab=מאפשר עיבוד של חבילות מדעי החלל ומדע החלל מתקדם יותר.
se-space-simulation-ab=עוד סימולציה יעילה על ידי שילוב דיסציפלינות רבות.
se-space-simulation-am=עוד סימולציה יעילה על ידי שילוב דיסציפלינות רבות.
se-space-simulation-as=עוד סימולציה יעילה על ידי שילוב דיסציפלינות רבות.
se-space-simulation-bm=עוד סימולציה יעילה על ידי שילוב דיסציפלינות רבות.
se-space-simulation-sb=עוד סימולציה יעילה על ידי שילוב דיסציפלינות רבות.
se-space-simulation-sm=עוד סימולציה יעילה על ידי שילוב דיסציפלינות רבות.
se-space-simulation-abm=עוד סימולציה יעילה על ידי שילוב דיסציפלינות רבות.
se-space-simulation-asb=עוד סימולציה יעילה על ידי שילוב דיסציפלינות רבות.
se-space-simulation-asm=עוד סימולציה יעילה על ידי שילוב דיסציפלינות רבות.
se-space-simulation-sbm=עוד סימולציה יעילה על ידי שילוב דיסציפלינות רבות.
se-space-simulation-asbm=עוד סימולציה יעילה על ידי שילוב דיסציפלינות רבות.
se-space-solar-panel=פאנל סולארי יעילות גבוהה עבור החלל.
se-space-solar-panel-adv=פאנל סולארי גבוהה ויעילות מתקדמים בחלל.
se-space-spectrometry-facility=תרגום לעברית עבורy, גז כרומטוגרפיה, ספקטרומטריית מסה, ואת תרגום לעברית עבורy האחר. דברים באש לעבר הקיר, להפוך אותו לכופף, ונראה לאן זה יגיע.
se-space-supercomputer=מאפשר מניפולציה של נתונים מתקדמים יותר ועיבוד, וכן סימולציה.
se-space-telescope=טלסקופ מתוחכם רגיש לאורכי גל שונים ברחבי הספקטרום הנראה.
se-space-telescope-gammaray=קרני גמא לא לשבור. טלסקופ רב עוצמה זו המשתמשת מראות גלאי מיוחד במקום.
se-space-telescope-xray=צילומי רנטגן נחסמים על ידי רוב אטמוספרות. טלסקופ רב עוצמה זה מיועד החלל שבו האווירה היא לא בעיה.
se-space-telescope-microwave=טלסקופ ענק שמזהה מיקרוגלי הרקע הקוסמי.
se-space-telescope-radio=טלסקופ ענק שמזהה גלי רדיו חלשים מאוד ממקורות מרחק.
se-space-thermodynamics-laboratory=מתחייב תהליכים כרוכים טמפרטורות קיצוניות. ניתן גם לבצע תהליכים תרמיים בסיסיים, כגון להתכה.
se-spaceship=כולים לכם לבנות חתיכה אחרי חתיכה עם רצפה וקירות, אז להשתמש במסוף כדי להטיס אותו אל כוכב אחר, או מעבר.
se-spaceship-integrity=כל רמה מגדילה את מגבלת לחץ שלמות מבנית החללית ידי 100.
se-factory-spaceship=כל רמה מגדילה את מגבלת לחץ שלמות מבנית החללית ידי 500.
se-superconductive-cable=כבל מרוכבים superconductive שאינו דורש קירור אקטיבי.
se-teleportation=פותח בטכנולוגיית טלפורטציה אחרת. מתברר מרחב השתאה במידה זו בשלום הוא באמת קשה.
se-tesla-gun=ברק שרשרת אש מהירה. יכול להכות עד 30 אויבים לכל בורג. עושה קפיצות ארוכות בין מטרות, או קפיצות קצרות לאורך הקרקע אם אין מטרות.
se-thruster-suit=חליפת חלל עם מנועי תמרון ולא magboots. אל תלכו לחלל בלעדיו.
se-thruster-suit-2=חליפת שטח משופרת עם מדחפים חזקים, להגדיל את המלאי ואת הרשת גדולה.
se-thruster-suit-3=חליפת שטח משופרת עם מדחפים חזקים, להגדיל את המלאי ואת הרשת גדולה.
se-thruster-suit-4=חליפת שטח משופרת עם מדחפים חזקים, להגדיל את המלאי ואת הרשת גדולה.
space-science-pack=מאפשר פיתוח ישיר יותר של מדעי החלל וטכנולוגיות נהנות הפיתוחים האלה.
[modifier-description]
tesla-shooting-speed-bonus=מהירות ירי טסלה
tesla-damage-bonus=מהירות ירי טסלה
[virtual-signal-name]
se-star=כוכב
se-planet=כוכב לכת
se-planet-orbit=במסלול כוכב לכת
se-moon=ירח
se-moon-orbit=במסלול הירח
se-asteroid-belt=חגורת אסטרואידים
se-asteroid-field=שדה אסטרואיד
se-anomaly=אנומליה
se-meteor=מטאור
se-spaceship=ספינת חלל
se-remote-view=צפו מרחוק
se-death=מוות
se-character-corpse=גופה
[controls]
se-remote-view=צפו ניווט לוויני
se-respawn=respawn
[shortcut]
se-remote-view=צפו ניווט לוויני
se-respawn=respawn
[shortcut-name]
se-remote-view=צפה ניווט לווינים [N]
se-respawn=respawn
[tile-name]
se-space-platform-plating=ציפוי פלטפורמת החלל
se-space-platform-scaffold=פיגום פלטפורמת החלל
se-space-platform-underlay=שטח

967
space-exploration_0.5.80/space-exploration/locale/it/strings.cfg

@ -0,0 +1,967 @@
spaceship-integrity100=+100 Integrità Strutturale Navicella
spaceship-integrity300=+300 Integrità Strutturale Navicella
spaceship-integrity500=+500 Integrità Strutturale Navicella
core-mining-productivity-5=+5% Produttività estrazione nucleo
[mod-name]
space-exploration=Esplorazione Spaziale (Space Exploration)
[mod-description]
space-exploration=Costruisci un razzo cargo per lanciare oggetti nello spazio. Sali sul razzo e parti tu stesso e inizia la tua passeggiata nello spazio. Costruisci una piattaforma orbitale per sviluppare le scienze spaziali basate sui dati. Costruisci pezzo per pezzo la tua navicella spaziale, vola da un pianeta ad un altro, verso lune, fascie di asteroidi e altro ancora! Altamente raccomandato giocarci con AAI Industry mod. Space Exploration Postprocess mod è richiesta (non può essere una dipendenza, ma è una lunga spiegazione). Non è raccomandato giocare con mod non dipendenti mentre si è nella fase sperimentale
[space-exploration]
rename-something=Rinomina __1__
trigger-none=Nessuno (Manuale)
trigger-fuel-full=Lancia a carburante pieno
trigger-cargo-full=Lancia a carico pieno
trigger-fuel-full-signal=Lancia con segnale verde e carburante pieno
trigger-cargo-full-signal=Lancia con segnale verde e carico pieno
trigger-cargo-full-or-signal=Lancia con segnale verge o quando è pieno il carico
destination-type-zone=Posizione approssimativa
destination-type-landing-pad=Pedana di atterraggio cargo
button-launch=Lancio
button-launch-disabled=Lancio (disabilitato)
destination-crash-warning=Attenzione: Scegli una pedana di atterraggio cargo per ridurre la possibilità di uno schianto
recipe-to=__1__ a __2__
recipe-from=__1__ da __2__
remote-view=Collegamento al satellite di navigazione [N]
remote-view-instruction=Lancia altri satelliti per scoprire più stelle, pianeti, lune e altre zone
exit-remote-view=Esci dal collegamento al satellite di navigazione [N]
remote-view-requires-satellite=Devi lanciare un satellite per poter usare il collegamento.
satellite-launched=Satellite dispiegato e alla ricerca di oggetti astronomici. Usa [img=virtual-signal/se-remote-view] Collegamento al satellite per osservare (premi [color=green][N][/color] o usa la scorciatoia sulla barra rapida).
satellite-discovered-platform=[color=cyan]Il satelite ha scoperto alcune piattaforme orbitali.[/color]
source-discovered-zone=[color=cyan]__1__ scoperto un nuovo __2__: [/color][img=__3__] [color=white]__4__[/color]
discovered-zone=[color=cyan]Scoperto un nuovo __1__: [img=__2__] [/color][color=white]__3__[/color]
space-capsule=Capsula spaziale
player-died=__1__ è morto
launch-suit-warning=Per evitare il soffocamento, considera di indossare la tuta jet.
suffocating-warning=Stai soffocando. Entra in una capsula spaziale o indossa una tuta jet.
rocket_survivability_fail=Un razzo cargo ha subito danni durante il volo ed è fuori rotta. Si consigla di fare nuove ricerche sulla sopravvivenza del razzo e della sua sicurezza.
respawn-if-stranded=Se sei bloccato, puoi usare il collegamento per il respawn [__CONTROL__se-respawn__].
filter-list=Cerca
clear-filter=Cancella ricerca
zone-tooltip=__1__ __2__ __3__ __4__ __5__ __6__ __7__
zone-tooltip-type=\nTipo: __1__
zone-tooltip-resources=\nRisorse primarie: __1__
zone-tooltip-lifesigns=\nSegni di vita: __1__
zone-tooltip-daynight=\nCiclo giorno/notte: __1__ minuti
zone-tooltip-bot-attrition=\nInterferenza dei robot: __1__
construction-denied=Non può essere piazzato qui.
construction-denied-vehicle-in-space=Non si possono piazzare veicoli terrestri nello spazio.
construction-denied-se-surface=Posizione non valida, deve essere piazzato su una superficie della Space Exploration mod
currently-viewing=Attualmente stai guardando: __1__
no-character-to-board=Non puoi imbarcarti sulla nave, devi prima essere attaccato al tuo personaggio per svolgere questa azione
starmap=Mappa stellare (WIP)
back=Indietro
spaceship=Navicella spaziale
plant=Pianeta
moon=Luna
star=Stella
orbit=Orbita
something_orbit=__1__ orbita
asteroid-belt=Fascia di asteroidi
asteroid-field=Campo di asteroidi
anomaly=Anomalia
spaceship-cannot-set-destination-to-self=Impossibile selezionare la destinazione su se stessi
spaceship-launch-energy=Energia per il lancio: __1__
spaceship-launch-energy-invalid=Energia per il lancio: Richiede un controllo di integrita' valido
spaceship-speed=Velocita': __1__
spaceship-structural-stress-hull=Stress strutturale (scafo): __1__
spaceship-structural-stress-hull-invalid=Stress strutturale (Scafo): NA (contenimento richiesto)
spaceship-structural-stress-container=Stress strutturale (Contenitori): __1__
spaceship-structural-stress-container-invalid=Stress strutturale (Contenitori): NA (contenimento richiesto)
spaceship-travel-time-unknown=Tempo di viaggio: Sconosciuto. Testare la velocità massima per una stima
spaceship-travel-time-max=Tempo di viaggio: __1__s alla velocità massima
spaceship-travel-time-current=Tempo di viaggio: __1__s alla velocità attuale
spaceship-closest-location=Località più vicina: __1__
spaceship-location-spatial-distortion=Distorsione spaziale: __1__
spaceship-location-stellar-x=Quadrante X: __1__
spaceship-location-stellar-y=Quadrante Y: __1__
spaceship-location-star-gravity-well=Gravità della stella: __1__
spaceship-location-planet-gravity-well=Gravità del pianeta: __1__
spaceship-travel-status=Stato del viaggio: __1__
spaceship-integrity-status-valid=Stato dell'integrità: Valido: __1__
spaceship-integrity-status-invalid=Stato dell'integrità: Invalido: __1__
spaceship-button-launch=Lancio
spaceship-button-launch-tooltip=Pronto al lancio
spaceship-button-launch-disabled=Lancio (disabilitato)
spaceship-button-launch-disabled-fuel-tooltip=Richiede carburante nei serbatoi dei booster
spaceship-button-launch-disabled-integrity-tooltip=Richiede controllo valido sull'integrità
spaceship-button-anchor=Ancora
spaceship-button-confirm-anchor=Conferma ancoraggio
spaceship-button-anchor-to=Ancorato a __1__
spaceship-button-anchor-on=Ancorato su __1__
spaceship-button-stop=Ferma
spaceship-button-start=Ingaggia
spaceship-button-board=Tavola __1__
spaceship-button-scouting-back=Indietro
spaceship-button-scouting-back-tooltip=Cancella ricerca punto di ancoraggio
spaceship-name-the=Il __1__
spaceship-button-start-integrity-check=Inizia controllo integrità
spaceship-heading-destination=Destinazione
list-destinations-alphabetically=Lista destinazioni in ordine alfabetico
spaceship-travel-message-new-course-plotted=Nuovo percorso tracciato
spaceship-travel-message-exiting-planet-gravity=In uscita dalla gravità planetaria
spaceship-travel-message-navigating-planet-gravity=Navigazione nella gravità planetaria
spaceship-travel-message-exiting-star-gravity=In uscita dalla gravità stellare
spaceship-travel-message-navigating-star-gravity=Navigazione nella gravità della stella
spaceship-travel-message-spatial-distortions=Navigazione nella distorsione spaziale
spaceship-travel-message-navigating-interstellar=Navigazione nello spazio cosmico
spaceship-travel-message-at-destination=A destinazione.
spaceship-check-message-passed=Passata: Integrità nave valida
spaceship-check-message-failed-containment=Fallito: Perdita di contenimento attorno alla console. Assicurati che tutte le pareti dell'astronave siano sul pavimento dell'astronave senza spazi vuoti.
spaceship-check-message-failed-console-floor=La console deve essere piazzata sul pavimento della navicella
spaceship-check-message-failed-empty=Nessun riquadro trovato collegato a una console correttamente chiusa.
spaceship-check-message-failed-unknown-bounds=Errore: Dimensioni della navicella spaziale sconosciute
spaceship-check-message-failed-stress=Fallito: Lo stress sull'integrità strutturale è eccessivo rispetto alla propria tecnologia
spaceship-check-message-checking-console-floor=Controllare la connessione al pavimento della console
spaceship-check-message-checking-containment=Controllo contenimento
spaceship-check-message-checking-connectivity=Controllo connessione console
spaceship-check-message-no-console=Nessuna console
spaceship-check-message-did-not-complete=Il controllo non è stato completato
spaceship-check-message-unstable=Instabile: Alcune sezioni verranno disconnesse durante le manovre
spaceship-check-message-valid-but-disconnecting=Valido ma instabile: Alcune sezione verranno disconnesse
spaceship-warning-sections-disconnecting=Alcune sezioni si stanno disconnettendo. Fermare le riparazioni
[damage-type-name]
suffocation=Soffocamento
meteor=Meteora
[entity-name]
destroyed-cargo-pod=Pedana di atterraggio cargo distrutta
meteorite=Meteorite
rocket-silo=Satellite silo per razzo
rocket-fragment=Frammento di razzo
se-antimatter-reactor=Reattore ad antimateria
se-cargo-rocket-cargo-pod=Pedana di atterraggio cargo distrutta
se-condenser-turbine=Turbina a condensazione
se-condenser-turbine-tank=Turbina a condensazione
se-condenser-turbine-generator=Turbina a condensazione
se-core-fragment-processor=Processo di frammentazione del nucleo
se-core-miner=Escavatore del nucleo
se-core-miner-drill=Escavatore del nucleo
se-electric-boiler=Caldaia elettrica
se-fluid-burner-generator=Generatore isotermico di fuido
se-fuel-refinery=Raffineria di carburante
se-meteor-defence-container=Installazione difensiva contro meteoriti
se-meteor-defence-charger=Installazione difensiva contro meteoriti
se-meteor-point-defence-container=Punto di difesa contro meteoriti
se-meteor-point-defence-charger=Punto di difesa contro meteoriti
se-methane-ice=Metano ghiacciato
se-rocket-launch-pad=Silo per razzi cargo
se-rocket-launch-pad-tank=Silo per razzi cargo
se-rocket-launch-pad-silo=Silo per razzi cargo
se-rocket-launch-pad-combinator=Silo per razzi cargo
se-rocket-launch-pad-_-seat=Silo per razzi cargo
se-rocket-launch-pad-settings=Silo per razzi cargo
se-rocket-landing-pad=Pedana di atterraggio cargo
se-space-accumulator=Accumulatore spaziale
se-space-astrometrics-laboratory=Laboratorio di astronomia
se-space-biochemical-laboratory=Laboratorio biochimico
se-space-assembling-machine=Macchina assemblatrice spaziale
se-space-capsule-_-vehicle=Capsula spaziale
se-space-curved-rail=rotaia spaziale
se-space-decontamination-facility=Impianto di decontaminazione
se-space-electromagnetics-laboratory=Laboratorio elettromagnetico
se-space-genetics-laboratory=Laboratorio di genetica
se-space-growth-facility=Strumento di crescita facilitata
se-space-gravimetrics-laboratory=Laboratorio gravimetrico
se-space-hypercooler=Hyper-raffreddatore
se-space-laser-laboratory=Laboratorio laser
se-space-lifesupport-facility=Impianto di supporto vitale
se-space-manufactory=Fabbrica spaziale
se-space-material-fabricator=Fabbricatore di materiali
se-space-mechanical-laboratory=Laboratorio meccanico
se-space-particle-accelerator=Acceleratore di particelle
se-space-particle-collider=Struttura collisione particelle
se-space-plasma-generator=Generatore di plasma
se-space-radiation-laboratory=Laboratorio di radiazioni
se-space-radiator=Radiatore termico
se-space-recycling-facility=Impianto di riciclaggio
se-space-pipe=Tubo spaziale
se-space-pipe-to-ground=Tubo spaziale sotterraneo
se-space-science-lab=Laboratorio scientifico spaziale
se-space-solar-panel=Pannello solare spaziale
se-space-solar-panel-2=Pannello solare spaziale avanzato
se-space-spectrometry-facility=Spettrometro
se-space-straight-rail=rotaia spaziale
se-space-supercomputer-1=Supercomputer
se-space-supercomputer-2=Computer quantico
se-space-supercomputer-3=Supercomputer neurale
se-space-telescope-radio=Radiotelescopio
se-space-telescope-microwave=Telescopio a microonde
se-space-telescope=Telescopio
se-space-telescope-xray=Telescopio raggi-X
se-space-telescope-gammaray=Telescopio raggi gamma
se-space-thermodynamics-laboratory=Laboratorio di termodinamica
se-space-splitter=Ripartitore spaziale
se-space-transport-belt=Rullo spaziale
se-space-underground-belt=Rullo sotteraneo spaziale
se-spaceship-antimatter-engine=Motore ad antimateria per navicelle spaziali
se-spaceship-antimatter-booster-tank=Serbatoio booster con antimateria per navicella spaziale
se-spaceship-console=Console navicella spaziale
se-spaceship-gate=Porta navicella spaziale
se-spaceship-obstacle=Detriti spaziali
se-spaceship-rocket-engine=Motore razzo per navicelle spaziali
se-spaceship-rocket-booster-tank=Serbatoio dei booster per razzi per navicelle spaziali
se-spaceship-wall=Muro navicella spaziale
se-water-ice=Acqua ghiacciata
small-asteroid=Piccolo asteroide
[entity-description]
rocket-silo=Lancia un salellite nello spazio per iniziare a scansionarlo, per scoprire nuovi pianeti e ottenere una piccola quantità di pacchi scientifici
se-antimatter-reactor=Annienta l'antimateria con la materia per generare temperature estreme
se-condenser-turbine=75% di efficenza rispetto alle turbine a vapore, ma il 99% del vapore viene condensato in acqua
se-core-fragment-processor=Estrae risorse dal cuore del pianeta
se-core-miner=Abilita all'estrazione illimitata di risorse da pianeti e lune, ma ha rendimenti minori se si utilizzano più trivelle sullo stesso corpo celeste. Consuma 50MW
se-core-miner-drill=Abilita all'estrazione illimitata di risorse da pianeti e lune, ma ha rendimenti minori se si utilizzano più trivelle sullo stesso corpo celeste. Consuma 50MW
se-electric-boiler=Crea vapore dall'acqua usando l'energia elettrica
se-fluid-burner-generator=Richiede carburante liquido con un valore energetico (come ilcarburante liquido per razzi) per generare eletticità. Semplice e compatto, ma privo di efficenza rispetto a sistemi più grandi basati sul vapore. Progettato per lo spazio
se-meteor-defence-container=Può difendere un intero pianeta dai meteoriti, ma può sparare solo ad 1. Deve essere caricato con le munizioni per i meteoriti e deve essere caricato completamente per poter sparare. Ha una precisione dell'80%. Deve essere ricaricato dopo aver sparato. Consuma 20MW mentre si ricarica
se-meteor-defence-charger=Può difendere un intero pianeta dai meteoriti, ma può sparare solo ad 1. Deve essere caricato con le munizioni per i meteoriti e deve essere caricato completamente per poter sparare. Ha una precisione dell'80%. Deve essere ricaricato dopo aver sparato. Consuma 20MW mentre si ricarica
se-meteor-point-defence-container=Difende un'area dai meteoriti. Può sparare fino a 4 meteoriti per volta. Deve essere caricato con le munizioni per difese a puntamento e deve essere ricaricato completamente prima di sparare. Ha un raggio di 64, 50% di precisione e ha bisogno di tempo per ricaricarsi dopo aver sparato
se-meteor-point-defence-charger=Difende un'area dai meteoriti. Può sparare fino a 4 meteoriti per volta. Deve essere caricato con le munizioni per difese a puntamento e deve essere ricaricato completamente prima di sparare. Ha un raggio di 64, 50% di precisione e ha bisogno di tempo per ricaricarsi dopo aver sparato
se-rocket-launch-pad=Lancia l'inventario nello spazio. Può ospitare passeggeri, entrando usando __CONTROL__toggle-driving__ Vicino alla porta frontale.
se-rocket-landing-pad=Un sito per la consegna del carico e per le capsule spaziali
se-space-assembling-machine=Un assemblatore modificato che può lavorare nello spazio.
se-space-astrometrics-laboratory=Combina, compara e quantifica diverse fonti di informazioni astronomiche.
se-space-biochemical-laboratory=Un avanzato laboratorio chimico specializzato in chimica organica. Inoltre può essere usato anche per le operazioni chimiche di base e per la lavorazione dell'olio.
se-space-capsule-_-vehicle=Può essere usato per trasportare passeggeri indietro sulla superficie del pianeta più vicino. Entra nella capsula usando __CONTROL__toggle-driving__.
se-space-decontamination-facility=Pulisce le sostanze da usare in ambienti sterili e prepara i liquidi da usare in condizioni di passa pressione
se-space-electromagnetics-laboratory=Equipaggiamento per intensificare il campo magnetico e per applicazioni con voltaggio estremo
se-space-genetics-laboratory=Un laboratorio dedicato alla genetica: sequenze genetiche, manipolazione genetica e stampa genetica di culture
se-space-gravimetrics-laboratory=Analizza e simula disturbi gravitazionali
se-space-growth-facility=Permette la crescita di organismi viventi in un'area con condizioni controllate, impossibile in altri posti, come in ambienti di microgravità
se-space-hypercooler=Esegue uno scambio di temperatura sui termofluidi, rendendone uno più caldo e l'altro più freddo
se-space-laser-laboratory=Sperimentazione con laser. Proteggersi gli occhi
se-space-lifesupport-facility=Sostiene la vita anche negli ambienti più ostili.
se-space-manufactory=Un gigantesco assemblatore meccanico, che può costruire anche gli oggetti più complicati. Funziona solo nello spazio (o sulla navicella spaziale)
se-space-material-fabricator=Sintetizza nuovi materiali. Un insieme tra una struttura collisione particelle e una stampante 3D
se-space-mechanical-laboratory=Fornisce una serie di processi meccanici: Schiacciamento, lacerazione, tagliatura, vibrazioni e altro.
se-space-particle-accelerator=Accelera le particelle ad una velocità prossima alla velocità della luce
se-space-particle-collider=Collide particelle ad alta velocità e analizza i risultati
se-space-pipe=Ci puoi camminare supra
se-space-pipe-to-ground=Costoso e con raggio limitato, da utilizzare solo quando richiesto. Ci puoi camminare sopra
se-space-plasma-generator=Genera diverse varietà di plasma
se-space-radiation-laboratory=Un posto relativamente sicuro per giocare con i materiali radioattivi. Può essere usato anche per processare l'uranio
se-space-radiator=Irradia il calore in eccesso dal termofluido riscaldato
se-space-recycling-facility=Ricicla rottami e altri prodotti in risorse
se-space-solar-panel=Un pannello solare molto efficente per lo spazio
se-space-solar-panel-2=Un pannello solare avanzato molto efficente per lo spazio
se-space-spectrometry-facility=Spettrometria, gas cromatografia, spettrometria di massa e altra spettrografia. Spara roba contro il muro, falla piegare e vedo dove ha colpito.
se-space-supercomputer-1=Manipola, elabora e simula i dati
se-space-supercomputer-2=Computer quantico. Ha una manipolazione, elaborazione e simulazione migliore
se-space-supercomputer-3=Una rete neurale adattiva su un computer quantico. Migliora la manipolazione, elaborazione e simulazione migliore
se-space-straight-rail=Progettata per lo spazio, ma può essere usata anche sulla terra
se-space-science-lab=Può utilizzare i pacchi scientifici più avanzati. Deve essere piazzato nello spazio
se-space-telescope=Un sofisticato telescopio sensibile a più lunghezze d'onda attorno allo spettro visibile
se-space-telescope-gammaray=I raggi gamma non vendono riflessi. Questo potente telescopio usa specchi e degli speciali rilevatori
se-space-telescope-xray=I raggi X sono bloccati per la maggior parte nell'atmosfera. Questo potente telescopio è studiato per lo spazio, dove l'atmosfera non è un problema
se-space-telescope-microwave=Un grosso telescopio che rileva lunghezze d'onda e le morcoonde provenienti dallo spazio prodondo
se-space-telescope-radio=Un grosso telescopio che rileva anche le più deboli onde radio distanti dalle sorgenti
se-space-thermodynamics-laboratory=Intraprende processi che utilizzano temperature estreme. Inoltre può eseguire processi termici di base, come la fusione
se-space-transport-belt=Impedisce agli oggetti di volare via
se-spaceship-antimatter-engine=Annienta un flusso di antimateria. Può essere usata come paratia per il contenimento della navicella spaziale
se-spaceship-antimatter-booster-tank=Contiene antimateria. Richiesto per il lancio dell'astronave
se-spaceship-console=Usato per muovere la navicella spaziale attraverso pianeti, lune, orbite e campi di asteroidi. Deve essere piazzato sul pavimento della navicella, contenuto all'interno di muri/porte, senza spazi o buchi. Il controllo di integrità trova i problemi
se-spaceship-gate=In campo di forza blocca la decompressione quando le porte si aprono. Conta come paratia per il contenimento della navicella
se-spaceship-rocket-engine=Consuma combustibile liquido per razzi. Conta come paratia per il contenimento dell'astronave
se-spaceship-rocket-booster-tank=Contiene carburante per razzi liquido. Richiesto per il lancio della navicella spaziale
se-spaceship-wall=Deve essere piazzato sul pavimento della navicella e viene considerato come parte di essa. Viene contata come paratia per il contenimento della navicella e per il contenimento nei buchi
[equipment-name]
energy-shield-equipment=Scudo energetico
energy-shield-mk2-equipment=Scudo energetico MK2
energy-shield-mk3-equipment=Scudo energetico MK3
energy-shield-mk4-equipment=Scudo energetico MK4
energy-shield-mk5-equipment=Scudo energetico MK5
energy-shield-mk6-equipment=Scudo energetico MK6
se-adaptive-armour-equipment-1=Armatura adattiva MK1
se-adaptive-armour-equipment-2=Armatura adattiva MK2
se-adaptive-armour-equipment-3=Armatura adattiva MK3
se-adaptive-armour-equipment-4=Armatura adattiva MK4
se-adaptive-armour-equipment-5=Armatura adattiva MK5
se-rtg-equipment=RTG portatile
se-rtg-equipment-2=RTG MK2 portatile
[equipment-description]
energy-shield-equipment=Una bolla protettiva che si ricarica velocemente, ma usa una grande quantità di energia
energy-shield-mk2-equipment=Una bolla protettiva che si ricarica velocemente, ma usa una grande quantità di energia
energy-shield-mk3-equipment=Una bolla protettiva che si ricarica velocemente, ma usa una grande quantità di energia
energy-shield-mk4-equipment=Una bolla protettiva che si ricarica velocemente, ma usa una grande quantità di energia
energy-shield-mk5-equipment=Una bolla protettiva che si ricarica velocemente, ma usa una grande quantità di energia
energy-shield-mk6-equipment=Una bolla protettiva che si ricarica velocemente, ma usa una grande quantità di energia
se-adaptive-armour-equipment-1=Armatura che usa energia per ripararsi da sola. Aumenta lentamente il valore di protezione col tempo
se-adaptive-armour-equipment-2=Armatura che usa energia per ripararsi da sola. Aumenta lentamente il valore di protezione col tempo
se-adaptive-armour-equipment-3=Armatura che usa energia per ripararsi da sola. Aumenta lentamente il valore di protezione col tempo
se-adaptive-armour-equipment-4=Armatura che usa energia per ripararsi da sola. Aumenta lentamente il valore di protezione col tempo
se-adaptive-armour-equipment-5=Armatura che usa energia per ripararsi da sola. Aumenta lentamente il valore di protezione col tempo
se-rtg-equipment=Generatore elettrico a base di radioisotopi. Un generatore portatile che converte il calore del decadimento radiattivo in energia. Dura per decenni, quindi non c'è bisogno di aggiungere carburante
se-rtg-equipment-2=Generatore elettrico a base di radioisotopi. Un generatore portatile migliorato che converte il calore del decadimento radiattivo in energia. Dura per decenni, quindi non c'è bisogno di aggiungere carburante
[fluid-name]
se-antimatter-stream=Antimateria
se-bio-sludge=Biosludge
se-contaminated-bio-sludge=Biosludge contaminato
se-contaminated-space-water=Acqua cosmica contaminata
se-chemical-gel=Gel chimico
se-decompressing-steam=Condensatore di vapore
se-liquid-rocket-fuel=Carburante liquido per razzi
se-methane-gas=Gas metano
se-methane-gas-mixed=Gas metano mescolato
se-nutrient-gel=Gel nutriente
se-neural-gel=Gel naturale
se-neural-gel-2=Gel naturale avanzato
se-ion-stream=Ioni
se-plasma-stream=Plasma
se-particle-stream=Flusso di particelle
se-proton-stream=Flusso di protoni
se-space-coolant=Termofluido 25°C
se-space-coolant-hot=Termofluido 25°C
se-space-coolant-warm=Termofluido freddo -10°C
se-space-coolant-cold=Termofluido freddo -100°C
se-space-coolant-supercooled=Termofluido superfreddo -273°C
se-space-water=Acqua cosmica
[fluid-description]
se-space-water=L'acqua non si congela a bassa pressione, più utile per l'utilizzo nello spazio
se-space-coolant=La temperatura di base del termofluido
se-space-coolant-hot=La temperatura di base del termofluido
se-space-coolant-warm=La temperatura del termofluido dopo essere stato raffreddato dal radiatore termico
se-space-coolant-cold=La temperatura del termofluido dopo essere stato hyper raffreddato
se-space-coolant-supercooled=La temperatura del termofluido dopo aver ripetuto il processo di hyper-raffreddamento
[item-group-name]
space=Spazio
spaceship=Astronave
bob-fluids=Fluidi
[item-name]
core-fragment=Frammento del nucleo (__1__)
effectivity-module-4=Efficienza modulo 4
effectivity-module-5=Efficienza modulo 5
effectivity-module-6=Efficienza modulo 6
effectivity-module-7=Efficienza modulo 7
effectivity-module-8=Efficienza modulo 8
effectivity-module-9=Efficienza modulo 9
glass=Vetro
productivity-module-4=Produttività modulo 4
productivity-module-5=Produttività modulo 5
productivity-module-6=Produttività modulo 6
productivity-module-7=Produttività modulo 7
productivity-module-8=Produttività modulo 8
productivity-module-9=Produttività modulo 9
rocket-fuel=Carburante solito per razzi
sand=Sabbia
solid-sand=Sabbia lavata
washed-sand=Sabbia lavata
satellite=Navigazione satellitare
se-antimatter-canister=Contenitore di antimateria
se-astrometric-data=Dati astrometrici
se-astronomic-catalogue-1=Cagalogo astronomici
se-astronomic-catalogue-2=Scheda dati astronomici
se-astronomic-catalogue-3=Catalogo astronomico completo
se-astronomic-catalogue-4=Catalogo astronomico esteso
se-astronomic-insight=Intuizione astronomica
se-astronomic-science-pack=Pacco scientifico astronomico
se-atomic-data=Dati atomici
se-bio-combustion-data=Dati bio combustione
se-bio-combustion-resistance-data=Dati resistenza bio combustione
se-bio-spectral-data=Dati bio spettrali
se-biochemical-data=Dati biochimici
se-bioculture=Biocultura
se-bioelectrics-data=Dati bioelettrici
se-biological-catalogue-1=Cataloghi biologici
se-biological-catalogue-2=Ampio catalogo biologico
se-biological-catalogue-3=Catalogo biologico completo
se-biological-catalogue-4=Catalogo biologico esteso
se-biological-insight=Intuizione biologica
se-biological-science-pack=Pacco scientifico biologico
se-biomechanical-data=Dati biomeccanici
se-biomechanical-resistance-data=Dati resistenza biomeccanica
se-boson-data=Dati bosone
se-broken-data=Scheda dati distrutta
se-canister=Contenitore sicuro
se-rocket-launch-pad-silo-dummy-ingredient-item=Razzo cargo
se-rocket-launch-pad-silo-dummy-result-item=Razzo cargo
se-cargo-rocket-cargo-pod=Pedana di atterraggi cargo
se-cargo-rocket-fuel-tank=Serbatoio carburante per razzi
se-cargo-rocket-section=Sezione del razzo cargo
se-cargo-rocket-section-packed=Sezione del razzo cargo compressa
se-cold-thermodynamics-data=Dati termodinamici freddi
se-comparative-genetic-data=Dati comparativi genetici
se-compressive-strength-data=Dati compressivi di forza
se-conductivity-data=Dati conduttività
se-contaminated-scrap=Frammenti contaminati
se-core-fragment-omni=Frammento del nucleo
se-cryogenics-data=Dati criogenici
se-dark-energy-data=Dati energia oscura
se-darkmatter-data=Dati materia oscura
se-data-storage-substrate-cleaned=Substrato di archiviazione di dati lucido
se-data-storage-substrate=Substrato di archiviazione di dati ruvido
se-decompression-data=Dati di decompressione
se-decompression-resistance-data=Dati resistenza di decompressione
se-deep-space-science-pack=Pacco scientifico spazio profondo
se-electromagnetic-field-data=Dati campo elettromagnetico
se-empty-data=Scheda dati vuota
se-empty-lifesupport-canister=Contenitore per supporto vitale vuoto
se-energy-catalogue-1=Cagtalogo energetico
se-energy-catalogue-2=Ampio catalogo di energia
se-energy-catalogue-3=Catalogo di enercia completo
se-energy-catalogue-4=Catalogo di energia esteso
se-energy-insight=Intuizione energetica
se-energy-science-pack=Pacco scientifico energetico
se-entanglement-data=Dati di aggrovigliamento
se-exotic-fission-data=Dati di fissione esotici
se-exotic-singularity-data=Dati singolarità
se-experimental-biochemical-data=Dati biochimica sperimentale
se-experimental-bioculture=Biocultura sperimentale
se-experimental-genetic-data=Dati genetica sperimentale
se-experimental-material-decay-data=Dati decadimento dei materiali sperimentale
se-experimental-material-spectral-data=Dati spettro dei materiali sperimentale
se-experimental-material=Prototipo di materiale sperimentale
se-experimental-specimen=Biomassa sperimentale
se-experimental-superconductor=Prototipo di superconduttore
se-forcefield-data=Dati campo magnetico
se-fusion-test-data=Dati test fusione
se-gammaray-detector=Rilevatore raggi gamma
se-gammaray-observation-data=Dati osservazione raggi gamma
se-gammaray-test-data=Dati raggi gamma
se-genetic-data=Dati genetici
se-gravity-wave-observation-data=Dati osservazione onde gravitazionali
se-gravimetric-observation-data=Dati osservazione gravimetria
se-gravimetric-test-data=Dati test gravimetria
se-heat-shielding=Schematura termica
se-hot-thermodynamics-data=Dati termodinamici caldi
se-infrared-observation-data=Dati osservazione infrarossa
se-ion-spectrometry-data=Dati spettrometria ionica
se-junk-data=Scheda dati di scarto
se-lepton-data=Dati lepton
se-lifesupport-canister=Contenitore per supporto vitale
se-magnetic-canister=Contenitore magnetico
se-magnetic-monopole-data=Dati manipolazione magnetica
se-material-decay-data=Dati decadimento materiali
se-material-science-pack=Pacco scientifico dei materiali
se-material-spectral-data=Dati materiali spettrali
se-material-testing-pack=Pacco di prova dei materiali
se-material-catalogue-1=Catalogo dei materiali
se-material-catalogue-2=Ampio catalogo dei materiali
se-material-catalogue-3=Catalogo dei materiali completo
se-material-catalogue-4=Catalogo dei materiali esteso
se-material-insight=Intuizione materiale
se-medpack=Medikit
se-medpack-2=Medikit 2
se-medpack-3=Medikit 3
se-medpack-4=Medikit 4
se-meteor-defence=Installazione di difesa anti meteoriti
se-meteor-defence-ammo=Munizioni per installazione difensiva
se-meteor-point-defence=Difesa a puntamento anti meteoriti
se-meteor-point-defence-ammo=Munizioni per difesa a puntamento
se-methane-ice=Metano ghiacciato
se-micro-black-hole-data=Dati micro buconero
se-microwave-observation-data=Dati osservazione microonde
se-nano-cold-thermodynamics-data=Dati nanomateriali termodinamici freddi
se-nano-compressive-strength-data=Dati nanomateriali sulla resistenza alla compressione
se-nano-hot-thermodynamics-data=Dati nanomateriali termidinamici caldi
se-nanomaterial=Nanomateriale
se-nano-tensile-strength-data=Dati nanomateriali sulla resistenza alla trazione
se-negative-pressure-data=Dati pressione negativa
se-neural-anomaly-data=Dati anomalia neurale
se-nutrient-vat=Tino di nutriente
se-observation-frame-blank=Struttura di osservazione vuota
se-observation-frame-gammaray=Struttura di osservazione raggi gamma
se-observation-frame-infrared=Struttura di osservazione infrarissi
se-observation-frame-microwave=Struttura di osservazione microonde
se-observation-frame-radio=Struttura di osservazione onde radio
se-observation-frame-uv=Struttura di osservazione UV
se-observation-frame-visible=Struttura di osservzione visibile
se-observation-frame-xray=Struttura di osservazione raggi X
se-plague-bomb=Piaga volante
se-plasma-canister=Contenitore al plasma
se-plasma-electrodynamics-data=Dati elettrodinamici plasma
se-plasma-thermodynamics-data=Dati termodinamici plasma
se-polarisation-data=Dati polarità
se-pressure-containment-data=Dati contenimento pressione
se-quantumn-phenomenon-data=Dati fenomeni quantistici
se-quark-data=Dati quark
se-radiation-data=Dati radiazioni
se-radiation-exposure-data=Dati esposizione radiazioni
se-radiation-exposure-resistance-data=Dati resistenza radiazioni
se-radiation-shielding-data=Dati schermatura radiazioni
se-radio-observation-data=Dati osservazione onde radio
se-rtg-equipment=RTG portatile
se-rtg-equipment-2=RTG portatile MK 2
se-scrap=Frammenti contaminati
se-significant-data=Dati significativi
se-significant-specimen=Biomassa significativa
se-space-capsule=Capsula spaziale
se-space-mirror=Specchio multispettrale
se-space-platform-plating=Rivestimento piattaforma spaziale
se-space-platform-scaffold=Impalcatura piattaforma spaziale
se-space-rail=Rotaie spaziali
se-spaceship-floor=Pavimento astronave
se-specimen=Biomassa
se-subatomic-data=Dati subatomici
se-superconductivity-data=Dati superconduttività
se-superconductor=Superconduttore
se-superconductive-cable=Cavo superconduttore
se-tensile-strength-data=Dati resistenza alla trazione
se-tesla-ammo=Munizioni tesla gun
se-tesla-gun=Tesla gun
se-thruster-suit=Tuta jet
se-thruster-suit-2=Tuta jet MK2
se-thruster-suit-3=Tuta jet MK3
se-thruster-suit-4=Tuta jet MK4
se-timespace-anomaly-data=Dati anomalia spazio-temporale
se-used-lifesupport-canister=Contenitore supporto vitale usato
se-uv-observation-data=Dati osservazione UV
se-visible-observation-data=Dati osservazione visibile
se-water-ice=Acqua ghiacciata
se-xray-observation-data=Dati osservazione raggi x
se-zero-point-energy-data=Dati punto zero energia
space-science-pack=Pacco scientifico razzo
speed-module-4=Modulo di velocità 4
speed-module-5=Modulo di velocità 5
speed-module-6=Modulo di velocità 6
speed-module-7=Modulo di velocità 7
speed-module-8=Modulo di velocità 8
speed-module-9=Modulo di velocità 9
[item-description]
automation-science-pack=Usato dai laboratori scientifici base per le ricerche
chemical-science-pack=Usato dai laboratori scientifici base per le ricerche
logistic-science-pack=Usato dai laboratori scientifici base per le ricerche
military-science-pack=Usato dai laboratori scientifici base per le ricerche
production-science-pack=Usato dai laboratori scientifici base per le ricerche
satellite=Il satellite dovrebbe essere inserito nel silo per i razzi
se-antimatter-canister=La forma più densa di energia per il trasporto sicuro in un contenitore
se-astronomic-science-pack=Usato dai laboratori scientifici spaziali per la ricerca
se-biological-science-pack=Usato dai laboratori scientifici spaziali per la ricerca
se-canister=Un contenitore multiuso per il contenimento
se-cargo-rocket-cargo-pod=Una sezione del razzo cargo
se-cargo-rocket-fuel-tank=Una sezione del razzo cargo
se-cargo-rocket-section=Il componente chiave per il razzo cargo. Bisogna inserirlo nell'inventario del silo per razzi cargo. 100 sono richiesti per un razzo. Possono essere recuperati dall'atterraggio dei razzi (20% di possibilità di recupero di partenza)
se-cargo-rocket-section-packed=Sezioni per il razzo cargo compresse, comode per il trasporto. Devono essere spacchettate per essere utilizzate nella costruzione del razzo
se-deep-space-science-pack=Usato dai laboratori scientifici spaziali per la ricerca
se-energy-science-pack=Usato dai laboratori scientifici spaziali per la ricerca
se-heat-shielding=Un pannello composito usato per applicazioni con alte temperature e strutture spaziali
se-material-science-pack=Usato dai laboratori scientifici spaziali per la ricerca
se-medpack=Usalo per curarti
se-medpack-2=Usalo per curarti
se-medpack-3=Usalo per curarti
se-medpack-4=Usalo per curarti
se-meteor-defence=Può difendere un intero pianeta dai meteoriti, ma può sparare solo ad 1. Deve essere caricato con le munizioni per i meteoriti e deve essere caricato completamente per poter sparare. Ha una precisione dell'80%. Deve essere ricaricato dopo aver sparato. Consuma 20MW mentre si ricarica
se-meteor-defence-ammo=Distrugge meteoriti. Deve essere caricato dentro una difesa planetaria contro meteoriti
se-meteor-point-defence=Difende un'area dai meteoriti. Può sparare fino a 4 meteoriti per volta. Deve essere caricato con le munizioni per difese a puntamento e deve essere ricaricato completamente prima di sparare. Ha un raggio di 64, 50% di precisione e ha bisogno di tempo per ricaricarsi dopo aver sparato
se-meteor-point-defence-container=Distrugge meteoriti. Deve essere caricato dentro una difesa a puntamento contro meteoriti
se-rocket-launch-pad-silo-dummy-ingredient-item=Costruito inserendo 100 sezioni per razzo cargo e 1 capsula spaziale dentro il silo per razzi cargo
se-rtg-equipment=Generatore elettrico a base di radioisotopi. Un generatore portatile che converte il calore del decadimento radiattivo in energia. Dura per decenni, quindi non c'è bisogno di aggiungere carburante
se-rtg-equipment-2=Generatore elettrico a base di radioisotopi. Un generatore portatile migliorato che converte il calore del decadimento radiattivo in energia. Dura per decenni, quindi non c'è bisogno di aggiungere carburante
se-plague-bomb=Estinguere tutte le forme di vita da un intero pianeta. Maneggiare con estrema cauzione. (Può causare pesanti calid i UPS e continui, visto che tutto muore gradualmente. Sconsigliato l'uso per grandi pianeti o multiplayer)
se-space-capsule=Una capsula di controllo richiesta dai razzi cargo. Può essere usata per portare passeggeri indietro sulla superficie del pianeta più vicino. Entra nella capsula usando __CONTROL__toggle-driving__.
se-space-platform-plating=Un rivestimento avanzato che permette di muoversi velocemente supra la piattaforma spaziale
se-space-platform-scaffold=Impalcatura spaziale di base che permette di piazzare alcune strutture nello spazio
se-space-rail=Rotaie costruite per muovere in modo sicuro i treni nello spazio senza che volino via dai binari e distruggendo tutto. Possono essere usate anche sulla terra per ragioni estetiche
se-spaceship-floor=Questo pavimento deve essere sotto tutte le parti dell'astronave, insieme ai muri nei lati esterni. Qualsiasi spazio nel pavimento causerà una perdita nel contenimento e alcune sezioni si potrebbero sganciare
se-superconductive-cable=Un cavo composito superconduttivo che non richiede nessun sistema attivo di raffreddamento
se-tesla-gun=Spara catene di fulmini con velocità elevata
se-thruster-suit=Una tuta spaziale richiesta per sopravvivere nello spazio. \nHa jet e stivali
se-thruster-suit-2=Una tuta spaziale richiesta per sopravvivere nello spazio. \nHa dei jet migliori, un inventario più grande e una griglia maggiore
se-thruster-suit-3=Una tuta spaziale richiesta per sopravvivere nello spazio. \nHa dei jet migliori, un inventario più grande e una griglia maggiore
se-thruster-suit-4=Una tuta spaziale richiesta per sopravvivere nello spazio. \nHa dei jet migliori, un inventario più grande e una griglia maggiore
space-science-pack=Usato dai laboratori scientifici spaziali per la ricerca
utility-science-pack=Usato dai laboratori scientifici base per le ricerche
[recipe-name]
core-fragment=Processo di frammentazione del nucleo (__1__)
rocket-fuel=Combustibile solido per razzi
se-astrometric-analysis-multispectral-1=Analisi multispettrale astrometrica 1
se-astrometric-analysis-multispectral-2=Analisi multispettrale astrometrica 2
se-astrometric-analysis-multispectral-3=Analisi multispettrale astrometrica 3
se-astronomic-insight-1=Intuizione astronomica
se-astronomic-insight-2=Catalogo intuizioni astronomiche
se-astronomic-insight-3=Intuizioni astronomiche comprensive
se-astronomic-insight-4=Intuizioni astronomiche estese
se-biological-insight-1=Intuizioni biologiche
se-biological-insight-2=Catalogo intuizioni biologiche
se-biological-insight-3=Intuizioni biologiche comprensive
se-biological-insight-4=Intuizioni biologiche estese
se-bio-methane-to-crude-oil=Bio processo del metano per olio
se-bio-sludge-crude-oil=Fango biologico per biomasse sperimentali
se-bio-sludge-decontamination=Decontaminazione fango biologico
se-bio-sludge-from-fish=Fango biologico da pesci
se-bio-sludge-from-wood=Fango biologico da legno
se-bio-sludge=Fango biologico da biomassa
se-broken-data-scrapping=Rottamazione carta dati distrutta
se-cargo-rocket-section-pack=Compressione sezioni per razzo cargo
se-cargo-rocket-section-unpack=Decompressione sezioni per razzo cargo
se-condenser-turbine-reclaim-water=Generatore elettrico con acqua bonificata
se-core-fragment-omni=Processo di frammentazione del nucleo
se-core-mining=Estrazione del nucleo
se-empty-antimatter-canister=Flusso di antimateria per contenitore
se-empty-barrel-scrapping=Rottamazione di barili vuoti
se-empty-barrel-reprocessing=Riprocesso di barili vuoti
se-space-capsule-scrapping=Rottamazione di capsula spaziale
se-cargo-pod-scrapping=Rottamazione della pedana di atterraggio cargo
se-energy-insight-1=Intuizione elettriche
se-energy-insight-2=Catalogo intuizioni elettriche
se-energy-insight-3=Intuizione elettrica comprensiva
se-energy-insight-4=Intuizione elettrica estesa
se-formatting-1=Formattazione dei dati
se-formatting-2=Formattazione efficente dei dati
se-formatting-3=Formattazione avanzata dei dati
se-material-insight-1=Intuizione materiale
se-material-insight-2=Catalogo delle intuizione materiali
se-material-insight-3=Intuizione materiale comprensiva
se-material-insight-4=Intuizione materiale estesa
se-matter-fusion-copper=Fusione della materia (Rame)
se-matter-fusion-dirty=Fusione della materia (Rottami)
se-matter-fusion-iron=Fusione della materia (Ferro)
se-matter-fusion-stone=Fusione della materia (Pietra)
se-matter-fusion-uranium=Fusione della materia (Uranio)
se-plasma-canister-empty=Contenitore di plasma vuoto
se-radiating-space-coolant-normal=Raffreddamento termofluido fino a -10°C (Freddo)
se-radiating-space-coolant-slow=Raffreddamento lento termofluido fino a -10°C (Freddo)
se-radiating-space-coolant-veryslow=Raffreddamento molto lento termofluido fino a -10°C (Freddo)
se-mixed-methane-gas-separation=Separazione gas metano mischiato
se-rocket-fuel-from-water-copper=Carburante per razzi dall'acqua
se-scrap-decontamination=Decontaminazione dei rottami
se-scrap-recycling=Riciclo dei rottami
se-space-coolant-cold=Hyper raffreddamento termofluido fino a -100°C (Freddo)
se-space-coolant-supercooled=Hyper raffreddamento termofluido fino a -273°C (Superfreddo)
se-simulation-a=Simulazione astronomica
se-simulation-ab=Simulazione panspermia
se-simulation-abm=Simulazione xenoprogressione
se-simulation-am=Simulazione distribuzione materia
se-simulation-as=Simulazione astroparticellare
se-simulation-asb=Simulazione astrobionica
se-simulation-asbm=Simulazione universale
se-simulation-asm=Simulazione astrofisica
se-simulation-b=Simulazione biologica
se-simulation-bm=Simulazione biomeccanica
se-simulation-m=Simulazione materiale
se-simulation-s=Simulazione elettrica
se-simulation-sb=Simulazione biochimica
se-simulation-sbm=Simulazione nanite
se-simulation-sm=Simulazione nanomateriali
se-space-water-decontamination=Decontaminazione acqua cosmica
se-spaceship-rocket-engine-burn=Bruciatura carburante liquido per razzi
se-specimen-fish=Crescita pesce in microgravità
se-specimen-wood=Crescita legna in microgravità
se-thermodynamics-coal=Cottura a pressione con carbone
se-used-lifesupport-canister-cleaning=Pulizia contenimento supporto vitale
[recipe-description]
se-astronomic-insight-2=Più complicato, ma più effcente nelle risorse
se-astronomic-insight-3=Più complicato, ma più effcente nelle risorse
se-astronomic-insight-4=Più complicato, ma più effcente nelle risorse
se-biological-insight-2=Più complicato, ma più effcente nelle risorse
se-biological-insight-3=Più complicato, ma più effcente nelle risorse
se-biological-insight-4=Più complicato, ma più effcente nelle risorse
se-core-mining=I frammenti del nucleo dipendono dal pianeta. Il tempo di trivellazione dipende dal numero di estrattori del nucleo presenti sul pianeta (o sulla luna)
se-energy-insight-2=Più complicato, ma più effcente nelle risorse
se-energy-insight-3=Più complicato, ma più effcente nelle risorse
se-energy-insight-4=Più complicato, ma più effcente nelle risorse
se-material-insight-2=Più complicato, ma più effcente nelle risorse
se-material-insight-3=Più complicato, ma più effcente nelle risorse
se-material-insight-4=Più complicato, ma più effcente nelle risorse
se-radiating-space-coolant-normal=Ripetuti raffreddamenti e riscaldamenti sul termofluido causano una degradazione
se-radiating-space-coolant-slow=Ripetuti raffreddamenti e riscaldamenti sul termofluido causano una degradazione. Un raffreddamento lento riduce il disperdio
se-radiating-space-coolant-veryslow=Ripetuti raffreddamenti e riscaldamenti sul termofluido causano una degradazione. Un raffreddamento lento riduce il disperdio
[technology-name]
effectivity-module-4=Efficenza modulo 4
effectivity-module-5=Efficenza modulo 5
effectivity-module-6=Efficenza modulo 6
effectivity-module-7=Efficenza modulo 7
effectivity-module-8=Efficenza modulo 8
effectivity-module-9=Efficenza modulo 9
energy-shield-equipment=Scudo energetico
energy-shield-mk2-equipment=Scudo energetico MK2
energy-shield-mk3-equipment=Scudo energetico MK3
energy-shield-mk4-equipment=Scudo energetico MK4
energy-shield-mk5-equipment=Scudo energetico MK5
energy-shield-mk6-equipment=Scudo energetico MK6
sand-processing=Processo della sabbia
glass-processing=Processo del vetro
liquid-rocket-fuel=Carburante liquido per razzi
productivity-module-4=Modulo produttività 4
productivity-module-5=Modulo produttività 5
productivity-module-6=Modulo produttività 6
productivity-module-7=Modulo produttività 7
productivity-module-8=Modulo produttività 8
productivity-module-9=Modulo produttività 9
rocket-silo=Satellite per silo dei razzi
rocketry=Missilistica da combattimento
se-adaptive-armour=Armatura adattiva
se-antimatter-engine=Motore ad antimateria
se-antimatter-reactor=Reattore ad antimateria
se-antimatter-production=Produzione di antimateria
se-astronomic-science-pack=Pacco scientifico astronomico
se-biological-science-pack=Pacco scientifico biologico
se-condenser-turbine=Turbina a condensazione
se-core-miner=Estrattore del nucleo
se-deep-space-science-pack=Pacco scientifico spazio profondo
se-electric-boiler=Boiler elettrico
se-energy-science-pack=Pacco scientifico energetico
se-fluid-burner-generator=Generatore di fluido isometrico
se-fuel-refining=Raffinazione del carburante
se-heat-shielding=Scudo termico
se-material-science-pack=Pacco scientifico materiale
se-medpack=Medikit
se-medpack-2=Medikit 2
se-medpack-3=Medikit 3
se-medpack-4=Medikit 4
se-meteor-defence=Installazione difensiva planetaria anti meteorite
se-meteor-point-defence=Difesa a puntamento anti meteorite
se-plague=La piaga
se-railgun=Railgun
se-rocket-cargo-safety=Sicurezza razzi cargo
se-rocket-fuel-from-water=Carburante per razzi dall'acqua
se-rocket-launch-pad=Silo per razzi cargo
se-rocket-landing-pad=Pedana di atterraggio per razzi
se-rocket-reusability=Riusabilità dei razzi
se-rocket-survivability=Soppravvivenza dei razzi
se-rtg-equipment=RTG portatile
se-rtg-equipment-2=RTG portatile MK2
se-space-assembling=Assemblatore spaziale
se-space-accumulator=Accumulatore spaziale
se-space-astrometrics-laboratory=Laboratorio astrometrico
se-space-biochemical-laboratory=Laboratorio biochimico
se-space-catalogue-astronomic=Catalogo astronomico
se-space-catalogue-biological=Catalogo biologico
se-space-catalogue-energy=Catalogo energetico
se-space-catalogue-material=Catalogo dei materiali
se-space-data-card=Scheda dati
se-space-decontamination-facility=Decontaminazione facilitata
se-space-electromagnetics-laboratory=Laboratorio elettromagnetico
se-space-genetics-laboratory=Laboratorio genetica
se-space-gravimetrics-laboratory=Laboratorio gravimetrico
se-space-growth-facility=Crescita facilitata
se-space-hypercooling=Hyper raffreddamento
se-space-laser-laboratory=Laboratorio laser
se-space-lifesupport-facility=Supporto vitale facilitato
se-space-manufactory=Fabbrica spaziale
se-space-material-fabricator=Fabbricatore di materiali
se-space-matter-fusion=Fusione della materia
se-space-mechanical-laboratory=Laboratorio meccanico
se-space-particle-accelerator=Acceleratore di particelle
se-space-particle-collider=Collider di particelle
se-space-plasma-generator=Generatore di plasma
se-space-platform-plating=Rivestimento piattaforma spaziale
se-space-platform-scaffold=Impalcatura piattaforma spaziale
se-space-radiation-laboratory=Laboratorio radiazioni
se-space-radiator=Radiatore termico
se-space-rail=Rotaia spaziale
se-space-recycling-facility=Riciclaggio facilitato
se-space-science-lab=Laboratorio scientifico spaziale
se-space-simulation-ab=Simulazione panspermia
se-space-simulation-am=Simulazione astromateriale
se-space-simulation-as=Simulazione astroparticelle
se-space-simulation-bm=Simulazione biomeccanica
se-space-simulation-sb=Simulazione biochimica
se-space-simulation-sm=Simulazione nanomateriali
se-space-simulation-abm=Simulazione xenoprogressione
se-space-simulation-asb=Simulazione astrobionica
se-space-simulation-asm=Simulazione astrofisica
se-space-simulation-sbm=Simulazione nanite
se-space-simulation-asbm=Simulazione universale
se-space-solar-panel=Pannelli solari spaziali
se-space-solar-panel-adv=Pannelli solari spaziali avanzati
se-space-spectrometry-facility=Spettrometria facilitata
se-space-supercomputer=Supercomputer
se-space-telescope=Telescopio
se-space-telescope-gammaray=Telescopio raggi gamma
se-space-telescope-xray=Telescopio raggi X
se-space-telescope-microwave=Telescopio microonde
se-space-telescope-radio=Radio telescopio
se-space-thermodynamics-laboratory=Laboratorio termodinamica
se-spaceship=Astronave
se-spaceship-integrity=Integrità strutturale astronave
se-factory-spaceship=Fabbrica astronave
se-superconductive-cable=Cavo superconduttore
se-teleportation=Teletrasporto
se-tesla-gun=Tesla gun
se-thruster-suit=Tuta jet
space-science-pack=Pacco scientifico razzo
speed-module-4=Modulo velocità 4
speed-module-5=Modulo velocità 5
speed-module-6=Modulo velocità 6
speed-module-7=Modulo velocità 7
speed-module-8=Modulo velocità 8
speed-module-9=Modulo velocità 9
[technology-description]
energy-shield-equipment=Una bolla protettiva che si ricarica facilmente, ma che usa molta energia
energy-shield-mk2-equipment=Una bolla protettiva che si ricarica facilmente, ma che usa molta energia
energy-shield-mk3-equipment=Una bolla protettiva che si ricarica facilmente, ma che usa molta energia
energy-shield-mk4-equipment=Una bolla protettiva che si ricarica facilmente, ma che usa molta energia
energy-shield-mk5-equipment=Una bolla protettiva che si ricarica facilmente, ma che usa molta energia
energy-shield-mk6-equipment=Una bolla protettiva che si ricarica facilmente, ma che usa molta energia
sand-processing=Spacca, macina e filtra la materia prima in sabbia
glass-processing=Cuoce la sabbia in vetro
rocket-silo=Ti permette di lanciare il satellite in orbita per sviluppare pacchi scientifici razzo e scoprire nuovi pianeti
se-adaptive-armour=Armatura che usa eneria per autoriparasi. È simile allo scudo energetico, ma richiede meno potenza, con una velocità di rigenerazione minore
se-antimatter-engine=Annienta l'antimateria per produrre una spinta potentissima
se-antimatter-reactor=Annienta l'antimateria con altra materia per generare un calore estremo
se-antimatter-production=Produce antimateria, la forma di energia immagazzinata più densa
se-astronomic-science-pack=Permette la ricerca di tecnologie riguardanti viaggi spaziali e comunicazione interstellare
se-biological-science-pack=Permette di ricercare le tecnologie relative al miglioramento delle tue capacità fisiche, armi biologiche e lavorazione neurale
se-condenser-turbine=75% dell'efficenza energetica delle turbine a vapore, ma il 99% del vapore utilizzato viene condensato in acqua
se-core-miner=Permette l'estrazione infinita delle risorse da pianeti e lune, ma diminuisce l'efficenza all'aumentare del numero di trivelle sullo stesso corpo celeste
se-deep-space-science-pack=Richiesto per le tecnologie più avanzate
se-electric-boiler=CProduce vapore dall'acqua usando l'energia elettrica
se-energy-science-pack=Permette la ricerca delle tecnologie relative alle forze fondamentali e alle scoperte subatomiche
se-fluid-burner-generator=Richiede carburante liquido con un valore energetico (tipo i lcarburante liquido per razzi) per generare energia. Semplice e compatto, ma non è molto efficente in confronto a sistemi più grossi basati sul vapore. Progettato per lo spazio
se-fuel-refining=Raffina i più avanzati carburanti
se-heat-shielding=Un pannello composito usato per applicazioni con alte temperature e per strutture spaziali
se-material-science-pack=Permette di ricercare tecnologie riguardanti materiali avanzati da utilizzare, per i più avanzati componenti ingegneristici
se-medpack=Usa il medikit per curarti
se-medpack-2=Usa il medikit per curarti
se-medpack-3=Usa il medikit per curarti
se-medpack-4=Usa il medikit per curarti
se-meteor-defence=Spara ai meteoriti che cadono dal cielo, prima che distruggano i tuoi macchinari. Una difesa anti meteoriti può difendere un intero pianeta, ma può sparare solo ad 1 meteorite alla volta
se-meteor-point-defence=Spara ai meteoriti che cadono dal cielo, prima che distruggano i tuoi macchinari. una difesa a puntamento anti meteoriti copre solo una determinata area, ma può colpire 4 meteoriti alla volta
se-railgun=Frecce accelerate elettromagneticamente fino a raggiungere una velocità da lasciare una scia di prisma prima di evaporare. Alto danno, bassa velocità di fuoco
se-plague=La grande piaga che eradicherà ogni forma di vita dal pianeta bersaglio. Maneggiare con ESTREMA cauzione
se-rocket-cargo-safety=Riduce le chance che il rivestimento del razzo cargo venga danneggiato in transito del 10% (moltiplicativo)
se-rocket-fuel-from-water=Genera idrogeno-ossigeno per carburante per razzi tramite l'elettrolisi dell'acqua
se-rocket-landing-pad=Permette di lanciare razzi cargo verso determinate pedane di atterraggio, tramite il nome. Ricerche più avanzate permettono anche di recuperare parti del razzo
se-rocket-launch-pad=Ti permette di lanciare un carico verso lo spazio o altri pianeti e lune
se-rocket-reusability=Aumenta la percentuale di parti che possono essere recuperate da un atterraggio riuscito del 4% (Base: 20%, massimo è 100%)
se-rocket-survivability=Riduce la percentuale che il razzo venga danneggiato in viaggio o che subisca fallimenti nella navigazione, risultando in un mancato atterraggio sulla pedana del 10% (moltiplicativo)
se-rtg-equipment=Generatore termoelettrico a radioisotopi. Un generatore portatile che ti permette di convertire il calore del decadimento radiattivo in elettricità. Non ha bisogno di carburante aggiuntivo
se-rtg-equipment-2=Generatore termoelettrico a radioisotopi. Un generatore portatile migliorato che ti permette di convertire il calore del decadimento radiattivo in elettricità. Non ha bisogno di carburante aggiuntivo
se-space-assembling=Un assemblatore modificato spaziale che può lavorare anche nello spazio
se-space-astrometrics-laboratory=Combina, compara e quantifica le differenti sorgenti di informazioni astronomiche
se-space-biochemical-laboratory=Un laboratorio chimico avanzato specializzato in biochimica. Può inoltreeseguire i processi base di chimica e lavorazione degli oli
se-space-catalogue-astronomic=Catalogo di dati astronomici pronti per le analisi e le silmulazioni. Richiesto per ricerche astronomiche avanzate
se-space-catalogue-biological=Catalogo di dati biologici printi per le analisi e le simulazioni. Richiesto per ricerche biologiche avanzate
se-space-catalogue-energy=Catalogo di dati energetici pronti per le analisi e le simulazioni. Richiesto per le ricerche energetiche avanzate
se-space-catalogue-material=Catalogo di dati materiali pronti per le analisi e le simulazioni. Richiesto per le ricerche materiali avanzate
se-space-data-card=Un device per salvare differenti tipi di dati. Richiesto per le richieste più avanzate
se-space-decontamination-facility=Pulisce le sostanze in un ambiente sterile per essere riutilizzate e prepara i liquidi per un uso in condizioni di bassa pressione
se-space-electromagnetics-laboratory=Equipaggiato per applicazioni con intensi campi magnetici e temperature estreme
se-space-genetics-laboratory=Un laboratorio dedicato alla genetica: sequenze genetiche, modifiche genetiche e stampa di culture genetiche
se-space-gravimetrics-laboratory=Analizza e simula disturbi gravitazionali
se-space-growth-facility=Permette la crescita di specie biologiche in un'area determinata e in condizioni controllate, in ambienti dove sarebbe impossibile, tipo in microgravità
se-space-hypercooling=Esegue una dispersione di calore sul termofluido, rendendone uno caldo e uno freddo
se-space-laser-laboratory=Esperimenti con laser. Una protezione agli occhi è suggerita
se-space-lifesupport-facility=Permette la vita in ambienti ostili
se-space-manufactory=Una fabbrica per la produzione di massa nello spazio
se-space-material-fabricator=Sintetizza nuovi materiali. una via di mezzo tra un collisore di particelle e una stampante 3D
se-space-matter-fusion=Lavorazione dei materiali tramite la fusione
se-space-mechanical-laboratory=Fornisce una serie di processi meccanici: Schiacciamento, lavorazione, taglio, vibrazione...
se-space-particle-accelerator=Accelera le particelle alla velocità prossima alla velocità della luce
se-space-particle-collider=Collide particelle ad alta velocità e analizza il risultato
se-space-plasma-generator=Genera una varietà di plasma
se-space-platform-plating=Un rivestimento per le piattaforme spaziali robusto. Liscio e facile per camminate spaziali
se-space-platform-scaffold=Impalcatura base per le piattaforme spaziali. Qualcosa per costruirci sopra ma non molto per camminate spaziali
se-space-radiation-laboratory=Un posto relativamente sicuro per giocare con materiali radioattivi. Può essere usato anche per la lavorazione dell'uranio
se-space-radiator=Irradia via il calore in eccesso dal termofluido sovrascaldato
se-space-rail=Rotaie sicure per lo spazio che non permettono al treno di deragliare via e fluttuare, distruggendo tutto. Può essere usato a terra per questioni estetiche
se-space-recycling-facility=Ricicla oggetti e li lavora per trasformarli in materiale grezzo
se-space-science-lab=Permette la produzione del pacco scientifico missilistico e le più avanzate scienze spaziali
se-space-simulation-ab=Una simulazione più efficace simulando e combinando diverse discipline
se-space-simulation-am=Una simulazione più efficace simulando e combinando diverse discipline
se-space-simulation-as=Una simulazione più efficace simulando e combinando diverse discipline
se-space-simulation-bm=Una simulazione più efficace simulando e combinando diverse discipline
se-space-simulation-sb=Una simulazione più efficace simulando e combinando diverse discipline
se-space-simulation-sm=Una simulazione più efficace simulando e combinando diverse discipline
se-space-simulation-abm=Una simulazione più efficace simulando e combinando diverse discipline
se-space-simulation-asb=Una simulazione più efficace simulando e combinando diverse discipline
se-space-simulation-asm=Una simulazione più efficace simulando e combinando diverse discipline
se-space-simulation-sbm=Una simulazione più efficace simulando e combinando diverse discipline
se-space-simulation-asbm=Una simulazione più efficace simulando e combinando diverse discipline
se-space-solar-panel=Un pannello solare molto efficente per lo spazio
se-space-solar-panel-adv=Un pannello solare avanzato molto efficente per lo spazio
se-space-spectrometry-facility=Spettrometria, gas cromatografia, spettrometria di massa e altri tipi di spettrometria. Spara roba contro il muro e lo deforma, guardando dove ha colpito.
se-space-supercomputer=Permette un'avanzata manipolazione di dati, elaborazione e simulazione
se-space-telescope=Un sofisticato telescopio sensibile a diverse lunghezze d'onda attorno allo spettro visibile
se-space-telescope-gammaray=I raggi gamma non vengono riflessi. Questo potente telescopio usa specchi e speciali ricettori
se-space-telescope-xray=I raggi X vengono bloccati per la maggior parte dall'atmosfera. Questo potente telescopio è stato progettato per lo spazio, dove l'atmosfera non è un problema
se-space-telescope-microwave=Un gigantesco telescopio che rileva microonde e le microonde provenienti dallo spazio profondo
se-space-telescope-radio=Un gigantesco telescopio che rileva anche i più deboli segnali radio distanti dalle sorgenti
se-space-thermodynamics-laboratory=Intraprende processi che involvono temperature estreme. Può inoltre eseguire processi termici di base, come la fusione
se-spaceship=Una nave che costruisci te pezzo per pezzo, con pavimento e muri. Usa poi la console per muoverti tra diversi pianeti e oltre
se-spaceship-integrity=Ogni livello aumenta lo stresso massimo dell'integrità strutturale di 100
se-factory-spaceship=Ogni livello aumenta lo stresso massimo dell'integrità strutturale di 500
se-superconductive-cable=Un cavo superconduttivo che non richiede un raffreddamento
se-teleportation=Sblocca latre tecnologie per il teletrasporto. Si scopre che deformare lo spazio in modo sicuro e veramente difficile
se-tesla-gun=Scariche di fulmini veloci. Può colpire fino a 30 nemici per colpo. Colpisce anche nemici a lunga distanza tra di loro
se-thruster-suit=Una tuta spaziale con propulsori jet e stivali. Non andare nello spazio senza
se-thruster-suit-2=Una tuta spaziale migliorata con propulsori jet più potenti, migliorando anche la grandezza dell'inventario e una griglia più grande
se-thruster-suit-3=Una tuta spaziale migliorata con propulsori jet più potenti, migliorando anche la grandezza dell'inventario e una griglia più grande
se-thruster-suit-4=Una tuta spaziale migliorata con propulsori jet più potenti, migliorando anche la grandezza dell'inventario e una griglia più grande
space-science-pack=Permette uno sviluppo più diretto per lo sviluppo di pacchi scientifici missilistici e tecnologie che beneficiano di questi miglioramenti
[modifier-description]
tesla-shooting-speed-bonus=Velocità di fuoco tesla
tesla-damage-bonus=Bonus danno tesla
railgun-damage-bonus=Bonus danno Railgun
railgun-shooting-speed-bonus=Velocità di fuoco Railgun
[virtual-signal-name]
se-star=Stella
se-planet=Pianeta
se-planet-orbit=Orbita planetaria
se-moon=Luna
se-moon-orbit=Orbita lunare
se-asteroid-belt=Cintura di asteroidi
se-asteroid-field=Campo di asteroidi
se-anomaly=Anomalia
se-meteor=Meteorite
se-spaceship=Astronave
se-remote-view=Visione remota
se-death=Morte
se-character-corpse=Corpo
[controls]
se-remote-view=Visione navigazione satellitare
se-respawn=Rinasci
[shortcut]
se-remote-view=Visione navigazione satellitare
se-respawn=Rinasci
[shortcut-name]
se-remote-view=Visione navigazione satellitare [__CONTROL__se-remote-view__]
se-respawn=Rinasci [__CONTROL__se-respawn__]
[tile-name]
se-space-platform-plating=Rivestimento piattaforma spaziale
se-space-platform-scaffold=Impalcatura piattaforma spaziale
se-space-platform-underlay=Spazio
se-space-platform-underlay-l=Spazio
se-space-platform-underlay-r=Spazio
se-space=Spazio vuoto
se-regolith=Regolite
se-asteroid=Asteroide
se-spaceship-floor=Pavimento astronave
[mod-setting-name]
se-meteor-interval=Intervallo meteoriti
se-plague-max-runtime=Durata massima della piaga
se-planets=Numero di pianeti
se-planet-size=Area dei pianeti (da 1% a 10000%)
se-seed=Seme di generazione dei pianeti
se-skip-experimental-warning=Skip avvertimenti sperimentali
se-print-meteor-info=Stampa allerta meteorite in console
se-space-pipe-capacity=Capacità tubo spaziale
se-electric-boiler=Boiler elettrico
[mod-setting-description]
se-meteor-interval=È l'intervallo base in minuti tra le piogge di meteoriti. Dopo ogni impatto, i prossimi meteoriti che colpiranno vengono impostati tra un numero random (in minuti) tra 1 e questo valore.
se-plague-max-runtime=Il tempo massimo di durata delle armi biologiche. Dopo che ogni Piaga è stata utilizzata per questo tempo, ogni particella, albero e nemico verrà distrutto.
se-planets=Non cambiare il valore durante la partita.
se-planet-size=Non cambiare il valore durante la partita.
se-seed=Non cambiare il valore durante la partita.
se-skip-experimental-warning=L'avviso di inizio di una nuova partita non apparirà e non verrai avvisato se i messaggi cambieranno.
se-print-meteor-info=Ti abilita a vedere gli avvisi in console dopo che l'avviso principale è scomparso, premendo __CONTROL__toggle-console__ key.
se-space-pipe-capacity=La capacità dei tubi spaziali
se-electric-boiler=Aggiunge un boiler elettrico al gioco
[autoplace-control-names]
planet-size=Dimensione pianeta
se-water-ice=Acqua ghiacciata (Solo nello spazio, i cursori non hanno effetto)
se-methane-ice=Metano ghiacciato (Solo nello spazio, i cursori non hanno effetto)

1649
space-exploration_0.5.80/space-exploration/locale/ja/strings.cfg

File diff suppressed because it is too large

2111
space-exploration_0.5.80/space-exploration/locale/ko/strings.cfg

File diff suppressed because one or more lines are too long

2073
space-exploration_0.5.80/space-exploration/locale/pl/strings.cfg

File diff suppressed because one or more lines are too long

2277
space-exploration_0.5.80/space-exploration/locale/pt-BR/strings.cfg

File diff suppressed because it is too large

2374
space-exploration_0.5.80/space-exploration/locale/ru/strings.cfg

File diff suppressed because one or more lines are too long

2374
space-exploration_0.5.80/space-exploration/locale/tr/strings.cfg

File diff suppressed because one or more lines are too long

2375
space-exploration_0.5.80/space-exploration/locale/zh-CN/strings.cfg

File diff suppressed because one or more lines are too long

3
space-exploration_0.5.80/space-exploration/lua-style.cfg

@ -0,0 +1,3 @@
indent_width: 2
column_limit: 120
continuation_indent_width: 2

10
space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.1.146.json

@ -0,0 +1,10 @@
{
"item":
[
["se-quantumn-phenomenon-data", "se-quantum-phenomenon-data"]
],
"recipe":
[
["se-quantumn-phenomenon-data", "se-quantum-phenomenon-data"]
]
}

6
space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.1.64.json

@ -0,0 +1,6 @@
{
"technology":
[
["se-spaceship-supersize", "se-factory-spaceship-1"]
]
}

8
space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.1.8.json

@ -0,0 +1,8 @@
{
"tile":
[
["se-space-platform-underlay", "se-space"],
["se-space-platform-underlay-l", "se-space"],
["se-space-platform-underlay-r", "se-space"]
]
}

14
space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.2.5.json

@ -0,0 +1,14 @@
{
"item":
[
["se-core-fragment-processor", "se-pulveriser"]
],
"recipe":
[
["se-core-fragment-processor", "se-pulveriser"]
],
"entity":
[
["se-core-fragment-processor", "se-pulveriser"]
]
}

8
space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.2.7.lua

@ -0,0 +1,8 @@
-- move all drills down by 1 pixel so that the animation is on top
for _, surface in pairs(game.surfaces) do
for _, entity in pairs(surface.find_entities_filtered{name="se-core-miner-drill"}) do
entity.teleport({x = entity.position.x, y = entity.position.y + 1/32})
local e = entity.surface.find_entity("se-core-miner", entity.position)
if e then e.direction = entity.direction end
end
end

16
space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.3.126.lua

@ -0,0 +1,16 @@
-- fixing "launching_to_destiantion" spelling error in prior launchpad.lua code causes a crash on a save prior to this one during which a rocket is launched, this aims to fix that
if global.rocket_launch_pads then
for _, struct in pairs(global.rocket_launch_pads) do
if struct.launching_to_destiantion then
struct.launching_to_destination = struct.launching_to_destiantion
end
end
end
if global.tick_tasks then
for _, tick_task in pairs(global.tick_tasks) do
if tick_task.launching_to_destiantion then
tick_task.launching_to_destination = tick_task.launching_to_destiantion
end
end
end

6
space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.3.13.json

@ -0,0 +1,6 @@
{
"technology":
[
["se-space-solar-panel-adv", "se-space-solar-panel-2"]
]
}

20
space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.3.130.json

@ -0,0 +1,20 @@
{
"item":
[
["se-nano-material", "se-nanomaterial"],
["se-enriched-naquium", "se-naquium-cube"],
["se-universal-catalogue", "se-deep-catalogue-1"],
["se-deep-space-science-pack", "se-deep-space-science-pack-1"]
],
"recipe":
[
["se-nano-material", "se-nanomaterial"],
["se-deep-space-science-pack", "se-deep-space-science-pack-1"]
],
"technology":
[
["se-nano-material", "se-nanomaterial"],
["se-deep-space-science-pack", "se-deep-space-science-pack-1"],
["se-deep-space-science-pack-enriched", "se-deep-space-science-pack-1"]
]
}

53
space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.3.21.json

@ -0,0 +1,53 @@
{
"item":
[
["se-orbital-data", "se-machine-learning-data"],
["se-exotic-singularity-data", "se-singularity-data"],
["se-gravimetric-observation-data", "se-astrometric-data"],
["se-gravity-wave-observation-data", "se-gravity-wave-data"],
["se-gravimetric-test-data", "se-gravitational-lensing-data"],
["se-nano-hot-thermodynamics-data", "se-experimental-alloys-data"],
["se-nano-cold-thermodynamics-data", "se-electrical-shielding-data"],
["se-nano-compressive-strength-data", "se-laser-shielding-data"],
["se-nano-tensile-strength-data", "se-particle-beam-shielding-data"],
["se-plasma-thermodynamics-data", "se-rigidity-data"],
["se-plasma-electrodynamics-data", "se-electromagnetic-field-data"],
["se-gammaray-test-data", "se-lepton-data"],
["se-exotic-fission-data", "se-fusion-test-data"],
["se-ion-spectrometry-data", "se-polarisation-data"],
["se-bio-spectral-data", "se-biomechanical-data"],
["se-material-decay-data", "se-corrosion-resistance-data"],
["se-material-spectral-data", "se-rigidity-data"],
["se-experimental-material-decay-data", "se-electrical-shielding-data"],
["se-experimental-material-spectral-data", "se-ballistic-shielding-data"],
["se-astronomic-science-pack", "se-astronomic-science-pack-1"],
["se-biological-science-pack", "se-biological-science-pack-1"],
["se-material-science-pack", "se-material-science-pack-1"],
["se-energy-science-pack", "se-energy-science-pack-1"]
],
"recipe":
[
["se-orbital-data", "se-machine-learning-data"],
["se-exotic-singularity-data", "se-singularity-data"],
["se-gravimetric-observation-data", "se-gravitational-lensing-data"],
["se-gravity-wave-observation-data", "se-gravity-wave-data"],
["se-astronomic-science-pack", "se-astronomic-science-pack-1"],
["se-biological-science-pack", "se-biological-science-pack-1"],
["se-material-science-pack", "se-material-science-pack-1"],
["se-energy-science-pack", "se-energy-science-pack-1"]
],
"technology":
[
["se-astronomic-science-pack", "se-astronomic-science-pack-1"],
["se-biological-science-pack", "se-biological-science-pack-1"],
["se-material-science-pack", "se-material-science-pack-1"],
["se-energy-science-pack", "se-energy-science-pack-1"]
]
}

22
space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.3.32.json

@ -0,0 +1,22 @@
{
"entity":
[
["se-space-recycling-facility", "se-recycling-facility"],
["se-space-lifesupport-facility", "se-lifesupport-facility"]
],
"item":
[
["se-space-recycling-facility", "se-recycling-facility"],
["se-space-lifesupport-facility", "se-lifesupport-facility"]
],
"recipe":
[
["se-space-recycling-facility", "se-recycling-facility"],
["se-space-lifesupport-facility", "se-lifesupport-facility"]
],
"technology":
[
["se-space-recycling-facility", "se-recycling-facility"],
["se-space-lifesupport-facility", "se-lifesupport-facility"]
]
}

12
space-exploration_0.5.80/space-exploration/migrations/space-exploration.0.5.1.json

@ -0,0 +1,12 @@
{
"item":
[
["railgun", "se-railgun"],
["railgun-dart", "se-railgun-ammo"]
],
"recipe":
[
["railgun", "se-railgun"],
["railgun-dart", "se-railgun-ammo"]
]
}

10
space-exploration_0.5.80/space-exploration/migrations/space-exploration0.0.3.45.json

@ -0,0 +1,10 @@
{
"recipe":
[
["se-radiating-space-coolant-veryslow", "se-radiating-space-coolant-slow"]
],
"technology":
[
["se-space-radiating-1", "se-space-radiating-efficiency"]
]
}

105
space-exploration_0.5.80/space-exploration/prototypes/phase-1/categories.lua

@ -0,0 +1,105 @@
local data_util = require("data_util")
-- NOTE: space- prefix categories should ONLY be available in space
-- otherwise add a non-prefixed version
local crafting_categories = {
"arcosphere",
"condenser-turbine",
"big-turbine",
"delivery-cannon",
"delivery-cannon-weapon",
"fixed-recipe", -- generic group for anything with a fixed recipe, not chosen by player
"fuel-refining",
"core-fragment-processing",
"lifesupport", -- same as "space-lifesupport" but can be on land
"nexus",
"pulverising",
"hard-recycling", -- no conflict with "recycling"
"hand-hard-recycling", -- no conflict with "recycling"
"se-electric-boiling", -- needs to be SE specific otherwise energy values will be off
"space-accelerator",
"space-astrometrics",
"space-biochemical",
"space-collider",
"space-crafting", -- same as basic assembling but only in space
"space-decontamination",
"space-electromagnetics",
"space-materialisation",
"space-genetics",
"space-gravimetrics",
"space-growth",
"space-hypercooling",
"space-laser",
"space-lifesupport", -- same as "lifesupport" but can only be in space
"space-manufacturing",
"space-mechanical",
"space-observation-gammaray",
"space-observation-xray",
"space-observation-uv",
"space-observation-visible",
"space-observation-infrared",
"space-observation-microwave",
"space-observation-radio",
"space-plasma",
"space-radiation",
"space-radiator",
"space-hard-recycling", -- no conflict with "recycling"
"space-research",
"space-spectrometry",
"space-supercomputing-1",
"space-supercomputing-2",
"space-supercomputing-3",
"space-supercomputing-4",
"space-thermodynamics",
"spaceship-console",
"spaceship-antimatter-engine",
"spaceship-ion-engine",
"spaceship-rocket-engine",
"pressure-washing",
"dummy",
"no-category" -- has no recipes
}
for _, name in pairs(crafting_categories) do
data:extend({
{ type = "recipe-category", name = name },
{
type = "item-subgroup",
name = name,
group = "intermediate-products", --group = "space",
order = "z-b-"..name
},
})
end
-- table.insert(data.raw.character.character.crafting_categories, "lifesupport") -- too many fluid recipes
data:extend({
{
type = "fuel-category",
name = "antimatter"
},
{
type = "resource-category",
name = "hard-resource",
},
{
type = "resource-category",
name = data_util.mod_prefix .. "core-mining",
},
{
type = "ammo-category",
name = "weapons-delivery-cannon",
bonus_gui_order = "z",
},
})
for _, tech in pairs(data.raw.technology) do
if tech.effects then
for _, effect in pairs(tech.effects) do
if (effect.type == "ammo-damage" or effect.type == "gun-speed") and effect.ammo_category == "bullet" then
local c = table.deepcopy(effect)
c.ammo_category = "railgun"
table.insert(tech.effects, c)
end
end
end
end

1052
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/antimatter-reactor.lua

File diff suppressed because it is too large

358
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/arcosphere.lua

@ -0,0 +1,358 @@
local data_util = require("data_util")
--[[
α alpha
β beta
γ gamma
δ delta
ε epsilon
ζ zeta
η eta
θ theta
λ la(m)bda
ξ xi
φ phi
ψ psi
ω omega
δ delta
ε epsilon
ζ zeta
θ theta
λ lambda
ξ xi
φ phi
ω omega
Ζ Zeta
Θ theta
Ω omega
Φ phi
Σ sigma
Λ Lambda
translation
rotation
reflection
dialation
transformation
inversion
substitution
superposition
Apex
Omega
Ruby
Saphire
Emerald
Topaz
Amber
Citrine
Amethyst
Quartz
γ gamma
ζ zeta
ξ xi
φ phi
ψ psi
ω omega
θ theta
λ lambda
]]
local arcosphere_variants = {
{ number = 1, letter = "a", sign = "l", character = "λ", name = "lambda"},
{ number = 2, letter = "b", sign = "x", character = "ξ", name = "xi"},
{ number = 3, letter = "c", sign = "z", character = "ζ", name = "zeta"},
{ number = 4, letter = "d", sign = "t", character = "θ", name = "theta"},
{ number = 5, letter = "e", sign = "e", character = "ε", name = "epsilon"},
{ number = 6, letter = "f", sign = "f", character = "φ", name = "phi"},
{ number = 7, letter = "g", sign = "g", character = "γ", name = "gamma"},
{ number = 8, letter = "h", sign = "o", character = "ω", name = "omega"},
}
data:extend({
{
type = "technology",
name = data_util.mod_prefix .. "arcosphere",
effects = {
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "arcosphere-collector", },
},
icon = "__space-exploration-graphics__/graphics/technology/arcosphere.png",
icon_size = 128,
order = "e-g",
prerequisites = {
data_util.mod_prefix .. "deep-space-science-pack-2",
},
unit = {
count = "200",
time = 60,
ingredients = {
{ data_util.mod_prefix .. "deep-space-science-pack-2", 1 },
}
},
},
{
type = "technology",
name = data_util.mod_prefix .. "arcosphere-folding",
effects = {
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "arcosphere-fracture", },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "arcosphere-fracture-alt", },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "arcosphere-fold-in", },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "arcosphere-fold-out", },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "arcosphere-fold-a", },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "arcosphere-fold-b", },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "arcosphere-fold-c", },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "arcosphere-fold-d", },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "arcosphere-fold-e", },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "arcosphere-fold-f", },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "arcosphere-fold-g", },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "arcosphere-fold-h", },
},
icon = "__space-exploration-graphics__/graphics/technology/arcosphere.png",
icon_size = 128,
order = "e-g",
prerequisites = {
data_util.mod_prefix .. "arcosphere",
},
unit = {
count = "400",
time = 60,
ingredients = {
{ data_util.mod_prefix .. "deep-space-science-pack-2", 1 },
}
},
},
{
type = "item",
name = data_util.mod_prefix .. "arcosphere-collector",
icons = {
{ icon = "__space-exploration-graphics__/graphics/icons/satellite.png", icon_size = 64 },
{ icon = "__space-exploration-graphics__/graphics/icons/satellite-mask.png", icon_size = 64, tint = {r=0.9,g=8,b=0.9}},
},
icon_size = 64,
order = "a-a",
subgroup = "arcosphere",
stack_size = 1,
rocket_launch_product = { data_util.mod_prefix .. "arcosphere", 0}
},
{
type = "recipe",
name = data_util.mod_prefix .. "arcosphere-collector",
main_product = data_util.mod_prefix .. "arcosphere-collector",
category = "space-manufacturing",
subgroup = "arcosphere",
enabled = false,
energy_required = 60,
ingredients = {
{ name = "laser-turret", amount = 2},
{ name = data_util.mod_prefix .. "dynamic-emitter", amount = 2},
{ name = data_util.mod_prefix .. "quantum-processor", amount = 10},
{ name = data_util.mod_prefix .. "naquium-cube", amount = 10},
{ name = data_util.mod_prefix .. "antimatter-canister", amount = 10, catalyst_amount = 10},
{ name = data_util.mod_prefix .. "aeroframe-bulkhead", amount = 50},
},
results = {
{ data_util.mod_prefix .. "arcosphere-collector", 1 },
{ name = data_util.mod_prefix .. "magnetic-canister", amount = 10, catalyst_amount = 10},
},
requester_paste_multiplier = 1,
icon_size = 64,
},
{
type = "item",
name = data_util.mod_prefix .. "arcosphere",
icon = "__space-exploration-graphics__/graphics/icons/dss/ns-0.png",
icon_size = 64,
order = "a-b",
subgroup = "arcosphere",
stack_size = 1,
},
{
type = "recipe",
name = data_util.mod_prefix .. "arcosphere-fracture",
category = "arcosphere",
subgroup = "arcosphere",
enabled = false,
energy_required = 60,
ingredients = {
{ data_util.mod_prefix .. "arcosphere", 4 },
},
results = {
{ data_util.mod_prefix .. "arcosphere-a", 1 },
{ data_util.mod_prefix .. "arcosphere-b", 0 },
{ data_util.mod_prefix .. "arcosphere-c", 1 },
{ data_util.mod_prefix .. "arcosphere-d", 0 },
{ data_util.mod_prefix .. "arcosphere-e", 1 },
{ data_util.mod_prefix .. "arcosphere-f", 0 },
{ data_util.mod_prefix .. "arcosphere-g", 1 },
{ data_util.mod_prefix .. "arcosphere-h", 0 },
},
requester_paste_multiplier = 1,
icon = "__space-exploration-graphics__/graphics/icons/dss/ns-0.png",
icon_size = 64,
always_show_made_in = true,
localised_description = {"space-exploration.arcosphere-random"}
},
{
type = "recipe",
name = data_util.mod_prefix .. "arcosphere-fracture-alt",
category = "arcosphere",
subgroup = "arcosphere",
enabled = false,
energy_required = 60,
ingredients = {
{ data_util.mod_prefix .. "arcosphere", 4 },
},
results = {
{ data_util.mod_prefix .. "arcosphere-a", 0 },
{ data_util.mod_prefix .. "arcosphere-b", 1 },
{ data_util.mod_prefix .. "arcosphere-c", 0 },
{ data_util.mod_prefix .. "arcosphere-d", 1 },
{ data_util.mod_prefix .. "arcosphere-e", 0 },
{ data_util.mod_prefix .. "arcosphere-f", 1 },
{ data_util.mod_prefix .. "arcosphere-g", 0 },
{ data_util.mod_prefix .. "arcosphere-h", 1 },
},
requester_paste_multiplier = 1,
icon = "__space-exploration-graphics__/graphics/icons/dss/ns-0.png",
icon_size = 64,
always_show_made_in = true,
localised_name = {"recipe-name."..data_util.mod_prefix .. "arcosphere-fracture"},
localised_description = {"space-exploration.arcosphere-random"}
}
})
for _, arcosphere_variant in pairs(arcosphere_variants) do
data:extend({{
type = "item",
name = data_util.mod_prefix .. "arcosphere-"..arcosphere_variant.letter,
icon = "__space-exploration-graphics__/graphics/icons/dss/ns-"..arcosphere_variant.letter..".png", -- used for recipe
icon_size = 64,
icons = { -- overrides icon
{ icon = "__space-exploration-graphics__/graphics/icons/dss/ns-"..arcosphere_variant.letter..".png", icon_size = 64 },
{ icon = "__space-exploration-graphics__/graphics/icons/dss/"..arcosphere_variant.name..".png", icon_size = 64 },
},
pictures = {
{
filename = "__space-exploration-graphics__/graphics/icons/dss/ns-"..arcosphere_variant.letter..".png",
scale = 0.25,
size = 64
},
},
order = "j-"..arcosphere_variant.letter,
subgroup = "arcosphere",
stack_size = 1,
}})
end
local function make_recipe(name, from_high, from_low, to_high, to_low)
local a = data.raw.item[data_util.mod_prefix .. "arcosphere-"..arcosphere_variants[from_high].letter]
local b = data.raw.item[data_util.mod_prefix .. "arcosphere-"..arcosphere_variants[from_low].letter]
local c = data.raw.item[data_util.mod_prefix .. "arcosphere-"..arcosphere_variants[to_high].letter]
local d = data.raw.item[data_util.mod_prefix .. "arcosphere-"..arcosphere_variants[to_low].letter]
data:extend({
{
type = "recipe",
name = name,
category = "arcosphere",
subgroup = "arcosphere",
results = {
{ data_util.mod_prefix .. "arcosphere-"..arcosphere_variants[to_high].letter, 1 },
{ data_util.mod_prefix .. "arcosphere-"..arcosphere_variants[to_low].letter, 1 },
},
enabled = false,
energy_required = 10,
ingredients = {
{ data_util.mod_prefix .. "arcosphere-"..arcosphere_variants[from_high].letter, 1 },
{ data_util.mod_prefix .. "arcosphere-"..arcosphere_variants[from_low].letter, 1 },
},
requester_paste_multiplier = 1,
always_show_products = false,
allow_decomposition = false,
always_show_made_in = true,
icons = {
{ icon = "__space-exploration-graphics__/graphics/blank.png", scale = 1, shift = {0, 0}, icon_size = 64 }, -- to lock scale
{ icon = a.icon, scale = 0.33, shift = {-4, -16}, icon_size = 64 },
{ icon = b.icon, scale = 0.33, shift = {16, -16}, icon_size = 64 },
{ icon = c.icon, scale = 0.33, shift = {-16, 16}, icon_size = 64 },
{ icon = d.icon, scale = 0.33, shift = {4, 16}, icon_size = 64 },
{ icon = "__space-exploration-graphics__/graphics/icons/transition-arrow.png", scale = 1, shift = {0, 0}, icon_size = 64 }, -- to overlay
},
localised_name = {"recipe-name.se-arcosphere-folding",
arcosphere_variants[from_high].character,
arcosphere_variants[from_low].character,
arcosphere_variants[to_high].character,
arcosphere_variants[to_low].character}
}
})
end
make_recipe(data_util.mod_prefix .. "arcosphere-fold-a", 8, 1, 2, 4)
make_recipe(data_util.mod_prefix .. "arcosphere-fold-b", 7, 2, 3, 1)
make_recipe(data_util.mod_prefix .. "arcosphere-fold-c", 2, 3, 4, 6)
make_recipe(data_util.mod_prefix .. "arcosphere-fold-d", 1, 4, 5, 3)
make_recipe(data_util.mod_prefix .. "arcosphere-fold-e", 4, 5, 6, 8)
make_recipe(data_util.mod_prefix .. "arcosphere-fold-f", 3, 6, 7, 5)
make_recipe(data_util.mod_prefix .. "arcosphere-fold-g", 6, 7, 8, 2)
make_recipe(data_util.mod_prefix .. "arcosphere-fold-h", 5, 8, 1, 7)
data:extend({
{
type = "recipe",
name = data_util.mod_prefix .. "arcosphere-fold-in",
category = "arcosphere",
subgroup = "arcosphere",
results = {
{ data_util.mod_prefix .. "arcosphere-a", 1 },
{ data_util.mod_prefix .. "arcosphere-b", 1 },
{ data_util.mod_prefix .. "arcosphere-e", 1 },
{ data_util.mod_prefix .. "arcosphere-f", 1 },
},
enabled = false,
energy_required = 100,
ingredients = {
{ data_util.mod_prefix .. "arcosphere-c", 1 },
{ data_util.mod_prefix .. "arcosphere-d", 1 },
{ data_util.mod_prefix .. "arcosphere-g", 1 },
{ data_util.mod_prefix .. "arcosphere-h", 1 },
},
requester_paste_multiplier = 1,
always_show_products = false,
allow_decomposition = false,
always_show_made_in = true,
icon = "__space-exploration-graphics__/graphics/icons/dss/ns-0.png",
icon_size = 64
},
{
type = "recipe",
name = data_util.mod_prefix .. "arcosphere-fold-out",
category = "arcosphere",
subgroup = "arcosphere",
results = {
{ data_util.mod_prefix .. "arcosphere-c", 1 },
{ data_util.mod_prefix .. "arcosphere-d", 1 },
{ data_util.mod_prefix .. "arcosphere-g", 1 },
{ data_util.mod_prefix .. "arcosphere-h", 1 },
},
enabled = false,
energy_required = 100,
ingredients = {
{ data_util.mod_prefix .. "arcosphere-a", 1 },
{ data_util.mod_prefix .. "arcosphere-b", 1 },
{ data_util.mod_prefix .. "arcosphere-e", 1 },
{ data_util.mod_prefix .. "arcosphere-f", 1 },
},
requester_paste_multiplier = 1,
always_show_products = false,
allow_decomposition = false,
always_show_made_in = true,
icon = "__space-exploration-graphics__/graphics/icons/dss/ns-0.png",
icon_size = 64
}
})

975
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/big-heat-exchanger.lua

@ -0,0 +1,975 @@
local data_util = require("data_util")
local make_recipe = data_util.make_recipe
local pipe_tint = {r = 0.8, b=1, g=0.8}
local glow_tint = {r = 0.5, b=1, g=0.5}
data.raw["heat-interface"]["heat-interface"].heat_buffer.max_temperature = 10000 --For testing 5000C heat exchangers.
data:extend({
{
type = "item",
name = data_util.mod_prefix .. "big-heat-exchanger",
icon = "__space-exploration-graphics__/graphics/icons/big-heat-exchanger.png",
icon_size = 64,
order = "d[fluid-burner-generator]-a",
subgroup = "energy",
stack_size = 50,
place_result = data_util.mod_prefix .. "big-heat-exchanger",
},
{
type = "recipe",
name = data_util.mod_prefix .. "big-heat-exchanger",
result = data_util.mod_prefix .. "big-heat-exchanger",
enabled = false,
energy_required = 30,
ingredients = {
{ data_util.mod_prefix .. "lattice-pressure-vessel", 10 },
{ data_util.mod_prefix .. "nanomaterial", 10 },
{ data_util.mod_prefix .. "space-pipe", 50 },
{ data_util.mod_prefix .. "heavy-composite", 20 },
{ data_util.mod_prefix .. "heat-shielding", 50 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "technology",
name = data_util.mod_prefix .. "big-heat-exchanger",
effects = {
{
type = "unlock-recipe",
recipe = data_util.mod_prefix .. "big-heat-exchanger",
},
},
icon = "__space-exploration-graphics__/graphics/technology/big-heat-exchanger.png",
icon_size = 128,
order = "e-g",
prerequisites = {
data_util.mod_prefix .. "lattice-pressure-vessel",
data_util.mod_prefix .. "nanomaterial",
},
unit = {
count = 500,
time = 60,
ingredients = {
{ "automation-science-pack", 1 },
{ "logistic-science-pack", 1 },
{ "chemical-science-pack", 1 },
{ "production-science-pack", 1 },
{ data_util.mod_prefix .. "rocket-science-pack", 1 },
{ data_util.mod_prefix .. "astronomic-science-pack-4", 1 },
{ data_util.mod_prefix .. "biological-science-pack-4", 1 },
{ data_util.mod_prefix .. "material-science-pack-4", 1 },
{ data_util.mod_prefix .. "energy-science-pack-4", 1 },
}
},
},
{
type = "boiler",
name = data_util.mod_prefix .. "big-heat-exchanger",
icon = "__space-exploration-graphics__/graphics/icons/big-heat-exchanger.png",
icon_mipmaps = 1,
icon_size = 64,
burning_cooldown = 20,
collision_box = {{-2.3,-2.3},{2.3,2.3}},
selection_box = {{-2.5,-2.5},{2.5,2.5}},
drawing_box = {{-3.0,-4.0},{3.0,3.0}},
corpse = "heat-exchanger-remnants",
damaged_trigger_effect = {
entity_name = "spark-explosion",
offset_deviation = {
{
-0.5,
-0.5
},
{
0.5,
0.5
}
},
offsets = {
{
0,
1
}
},
type = "create-entity"
},
dying_explosion = "heat-exchanger-explosion",
energy_consumption = "560MW",
energy_source = {
connections = {
{
direction = 4,
position = {
0,
2
}
}
},
heat_glow = {
east = {
filename = "__base__/graphics/entity/heat-exchanger/heatex-E-glow.png",
height = 62,
priority = "extra-high",
shift = {
-0.6875-1.5,
-0.375-0.5
},
width = 60
},
north = {
filename = "__base__/graphics/entity/heat-exchanger/heatex-N-glow.png",
height = 70,
priority = "extra-high",
shift = {
0,
0.25+1
},
tint = {
b = 0.75,
g = 0.85,
r = 1
},
width = 38
},
south = {
filename = "__base__/graphics/entity/heat-exchanger/heatex-S-glow.png",
height = 40,
priority = "extra-high",
shift = {
0,
-1.125-1
},
tint = nil,
width = 38
},
west = {
filename = "__base__/graphics/entity/heat-exchanger/heatex-W-glow.png",
height = 64,
priority = "extra-high",
shift = {
0.625+1.5,
-0.375-0.5
},
width = 60
}
},
heat_picture = {
east = {
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/sr/east_heated.png",
frame_count = 1,
line_length = 1,
width = 128/2,
height = 128/2,
shift = {-2,-0.5},
tint = glow_tint,
blend_mode = "additive",
hr_version = {
tint = glow_tint,
blend_mode = "additive",
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/hr/east_heated.png",
frame_count = 1,
line_length = 1,
width = 128,
height = 128,
shift = {-2,-0.5},
scale = 0.5,
},
},
north = {
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/sr/north_heated.png",
frame_count = 1,
line_length = 1,
width = 64/2,
height = 160/2,
shift = {0,1.25},
tint = glow_tint,
blend_mode = "additive",
hr_version = {
tint = glow_tint,
blend_mode = "additive",
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/hr/north_heated.png",
frame_count = 1,
line_length = 1,
width = 64,
height = 160,
shift = {0,1.25},
scale = 0.5,
},
},
south = {
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/sr/south_heated.png",
frame_count = 1,
line_length = 1,
width = 64/2,
height = 64/2,
shift = {0,-2.5},
tint = glow_tint,
blend_mode = "additive",
hr_version = {
tint = glow_tint,
blend_mode = "additive",
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/hr/south_heated.png",
frame_count = 1,
line_length = 1,
width = 64,
height = 64,
shift = {0,-2.5},
scale = 0.5,
},
},
west = {
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/sr/west_heated.png",
frame_count = 1,
line_length = 1,
width = 128/2,
height = 128/2,
shift = {2,-0.5},
tint = glow_tint,
blend_mode = "additive",
hr_version = {
tint = glow_tint,
blend_mode = "additive",
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/hr/west_heated.png",
frame_count = 1,
line_length = 1,
width = 128,
height = 128,
shift = {2,-0.5},
scale = 0.5,
},
},
},
heat_pipe_covers = {
east = {
filename = "__base__/graphics/entity/heat-exchanger/heatex-endings-heated.png",
frame_count = 1,
height = 32,
tint = glow_tint,
blend_mode = "additive",
hr_version = {
tint = glow_tint,
blend_mode = "additive",
filename = "__base__/graphics/entity/heat-exchanger/hr-heatex-endings-heated.png",
frame_count = 1,
height = 64,
priority = "high",
scale = 0.5,
width = 64,
x = 64,
y = 0
},
priority = "high",
scale = 1,
width = 32,
x = 32,
y = 0
},
north = {
filename = "__base__/graphics/entity/heat-exchanger/heatex-endings-heated.png",
frame_count = 1,
height = 32,
tint = glow_tint,
blend_mode = "additive",
hr_version = {
tint = glow_tint,
blend_mode = "additive",
filename = "__base__/graphics/entity/heat-exchanger/hr-heatex-endings-heated.png",
frame_count = 1,
height = 64,
priority = "high",
scale = 0.5,
width = 64,
x = 0,
y = 0
},
priority = "high",
scale = 1,
width = 32,
x = 0,
y = 0
},
south = {
filename = "__base__/graphics/entity/heat-exchanger/heatex-endings-heated.png",
frame_count = 1,
height = 32,
tint = glow_tint,
blend_mode = "additive",
hr_version = {
tint = glow_tint,
blend_mode = "additive",
filename = "__base__/graphics/entity/heat-exchanger/hr-heatex-endings-heated.png",
frame_count = 1,
height = 64,
priority = "high",
scale = 0.5,
width = 64,
x = 128,
y = 0
},
priority = "high",
scale = 1,
width = 32,
x = 64,
y = 0
},
west = {
filename = "__base__/graphics/entity/heat-exchanger/heatex-endings-heated.png",
frame_count = 1,
height = 32,
tint = glow_tint,
blend_mode = "additive",
hr_version = {
tint = glow_tint,
blend_mode = "additive",
filename = "__base__/graphics/entity/heat-exchanger/hr-heatex-endings-heated.png",
frame_count = 1,
height = 64,
priority = "high",
scale = 0.5,
width = 64,
x = 192,
y = 0
},
priority = "high",
scale = 1,
width = 32,
x = 96,
y = 0
}
},
max_temperature = 10000,
max_transfer = "2GW",
min_working_temperature = 5000,
minimum_glow_temperature = 350,
pipe_covers = {
east = {
filename = "__base__/graphics/entity/heat-exchanger/heatex-endings.png",
frame_count = 1,
height = 32,
hr_version = {
filename = "__base__/graphics/entity/heat-exchanger/hr-heatex-endings.png",
frame_count = 1,
height = 64,
priority = "high",
scale = 0.5,
width = 64,
x = 64,
y = 0
},
priority = "high",
scale = 1,
width = 32,
x = 32,
y = 0
},
north = {
filename = "__base__/graphics/entity/heat-exchanger/heatex-endings.png",
frame_count = 1,
height = 32,
hr_version = {
filename = "__base__/graphics/entity/heat-exchanger/hr-heatex-endings.png",
frame_count = 1,
height = 64,
priority = "high",
scale = 0.5,
width = 64,
x = 0,
y = 0
},
priority = "high",
scale = 1,
width = 32,
x = 0,
y = 0
},
south = {
filename = "__base__/graphics/entity/heat-exchanger/heatex-endings.png",
frame_count = 1,
height = 32,
hr_version = {
filename = "__base__/graphics/entity/heat-exchanger/hr-heatex-endings.png",
frame_count = 1,
height = 64,
priority = "high",
scale = 0.5,
width = 64,
x = 128,
y = 0
},
priority = "high",
scale = 1,
width = 32,
x = 64,
y = 0
},
west = {
filename = "__base__/graphics/entity/heat-exchanger/heatex-endings.png",
frame_count = 1,
height = 32,
hr_version = {
filename = "__base__/graphics/entity/heat-exchanger/hr-heatex-endings.png",
frame_count = 1,
height = 64,
priority = "high",
scale = 0.5,
width = 64,
x = 192,
y = 0
},
priority = "high",
scale = 1,
width = 32,
x = 96,
y = 0
}
},
specific_heat = "1MJ",
type = "heat"
},
fire = {},
fire_glow = {},
flags = {
"placeable-neutral",
"player-creation"
},
fluid_box = {
base_area = 10,
base_level = -1,
filter = "water",
height = 2,
pipe_connections = {
{
position = {
-3,
1
},
type = "input-output"
},
{
position = {
3,
1
},
type = "input-output"
}
},
pipe_covers = {
east = {
layers = {
{
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-east.png",
height = 64,
hr_version = {
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-east.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
},
{
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-east-shadow.png",
height = 64,
hr_version = {
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-east-shadow.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
}
}
},
north = {
layers = {
{
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-north.png",
height = 64,
hr_version = {
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-north.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
},
{
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-north-shadow.png",
height = 64,
hr_version = {
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-north-shadow.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
}
}
},
south = {
layers = {
{
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-south.png",
height = 64,
hr_version = {
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-south.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
},
{
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-south-shadow.png",
height = 64,
hr_version = {
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-south-shadow.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
}
}
},
west = {
layers = {
{
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-west.png",
height = 64,
hr_version = {
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-west.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
},
{
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-west-shadow.png",
height = 64,
hr_version = {
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-west-shadow.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
}
}
}
},
production_type = "input-output"
},
max_health = 500,
minable = {
mining_time = 0.1,
result = data_util.mod_prefix .. "big-heat-exchanger",
},
mode = "output-to-separate-pipe",
output_fluid_box = {
base_area = 10,
base_level = 1,
filter = "steam",
height = 2,
pipe_connections = {
{
position = {
0,
-3
},
type = "output"
}
},
pipe_covers = {
east = {
layers = {
{
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-east.png",
height = 64,
hr_version = {
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-east.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
},
{
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-east-shadow.png",
height = 64,
hr_version = {
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-east-shadow.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
}
}
},
north = {
layers = {
{
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-north.png",
height = 64,
hr_version = {
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-north.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
},
{
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-north-shadow.png",
height = 64,
hr_version = {
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-north-shadow.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
}
}
},
south = {
layers = {
{
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-south.png",
height = 64,
hr_version = {
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-south.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
},
{
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-south-shadow.png",
height = 64,
hr_version = {
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-south-shadow.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
}
}
},
west = {
layers = {
{
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-west.png",
height = 64,
hr_version = {
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-west.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
},
{
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/pipe-cover-west-shadow.png",
height = 64,
hr_version = {
draw_as_shadow = true,
filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-west-shadow.png",
height = 128,
priority = "extra-high",
scale = 0.5,
width = 128
},
priority = "extra-high",
width = 64
}
}
}
},
production_type = "output"
},
resistances = {
{
percent = 90,
type = "fire"
},
{
percent = 30,
type = "explosion"
},
{
percent = 30,
type = "impact"
}
},
structure = {
east = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/sr/east.png",
frame_count = 1,
line_length = 1,
width = 384/2,
height = 384/2,
shift = {0,-0.5},
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/hr/east.png",
frame_count = 1,
line_length = 1,
width = 384,
height = 384,
shift = {0,-0.5},
scale = 0.5,
},
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/sr/east_shadow.png",
frame_count = 1,
line_length = 1,
width = 512/2,
height = 352/2,
shift = {1,0.25},
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/hr/east_shadow.png",
frame_count = 1,
line_length = 1,
width = 512,
height = 352,
shift = {1,0.25},
scale = 0.5,
},
},
}
},
north = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/sr/north.png",
frame_count = 1,
line_length = 1,
width = 384/2,
height = 384/2,
shift = {0,-0.5},
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/hr/north.png",
frame_count = 1,
line_length = 1,
width = 384,
height = 384,
shift = {0,-0.5},
scale = 0.5,
},
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/sr/north_shadow.png",
frame_count = 1,
line_length = 1,
width = 512/2,
height = 320/2,
shift = {1.5,0.5},
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/hr/north_shadow.png",
frame_count = 1,
line_length = 1,
width = 512,
height = 320,
shift = {1.5,0.5},
scale = 0.5,
},
},
}
},
south = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/sr/south.png",
frame_count = 1,
line_length = 1,
width = 384/2,
height = 384/2,
shift = {0,-0.5},
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/hr/south.png",
frame_count = 1,
line_length = 1,
width = 384,
height = 384,
shift = {0,-0.5},
scale = 0.5,
},
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/sr/south_shadow.png",
frame_count = 1,
line_length = 1,
width = 512/2,
height = 256/2,
shift = {1.5,0.5},
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/hr/south_shadow.png",
frame_count = 1,
line_length = 1,
width = 512,
height = 256,
shift = {1.5,0.5},
scale = 0.5,
},
},
}
},
west = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/sr/west.png",
frame_count = 1,
line_length = 1,
width = 384/2,
height = 384/2,
shift = {0,-0.5},
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/hr/west.png",
frame_count = 1,
line_length = 1,
width = 384,
height = 384,
shift = {0,-0.5},
scale = 0.5,
},
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/sr/west_shadow.png",
frame_count = 1,
line_length = 1,
width = 448/2,
height = 352/2,
shift = {1,0.25},
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-heat-exchanger/hr/west_shadow.png",
frame_count = 1,
line_length = 1,
width = 448,
height = 352,
shift = {1,0.25},
scale = 0.5,
},
},
}
}
},
target_temperature = 5000,
vehicle_impact_sound = {
{
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-2.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-3.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-4.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-5.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-6.ogg",
volume = 0.5
}
},
water_reflection = {
orientation_to_variation = true,
pictures = {
filename = "__base__/graphics/entity/boiler/boiler-reflection.png",
height = 32,
priority = "extra-high",
scale = 5,
shift = {
0.15625,
0.9375
},
variation_count = 4,
width = 28
},
rotate = false
},
working_sound = {
fade_in_ticks = 10,
fade_out_ticks = 30,
max_sounds_per_type = 3,
sound = {
filename = "__base__/sound/boiler.ogg",
volume = 0.8
}
}
}
})
local he = data.raw.boiler[data_util.mod_prefix .. "big-heat-exchanger"]
data_util.tint_recursive(he.energy_source.pipe_covers, pipe_tint)
data_util.tint_recursive(he.energy_source.heat_pipe_covers, glow_tint)
data_util.blend_mode_recursive(he.energy_source.heat_pipe_covers, "additive")

565
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/big-turbine.lua

@ -0,0 +1,565 @@
local data_util = require("data_util")
--[[
fluid box connections don't need to line up just find the right entity.
furnace is the placed entity, short but wide, outputs at front
Outpts piped heat to the turbine
turbine ies long and thin, collects from side
has a connection top and right
always goes on the bottom or left
move horizontal version down 1 pixel so animation shows
if the turbine is aove the the animation won't work
make sure furnace has outputs at both lockations
]]--
local selectable = false
local fan = {
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/sr/fan.png",
frame_count = 4,
line_length = 4,
width = 656/4/2,
height = 116/2,
run_mode = "backward",
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/hr/fan.png",
frame_count = 4,
line_length = 4,
width = 656/4,
height = 116,
run_mode = "backward",
scale = 0.5,
},
}
local fan_shifts = {
north = util.by_pixel(0, -56),
south = util.by_pixel(0, -69),
east = util.by_pixel(-11, -64),
west = util.by_pixel(12, -64)
}
local fan_north = table.deepcopy(fan)
data_util.shift_recursive(fan_north, fan_shifts["north"])
local fan_south = table.deepcopy(fan)
data_util.shift_recursive(fan_south, fan_shifts["south"])
local fan_east = table.deepcopy(fan)
data_util.shift_recursive(fan_east, fan_shifts["east"])
local fan_west = table.deepcopy(fan)
data_util.shift_recursive(fan_west, fan_shifts["west"])
local blank_image = {
filename = "__space-exploration-graphics__/graphics/blank.png",
width = 1,
height = 1,
frame_count = 1,
line_length = 1,
shift = { 0, 0 },
}
local length = 10
local width = 7
data:extend({
{
type = "recipe",
name = data_util.mod_prefix .. "big-turbine-internal",
icon = "__space-exploration-graphics__/graphics/icons/fluid/water.png",
icon_size = 64,
order = "a",
subgroup = "spaceship-process",
energy_required = 4/60, -- try to get craft time in line with generator fluid consumption
category = "big-turbine",
ingredients =
{
{type="fluid", name="steam", amount=100, minimum_temperature = 5000},
},
results = {
{type="fluid", name="water", amount=78},
{type="fluid", name="steam", amount=21, temperature = 500},
{type="fluid", name=data_util.mod_prefix .. "decompressing-steam", amount=98, temperature = 5000},
},
hidden = true,
enabled = true,
allow_as_intermediate = false,
always_show_made_in = true,
},
{
type = "item",
name = data_util.mod_prefix .. "big-turbine",
icon = "__space-exploration-graphics__/graphics/icons/big-turbine.png",
icon_size = 64,
order = "d[fluid-burner-generator]-a",
subgroup = "energy",
stack_size = 50,
place_result = data_util.mod_prefix .. "big-turbine",
},
{
type = "recipe",
name = data_util.mod_prefix .. "big-turbine",
result = data_util.mod_prefix .. "big-turbine",
enabled = false,
energy_required = 60,
ingredients = {
{ data_util.mod_prefix .. "lattice-pressure-vessel", 10 },
{ data_util.mod_prefix .. "nanomaterial", 10 },
{ data_util.mod_prefix .. "heavy-assembly", 10 },
{ data_util.mod_prefix .. "space-pipe", 50 },
{ data_util.mod_prefix .. "heat-shielding", 50 },
{ data_util.mod_prefix .. "holmium-solenoid", 20 },
{ data_util.mod_prefix .. "superconductive-cable", 20 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "technology",
name = data_util.mod_prefix .. "big-turbine",
effects = {
{
type = "unlock-recipe",
recipe = data_util.mod_prefix .. "big-turbine",
},
},
icon = "__space-exploration-graphics__/graphics/technology/big-turbine.png",
icon_size = 128,
order = "e-g",
prerequisites = {
data_util.mod_prefix .. "big-heat-exchanger",
data_util.mod_prefix .. "heavy-assembly",
},
unit = {
count = 500,
time = 60,
ingredients = {
{ "automation-science-pack", 1 },
{ "logistic-science-pack", 1 },
{ "chemical-science-pack", 1 },
{ "production-science-pack", 1 },
{ data_util.mod_prefix .. "rocket-science-pack", 1 },
{ data_util.mod_prefix .. "astronomic-science-pack-4", 1 },
{ data_util.mod_prefix .. "biological-science-pack-4", 1 },
{ data_util.mod_prefix .. "material-science-pack-4", 1 },
{ data_util.mod_prefix .. "energy-science-pack-4", 1 },
}
},
},
{
type = "storage-tank",
name = data_util.mod_prefix .. "big-turbine-tank",
icon = "__space-exploration-graphics__/graphics/icons/big-turbine.png",
icon_size = 64,
flags = {"placeable-player", "player-creation", "not-deconstructable", "not-blueprintable"},
max_health = 500,
order = "zz",
collision_box = {{-1.5, -0.25},{1.5, 0.25}},
selection_box = {{-1.5, -0.25},{1.5, 0.25}},
collision_mask = {"not-colliding-with-itself"},
se_allow_in_space = true,
selectable_in_game = selectable,
selection_priority = 53,
fluid_box =
{
filter = data_util.mod_prefix .. "decompressing-steam",
base_area = 10, -- gets multiplied by 100 by engine
base_level = 0, -- pull fluid in
pipe_connections =
{
{ position = {0, -1} }, -- connects to generator
{ position = {1, -1} }, -- connects to furnace
{ position = {-1, -1} }, -- connects to furnace
},
},
window_bounding_box = {{-0.0, 0.0}, {0.0, 1.0}},
pictures = {
picture = blank_image,
window_background = blank_image,
fluid_background = blank_image,
flow_sprite = blank_image,
gas_flow = blank_image,
},
flow_length_in_ticks = 360,
circuit_wire_max_distance = 0
},
{
type = "generator",
name = data_util.mod_prefix .. "big-turbine-generator",
icon = "__space-exploration-graphics__/graphics/icons/big-turbine.png",
icon_size = 64,
alert_icon_shift = { 0, 0.375 },
burns_fluid = false,
scale_fluid_usage = true,
max_power_output = "1GW",
fluid_usage_per_tick = 25,
selectable_in_game = selectable,
selection_priority = 52,
--collision_box = { { -1.25, -1.6 }, { 1.25, 1.6 } }, -- short and wide thin
collision_box = { { -(width/2-0.25), -(length/2-0.9) }, { (width/2-0.25), (length/2-0.9) } },
--selection_box = { { -1.5, -2.5 }, { 1.5, 2.5 } },
selection_box = { { -width/2, -(length/2-0.5) }, { width/2, (length/2-0.5) } },
collision_mask = {"not-colliding-with-itself"},
order = "zzz",
corpse = "big-remnants",
dying_explosion = "medium-explosion",
effectivity = 1,
energy_source = { type = "electric", usage_priority = "secondary-output" },
fast_replaceable_group = "steam-engine",
flags = { "placeable-neutral", "player-creation", "placeable-off-grid" },
fluid_box = {
base_area = 20,
base_level = -1,
filter = data_util.mod_prefix .. "decompressing-steam",
--filter = "steam",
height = 2,
minimum_temperature = 5000,
pipe_connections = {
{
position = { 0, (length/2-0.75) },
type = "input-output"
},
{
position = { 0, -(length/2-0.75) },
type = "input-output"
},
},
production_type = "input-output"
},
horizontal_animation = blank_image,
max_health = 300,
maximum_temperature = 5000,
min_perceived_performance = 0.25,
performance_to_sound_speedup = 0.5,
resistances = {
{
percent = 70,
type = "fire"
}
},
smoke = {
{
east_position = {
0.75,
-0.75
},
frequency = 0.3125,
name = "turbine-smoke",
north_position = {
0,
-1
},
slow_down_factor = 1,
starting_frame_deviation = 60,
starting_vertical_speed = 0.08
}
},
vehicle_impact_sound = {
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.65
},
vertical_animation = blank_image,
working_sound = {
match_speed_to_activity = true,
sound = {
filename = "__base__/sound/steam-engine-90bpm.ogg",
volume = 0.6
}
}
},
{
type = "furnace",
name = data_util.mod_prefix .. "big-turbine",
icon = "__space-exploration-graphics__/graphics/icons/big-turbine.png",
--collision_box = { { -1.3, -2.15 }, { 1.3, 2.15 } },
collision_box = { { -(width/2-0.2), -(length/2-0.35) }, { (width/2-0.2), (length/2-0.35) } },
--selection_box = { { -1.5, -2.5 }, { 1.5, 2.5 } },
selection_box = { { -width/2, -length/2 }, { width/2, length/2 } },
selection_priority = 50,
fluid_boxes =
{
{
production_type = "input",
filter = "steam",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 40,
base_level = -1,
filter = "steam",
pipe_connections = {
{ type="input-output", position = {0, -(length/2+0.5)} }
},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 20,
base_level = 1,
filter = "water",
pipe_connections = {
{ type="output", position = {(width/2+0.5), 1.5} },
{ type="output", position = {(width/2+0.5), -1.5} },
{ type="output", position = {-(width/2+0.5), 1.5} },
{ type="output", position = {-(width/2+0.5), -1.5} },
},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 20,
base_level = 1,
filter = "steam",
pipe_connections = {
{ type="output", position = {0, (length/2+0.5)} },
},
secondary_draw_orders = { north = -1 }
},
{
filter = data_util.mod_prefix .. "decompressing-steam",
--filter = "steam",
production_type = "output",
--pipe_picture = assembler3pipepictures(),
base_area = 20,
base_level = 1,
pipe_connections = {
{ type="output", position = {1, length/2 - 0.25} },
{ type="output", position = {-1, length/2 - 0.25} },
},
secondary_draw_orders = { north = -1 }
},
},
minable = {
mining_time = 0.3,
result = data_util.mod_prefix .. "big-turbine",
},
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
max_health = 800,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
drawing_box = {{-2, -5}, {2, 5}},
resistances = {
{ type = "poison", percent = 100 },
{ type = "fire", percent = 80 },
{ type = "explosion", percent = 50 }
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
filename = "__base__/sound/steam-engine-90bpm.ogg",
volume = 0.6
}
},
always_draw_idle_animation = true,
source_inventory_size = 0,
result_inventory_size = 0,
animation = nil,
idle_animation = {
east = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/sr/east.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 640/2,
height = 480/2,
shift = {0,-0.25},
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/hr/east.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 640,
height = 480,
shift = {0,-0.25},
scale = 0.5,
},
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/sr/east_shadow.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 832/2,
height = 384/2,
shift = {1.5,0.5},
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/hr/east_shadow.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 832,
height = 384,
shift = {1.5,0.5},
scale = 0.5,
},
},
}
},
west = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/sr/west.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 640/2,
height = 480/2,
shift = {0,-0.25},
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/hr/west.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 640,
height = 480,
shift = {0,-0.25},
scale = 0.5,
},
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/sr/west_shadow.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 832/2,
height = 384/2,
shift = {1.5,0.5},
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/hr/west_shadow.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 832,
height = 384,
shift = {1.5,0.5},
scale = 0.5,
},
},
}
},
north = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/sr/north.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 448/2,
height = 672/2,
shift = {0,-0.25},
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/hr/north.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 448,
height = 672,
shift = {0,-0.25},
scale = 0.5,
},
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/sr/north_shadow.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 640/2,
height = 576/2,
shift = {1.5,0.5},
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/hr/north_shadow.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 640,
height = 576,
shift = {1.5,0.5},
scale = 0.5,
},
},
}
},
south = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/sr/south.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 448/2,
height = 672/2,
shift = {0,-0.25},
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/hr/south.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 448,
height = 672,
shift = {0,-0.25},
scale = 0.5,
},
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/sr/south_shadow.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 640/2,
height = 576/2,
shift = {1.5,0.5},
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/big-turbine/hr/south_shadow.png",
frame_count = 1,
line_length = 1,
repeat_count = 4,
width = 640,
height = 576,
shift = {1.5,0.5},
scale = 0.5,
},
},
}
},
},
crafting_categories = {"big-turbine"},
crafting_speed = 1,
energy_source =
{
type = "void",
},
energy_usage = "0.1W",
ingredient_count = 0,
module_specification =
{
module_slots = 0
},
allowed_effects = {},
working_visualisations = {
{east_animation = fan_east,
always_draw = true},
{west_animation = fan_west,
always_draw = true},
{north_animation = fan_north,
always_draw = true},
{south_animation = fan_south,
always_draw = true},
},
},
})

951
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/delivery-cannon.lua

@ -0,0 +1,951 @@
local data_util = require("data_util")
local blank = {
direction_count = 8,
frame_count = 1,
filename = "__space-exploration-graphics__/graphics/blank.png",
width = 1,
height = 1,
priority = "low"
}
data:extend({
{
type = "technology",
name = data_util.mod_prefix .. "delivery-cannon",
effects = {
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "delivery-cannon", },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "delivery-cannon-chest", },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "delivery-cannon-capsule", },
},
icon = "__space-exploration-graphics__/graphics/technology/delivery-cannon.png",
icon_size = 128,
order = "e-g",
prerequisites = {
data_util.mod_prefix .. "meteor-defence",
data_util.mod_prefix .. "rocket-landing-pad",
},
unit = {
count = 200,
time = 30,
ingredients = {
{ "automation-science-pack", 1 },
{ "logistic-science-pack", 1 },
{ "chemical-science-pack", 1 },
}
},
},
{
type = "technology",
name = data_util.mod_prefix .. "delivery-cannon-capsule-iridium",
effects = {
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "delivery-cannon-capsule-iridium", },
},
icon = "__space-exploration-graphics__/graphics/technology/delivery-cannon.png",
icon_size = 128,
order = "e-g",
prerequisites = {
data_util.mod_prefix .. "delivery-cannon",
data_util.mod_prefix .. "material-science-pack-1"
},
unit = {
count = 100,
time = 30,
ingredients = {
{ "automation-science-pack", 1 },
{ "logistic-science-pack", 1 },
{ "chemical-science-pack", 1 },
{ data_util.mod_prefix .. "rocket-science-pack", 1 },
{ data_util.mod_prefix .. "material-science-pack-1", 1 },
}
},
},
{
type = "technology",
name = data_util.mod_prefix .. "delivery-cannon-weapon",
effects = {
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "delivery-cannon-weapon", },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "delivery-cannon-weapon-capsule", },
},
icon = "__space-exploration-graphics__/graphics/technology/delivery-cannon-weapon.png",
icon_size = 128,
order = "e-g",
prerequisites = {
"military-4",
data_util.mod_prefix .. "delivery-cannon",
data_util.mod_prefix .. "heavy-girder",
data_util.mod_prefix .. "holmium-cable",
data_util.mod_prefix .. "aeroframe-pole",
},
unit = {
count = 200,
time = 30,
ingredients = {
{ "automation-science-pack", 1 },
{ "logistic-science-pack", 1 },
{ "chemical-science-pack", 1 },
{ "military-science-pack", 1 },
{ data_util.mod_prefix .. "rocket-science-pack", 1 },
{ data_util.mod_prefix .. "material-science-pack-1", 1 },
{ data_util.mod_prefix .. "energy-science-pack-1", 1 },
{ data_util.mod_prefix .. "astronomic-science-pack-1", 1 },
}
},
},
{
type = "item",
name = data_util.mod_prefix .. "delivery-cannon",
icon = "__space-exploration-graphics__/graphics/icons/delivery-cannon.png",
icon_size = 64,
order = "j-a",
subgroup = "rocket-logistics",
stack_size = 20,
place_result = data_util.mod_prefix .. "delivery-cannon",
},
{
type = "item",
name = data_util.mod_prefix .. "delivery-cannon-weapon",
icon = "__space-exploration-graphics__/graphics/icons/delivery-cannon-weapon.png",
icon_size = 64,
order = "j-a",
subgroup = "surface-defense",
stack_size = 1,
place_result = data_util.mod_prefix .. "delivery-cannon-weapon",
},
{
type = "item",
name = data_util.mod_prefix .. "delivery-cannon-chest",
icon = "__space-exploration-graphics__/graphics/icons/delivery-cannon-chest.png",
icon_size = 64,
order = "j-b",
subgroup = "rocket-logistics",
stack_size = 50,
place_result = data_util.mod_prefix .. "delivery-cannon-chest",
},
{
type = "item",
name = data_util.mod_prefix .. "delivery-cannon-capsule",
icon = "__space-exploration-graphics__/graphics/icons/delivery-cannon-capsule.png",
icon_size = 64,
order = "j-c",
subgroup = "rocket-logistics",
stack_size = 50,
},
{
type = "item",
name = data_util.mod_prefix .. "delivery-cannon-weapon-capsule",
icon = "__space-exploration-graphics__/graphics/icons/delivery-cannon-weapon-capsule.png",
icon_size = 64,
order = "j-c",
subgroup = "surface-defense",
stack_size = 20,
},
{
type = "selection-tool",
name = data_util.mod_prefix .. "delivery-cannon-targeter",
icon = "__space-exploration-graphics__/graphics/icons/target.png",
icon_mipmaps = 1,
icon_size = 64,
subgroup = "tool",
order = "c[automated-construction]-e[unit-remote-control]",
stack_size = 1,
stackable = false,
selection_color = {r = 0.3, g = 0.9, b = 0.3},
alt_selection_color = {r = 0.9, g = 0.9, b = 0.3},
selection_mode = {"nothing"},
alt_selection_mode = {"nothing"},
selection_cursor_box_type = "entity",
alt_selection_cursor_box_type = "entity",
hidden = true,
flags = {"hidden", "only-in-cursor"}
},
{
type = "recipe",
name = data_util.mod_prefix .. "delivery-cannon-capsule",
result = data_util.mod_prefix .. "delivery-cannon-capsule",
enabled = false,
energy_required = 10,
ingredients = {
{ "low-density-structure", 1 },
{ data_util.mod_prefix .. "heat-shielding", 1 },
{ "explosives", 5 },
{ "copper-cable", 10 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "recipe",
name = data_util.mod_prefix .. "delivery-cannon-capsule-iridium",
result = data_util.mod_prefix .. "delivery-cannon-capsule",
enabled = false,
energy_required = 10,
ingredients = {
{ data_util.mod_prefix .. "iridium-plate", 5 },
{ "explosives", 5 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "recipe",
name = data_util.mod_prefix .. "delivery-cannon-weapon-capsule",
result = data_util.mod_prefix .. "delivery-cannon-weapon-capsule",
enabled = false,
energy_required = 20,
ingredients = {
{ "low-density-structure", 10 },
{ data_util.mod_prefix .. "heat-shielding", 10 },
{ data_util.mod_prefix .. "iridium-plate", 10 },
{ data_util.mod_prefix .. "holmium-cable", 20 },
{ "explosives", 50 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "recipe",
name = data_util.mod_prefix .. "delivery-cannon",
result = data_util.mod_prefix .. "delivery-cannon",
enabled = false,
energy_required = 10,
ingredients = {
{ "steel-chest", 10 },
{ "pipe", 10 },
{ "electric-engine-unit", 10 },
{ data_util.mod_prefix .. "heat-shielding", 10 },
{ "concrete", 20 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "recipe",
name = data_util.mod_prefix .. "delivery-cannon-weapon",
result = data_util.mod_prefix .. "delivery-cannon-weapon",
enabled = false,
energy_required = 30,
ingredients = {
{ "electric-engine-unit", 50 },
{ data_util.mod_prefix .. "heat-shielding", 50 },
{ data_util.mod_prefix .. "heavy-girder", 100 },
{ data_util.mod_prefix .. "holmium-cable", 200 },
{ data_util.mod_prefix .. "aeroframe-pole", 200 },
{ "processing-unit", 100 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "recipe",
name = data_util.mod_prefix .. "delivery-cannon-chest",
result = data_util.mod_prefix .. "delivery-cannon-chest",
enabled = false,
energy_required = 10,
ingredients = {
{ "radar", 1 },
{ "steel-chest", 10 },
{ "concrete", 20 },
{ data_util.mod_prefix .. "heat-shielding", 10 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "assembling-machine",
name = data_util.mod_prefix.."delivery-cannon",
minable = {
mining_time = 0.5,
result = data_util.mod_prefix.."delivery-cannon",
},
icon = "__space-exploration-graphics__/graphics/icons/delivery-cannon.png",
icon_size = 64,
icon_mipmaps = 1,
order = "a-a",
max_health = 1500,
flags = {"placeable-neutral","placeable-player", "player-creation"},
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-2.3, -2.3}, {2.3, 2.3}},
selection_box = {{-2.5, -2.5}, {2.5, 2.5}},
drawing_box = {{-2.5, -2.5-5}, {2.5, 2.5}},
se_allow_in_space = true,
resistances =
{
{ type = "meteor", percent = 99 },
{ type = "explosion", percent = 99 },
{ type = "impact", percent = 99 },
{ type = "fire", percent = 99 },
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/assembling-machine-t1-1.ogg",
volume = 0.8
},
{
filename = "__base__/sound/assembling-machine-t1-2.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
"item-layer",
"object-layer",
"player-layer",
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/delivery-cannon.png",
frame_count = 1,
line_length = 1,
width = 320/2,
height = 640/2,
shift = {0,-2.5},
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/hr-delivery-cannon.png",
frame_count = 1,
line_length = 1,
width = 320,
height = 640,
shift = {0,-2.5},
scale = 0.5,
},
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/delivery-cannon-shadow.png",
shift = { 1.25, 1/32 },
width = 470/2,
height = 306/2,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/hr-delivery-cannon-shadow.png",
shift = { 1.25, 1/32 },
width = 470,
height = 306,
scale = 0.5,
}
}
}
},
crafting_categories = {"delivery-cannon"},
crafting_speed = 1,
energy_source =
{
type = "void",
},
energy_usage = "100kW",
ingredient_count = 12,
module_specification =
{
module_slots = 0
},
allowed_effects = {},
},
{
type = "electric-energy-interface",
name = data_util.mod_prefix .. "delivery-cannon-energy-interface",
icon = "__space-exploration-graphics__/graphics/icons/delivery-cannon.png",
icon_size = 64,
icon_mipmaps = 1,
order = "z-d-a",
allow_copy_paste = true,
picture =
{
layers =
{
blank
},
},
collision_box = {{-2.3, -2.3}, {2.3, 2.3}},
selection_box = {{-2.5, -2.5}, {2.5, 2.5}},
selectable_in_game = false,
collision_mask = {
"water-tile",
"item-layer",
"object-layer",
"player-layer",
},
selectable = false,
continuous_animation = true,
corpse = "medium-remnants",
energy_source = {
type = "electric",
usage_priority = "secondary-input",
input_flow_limit = "50MW",
output_flow_limit = "0kW",
buffer_capacity = "1000MJ",-- launch energy cost is removed from buffer
drain = "100kW",
},
energy_production = "0kW",
energy_usage = "0GW",
flags = {
"placeable-player",
"player-creation",
"hidden",
"not-rotatable"
},
max_health = 1500,
vehicle_impact_sound = {
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.65
},
},
{
type = "assembling-machine",
name = data_util.mod_prefix.."delivery-cannon-weapon",
minable = {
mining_time = 1,
result = data_util.mod_prefix.."delivery-cannon-weapon",
},
icon = "__space-exploration-graphics__/graphics/icons/delivery-cannon-weapon.png",
icon_size = 64,
icon_mipmaps = 1,
order = "a-a",
max_health = 1500,
flags = {"placeable-neutral","placeable-player", "player-creation"},
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = { { -4.3, -4.3 }, { 4.3, 4.3 } },
selection_box = { { -4.5, -4.5 }, { 4.5, 4.5 } },
drawing_box = { { -4.5, -4.5-9 }, { 4.5, 4.5 } },
se_allow_in_space = true,
resistances =
{
{ type = "meteor", percent = 99 },
{ type = "explosion", percent = 50 },
{ type = "impact", percent = 99 },
{ type = "fire", percent = 50 },
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/assembling-machine-t1-1.ogg",
volume = 0.8
},
{
filename = "__base__/sound/assembling-machine-t1-2.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
"item-layer",
"object-layer",
"player-layer",
},
animation =
{
layers = {
{
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/delivery-cannon-weapon.png",
shift = { 0, -4.75 },
width = 616/2,
height = 1198/2,
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/hr-delivery-cannon-weapon.png",
shift = { 0, -4.75 },
width = 616,
height = 1198,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/delivery-cannon-weapon-shadow.png",
shift = { 2.5, 2/32 },
width = 890/2,
height = 578/2,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/hr-delivery-cannon-weapon-shadow.png",
shift = { 2.5, 2/32 },
width = 890,
height = 578,
scale = 0.5,
}
}
}
},
crafting_categories = {"delivery-cannon-weapon"},
crafting_speed = 1,
energy_source =
{
type = "void",
},
energy_usage = "100kW",
ingredient_count = 12,
module_specification =
{
module_slots = 0
},
allowed_effects = {},
},
{
type = "electric-energy-interface",
name = data_util.mod_prefix .. "delivery-cannon-weapon-energy-interface",
icon = "__space-exploration-graphics__/graphics/icons/delivery-cannon-weapon.png",
icon_size = 64,
icon_mipmaps = 1,
order = "z-d-a",
allow_copy_paste = true,
picture =
{
layers =
{
blank
},
},
collision_box = { { -4.3, -4.3 }, { 4.3, 4.3 } },
selection_box = { { -4.5, -4.5 }, { 4.5, 4.5 } },
selectable_in_game = false,
collision_mask = {
"water-tile",
"item-layer",
"object-layer",
"player-layer",
},
selectable = false,
continuous_animation = true,
corpse = "medium-remnants",
energy_source = {
type = "electric",
usage_priority = "secondary-input",
input_flow_limit = "500MW",
output_flow_limit = "0kW",
buffer_capacity = "10000MJ",-- launch energy cost is removed from buffer
drain = "1000kW",
},
energy_production = "0kW",
energy_usage = "0GW",
flags = {
"placeable-player",
"player-creation",
"hidden",
"not-rotatable"
},
max_health = 1500,
vehicle_impact_sound = {
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.65
},
},
{
type = "container",
name = data_util.mod_prefix .. "delivery-cannon-chest",
icon = "__space-exploration-graphics__/graphics/icons/delivery-cannon-chest.png",
icon_size = 64,
flags = {"placeable-neutral", "player-creation"},
minable = {mining_time = 0.5, result = data_util.mod_prefix .. "delivery-cannon-chest"},
max_health = 1000,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
collision_box = {{-1.3,-1.3},{1.3,1.3}},
collision_mask = {
"water-tile",
"item-layer",
"object-layer",
"player-layer",
},
selection_box = {{-1.5,-1.5},{1.5,1.5}},
se_allow_in_space = true,
inventory_size = 40,
resistances = {
{ type = "meteor", percent = 99 },
{ type = "explosion", percent = 75 },
{ type = "impact", percent = 90 },
{ type = "fire", percent = 90 },
},
open_sound = { filename = "__base__/sound/metallic-chest-open.ogg", volume=0.65 },
close_sound = { filename = "__base__/sound/metallic-chest-close.ogg", volume = 0.7 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
picture = {
layers = {
{
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/delivery-cannon-chest.png",
frame_count = 1,
line_length = 1,
width = 208/2,
height = 200/2,
shift = {0,0},
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/hr-delivery-cannon-chest.png",
frame_count = 1,
line_length = 1,
width = 208,
height = 200,
shift = {0,0},
scale = 0.5,
},
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/delivery-cannon-chest-shadow.png",
frame_count = 1,
line_length = 1,
width = 278/2,
height = 150/2,
shift = {0.5625,0.5875},
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/hr-delivery-cannon-chest-shadow.png",
frame_count = 1,
line_length = 1,
width = 278,
height = 150,
shift = {0.5625,0.5875},
scale = 0.5,
},
},
}
},
circuit_wire_connection_point =
{
shadow =
{
red = {0.7, -1.3},
green = {0.7, -1.3},
},
wire =
{
red = {0.7, -1.3},
green = {0.7, -1.3},
}
},
circuit_wire_max_distance = 12.5,
},
{
type = "explosion",
name = data_util.mod_prefix .. "delivery-cannon-beam",
animations = {
{
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/delivery-cannon-beam.png",
frame_count = 6,
height = 1,
priority = "extra-high",
width = 187
}
},
beam = true,
flags = { "not-on-map", "placeable-off-grid"},
light = {
color = {
b = 0.8,
g = 1,
r = 0.9
},
intensity = 1,
size = 20
},
rotate = true,
smoke = "smoke-fast",
smoke_count = 2,
smoke_slow_down_factor = 1,
sound = {
{
filename = "__base__/sound/fight/old/huge-explosion.ogg",
volume = 1
}
},
},
{
type = "explosion",
name = data_util.mod_prefix .. "delivery-cannon-weapon-beam",
animations = {
{
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/delivery-cannon-weapon-beam.png",
frame_count = 6,
height = 1,
priority = "extra-high",
width = 187
}
},
beam = true,
flags = { "not-on-map", "placeable-off-grid"},
light = {
color = {
b = 0.8,
g = 0.9,
r = 1
},
intensity = 1,
size = 20
},
rotate = true,
smoke = "smoke-fast",
smoke_count = 2,
smoke_slow_down_factor = 1,
sound = {
{
filename = "__base__/sound/fight/old/huge-explosion.ogg",
volume = 1
}
},
},
{
type = "projectile",
name = data_util.mod_prefix.."delivery-cannon-capsule-projectile",
acceleration = 0,
rotatable = false,
animation = {
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/delivery-cannon-capsule.png",
frame_count = 1,
width = 58/2,
height = 94/2,
line_length = 1,
priority = "high",
shift = { 0, 0 },
{
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/hr-delivery-cannon-capsule.png",
frame_count = 1,
width = 58,
height = 94,
line_length = 1,
priority = "high",
shift = { 0, 0 },
scale = 0.5,
},
},
flags = { "not-on-map", "placeable-off-grid"},
light = { intensity = 0.2, size = 10},
smoke = {
{
deviation = {
0.15,
0.15
},
frequency = 1,
name = "smoke-fast",
--name = "smoke-explosion-particle",
--name = "soft-fire-smoke", -- lasts longer
position = {0,0},
slow_down_factor = 1,
starting_frame = 3,
starting_frame_deviation = 5,
starting_frame_speed = 0,
starting_frame_speed_deviation = 5
}
},
},
{
type = "projectile",
name = data_util.mod_prefix.."delivery-cannon-weapon-capsule-projectile",
acceleration = 0,
rotatable = false,
animation = {
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/delivery-cannon-weapon-capsule.png",
frame_count = 1,
width = 58/2,
height = 94/2,
line_length = 1,
priority = "high",
shift = { 0, 0 },
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/hr-delivery-cannon-weapon-capsule.png",
frame_count = 1,
width = 58,
height = 94,
line_length = 1,
priority = "high",
shift = { 0, 0 },
scale = 0.5,
},
},
flags = { "not-on-map", "placeable-off-grid"},
light = { intensity = 0.2, size = 10},
smoke = {
{
deviation = {
0.15,
0.15
},
frequency = 1,
name = "smoke-fast",
--name = "smoke-explosion-particle",
--name = "soft-fire-smoke", -- lasts longer
position = {0,0},
slow_down_factor = 1,
starting_frame = 3,
starting_frame_deviation = 5,
starting_frame_speed = 0,
starting_frame_speed_deviation = 5
}
},
},
{
type = "projectile",
name = data_util.mod_prefix.."delivery-cannon-capsule-shadow",
acceleration = 0,
rotatable = false,
animation = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/delivery-cannon-capsule-shadow.png",
frame_count = 1,
width = 98/2,
height = 50/2,
line_length = 1,
priority = "high",
shift = { 0, 0 },
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/delivery-cannon/hr-delivery-cannon-capsule-shadow.png",
frame_count = 1,
width = 98,
height = 50,
line_length = 1,
priority = "high",
shift = { 0, 0 },
scale = 0.5,
},
},
flags = { "not-on-map", "placeable-off-grid"},
},
{
type = "explosion",
name = data_util.mod_prefix.."delivery-cannon-capsule-explosion",
animations = table.deepcopy(data.raw.explosion["medium-explosion"].animations),
created_effect = {
type = "direct",
action_delivery = {
type = "instant",
target_effects = {
{
type = "create-particle",
particle_name = "explosion-remnants-particle",
initial_height = 0.5,
initial_vertical_speed = 0.08,
initial_vertical_speed_deviation = 0.08,
offset_deviation = { { -0.2, -0.2 }, { 0.2, 0.2 } },
repeat_count = 16,
speed_from_center = 0.08,
speed_from_center_deviation = 0.08,
},
{
type = "create-particle",
particle_name = "stone-particle",
initial_height = 0.5,
initial_vertical_speed = 0.1,
initial_vertical_speed_deviation = 0.1,
offset_deviation = { { -0.2, -0.2 }, { 0.2, 0.2 } },
repeat_count = 60,
speed_from_center = 0.08,
speed_from_center_deviation = 0.08,
},
{
action = {
action_delivery = {
target_effects = {
{
damage = {
amount = 5,
type = "meteor"
},
type = "damage"
},
},
type = "instant"
},
radius = 10,
type = "area"
},
type = "nested-result"
},
{
action = {
action_delivery = {
target_effects = {
{
damage = {
amount = 10,
type = "meteor"
},
type = "damage"
},
},
type = "instant"
},
radius = 4,
type = "area"
},
type = "nested-result"
},
{
action = {
action_delivery = {
target_effects = {
{
damage = {
amount = 35,
type = "meteor"
},
type = "damage"
},
},
type = "instant"
},
radius = 2,
type = "area"
},
type = "nested-result"
},
{
action = {
action_delivery = {
target_effects = {
{
damage = {
amount = 100,
type = "meteor"
},
type = "damage"
},
},
type = "instant"
},
radius = 1,
type = "area"
},
type = "nested-result"
},
},
},
},
flags = { "not-on-map", "placeable-off-grid"},
light = { color = { r = 1, g = 0.9, b = 0.8 }, intensity = 1, size = 30 },
sound = {
aggregation = { max_count = 1, remove = true },
variations = table.deepcopy(data.raw.explosion["medium-explosion"].sound.variations)
},
},
})

400
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/electric-boiler.lua

@ -0,0 +1,400 @@
local data_util = require("data_util")
local make_recipe = data_util.make_recipe
data:extend({
{
type = "item",
name = data_util.mod_prefix .. "electric-boiler",
icon = "__space-exploration-graphics__/graphics/icons/electric-boiler.png",
icon_size = 64,
order = "b-a-z",
subgroup = "energy",
stack_size = 50,
place_result = data_util.mod_prefix .. "electric-boiler",
},
{
type = "recipe",
name = data_util.mod_prefix .. "electric-boiler",
result = data_util.mod_prefix .. "electric-boiler",
enabled = false,
energy_required = 3,
ingredients = {
{ "copper-plate", 100 },
{ "steel-plate", 10 },
{ "pipe", 10 },
{ data_util.mod_prefix .. "heat-shielding", 1 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "technology",
name = data_util.mod_prefix .. "electric-boiler",
effects = {
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "electric-boiler" },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "electric-boiling-void" },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "electric-boiling-steam-100" },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "electric-boiling-steam-165" },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "electric-boiling-steam-500" },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "electric-boiling-steam-5000" },
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "steam-to-water" },
},
icon = "__space-exploration-graphics__/graphics/technology/electric-boiler.png",
icon_size = 128,
order = "e-g",
prerequisites = {
data_util.mod_prefix .. "heat-shielding",
},
unit = {
count = 100,
time = 10,
ingredients = {
{ "automation-science-pack", 1 },
{ "logistic-science-pack", 1 },
{ "chemical-science-pack", 1 },
}
},
},
{
type = "assembling-machine",
name = data_util.mod_prefix .. "electric-boiler",
icon = "__space-exploration-graphics__/graphics/icons/electric-boiler.png",
icon_size = 64,
flags = {"placeable-neutral", "player-creation"},
minable = { mining_time = 0.2, result = data_util.mod_prefix .. "electric-boiler"},
max_health = 200,
corpse = "boiler-remnants",
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
resistances =
{
{
type = "fire",
percent = 90
},
{
type = "explosion",
percent = 30
},
{
type = "impact",
percent = 30
}
},
collision_box = {{-1.29, -0.79}, {1.29, 0.79}},
collision_mask = {
"water-tile",
"item-layer",
"object-layer",
"player-layer",
},
se_allow_in_space = true,
selection_box = {{-1.5, -1}, {1.5, 1}},
target_temperature = 500,
fluid_boxes =
{
{
base_area = 1,
height = 2,
base_level = -1,
pipe_covers = pipecoverspictures(),
pipe_connections =
{
{type = "input-output", position = {-2, 0.5}},
{type = "input-output", position = {2, 0.5}}
},
production_type = "input",
filter = "water"
},
{
base_area = 1,
height = 2,
base_level = 1,
pipe_covers = pipecoverspictures(),
pipe_connections =
{
{type = "output", position = {0, -1.5}}
},
production_type = "output",
filter = "steam"
},
off_when_no_fluid_recipe = true
},
energy_usage = "5MW",
crafting_categories = {data_util.mod_prefix .. "electric-boiling"},
crafting_speed = 1,
energy_source =
{
type = "electric",
--drain = "10MW",
usage_priority = "secondary-input"
},
working_sound =
{
sound =
{
filename = "__base__/sound/boiler.ogg",
volume = 0.8
},
max_sounds_per_type = 3
},
animation = {
north =
{
layers =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/electric-boiler-n.png",
priority = "extra-high",
width = 268/2,
height = 220/2,
shift = util.by_pixel(-1.25, 5.25),
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/hr-electric-boiler-n.png",
width = 268,
height = 220,
priority = "extra-high",
shift = util.by_pixel(-1.25, 5.25),
scale = 0.5,
},
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/electric-boiler-n-shadow.png",
priority = "extra-high",
width = 274/2,
height = 164/2,
shift = util.by_pixel(20.5, 9),
draw_as_shadow = true,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/hr-electric-boiler-n-shadow.png",
width = 274,
height = 164,
priority = "extra-high",
shift = util.by_pixel(20.5, 9),
scale = 0.5,
draw_as_shadow = true
},
}
}
},
east =
{
layers =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/electric-boiler-e.png",
priority = "extra-high",
width = 210/2,
height = 300/2,
shift = util.by_pixel(-1.75, 1.25),
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/hr-electric-boiler-e.png",
width = 210,
height = 300,
priority = "extra-high",
shift = util.by_pixel(-1.75, 1.25),
scale = 0.5,
},
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/electric-boiler-e-shadow.png",
priority = "extra-high",
width = 184/2,
height = 194/2,
shift = util.by_pixel(30, 9.5),
draw_as_shadow = true,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/hr-electric-boiler-e-shadow.png",
width = 184,
height = 194,
priority = "extra-high",
shift = util.by_pixel(30, 9.5),
scale = 0.5,
draw_as_shadow = true
},
}
}
},
south =
{
layers =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/electric-boiler-s.png",
priority = "extra-high",
width = 260/2,
height = 200/2,
shift = util.by_pixel(4, 10.75),
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/hr-electric-boiler-s.png",
width = 260,
height = 200,
priority = "extra-high",
shift = util.by_pixel(4, 10.75),
scale = 0.5,
},
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/electric-boiler-s-shadow.png",
priority = "extra-high",
width = 310/2,
height = 130/2,
shift = util.by_pixel(29.75, 15.75),
draw_as_shadow = true,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/hr-electric-boiler-s-shadow.png",
priority = "extra-high",
width = 310,
height = 130,
shift = util.by_pixel(29.75, 15.75),
scale = 0.5,
draw_as_shadow = true
},
}
}
},
west =
{
layers =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/electric-boiler-w.png",
priority = "extra-high",
width = 196/2,
height = 272/2,
shift = util.by_pixel(1.5, 7.75),
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/hr-electric-boiler-w.png",
width = 196,
height = 272,
priority = "extra-high",
shift = util.by_pixel(1.5, 7.75),
scale = 0.5,
},
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/electric-boiler-w-shadow.png",
priority = "extra-high",
width = 206/2,
height = 218/2,
shift = util.by_pixel(19.5, 6.5),
draw_as_shadow = true,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/hr-electric-boiler-w-shadow.png",
width = 206,
height = 218,
priority = "extra-high",
shift = util.by_pixel(19.5, 6.5),
scale = 0.5,
draw_as_shadow = true
},
}
}
}
},
working_visualisations =
{
{
north_animation =
{
layers =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/electric-boiler-n-light.png",
priority = "extra-high",
width = 268/2,
height = 220/2,
shift = util.by_pixel(-1.25, 5.25),
blend_mode = "additive",
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/hr-electric-boiler-n-light.png",
width = 268,
height = 220,
priority = "extra-high",
shift = util.by_pixel(-1.25, 5.25),
scale = 0.5,
blend_mode = "additive",
},
},
}
},
east_animation =
{
layers =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/electric-boiler-e-light.png",
priority = "extra-high",
width = 210/2,
height = 300/2,
shift = util.by_pixel(-1.75, 1.25),
blend_mode = "additive",
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/hr-electric-boiler-e-light.png",
width = 210,
height = 300,
priority = "extra-high",
shift = util.by_pixel(-1.75, 1.25),
scale = 0.5,
blend_mode = "additive",
},
},
}
},
south_animation =
{
layers =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/electric-boiler-s-light.png",
priority = "extra-high",
width = 260/2,
height = 200/2,
shift = util.by_pixel(4, 10.75),
blend_mode = "additive",
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/hr-electric-boiler-s-light.png",
width = 260,
height = 200,
priority = "extra-high",
shift = util.by_pixel(4, 10.75),
scale = 0.5,
blend_mode = "additive",
},
},
}
},
west_animation =
{
layers =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/electric-boiler-w-light.png",
priority = "extra-high",
width = 196/2,
height = 272/2,
shift = util.by_pixel(1.5, 7.75),
blend_mode = "additive",
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/electric-boiler/hr-electric-boiler-w-light.png",
width = 196,
height = 272,
priority = "extra-high",
shift = util.by_pixel(1.5, 7.75),
scale = 0.5,
blend_mode = "additive",
},
},
}
}
},
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.5, size = 4, shift = {0.0, 0.0}, color = {r = 1, g = 0.9, b = 0.5}}
},
},
},
})

2428
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/energy-transmitter.lua

File diff suppressed because it is too large

466
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/interburbulator.lua

@ -0,0 +1,466 @@
local data_util = require("data_util")
--[[
copy of shield projector, SW, SE, NE
copy of laser turret NW
interface addon graphic
interface addon display animation.
]]
local blank_image = {
filename = "__space-exploration-graphics__/graphics/blank.png",
width = 1,
height = 1,
frame_count = 1,
line_length = 1,
shift = { 0, 0 },
}
local connection_point = {
wire = { red = {-1 -8/32, 2 +20/32}, green = {-1 -2/32, 2 +20/32}, },
shadow = { red = {2 -8/32, 5}, green = {2 -2/32, 5}, },
}
local function make_spidertron_leg(number)
local leg = table.deepcopy(data.raw["spider-leg"]["spidertron-leg-"..number])
leg.name = data_util.mod_prefix.."burbulator-leg-" .. number
leg.initial_movement_speed = 0.006
leg.movement_acceleration = 0.003
leg.movement_based_position_selection_distance = 2
leg.part_length = 4
return leg
end
data:extend({
{
type = "lamp",
name = data_util.mod_prefix.. "interburbulator-control",
icon = "__space-exploration-graphics__/graphics/icons/shield-projector.png",
icon_size = 64,
flags = {"placeable-player", "player-creation", "placeable-off-grid", "not-deconstructable", "not-blueprintable"},
order = "y",
energy_source = {type = "void"},
max_health = 10000,
healing_per_tick = 10000,
collision_box = data_util.auto_box(2, 2, 0.1),
selection_box = data_util.auto_box(2, 2),
collision_mask = {"not-colliding-with-itself"},
energy_usage_per_tick = "1J",
always_on = true,
picture_off = blank_image,
picture_on = {
layers = {
{
filename = "__base__/graphics/entity/steel-furnace/steel-furnace.png",
frame_count = 1,
height = 87,
hr_version = {
filename = "__base__/graphics/entity/steel-furnace/hr-steel-furnace.png",
frame_count = 1,
height = 174,
priority = "high",
scale = 0.5,
shift = {
-0.0390625,
0.0625
},
width = 171
},
priority = "high",
shift = {
-0.046875,
0.046875
},
width = 85
},
{
draw_as_shadow = true,
filename = "__base__/graphics/entity/steel-furnace/steel-furnace-shadow.png",
frame_count = 1,
height = 43,
hr_version = {
draw_as_shadow = true,
filename = "__base__/graphics/entity/steel-furnace/hr-steel-furnace-shadow.png",
frame_count = 1,
height = 85,
priority = "high",
scale = 0.5,
shift = {
1.2265625,
0.3515625
},
width = 277
},
priority = "high",
shift = {
1.234375,
0.359375
},
width = 139
}
}
}
},
{
type = "simple-entity",
name = data_util.mod_prefix.. "interburbulator-interface",
icon = "__space-exploration-graphics__/graphics/icons/shield-projector.png",
icon_size = 64,
flags = {"placeable-player", "player-creation", "placeable-off-grid", "not-deconstructable", "not-blueprintable"},
order = "y",
max_health = 10000,
healing_per_tick = 10000,
collision_box = data_util.auto_box(1, 1, 0.1),
selection_box = data_util.auto_box(1, 1),
collision_mask = {"not-colliding-with-itself"},
selectable_in_game = false,
animations = {
layers = {
data_util.auto_sr_hr({
filename = "__space-exploration-graphics__/graphics/entity/robot-faction/hr/interface-addon.png",
frame_count = 1,
width = 72,
height = 82,
line_length = 1,
repeat_count = 3,
animation_speed = 0.1,
shift = { 0,0},
scale = 0.5
}),
data_util.auto_sr_hr({
filename = "__space-exploration-graphics__/graphics/entity/robot-faction/hr/interface-addon-display.png",
frame_count = 3,
width = 78/3,
height = 42,
line_length = 3,
animation_speed = 0.1,
shift = { 0,-0.1},
scale = 0.5,
belnd_mode = "additive"
}),
}
}
},
{
type = "constant-combinator",
name = data_util.mod_prefix.. "interburbulator-projector",
icon = "__space-exploration-graphics__/graphics/icons/shield-projector.png",
icon_size = 64,
flags = {"placeable-player", "player-creation", "placeable-off-grid", "not-deconstructable", "not-blueprintable"},
order = "y",
max_health = 10000,
healing_per_tick = 10000,
collision_box = data_util.auto_box(2, 2, 0.1),
selection_box = data_util.auto_box(2, 2),
collision_mask = {"not-colliding-with-itself"},
scale_info_icons = false,
selectable_in_game = true,
item_slot_count = 0,
sprites =
{
north = {
layers = {
data_util.auto_sr_hr({
filename = "__shield-projector__/graphics/entity/shield-projector/hr/shield-projector.png",
frame_count = 1,
x = 196 * 1,
width = 196,
height = 284,
line_length = 1,
shift = { 1/32, -24/32 },
scale = 0.5 * 2/3
}),
data_util.auto_sr_hr({
frame_count = 1,
draw_as_shadow = true,
filename = "__shield-projector__/graphics/entity/shield-projector/hr/shield-projector-shadow.png",
x = 412 * 1,
width = 412,
height = 249,
line_length = 1,
shift = { (1 + 22/32) * 2/3, (-8/32) * 2/3},
scale = 0.5 * 2/3
}),
}
},
east = {
layers = {
data_util.auto_sr_hr({
filename = "__shield-projector__/graphics/entity/shield-projector/hr/shield-projector.png",
frame_count = 1,
x = 196 * 3,
width = 196,
height = 284,
line_length = 1,
shift = { 1/32, -24/32 },
scale = 0.5 * 2/3
}),
data_util.auto_sr_hr({
frame_count = 1,
draw_as_shadow = true,
filename = "__shield-projector__/graphics/entity/shield-projector/hr/shield-projector-shadow.png",
x = 412 * 3,
width = 412,
height = 249,
line_length = 1,
shift = { (1 + 22/32) * 2/3, (-8/32) * 2/3},
scale = 0.5 * 2/3
}),
}
},
south = {
layers = {
data_util.auto_sr_hr({
filename = "__shield-projector__/graphics/entity/shield-projector/hr/shield-projector.png",
frame_count = 1,
x = 196 * 5,
width = 196,
height = 284,
line_length = 1,
shift = { 1/32, -24/32 },
scale = 0.5 * 2/3
}),
data_util.auto_sr_hr({
frame_count = 1,
draw_as_shadow = true,
filename = "__shield-projector__/graphics/entity/shield-projector/hr/shield-projector-shadow.png",
x = 412 * 1,
y = 249 * 1,
width = 412,
height = 249,
line_length = 1,
shift = { (1 + 22/32) * 2/3, (-8/32) * 2/3},
scale = 0.5 * 2/3
}),
}
},
west = {
layers = {
data_util.auto_sr_hr({
filename = "__shield-projector__/graphics/entity/shield-projector/hr/shield-projector.png",
frame_count = 1,
x = 196 * 7,
width = 196,
height = 284,
line_length = 1,
shift = { 1/32, -24/32 },
scale = 0.5 * 2/3
}),
data_util.auto_sr_hr({
frame_count = 1,
draw_as_shadow = true,
filename = "__shield-projector__/graphics/entity/shield-projector/hr/shield-projector-shadow.png",
x = 412 * 3,
y = 249 * 1,
width = 412,
height = 249,
line_length = 1,
shift = { (1 + 22/32) * 2/3, (-8/32) * 2/3},
scale = 0.5 * 2/3
}),
}
}
},
activity_led_sprites =
{
north = blank_image,
east = blank_image,
south = blank_image,
west = blank_image
},
activity_led_light =
{
intensity = 0.8,
size = 1,
},
activity_led_light_offsets =
{
{0, 0},
{0, 0},
{0, 0},
{0, 0}
},
circuit_wire_connection_points =
{
connection_point, connection_point, connection_point, connection_point,
},
circuit_wire_max_distance = 0
},
{
type = "sprite",
name = data_util.mod_prefix.."interburbulator-grid",
filename = "__space-exploration-graphics__/graphics/entity/robot-faction/sr/interburbulator-grid.png",
width = 832,
height = 864,
shift = { 0,-0.5 },
blend_mode = "additive",
scale = 1
},
{
type = "sprite",
name = data_util.mod_prefix.."interburbulator-light",
filename = "__space-exploration-graphics__/graphics/entity/robot-faction/sr/interburbulator-light.png",
width = 832/2,
height = 864/2,
shift = { 0,-0.5 },
blend_mode = "additive",
scale = 2
},
{
type = "spider-vehicle",
name = data_util.mod_prefix.."burbulator",
collision_box = {{-1, -1}, {1, 1}},
selection_box = {{-1, -1}, {1, 1}},
icon = "__base__/graphics/icons/spidertron.png",
mined_sound = {filename = "__core__/sound/deconstruct-large.ogg",volume = 0.8},
open_sound = { filename = "__base__/sound/spidertron/spidertron-door-open.ogg", volume= 0.35 },
close_sound = { filename = "__base__/sound/spidertron/spidertron-door-close.ogg", volume = 0.4 },
sound_minimum_speed = 0.1,
sound_scaling_ratio = 0.6,
working_sound =
{
sound =
{
filename = "__base__/sound/spidertron/spidertron-vox.ogg",
volume = 0.35
},
activate_sound =
{
filename = "__base__/sound/spidertron/spidertron-activate.ogg",
volume = 0.5
},
deactivate_sound =
{
filename = "__base__/sound/spidertron/spidertron-deactivate.ogg",
volume = 0.5
},
match_speed_to_activity = true,
},
icon_size = 64, icon_mipmaps = 4,
weight = 1,
braking_force = 1,
friction_force = 1,
flags = {"placeable-neutral", "player-creation", "placeable-off-grid"},
collision_mask = {},
--minable = {mining_time = 1, result = "spidertron"},
max_health = 100000,
healing_per_tick = 1000,
resistances =
{
{
type = "fire",
decrease = 15,
percent = 60
},
{
type = "physical",
decrease = 15,
percent = 60
},
{
type = "impact",
decrease = 50,
percent = 80
},
{
type = "explosion",
decrease = 20,
percent = 75
},
{
type = "acid",
decrease = 0,
percent = 70
},
{
type = "laser",
decrease = 0,
percent = 70
},
{
type = "electric",
decrease = 0,
percent = 70
}
},
minimap_representation =
{
filename = "__base__/graphics/entity/spidertron/spidertron-map.png",
flags = {"icon"},
size = {128, 128},
scale = 0.5
},
corpse = "spidertron-remnants",
dying_explosion = "spidertron-explosion",
energy_per_hit_point = 1,
guns = { "spidertron-rocket-launcher-1", "spidertron-rocket-launcher-2", "spidertron-rocket-launcher-3", "spidertron-rocket-launcher-4" },
inventory_size = 80,
equipment_grid = "spidertron-equipment-grid",
height = 1.5,
torso_rotation_speed = 0.01,
chunk_exploration_radius = 3,
selection_priority = 51,
graphics_set = table.deepcopy(data.raw["spider-vehicle"].spidertron.graphics_set),
energy_source =
{
type = "void",
},
movement_energy_consumption = "250kW",
automatic_weapon_cycling = true,
chain_shooting_cooldown_modifier = 0.5,
spider_engine =
{
legs =
{
{ -- 1
leg = data_util.mod_prefix.."burbulator-leg-1",
mount_position = util.by_pixel(15, -22),--{0.5, -0.75},
ground_position = {2.25, -2.5},
blocking_legs = {2},
leg_hit_the_ground_trigger = get_leg_hit_the_ground_trigger()
},
{ -- 3
leg = data_util.mod_prefix.."burbulator-leg-3",
mount_position = util.by_pixel(24, -3),--{0.75, 0.25},
ground_position = {3, 1},
blocking_legs = {1, 3},
leg_hit_the_ground_trigger = get_leg_hit_the_ground_trigger()
},
{ -- 4
leg = data_util.mod_prefix.."burbulator-leg-4",
mount_position = util.by_pixel(15, 17),--{0.5, 0.75},
ground_position = {2.25, 2.5},
blocking_legs = {2},
leg_hit_the_ground_trigger = get_leg_hit_the_ground_trigger()
},
{ -- 5
leg = data_util.mod_prefix.."burbulator-leg-5",
mount_position = util.by_pixel(-15, -22),--{-0.5, -0.75},
ground_position = {-2.25, -2.5},
blocking_legs = {5},
leg_hit_the_ground_trigger = get_leg_hit_the_ground_trigger()
},
{ -- 7
leg = data_util.mod_prefix.."burbulator-leg-7",
mount_position = util.by_pixel(-24, 3),--{-0.75, 0.25},
ground_position = {-3, 1},
blocking_legs = {4,6},
leg_hit_the_ground_trigger = get_leg_hit_the_ground_trigger()
},
{ -- 8
leg = data_util.mod_prefix.."burbulator-leg-8",
mount_position = util.by_pixel(-15, 17),--{-0.5, 0.75},
ground_position = {-2.25, 2.5},
blocking_legs = {5},
leg_hit_the_ground_trigger = get_leg_hit_the_ground_trigger()
}
},
military_target = "spidertron-military-target",
}
},
make_spidertron_leg(1),
--make_spidertron_leg(2),
make_spidertron_leg(3),
make_spidertron_leg(4),
make_spidertron_leg(5),
--make_spidertron_leg(6),
make_spidertron_leg(7),
make_spidertron_leg(8),
})

219
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/iridium-piledriver.lua

@ -0,0 +1,219 @@
local data_util = require("data_util")
se_delivery_cannon_ammo_recipes[data_util.mod_prefix.."iridium-piledriver"] = {type = "ammo", name=data_util.mod_prefix.."iridium-piledriver", amount = 1}
table.insert(data.raw.technology[data_util.mod_prefix .. "delivery-cannon-weapon"].effects, { type = "unlock-recipe", recipe = data_util.mod_prefix .. "delivery-cannon-weapon-pack-" .. data_util.mod_prefix .. "iridium-piledriver"})
data:extend({
{
type = "recipe",
name = data_util.mod_prefix .. "iridium-piledriver",
result = data_util.mod_prefix .. "iridium-piledriver",
enabled = false,
energy_required = 20,
ingredients = {
{ data_util.mod_prefix .. "heavy-girder", 50 },
{ "rocket-control-unit", 1 },
{ "explosives", 10 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "ammo",
name = data_util.mod_prefix .. "iridium-piledriver",
ammo_type = {
action = {
action_delivery = {
projectile = data_util.mod_prefix .. "iridium-piledriver",
source_effects = {
entity_name = "explosion-hit",
type = "create-entity"
},
starting_speed = 0.05,
type = "projectile"
},
type = "direct"
},
category = "weapons-delivery-cannon",
cooldown_modifier = 3,
range_modifier = 3,
target_type = "position"
},
icon = "__base__/graphics/icons/cannon-shell.png",
icon_mipmaps = 4,
icon_size = 64,
order = "d[rocket-launcher]-c[atomic-bomb]",
stack_size = 1,
subgroup = "ammo",
},
{
type = "projectile",
name = data_util.mod_prefix .. "iridium-piledriver",
acceleration = 0.005,
action = {
action_delivery = {
target_effects = {
{
action = {
action_delivery = {
target_effects = {
{
damage = {
amount = 10000,
type = "physical"
},
type = "damage"
},
},
type = "instant"
},
radius = 2,
type = "area"
},
type = "nested-result"
},
{
action = {
action_delivery = {
target_effects = {
{
damage = {
amount = 1000,
type = "explosion"
},
type = "damage"
}
},
type = "instant"
},
radius = 4,
type = "area"
},
type = "nested-result"
},
{
action = {
action_delivery = {
target_effects = {
{
damage = {
amount = 500,
type = "explosion"
},
type = "damage"
}
},
type = "instant"
},
radius = 8,
type = "area"
},
type = "nested-result"
},
{
action = {
action_delivery = {
target_effects = {
{
damage = {
amount = 200,
type = "explosion"
},
type = "damage"
}
},
type = "instant"
},
radius = 16,
type = "area"
},
type = "nested-result"
},
{
initial_height = 0,
max_radius = 3.5,
offset_deviation = {
{
-4,
-4
},
{
4,
4
}
},
repeat_count = 240,
smoke_name = "artillery-smoke",
speed_from_center = 0.05,
speed_from_center_deviation = 0.005,
type = "create-trivial-smoke"
},
{
entity_name = "big-artillery-explosion",
type = "create-entity"
},
{
check_buildability = true,
entity_name = "small-scorchmark",
type = "create-entity"
},
{
scale = 0.25,
type = "show-explosion-on-chart"
}
},
type = "instant"
},
type = "direct"
},
animation = {
filename = "__base__/graphics/entity/rocket/rocket.png",
frame_count = 8,
height = 35,
line_length = 8,
priority = "high",
shift = {
0,
0
},
width = 9
},
flags = {
"not-on-map"
},
light = {
intensity = 0.8,
size = 15
},
shadow = {
filename = "__base__/graphics/entity/rocket/rocket-shadow.png",
frame_count = 1,
height = 24,
priority = "high",
shift = {
0,
0
},
width = 7
},
smoke = {
{
deviation = {
0.15,
0.15
},
frequency = 1,
name = "smoke-fast",
position = {
0,
1
},
slow_down_factor = 1,
starting_frame = 3,
starting_frame_deviation = 5,
starting_frame_speed = 0,
starting_frame_speed_deviation = 5
}
},
},
})

170
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/lifesupport.lua

@ -0,0 +1,170 @@
local data_util = require("data_util")
local make_recipe = data_util.make_recipe
--[[
Lifesupport mechanics:
Consume lifesupport canisters for food & air
Equiment boosts the lifessuport drain efficiency, stacks additivly.
All thruster suits have some base level life support efficiency, 1 module is built-in.
Non-thruster suits can have modules added but only function on land and efficiency banafits are halved. Only useful on hostile planets.
A spacesuit proper spacesuit is required in space.
]]
local lifesupport_equipment_prototypes = {
["lifesupport-equipment-1"] = {
tier = 1, grid_width = 2, grid_height = 2, power = "100kW",
ingredients = {
{"low-density-structure", 10},
{"pipe", 10},
{"coal", 10},
{"electric-engine-unit", 10},
},
science_packs = {
{ "automation-science-pack", 1 },
{ "logistic-science-pack", 1 },
{ "chemical-science-pack", 1 },
},
prerequisites = {
"battery-equipment",
data_util.mod_prefix .. "lifesupport-facility",
}
}, -- +100% efficiency
["lifesupport-equipment-2"] = {
tier = 2, grid_width = 2, grid_height = 2, power = "100kW",
ingredients = {
{data_util.mod_prefix .. "lifesupport-equipment-1", 1},
{data_util.mod_prefix.."space-pipe", 10},
{data_util.mod_prefix.."bioscrubber", 10},
{type = "fluid", name=data_util.mod_prefix.."bio-sludge", amount = 100},
},
science_packs = {
{ "automation-science-pack", 1 },
{ "logistic-science-pack", 1 },
{ "chemical-science-pack", 1 },
{ data_util.mod_prefix .. "rocket-science-pack", 1 },
{ data_util.mod_prefix .. "biological-science-pack-1", 1 },
},
prerequisites = {
data_util.mod_prefix .. "lifesupport-equipment-1",
data_util.mod_prefix.."bioscrubber"
}
}, -- +200% efficiency
["lifesupport-equipment-3"] = {
tier = 3, grid_width = 2, grid_height = 2, power = "100kW",
ingredients = {
{data_util.mod_prefix .. "lifesupport-equipment-2", 1},
{data_util.mod_prefix.."vitalic-reagent", 10},
{data_util.mod_prefix.."aeroframe-bulkhead", 10},
},
science_packs = {
{ "automation-science-pack", 1 },
{ "logistic-science-pack", 1 },
{ "chemical-science-pack", 1 },
{ data_util.mod_prefix .. "rocket-science-pack", 1 },
{ data_util.mod_prefix .. "biological-science-pack-2", 1 },
},
prerequisites = {
data_util.mod_prefix .. "lifesupport-equipment-2",
data_util.mod_prefix.."vitalic-reagent",
data_util.mod_prefix.."aeroframe-bulkhead"
}
}, -- +400% efficiency
["lifesupport-equipment-4"] = {
tier = 4, grid_width = 2, grid_height = 2, power = "100kW",
ingredients = {
{data_util.mod_prefix .. "lifesupport-equipment-3", 1},
{data_util.mod_prefix.."lattice-pressure-vessel", 10},
{data_util.mod_prefix.."self-sealing-gel", 10},
{data_util.mod_prefix.."naquium-tessaract", 1},
},
science_packs = {
{ "automation-science-pack", 1 },
{ "logistic-science-pack", 1 },
{ "chemical-science-pack", 1 },
{ data_util.mod_prefix .. "rocket-science-pack", 1 },
{ data_util.mod_prefix .. "biological-science-pack-4", 1 },
{ data_util.mod_prefix .. "deep-space-science-pack-2", 1 },
},
prerequisites = {
data_util.mod_prefix .. "lifesupport-equipment-3",
data_util.mod_prefix.."lattice-pressure-vessel",
data_util.mod_prefix.."self-sealing-gel",
data_util.mod_prefix.."naquium-tessaract",
}
}, -- +800% efficiency
}
for name, lep in pairs(lifesupport_equipment_prototypes) do
local lifesupport_equipment = table.deepcopy(data.raw["movement-bonus-equipment"]["exoskeleton-equipment"])
lifesupport_equipment.name = data_util.mod_prefix ..name
lifesupport_equipment.movement_bonus = 0
lifesupport_equipment.energy_consumption = lep.power
lifesupport_equipment.sprite = { filename = "__space-exploration-graphics__/graphics/equipment/"..name..".png", width = 128, height = 128, priority = "medium" }
--lifesupport_equipment.background_color = { r = 0.2, g = 0.3, b = 0.6, a = 1 }
lifesupport_equipment.shape = { width = lep.grid_width, height = lep.grid_width, type = "full" }
lifesupport_equipment.categories = {"armor-jetpack"} -- we only want to put lifesupports in armors, same as jetpacks. Let's jump on an existing restriction. Should be safe as long as jetpacks is a hard req.
local lifesupport_item = table.deepcopy(data.raw["item"]["exoskeleton-equipment"])
lifesupport_item.name = data_util.mod_prefix ..name
lifesupport_item.icon = "__space-exploration-graphics__/graphics/icons/"..name..".png"
lifesupport_item.icon_mipmaps = 1
lifesupport_item.icon_size = 64
lifesupport_item.placed_as_equipment_result = data_util.mod_prefix ..name
local lifesupport_recipe = table.deepcopy(data.raw["recipe"]["exoskeleton-equipment"])
lifesupport_recipe.name = data_util.mod_prefix ..name
lifesupport_recipe.icon = icon_path
lifesupport_recipe.icon_size = 64
lifesupport_recipe.icon_mipmaps = 1
lifesupport_recipe.enabled = false
lifesupport_recipe.result = data_util.mod_prefix .. name
lifesupport_recipe.ingredients = lep.ingredients
lifesupport_recipe.energy_required = lep.tier * 10
lifesupport_recipe.category = "lifesupport"
local lifesupport_tech = {
type = "technology",
name = data_util.mod_prefix .. name,
effects = { { type = "unlock-recipe", recipe = data_util.mod_prefix ..name } },
icon = "__space-exploration-graphics__/graphics/technology/"..name..".png",
icon_size = 128,
order = "e-g",
prerequisites = lep.prerequisites,
unit = {
count = lep.tier * 100,
time = 30,
ingredients = lep.science_packs
},
localised_description = {"technology-description."..data_util.mod_prefix..name}
}
data:extend({
lifesupport_equipment,
lifesupport_item,
lifesupport_recipe,
lifesupport_tech
})
end
data:extend({
{
type = "sprite",
name = data_util.mod_prefix .. "lifesupport-button-sprite",
filename = "__space-exploration-graphics__/graphics/icons/thruster-suit-black.png",
priority = "extra-high-no-scale",
width = 64,
height = 64,
},
{
type = "sound",
name = data_util.mod_prefix .. "canister-breath",
variations = { filename = "__space-exploration__/sound/canister-breath.ogg", volume = 0.25 }
}
})

103
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/linked-container.lua

@ -0,0 +1,103 @@
local data_util = require("data_util")
data:extend({
{
type = "item",
name = data_util.mod_prefix .. "linked-container",
icon = "__space-exploration-graphics__/graphics/icons/linked-container.png",
icon_size = 64, icon_mipmaps = 1,
subgroup = data.raw["item-subgroup"]["container-2"] and "container-2" or "storage",
order = "z-l",
place_result = data_util.mod_prefix .. "linked-container",
stack_size = 1,
},
{
type = "recipe",
name = data_util.mod_prefix .. "linked-container",
category = "space-manufacturing",
enabled = false,
ingredients = {
{ name = data_util.mod_prefix .. "heavy-assembly", amount = 10},
{ name = data_util.mod_prefix .. "lattice-pressure-vessel", amount = 10},
{ name = data_util.mod_prefix .. "dynamic-emitter", amount = 10},
{ name = data_util.mod_prefix .. "self-sealing-gel", amount = 10},
{ name = data_util.mod_prefix .. "nanomaterial", amount = 10},
{ name = data_util.mod_prefix .. "naquium-processor", amount = 10},
{ name = data_util.mod_prefix .. "antimatter-canister", amount = 10},
{ name = data_util.mod_prefix .. "arcosphere-a", amount = 10},
},
energy_required = 600,
result = data_util.mod_prefix .. "linked-container"
},
{
type = "linked-container",
name = data_util.mod_prefix .. "linked-container",
gui_mode = "none",
icon = "__space-exploration-graphics__/graphics/icons/linked-container.png",
icon_size = 64, icon_mipmaps = 1,
flags = {"placeable-neutral", "player-creation"},
minable = {mining_time = 1, result = data_util.mod_prefix .. "linked-container"},
max_health = 250,
corpse = "medium-remnants",
open_sound = { filename = "__base__/sound/metallic-chest-open.ogg", volume=0.43 },
close_sound = { filename = "__base__/sound/metallic-chest-close.ogg", volume = 0.43 },
se_allow_in_space = true,
collision_box = {{-0.8, -0.8}, {0.8, 0.8}},
selection_box = {{-1, -1}, {1, 1}},
damaged_trigger_effect = {
entity_name = "spark-explosion",
offset_deviation = { { -0.5, -0.5 }, { 0.5, 0.5 } },
offsets = { { 0, 1 } },
type = "create-entity"
},
inventory_size = 10,
vehicle_impact_sound = table.deepcopy(data.raw.container["steel-chest"].vehicle_impact_sound),
picture =
{
layers =
{
data_util.auto_sr_hr({
filename = "__space-exploration-graphics-5__/graphics/entity/linked-container/hr-linked-container.png",
width = 132,
height = 136,
shift = {0, 0/32},
scale = 0.5
}),
data_util.auto_sr_hr({
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/linked-container/hr-linked-container-shadow.png",
width = 132,
height = 88,
shift = {13/32, 9/32},
scale = 0.5
}),
}
}
},
{
type = "technology",
name = data_util.mod_prefix .. "linked-container",
effects = {{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "linked-container"}},
icon = "__space-exploration-graphics__/graphics/technology/linked-container.png",
icon_size = 128,
order = "e-g",
prerequisites = {
data_util.mod_prefix .. "teleportation",
},
unit = {
count = 5000,
time = 60,
ingredients = {
{ "logistic-science-pack", 1 },
{ "utility-science-pack", 1 },
{ "production-science-pack", 1 },
{ data_util.mod_prefix .. "rocket-science-pack", 1 },
{ data_util.mod_prefix .."astronomic-science-pack-4", 1 },
{ data_util.mod_prefix .."energy-science-pack-4", 1 },
{ data_util.mod_prefix .."deep-space-science-pack-4", 1 },
}
},
enabled = true
},
})

326
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/nexus.lua

@ -0,0 +1,326 @@
local data_util = require("data_util")
local original_graphic_size = 8
local structure_size = 8
local shift_y = 0.75
data:extend({
{
type = "item",
name = data_util.mod_prefix .. "nexus",
icon = "__space-exploration-graphics__/graphics/icons/nexus.png",
icon_size = 64,
order = "b-a",
subgroup = "computation",
stack_size = 1,
place_result = data_util.mod_prefix .. "nexus",
},
{
type = "recipe",
name = data_util.mod_prefix .. "nexus",
result = data_util.mod_prefix .. "nexus",
enabled = false,
energy_required = 60,
ingredients = {
{ data_util.mod_prefix .. "aeroframe-bulkhead", 10 },
{ data_util.mod_prefix .. "heavy-assembly", 10 },
{ data_util.mod_prefix .. "naquium-tessaract", 20 },
{ data_util.mod_prefix .. "naquium-processor", 1 },
{ data_util.mod_prefix .. "superconductive-cable", 20 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "recipe",
name = data_util.mod_prefix .. "interstellar-data",
energy_required = 10000,
ingredients = {
{ name = data_util.mod_prefix .. "empty-data", amount = 1 },
},
results = {
{ name = data_util.mod_prefix .. "interstellar-data", amount = 1 },
},
requester_paste_multiplier = 1,
always_show_made_in = true,
enabled = false,
category="nexus"
},
{
type = "recipe",
name = data_util.mod_prefix .. "distortion-drive",
energy_required = 600,
ingredients = {
{ name = data_util.mod_prefix .. "interstellar-data", amount = 1 },
},
results = {
{ name = data_util.mod_prefix .. "empty-data", amount = 1 },
},
requester_paste_multiplier = 1,
always_show_made_in = true,
enabled = false,
icon = "__space-exploration-graphics__/graphics/icons/astronomic/anomaly.png",
icon_size = 64,
category="nexus",
localised_name = {"recipe-name."..data_util.mod_prefix .. "distortion-drive"},
localised_description = {"recipe-description."..data_util.mod_prefix .. "distortion-drive"}
},
{
type = "technology",
name = data_util.mod_prefix .. "nexus",
effects = {
{
type = "unlock-recipe",
recipe = data_util.mod_prefix .. "nexus",
},
},
icon = "__space-exploration-graphics__/graphics/technology/nexus.png",
icon_size = 128,
order = "e-g",
prerequisites = {
data_util.mod_prefix .. "naquium-processor",
data_util.mod_prefix .. "heavy-assembly",
data_util.mod_prefix .. "spaceship",
},
unit = {
count = 2000,
time = 60,
ingredients = {
{ data_util.mod_prefix .. "astronomic-science-pack-4", 1 },
{ data_util.mod_prefix .. "energy-science-pack-4", 1 },
{ data_util.mod_prefix .. "deep-space-science-pack-3", 1 },
}
},
},
{
type = "assembling-machine",
name = data_util.mod_prefix .. "nexus",
icon = "__space-exploration-graphics__/graphics/icons/nexus.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {hardness = 0.2, mining_time = 1, result = data_util.mod_prefix .. "nexus"},
max_health = 700,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{structure_size/-2+0.3, structure_size/-2+0.3}, {structure_size/2-0.3, structure_size/2-0.3}},
selection_box = {{-structure_size/2, -structure_size/2}, {structure_size/2, structure_size/2}},
display_box = {{-structure_size/2, -structure_size/2-2}, {structure_size/2, structure_size/2}},
resistances =
{
{
type = "impact",
percent = 10
}
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1,
sound = {
filename = "__base__/sound/lab.ogg",
volume = 0.7
}
},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
},
se_allow_in_space = true,
animation ={
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/sr/nexus-base.png",
width = 467/2,
height = 290/2,
line_length = 1,
frame_count = 1,
repeat_count = 64,
animation_speed = 1,
shift = { 0/32, 50.5/32+shift_y },
scale = structure_size/original_graphic_size,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/hr/nexus-base.png",
width = 467,
height = 290,
line_length = 1,
frame_count = 1,
repeat_count = 64,
animation_speed = 1,
shift = { 0/32, 50.5/32+shift_y },
scale = 0.5 * structure_size/original_graphic_size,
},
},
{
height = 448/2,
width = 402/2,
frame_count = 64,
animation_speed = 1,
shift = { 1/32, -35/32+shift_y },
scale = structure_size/original_graphic_size,
stripes =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/sr/nexus-1.png",
width_in_frames = 4,
height_in_frames = 4,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/sr/nexus-2.png",
width_in_frames = 4,
height_in_frames = 4,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/sr/nexus-3.png",
width_in_frames = 4,
height_in_frames = 4,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/sr/nexus-4.png",
width_in_frames = 4,
height_in_frames = 4,
},
},
hr_version = {
height = 448,
width = 402,
frame_count = 64,
animation_speed = 1,
shift = { 1/32, -35/32+shift_y },
scale = 0.5 * structure_size/original_graphic_size,
stripes =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/hr/nexus-1.png",
width_in_frames = 4,
height_in_frames = 4,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/hr/nexus-2.png",
width_in_frames = 4,
height_in_frames = 4,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/hr/nexus-3.png",
width_in_frames = 4,
height_in_frames = 4,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/hr/nexus-4.png",
width_in_frames = 4,
height_in_frames = 4,
},
},
},
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/sr/nexus-shadow.png",
width = 599/2,
height = 345/2,
line_length = 1,
frame_count = 1,
repeat_count = 64,
animation_speed = 1,
shift = { 1.40625, 0.34375+shift_y },
scale = structure_size/original_graphic_size,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/hr/nexus-shadow.png",
width = 599,
height = 345,
line_length = 1,
frame_count = 1,
repeat_count = 64,
animation_speed = 1,
shift = { 1.40625, 0.34375+shift_y },
scale = 0.5 * structure_size/original_graphic_size,
},
}
}
},
idle_animation = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/sr/nexus-inactive.png",
frame_count = 1,
height = 541/2,
width = 467/2,
repeat_count = 64,
shift = { 0/32, -12/32+shift_y},
scale = structure_size/original_graphic_size,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/hr/nexus-inactive.png",
frame_count = 1,
height = 541,
width = 467,
repeat_count = 64,
shift = { 0/32, -12/32+shift_y},
scale = 0.5 * structure_size/original_graphic_size,
},
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/sr/nexus-shadow.png",
frame_count = 1,
width = 599/2,
height = 345/2,
repeat_count = 64,
shift = { 1.40625, 0.34375 +shift_y},
scale = structure_size/original_graphic_size,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/nexus/hr/nexus-shadow.png",
frame_count = 1,
width = 599,
height = 345,
repeat_count = 64,
shift = { 1.40625, 0.34375 +shift_y},
scale = 0.5 * structure_size/original_graphic_size,
},
}
}
},
crafting_categories = {"nexus"},
crafting_speed = 1,
energy_source =
{
type = "void",
},
energy_usage = "1W",
ingredient_count = 12,
module_specification =
{
module_slots = 0
},
allowed_effects = {},
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.5, size = 8, shift = {0.0, 0.0}, color = {r = 1, g = 0.9, b = 0.5}}
},
},
},
{
type = "electric-energy-interface",
name = data_util.mod_prefix .. "nexus-charger",
icon = "__space-exploration-graphics__/graphics/icons/nexus.png",
icon_size = 64,
flags = {"placeable-player", "player-creation", "placeable-off-grid", "not-deconstructable", "not-blueprintable"},
icon_size = 64,
order = "b-a",
selectable_in_game = false,
collision_box = {{structure_size/-2+0.3, structure_size/-2+0.3}, {structure_size/2-0.3, structure_size/2-0.3}},
selection_box = {{-structure_size/2, -structure_size/2}, {structure_size/2, structure_size/2}},
energy_source = {
buffer_capacity = "100MJ",
input_flow_limit = "100GW",
type = "electric",
usage_priority = "secondary-input"
},
energy_usage = "10MW"
},
})

1043
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/pipe.lua

File diff suppressed because it is too large

990
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/probe.lua

@ -0,0 +1,990 @@
local data_util = require("data_util")
data:extend({
{
type = "item",
name = data_util.mod_prefix.."space-probe-rocket-silo",
icon = "__space-exploration-graphics__/graphics/icons/probe-rocket-silo.png",
icon_size = 64,
icon_mipmaps = 1,
order = "c-a",
subgroup = "rocket-logistics",
stack_size = 1,
place_result = data_util.mod_prefix.."space-probe-rocket-silo",
},
{
type = "item",
name = data_util.mod_prefix.."space-probe-rocket",
icon = "__space-exploration-graphics__/graphics/icons/probe-rocket.png",
icon_size = 64,
order = "c-b",
subgroup = "rocket-logistics",
stack_size = 1,
},
{
type = "item",
name = data_util.mod_prefix .. "space-probe-rocket-deployed",
icon = "__space-exploration-graphics__/graphics/icons/probe-rocket.png",
icon_size = 64,
order = "c-b",
stack_size = 1,
category = "rocket-building",
subgroup = "rocket-logistics",
flags = { "hidden" },
},
{
type = "recipe",
name = data_util.mod_prefix.."space-probe-rocket-silo",
result = data_util.mod_prefix.."space-probe-rocket-silo",
enabled = false,
energy_required = 50,
ingredients = {
{ "electric-engine-unit", 200 },
{ "processing-unit", 200 },
{ data_util.mod_prefix .. "heat-shielding", 200 },
{ data_util.mod_prefix .. "holmium-cable", 200 },
{ data_util.mod_prefix .. "heavy-girder", 100 },
{ data_util.mod_prefix .. "aeroframe-scaffold", 100 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
type = "recipe",
name = data_util.mod_prefix.."space-probe-rocket",
result = data_util.mod_prefix.."space-probe-rocket",
enabled = false,
energy_required = 100,
ingredients = {
{ data_util.mod_prefix.."cargo-rocket-section", 15 },
{ data_util.mod_prefix .. "iridium-plate", 50 },
{ data_util.mod_prefix .. "aeroframe-scaffold", 40 },
{ data_util.mod_prefix .. "holmium-solenoid", 30 },
{ "rocket-fuel", 50 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
{
-- the dummy recipe for ethe rcoket silo section, required for launch
-- the component is inserted then the launch pad has the required parts.
type = "recipe",
name = data_util.mod_prefix.."space-probe-rocket-deploy",
result = data_util.mod_prefix .. "space-probe-rocket-deployed",
category = "rocket-building",
enabled = false,
energy_required = 100,
hidden = true,
ingredients = {
{ data_util.mod_prefix.."space-probe-rocket", 1 } -- could be anything really
},
always_show_made_in = true,
},
{
type = "technology",
name = data_util.mod_prefix .. "space-probe",
effects = {
{ type = "unlock-recipe", recipe = data_util.mod_prefix.."space-probe-rocket-silo"},
{ type = "unlock-recipe", recipe = data_util.mod_prefix.."space-probe-rocket" },
},
icon = "__space-exploration-graphics__/graphics/technology/probe-rocket.png",
icon_size = 128,
order = "e-g",
prerequisites = {
data_util.mod_prefix .. "aeroframe-scaffold",
data_util.mod_prefix .. "holmium-solenoid",
},
unit = {
count = 200,
time = 60,
ingredients = {
{ "automation-science-pack", 1 },
{ "logistic-science-pack", 1 },
{ "chemical-science-pack", 1 },
{ data_util.mod_prefix .. "rocket-science-pack", 1 },
{ data_util.mod_prefix .. "astronomic-science-pack-2", 1 },
{ data_util.mod_prefix .. "energy-science-pack-2", 1 },
}
}
},
{
type = "rocket-silo",
name = data_util.mod_prefix.."space-probe-rocket-silo",
icon = "__space-exploration-graphics__/graphics/icons/probe-rocket-silo.png",
icon_size = 64,
icon_mipmaps = 1,
flags = {"placeable-player", "player-creation"},
crafting_categories = {"rocket-building"},
rocket_parts_required = 1,
crafting_speed = 1,
rocket_result_inventory_size = 40,
module_specification =
{
module_slots = 4,
module_info_icon_shift = {0, 3.3}
},
fixed_recipe = data_util.mod_prefix.."space-probe-rocket-deploy",
show_recipe_icon = false,
allowed_effects = {"consumption", "speed", "pollution"},
minable = {mining_time = 1, result = data_util.mod_prefix.."space-probe-rocket-silo"},
max_health = 5000,
corpse = "rocket-silo-remnants",
dying_explosion = "rocket-silo-explosion",
collision_box = {{-4.40, -4.40}, {4.40, 4.40}},
selection_box = {{-4.5, -4.5}, {4.5, 4.5}},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
spaceship_collision_layer,
},
se_allow_in_space = true,
damaged_trigger_effect = table.deepcopy(data.raw["rocket-silo"]["rocket-silo"].damaged_trigger_effect),
hole_clipping_box = { {-2.75, -1.15}, {2.75, 2.25} },
resistances =
{
{
type = "fire",
percent = 60
},
{
type = "impact",
percent = 60
}
},
vehicle_impact_sound = table.deepcopy(data.raw["rocket-silo"]["rocket-silo"].vehicle_impact_sound),
energy_source =
{
type = "electric",
usage_priority = "primary-input"
},
energy_usage = "250kW", --energy usage used when crafting the rocket
idle_energy_usage = "10KW",
lamp_energy_usage = "10KW",
active_energy_usage = "3990KW",
rocket_entity = data_util.mod_prefix.."space-probe-rocket",
times_to_blink = 3,
light_blinking_speed = 1 / (3 * 60),
door_opening_speed = 1 / (4.25 * 60),
base_engine_light =
{
intensity = 1,
size = 25,
shift = {0, 1.5}
},
shadow_sprite =
{
filename = "__base__/graphics/entity/rocket-silo/00-rocket-silo-shadow.png",
priority = "medium",
width = 304,
height = 290,
draw_as_shadow = true,
dice = 2,
shift = util.by_pixel(8, 2),
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/hr-00-rocket-silo-shadow.png",
priority = "medium",
width = 612,
height = 578,
draw_as_shadow = true,
dice = 2,
shift = util.by_pixel(7, 2),
scale = 0.5
},
},
hole_sprite =
{
filename = "__base__/graphics/entity/rocket-silo/01-rocket-silo-hole.png",
width = 202,
height = 136,
shift = util.by_pixel(-6, 16),
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/hr-01-rocket-silo-hole.png",
width = 400,
height = 270,
shift = util.by_pixel(-5, 16),
scale = 0.5
}
},
hole_light_sprite =
{
filename = "__base__/graphics/entity/rocket-silo/01-rocket-silo-hole-light.png",
width = 202,
height = 136,
shift = util.by_pixel(-6, 16),
tint = {1,1,1,0},
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/hr-01-rocket-silo-hole-light.png",
width = 400,
height = 270,
shift = util.by_pixel(-5, 16),
tint = {1,1,1,0},
scale = 0.5
}
},
rocket_shadow_overlay_sprite =
{
filename = "__base__/graphics/entity/rocket-silo/03-rocket-over-shadow-over-rocket.png",
width = 212,
height = 142,
shift = util.by_pixel(-2, 22),
hr_version = {
filename = "__base__/graphics/entity/rocket-silo/hr-03-rocket-over-shadow-over-rocket.png",
width = 426,
height = 288,
shift = util.by_pixel(-2, 21),
scale = 0.5
}
},
rocket_glow_overlay_sprite =
{
filename = "__base__/graphics/entity/rocket-silo/03-rocket-over-glow.png",
blend_mode = "additive",
width = 218,
height = 222,
shift = util.by_pixel(-4, 36),
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/hr-03-rocket-over-glow.png",
blend_mode = "additive",
width = 434,
height = 446,
shift = util.by_pixel(-3, 36),
scale = 0.5
}
},
door_back_sprite =
{
filename = "__base__/graphics/entity/rocket-silo/04-door-back.png",
width = 158,
height = 144,
shift = util.by_pixel(36, 12),
hr_version = {
filename = "__base__/graphics/entity/rocket-silo/hr-04-door-back.png",
width = 312,
height = 286,
shift = util.by_pixel(37, 12),
scale = 0.5
}
},
door_back_open_offset = {1.8, -1.8 * 0.43299225},
door_front_sprite =
{
filename = "__base__/graphics/entity/rocket-silo/05-door-front.png",
width = 166,
height = 152,
shift = util.by_pixel(-28, 32),
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/hr-05-door-front.png",
width = 332,
height = 300,
shift = util.by_pixel(-28, 33),
scale = 0.5
}
},
door_front_open_offset = {-1.8, 1.8 * 0.43299225},
base_day_sprite = {layers = {
{
filename = "__base__/graphics/entity/rocket-silo/06-rocket-silo.png",
width = 300,
height = 300,
shift = util.by_pixel(2, -2),
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/hr-06-rocket-silo.png",
width = 608,
height = 596,
shift = util.by_pixel(3, -1),
scale = 0.5
}
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/probe/sr/06-rocket-silo-mask.png",
width = 608/2,
height = 596/2,
shift = util.by_pixel(3, -1),
tint = {r=0.4,b=0.9,g=0.6},
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/probe/hr/06-rocket-silo-mask.png",
width = 608,
height = 596,
shift = util.by_pixel(3, -1),
tint = {r=0.4,b=0.9,g=0.6},
scale = 0.5
}
},
}},
red_lights_back_sprites =
{
layers =
{
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {1.34375, 0.28125-1.375},
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {1.34375, 0.28125-1.375},
scale = 0.5
}
},
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {2.3125, 0.9375-1.375},
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {2.3125, 0.9375-1.375},
scale = 0.5
}
},
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {2.65625, 1.90625-1.375},
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {2.65625, 1.90625-1.375},
scale = 0.5
}
},
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {-2.65625, 1.90625-1.375},
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {-2.65625, 1.90625-1.375},
scale = 0.5
}
},
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {-2.3125, 0.9375-1.375},
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {-2.3125, 0.9375-1.375},
scale = 0.5
}
},
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {-1.34375, 0.28125-1.375},
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {-1.34375, 0.28125-1.375},
scale = 0.5
}
},
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {0, 0-1.375},
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {0, 0-1.375},
scale = 0.5
}
}
}
},
red_lights_front_sprites =
{
layers =
{
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {2.3125, 2.8125-1.375},
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {2.3125, 2.8125-1.375},
scale = 0.5
}
},
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {1.34375, 3.40625-1.375},
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {1.34375, 3.40625-1.375},
scale = 0.5
}
},
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {0, 3.75-1.375},
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {0, 3.75-1.375},
scale = 0.5
}
},
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {-1.34375, 3.40625-1.375},
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {0, 3.75-1.375},
scale = 0.5
}
},
{
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {-2.3125, 2.8125-1.375},
hr_version = {
filename = "__base__/graphics/entity/rocket-silo/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {-2.3125, 2.8125-1.375},
scale = 0.5
}
}
}
},
satellite_animation =
{
filename = "__base__/graphics/entity/rocket-silo/15-rocket-silo-turbine.png",
priority = "medium",
width = 28,
height = 46,
frame_count = 32,
line_length = 8,
animation_speed = 0.4,
shift = util.by_pixel(-100, 110),
hr_version = {
filename = "__base__/graphics/entity/rocket-silo/hr-15-rocket-silo-turbine.png",
priority = "medium",
width = 54,
height = 88,
frame_count = 32,
line_length = 8,
animation_speed = 0.4,
shift = util.by_pixel(-100, 111),
scale = 0.5
}
},
arm_01_back_animation =
{
filename = "__base__/graphics/entity/rocket-silo/08-rocket-silo-arms-back.png",
priority = "medium",
width = 66,
height = 76,
frame_count = 32,
line_length = 32,
animation_speed = 0.3,
shift = util.by_pixel(-54, -84),
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/hr-08-rocket-silo-arms-back.png",
priority = "medium",
width = 128,
height = 150,
frame_count = 32,
line_length = 32,
animation_speed = 0.3,
shift = util.by_pixel(-53, -84),
scale = 0.5
}
},
arm_02_right_animation =
{
filename = "__base__/graphics/entity/rocket-silo/08-rocket-silo-arms-right.png",
priority = "medium",
width = 94,
height = 94,
frame_count = 32,
line_length = 32,
animation_speed = 0.3,
shift = util.by_pixel(100, -38),
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/hr-08-rocket-silo-arms-right.png",
priority = "medium",
width = 182,
height = 188,
frame_count = 32,
line_length = 32,
animation_speed = 0.3,
shift = util.by_pixel(101, -38),
scale = 0.5
}
},
arm_03_front_animation =
{
filename = "__base__/graphics/entity/rocket-silo/13-rocket-silo-arms-front.png",
priority = "medium",
width = 66,
height = 114,
frame_count = 32,
line_length = 32,
animation_speed = 0.3,
shift = util.by_pixel(-52, 16),
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/hr-13-rocket-silo-arms-front.png",
priority = "medium",
width = 126,
height = 228,
frame_count = 32,
line_length = 32,
animation_speed = 0.3,
shift = util.by_pixel(-51, 16),
scale = 0.5
}
},
base_front_sprite = {
layers = {
{
filename = "__base__/graphics/entity/rocket-silo/14-rocket-silo-front.png",
width = 292,
height = 132,
shift = util.by_pixel(-2, 78),
hr_version =
{
filename = "__base__/graphics/entity/rocket-silo/hr-14-rocket-silo-front.png",
width = 580,
height = 262,
shift = util.by_pixel(-1, 78),
scale = 0.5
}
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/probe/sr/14-rocket-silo-front-mask.png",
width = 580/2,
height = 262/2,
shift = util.by_pixel(-1, 78),
tint = {r=0.4,b=0.9,g=0.6},
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/probe/hr/14-rocket-silo-front-mask.png",
width = 580,
height = 262,
shift = util.by_pixel(-1, 78),
tint = {r=0.4,b=0.9,g=0.6},
scale = 0.5
}
},
}
},
silo_fade_out_start_distance = 8,
silo_fade_out_end_distance = 15,
alarm_sound =
{
filename = "__base__/sound/silo-alarm.ogg",
volume = 1.0
},
clamps_on_sound =
{
filename = "__base__/sound/silo-clamps-on.ogg",
volume = 1.0
},
clamps_off_sound =
{
filename = "__base__/sound/silo-clamps-off.ogg",
volume = 0.8
},
doors_sound =
{
filename = "__base__/sound/silo-doors.ogg",
volume = 0.8
},
raise_rocket_sound =
{
filename = "__base__/sound/silo-raise-rocket.ogg",
volume = 1.0
},
open_sound = table.deepcopy(data.raw["rocket-silo"]["rocket-silo"].open_sound),
close_sound = table.deepcopy(data.raw["rocket-silo"]["rocket-silo"].close_sound),
working_sound =
{
sound =
{
filename = "__base__/sound/rocket-silo-working-1.ogg",
volume = 0.8
},
fade_in_ticks = 10,
fade_out_ticks = 15,
},
flying_sound =
{
filename = "__base__/sound/silo-rocket.ogg",
volume = 1.0,
audible_distance_modifier = 3,
}
},
{
type = "rocket-silo-rocket",
name = data_util.mod_prefix.."space-probe-rocket",
flags = {"not-on-map"},
collision_mask = {"not-colliding-with-itself"},
collision_box = {{-2, -7}, {2, 4}},
selection_box = {{0, 0}, {0, 0}},
dying_explosion = "massive-explosion",
shadow_slave_entity = "rocket-silo-rocket-shadow",
inventory_size = 1,
rising_speed = 1 / (7 * 60),
engine_starting_speed = 1 / (5.5 * 60),
flying_speed = 1 / (2000 * 60),
flying_acceleration = 0.01,
glow_light =
{
intensity = 1,
size = 30,
shift = {0, 1.5},
color = {r = 1.0, g = 1.0, b = 1.0}
},
rocket_sprite = util.add_shift_offset(util.by_pixel(0, 32*3.5), --util.mul_shift(rocket_rise_offset, -1),
{
filename = "__space-exploration-graphics-5__/graphics/entity/probe/sr/probe-rocket.png",
width = 310/2,
height = 596/2,
shift = util.by_pixel(-5, -27),
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/probe/hr/probe-rocket.png",
width = 310,
height = 596,
shift = util.by_pixel(-5, -27),
scale = 0.5
}
}),
rocket_shadow_sprite = util.add_shift_offset(util.by_pixel(-146, -120),
{
filename = "__base__/graphics/entity/rocket-silo/09-rocket-shadow.png",
priority = "medium",
width = 336,
height = 110,
draw_as_shadow = true,
shift = util.by_pixel(146, 120),
hr_version = {
filename = "__base__/graphics/entity/rocket-silo/hr-09-rocket-shadow.png",
priority = "medium",
width = 672,
height = 216,
draw_as_shadow = true,
shift = util.by_pixel(146, 121),
scale = 0.5
}
}),
rocket_glare_overlay_sprite = util.add_shift_offset(util.by_pixel(0, 112+112),
{
filename = "__base__/graphics/entity/rocket-silo/03-rocket-over-glare.png",
blend_mode = "additive",
width = 481,
height = 481,
shift = util.by_pixel(-2, -2),
flags = { "linear-magnification", "linear-minification" },
--hr_version =
--{
-- filename = "__base__/graphics/entity/rocket-silo/hr-03-rocket-over-glare.png",
-- blend_mode = "additive",
-- width = 954,
-- height = 954,
-- shift = util.by_pixel(0, 0),
-- scale = 0.5
--}
}),
rocket_smoke_top1_animation = util.add_shift_offset(util.by_pixel(0-66, -112+28+232+32),
{
filename = "__base__/graphics/entity/rocket-silo/12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.8 },
--tint = { r = 1, g = 0, b = 0, a = 0.8 },
width = 41,
height = 145,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5*1.3,
shift = util.by_pixel(-2, -2),
hr_version = {
filename = "__base__/graphics/entity/rocket-silo/hr-12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.8 },
--tint = { r = 1, g = 0, b = 0, a = 0.8 },
width = 80,
height = 286,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5/2*1.3,
shift = util.by_pixel(-1, -3),
}
}),
rocket_smoke_top2_animation = util.add_shift_offset(util.by_pixel(0+17, -112+28+265+32),
{
filename = "__base__/graphics/entity/rocket-silo/12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.8 },
--tint = { r = 0, g = 1, b = 0, a = 0.8 },
width = 41,
height = 145,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5*1.3,
shift = util.by_pixel(-2, -2),
hr_version = {
filename = "__base__/graphics/entity/rocket-silo/hr-12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.8 },
--tint = { r = 0, g = 1, b = 0, a = 0.8 },
width = 80,
height = 286,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5/2*1.3,
shift = util.by_pixel(-1, -3),
}
}),
rocket_smoke_top3_animation = util.add_shift_offset(util.by_pixel(0+48, -112+28+252+32),
{
filename = "__base__/graphics/entity/rocket-silo/12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.8 },
--tint = { r = 0, g = 0, b = 1, a = 0.8 },
width = 41,
height = 145,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5*1.3,
shift = util.by_pixel(-2, -2),
hr_version = {
filename = "__base__/graphics/entity/rocket-silo/hr-12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.8 },
--tint = { r = 0, g = 0, b = 1, a = 0.8 },
width = 80,
height = 286,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5/2*1.3,
shift = util.by_pixel(-1, -3),
}
}),
rocket_smoke_bottom1_animation = util.add_shift_offset(util.by_pixel(0-69, -112+28+205+32),
{
filename = "__base__/graphics/entity/rocket-silo/12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.7 },
--tint = { r = 1, g = 1, b = 0, a = 0.8 },
width = 41,
height = 145,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5*1.3,
shift = util.by_pixel(-2, -2),
hr_version = {
filename = "__base__/graphics/entity/rocket-silo/hr-12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.7 },
--tint = { r = 1, g = 1, b = 0, a = 0.8 },
width = 80,
height = 286,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5/2*1.3,
shift = util.by_pixel(-1, -3),
}
}),
rocket_smoke_bottom2_animation = util.add_shift_offset(util.by_pixel(0+62, -112+28+207+32),
{
filename = "__base__/graphics/entity/rocket-silo/12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.7 },
--tint = { r = 0, g = 1, b = 1, a = 0.8 },
width = 41,
height = 145,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5*1.3,
shift = util.by_pixel(-2, -2),
hr_version = {
filename = "__base__/graphics/entity/rocket-silo/hr-12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.7 },
--tint = { r = 0, g = 1, b = 1, a = 0.8 },
width = 80,
height = 286,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5/2*1.3,
shift = util.by_pixel(-1, -3),
}
}),
rocket_flame_animation = util.add_shift_offset(util.by_pixel(-1, 280-16),
{
filename = "__base__/graphics/entity/rocket-silo/10-jet-flame.png",
priority = "medium",
blend_mode = "additive",
width = 87,
height = 128,
frame_count = 8,
line_length = 8,
animation_speed = 0.5,
scale = 1.13,
shift = util.by_pixel(-0.5, -2),
hr_version = {
filename = "__base__/graphics/entity/rocket-silo/hr-10-jet-flame.png",
priority = "medium",
blend_mode = "additive",
width = 172,
height = 256,
frame_count = 8,
line_length = 8,
animation_speed = 0.5,
scale = 1.13/2,
shift = util.by_pixel(-1, -2),
}
}),
rocket_flame_left_animation = util.add_shift_offset(util.by_pixel(-32-28+3, 280-68+1),
{
filename = "__base__/graphics/entity/rocket-silo/10-jet-flame.png",
priority = "medium",
blend_mode = "additive",
width = 87,
height = 128,
frame_count = 8,
line_length = 8,
animation_speed = 0.5,
scale = 0.345*1.15,
shift = util.by_pixel(-0.5, -2),
hr_version = {
filename = "__base__/graphics/entity/rocket-silo/hr-10-jet-flame.png",
priority = "medium",
blend_mode = "additive",
width = 172,
height = 256,
frame_count = 8,
line_length = 8,
animation_speed = 0.5,
scale = 0.345/2*1.15,
shift = util.by_pixel(-1, -2),
}
}),
rocket_flame_left_rotation = 0.0611,
rocket_flame_right_animation = util.add_shift_offset(util.by_pixel(32+16, 280-50),
{
filename = "__base__/graphics/entity/rocket-silo/10-jet-flame.png",
priority = "medium",
blend_mode = "additive",
width = 87,
height = 128,
frame_count = 8,
line_length = 8,
animation_speed = 0.5,
scale = 0.368*1.15,
shift = util.by_pixel(-0.5, -2),
hr_version = {
filename = "__base__/graphics/entity/rocket-silo/hr-10-jet-flame.png",
priority = "medium",
blend_mode = "additive",
width = 172,
height = 256,
frame_count = 8,
line_length = 8,
animation_speed = 0.5,
scale = 0.368/2*1.15,
shift = util.by_pixel(-1, -2),
}
}),
rocket_flame_right_rotation = 0.952,
rocket_initial_offset = {0, 1.5},
rocket_rise_offset = {0, -3.5},
rocket_launch_offset = {0, -256},
rocket_render_layer_switch_distance = 7.5,
full_render_layer_switch_distance = 9,
effects_fade_in_start_distance = 4.5,
effects_fade_in_end_distance = 7.5,
shadow_fade_out_start_ratio = 0.25,
shadow_fade_out_end_ratio = 0.75,
rocket_visible_distance_from_center = 2.75,
rocket_above_wires_slice_offset_from_center = -3,
rocket_air_object_slice_offset_from_center = -5.5
},
})

73
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/rail.lua

@ -0,0 +1,73 @@
local data_util = require("data_util")
local collision_floor = {
--"item-layer", -- stops player from dropping items on belts.
"floor-layer",
--"object-layer",
"water-tile",
"rail-layer"
}
--data.raw["curved-rail"]["curved-rail"].fast_replaceable_group = "curved-rail" -- makes crossing placement overwrite instead of cross
--data.raw["straight-rail"]["straight-rail"].fast_replaceable_group = "straight-rail" -- makes crossing placement overwrite instead of cross
data.raw["rail-signal"]["rail-signal"].collision_mask = collision_floor
data.raw["rail-chain-signal"]["rail-chain-signal"].collision_mask = collision_floor
local curved_rail = table.deepcopy(data.raw["curved-rail"]["curved-rail"])
curved_rail.name = data_util.mod_prefix .. "space-curved-rail"
curved_rail.icon = "__space-exploration-graphics__/graphics/icons/space-rail.png"
curved_rail.icon_size = 64
curved_rail.icon_mipmaps = 1
curved_rail.minable = { mining_time = 0.2, count = 4, result = data_util.mod_prefix .. "space-rail"}
curved_rail.placeable_by = { count = 4, item = data_util.mod_prefix .. "space-rail"}
curved_rail.collision_mask = collision_floor
curved_rail.fast_replaceable_group = "space-curved-rail"
curved_rail.next_upgrade = nil
--data.raw["curved-rail"]["curved-rail"].next_upgrade = curved_rail.name
data_util.replace_filenames_recursive(curved_rail.pictures, "__base__/graphics/entity/curved-rail/hr-", "__space-exploration-graphics__/graphics/entity/space-rail/hr/")
data_util.replace_filenames_recursive(curved_rail.pictures, "__base__/graphics/entity/rail-endings/hr-rail-endings-background.png",
"__space-exploration-graphics__/graphics/entity/space-rail/hr/rail-endings-background.png")
data_util.replace_filenames_recursive(curved_rail.pictures, "__base__/graphics/entity/curved-rail/", "__space-exploration-graphics__/graphics/entity/space-rail/sr/")
data_util.replace_filenames_recursive(curved_rail.pictures, "__base__/graphics/entity/rail-endings/rail-endings-background.png",
"__space-exploration-graphics__/graphics/entity/space-rail/sr/rail-endings-background.png")
local straight_rail = table.deepcopy(data.raw["straight-rail"]["straight-rail"])
straight_rail.name = data_util.mod_prefix .. "space-straight-rail"
straight_rail.icon = "__space-exploration-graphics__/graphics/icons/space-rail.png"
straight_rail.icon_size = 64
straight_rail.icon_mipmaps = 1
straight_rail.minable = {
mining_time = 0.2,
result = data_util.mod_prefix .. "space-rail"
}
straight_rail.placeable_by = { count = 1, item = data_util.mod_prefix .. "space-rail"}
straight_rail.collision_mask = collision_floor
straight_rail.fast_replaceable_group = "space-rail"
straight_rail.next_upgrade = nil
--data.raw["straight-rail"]["straight-rail"].next_upgrade = straight_rail.name
data_util.replace_filenames_recursive(straight_rail.pictures, "__base__/graphics/entity/straight-rail/hr-", "__space-exploration-graphics__/graphics/entity/space-rail/hr/")
data_util.replace_filenames_recursive(straight_rail.pictures, "__base__/graphics/entity/rail-endings/hr-rail-endings-background.png",
"__space-exploration-graphics__/graphics/entity/space-rail/hr/rail-endings-background.png")
data_util.replace_filenames_recursive(straight_rail.pictures, "__base__/graphics/entity/straight-rail/", "__space-exploration-graphics__/graphics/entity/space-rail/sr/")
data_util.replace_filenames_recursive(straight_rail.pictures, "__base__/graphics/entity/rail-endings/rail-endings-background.png",
"__space-exploration-graphics__/graphics/entity/space-rail/sr/rail-endings-background.png")
local rail_planner = table.deepcopy(data.raw["rail-planner"]["rail"])
rail_planner.name = data_util.mod_prefix .. "space-"..rail_planner.name
rail_planner.curved_rail = curved_rail.name
rail_planner.straight_rail = straight_rail.name
rail_planner.place_result = straight_rail.name
rail_planner.localised_name = { "item-name.".. data_util.mod_prefix .. "space-rail"}
rail_planner.icon = "__space-exploration-graphics__/graphics/icons/space-rail.png"
rail_planner.icon_size = 64
rail_planner.icon_mipmaps = 1
rail_planner.subgroup = "rail"
data:extend({
rail_planner,
straight_rail,
curved_rail
})

403
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/spaceship-clamps.lua

@ -0,0 +1,403 @@
local data_util = require("data_util")
local blank = {
direction_count = 8,
frame_count = 1,
filename = "__space-exploration-graphics__/graphics/blank.png",
width = 1,
height = 1,
priority = "low"
}
local blank_set = {
backplates = blank,
metals = blank,
stone_path = blank,
ties = blank,
}
local picture_left = {
filename = "__space-exploration-graphics__/graphics/entity/spaceship-clamps/spaceship-clamps.png",
width = 192/2,
height = 160/2,
x = 192/2,
y = 160/2,
priority = "high",
shift = {0,0},
variation_count = 1,
hr_version = {
filename = "__space-exploration-graphics__/graphics/entity/spaceship-clamps/hr-spaceship-clamps.png",
width = 192,
height = 160,
x = 192,
y = 160,
priority = "high",
scale = 0.5,
shift = {0,0},
variation_count = 1,
},
}
local pictures_left = {
backplates = blank,
metals = picture_left,
ties = blank,
stone_path = blank
}
local picture_right = {
filename = "__space-exploration-graphics__/graphics/entity/spaceship-clamps/spaceship-clamps.png",
width = 192/2,
height = 160/2,
y = 160/2,
priority = "high",
shift = {0,0},
variation_count = 1,
hr_version = {
filename = "__space-exploration-graphics__/graphics/entity/spaceship-clamps/hr-spaceship-clamps.png",
width = 192,
height = 160,
y = 160,
priority = "high",
scale = 0.5,
shift = {0,0},
variation_count = 1,
},
}
local pictures_right = {
backplates = blank,
metals = picture_right,
ties = blank,
stone_path = blank
}
local connection_point = {
wire = { red = {0,0}, green = {0,0}, },
shadow = { red = {0,0}, green = {0,0}, },
}
data:extend({
{
type = "item",
name = data_util.mod_prefix .. "spaceship-clamp",
icon = "__space-exploration-graphics__/graphics/icons/spaceship-clamp.png",
icon_size = 64,
order = "c-a",
subgroup = "spaceship-structure",
stack_size = 50,
place_result = data_util.mod_prefix .. "spaceship-clamp-place",
},
{
type = "recipe",
name = data_util.mod_prefix .. "spaceship-clamp",
result = data_util.mod_prefix .. "spaceship-clamp",
enabled = false,
energy_required = 30,
ingredients = {
{ data_util.mod_prefix .. "aeroframe-scaffold", 10 },
{ data_util.mod_prefix .. "heavy-girder", 6 },
{ "electric-engine-unit", 10 },
{ "processing-unit", 10 },
},
requester_paste_multiplier = 1,
always_show_made_in = false,
},
--[[
{
type = "item",
name = data_util.mod_prefix .. "spaceship-clamp-anchor",
icon = "__space-exploration-graphics__/graphics/icons/spaceship-clamp-anchor.png",
icon_size = 64,
order = "c-b",
subgroup = "energy",
stack_size = 50,
place_result = data_util.mod_prefix .. "spaceship-clamp-anchor",
},
{
type = "recipe",
name = data_util.mod_prefix .. "spaceship-clamp-anchor",
result = data_util.mod_prefix .. "spaceship-clamp-anchor",
enabled = false,
energy_required = 30,
ingredients = {
{ data_util.mod_prefix .. "aeroframe-scaffold", 6 },
{ data_util.mod_prefix .. "heavy-girder", 10 },
{ "electric-engine-unit", 10 },
{ "processing-unit", 10 },
},
requester_paste_multiplier = 1,
always_show_made_in = true,
},]]
{
type = "technology",
name = data_util.mod_prefix .. "spaceship-clamps",
effects = {
{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "spaceship-clamp" },
--{ type = "unlock-recipe", recipe = data_util.mod_prefix .. "spaceship-clamp-anchor" },
},
icon = "__space-exploration-graphics__/graphics/technology/spaceship-clamps.png",
icon_size = 128,
order = "e-g",
prerequisites = {
data_util.mod_prefix .. "spaceship",
data_util.mod_prefix .. "heavy-girder",
},
unit = {
count = 500,
time = 60,
ingredients = {
{ "automation-science-pack", 1 },
{ "logistic-science-pack", 1 },
{ "chemical-science-pack", 1 },
{ data_util.mod_prefix .. "rocket-science-pack", 1 },
{ data_util.mod_prefix .. "astronomic-science-pack-3", 1 },
{ data_util.mod_prefix .. "material-science-pack-1", 1 },
}
},
},
{
type = "straight-rail",
name = data_util.mod_prefix .. "spaceship-clamp-place",
minable = {mining_time = 0.5, result = data_util.mod_prefix .. "spaceship-clamp"},
se_allow_in_space = true,
corpse = "straight-rail-remnants",
collision_box = {{-0.99,-0.99},{0.99,0.99}},
collision_mask = {"player-layer", "floor-layer", "item-layer"},
selection_box = {{-1,-1},{1,1}},
damaged_trigger_effect = {
entity_name = "wall-damaged-explosion",
offset_deviation = {
{
-0.5,
-0.5
},
{
0.5,
0.5
}
},
offsets = {
{
0,
1
}
},
type = "create-entity"
},
dying_explosion = "rail-explosion",
flags = {
"placeable-neutral",
"player-creation",
},
icon = "__space-exploration-graphics__/graphics/icons/spaceship-clamp.png",
icon_mipmaps = 1,
icon_size = 64,
max_health = 100,
pictures = {
curved_rail_horizontal_left_bottom = blank_set,
curved_rail_horizontal_left_top = blank_set,
curved_rail_horizontal_right_bottom = blank_set,
curved_rail_horizontal_right_top = blank_set,
curved_rail_vertical_left_bottom = blank_set,
curved_rail_vertical_left_top = blank_set,
curved_rail_vertical_right_bottom = blank_set,
curved_rail_vertical_right_top = blank_set,
rail_endings = {
sheets = {
{
filename = "__space-exploration-graphics__/graphics/blank.png",
width = 1,
height = 1,
flags = {
"low-object"
},
priority = "low",
},
}
},
straight_rail_diagonal_left_bottom = blank_set,
straight_rail_diagonal_left_top = blank_set,
straight_rail_diagonal_right_bottom = blank_set,
straight_rail_diagonal_right_top = blank_set,
straight_rail_horizontal = pictures_left,
straight_rail_vertical = pictures_right,
},
resistances = {
{
percent = 100,
type = "fire"
},
{
percent = 80,
type = "acid"
}
},
},
{
type = "constant-combinator",
name = data_util.mod_prefix .. "spaceship-clamp",
placeable_by = {item=data_util.mod_prefix .. "spaceship-clamp", count = 1},
minable = {mining_time = 0.5, result = data_util.mod_prefix .. "spaceship-clamp"},
flags = {
"placeable-neutral",
"player-creation",
},
icon = "__space-exploration-graphics__/graphics/icons/spaceship-clamp.png",
icon_mipmaps = 1,
icon_size = 64,
order="c",
max_health = 1000,
corpse = "small-remnants",
collision_box = {{-0.99,-0.99},{0.99,0.99}},
collision_mask = {"player-layer", "floor-layer", "item-layer"},
selection_box = {{-1,-1},{1,1}},
scale_info_icons = false,
item_slot_count = 1,
sprites =
{
north = picture_left,
east = picture_right,
south = picture_right,
west = picture_left
},
activity_led_sprites =
{
north = blank,
east = blank,
south = blank,
west = blank
},
activity_led_light =
{
intensity = 0.8,
size = 1,
},
activity_led_light_offsets =
{
{0, 0},
{0, 0},
{0, 0},
{0, 0}
},
circuit_wire_connection_points =
{
{
wire = { red = {0,0}, green = {0,0}, },
shadow = { red = {0,0}, green = {0,0}, },
},
{
wire = { red = {-0.5,0.8}, green = {-0.7,0.8}, },
shadow = { red = {-0.5,0.8}, green = {-0.7,0.8}, },
},
{
wire = { red = {0,0}, green = {0,0}, },
shadow = { red = {0,0}, green = {0,0}, },
},
{
wire = { red = {0.7,0.8}, green = {0.5,0.8}, },
shadow = { red = {0.7,0.8}, green = {0.5,0.8}, },
},
},
circuit_wire_max_distance = 8
},
{
type = "electric-pole",
name = data_util.mod_prefix .. "spaceship-clamp-power-pole-internal",
selectable_in_game = false,
maximum_wire_distance = 1.4,
-- this pole is positioned on the front side of the clamp
-- which is not necessarily over the top of spaceship flooring
-- so if it has too small of a collision box, it will not be cloned
-- with the ship (since the ship only clones things on tiles it cares about)
-- so the collision box needs to be large enough such that the pole
-- overlaps with the tiles on the back side of the clamp
-- NOTE: if the collision box is too small it won't break anything,
-- but it will force this power pole to be recreated every time the ship launches/lands
-- which will mess with the autoconnection of electric wires
collision_box = {{-0.6,-0.6},{0.6,0.6}},
collision_mask = {},
flags = { "placeable-neutral", "player-creation", "placeable-off-grid" },
icon = "__space-exploration-graphics__/graphics/icons/spaceship-clamp.png",
icon_mipmaps = 1,
icon_size = 64,
pictures =
{
direction_count = 1,
frame_count = 1,
filename = "__space-exploration-graphics__/graphics/blank.png",
width = 1,
height = 1,
priority = "low"
},
supply_area_distance = 0,
connection_points = {
{
wire = { red = {0,0}, green = {0,0}, copper = {0,0}, },
shadow = { red = {0,0}, green = {0,0}, copper = {0,0}, },
},
},
draw_copper_wires = false,
draw_circuit_wires = false,
},
{
type = "electric-pole",
name = data_util.mod_prefix .. "spaceship-clamp-power-pole-external-west",
fast_replaceable_group = data_util.mod_prefix .. "spaceship-clamp-power-pole-external-west",
placeable_by = {item = data_util.mod_prefix .. "struct-generic-clamp-west", count = 1},
selection_box = {{-0.5,-0.5},{0.5,0.5}},
collision_box = {{-0.25,-0.25},{0.25,0.25}},
selection_priority = 150,
maximum_wire_distance = 64,
collision_mask = {composite_entity_circuit_connection_layer},
flags = { "placeable-neutral", "player-creation", "placeable-off-grid", "not-rotatable", "not-deconstructable" },
icon = "__space-exploration-graphics__/graphics/icons/spaceship-clamp.png",
icon_mipmaps = 1,
icon_size = 64,
pictures =
{
direction_count = 1,
frame_count = 1,
filename = "__space-exploration-graphics__/graphics/blank.png",
width = 1,
height = 1,
priority = "low"
},
supply_area_distance = 0,
connection_points = {
{
wire = { red = {0.40,-0.32}, green = {0.40,-0.13}, copper = {0.17,-0.4}, },
shadow = { red = {0.40,-0.32}, green = {0.40,-0.13}, copper = {0.17,-0.4}, },
},
},
draw_copper_wires = true,
draw_circuit_wires = true,
},
{
type = "electric-pole",
name = data_util.mod_prefix .. "spaceship-clamp-power-pole-external-east",
fast_replaceable_group = data_util.mod_prefix .. "spaceship-clamp-power-pole-external-east",
placeable_by = {item = data_util.mod_prefix .. "struct-generic-clamp-east", count = 1},
selection_box = {{-0.5,-0.5},{0.5,0.5}},
collision_box = {{-0.25,-0.25},{0.25,0.25}},
selection_priority = 150,
maximum_wire_distance = 64,
collision_mask = {composite_entity_circuit_connection_layer},
flags = { "placeable-neutral", "player-creation", "placeable-off-grid", "not-rotatable", "not-deconstructable" },
icon = "__space-exploration-graphics__/graphics/icons/spaceship-clamp.png",
icon_mipmaps = 1,
icon_size = 64,
pictures =
{
direction_count = 1,
frame_count = 1,
filename = "__space-exploration-graphics__/graphics/blank.png",
width = 1,
height = 1,
priority = "low"
},
supply_area_distance = 0,
connection_points = {
{
wire = { red = {-0.40,-0.32}, green = {-0.40,-0.13}, copper = {-0.17,-0.4}, },
shadow = { red = {-0.40,-0.32}, green = {-0.40,-0.13}, copper = {-0.17,-0.4}, },
},
},
draw_copper_wires = true,
draw_circuit_wires = true,
},
})

516
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/transport-belt.lua

@ -0,0 +1,516 @@
local data_util = require("data_util")
local belt_span = 5
local deep_belt_span = 16
local deep_speed = settings.startup[data_util.mod_prefix .. "deep-space-belt-speed"].value * (1+1/3)/10 / 64 -- 0.133333333
local default_variant = "black"
local deep_space_variants = {
["black"] = {r=0,g=0,b=0},
["white"] = {r=1,g=1,b=1},
["red"] = {r=1,g=0,b=0},
["magenta"] = {r=1,g=0,b=1},
["blue"] = {r=0,g=0,b=1},
["cyan"] = {r=0,g=1,b=1},
["green"] = {r=0,g=1,b=0},
["yellow"] = {r=1,g=1,b=0},
}
local collision_floor = {
--"item-layer", -- stops player from dropping items on belts.
"floor-layer",
"object-layer",
"water-tile",
"transport-belt-layer"
}
local collision_floor_platform = {
--"item-layer", -- stops player from dropping items on belts.
"floor-layer",
"object-layer",
"water-tile",
"transport-belt-layer"
}
data:extend({
{
icon = "__space-exploration-graphics__/graphics/icons/transport-belt.png",
icon_size = 64,
name = data_util.mod_prefix .. "space-transport-belt",
order = "x[space-transport-belt]",
place_result = data_util.mod_prefix .. "space-transport-belt",
stack_size = 100,
subgroup = "transport-belt",
type = "item"
},
{
icon = "__space-exploration-graphics__/graphics/icons/underground-belt.png",
icon_size = 64,
name = data_util.mod_prefix .. "space-underground-belt",
order = "x[space-underground-belt]-u[underground]",
place_result = data_util.mod_prefix .. "space-underground-belt",
stack_size = 50,
subgroup = "underground-belt",
type = "item"
},
{
icon = "__space-exploration-graphics__/graphics/icons/splitter.png",
icon_size = 64,
name = data_util.mod_prefix .. "space-splitter",
order = "x[space-splitter]-s[splitter]",
place_result = data_util.mod_prefix .. "space-splitter",
stack_size = 50,
subgroup = "splitter",
type = "item"
},
{
type = "recipe",
name = data_util.mod_prefix .. "space-transport-belt",
category = "crafting-with-fluid",
expensive = {
ingredients = {
{ type = "fluid", name = "lubricant", amount = 20},
{ name = "steel-plate", amount = 6 },
{ name = "iron-plate", amount = 6 },
{ name = "copper-plate", amount = 6 },
},
result = data_util.mod_prefix .. "space-transport-belt",
energy_required = 10,
result_count = 2,
enabled = false,
},
normal = {
ingredients = {
{ type = "fluid", name = "lubricant", amount = 20},
{ name = "steel-plate", amount = 6 },
{ name = "iron-plate", amount = 6 },
{ name = "copper-plate", amount = 6 },
},
result = data_util.mod_prefix .. "space-transport-belt",
energy_required = 10,
result_count = 1,
enabled = false,
},
always_show_made_in = true,
},
{
type = "recipe",
name = data_util.mod_prefix .. "space-underground-belt",
category = "crafting-with-fluid",
ingredients = {
{ name = "steel-plate", amount = 8 },
{ data_util.mod_prefix .. "space-transport-belt", 8 },
{
amount = 40,
name = "lubricant",
type = "fluid"
}
},
energy_required = 10,
result = data_util.mod_prefix .. "space-underground-belt",
result_count = 1,
enabled = false,
always_show_made_in = true,
},
{
type = "recipe",
name = data_util.mod_prefix .. "space-splitter",
category = "crafting-with-fluid",
ingredients = {
{ name = "steel-plate", amount = 10 },
{ name = "advanced-circuit", amount = 10 },
{ data_util.mod_prefix .. "space-transport-belt", 4 },
{
amount = 40,
name = "lubricant",
type = "fluid"
}
},
energy_required = 10,
result = data_util.mod_prefix .. "space-splitter",
result_count = 1,
enabled = false,
always_show_made_in = true,
},
})
local belt = table.deepcopy(data.raw["transport-belt"]["express-transport-belt"])
belt.name = data_util.mod_prefix .. "space-transport-belt"
belt.minable.result = data_util.mod_prefix .. "space-transport-belt"
belt.icon = "__space-exploration-graphics__/graphics/icons/transport-belt.png"
belt.icon_size = 64
belt.icon_mipmaps = 1
belt.fast_replaceable_group = "space-transport-belt"
belt.next_upgrade = nil
belt.related_underground_belt = data_util.mod_prefix .. "space-underground-belt"
local fields = {"animations", "belt_animation_set", "structure", "structure_patch", "belt_horizontal", "belt_vertical",
"ending_bottom", "ending_patch", "ending_side", "ending_top",
"starting_bottom", "starting_patch", "starting_side", "starting_top"}
for _, field in pairs(fields) do
data_util.replace_filenames_recursive(belt[field],
"__base__",
"__space-exploration-graphics__")
data_util.replace_filenames_recursive(belt[field],
"express-",
"space-")
end
belt.collision_mask = collision_floor
local splitter = table.deepcopy(data.raw["splitter"]["express-splitter"])
splitter.name = data_util.mod_prefix .. "space-splitter"
splitter.minable.result = data_util.mod_prefix .. "space-splitter"
splitter.icon = "__space-exploration-graphics__/graphics/icons/splitter.png"
splitter.icon_size = 64
splitter.icon_mipmaps = 1
splitter.fast_replaceable_group = "space-transport-belt"
splitter.next_upgrade = nil
for _, field in pairs(fields) do
data_util.replace_filenames_recursive(splitter[field],
"__base__",
"__space-exploration-graphics__")
data_util.replace_filenames_recursive(splitter[field],
"express-",
"space-")
end
splitter.collision_mask = collision_floor
local ug_belt = table.deepcopy(data.raw["underground-belt"]["express-underground-belt"])
ug_belt.name = data_util.mod_prefix .. "space-underground-belt"
ug_belt.minable.result = data_util.mod_prefix .. "space-underground-belt"
ug_belt.icon = "__space-exploration-graphics__/graphics/icons/underground-belt.png"
ug_belt.icon_size = 64
ug_belt.icon_mipmaps = 1
ug_belt.fast_replaceable_group = "space-transport-belt"
ug_belt.next_upgrade = nil
for _, field in pairs(fields) do
data_util.replace_filenames_recursive(ug_belt[field],
"__base__",
"__space-exploration-graphics__")
data_util.replace_filenames_recursive(ug_belt[field],
"express-",
"space-")
end
ug_belt.max_distance = belt_span + 1
ug_belt.collision_mask = collision_floor_platform
-- NOTE: items and recipes are still elsewhere
data:extend({belt, splitter, ug_belt})
-- DEEP SPACE -----------------------------------------------------------------
local deep_tech = {
type = "technology",
name = data_util.mod_prefix.."deep-space-transport-belt",
effects = {
{type = "unlock-recipe", recipe = data_util.mod_prefix.."deep-space-transport-belt"},
{type = "unlock-recipe", recipe = data_util.mod_prefix.."deep-space-splitter"},
{type = "unlock-recipe", recipe = data_util.mod_prefix.."deep-space-underground-belt"},
},
icon = "__space-exploration-graphics__/graphics/technology/deep-space-transport-belt.png",
icon_size = 128,
order = "e-g",
prerequisites = {
data_util.mod_prefix.."deep-space-science-pack-2",
data_util.mod_prefix.."heavy-assembly"
},
unit = {
count = 500,
time = 60,
ingredients = {
{ "automation-science-pack", 1 },
{ "logistic-science-pack", 1 },
{ "chemical-science-pack", 1 },
{ data_util.mod_prefix .. "rocket-science-pack", 1 },
{ data_util.mod_prefix.."astronomic-science-pack-4", 1 },
{ data_util.mod_prefix.."energy-science-pack-4", 1 },
{ data_util.mod_prefix.."material-science-pack-4", 1 },
{ data_util.mod_prefix.."biological-science-pack-4", 1 },
{ data_util.mod_prefix.."deep-space-science-pack-2", 1 },
}
}
}
local deep_belt_recipe = {
type = "recipe",
name = data_util.mod_prefix.."deep-space-transport-belt",
ingredients = {
{ name = data_util.mod_prefix.."space-transport-belt", amount = 10 },
{ name = data_util.mod_prefix.."naquium-plate", amount = 4 },
{ name = data_util.mod_prefix.."heavy-bearing", amount = 1 },
{ name = data_util.mod_prefix.."superconductive-cable", amount = 1 },
{ name = data_util.mod_prefix.."aeroframe-scaffold", amount = 1 },
{ name = data_util.mod_prefix.."cryonite-rod", amount = 1 },
{ type = "fluid", name = "lubricant", amount = 50 },
},
result = data_util.mod_prefix.."deep-space-transport-belt-"..default_variant,
result_count = 10,
energy_required = 10,
enabled = false,
always_show_made_in = true,
category = "space-manufacturing",
}
local deep_splitter_recipe = {
type = "recipe",
name = data_util.mod_prefix.."deep-space-splitter",
ingredients = {
{ name = data_util.mod_prefix.."space-splitter", amount = 1 },
{ name = data_util.mod_prefix.."deep-space-transport-belt-"..default_variant, amount = 2 },
{ name = data_util.mod_prefix.."naquium-cube", amount = 1 },
{ name = data_util.mod_prefix.."quantum-processor", amount = 1 },
{ name = data_util.mod_prefix.."heavy-assembly", amount = 1 },
{ name = data_util.mod_prefix.."superconductive-cable", amount = 1 },
{ type = "fluid", name = "lubricant", amount = 100 },
},
result = data_util.mod_prefix.."deep-space-splitter-"..default_variant,
energy_required = 100,
enabled = false,
always_show_made_in = true,
category = "space-manufacturing",
}
local deep_ug_recipe = {
type = "recipe",
name = data_util.mod_prefix.."deep-space-underground-belt",
ingredients = {
{ name = data_util.mod_prefix.."space-underground-belt", amount = 1 },
{ name = data_util.mod_prefix.."deep-space-transport-belt-"..default_variant, amount = 10 },
{ name = data_util.mod_prefix.."naquium-cube", amount = 1 },
{ name = data_util.mod_prefix.."heavy-composite", amount = 5 },
{ name = data_util.mod_prefix.."aeroframe-scaffold", amount = 10 },
{ name = data_util.mod_prefix.."superconductive-cable", amount = 1 },
{ type = "fluid", name = "lubricant", amount = 100 },
},
result = data_util.mod_prefix.."deep-space-underground-belt-"..default_variant,
energy_required = 100,
enabled = false,
always_show_made_in = true,
category = "space-manufacturing",
}
data:extend({
deep_tech,
deep_belt_recipe,
deep_splitter_recipe,
deep_ug_recipe,
})
local deep_space_belt_base = table.deepcopy(belt)
deep_space_belt_base.name = data_util.mod_prefix .. "deep-space-transport-belt"
deep_space_belt_base.order = "z"
for _, field in pairs(fields) do
data_util.replace_filenames_recursive(deep_space_belt_base[field],
"space-t",
"deep-space-t")
end
deep_space_belt_base.speed = deep_speed
deep_space_belt_base.related_underground_belt = data_util.mod_prefix.."deep-space-underground-belt"
local deep_space_splitter_base = table.deepcopy(splitter)
deep_space_splitter_base.name = data_util.mod_prefix .. "deep-space-splitter"
deep_space_splitter_base.order = "z"
deep_space_splitter_base.speed = deep_speed
data_util.replace_filenames_recursive(deep_space_splitter_base.structure,
"space-s",
"deep-space-s")
data_util.replace_filenames_recursive(deep_space_splitter_base.structure_patch,
"space-s",
"deep-space-s")
data_util.replace_sr_with_half_hr(deep_space_splitter_base.structure)
data_util.replace_sr_with_half_hr(deep_space_splitter_base.structure_patch)
local deep_space_ug_base = table.deepcopy(ug_belt)
deep_space_ug_base.name = data_util.mod_prefix .. "deep-space-underground-belt"
deep_space_ug_base.order = "z"
deep_space_ug_base.speed = deep_speed
deep_space_ug_base.max_distance = deep_belt_span + 1
data_util.replace_filenames_recursive(deep_space_ug_base.structure,
"space-u",
"deep-space-u")
for name, tint in pairs(deep_space_variants) do
local suffix = "-"..name
local variant_belt = table.deepcopy(deep_space_belt_base)
variant_belt.name = variant_belt.name ..suffix
variant_belt.minable.result = variant_belt.name
variant_belt.icons = {
{icon="__space-exploration-graphics__/graphics/icons/deep-space-transport-belt.png", icon_size=64},
{icon="__space-exploration-graphics__/graphics/icons/deep-space-transport-belt-glow.png", icon_size=64,tint=tint}
}
variant_belt.related_underground_belt = deep_space_ug_base.name .. suffix
local set = table.deepcopy(variant_belt.belt_animation_set.animation_set)
set.flags = {"no-crop"}
set.hr_version.flags = {"no-crop"}
local glow_set = table.deepcopy(set)
data_util.replace_filenames_recursive(glow_set,
"deep-space-transport-belt.png",
"deep-space-transport-belt-glow.png")
data_util.tint_recursive(glow_set, tint)
data_util.blend_mode_recursive(glow_set, "additive")
variant_belt.belt_animation_set.animation_set = {
layers = {
set,
glow_set
}
}
local variant_splitter = table.deepcopy(deep_space_splitter_base)
variant_splitter.name = variant_splitter.name ..suffix
variant_splitter.minable.result = variant_splitter.name
variant_splitter.icons = {
{icon="__space-exploration-graphics__/graphics/icons/deep-space-splitter.png", icon_size=64},
{icon="__space-exploration-graphics__/graphics/icons/deep-space-splitter-glow.png", icon_size=64,tint=tint}
}
variant_splitter.belt_animation_set = table.deepcopy(variant_belt.belt_animation_set)
for _, structure in pairs({"structure", "structure_patch"}) do
for direction, pictures in pairs(variant_splitter[structure]) do
local pictures = table.deepcopy(pictures)
local glow_pictures = table.deepcopy(pictures)
data_util.replace_filenames_recursive(glow_pictures,
"patch.png",
"patch-glow.png")
data_util.replace_filenames_recursive(glow_pictures,
"east.png",
"east-glow.png")
data_util.replace_filenames_recursive(glow_pictures,
"north.png",
"north-glow.png")
data_util.replace_filenames_recursive(glow_pictures,
"west.png",
"west-glow.png")
data_util.replace_filenames_recursive(glow_pictures,
"south.png",
"south-glow.png")
data_util.tint_recursive(glow_pictures, tint)
data_util.blend_mode_recursive(glow_pictures, "additive")
variant_splitter[structure][direction].layers = {pictures, glow_pictures}
end
end
local variant_ug = table.deepcopy(deep_space_ug_base)
variant_ug.name = variant_ug.name ..suffix
variant_ug.minable.result = variant_ug.name
variant_ug.icons = {
{icon="__space-exploration-graphics__/graphics/icons/deep-space-underground-belt.png", icon_size=64},
{icon="__space-exploration-graphics__/graphics/icons/deep-space-underground-belt-glow.png", icon_size=64,tint=tint}
}
variant_ug.belt_animation_set = table.deepcopy(variant_belt.belt_animation_set)
for _, field in pairs({"direction_in", "direction_in_side_loading","direction_out","direction_out_side_loading"}) do
local sheet = table.deepcopy(variant_ug.structure[field].sheet)
local glow_sheet = table.deepcopy(sheet)
data_util.replace_filenames_recursive(glow_sheet,
"underground-belt-structure.png",
"underground-belt-structure-glow.png")
data_util.tint_recursive(glow_sheet, tint)
data_util.blend_mode_recursive(glow_sheet, "additive")
variant_ug.structure[field].sheet = nil
variant_ug.structure[field].sheets = {
sheet, glow_sheet
}
end
local variant_item_belt = {
type = "item",
name = variant_belt.name,
icons = variant_belt.icons,
order = "z[space-transport-belt]-"..name,
stack_size = 50,
subgroup = "transport-belt",
place_result = variant_belt.name,
}
local variant_item_splitter = {
type = "item",
name = variant_splitter.name,
icons = variant_splitter.icons,
icon_size = 64,
icon_mipmaps = 1,
order = "z[space-transport-belt]-"..name.."-s[splitter]",
stack_size = 50,
subgroup = "splitter",
place_result = variant_splitter.name,
}
local variant_item_ug = {
type = "item",
name = variant_ug.name,
icons = variant_ug.icons,
icon_size = 64,
icon_mipmaps = 1,
order = "z[space-transport-belt]-"..name.."-u[underground]",
stack_size = 50,
subgroup = "underground-belt",
place_result = variant_ug.name,
}
if name ~= default_variant then
local variant_recipe_belt = {
type = "recipe",
name = variant_belt.name,
ingredients = {
{ name = deep_space_belt_base.name.."-"..default_variant, amount = 10 },
{ name = "small-lamp", amount = 1 },
},
result = variant_belt.name,
result_count = 10,
energy_required = 0.1,
enabled = false,
always_show_made_in = true,
category = "crafting",
}
local variant_recipe_splitter = {
type = "recipe",
name = variant_splitter.name,
ingredients = {
{ name = deep_space_splitter_base.name.."-"..default_variant, amount = 1 },
{ name = "small-lamp", amount = 1 },
},
result = variant_splitter.name,
energy_required = 0.5,
enabled = false,
always_show_made_in = true,
category = "crafting",
}
local variant_recipe_ug = {
type = "recipe",
name = variant_ug.name,
ingredients = {
{ name = deep_space_ug_base.name.."-"..default_variant, amount = 2 },
{ name = "small-lamp", amount = 1 },
},
result = variant_ug.name,
result_count = 2,
energy_required = 0.5,
enabled = false,
always_show_made_in = true,
category = "crafting",
}
if (not settings.startup[data_util.mod_prefix .. "deep-space-belt-"..name]) or settings.startup[data_util.mod_prefix .. "deep-space-belt-"..name].value ~= false then
table.insert(deep_tech.effects, {type = "unlock-recipe", recipe = variant_recipe_belt.name,})
table.insert(deep_tech.effects, {type = "unlock-recipe", recipe = variant_recipe_splitter.name,})
table.insert(deep_tech.effects, {type = "unlock-recipe", recipe = variant_recipe_ug.name,})
end
data:extend({
variant_belt,
variant_splitter,
variant_ug,
variant_item_belt,
variant_item_splitter,
variant_item_ug,
variant_recipe_belt,
variant_recipe_splitter,
variant_recipe_ug
})
end
data:extend({
variant_belt,
variant_splitter,
variant_ug,
variant_item_belt,
variant_item_splitter,
variant_item_ug,
})
end
--log( serpent.block( data.raw["transport-belt"], {comment = false, numformat = '%1.8g' } ) )

1531
space-exploration_0.5.80/space-exploration/prototypes/phase-1/combined/weapon-bio.lua

File diff suppressed because it is too large

4
space-exploration_0.5.80/space-exploration/prototypes/phase-1/compatibility/qol_research.lua

@ -0,0 +1,4 @@
qol_research_config_overrides = qol_research_config_overrides or {}
qol_research_config_overrides['space-exploration'] = [[1,23,crafting-speed,150*L,automation-science-pack,logistic-science-pack,175*L,chemical-science-pack,225*L,se-rocket-science-pack,300*L,se-biological-science-pack-1,10*L,se-biological-science-pack-2,100+20*L,se-biological-science-pack-3,250+50*L,se-biological-science-pack-4,500+100*L,se-deep-space-science-pack-1,500*2^L,inventory-size,mining-speed,movement-speed,player-reach,5,1,9,5,5,0,0,2,10,1,1,3,5,5,3,1,4,5,15,2,1,3,1,4,5,5,3,1,6,7,20,3,1,3,1,4,1,6,5,5,3,1,8,9,25,4,1,3,1,4,1,6,1,8,5,5,3,1,10,11,30,5,1,3,1,4,1,6,1,8,1,10,5,5,5,1,12,13,30,5,1,3,1,4,1,6,1,8,1,12,5,5,5,1,14,15,30,5,1,3,1,4,1,6,1,8,1,14,5,5,5,1,16,17,30,5,1,3,1,4,1,6,1,8,1,16,0,5,5,1,18,19,30,6,1,3,1,4,1,6,1,8,1,16,1,18,20,9,5,2,0,0,2,10,1,1,3,5,2,3,1,4,5,15,2,1,3,1,4,5,2,3,1,6,7,20,3,1,3,1,4,1,6,5,2,3,1,8,9,25,4,1,3,1,4,1,6,1,8,5,2,3,1,10,11,30,5,1,3,1,4,1,6,1,8,1,10,5,2,5,1,12,13,30,5,1,3,1,4,1,6,1,8,1,12,5,2,5,1,14,15,30,5,1,3,1,4,1,6,1,8,1,14,5,2,5,1,16,17,30,5,1,3,1,4,1,6,1,8,1,16,0,2,5,1,18,19,30,6,1,3,1,4,1,6,1,8,1,16,1,18,21,9,5,10,0,0,2,10,1,1,3,5,10,3,1,4,5,15,2,1,3,1,4,5,10,3,1,6,7,20,3,1,3,1,4,1,6,5,10,3,1,8,9,25,4,1,3,1,4,1,6,1,8,5,10,3,1,10,11,30,5,1,3,1,4,1,6,1,8,1,10,5,10,5,1,12,13,30,5,1,3,1,4,1,6,1,8,1,12,5,10,5,1,14,15,30,5,1,3,1,4,1,6,1,8,1,14,5,10,5,1,16,17,30,5,1,3,1,4,1,6,1,8,1,16,0,10,5,1,18,19,30,6,1,3,1,4,1,6,1,8,1,16,1,18,22,9,5,2,0,0,2,10,1,1,3,5,2,3,1,4,5,15,2,1,3,1,4,5,2,3,1,6,7,20,3,1,3,1,4,1,6,5,2,3,1,8,9,25,4,1,3,1,4,1,6,1,8,5,2,3,1,10,11,30,5,1,3,1,4,1,6,1,8,1,10,5,2,5,1,12,13,30,5,1,3,1,4,1,6,1,8,1,12,5,2,5,1,14,15,30,5,1,3,1,4,1,6,1,8,1,14,5,2,5,1,16,17,30,5,1,3,1,4,1,6,1,8,1,16,0,2,5,1,18,19,30,6,1,3,1,4,1,6,1,8,1,16,1,18,23,9,5,1,0,0,2,10,1,1,3,5,1,3,1,4,5,15,2,1,3,1,4,5,1,3,1,6,7,20,3,1,3,1,4,1,6,5,1,3,1,8,9,25,4,1,3,1,4,1,6,1,8,5,1,3,1,10,11,30,5,1,3,1,4,1,6,1,8,1,10,5,1,5,1,12,13,30,5,1,3,1,4,1,6,1,8,1,12,5,1,5,1,14,15,30,5,1,3,1,4,1,6,1,8,1,14,5,1,5,1,16,17,30,5,1,3,1,4,1,6,1,8,1,16,0,1,5,1,18,19,30,6,1,3,1,4,1,6,1,8,1,16,1,18]]
table.insert(se_prodecural_tech_exclusions, "qol-")
table.insert(se_prodecural_tech_exclusions, "qolinternal-")

23
space-exploration_0.5.80/space-exploration/prototypes/phase-1/damage-types.lua

@ -0,0 +1,23 @@
data:extend({
{
type = "damage-type",
name = "cold",
},
{
type = "damage-type",
name = "suffocation",
},
{
type = "damage-type",
name = "meteor",
},
{
type = "trigger-target-type",
name = "flammable"
},
{
type = "trigger-target-type",
name = "tree"
}
})

72
space-exploration_0.5.80/space-exploration/prototypes/phase-1/decorative/crater.lua

@ -0,0 +1,72 @@
local data_util = require("data_util")
local function crater_picture (name, width, height)
return {
filename = "__alien-biomes__/graphics/decorative/crater/sr/crater-"..name..".png",
width = math.floor(width/2),
height = math.floor(height/2),
hr_version = {
filename = "__alien-biomes__/graphics/decorative/crater/hr/crater-"..name..".png",
width = width,
height = height,
scale = 0.5
},
}
end
local i = 0
local function make_crater(name, box, max_probability, random_probability_penalty, pictures)
i = i + 1
return {
name = data_util.mod_prefix..name,
type = "optimized-decorative",
subgroup = "grass",
order = "b[decorative]-b[crater-decal]-"..i,
collision_box = {{-box, -box*0.75}, {box, box*0.75}},
collision_mask = {"doodad-layer", "water-tile"},
render_layer = "decals",
tile_layer = 50, -- as long as it is over asteroid layer
pictures = pictures,
autoplace = {
max_probability = max_probability,
--random_probability_penalty = random_probability_penalty,
sharpness = 0.7,
order = "a[doodad]-b[decal]",
peaks = {
{ influence = 0.4},
{
influence = 0.15,
noise_layer = "trees-"..i,
noise_octaves_difference = -3,
noise_persistence = 0.9,
}
},
tile_restriction = {data_util.mod_prefix.."asteroid"}
},
}
end
data:extend({
make_crater("crater3-huge", 3, 0.01, 0.95, {
crater_picture("huge-01", 1249, 877),
}),
make_crater("crater1-large-rare", 2, 0.01, 0.95, {
crater_picture("large-01", 679, 513),
}),
make_crater("crater1-large", 1, 0.1, 0.7, {
crater_picture("large-02", 327, 284),
crater_picture("large-03", 481, 393),
crater_picture("large-04", 406, 382),
crater_picture("large-05", 363, 301),
}),
make_crater("crater2-medium", 0.5, 0.1, 0.5, {
crater_picture("medium-01", 283, 231),
crater_picture("medium-02", 213, 182),
crater_picture("medium-03", 243, 189),
crater_picture("medium-04", 237, 173),
crater_picture("medium-05", 195, 182),
crater_picture("medium-06", 146, 125),
crater_picture("medium-07", 180, 127),
}),
make_crater("crater4-small", 0.25, 0.1, 0.8, {
crater_picture("small-01", 122, 108),
}),
})

3477
space-exploration_0.5.80/space-exploration/prototypes/phase-1/decorative/rocks-base.lua

File diff suppressed because it is too large

80
space-exploration_0.5.80/space-exploration/prototypes/phase-1/decorative/rocks.lua

@ -0,0 +1,80 @@
local data_util = require('data_util')
-- decals for asteroids
-- rocks floating in space
local tints = {
grey = {177,183,187},
}
-- ROCKS
-- get base rocks
local base_rocks_list = require("rocks-base")
local base_rocks = {}
for _, rock in pairs(base_rocks_list) do
base_rocks[rock.name] = rock
end
-- make a new colored rock from a base rock and restrict to certain biome tiles by tag
local make_rock = function(name, color, base_names, tile_restriction, multiplier)
if table_size(tile_restriction) > 0 then
color = name
for _, base_name in pairs(base_names) do
local rock = table.deepcopy(base_rocks[base_name])
rock.name = data_util.mod_prefix.. base_name .. '-' .. name
rock.autoplace.tile_restriction = tile_restriction
if rock.autoplace.coverage then rock.autoplace.coverage = rock.autoplace.coverage * multiplier end
if rock.autoplace.max_probability then rock.autoplace.max_probability = rock.autoplace.max_probability * multiplier end
for _, pic in pairs(rock.pictures) do
pic.tint = tints[color]
if pic.hr_version then
pic.hr_version.tint = tints[color]
end
end
rock.localised_name = {"entity-name.small-asteroid"}
-- volcanic has generally more rocks
data:extend({rock})
end
end
end
make_rock(
'space', 'grey',
{
'rock-huge',
'rock-big',
},
{data_util.mod_prefix.."space", data_util.mod_prefix.."asteroid"},
0.25
)
make_rock(
'asteroid', 'grey',
{
'rock-huge',
'rock-big',
'rock-medium',
'rock-small',
'rock-tiny',
'sand-rock-big',
'sand-rock-medium',
'sand-rock-small',
},
{data_util.mod_prefix.."asteroid"},
1
)
-- non-sand shared decals
make_rock(
'space', 'grey',
{
'stone-decal',
'sand-decal'
},
{data_util.mod_prefix.."asteroid"},
2
)

339
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/ancient.lua

@ -0,0 +1,339 @@
local data_util = require("data_util")
data:extend({
{
name = data_util.mod_prefix .. "pyramid-a",
type = "simple-entity",
map_color = {r = 0, g = 0, b = 0},
flags = {"placeable-neutral", "placeable-off-grid"},
icon = "__space-exploration-graphics__/graphics/icons/pyramid.png",
icon_size = 64,
order = "a[ancient]-p[pyramid]-a",
collision_box = {{-9, -7}, {9, 7}},
collision_mask = {"item-layer","object-layer","player-layer","water-tile"},
selection_box = {{-9, -7}, {9, 7}},
render_layer = "object",
selectable_in_game = false,
picture =
{
layers = {
{
filename = "__space-exploration-graphics__/graphics/entity/cartouche/pyramid-a.png",
width = 622+64,
height = 571+32,
shift = {0,-1+0.25},
scale = 1,
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/cartouche/pyramid-a-shadow.png",
width = 743,
height = 584,
shift = {1.5-2/32,-1+8/32},
scale = 1,
}
}
}
},
{
name = data_util.mod_prefix .. "pyramid-b",
type = "simple-entity",
map_color = {r = 0, g = 0, b = 0},
flags = {"placeable-neutral", "placeable-off-grid"},
icon = "__space-exploration-graphics__/graphics/icons/pyramid.png",
icon_size = 64,
order = "a[ancient]-p[pyramid]-b",
collision_box = {{-9, -7}, {9, 7}},
collision_mask = {"item-layer","object-layer","player-layer","water-tile"},
selection_box = {{-9, -7}, {9, 7}},
render_layer = "object",
selectable_in_game = false,
picture =
{
layers = {
{
filename = "__space-exploration-graphics__/graphics/entity/cartouche/pyramid-b.png",
width = 611+64,
height = 554+32,
shift = {0,-1.5+0.25},
scale = 1,
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/cartouche/pyramid-b-shadow.png",
width = 867,
height = 568,
shift = {3.5+2/32,-1.5+8/32},
scale = 1,
}
}
}
},
{
name = data_util.mod_prefix .. "pyramid-c",
type = "simple-entity",
map_color = {r = 0, g = 0, b = 0},
flags = {"placeable-neutral", "placeable-off-grid"},
icon = "__space-exploration-graphics__/graphics/icons/pyramid.png",
icon_size = 64,
order = "a[ancient]-p[pyramid]-c",
collision_box = {{-9, -7}, {9, 7}},
collision_mask = {"item-layer","object-layer","player-layer","water-tile"},
selection_box = {{-9, -7}, {9, 7}},
render_layer = "object",
selectable_in_game = false,
picture =
{
layers = {
{
filename = "__space-exploration-graphics__/graphics/entity/cartouche/pyramid-c.png",
width = 623+64,
height = 571+32,
shift = {0,-1+0.25},
scale = 1,
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/cartouche/pyramid-c-shadow.png",
width = 976,
height = 584,
shift = {5+4/32,-1+8/32},
scale = 1,
}
}
}
},
{
name = data_util.mod_prefix .. "cartouche-a",
type = "simple-entity",
flags = {"placeable-neutral", "placeable-off-grid", "not-on-map"},
icon = "__space-exploration-graphics__/graphics/icons/cartouche-a.png",
icon_size = 64,
order = "a[ancient]-c[cartouche]-a[a]",
collision_box = {{-9, -7}, {9, 7}},
collision_mask = {"not-colliding-with-itself"},
selection_box = {{-9, -7}, {9, 7}},
render_layer = "floor",
selectable_in_game = false,
picture =
{
filename = "__space-exploration-graphics__/graphics/entity/cartouche/cartouche-a.png",
width = 1154,
height = 821,
shift = {0,0},
scale = 0.5,
}
},
{
name = data_util.mod_prefix .. "cartouche-b-a",
type = "simple-entity",
flags = {"placeable-neutral", "placeable-off-grid", "not-on-map"},
icon = "__space-exploration-graphics__/graphics/icons/cartouche-b-a.png",
icon_size = 64,
order = "a[ancient]-c[cartouche]-b[b]-a",
collision_box = {{-4, -3}, {4, 3}},
collision_mask = {"not-colliding-with-itself"},
selection_box = {{-4, -3}, {4, 3}},
selectable_in_game = false,
render_layer = "floor",
picture =
{
filename = "__space-exploration-graphics__/graphics/entity/cartouche/cartouche-b-a.png",
width = 520,
height = 373,
shift = {0,0},
scale = 0.5,
}
},
{
name = data_util.mod_prefix .. "cartouche-b-b",
type = "simple-entity",
flags = {"placeable-neutral", "placeable-off-grid", "not-on-map"},
icon = "__space-exploration-graphics__/graphics/icons/cartouche-b-b.png",
icon_size = 64,
order = "a[ancient]-c[cartouche]-b[b]-b",
collision_box = {{-1, -1}, {1, 1}},
collision_mask = {"not-colliding-with-itself"},
selection_box = {{-1, -1}, {1, 1}},
selectable_in_game = false,
render_layer = "floor",
picture =
{
filename = "__space-exploration-graphics__/graphics/entity/cartouche/cartouche-b-b.png",
width = 520,
height = 373,
shift = {0,0},
scale = 0.5,
}
},
{
type = "container",
name = data_util.mod_prefix .. "cartouche-chest", -- "rocket-launch-pad-chest"
circuit_connector_sprites = nil,
circuit_wire_connection_point = nil,
circuit_wire_max_distance = 0,
close_sound = {
filename = "__base__/sound/metallic-chest-close.ogg",
volume = 0.7
},
collision_box = {{-0.95, -0.95}, {0.95, 0.95}},
selection_box = {{-0.95, -0.95}, {0.95, 0.95}},
corpse = "medium-remnants",
flags = {
"placeable-neutral",
"player-creation"
},
icon = "__space-exploration-graphics__/graphics/icons/cartouche-chest.png",
icon_size = 64,
inventory_size = 10,
max_health = 1000,
open_sound = {
filename = "__base__/sound/metallic-chest-open.ogg",
volume = 0.65
},
order = "z-z",
picture = {
layers = {
{
filename = "__space-exploration-graphics__/graphics/entity/cartouche/chest.png",
height = 128,
priority = "extra-high",
shift = { 0, 0 },
width = 128,
scale = 0.5
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/cartouche/chest-shadow.png",
height = 96,
priority = "extra-high",
shift = { 8/32, 8/32 },
width = 160,
scale = 0.5
},
}
},
vehicle_impact_sound = {
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.65
}
},
})
for i = 1, 64, 1 do
local large = {
name = data_util.mod_prefix .. "glyph-a-"..i,
type = "simple-entity",
flags = {"placeable-neutral", "placeable-off-grid", "not-on-map"},
icon = "__space-exploration-graphics__/graphics/icons/glyph/glyph-a-"..i..".png",
icon_size = 64,
order = "a[ancient]-c[cartouche]-g[glyph]-a[a]-"..i,
collision_box = {{-1, -1}, {1, 1}},
collision_mask = {"not-colliding-with-itself"},
selection_box = {{-1, -1}, {1, 1}},
selectable_in_game = false,
render_layer = "lower-object",
picture =
{
filename = "__space-exploration-graphics__/graphics/entity/cartouche/glyphs-a-metal.png",
width = 2048/8,
height = 1536/8,
x = ((i-1)%8)*2048/8,
y = math.floor((i-1)/8)*1536/8,
shift = {0,0},
scale = 0.5,
},
localised_name = {"entity-name.glyph"}
}
local small = table.deepcopy(large)
small.name = small.name .. "-small"
small.picture.scale = small.picture.scale * 0.5
data:extend({small, large})
end
for i = 1, 64, 1 do
local large = {
name = data_util.mod_prefix .. "glyph-b-"..i,
type = "simple-entity",
flags = {"placeable-neutral", "placeable-off-grid", "not-on-map"},
icon = "__space-exploration-graphics__/graphics/icons/glyph/glyph-b-"..i..".png",
icon_size = 64,
order = "a[ancient]-c[cartouche]-g[glyph]-b[b]-"..i,
collision_box = {{-4, -3}, {4, 3}},
collision_mask = {"not-colliding-with-itself"},
selection_box = {{-4, -3}, {4, 3}},
selectable_in_game = false,
render_layer = "lower-object",
picture =
{
filename = "__space-exploration-graphics__/graphics/entity/cartouche/glyphs-b-metal.png",
width = 1280/8,
height = 1024/8,
x = ((i-1)%8)*1280/8,
y = math.floor((i-1)/8)*1024/8,
shift = {0,0},
scale = 0.5,
},
localised_name = {"entity-name.glyph"}
}
local small = table.deepcopy(large)
small.name = small.name .. "-small"
small.picture.scale = small.picture.scale * 0.65
data:extend({small, large})
end
data:extend({
--[[{
name = data_util.mod_prefix .. "lightbeam-a",
type = "projectile",
flags = {"placeable-neutral", "placeable-off-grid"},
icon = "__space-exploration-graphics__/graphics/icons/pyramid.png",
icon_size = 64,
order = "a[ancient]-p[pyramid]-a",
collision_box = {{-9, -7}, {9, 7}},
collision_mask = {"item-layer","object-layer","player-layer","water-tile"},
selection_box = {{-9, -7}, {9, 7}},
render_layer = "object",
selectable_in_game = false,
picture =
{
layers = {
{
filename = "__space-exploration-graphics__/graphics/entity/cartouche/pyramid-a.png",
width = 622,
height = 571,
shift = {0,-1},
scale = 1,
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/cartouche/pyramid-a-shadow.png",
width = 743,
height = 584,
shift = {1.5-2/32,-1+8/32},
scale = 1,
}
}
}
},]]--
{
type = "projectile",
name = data_util.mod_prefix .. "lightbeam-a",
acceleration = 0,
rotatable = false,
animation = {
filename = "__space-exploration-graphics__/graphics/entity/cartouche/lightbeam-a.png",
frame_count = 1,
width = 296,
height = 193,
line_length = 1,
priority = "high",
shift = { 0, 0 },
scale = 1,
blend_mode = "additive"
},
flags = { "not-on-map" },
light = { intensity = 2, size = 16, color={r=1,g=0.9,b=0.8}},
},
})

356
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/astrometric-gravimetric.lua

@ -0,0 +1,356 @@
local data_util = require("data_util")
local pipe_pictures = {
north = blank_image,
east = {
filename = "__space-exploration-graphics-4__/graphics/entity/astrometrics-laboratory/sr/pipe-right.png",
width = 10/2,
height = 60/2,
priority = "extra-high",
shift = util.by_pixel(-18, 1),
hr_version = {
filename = "__space-exploration-graphics-4__/graphics/entity/astrometrics-laboratory/hr/pipe-right.png",
width = 10,
height = 60,
priority = "extra-high",
shift = util.by_pixel(-18, 1),
scale = 0.5,
},
},
north = {
filename = "__space-exploration-graphics-4__/graphics/entity/astrometrics-laboratory/sr/pipe-top.png",
width = 128/2,
height = 128/2,
priority = "extra-high",
shift = util.by_pixel(0, 22),
hr_version = {
filename = "__space-exploration-graphics-4__/graphics/entity/astrometrics-laboratory/hr/pipe-top.png",
width = 128,
height = 128,
priority = "extra-high",
shift = util.by_pixel(0, 22),
scale = 0.5,
},
},
south = {
filename = "__space-exploration-graphics-4__/graphics/entity/astrometrics-laboratory/sr/pipe-bottom.png",
width = 70/2,
height = 44/2,
priority = "extra-high",
shift = util.by_pixel(3, -27),
hr_version = {
filename = "__space-exploration-graphics-4__/graphics/entity/astrometrics-laboratory/hr/pipe-bottom.png",
width = 70,
height = 44,
priority = "extra-high",
shift = util.by_pixel(3, -27),
scale = 0.5,
},
},
west = {
filename = "__space-exploration-graphics-4__/graphics/entity/astrometrics-laboratory/sr/pipe-left.png",
width = 10/2,
height = 64/2,
priority = "extra-high",
shift = util.by_pixel(18, 2),
hr_version = {
filename = "__space-exploration-graphics-4__/graphics/entity/astrometrics-laboratory/hr/pipe-left.png",
width = 10,
height = 64,
priority = "extra-high",
shift = util.by_pixel(18, 2),
scale = 0.5,
},
}
}
data:extend({
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-astrometrics-laboratory",
icon = "__space-exploration-graphics__/graphics/icons/astrometrics-laboratory.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {hardness = 0.2, mining_time = 1, result = data_util.mod_prefix .. "space-astrometrics-laboratory"},
max_health = 700,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-2.3, -2.3}, {2.3, 2.3}},
selection_box = {{-2.5, -2.5}, {2.5, 2.5}},
drawing_box = {{-2.5, -3.5}, {2.5, 2.5}},
resistances =
{
{
type = "impact",
percent = 10
}
},
fluid_boxes =
{
{
production_type = "input",
pipe_picture = pipe_pictures,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -3} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
pipe_picture = pipe_pictures,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 3} }},
secondary_draw_orders = { north = -1 }
},
off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/assembling-machine-t1-1.ogg",
volume = 0.8
},
{
filename = "__base__/sound/assembling-machine-t1-2.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
spaceship_collision_layer,
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-4__/graphics/entity/astrometrics-laboratory/sr/astrometrics-laboratory.png",
priority = "high",
width = 2752/8/2,
height = 3120/8/2,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(0, -11),
animation_speed = 1,
hr_version = {
filename = "__space-exploration-graphics-4__/graphics/entity/astrometrics-laboratory/hr/astrometrics-laboratory.png",
priority = "high",
width = 2752/8,
height = 3120/8,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(0, -11),
animation_speed = 1,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-4__/graphics/entity/astrometrics-laboratory/sr/astrometrics-laboratory-shadow.png",
priority = "high",
width = 330/2,
height = 220/2,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(26, 24),
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-4__/graphics/entity/astrometrics-laboratory/hr/astrometrics-laboratory-shadow.png",
priority = "high",
width = 330,
height = 220,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(26, 24),
scale = 0.5,
}
},
},
},
crafting_categories = {"space-astrometrics"},
crafting_speed = 1,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "1000kW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.5, size = 8, shift = {0.0, 0.0}, color = {r = 1, g = 0.9, b = 0.5}}
},
},
},
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-gravimetrics-laboratory",
icon = "__space-exploration-graphics__/graphics/icons/gravimetrics-laboratory.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {hardness = 0.2, mining_time = 1, result = data_util.mod_prefix .. "space-gravimetrics-laboratory"},
max_health = 700,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-2.3, -2.3}, {2.3, 2.3}},
selection_box = {{-2.5, -2.5}, {2.5, 2.5}},
drawing_box = {{-2.5, -3.5}, {2.5, 2.5}},
resistances =
{
{
type = "impact",
percent = 10
}
},
fluid_boxes =
{
{
production_type = "input",
pipe_picture = pipe_pictures,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -3} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
pipe_picture = pipe_pictures,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 3} }},
secondary_draw_orders = { north = -1 }
},
off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/assembling-machine-t1-1.ogg",
volume = 0.8
},
{
filename = "__base__/sound/assembling-machine-t1-2.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
spaceship_collision_layer,
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-4__/graphics/entity/gravimetrics-laboratory/sr/gravimetrics-laboratory.png",
priority = "high",
width = 2752/8/2,
height = 3120/8/2,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(0, -11),
animation_speed = 1,
hr_version = {
filename = "__space-exploration-graphics-4__/graphics/entity/gravimetrics-laboratory/hr/gravimetrics-laboratory.png",
priority = "high",
width = 2752/8,
height = 3120/8,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(0, -11),
animation_speed = 1,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-4__/graphics/entity/gravimetrics-laboratory/sr/gravimetrics-laboratory-shadow.png",
priority = "high",
width = 330/2,
height = 220/2,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(26, 24),
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-4__/graphics/entity/gravimetrics-laboratory/hr/gravimetrics-laboratory-shadow.png",
priority = "high",
width = 330,
height = 220,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(26, 24),
scale = 0.5,
}
},
},
},
crafting_categories = {"space-gravimetrics", "arcosphere"},
crafting_speed = 1,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "1000kW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.5, size = 8, shift = {0.0, 0.0}, color = {r = 100/255, g = 48/255, b = 1}}
},
},
},
})

423
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/cargo-rocket.lua

@ -0,0 +1,423 @@
local data_util = require("data_util")
local side_thruster_offset = 40
local bottom_thruster_offset = 89
data:extend({
{
type = "container",
name = data_util.mod_prefix .. "cargo-rocket-cargo-pod", -- "rocket-launch-pad-chest"
circuit_connector_sprites = nil,
circuit_wire_connection_point = nil,
circuit_wire_max_distance = 0,
close_sound = {
filename = "__base__/sound/metallic-chest-close.ogg",
volume = 0.7
},
collision_box = {{-0.95, -0.95}, {0.95, 0.95}},
selection_box = {{-0.95, -0.95}, {0.95, 0.95}},
corpse = "medium-remnants",
flags = {
"placeable-neutral",
"player-creation"
},
icon = "__space-exploration-graphics__/graphics/icons/cargo-pod.png",
icon_size = 64,
inventory_size = math.ceil(rocket_capacity / 0.9 / 100 ) * 10, --can fit all partial stacks if 9/10 pods land
max_health = 1000,
minable = {
mining_time = 0.2,
result = data_util.mod_prefix .. "cargo-rocket-cargo-pod"
},
open_sound = {
filename = "__base__/sound/metallic-chest-open.ogg",
volume = 0.65
},
order = "z-z",
picture = {
layers = {
{
filename = "__space-exploration-graphics__/graphics/entity/cargo-pod/cargo-pod.png",
height = 194,
priority = "extra-high",
shift = { 1/32, 1/32 },
width = 147,
scale = 0.35
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/cargo-pod/cargo-pod-shadow.png",
height = 164,
priority = "extra-high",
shift = { 10/32, 6/32 },
width = 167,
scale = 0.35
},
}
},
resistances = {
{
percent = 90,
type = "fire"
},
{
percent = 90,
type = "explosion"
},
{
percent = 100,
type = "poison"
},
{
percent = 60,
type = "impact"
},
{
percent = 100,
type = "meteor"
}
},
vehicle_impact_sound = {
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.65
}
},
{
-- this only exists for the animation
-- it won't be selectable or affected normally
-- when ready to launch the required dummy item will be added
-- then launch will be triggered by script
type = "rocket-silo-rocket",
name = data_util.mod_prefix .. "cargo-rocket",
inventory_size = 1,
collision_box = { { -2, -7 }, { 2, 7 } },
collision_mask = { "not-colliding-with-itself" },
dying_explosion = "massive-explosion",
shadow_slave_entity = "rocket-silo-rocket-shadow",
engine_starting_speed = 1 / (5.5 * 60),
flying_speed = 1 / (2000 * 60),
flying_acceleration = 0.01,
flags = { "not-on-map" },
flying_trigger = {
{
sound = {
{
filename = "__base__/sound/silo-rocket.ogg",
volume = 1.8
}
},
type = "play-sound"
}
},
glow_light =
{
intensity = 1,
size = 30,
shift = {0, 1.5},
color = {r = 1.0, g = 1.0, b = 1.0}
},
rising_speed = 1 / (7 * 60),
rocket_initial_offset = {0, 5},
rocket_rise_offset = {0, -5.75},
rocket_launch_offset = {0, -256},
rocket_render_layer_switch_distance = 10.5,--7.5,
full_render_layer_switch_distance = 12,--9,
effects_fade_in_start_distance = 7.5,--4.5,
effects_fade_in_end_distance = 10.5,--7.5,
shadow_fade_out_start_ratio = 0.25,
shadow_fade_out_end_ratio = 0.75,
rocket_visible_distance_from_center = 2.75,
--[[
rocket_shadow_sprite = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/09-rocket-shadow/09-rocket-shadow.png",
height = 128,
priority = "medium",
shift = {
-2.5,
2
},
width = 394
},
rocket_sprite = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/02-11-rocket/02-rocket.png",
height = 394,
shift = {
0,
5.5 - (394 - 288) / 2 / 32 -- keep base aligned with flare
},
width = 192
},
]]--
rocket_sprite = util.add_shift_offset(util.by_pixel(0, 32*3.5), --util.mul_shift(rocket_rise_offset, -1),
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/02-rocket.png",
width = 310/2,
height = 950/2,
shift = util.by_pixel(-5, -27),
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-02-rocket.png",
width = 310,
height = 950,
shift = util.by_pixel(-5, -27),
scale = 0.5
}
}),
rocket_shadow_sprite = util.add_shift_offset(util.by_pixel(-146, -120),
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/09-rocket-shadow.png",
priority = "medium",
width = 788/2,
height = 256/2,
draw_as_shadow = true,
shift = util.by_pixel(146, 120),
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-09-rocket-shadow.png",
priority = "medium",
width = 788,
height = 256,
draw_as_shadow = true,
shift = util.by_pixel(146, 121),
scale = 0.5
}
}),
rocket_glare_overlay_sprite = util.add_shift_offset(util.by_pixel(0, 112+112),
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/03-rocket-over-glare.png",
blend_mode = "additive",
width = 481,
height = 481,
shift = util.by_pixel(-2, -2 + bottom_thruster_offset),
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-03-rocket-over-glare.png",
blend_mode = "additive",
width = 954,
height = 954,
shift = util.by_pixel(0, 0 + bottom_thruster_offset),
scale = 0.5
}
}),
rocket_smoke_top1_animation = util.add_shift_offset(util.by_pixel(0-66, -112+28+232+32),
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.8 },
--tint = { r = 1, g = 0, b = 0, a = 0.8 },
width = 41,
height = 145,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5*1.3,
shift = util.by_pixel(-2, -2 + side_thruster_offset),
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.8 },
--tint = { r = 1, g = 0, b = 0, a = 0.8 },
width = 80,
height = 286,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5/2*1.3,
shift = util.by_pixel(-1, -3 + side_thruster_offset),
}
}),
rocket_smoke_top2_animation = util.add_shift_offset(util.by_pixel(0+17, -112+28+265+32),
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.8 },
--tint = { r = 0, g = 1, b = 0, a = 0.8 },
width = 41,
height = 145,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5*1.3,
shift = util.by_pixel(-2, -2 + side_thruster_offset),
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.8 },
--tint = { r = 0, g = 1, b = 0, a = 0.8 },
width = 80,
height = 286,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5/2*1.3,
shift = util.by_pixel(-1, -3 + side_thruster_offset),
}
}),
rocket_smoke_top3_animation = util.add_shift_offset(util.by_pixel(0+48, -112+28+252+32),
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.8 },
--tint = { r = 0, g = 0, b = 1, a = 0.8 },
width = 41,
height = 145,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5*1.3,
shift = util.by_pixel(-2, -2 + side_thruster_offset),
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.8 },
--tint = { r = 0, g = 0, b = 1, a = 0.8 },
width = 80,
height = 286,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5/2*1.3,
shift = util.by_pixel(-1, -3 + side_thruster_offset),
}
}),
rocket_smoke_bottom1_animation = util.add_shift_offset(util.by_pixel(0-69, -112+28+205+32),
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.7 },
--tint = { r = 1, g = 1, b = 0, a = 0.8 },
width = 41,
height = 145,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5*1.3,
shift = util.by_pixel(-2, -2 + bottom_thruster_offset),
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.7 },
--tint = { r = 1, g = 1, b = 0, a = 0.8 },
width = 80,
height = 286,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5/2*1.3,
shift = util.by_pixel(-1, -3 + bottom_thruster_offset),
}
}),
rocket_smoke_bottom2_animation = util.add_shift_offset(util.by_pixel(0+62, -112+28+207+32),
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.7 },
--tint = { r = 0, g = 1, b = 1, a = 0.8 },
width = 41,
height = 145,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5*1.3,
shift = util.by_pixel(-2, -2 + bottom_thruster_offset),
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-12-rocket-smoke.png",
priority = "medium",
tint = { r = 0.8, g = 0.8, b = 1, a = 0.7 },
--tint = { r = 0, g = 1, b = 1, a = 0.8 },
width = 80,
height = 286,
frame_count = 24,
line_length = 8,
animation_speed = 0.5,
scale = 1.5/2*1.3,
shift = util.by_pixel(-1, -3 + bottom_thruster_offset),
}
}),
rocket_flame_animation = util.add_shift_offset(util.by_pixel(-1, 280-16),
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/10-jet-flame.png",
priority = "medium",
blend_mode = "additive",
width = 87,
height = 128,
frame_count = 8,
line_length = 8,
animation_speed = 0.5,
scale = 1.13,
shift = util.by_pixel(-0.5, -2 + bottom_thruster_offset),
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-10-jet-flame.png",
priority = "medium",
blend_mode = "additive",
width = 172,
height = 256,
frame_count = 8,
line_length = 8,
animation_speed = 0.5,
scale = 1.13/2,
shift = util.by_pixel(-1, -2 + bottom_thruster_offset),
}
}),
rocket_flame_left_animation = util.add_shift_offset(util.by_pixel(-32-28+3, 280-68+1),
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/10-jet-flame.png",
priority = "medium",
blend_mode = "additive",
width = 87,
height = 128,
frame_count = 8,
line_length = 8,
animation_speed = 0.5,
scale = 0.345*1.15,
shift = util.by_pixel(-0.5, -2 + bottom_thruster_offset),
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-10-jet-flame.png",
priority = "medium",
blend_mode = "additive",
width = 172,
height = 256,
frame_count = 8,
line_length = 8,
animation_speed = 0.5,
scale = 0.345/2*1.15,
shift = util.by_pixel(-1, -2 + bottom_thruster_offset),
}
}),
rocket_flame_left_rotation = 0.0611,
rocket_flame_right_animation = util.add_shift_offset(util.by_pixel(32+16, 280-50),
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/10-jet-flame.png",
priority = "medium",
blend_mode = "additive",
width = 87,
height = 128,
frame_count = 8,
line_length = 8,
animation_speed = 0.5,
scale = 0.368*1.15,
shift = util.by_pixel(-0.5, -2 + bottom_thruster_offset),
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-10-jet-flame.png",
priority = "medium",
blend_mode = "additive",
width = 172,
height = 256,
frame_count = 8,
line_length = 8,
animation_speed = 0.5,
scale = 0.368/2*1.15,
shift = util.by_pixel(-1, -2 + bottom_thruster_offset),
}
}),
rocket_flame_right_rotation = 0.952,
}
})

403
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/condenser-turbine.lua

@ -0,0 +1,403 @@
local data_util = require("data_util")
--[[
fluid box connections don't need to line up just find the right entity.
furnace is the placed entity, short but wide, outputs at front
Outpts piped heat to the turbine
turbine ies long and thin, collects from side
has a connection top and right
always goes on the bottom or left
move horizontal version down 1 pixel so animation shows
if the turbine is aove the the animation won't work
make sure furnace has outputs at both lockations
]]--
local selectable = false
local idle_horizontal = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/condenser-turbine/condenser-turbine-H.png",
frame_count = 1,
height = 123,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/condenser-turbine/hr-condenser-turbine-H.png",
frame_count = 1,
height = 245,
line_length = 1,
scale = 0.5,
shift = {
0,
-0.0859375
},
width = 320
},
line_length = 1,
shift = {
0,
-0.078125
},
width = 160
},
{
draw_as_shadow = true,
filename = "__base__/graphics/entity/steam-turbine/steam-turbine-H-shadow.png",
frame_count = 1,
height = 74,
hr_version = {
draw_as_shadow = true,
filename = "__base__/graphics/entity/steam-turbine/hr-steam-turbine-H-shadow.png",
frame_count = 1,
height = 150,
line_length = 1,
scale = 0.5,
shift = {
0.890625,
0.5625
},
width = 435
},
line_length = 1,
shift = {
0.8984375,
0.5625
},
width = 217
}
}
}
local idle_vertical = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/condenser-turbine/condenser-turbine-V.png",
frame_count = 1,
height = 173,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/condenser-turbine/hr-condenser-turbine-V.png",
frame_count = 1,
height = 347,
line_length = 1,
scale = 0.5,
shift = {
0.1484375,
0.2109375
},
width = 217
},
line_length = 1,
shift = {
0.15625,
0.203125
},
width = 108
},
{
draw_as_shadow = true,
filename = "__base__/graphics/entity/steam-turbine/steam-turbine-V-shadow.png",
frame_count = 1,
height = 131,
hr_version = {
draw_as_shadow = true,
filename = "__base__/graphics/entity/steam-turbine/hr-steam-turbine-V-shadow.png",
frame_count = 1,
height = 260,
line_length = 1,
repeat_count = 1,
scale = 0.5,
shift = {
1.234375,
0.765625
},
width = 302
},
line_length = 1,
repeat_count = 1,
shift = {
1.234375,
0.765625
},
width = 151
}
}
}
local blank_image = {
filename = "__space-exploration-graphics__/graphics/blank.png",
width = 1,
height = 1,
frame_count = 1,
line_length = 1,
shift = { 0, 0 },
}
data:extend({
{
type = "storage-tank",
name = data_util.mod_prefix .. "condenser-turbine-tank",
icon = "__space-exploration-graphics__/graphics/icons/condenser-turbine.png",
icon_size = 64,
flags = {"placeable-player", "player-creation", "not-deconstructable", "not-blueprintable"},
max_health = 500,
order = "zz",
collision_box = {{-1.5, -0.25},{1.5, 0.25}},
selection_box = {{-1.5, -0.25},{1.5, 0.25}},
collision_mask = {"not-colliding-with-itself"},
se_allow_in_space = true,
selectable_in_game = selectable,
fluid_box =
{
filter = data_util.mod_prefix .. "decompressing-steam",
base_area = 0.25, -- gets multiplied by 100 by engine
base_level = 0, -- pull fluid in
pipe_connections =
{
{ position = {0, -1} }, -- connects to generator
{ position = {1, -1} }, -- connects to furnace
{ position = {-1, -1} }, -- connects to furnace
},
},
window_bounding_box = {{-0.0, 0.0}, {0.0, 1.0}},
pictures = {
picture = blank_image,
window_background = blank_image,
fluid_background = blank_image,
flow_sprite = blank_image,
gas_flow = blank_image,
},
flow_length_in_ticks = 360,
circuit_wire_max_distance = 0
},
{
type = "generator",
name = data_util.mod_prefix .. "condenser-turbine-generator",
icon = "__space-exploration-graphics__/graphics/icons/condenser-turbine.png",
icon_size = 64,
alert_icon_shift = { 0, 0.375 },
burns_fluid = false,
fluid_usage_per_tick = 1,
selectable_in_game = selectable,
collision_box = { { -1.25, -1.6 }, { 1.25, 1.6 } }, -- short and wide thin
--collision_box = { { -1, -0.1 }, { 1, 0.1 } }, -- sits on y 2.25
collision_mask = {"not-colliding-with-itself"},
selection_box = { { -1.25, -1.6 }, { 1.25, 1.6 } },
order = "zzz",
corpse = "big-remnants",
dying_explosion = "medium-explosion",
effectivity = 1,
energy_source = { type = "electric", usage_priority = "secondary-output" },
fast_replaceable_group = "steam-engine",
flags = { "placeable-neutral", "player-creation", "placeable-off-grid" },
fluid_box = {
base_area = 0.25,
base_level = -1,
filter = data_util.mod_prefix .. "decompressing-steam",
--filter = "steam",
height = 2,
minimum_temperature = 15,
pipe_connections = {
{
position = { 0, 1.65 },
type = "input-output"
},
{
position = { 0, -1.65 },
type = "input-output"
},
},
production_type = "input-output"
},
horizontal_animation = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/condenser-turbine/condenser-turbine-H.png",
frame_count = 8,
height = 123,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/condenser-turbine/hr-condenser-turbine-H.png",
frame_count = 8,
height = 245,
line_length = 4,
scale = 0.5,
shift = {
0,
-0.0859375 - 1/32
},
width = 320
},
line_length = 4,
shift = {
0,
-0.078125 - 1/32
},
width = 160
},
}
},
max_health = 300,
maximum_temperature = 500,
min_perceived_performance = 0.25,
performance_to_sound_speedup = 0.5,
resistances = {
{
percent = 70,
type = "fire"
}
},
smoke = {
{
east_position = {
0.75,
-0.75
},
frequency = 0.3125,
name = "turbine-smoke",
north_position = {
0,
-1
},
slow_down_factor = 1,
starting_frame_deviation = 60,
starting_vertical_speed = 0.08
}
},
vehicle_impact_sound = {
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.65
},
vertical_animation = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/condenser-turbine/condenser-turbine-V.png",
frame_count = 8,
height = 173,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/condenser-turbine/hr-condenser-turbine-V.png",
frame_count = 8,
height = 347,
line_length = 4,
scale = 0.5,
shift = {
0.1484375,
0.2109375 - 1/32
},
width = 217
},
line_length = 4,
shift = {
0.15625,
0.203125 - 1/32
},
width = 108
}
}
},
working_sound = {
match_speed_to_activity = true,
sound = {
filename = "__base__/sound/steam-engine-90bpm.ogg",
volume = 0.6
}
}
},
{
type = "furnace",
name = data_util.mod_prefix .. "condenser-turbine",
icon = "__space-exploration-graphics__/graphics/icons/condenser-turbine.png",
collision_box = { { -1.3, -2.15 }, { 1.3, 2.15 } },
--selection_box = { { -1.5, -2.5 }, { 1.5, 2.5 } },
selection_box = { { -1.3, -2.15 }, { 1.3, 2.15 } },
fluid_boxes =
{
{
production_type = "input",
filter = "steam",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 1.5,
base_level = -1,
filter = "steam",
pipe_connections = {
{ type="input-output", position = {0, -3} }
},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 1.5,
base_level = 1,
filter = "water",
pipe_connections = {
{ type="output", position = {0, 3} }
},
secondary_draw_orders = { north = -1 }
},
{
filter = data_util.mod_prefix .. "decompressing-steam",
--filter = "steam",
production_type = "output",
--pipe_picture = assembler3pipepictures(),
base_area = 1.5,
base_level = 1,
pipe_connections = {
{ type="output", position = {1, 2.25} },
{ type="output", position = {-1, 2.25} },
},
secondary_draw_orders = { north = -1 }
},
},
minable = {
mining_time = 0.3,
result = data_util.mod_prefix .. "condenser-turbine",
},
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
max_health = 500,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
drawing_box = {{-1.5, -3}, {1.5, 4}},
resistances = {
{ type = "poison", percent = 100 },
{ type = "fire", percent = 80 },
{ type = "explosion", percent = 50 }
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
filename = "__base__/sound/steam-engine-90bpm.ogg",
volume = 0.6
}
},
always_draw_idle_animation = true,
source_inventory_size = 0,
result_inventory_size = 0,
animation = nil,
idle_animation = {
east = idle_horizontal,
west = idle_horizontal,
north = idle_vertical,
south = idle_vertical,
},
crafting_categories = {"condenser-turbine"},
crafting_speed = 1,
energy_source =
{
type = "void",
},
energy_usage = "0.1W",
ingredient_count = 0,
module_specification =
{
module_slots = 0
},
allowed_effects = {},
working_visualisations = nil,
},
})

195
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/core-miner.lua

@ -0,0 +1,195 @@
local data_util = require("data_util")
local shadow =
{
filename = "__space-exploration-graphics-3__/graphics/entity/core-miner/hr/core-miner-shadow.png",
priority = "high",
width = 951,
height = 491,
frame_count = 1,
shift = {2 + 3/32, 1 + 22/32},
draw_as_shadow = true,
scale=0.5,
}
local shadow_anim = table.deepcopy(shadow)
shadow_anim.repeat_count = 30
local off_layer = {
layers = {
shadow,
{
filename = "__space-exploration-graphics-3__/graphics/entity/core-miner/hr/core-miner-off.png",
priority = "high",
width = 691,
height = 737,
frame_count = 1,
shift = {0, -8/32},
scale=0.5,
},
}
}
data:extend({
{
type = "assembling-machine",
name = data_util.mod_prefix .. "core-miner",
icon = "__space-exploration-graphics__/graphics/icons/core-miner.png",
selection_priority = 0,
icon_size = 64,
flags = {"placeable-neutral", "placeable-player", "player-creation"},
minable = {mining_time = 0.5, result = data_util.mod_prefix .. "core-miner"},
max_health = 5000,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
resistances =
{
{ type = "fire", percent = 70 },
{ type = "meteor", percent = 90 },
{ type = "explosion", percent = 70 },
{ type = "impact", percent = 70 },
},
collision_box = {{-5.2, -5.2}, {5.2, 5.2}},
collision_mask = {
"item-layer",
"object-layer",
"player-layer",
"water-tile",
space_collision_layer
},
render_layer = "lower-object-above-shadow",
selection_box = {{-5.5, -5.5}, {5.5, 5.5}},
fluid_boxes =
{
{
production_type = "output",
base_area = 1,
base_level = 1,
pipe_connections = {{ type="output", position = {0, -5.85} }},
secondary_draw_orders = { north = -1 }
},
},
animation = off_layer,
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
energy_usage = "50MW",
energy_source = {type = "void"},
crafting_speed = 1,
crafting_categories = {"dummy"},
},
{
type = "mining-drill",
name = data_util.mod_prefix .. "core-miner-drill",
minable = {mining_time = 0.5, result = data_util.mod_prefix .. "core-miner"},
selection_priority = 10,
icon = "__space-exploration-graphics__/graphics/icons/core-miner.png",
icon_size = 64,
order = "zzz",
flags = {"placeable-neutral", "placeable-player", "player-creation", "not-blueprintable", "not-deconstructable", "placeable-off-grid"},
placeable_by = {item = data_util.mod_prefix .. "core-miner", count=1},
max_health = 5000,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
resistances =
{
{ type = "fire", percent = 70 },
{ type = "meteor", percent = 90 },
{ type = "explosion", percent = 70 },
{ type = "impact", percent = 70 },
},
collision_box = {{-5.2, -5.2}, {5.2, 5.2}},
selection_box = {{-5.5, -5.5}, {5.5, 5.5}},
resource_categories = { data_util.mod_prefix .. "core-mining" },
resource_searching_radius = 2,
mining_speed = 150,
always_draw_idle_animation = false,
energy_usage = "50MW",
vector_to_place_result = { 0, -5.85 },
animations = {
layers = {
shadow_anim,
{
priority = "high",
width = 691,
height = 737,
frame_count = 30,
animation_speed = 1,
shift = {0, -8/32},
scale=0.5,
stripes =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/core-miner/hr/core-miner-1.png",
width_in_frames = 2,
height_in_frames = 2,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/core-miner/hr/core-miner-2.png",
width_in_frames = 2,
height_in_frames = 2,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/core-miner/hr/core-miner-3.png",
width_in_frames = 2,
height_in_frames = 2,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/core-miner/hr/core-miner-4.png",
width_in_frames = 2,
height_in_frames = 2,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/core-miner/hr/core-miner-5.png",
width_in_frames = 2,
height_in_frames = 2,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/core-miner/hr/core-miner-6.png",
width_in_frames = 2,
height_in_frames = 2,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/core-miner/hr/core-miner-7.png",
width_in_frames = 2,
height_in_frames = 2,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/core-miner/hr/core-miner-8.png",
width_in_frames = 2,
height_in_frames = 1,
},
},
},
}
},
working_visualisations =
{
shadow,
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 1, size = 32, shift = {0.0, 0.0}, color = {r = 1.0, g = 0.6, b = 0.1}}
},
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound =
{
sound =
{
{
filename = "__base__/sound/electric-mining-drill.ogg",
volume = 1
},
},
apparent_volume = 2
},
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 200,
},
ingredient_count = 0,
module_specification =
{
module_slots = 0
},
allowed_effects = {}
}
})

399
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/decontamination-lifesupport.lua

@ -0,0 +1,399 @@
local data_util = require("data_util")
data:extend({
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-decontamination-facility",
icon = "__space-exploration-graphics__/graphics/icons/decontamination-facility.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "space-decontamination-facility"},
max_health = 700,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-2.8, -2.8}, {2.8, 2.8}},
selection_box = {{-3, -3}, {3, 3}},
drawing_box = {{-3, -3.5}, {3, 3}},
resistances =
{
{
type = "impact",
percent = 10
}
},
fluid_boxes =
{
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-1.5, -3.5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {1.5, -3.5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-3.5, -1.5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {3.5, -1.5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {-1.5, 3.5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {1.5, 3.5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {3.5, 1.5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {-3.5, 1.5} }},
secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/assembling-machine-t1-1.ogg",
volume = 0.8
},
{
filename = "__base__/sound/assembling-machine-t1-2.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-5__/graphics/entity/decontamination-facility/sr/decontamination-facility.png",
priority = "high",
width = 3072/8/2,
height = 1792/4/2,
frame_count = 32,
line_length = 8,
shift = util.by_pixel(0, -16),
animation_speed = 1,
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/decontamination-facility/hr/decontamination-facility.png",
priority = "high",
width = 3072/8,
height = 1792/4,
frame_count = 32,
line_length = 8,
shift = util.by_pixel(0, -16),
animation_speed = 1,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/decontamination-facility/sr/decontamination-facility-shadow.png",
priority = "high",
width = 426/2,
height = 298/2,
frame_count = 1,
line_length = 1,
repeat_count = 32,
shift = util.by_pixel(26, 24),
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/decontamination-facility/hr/decontamination-facility-shadow.png",
priority = "high",
width = 426,
height = 298,
frame_count = 1,
line_length = 1,
repeat_count = 32,
shift = util.by_pixel(26, 24),
scale = 0.5,
}
},
},
},
crafting_categories = {"space-decontamination"},
crafting_speed = 2,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "2000kW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.5, size = 8, shift = {0.0, 0.0}, color = {r = 1, g = 0.9, b = 0.5}}
},
},
},
{
type = "assembling-machine",
name = data_util.mod_prefix .. "lifesupport-facility",
icon = "__space-exploration-graphics__/graphics/icons/lifesupport-facility.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "lifesupport-facility"},
max_health = 700,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-2.8, -2.8}, {2.8, 2.8}},
se_allow_in_space = true,
selection_box = {{-3, -3}, {3, 3}},
drawing_box = {{-3, -3.5}, {3, 3}},
resistances =
{
{
type = "impact",
percent = 10
}
},
fluid_boxes =
{
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-1.5, -3.5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {1.5, -3.5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-3.5, -1.5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {3.5, -1.5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {-1.5, 3.5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {1.5, 3.5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {3.5, 1.5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {-3.5, 1.5} }},
secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/assembling-machine-t1-1.ogg",
volume = 0.8
},
{
filename = "__base__/sound/assembling-machine-t1-2.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
--"ground-tile", -- allow on ground
"item-layer",
"object-layer",
"player-layer",
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-5__/graphics/entity/lifesupport-facility/sr/lifesupport-facility.png",
priority = "high",
width = 3072/8/2,
height = 1792/4/2,
frame_count = 32,
line_length = 8,
shift = util.by_pixel(0, -16),
animation_speed = 1,
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/lifesupport-facility/hr/lifesupport-facility.png",
priority = "high",
width = 3072/8,
height = 1792/4,
frame_count = 32,
line_length = 8,
shift = util.by_pixel(0, -16),
animation_speed = 1,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/lifesupport-facility/sr/lifesupport-facility-shadow.png",
priority = "high",
width = 426/2,
height = 298/2,
frame_count = 1,
line_length = 1,
repeat_count = 32,
shift = util.by_pixel(26, 24),
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/lifesupport-facility/hr/lifesupport-facility-shadow.png",
priority = "high",
width = 426,
height = 298,
frame_count = 1,
line_length = 1,
repeat_count = 32,
shift = util.by_pixel(26, 24),
scale = 0.5,
}
},
},
},
crafting_categories = {"lifesupport"},
crafting_speed = 1,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "1000kW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.5, size = 8, shift = {0.0, 0.0}, color = {r = 100/255, g = 48/255, b = 1}}
},
},
},
})

197
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/dimensional-anchor.lua

@ -0,0 +1,197 @@
local data_util = require("data_util")
data:extend({
{
type = "electric-energy-interface",
name = data_util.mod_prefix .. "dimensional-anchor",
icon = "__space-exploration-graphics__/graphics/icons/dimensional-anchor.png",
icon_size = 64,
minable = {hardness = 0.2, mining_time = 1, result = data_util.mod_prefix .. "dimensional-anchor"},
order = "z-d-a",
allow_copy_paste = true,
picture =
{
layers =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/dimensional-anchor/sr/dimensional-anchor.png",
priority = "high",
width = 576/2,
height = 672/2,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(0, -24),
animation_speed = 1,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/dimensional-anchor/hr/dimensional-anchor.png",
priority = "high",
width = 576,
height = 672,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(0, -24),
animation_speed = 1,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/dimensional-anchor/sr/dimensional-anchor-shadow.png",
priority = "high",
width = 354,
height = 238,
frame_count = 1,
line_length = 1,
repeat_count = 1,
shift = util.by_pixel(32, 28),
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/dimensional-anchor/hr/dimensional-anchor-shadow.png",
priority = "high",
width = 709,
height = 477,
frame_count = 1,
line_length = 1,
repeat_count = 1,
shift = util.by_pixel(32, 28),
scale = 0.5,
}
},
},
},
collision_box = {{-4.4, -4.4},{4.4, 4.4}},
selection_box = {{-4.4, -4.4},{4.4, 4.4}},
drawing_box = {{-4.4, -5.4},{4.4, 4.4}},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
spaceship_collision_layer,
},
selectable = false,
continuous_animation = true,
corpse = "medium-remnants",
energy_source = {
buffer_capacity = "1TJ",
input_flow_limit = "60GW", -- total when all active (values over 60GW won't work)
output_flow_limit = "0kW",
type = "electric",
usage_priority = "primary-input"
},
energy_production = "0kW",
energy_usage = "0GW", -- platform + 1x per lock + 1x for final energy spike final activation.
--energy_usage = "60GW", -- platform + 1x per lock + 1x for final energy spike final activation.
flags = {
"placeable-player",
"player-creation",
"hidden",
"not-rotatable"
},
max_health = 5000,
vehicle_impact_sound = {
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.65
},
working_sound = {
apparent_volume = 1.5,
fade_in_ticks = 10,
fade_out_ticks = 30,
max_sounds_per_type = 3,
sound = {
{
filename = "__base__/sound/nuclear-reactor-1.ogg",
volume = 0.6
},
{
filename = "__base__/sound/nuclear-reactor-2.ogg",
volume = 0.6
}
}
},
--light = {intensity = 1, size = 8, shift = {0.0, 0.0}, color = {r = 0.6, g = 0.9, b = 1}}
},
{
type = "projectile",
name = data_util.mod_prefix .. "dimensional-anchor-fx",
direction_only = false,
flags = { "not-on-map", "placeable-off-grid" },
acceleration = 0,
collision_mask = {"not-colliding-with-itself"},
light = {intensity = 1, size = 8, shift = {0.0, 0.0}, color = {r = 0.6, g = 0.9, b = 1}},
working_sound = {
apparent_volume = 1.5,
fade_in_ticks = 10,
fade_out_ticks = 30,
max_sounds_per_type = 3,
sound = {
{
filename = "__base__/sound/nuclear-reactor-1.ogg",
volume = 0.6
},
{
filename = "__base__/sound/nuclear-reactor-2.ogg",
volume = 0.6
}
}
},
animation = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/dimensional-anchor/sr/dimensional-anchor-light.png",
priority = "high",
width = 576/2,
height = 640/2,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(0, -32),
animation_speed = 1,
apply_runtime_tint = true,
blend_mode = "additive", --"additive-soft"
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/dimensional-anchor/hr/dimensional-anchor-light.png",
priority = "high",
width = 576,
height = 640,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(0, -32),
animation_speed = 1,
scale = 0.5,
apply_runtime_tint = true,
blend_mode = "additive", --"additive-soft"
}
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/dimensional-anchor/sr/dimensional-anchor-skybeam.png",
priority = "high",
width = 38,
height = 298,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(0, -19 * 32 -2),
animation_speed = 1,
scale = 4,
apply_runtime_tint = true,
blend_mode = "additive-soft",
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/dimensional-anchor/hr/dimensional-anchor-skybeam.png",
priority = "high",
width = 77,
height = 597,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(0, -19 * 32 -2),
animation_speed = 1,
scale = 2,
apply_runtime_tint = true,
blend_mode = "additive-soft",
}
},
}
},
},
})

429
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/entity.lua

@ -0,0 +1,429 @@
local data_util = require("data_util")
-- Collision entities
local base_collision_entity = {
type = "simple-entity",
icon = "__base__/graphics/icons/iron-chest.png",
icon_size = 64,
flags = {"placeable-neutral", "placeable-off-grid"},
subgroup = "grass",
order = "z-z",
selection_box = {{-0.0, -0.0}, {0.0, 0.0}},
selectable_in_game = false,
render_layer = "resource",
pictures = {{
filename = "__space-exploration-graphics__/graphics/blank.png",
width = 1,
height = 1
}},
}
local collision_player = table.deepcopy(base_collision_entity)
collision_player.name = data_util.mod_prefix .. "collision-player"
collision_player.collision_mask = { "player-layer", "train-layer"}
collision_player.collision_box = { { -0.25, -0.25 }, { 0.25, 0.25 } }
local collision_player_not_space = table.deepcopy(base_collision_entity)
collision_player_not_space.name = data_util.mod_prefix .. "collision-player-not-space"
collision_player_not_space.collision_mask = { "player-layer", "train-layer", space_collision_layer}
collision_player_not_space.collision_box = { { -0.25, -0.25 }, { 0.25, 0.25 } }
local collision_rocket_destination_surface = table.deepcopy(base_collision_entity)
collision_rocket_destination_surface.name = data_util.mod_prefix .. "collision-rocket-destination-surface"
collision_rocket_destination_surface.collision_mask = { "player-layer", "train-layer", space_collision_layer}
collision_rocket_destination_surface.collision_box = { { -0.25, -0.25 }, { 0.25, 0.25 } }
local collision_rocket_destination_orbital = table.deepcopy(base_collision_entity)
collision_rocket_destination_orbital.name = data_util.mod_prefix .. "collision-rocket-destination-orbital"
collision_rocket_destination_orbital.collision_mask = { "player-layer", "train-layer"}
collision_rocket_destination_orbital.collision_box = { { -0.25, -0.25 }, { 0.25, 0.25 } }
data:extend({
collision_player,
collision_player_not_space,
collision_rocket_destination_surface,
collision_rocket_destination_orbital
})
-- settings entity
data:extend({
{ -- this is a tempalte
type = "programmable-speaker",
name = data_util.mod_prefix .. "struct-settings-string",
icon = "__space-exploration-graphics__/graphics/icons/settings.png",
icon_size = 64,
order="zzz",
flags = {"placeable-neutral", "player-creation"},
collision_box = {{-0.3, -0.3}, {0.3, 0.3}},
selection_box = {{-0.0, -0.0}, {0.0, 0.0}},
drawing_box = {{-0.0, -0.0}, {0.0, 0.0}},
selectable_in_game = false,
energy_source = {
--type = "electric",
type = "void",
usage_priority = "secondary-input",
render_no_power_icon = false
},
energy_usage_per_tick = "1W",
sprite =
{
layers =
{
{
filename = "__space-exploration-graphics__/graphics/blank.png",
width = 1,
height = 1,
frame_count = 1,
line_length = 1,
shift = { 0, 0 },
}
}
},
maximum_polyphony = 0,
instruments = { },
},
})
--[[
energy_source = {
buffer_capacity = "5MJ",
input_flow_limit = "300kW",
output_flow_limit = "300kW",
type = "electric",
usage_priority = "tertiary"
},]]--
data.raw.accumulator.accumulator.fast_replaceable_group = "accumulator"
data.raw.accumulator.accumulator.next_upgrade = data_util.mod_prefix .. "space-accumulator"
data.raw.accumulator.accumulator.collision_box = {{-0.8,-0.8},{0.8,0.8}}
data.raw.accumulator.accumulator.energy_source.buffer_capacity = "5MJ"
data.raw.accumulator.accumulator.energy_source.input_flow_limit = "250kW"
data.raw.accumulator.accumulator.energy_source.output_flow_limit = "500kW"
local accumulator = table.deepcopy(data.raw.accumulator.accumulator)
accumulator.name = data_util.mod_prefix .. "space-accumulator"
--accumulator.collision_mask = { "floor-layer", "object-layer", "water-tile", "ground-tile", "player-layer"}
data_util.replace_filenames_recursive(accumulator, "__base__/graphics/entity/accumulator/accumulator.png", "__space-exploration-graphics-3__/graphics/entity/accumulator/accumulator.png")
data_util.replace_filenames_recursive(accumulator, "__base__/graphics/entity/accumulator/hr-accumulator.png", "__space-exploration-graphics-3__/graphics/entity/accumulator/hr-accumulator.png")
accumulator.icon = "__space-exploration-graphics__/graphics/icons/accumulator.png"
accumulator.icon_size = 64
accumulator.icon_mipmaps = 1
accumulator.energy_source = {
--buffer_capacity = "25MJ",
--input_flow_limit = "2500kW",
--output_flow_limit = "2500kW",
buffer_capacity = "50MJ",
input_flow_limit = "500kW",
output_flow_limit = "5MW",
type = "electric",
usage_priority = "tertiary"
}
accumulator.minable.result = data_util.mod_prefix .. "space-accumulator"
--accumulator.fast_replaceable_group = "space-accumulator"
accumulator.next_upgrade = data_util.mod_prefix .. "space-accumulator-2"
local accumulator2 = table.deepcopy(accumulator)
accumulator2.name = data_util.mod_prefix .. "space-accumulator-2"
data_util.replace_filenames_recursive(accumulator2, "__space-exploration-graphics-3__/graphics/entity/accumulator/accumulator.png", "__space-exploration-graphics-3__/graphics/entity/accumulator/accumulator-2.png")
data_util.replace_filenames_recursive(accumulator2, "__space-exploration-graphics-3__/graphics/entity/accumulator/hr-accumulator.png", "__space-exploration-graphics-3__/graphics/entity/accumulator/hr-accumulator-2.png")
accumulator2.icon = "__space-exploration-graphics__/graphics/icons/accumulator-2.png"
accumulator2.icon_size = 64
accumulator2.icon_mipmaps = 1
accumulator2.energy_source = {
--buffer_capacity = "100MJ",
--input_flow_limit = "10000kW",
--output_flow_limit = "10000kW",
buffer_capacity = "250MJ",
input_flow_limit = "2500kW",
output_flow_limit = "25MW",
type = "electric",
usage_priority = "tertiary"
}
accumulator2.minable.result = data_util.mod_prefix .. "space-accumulator-2"
accumulator2.next_upgrade = nil
data:extend{
accumulator,
accumulator2,
{
type = "solar-panel",
name = data_util.mod_prefix .. "space-solar-panel",
collision_box = {
{ -1.95, -1.95 },
{ 1.95, 1.95 }
},
collision_mask = {
"floor-layer",
"object-layer",
"water-tile",
--"ground-tile"
},
selection_box = {
{ -2, -2 },
{ 2, 2 }
},
production = "400kW", -- 106.6 would be equivalent to a solar panel for its size.
corpse = "big-remnants",
energy_source = {
type = "electric",
usage_priority = "solar"
},
flags = {
"placeable-neutral",
"player-creation"
},
fast_replaceable_group = "space-solar-panel",
icon = "__space-exploration-graphics__/graphics/icons/solar-panel.png",
icon_size = 64,
max_health = 400,
minable = {
mining_time = 0.1,
result = data_util.mod_prefix .. "space-solar-panel"
},
next_upgrade = data_util.mod_prefix .. "space-solar-panel-2",
picture = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/solar-panel/solar-panel.png",
width = 260/2,
height = 272/2,
priority = "high",
shift = {
0,
-1/32
},
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/solar-panel/hr-solar-panel.png",
width = 260,
height = 272,
priority = "high",
scale = 0.5,
shift = {
0,
-1/32
},
},
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/solar-panel/solar-panel-shadow.png",
width = 92/2,
height = 260/2,
priority = "high",
shift = {
1.5,
1/32
},
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/solar-panel/hr-solar-panel-shadow.png",
width = 92,
height = 260,
priority = "high",
scale = 0.5,
shift = {
1.5,
1/32
},
},
}
}
},
vehicle_impact_sound = {
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.65
}
},
{
type = "solar-panel",
name = data_util.mod_prefix .. "space-solar-panel-2",
collision_box = {
{ -1.95, -1.95 },
{ 1.95, 1.95 }
},
collision_mask = {
"floor-layer",
"object-layer",
"water-tile",
--"ground-tile"
},
selection_box = {
{ -2, -2 },
{ 2, 2 }
},
production = "800kW", -- 106.6 would be equivalent to a solar panel for its size.
corpse = "big-remnants",
energy_source = {
type = "electric",
usage_priority = "solar"
},
flags = {
"placeable-neutral",
"player-creation"
},
fast_replaceable_group = "space-solar-panel",
icon = "__space-exploration-graphics__/graphics/icons/solar-panel-2.png",
icon_size = 64,
max_health = 500,
minable = {
mining_time = 0.1,
result = data_util.mod_prefix .. "space-solar-panel-2"
},
next_upgrade = data_util.mod_prefix .. "space-solar-panel-3",
picture = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/solar-panel-2/solar-panel.png",
width = 260/2,
height = 272/2,
priority = "high",
shift = {
0,
-1/32
},
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/solar-panel-2/hr-solar-panel.png",
width = 260,
height = 272,
priority = "high",
scale = 0.5,
shift = {
0,
-1/32
},
},
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/solar-panel-2/solar-panel-shadow.png",
width = 92/2,
height = 260/2,
priority = "high",
shift = {
1.5,
1/32
},
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/solar-panel-2/hr-solar-panel-shadow.png",
width = 92,
height = 260,
priority = "high",
scale = 0.5,
shift = {
1.5,
1/32
},
},
}
}
},
vehicle_impact_sound = {
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.65
}
},
{
type = "solar-panel",
name = data_util.mod_prefix .. "space-solar-panel-3",
collision_box = {
{ -1.95, -1.95 },
{ 1.95, 1.95 }
},
collision_mask = {
"floor-layer",
"object-layer",
"water-tile",
--"ground-tile"
},
selection_box = {
{ -2, -2 },
{ 2, 2 }
},
production = "1600kW", -- 106.6 would be equivalent to a solar panel for its size.
corpse = "big-remnants",
energy_source = {
type = "electric",
usage_priority = "solar"
},
flags = {
"placeable-neutral",
"player-creation"
},
fast_replaceable_group = "space-solar-panel",
icon = "__space-exploration-graphics__/graphics/icons/solar-panel-3.png",
icon_size = 64,
max_health = 500,
minable = {
mining_time = 0.1,
result = data_util.mod_prefix .. "space-solar-panel-3"
},
picture = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/solar-panel-3/solar-panel.png",
width = 260/2,
height = 272/2,
priority = "high",
shift = {
0,
-1/32
},
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/solar-panel-3/hr-solar-panel.png",
width = 260,
height = 272,
priority = "high",
scale = 0.5,
shift = {
0,
-1/32
},
},
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/solar-panel-3/solar-panel-shadow.png",
width = 92/2,
height = 260/2,
priority = "high",
shift = {
1.5,
1/32
},
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/solar-panel-3/hr-solar-panel-shadow.png",
width = 92,
height = 260,
priority = "high",
scale = 0.5,
shift = {
1.5,
1/32
},
},
}
}
},
vehicle_impact_sound = {
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.65
}
}
}
local tree_fire_starter = table.deepcopy(data.raw.fire["fire-flame"])
tree_fire_starter.name = data_util.mod_prefix .. "tree-fire-starter"
tree_fire_starter.damage_multiplier_decrease_per_tick = 0
tree_fire_starter.initial_lifetime = 600
tree_fire_starter.spread_delay = 1
tree_fire_starter.spread_delay_deviation = 1
tree_fire_starter.spawn_entity = data_util.mod_prefix .. "fire-flame-on-tree-no-pollution"
tree_fire_starter.emissions_per_second = 0
data:extend({tree_fire_starter})
local treefire = table.deepcopy(data.raw.fire["fire-flame-on-tree"])
treefire.name = data_util.mod_prefix .. "fire-flame-on-tree-no-pollution"
treefire.spawn_entity = treefire.name
treefire.emissions_per_second = 0
data:extend({treefire})

216
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/explosion.lua

@ -0,0 +1,216 @@
local data_util = require("data_util")
-- generic triggers
data:extend({
{ -- dummy explosion entity for alerts
type = "explosion",
name = data_util.mod_prefix .. "dummy-explosion",
animations = {
{
direction_count = 1,
filename = "__space-exploration-graphics__/graphics/blank.png",
frame_count = 1,
height = 1,
line_length = 1,
width = 1
}
},
flags = {
"not-on-map"
},
},
{ -- some debris has been added to the surface, in space it should move
type = "explosion",
name = data_util.mod_prefix .. "trigger-movable-debris",
animations = {
{
direction_count = 1,
filename = "__space-exploration-graphics__/graphics/blank.png",
frame_count = 1,
height = 1,
line_length = 1,
width = 1
}
},
flags = {
"not-on-map"
},
},
})
--[[
vanila explosions:
"big-artillery-explosion" -- huge smoke plume but very little debris
"big-explosion" -- biggest overall, but smaller plume
"massive-explosion" -- more debris
"medium-explosion" -- medium and wider
"ground-explosion" -- medium but higher, and with stone particles
SE explosions:
Huge
large
Medium
Small
]]--
local big_explsion_hit = table.deepcopy(data.raw.explosion["explosion-hit"])
big_explsion_hit.name = "big-explosion-hit"
big_explsion_hit.animations[1].scale = 1.5
data:extend({big_explsion_hit})
local function make_explosion(magnitude, name, animation, sound) -- magnitude is 1,2,3,4
data:extend({
{
type = "explosion",
name = data_util.mod_prefix..name,
animations = {animation},
created_effect = {
type = "direct",
action_delivery = {
type = "instant",
target_effects = {
{
type = "create-particle",
particle_name = "explosion-remnants-particle",
initial_height = 0.5,
initial_vertical_speed = 0.06 + 0.01 * magnitude,
initial_vertical_speed_deviation = 0.06 + 0.01 * magnitude,
offset_deviation = { { -0.2, -0.2 }, { 0.2, 0.2 } },
repeat_count = 10 + 5 * magnitude,
speed_from_center = 0.06 + 0.01 * magnitude,
speed_from_center_deviation = 0.06 + 0.01 * magnitude,
},
{
type = "create-particle",
particle_name = "stone-particle",
initial_height = 0.5,
initial_vertical_speed = 0.1 + 0.05 * magnitude,
initial_vertical_speed_deviation = 0.1 + 0.05 * magnitude,
offset_deviation = { { -0.2, -0.2 }, { 0.2, 0.2 } },
repeat_count = 40 + 20 * magnitude,
speed_from_center = 0.06 + 0.02 * magnitude,
speed_from_center_deviation = 0.06 + 0.02 * magnitude,
}
},
},
},
flags = { "not-on-map" },
light = { color = { r = 1, g = 0.9, b = 0.8 }, intensity = 0.8 + 0.1 * magnitude, size = 30 + 5 * magnitude },
sound = {
aggregation = { max_count = 1, remove = true },
variations = sound
},
},
})
end
make_explosion(1, "small-explosion", {
filename = "__base__/graphics/entity/medium-explosion/medium-explosion.png",
width = 112,
height = 94,
line_length = 6,
frame_count = 54,
animation_speed = 0.5,
priority = "high",
shift = { -0.56, -0.96 },
scale = 0.75,
},{
{ filename = "__base__/sound/small-explosion-1.ogg", volume = 0.7 },
{ filename = "__base__/sound/small-explosion-2.ogg", volume = 0.7 }
})
make_explosion(2, "medium-explosion", {
filename = "__base__/graphics/entity/medium-explosion/medium-explosion.png",
width = 112,
height = 94,
line_length = 6,
frame_count = 54,
animation_speed = 0.5,
priority = "high",
shift = { -0.56, -0.96 },
scale = 1,
}, {
{ filename = "__base__/sound/fight/large-explosion-1.ogg", volume = 0.7 },
{ filename = "__base__/sound/fight/large-explosion-2.ogg", volume = 0.7 }
})
make_explosion(3, "large-explosion", {
animation_speed = 0.5,
filename = "__base__/graphics/entity/big-explosion/big-explosion.png",
flags = { "compressed" },
frame_count = 47,
height = 245,
line_length = 6,
shift = { 0.1875, -0.75 },
width = 197,
scale = 1,
},{
{ filename = "__base__/sound/fight/large-explosion-1.ogg", volume = 0.8 },
{ filename = "__base__/sound/fight/large-explosion-2.ogg", volume = 0.8 }
})
make_explosion(4, "huge-explosion", {
animation_speed = 0.5,
filename = "__base__/graphics/entity/bigass-explosion/hr-bigass-explosion-36f.png",
flags = { "compressed" },
frame_count = 36,
width = 324,
height = 416,
shift = { 0, -1.5 },
stripes = {
{ filename = "__base__/graphics/entity/bigass-explosion/hr-bigass-explosion-36f-1.png", height_in_frames = 3, width_in_frames = 6 },
{ filename = "__base__/graphics/entity/bigass-explosion/hr-bigass-explosion-36f-2.png", height_in_frames = 3, width_in_frames = 6 }
},
scale = 1,
}, {
{ filename = "__base__/sound/explosion1.ogg", volume = 1 },
})
data:extend({
{
type = "explosion",
name = data_util.mod_prefix.."meteor-explosion",
animations = {{
animation_speed = 0.5,
filename = "__base__/graphics/entity/bigass-explosion/hr-bigass-explosion-36f.png",
flags = { "compressed" },
frame_count = 36,
width = 324,
height = 416,
shift = { 0, -1.5 },
stripes = {
{ filename = "__base__/graphics/entity/bigass-explosion/hr-bigass-explosion-36f-1.png", height_in_frames = 3, width_in_frames = 6 },
{ filename = "__base__/graphics/entity/bigass-explosion/hr-bigass-explosion-36f-2.png", height_in_frames = 3, width_in_frames = 6 }
},
scale = 1,
}},
created_effect = {
type = "direct",
action_delivery = {
type = "instant",
target_effects = {
-- TODO add rock fragments equivalent to "explosion-remnants-particle" from small rock graphics
{
type = "create-particle",
particle_name = "stone-particle",
initial_height = 0.5,
initial_vertical_speed = 0.3,
initial_vertical_speed_deviation = 0.3,
offset_deviation = { { -0.2, -0.2 }, { 0.2, 0.2 } },
repeat_count = 120,
speed_from_center = 0.2,
speed_from_center_deviation = 0.2,
}
},
},
},
flags = { "not-on-map" },
light = { color = { r = 1, g = 0.9, b = 0.8 }, intensity = 1, size = 50 },
sound = {
aggregation = { max_count = 1, remove = true },
variations = { filename = "__base__/sound/explosion1.ogg", volume = 1 }
},
},
})

149
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/fluid-burner-generator.lua

@ -0,0 +1,149 @@
local data_util = require("data_util")
data:extend({
{
type = "generator",
name = data_util.mod_prefix .. "fluid-burner-generator",
icon = "__space-exploration-graphics__/graphics/icons/fluid-burner-generator.png",
icon_size = 64,
flags = {"placeable-neutral","player-creation"},
minable = {mining_time = 0.3, result = data_util.mod_prefix .. "fluid-burner-generator"},
max_health = 300,
corpse = "steam-turbine-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
effectivity = 1,
fluid_usage_per_tick = 1,
burns_fluid = true,
resistances = { { type = "fire", percent = 70 } },
fast_replaceable_group = "steam-engine",
collision_box = {{-1.35, -2.35}, {1.35, 2.35}},
selection_box = {{-1.5, -2.5}, {1.5, 2.5}},
scale_fluid_usage = true,
max_power_output = "2MW",
maximum_temperature = 1000,
fluid_box =
{
base_area = 1,
height = 2,
base_level = -1,
pipe_covers = pipecoverspictures(),
pipe_connections =
{
{ type = "input-output", position = {0, 3} },
{ type = "input-output", position = {0, -3} }
},
production_type = "input-output",
},
effectivity = 0.75,
energy_source = { type = "electric", usage_priority = "secondary-output" },
horizontal_animation =
{
layers =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/fluid-burner-generator/fluid-burner-generator-h.png",
width = 320/2,
height = 244/2,
frame_count = 8,
line_length = 4,
shift = util.by_pixel(0, -2.75),
animation_speed = 0.5,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/fluid-burner-generator/hr-fluid-burner-generator-h.png",
width = 320,
height = 244,
frame_count = 8,
line_length = 4,
shift = util.by_pixel(0, -2.75),
animation_speed = 0.5,
scale = 0.5
}
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/fluid-burner-generator/fluid-burner-generator-h-shadow.png",
width = 434/2,
height = 150/2,
frame_count = 1,
repeat_count = 8,
line_length = 1,
draw_as_shadow = true,
shift = util.by_pixel(28.5, 18),
animation_speed = 0.5,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/fluid-burner-generator/hr-fluid-burner-generator-h-shadow.png",
width = 434,
height = 150,
frame_count = 1,
repeat_count = 8,
line_length = 1,
draw_as_shadow = true,
shift = util.by_pixel(28.5, 18),
animation_speed = 0.5,
scale = 0.5
}
}
}
},
vertical_animation =
{
layers =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/fluid-burner-generator/fluid-burner-generator-v.png",
width = 864/4/2,
height = 692/2/2,
frame_count = 8,
line_length = 4,
shift = util.by_pixel(5, 6.5),
animation_speed = 0.5,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/fluid-burner-generator/hr-fluid-burner-generator-v.png",
width = 864/4,
height = 692/2,
frame_count = 8,
line_length = 4,
shift = util.by_pixel(4.75, 6.75),
animation_speed = 0.5,
scale = 0.5
}
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/fluid-burner-generator/fluid-burner-generator-v-shadow.png",
width = 256/2,
height = 260/2,
frame_count = 1,
repeat_count = 8,
line_length = 1,
draw_as_shadow = true,
shift = util.by_pixel(9.5, 14.5),
animation_speed = 0.5,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/fluid-burner-generator/hr-fluid-burner-generator-v-shadow.png",
width = 256,
height = 260,
frame_count = 1,
repeat_count = 8,
line_length = 1,
draw_as_shadow = true,
shift = util.by_pixel(9.5, 14.5),
animation_speed = 0.5,
scale = 0.5
}
}
}
},
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound =
{
sound =
{
filename = "__base__/sound/steam-engine-90bpm.ogg",
volume = 0.6
},
match_speed_to_activity = true
},
min_perceived_performance = 0.25,
performance_to_sound_speedup = 0.5
},
})

145
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/fuel-refinery.lua

@ -0,0 +1,145 @@
local data_util = require("data_util")
data:extend({
{
type = "assembling-machine",
name = data_util.mod_prefix .. "fuel-refinery",
icon = "__space-exploration-graphics__/graphics/icons/fuel-refinery.png",
icon_size = 64,
flags = {"placeable-neutral","player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "fuel-refinery"},
max_health = 350,
dying_explosion = "medium-explosion",
corpse = "oil-refinery-remnants",
collision_box = {{-2.4, -2.4}, {2.4, 2.4}},
selection_box = {{-2.5, -2.5}, {2.5, 2.5}},
se_allow_in_space = true,
drawing_box = {{-2.5, -2.8}, {2.5, 2.5}},
module_specification =
{
module_slots = 3
},
scale_entity_info_icon = true,
allowed_effects = {"consumption", "speed", "productivity", "pollution"},
crafting_categories = {"fuel-refining"},
crafting_speed = 1,
has_backer_name = false,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 6
},
energy_usage = "1000kW",
animation = make_4way_animation_from_spritesheet({ layers =
{
{
filename = "__space-exploration-graphics-5__/graphics/entity/fuel-refinery/fuel-refinery.png",
width = 386/2,
height = 430/2,
frame_count = 1,
shift = util.by_pixel(0, -7.5),
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/fuel-refinery/hr-fuel-refinery.png",
width = 386,
height = 430,
frame_count = 1,
shift = util.by_pixel(0, -7.5),
scale = 0.5
}
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/fuel-refinery/fuel-refinery-shadow.png",
width = 337,
height = 213,
frame_count = 1,
shift = util.by_pixel(82.5, 26.5),
draw_as_shadow = true,
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/fuel-refinery/hr-fuel-refinery-shadow.png",
width = 674,
height = 426,
frame_count = 1,
shift = util.by_pixel(82.5, 26.5),
draw_as_shadow = true,
scale = 0.5
}
}
}}),
working_visualisations =
{
{
north_position = util.by_pixel(34, -65),
east_position = util.by_pixel(-52, -61),
south_position = util.by_pixel(-59, -82),
west_position = util.by_pixel(57, -58),
animation =
{
filename = "__base__/graphics/entity/oil-refinery/oil-refinery-fire.png",
line_length = 10,
width = 20,
height = 40,
frame_count = 60,
animation_speed = 0.75,
shift = util.by_pixel(0, -14),
hr_version =
{
filename = "__base__/graphics/entity/oil-refinery/hr-oil-refinery-fire.png",
line_length = 10,
width = 40,
height = 81,
frame_count = 60,
animation_speed = 0.75,
scale = 0.5,
shift = util.by_pixel(0, -14.25)
}
},
light = {intensity = 0.4, size = 6, color = {r = 1.0, g = 1.0, b = 1.0}}
}
},
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound =
{
sound = { filename = "__base__/sound/oil-refinery.ogg" },
idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 },
apparent_volume = 2.5
},
fluid_boxes =
{
{
production_type = "input",
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-1, 3} }}
},
{
production_type = "input",
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {1, 3} }}
},
{
production_type = "output",
pipe_covers = pipecoverspictures(),
base_level = 1,
pipe_connections = {{ position = {-2, -3} }}
},
{
production_type = "output",
pipe_covers = pipecoverspictures(),
base_level = 1,
pipe_connections = {{ position = {0, -3} }}
},
{
production_type = "output",
pipe_covers = pipecoverspictures(),
base_level = 1,
pipe_connections = {{ position = {2, -3} }}
}
}
},
})

1690
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/gate.lua

File diff suppressed because it is too large

164
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/genetics-laboratory.lua

@ -0,0 +1,164 @@
local data_util = require("data_util")
data:extend({
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-genetics-laboratory",
icon = "__space-exploration-graphics__/graphics/icons/genetics-laboratory.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "space-genetics-laboratory"},
max_health = 1200,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-3.3, -3.3}, {3.3, 3.3}},
selection_box = {{-3.5, -3.5}, {3.5, 3.5}},
drawing_box = {{-3.5, -3.9}, {3.5, 3.5}},
resistances =
{
{
type = "impact",
percent = 10
}
},
fluid_boxes =
{
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -4} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-4, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 4} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {4, 0} }},
secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/chemical-plant.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
spaceship_collision_layer,
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-2__/graphics/entity/genetics-laboratory/sr/genetics-laboratory.png",
priority = "high",
width = 3584/8/2,
height = 2048/4/2,
frame_count = 32,
line_length = 8,
shift = util.by_pixel(0, -16),
animation_speed = 0.5,
hr_version = {
filename = "__space-exploration-graphics-2__/graphics/entity/genetics-laboratory/hr/genetics-laboratory.png",
priority = "high",
width = 3584/8,
height = 2048/4,
frame_count = 32,
line_length = 8,
shift = util.by_pixel(0, -16),
animation_speed = 0.5,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/genetics-laboratory/sr/genetics-laboratory-shadow.png",
priority = "high",
width = 604/2,
height = 302/2,
frame_count = 1,
line_length = 1,
repeat_count = 32,
shift = util.by_pixel(40, 8),
animation_speed = 0.5,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/genetics-laboratory/hr/genetics-laboratory-shadow.png",
priority = "high",
width = 604,
height = 302,
frame_count = 1,
line_length = 1,
repeat_count = 32,
shift = util.by_pixel(40, 8),
animation_speed = 0.5,
scale = 0.5,
}
},
},
},
crafting_categories = {"space-genetics"},
crafting_speed = 4,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "1000kW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.5, size = 8, shift = {0.0, 0.0}, color = {r = 0.7, g = 0.8, b = 1}}
},
},
},
})

245
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/growth-facility.lua

@ -0,0 +1,245 @@
local data_util = require("data_util")
local pipe_pics = table.deepcopy(data.raw["assembling-machine"]["assembling-machine-3"].fluid_boxes[1].pipe_picture)
data_util.replace_filenames_recursive(pipe_pics,
"__base__",
"__space-exploration-graphics__")
data_util.replace_filenames_recursive(pipe_pics,
"assembling-machine-3",
"assembling-machine")
data:extend({
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-growth-facility",
icon = "__space-exploration-graphics__/graphics/icons/growth-facility.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "space-growth-facility"},
max_health = 1500,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-4.3, -4.3}, {4.3, 4.3}},
selection_box = {{-4.5, -4.5}, {4.5, 4.5}},
drawing_box = {{-4.5, -4.9}, {4.5, 4.5}},
resistances =
{
{
type = "impact",
percent = 10
}
},
fluid_boxes =
{
{
production_type = "input",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-5, 2} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-2, -5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-5, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-5, -2} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {2, -5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {-2, 5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {5, 2} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {5, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {2, 5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {5, -2} }},
secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/chemical-plant.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
spaceship_collision_layer,
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/growth-facility/sr/growth-facility.png",
priority = "high",
width = 4032/7/2,
height = 3360/5/2,
frame_count = 32,
line_length = 7,
shift = util.by_pixel(0, -24),
animation_speed = 0.1,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/growth-facility/hr/growth-facility.png",
priority = "high",
width = 4032/7,
height = 3360/5,
frame_count = 32,
line_length = 7,
shift = util.by_pixel(0, -24),
animation_speed = 0.1,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/growth-facility/sr/growth-facility-shadow.png",
priority = "high",
width = 618/2,
height = 570/2,
frame_count = 1,
line_length = 1,
repeat_count = 32,
shift = util.by_pixel(8, 2),
animation_speed = 0.1,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/growth-facility/hr/growth-facility-shadow.png",
priority = "high",
width = 618,
height = 570,
frame_count = 1,
line_length = 1,
repeat_count = 32,
shift = util.by_pixel(8, 2),
animation_speed = 0.1,
scale = 0.5,
}
},
},
},
crafting_categories = {"space-growth"},
crafting_speed = 4,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "4000kW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.5, size = 24, shift = {0.0, 0.0}, color = {r = 0.7, g = 0.8, b = 1}}
},
},
},
})

481
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/laser-radi-thermo.lua

@ -0,0 +1,481 @@
local data_util = require("data_util")
data:extend({
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-laser-laboratory",
icon = "__space-exploration-graphics__/graphics/icons/laser-laboratory.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "space-laser-laboratory"},
max_health = 1200,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-3.3, -3.3}, {3.3, 3.3}},
selection_box = {{-3.5, -3.5}, {3.5, 3.5}},
drawing_box = {{-3.5, -3.9}, {3.5, 3.5}},
resistances =
{
{
type = "impact",
percent = 10
}
},
fluid_boxes =
{
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -4} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-4, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 4} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {4, 0} }},
secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/electric-furnace.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-2__/graphics/entity/laser-laboratory/sr/laser-laboratory.png",
priority = "high",
width = 3584/8/2,
height = 3840/8/2,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(0, -8),
animation_speed = 0.75,
hr_version = {
filename = "__space-exploration-graphics-2__/graphics/entity/laser-laboratory/hr/laser-laboratory.png",
priority = "high",
width = 3584/8,
height = 3840/8,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(0, -8),
animation_speed = 0.75,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/laser-laboratory/sr/laser-laboratory-shadow.png",
priority = "high",
width = 442/2,
height = 394/2,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(21, 13),
animation_speed = 0.75,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/laser-laboratory/hr/laser-laboratory-shadow.png",
priority = "high",
width = 442,
height = 394,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(21, 13),
animation_speed = 0.75,
scale = 0.5,
}
},
},
},
crafting_categories = {"space-laser"},
crafting_speed = 1,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "5MW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.8, size = 18, shift = {0.0, 0.0}, color = {r = 1, g = 0.2, b = 0.2}}
},
},
},
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-radiation-laboratory",
icon = "__space-exploration-graphics__/graphics/icons/radiation-laboratory.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "space-radiation-laboratory"},
max_health = 1200,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-3.3, -3.3}, {3.3, 3.3}},
selection_box = {{-3.5, -3.5}, {3.5, 3.5}},
drawing_box = {{-3.5, -3.9}, {3.5, 3.5}},
resistances =
{
{
type = "impact",
percent = 10
}
},
fluid_boxes =
{
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -4} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-4, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 4} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {4, 0} }},
secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/electric-furnace.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-2__/graphics/entity/radiation-laboratory/sr/radiation-laboratory.png",
priority = "high",
width = 3584/8/2,
height = 3840/8/2,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(0, -8),
animation_speed = 0.75,
hr_version = {
filename = "__space-exploration-graphics-2__/graphics/entity/radiation-laboratory/hr/radiation-laboratory.png",
priority = "high",
width = 3584/8,
height = 3840/8,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(0, -8),
animation_speed = 0.75,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/radiation-laboratory/sr/radiation-laboratory-shadow.png",
priority = "high",
width = 442/2,
height = 394/2,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(21, 13),
animation_speed = 0.75,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/radiation-laboratory/hr/radiation-laboratory-shadow.png",
priority = "high",
width = 442,
height = 394,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(21, 13),
animation_speed = 0.75,
scale = 0.5,
}
},
},
},
crafting_categories = {"space-radiation", "centrifuging"},
crafting_speed = 1,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "1000kW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.8, size = 18, shift = {0.0, 0.0}, color = {r = 0.3, g = 1, b = 0.1}}
},
},
},
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-thermodynamics-laboratory",
icon = "__space-exploration-graphics__/graphics/icons/thermodynamics-laboratory.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "space-thermodynamics-laboratory"},
max_health = 1200,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-3.3, -3.3}, {3.3, 3.3}},
selection_box = {{-3.5, -3.5}, {3.5, 3.5}},
drawing_box = {{-3.5, -3.9}, {3.5, 3.5}},
resistances =
{
{
type = "impact",
percent = 10
}
},
fluid_boxes =
{
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -4} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-4, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 4} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {4, 0} }},
secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/electric-furnace.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-2__/graphics/entity/thermodynamics-laboratory/sr/thermodynamics-laboratory.png",
priority = "high",
width = 3584/8/2,
height = 3840/8/2,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(0, -8),
animation_speed = 0.75,
hr_version = {
filename = "__space-exploration-graphics-2__/graphics/entity/thermodynamics-laboratory/hr/thermodynamics-laboratory.png",
priority = "high",
width = 3584/8,
height = 3840/8,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(0, -8),
animation_speed = 0.75,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/thermodynamics-laboratory/sr/thermodynamics-laboratory-shadow.png",
priority = "high",
width = 442/2,
height = 394/2,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(21, 13),
animation_speed = 0.75,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/thermodynamics-laboratory/hr/thermodynamics-laboratory-shadow.png",
priority = "high",
width = 442,
height = 394,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(21, 13),
animation_speed = 0.75,
scale = 0.5,
}
},
},
},
crafting_categories = {"space-thermodynamics", "smelting"},
crafting_speed = 4,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "1000kW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.8, size = 18, shift = {0.0, 0.0}, color = {r = 1, g = 0.7, b = 0.1}}
},
},
},
})

44
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/light.lua

@ -0,0 +1,44 @@
local data_util = require("data_util")
-- use projectile for light becuase they are can be positioned, moved, and removed at a specific time.
local function make_light(name, light)
data:extend( {
{
type = "projectile",
name = name,
acceleration = 0,
animation = {
filename = "__space-exploration-graphics__/graphics/blank.png",
frame_count = 1,
height = 1,
line_length = 1,
priority = "high",
width = 1
},
flags = { "not-on-map", "placeable-off-grid" },
light = light,
}
})
end
make_light(data_util.mod_prefix .."light-space-capsule", {
intensity = 0.4,
size = 16,
color = {r = 255, g = 225, b = 195}
})
make_light(data_util.mod_prefix .. "light-space-capsule-launch", {
intensity = 2,
size = 8,
color = {r = 255, g = 50, b = 0}
})
make_light(data_util.mod_prefix .. "gate-light", {
intensity = 0.15,
size = 40,
color = {r = 255, g = 250, b = 255}
})
make_light(data_util.mod_prefix .. "gate-light-middle", {
intensity = 1,
size = 64,
color = {r = 255, g = 250, b = 255}
})

453
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/meteor-defence.lua

@ -0,0 +1,453 @@
local data_util = require("data_util")
local blank_image = {
filename = "__space-exploration-graphics__/graphics/blank.png",
width = 1,
height = 1,
frame_count = 1,
line_length = 1,
direction_count = 1,
shift = { 0, 0 },
}
local selection_box = { { -4.5, -4.5 }, { 4.5, 4.5 } }
local collision_box = { { -4.3, -4.3 }, { 4.3, 4.3 } }
data:extend({
{
type = "ammo-turret",
name = data_util.mod_prefix .. "meteor-defence-container",
minable = {
mining_time = 0.5,
result = data_util.mod_prefix .. "meteor-defence"
},
alert_when_attacking = false,
automated_ammo_count = 4,
attack_parameters = {
ammo_category = data_util.mod_prefix .. "meteor-defence",
cooldown = 300,
range = 1,
type = "projectile"
},
base_picture_render_layer = "object",
base_picture = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-defence/meteor-defence.png",
shift = { 0, -4.75 },
width = 616/2,
height = 1198/2,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-defence/hr-meteor-defence.png",
shift = { 0, -4.75 },
width = 616,
height = 1198,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-defence/meteor-defence-shadow.png",
shift = { 2.5, 2/32 },
width = 890/2,
height = 578/2,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-defence/hr-meteor-defence-shadow.png",
shift = { 2.5, 2/32 },
width = 890,
height = 578,
scale = 0.5,
}
}
}
},
call_for_help_radius = 40,
folded_animation = blank_image,
collision_box = collision_box,
drawing_box = { { -4.5, -4.5-9 }, { 4.5, 4.5 } },
collision_mask = {
"water-tile",
"item-layer",
"object-layer",
"player-layer",
spaceship_collision_layer,
},
corpse = "big-remnants",
dying_explosion = "medium-explosion",
flags = {"placeable-neutral", "player-creation"},
icon = "__space-exploration-graphics__/graphics/icons/meteor-defence.png",
icon_size = 64,
order = "b-a",
inventory_size = 1,
max_health = 8000,
resistances = {
{ type = "impact", percent = 100 },
{ type = "fire", percent = 100 }
},
open_sound = {
filename = "__base__/sound/machine-open.ogg",
volume = 0.85
},
close_sound = {
filename = "__base__/sound/machine-close.ogg",
volume = 0.75
},
rotation_speed = 0.015,
selection_box = selection_box,
selection_priority = 100,
vehicle_impact_sound = {
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.65
}
},
{
type = "electric-energy-interface",
name = data_util.mod_prefix .. "meteor-defence-charger",
icon = "__space-exploration-graphics__/graphics/icons/meteor-defence.png",
flags = {"placeable-player", "player-creation", "placeable-off-grid", "not-deconstructable", "not-blueprintable"},
icon_size = 64,
order = "b-a",
selectable_in_game = false,
selection_box = { { -4.5, -4.5 }, { 4.5, 4.5 } },
collision_box = collision_box,
energy_source = {
buffer_capacity = "2000MJ",
input_flow_limit = "20MW",
type = "electric",
usage_priority = "secondary-input"
},
energy_usage = "5MW"
},
{
type = "explosion",
name = data_util.mod_prefix .. "meteor-defence-beam",
animations = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-defence/meteor-defence-beam.png",
frame_count = 6,
height = 1,
priority = "extra-high",
width = 187
}
},
beam = true,
flags = { "not-on-map", "placeable-off-grid"},
light = {
color = {
b = 0,
g = 0,
r = 1
},
intensity = 1,
size = 20
},
rotate = true,
smoke = "smoke-fast",
smoke_count = 2,
smoke_slow_down_factor = 1,
sound = {
{
filename = "__base__/sound/fight/old/huge-explosion.ogg",
volume = 1
}
},
},
{
type = "ammo-turret",
name = data_util.mod_prefix .. "meteor-point-defence-container",
minable = {
mining_time = 0.3,
result = data_util.mod_prefix .. "meteor-point-defence",
},
alert_when_attacking = false,
automated_ammo_count = 4,
attack_parameters = {
ammo_category = data_util.mod_prefix .. "meteor-point-defence",
cooldown = 300,
range = 64,
type = "projectile"
},
base_picture_render_layer = "object",
base_picture = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/meteor-point-defence-base.png",
shift = { 1/32, -1.5 },
width = 206/2,
height = 400/2,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/hr-meteor-point-defence-base.png",
shift = { 1/32, -1.5 },
width = 206,
height = 400,
scale = 0.5,
}
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/meteor-point-defence-mask.png",
shift = { 1/32, -1.5 },
width = 206/2,
height = 400/2,
tint = {r=255,g=0,b=0},
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/hr-meteor-point-defence-mask.png",
shift = { 1/32, -1.5 },
width = 206,
height = 400,
scale = 0.5,
tint = {r=255,g=0,b=0},
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/meteor-point-defence-shadow.png",
shift = { 1.7, 0.6 },
width = 408/2,
height = 136/2,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/hr-meteor-point-defence-shadow.png",
shift = { 1.7, 0.6 },
width = 408,
height = 136,
scale = 0.5,
}
}
}
},
call_for_help_radius = 40,
folded_animation = blank_image,
collision_box = { { -1.35, -1.35 }, { 1.35, 1.35 } },
drawing_box = { {-1.35, -4.35}, {1.35, 1.35} },
collision_mask = {
"water-tile",
"item-layer",
"object-layer",
"player-layer",
},
corpse = "medium-remnants",
dying_explosion = "medium-explosion",
flags = {"placeable-neutral", "player-creation"},
icon = "__space-exploration-graphics__/graphics/icons/meteor-point-defence.png",
icon_size = 64,
order = "a-a",
inventory_size = 1,
max_health = 2000,
resistances = {
{ type = "impact", percent = 100 },
{ type = "fire", percent = 100 }
},
open_sound = {
filename = "__base__/sound/machine-open.ogg",
volume = 0.85
},
close_sound = {
filename = "__base__/sound/machine-close.ogg",
volume = 0.75
},
rotation_speed = 0.015,
selection_box = { { -1.5, -1.5 }, { 1.5, 1.5 } },
selection_priority = 100,
vehicle_impact_sound = {
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.65
}
},
{
type = "sprite",
name = data_util.mod_prefix .. "meteor-point-defence-mask",
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/meteor-point-defence-mask.png",
shift = { 1/32, -1.5 },
width = 206/2,
height = 400/2,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/hr-meteor-point-defence-mask.png",
shift = { 1/32, -1.5 },
width = 206,
height = 400,
scale = 0.5,
}
},
{
type = "electric-energy-interface",
name = data_util.mod_prefix .. "meteor-point-defence-charger",
icon = "__space-exploration-graphics__/graphics/icons/meteor-point-defence.png",
flags = {"placeable-player", "player-creation", "placeable-off-grid", "not-deconstructable", "not-blueprintable"},
render_layer="object",
picture = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/meteor-point-defence-base.png",
shift = { 1/32, -1.5 },
width = 206/2,
height = 400/2,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/hr-meteor-point-defence-base.png",
shift = { 1/32, -1.5 },
width = 206,
height = 400,
scale = 0.5,
}
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/meteor-point-defence-mask.png",
shift = { 1/32, -1.5 },
width = 206/2,
height = 400/2,
tint = {r=255,g=0,b=0},
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/hr-meteor-point-defence-mask.png",
shift = { 1/32, -1.5 },
width = 206,
height = 400,
scale = 0.5,
tint = {r=255,g=0,b=0},
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/meteor-point-defence-shadow.png",
shift = { 1.7, 0.6 },
width = 408/2,
height = 136/2,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/hr-meteor-point-defence-shadow.png",
shift = { 1.7, 0.6 },
width = 408,
height = 136,
scale = 0.5,
}
}
}
},
icon_size = 64,
order = "a-a",
selectable_in_game = false,
selection_box = { { -1.5, -1.5 }, { 1.5, 1.5 } },
collision_box = { { -1.35, -1.35 }, { 1.35, 1.35 } },
collision_mask = {"not-colliding-with-itself"},
energy_source = {
buffer_capacity = "200MJ",
input_flow_limit = "2MW",
type = "electric",
usage_priority = "secondary-input"
},
energy_usage = "0.5MW"
},
{
type = "electric-energy-interface",
name = data_util.mod_prefix .. "meteor-point-defence-charger-overcharged",
render_layer="object",
picture = {
layers = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/meteor-point-defence-base.png",
shift = { 1/32, -1.5 },
width = 206/2,
height = 400/2,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/hr-meteor-point-defence-base.png",
shift = { 1/32, -1.5 },
width = 206,
height = 400,
scale = 0.5,
}
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/meteor-point-defence-mask.png",
shift = { 1/32, -1.5 },
width = 206/2,
height = 400/2,
tint = {r=200,g=100,b=0},
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/hr-meteor-point-defence-mask.png",
shift = { 1/32, -1.5 },
width = 206,
height = 400,
scale = 0.5,
tint = {r=200,g=100,b=0},
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/meteor-point-defence-shadow.png",
shift = { 1.7, 0.6 },
width = 408/2,
height = 136/2,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/hr-meteor-point-defence-shadow.png",
shift = { 1.7, 0.6 },
width = 408,
height = 136,
scale = 0.5,
}
}
}
},
icon = "__space-exploration-graphics__/graphics/icons/meteor-point-defence.png",
flags = {"placeable-player", "player-creation", "placeable-off-grid", "not-deconstructable", "not-blueprintable"},
icon_size = 64,
selectable_in_game = false,
selection_box = { { -1.5, -1.5 }, { 1.5, 1.5 } },
collision_box = { { -1.35, -1.35 }, { 1.35, 1.35 } },
collision_mask = {"not-colliding-with-itself"},
energy_source = {
buffer_capacity = "1000MJ",
input_flow_limit = "10GW",
type = "electric",
usage_priority = "primary-input"
},
energy_usage = "0.25MW"
},
{
type = "explosion",
name = data_util.mod_prefix .. "meteor-point-defence-beam",
animations = {
{
filename = "__space-exploration-graphics-3__/graphics/entity/meteor-point-defence/meteor-point-defence-beam.png",
frame_count = 6,
height = 1,
priority = "extra-high",
width = 576/6
}
},
beam = true,
flags = { "not-on-map", "placeable-off-grid"},
light = {
color = {
b = 0.5,
g = 0.95,
r = 1
},
intensity = 1,
size = 20
},
rotate = true,
smoke = "smoke-fast",
smoke_count = 2,
smoke_slow_down_factor = 1,
sound = {
{
filename = "__base__/sound/fight/heavy-gunshot-1.ogg",
volume = 0.45
},
{
filename = "__base__/sound/fight/heavy-gunshot-2.ogg",
volume = 0.45
},
{
filename = "__base__/sound/fight/heavy-gunshot-3.ogg",
volume = 0.45
},
{
filename = "__base__/sound/fight/heavy-gunshot-4.ogg",
volume = 0.45
}
},
},
})

358
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/meteor.lua

@ -0,0 +1,358 @@
local data_util = require("data_util")
--[[
meteors
projectile falls from the sky
shadow moves sideways
projectile causes explosion and spawns a rock
]]--
local meteors = {
["meteor-01"] = {209, 138},
["meteor-02"] = {165,129},
["meteor-03"] = {151,139},
["meteor-04"] = {216,110},
["meteor-05"] = {154,147},
["meteor-06"] = {154,132},
["meteor-07"] = {193,120},
["meteor-08"] = {136,117},
["meteor-09"] = {157,115},
["meteor-10"] = {198,153},
["meteor-11"] = {190,115},
["meteor-12"] = {229,126},
["meteor-13"] = {151,125},
["meteor-14"] = {137,117},
["meteor-15"] = {201,141},
["meteor-16"] = {209,154},
}
local tint = {r = 0.5, g = 0.5, b = 0.5}
for name, meteor in pairs(meteors) do
local width = meteor[1]
local height = meteor[2]
local shadow_width = meteor[1]
local shadow_height = meteor[2]
local scale = 0.75
local picture_offset = width / 32 / 16
data:extend({
{
type = "projectile",
name = data_util.mod_prefix.."falling-" .. name,
acceleration = 0,
rotatable = false,
animation = {
filename = "__space-exploration-graphics__/graphics/entity/meteor/hr-"..name..".png",
frame_count = 1,
width = width,
height = height,
line_length = 1,
priority = "high",
shift = { picture_offset, 0 },
tint=tint,
scale = scale,
},
action = {
action_delivery = {
target_effects = {
{
action = {
action_delivery = {
target_effects = {
{
damage = {
amount = 20,
type = "meteor"
},
type = "damage"
},
},
type = "instant"
},
radius = 10,
type = "area"
},
type = "nested-result"
},
{
action = {
action_delivery = {
target_effects = {
{
damage = {
amount = 100,
type = "meteor"
},
type = "damage"
},
},
type = "instant"
},
radius = 4,
type = "area"
},
type = "nested-result"
},
{
action = {
action_delivery = {
target_effects = {
{
damage = {
amount = 200,
type = "meteor"
},
type = "damage"
},
},
type = "instant"
},
radius = 2,
type = "area"
},
type = "nested-result"
},
{
action = {
action_delivery = {
target_effects = {
{
damage = {
amount = 10000,
type = "meteor"
},
type = "damage"
},
},
type = "instant"
},
radius = 1,
type = "area"
},
type = "nested-result"
},
{
type = "create-entity",
entity_name = data_util.mod_prefix.."meteor-explosion",
},
{
type = "create-entity",
check_buildability = false,
entity_name = data_util.mod_prefix.."static-"..name,
},
{
type = "create-entity",
entity_name = data_util.mod_prefix .. "trigger-movable-debris",
trigger_created_entity = true,
},
},
type = "instant"
},
type = "direct"
},
flags = { "not-on-map" },
light = { intensity = 1, size = 5, color={r=1,g=0.7,b=0.3}},
smoke = {
{
deviation = {
0.15,
0.15
},
frequency = 1,
--name = "smoke-fast",
--name = "smoke-explosion-particle",
name = "soft-fire-smoke", -- lasts longer
position = {0,0},
slow_down_factor = 1,
starting_frame = 3,
starting_frame_deviation = 5,
starting_frame_speed = 0,
starting_frame_speed_deviation = 5
}
},
},
{
type = "projectile",
name = data_util.mod_prefix.."shadow-" .. name,
acceleration = 0,
rotatable = false,
animation = {
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/meteor/shadows/hr-"..name..".png",
frame_count = 1,
width = shadow_width,
height = shadow_height,
line_length = 1,
priority = "high",
shift = { picture_offset, 0 },
tint=tint,
scale = scale,
},
flags = { "not-on-map" },
},
{
type = "simple-entity",
name = data_util.mod_prefix.."static-"..name,
icon = "__space-exploration-graphics__/graphics/icons/astronomic/asteroid-belt.png",
icon_size = 64,
flags = {"placeable-neutral", "placeable-off-grid", "not-on-map"},
subgroup = "wrecks",
order = "d[remnants]-d[ship-wreck]-c[small]-a",
max_health = 1000,
minable = {
mining_time = 1,
results={
{name = "stone", amount_min = 9, amount_max = 31},
{name = "iron-ore", amount_min = 0, amount_max = 30},
{name = "copper-ore", amount_min = 0, amount_max = 30},
{name = "uranium-ore", amount_min = 0, amount_max = 30, probability = 0.1},
}
},
resistances =
{
{ type = "fire", percent = 100 },
{ type = "poison", percent = 100 }
},
collision_box = {{-1, -1}, {1, 1}},
collision_mask = {"not-colliding-with-itself"}, -- otherwise it kills the entity ghosts too
selection_box = {{-1, -1}, {1, 1}},
selection_priority = 2,
count_as_rock_for_filtered_deconstruction = true,
picture =
{
layers = {
{
filename = "__space-exploration-graphics__/graphics/entity/meteor/hr-"..name..".png",
width = width,
height = height,
shift = { picture_offset, 0 },
tint=tint,
scale = scale,
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/meteor/shadows/hr-"..name..".png",
width = shadow_width,
height = shadow_height,
shift = { picture_offset, 0 },
tint=tint,
scale = scale,
}
}
},
render_layer = "object",
localised_name = {"entity-name.meteorite"}
},
})
end
data:extend({
{
animation = {
direction_count = 1,
frame_count = 1,
filename = "__base__/graphics/entity/scorchmark/small-scorchmark.png",
width = 128,
height = 92,
line_length = 4,
shift = util.by_pixel(0, 2),
variation_count = 4,
hr_version =
{
direction_count = 1,
frame_count = 1,
filename = "__base__/graphics/entity/scorchmark/hr-small-scorchmark.png",
width = 256,
height = 182,
line_length = 4,
shift = util.by_pixel(0, 2),
variation_count = 4,
scale = 0.5,
}
},
collision_box = {
{
-1.5,
-1.5
},
{
1.5,
1.5
}
},
collision_mask = {
"doodad-layer",
"not-colliding-with-itself"
},
final_render_layer = "ground-patch-higher2",
flags = {
"placeable-neutral",
"not-on-map",
"placeable-off-grid"
},
ground_patch =
{
sheet =
{
filename = "__base__/graphics/entity/scorchmark/small-scorchmark.png",
width = 128,
height = 92,
line_length = 4,
shift = util.by_pixel(0, 2),
variation_count = 4,
hr_version =
{
filename = "__base__/graphics/entity/scorchmark/hr-small-scorchmark.png",
width = 256,
height = 182,
line_length = 4,
shift = util.by_pixel(0, 2),
variation_count = 4,
scale = 0.5,
}
}
},
ground_patch_higher =
{
sheet =
{
filename = "__base__/graphics/entity/scorchmark/small-scorchmark-top.png",
width = 34,
height = 28,
line_length = 4,
variation_count = 4,
shift = util.by_pixel(0, -2),
hr_version =
{
filename = "__base__/graphics/entity/scorchmark/hr-small-scorchmark-top.png",
width = 68,
height = 54,
line_length = 4,
shift = util.by_pixel(0, -2),
variation_count = 4,
scale = 0.5,
}
}
},
icon = "__base__/graphics/icons/small-scorchmark.png",
icon_size = 64,
name = data_util.mod_prefix.."meteor-scorchmark",
order = "d[remnants]-b[scorchmark]-a[small]",
remove_on_entity_placement = false,
remove_on_tile_placement = true,
selectable_in_game = false,
selection_box = {
{
-1,
-1
},
{
1,
1
}
},
subgroup = "remnants",
time_before_removed = 36000,
type = "corpse"
},
})

483
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/particle-acc-col-fab.lua

@ -0,0 +1,483 @@
local data_util = require("data_util")
data:extend({
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-particle-accelerator",
icon = "__space-exploration-graphics__/graphics/icons/particle-accelerator.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "space-particle-accelerator"},
max_health = 1500,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-4.3, -4.3}, {4.3, 4.3}},
selection_box = {{-4.5, -4.5}, {4.5, 4.5}},
drawing_box = {{-4.5, -6.0}, {4.5, 4.5}},
resistances =
{
{
type = "impact",
percent = 10
}
},
fluid_boxes =
{
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-5, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {5, 0} }},
secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/electric-furnace.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-2__/graphics/entity/particle-accelerator/sr/particle-accelerator.png",
priority = "high",
width = 3540/6/2,
height = 4032/6/2,
frame_count = 32,
line_length = 6,
shift = util.by_pixel(0, -24),
animation_speed = 1,
hr_version = {
filename = "__space-exploration-graphics-2__/graphics/entity/particle-accelerator/hr/particle-accelerator.png",
priority = "high",
width = 3540/6,
height = 4032/6,
frame_count = 32,
line_length = 6,
shift = util.by_pixel(0, -24),
animation_speed = 1,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/particle-accelerator/sr/particle-accelerator-shadow.png",
priority = "high",
width = 692/2,
height = 526/2,
frame_count = 1,
line_length = 1,
repeat_count = 32,
shift = util.by_pixel(32, 16),
animation_speed = 1,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/particle-accelerator/hr/particle-accelerator-shadow.png",
priority = "high",
width = 692,
height = 526,
frame_count = 1,
line_length = 1,
repeat_count = 32,
shift = util.by_pixel(32, 16),
animation_speed = 1,
scale = 0.5,
}
},
},
},
crafting_categories = {"space-accelerator"},
crafting_speed = 1,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "100MW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.8, size = 32, shift = {0.0, 0.0}, color = {r = 0.1, g = 0.5, b = 1}}
},
},
},
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-particle-collider",
icon = "__space-exploration-graphics__/graphics/icons/particle-collider.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "space-particle-collider"},
max_health = 1500,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-4.3, -4.3}, {4.3, 4.3}},
selection_box = {{-4.5, -4.5}, {4.5, 4.5}},
drawing_box = {{-4.5, -6.0}, {4.5, 4.5}},
resistances =
{
{
type = "impact",
percent = 10
}
},
fluid_boxes =
{
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-5, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {5, 0} }},
secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/electric-furnace.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
spaceship_collision_layer,
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-2__/graphics/entity/particle-collider/sr/particle-collider.png",
priority = "high",
width = 3540/6/2,
height = 4032/6/2,
frame_count = 32,
line_length = 6,
shift = util.by_pixel(0, -24),
animation_speed = 1,
hr_version = {
filename = "__space-exploration-graphics-2__/graphics/entity/particle-collider/hr/particle-collider.png",
priority = "high",
width = 3540/6,
height = 4032/6,
frame_count = 32,
line_length = 6,
shift = util.by_pixel(0, -24),
animation_speed = 1,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/particle-collider/sr/particle-collider-shadow.png",
priority = "high",
width = 692/2,
height = 526/2,
frame_count = 1,
line_length = 1,
repeat_count = 32,
shift = util.by_pixel(32, 16),
animation_speed = 1,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/particle-collider/hr/particle-collider-shadow.png",
priority = "high",
width = 692,
height = 526,
frame_count = 1,
line_length = 1,
repeat_count = 32,
shift = util.by_pixel(32, 16),
animation_speed = 1,
scale = 0.5,
}
},
},
},
crafting_categories = {"space-collider"},
crafting_speed = 1,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "10MW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.8, size = 32, shift = {0.0, 0.0}, color = {r = 1, g = 1, b = 0.2}}
},
},
},
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-material-fabricator",
icon = "__space-exploration-graphics__/graphics/icons/material-fabricator.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "space-material-fabricator"},
max_health = 1500,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-4.3, -4.3}, {4.3, 4.3}},
selection_box = {{-4.5, -4.5}, {4.5, 4.5}},
drawing_box = {{-4.5, -6.0}, {4.5, 4.5}},
resistances =
{
{
type = "impact",
percent = 10
}
},
fluid_boxes =
{
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-5, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {5, 0} }},
secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/electric-furnace.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
spaceship_collision_layer,
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-2__/graphics/entity/material-fabricator/sr/material-fabricator.png",
priority = "high",
width = 3540/6/2,
height = 4032/6/2,
frame_count = 32,
line_length = 6,
shift = util.by_pixel(0, -24),
animation_speed = 1,
hr_version = {
filename = "__space-exploration-graphics-2__/graphics/entity/material-fabricator/hr/material-fabricator.png",
priority = "high",
width = 3540/6,
height = 4032/6,
frame_count = 32,
line_length = 6,
shift = util.by_pixel(0, -24),
animation_speed = 1,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/material-fabricator/sr/material-fabricator-shadow.png",
priority = "high",
width = 692/2,
height = 526/2,
frame_count = 1,
line_length = 1,
repeat_count = 32,
shift = util.by_pixel(32, 16),
animation_speed = 1,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/material-fabricator/hr/material-fabricator-shadow.png",
priority = "high",
width = 692,
height = 526,
frame_count = 1,
line_length = 1,
repeat_count = 32,
shift = util.by_pixel(32, 16),
animation_speed = 1,
scale = 0.5,
}
},
},
},
crafting_categories = {"space-materialisation"},
crafting_speed = 4,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "250MW",
ingredient_count = 12,
module_specification =
{
module_slots = 0
},
allowed_effects = {"pollution"}, -- not "speed", "consumption", "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.8, size = 32, shift = {0.0, 0.0}, color = {r = 1, g = 0.1, b = 0.5}}
},
},
},
})

865
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/pylons.lua

@ -0,0 +1,865 @@
local data_util = require("data_util")
local blank_image = {
direction_count = 1,
filename = "__space-exploration-graphics__/graphics/blank.png",
width = 1,
height = 1,
frame_count = 1,
line_length = 1,
shift = { 0, 0 },
}
local collision_box = { { -0.65, -0.65 }, { 0.65, 0.65 } }
local selection_box = {{-1,-1},{1,1}}
local resistances = {
{ type = "fire", percent = 100 },
{ type = "electric", percent = 100 }
}
local collision_mask = {
--"item-layer", -- stops player from dropping items on belts.
"floor-layer",
--"object-layer",
"water-tile",
"player-layer",
}
data:extend({
{
type = "electric-pole",
name = data_util.mod_prefix .. "addon-power-pole",
supply_area_distance = 0.4,
collision_box = {{-0.2,-0.2},{0.2,0.2}},
collision_mask = {collision_mask_util_extended.get_make_named_collision_mask("addon-layer")},
selection_box = {{-0.3,-0.3},{0.3,0.3}},
selection_priority = 150,
render_layer = "higher-object-above",
connection_points = {
{
shadow = {
copper = { 1.6-0.1, 0.1 },
green = { 1.6-0.1, 0.1-0.3 },
red = { 1.6-0.25, 0.1-0.2 }
},
wire = {
copper = { 0+0.07, -1.2-0.2 },
green = { 0+0.1, -1.2-0.4 },
red = { 0-0.15, -1.2-0.3 }
}
},
},
corpse = "big-electric-pole-remnants",
damaged_trigger_effect = {
entity_name = "spark-explosion",
offset_deviation = {
{ -0.5, -2.5 },
{ 0.5, 0.5 }
},
offsets = { { 0, 1 } },
type = "create-entity"
},
drawing_box = { {-0.5,-1.5},{0.5,0.5} },
dying_explosion = "big-electric-pole-explosion",
fast_replaceable_group = data_util.mod_prefix .. "addon-power-pole",
flags = {
"placeable-neutral",
"player-creation",
"fast-replaceable-no-build-while-moving",
"placeable-off-grid"
},
icon = "__space-exploration-graphics__/graphics/icons/addon-power-pole.png",
icon_mipmaps = 1,
icon_size = 64,
max_health = 500,
maximum_wire_distance = 9,
minable = { mining_time = 0.1, result = data_util.mod_prefix .. "addon-power-pole" },
pictures = {
layers = {
data_util.auto_sr_hr({
direction_count = 1,
filename = "__space-exploration-graphics-3__/graphics/entity/addon-power-pole/hr/addon-power-pole.png",
width = 64,
height = 128,
shift = { 0, -0.75 },
scale = 0.5,
}),
data_util.auto_sr_hr({
draw_as_shadow = true,
direction_count = 1,
filename = "__space-exploration-graphics-3__/graphics/entity/addon-power-pole/hr/addon-power-pole-shadow.png",
width = 128,
height = 64,
shift = { 0.75, 0 },
scale = 0.5,
}),
}
},
radius_visualisation_picture = {
filename = "__base__/graphics/entity/small-electric-pole/electric-pole-radius-visualization.png",
height = 12,
priority = "extra-high-no-scale",
width = 12
},
resistances = resistances,
vehicle_impact_sound = {
{filename = "__base__/sound/car-metal-impact.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-2.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-3.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-4.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-5.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-6.ogg",volume = 0.5}
},
water_reflection = {
orientation_to_variation = false,
pictures = {
filename = "__base__/graphics/entity/big-electric-pole/big-electric-pole-reflection.png",
height = 32,
priority = "extra-high",
scale = 5,
shift = {0,1.875},
variation_count = 1,
width = 16
},
rotate = false
},
},
{
type = "electric-pole",
name = data_util.mod_prefix .. "pylon",
supply_area_distance = 2,
collision_box = collision_box,
collision_mask = collision_mask,
selection_box = selection_box,
connection_points = {
{
shadow = {
copper = { 1.1-0.1, 0.1 },
green = { 1.1+0.1, 0.1-0.4 },
red = { 1.1-0.15, 0.1-0.3 }
},
wire = {
copper = { 0+0.1, -2.3-0.2 },
green = { 0+0.2, -2.3-0.5 },
red = { 0-0.25, -2.3-0.4 }
}
},
},
corpse = "big-electric-pole-remnants",
damaged_trigger_effect = {
entity_name = "spark-explosion",
offset_deviation = {
{ -0.5, -2.5 },
{ 0.5, 0.5 }
},
offsets = { { 0, 1 } },
type = "create-entity"
},
drawing_box = { {-1,-3},{1,0.5} },
dying_explosion = "big-electric-pole-explosion",
fast_replaceable_group = data_util.mod_prefix .. "pylon",
flags = {
"placeable-neutral",
"player-creation",
"fast-replaceable-no-build-while-moving"
},
icon = "__space-exploration-graphics__/graphics/icons/pylon.png",
icon_mipmaps = 1,
icon_size = 64,
max_health = 500,
maximum_wire_distance = 64,
minable = { mining_time = 0.1, result = data_util.mod_prefix .. "pylon" },
pictures = {
layers = {
data_util.auto_sr_hr({
direction_count = 1,
filename = "__space-exploration-graphics-3__/graphics/entity/pylon/hr/pylon.png",
width = 128,
height = 256,
shift = { 0, -1.25 },
scale = 0.5,
}),
data_util.auto_sr_hr({
draw_as_shadow = true,
direction_count = 1,
filename = "__space-exploration-graphics-3__/graphics/entity/pylon/hr/pylon-shadow.png",
width = 192,
height = 128,
shift = { 0.5, 0 },
scale = 0.5,
}),
}
},
radius_visualisation_picture = {
filename = "__base__/graphics/entity/small-electric-pole/electric-pole-radius-visualization.png",
height = 12,
priority = "extra-high-no-scale",
width = 12
},
resistances = resistances,
vehicle_impact_sound = {
{filename = "__base__/sound/car-metal-impact.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-2.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-3.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-4.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-5.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-6.ogg",volume = 0.5}
},
water_reflection = {
orientation_to_variation = false,
pictures = {
filename = "__base__/graphics/entity/big-electric-pole/big-electric-pole-reflection.png",
height = 32,
priority = "extra-high",
scale = 5,
shift = {0,1.875},
variation_count = 1,
width = 16
},
rotate = false
},
},
{
type = "electric-pole",
name = data_util.mod_prefix .. "pylon-substation",
supply_area_distance = 32,
collision_box = collision_box,
collision_mask = collision_mask,
selection_box = selection_box,
connection_points = {
{
shadow = {
copper = { 1.1-0.1, 0.1 },
green = { 1.1+0.1, 0.1-0.4 },
red = { 1.1-0.15, 0.1-0.3 }
},
wire = {
copper = { 0+0.1, -2.3-0.2 },
green = { 0+0.2, -2.3-0.5 },
red = { 0-0.25, -2.3-0.4 }
}
},
},
corpse = "big-electric-pole-remnants",
damaged_trigger_effect = {
entity_name = "spark-explosion",
offset_deviation = {
{ -0.5, -2.5 },
{ 0.5, 0.5 }
},
offsets = { { 0, 1 } },
type = "create-entity"
},
drawing_box = { {-1,-3},{1,0.5} },
dying_explosion = "big-electric-pole-explosion",
fast_replaceable_group = data_util.mod_prefix .. "pylon",
flags = {
"placeable-neutral",
"player-creation",
"fast-replaceable-no-build-while-moving"
},
icon = "__space-exploration-graphics__/graphics/icons/pylon-substation.png",
icon_mipmaps = 1,
icon_size = 64,
max_health = 500,
maximum_wire_distance = 64,
minable = { mining_time = 0.1, result = data_util.mod_prefix .. "pylon-substation" },
pictures = {
layers = {
data_util.auto_sr_hr({
direction_count = 1,
filename = "__space-exploration-graphics-3__/graphics/entity/pylon-substation/hr/pylon-substation.png",
width = 128,
height = 256,
shift = { 0, -1.25 },
scale = 0.5,
}),
data_util.auto_sr_hr({
draw_as_shadow = true,
direction_count = 1,
filename = "__space-exploration-graphics-3__/graphics/entity/pylon-substation/hr/pylon-substation-shadow.png",
width = 192,
height = 128,
shift = { 0.5, 0 },
scale = 0.5,
}),
}
},
radius_visualisation_picture = {
filename = "__base__/graphics/entity/small-electric-pole/electric-pole-radius-visualization.png",
height = 12,
priority = "extra-high-no-scale",
width = 12
},
resistances = resistances,
vehicle_impact_sound = {
{filename = "__base__/sound/car-metal-impact.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-2.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-3.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-4.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-5.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-6.ogg",volume = 0.5}
},
water_reflection = {
orientation_to_variation = false,
pictures = {
filename = "__base__/graphics/entity/big-electric-pole/big-electric-pole-reflection.png",
height = 32,
priority = "extra-high",
scale = 5,
shift = {0,1.875},
variation_count = 1,
width = 16
},
rotate = false
},
},
{
type = "electric-pole",
name = data_util.mod_prefix .. "pylon-construction",
placeable_by = {item = data_util.mod_prefix .. "pylon-construction", count=1},
minable = { mining_time = 0.1, result = data_util.mod_prefix .. "pylon-construction" },
supply_area_distance = 2,
collision_mask = {"not-colliding-with-itself"},
collision_box = collision_box,
selection_box = selection_box,
connection_points = {
{
shadow = {
copper = { 1.1-0.1+0.1, 0.1 },
green = { 1.1+0.1, 0.1-0.4 },
red = { 1.1-0.15, 0.1-0.3 }
},
wire = {
copper = { 0+0.1+0.1, -2.3-0.2+0.3},
green = { 0+0.2+0.1, -2.3-0.5 },
red = { 0-0.25-0.3, -2.3-0.4+0.1 }
}
},
},
corpse = "big-electric-pole-remnants",
damaged_trigger_effect = {
entity_name = "spark-explosion",
offset_deviation = {
{ -0.5, -2.5 },
{ 0.5, 0.5 }
},
offsets = { { 0, 1 } },
type = "create-entity"
},
drawing_box = { {-1,-3},{1,0.5} },
dying_explosion = "big-electric-pole-explosion",
flags = {
"placeable-neutral",
"player-creation",
"fast-replaceable-no-build-while-moving",
--"not-blueprintable",
"not-deconstructable"
},
icon = "__space-exploration-graphics__/graphics/icons/pylon-construction.png",
icon_mipmaps = 1,
icon_size = 64,
max_health = 500,
maximum_wire_distance = 64,
pictures = {
layers = {
blank_image
}
},
radius_visualisation_picture = {
filename = "__base__/graphics/entity/small-electric-pole/electric-pole-radius-visualization.png",
height = 12,
priority = "extra-high-no-scale",
width = 12
},
resistances = resistances,
vehicle_impact_sound = {
{filename = "__base__/sound/car-metal-impact.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-2.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-3.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-4.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-5.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-6.ogg",volume = 0.5}
},
water_reflection = {
orientation_to_variation = false,
pictures = {
filename = "__base__/graphics/entity/big-electric-pole/big-electric-pole-reflection.png",
height = 32,
priority = "extra-high",
scale = 5,
shift = {0,1.875},
variation_count = 1,
width = 16
},
rotate = false
},
},
{
type = "roboport",
name = data_util.mod_prefix .. "pylon-construction-roboport",
placeable_by = {item = data_util.mod_prefix .. "pylon-construction", count=1},
selectable_in_game = false,
minable = { mining_time = 0.1, result = data_util.mod_prefix .. "pylon-construction" },
logistics_radius = 0,
logistics_connection_distance = 32,
material_slots_count = 0,
robot_slots_count = 0,
construction_radius = 32,
icon = "__space-exploration-graphics__/graphics/icons/pylon-construction.png",
icon_mipmaps = 1,
icon_size = 64,
fast_replaceable_group = data_util.mod_prefix .. "pylon",
base = blank_image,
base_animation = {
layers = {
data_util.auto_sr_hr({
direction_count = 1,
filename = "__space-exploration-graphics-3__/graphics/entity/pylon-construction/hr/pylon-construction.png",
width = 128,
height = 256,
frame_count = 32,
shift = { 0, -1.25 },
scale = 0.5,
line_length = 16,
}),
data_util.auto_sr_hr({
draw_as_shadow = true,
direction_count = 1,
filename = "__space-exploration-graphics-3__/graphics/entity/pylon-construction/hr/pylon-construction-shadow.png",
width = 192,
height = 128,
frame_count = 32,
shift = { 0.5, 0 },
scale = 0.5,
line_length = 2,
}),
}
},
base_patch = blank_image,
charge_approach_distance = 5,
charging_energy = "10MW",
charging_offsets = {
settings.startup["se-pylon-charge-points"].value and {0, 1.5} or nil
},
circuit_connector_sprites = nil,
circuit_wire_connection_point = nil,
circuit_wire_max_distance = 0,
collision_box = collision_box,
collision_mask = collision_mask,
selection_box = selection_box,
corpse = "roboport-remnants",
damaged_trigger_effect = {
entity_name = "spark-explosion",
offset_deviation = {{-0.5,-0.5},{0.5,0.5}},
offsets = {{0,1}},
type = "create-entity"
},
door_animation_down = blank_image,
door_animation_up = blank_image,
draw_construction_radius_visualization = true,
draw_logistic_radius_visualization = true,
dying_explosion = "roboport-explosion",
energy_source = {
buffer_capacity = "100MJ",
input_flow_limit = "10MW",
type = "electric",
usage_priority = "secondary-input"
},
energy_usage = "10kW",
flags = {
"placeable-neutral",
"player-creation",
"fast-replaceable-no-build-while-moving"
},
max_health = 500,
recharge_minimum = "40MJ",
recharging_animation = {
animation_speed = 0.5,
filename = "__base__/graphics/entity/roboport/roboport-recharging.png",
frame_count = 16,
height = 35,
priority = "high",
scale = 1.5,
width = 37
},
recharging_light = {
color = {
b = 1,
g = 1,
r = 1
},
intensity = 0.4,
size = 5
},
request_to_open_door_timeout = 15,
resistances = resistances,
spawn_and_station_height = -0.1,
stationing_offset = {0,0},
vehicle_impact_sound = {
{
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-2.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-3.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-4.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-5.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-6.ogg",
volume = 0.5
}
},
water_reflection = {
orientation_to_variation = false,
pictures = {
filename = "__base__/graphics/entity/roboport/roboport-reflection.png",
height = 28,
priority = "extra-high",
scale = 5,
shift = {
0,
2.34375
},
variation_count = 1,
width = 28
},
rotate = false
},
working_sound = {
audible_distance_modifier = 0.5,
max_sounds_per_type = 3,
probability = 0.0033333333,
sound = {
filename = "__base__/sound/roboport-working.ogg",
volume = 0.6
}
}
},
{
type = "electric-pole",
name = data_util.mod_prefix .. "pylon-construction-radar",
placeable_by = {item = data_util.mod_prefix .. "pylon-construction-radar", count=1},
minable = { mining_time = 0.1, result = data_util.mod_prefix .. "pylon-construction-radar" },
collision_mask = {"not-colliding-with-itself"},
supply_area_distance = 32,
collision_box = collision_box,
selection_box = selection_box,
connection_points = {
{
shadow = {
copper = { 1.1-0.1+0.1, 0.1 },
green = { 1.1+0.1, 0.1-0.4 },
red = { 1.1-0.15, 0.1-0.3 }
},
wire = {
copper = { 0+0.1+0.1, -2.3-0.2+0.3},
green = { 0+0.2+0.1, -2.3-0.5 },
red = { 0-0.25-0.3, -2.3-0.4+0.1 }
}
},
},
corpse = "big-electric-pole-remnants",
damaged_trigger_effect = {
entity_name = "spark-explosion",
offset_deviation = {
{ -0.5, -2.5 },
{ 0.5, 0.5 }
},
offsets = { { 0, 1 } },
type = "create-entity"
},
drawing_box = { {-1,-3},{1,0.5} },
dying_explosion = "big-electric-pole-explosion",
flags = {
"placeable-neutral",
"player-creation",
"fast-replaceable-no-build-while-moving",
--"not-blueprintable",
"not-deconstructable"
},
icon = "__space-exploration-graphics__/graphics/icons/pylon-construction-radar.png",
icon_mipmaps = 1,
icon_size = 64,
max_health = 500,
maximum_wire_distance = 64,
pictures = {
layers = {
blank_image
}
},
radius_visualisation_picture = {
filename = "__base__/graphics/entity/small-electric-pole/electric-pole-radius-visualization.png",
height = 12,
priority = "extra-high-no-scale",
width = 12
},
resistances = resistances,
vehicle_impact_sound = {
{filename = "__base__/sound/car-metal-impact.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-2.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-3.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-4.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-5.ogg",volume = 0.5},
{filename = "__base__/sound/car-metal-impact-6.ogg",volume = 0.5}
},
water_reflection = {
orientation_to_variation = false,
pictures = {
filename = "__base__/graphics/entity/big-electric-pole/big-electric-pole-reflection.png",
height = 32,
priority = "extra-high",
scale = 5,
shift = {0,1.875},
variation_count = 1,
width = 16
},
rotate = false
},
},
{
type = "roboport",
name = data_util.mod_prefix .. "pylon-construction-radar-roboport",
placeable_by = {item = data_util.mod_prefix .. "pylon-construction-radar", count=1},
selectable_in_game = false,
minable = { mining_time = 0.1, result = data_util.mod_prefix .. "pylon-construction-radar" },
logistics_radius = 2,
logistics_connection_distance = 32,
material_slots_count = 0,
robot_slots_count = 0,
construction_radius = 128,
icon = "__space-exploration-graphics__/graphics/icons/pylon-construction-radar.png",
icon_mipmaps = 1,
icon_size = 64,
fast_replaceable_group = data_util.mod_prefix .. "pylon",
base = blank_image,
base_animation = {
layers = {
data_util.auto_sr_hr({
direction_count = 1,
filename = "__space-exploration-graphics-3__/graphics/entity/pylon-construction-radar/hr/pylon-construction-radar.png",
width = 128,
height = 256,
frame_count = 32,
shift = { 0, -1.25 },
scale = 0.5,
line_length = 16,
}),
data_util.auto_sr_hr({
draw_as_shadow = true,
direction_count = 1,
filename = "__space-exploration-graphics-3__/graphics/entity/pylon-construction-radar/hr/pylon-construction-radar-shadow.png",
width = 192,
height = 128,
frame_count = 32,
shift = { 0.5, 0 },
scale = 0.5,
line_length = 2,
}),
}
},
base_patch = blank_image,
charge_approach_distance = 5,
charging_energy = "10MW",
charging_offsets = {
settings.startup["se-pylon-charge-points"].value and {0, 1.5} or nil
},
circuit_connector_sprites = nil,
circuit_wire_connection_point = nil,
circuit_wire_max_distance = 0,
collision_box = collision_box,
collision_mask = collision_mask,
selection_box = selection_box,
corpse = "roboport-remnants",
damaged_trigger_effect = {
entity_name = "spark-explosion",
offset_deviation = {{-0.5,-0.5},{0.5,0.5}},
offsets = {{0,1}},
type = "create-entity"
},
door_animation_down = blank_image,
door_animation_up = blank_image,
draw_construction_radius_visualization = true,
draw_logistic_radius_visualization = true,
dying_explosion = "roboport-explosion",
energy_source = {
buffer_capacity = "100MJ",
input_flow_limit = "10MW",
type = "electric",
usage_priority = "secondary-input"
},
energy_usage = "100kW",
flags = {
"placeable-neutral",
"player-creation",
"fast-replaceable-no-build-while-moving"
},
max_health = 500,
recharge_minimum = "40MJ",
recharging_animation = {
animation_speed = 0.5,
filename = "__base__/graphics/entity/roboport/roboport-recharging.png",
frame_count = 16,
height = 35,
priority = "high",
scale = 1.5,
width = 37
},
recharging_light = {
color = {
b = 1,
g = 1,
r = 1
},
intensity = 0.4,
size = 5
},
request_to_open_door_timeout = 15,
resistances = resistances,
spawn_and_station_height = -0.1,
stationing_offset = {0,0},
vehicle_impact_sound = {
{
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-2.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-3.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-4.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-5.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-6.ogg",
volume = 0.5
}
},
water_reflection = {
orientation_to_variation = false,
pictures = {
filename = "__base__/graphics/entity/roboport/roboport-reflection.png",
height = 28,
priority = "extra-high",
scale = 5,
shift = {
0,
2.34375
},
variation_count = 1,
width = 28
},
rotate = false
},
working_sound = {
audible_distance_modifier = 0.5,
max_sounds_per_type = 3,
probability = 0.0033333333,
sound = {
filename = "__base__/sound/roboport-working.ogg",
volume = 0.6
}
}
},
{
type = "radar",
name = data_util.mod_prefix .. "pylon-construction-radar-radar",
placeable_by = {item = data_util.mod_prefix .. "pylon-construction-radar", count=1},
selectable_in_game = false,
max_distance_of_nearby_sector_revealed = 5,
max_distance_of_sector_revealed = 5,
collision_box = collision_box,
selection_box = selection_box,
collision_mask = {"not-colliding-with-itself"},
corpse = "radar-remnants",
damaged_trigger_effect = {
entity_name = "spark-explosion",
offset_deviation = {{-0.5,-0.5},{0.5,0.5}},
offsets = {{0,1}},
type = "create-entity"
},
dying_explosion = "radar-explosion",
energy_per_nearby_scan = "5MJ",
energy_per_sector = "60MJ",
energy_source = {
type = "electric",
usage_priority = "secondary-input"
},
energy_usage = "1MW",
flags = {
"placeable-neutral",
"not-blueprintable",
"not-deconstructable"
},
icon = "__space-exploration-graphics__/graphics/icons/pylon-construction-radar.png",
icon_mipmaps = 1,
icon_size = 64,
max_health = 500,
pictures = {
layers = {
blank_image
}
},
radius_minimap_visualisation_color = {
a = 0.275,
b = 0.235,
g = 0.092,
r = 0.059
},
resistances = resistances,
rotation_speed = 0.01,
vehicle_impact_sound = {
{
filename = "__base__/sound/car-metal-impact.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-2.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-3.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-4.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-5.ogg",
volume = 0.5
},
{
filename = "__base__/sound/car-metal-impact-6.ogg",
volume = 0.5
}
},
working_sound = {
apparent_volume = 2,
sound = {
{
filename = "__base__/sound/radar.ogg"
}
}
}
}
})

483
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/recycle-mechanical.lua

@ -0,0 +1,483 @@
local data_util = require("data_util")
data:extend({
{
type = "assembling-machine",
name = data_util.mod_prefix .. "recycling-facility",
icon = "__space-exploration-graphics__/graphics/icons/recycling-facility.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "recycling-facility"},
max_health = 1200,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-3.3, -3.3}, {3.3, 3.3}},
selection_box = {{-3.5, -3.5}, {3.5, 3.5}},
drawing_box = {{-3.5, -3.9}, {3.5, 3.5}},
resistances =
{
{
type = "impact",
percent = 10
}
},
fluid_boxes =
{
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -4} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-4, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 4} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {4, 0} }},
secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/burner-mining-drill.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
--"ground-tile",
"item-layer",
"object-layer",
"player-layer",
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-5__/graphics/entity/recycling-facility/sr/recycling-facility.png",
priority = "high",
width = 3840/8/2,
height = 3584/8/2,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(-8, 0),
animation_speed = 0.75,
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/recycling-facility/hr/recycling-facility.png",
priority = "high",
width = 3840/8,
height = 3584/8,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(-8, 0),
animation_speed = 0.75,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/recycling-facility/sr/recycling-facility-shadow.png",
priority = "high",
width = 694/2,
height = 400/2,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(59, 17),
animation_speed = 0.75,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/recycling-facility/hr/recycling-facility-shadow.png",
priority = "high",
width = 694,
height = 400,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(59, 17),
animation_speed = 0.75,
scale = 0.5,
}
},
},
},
crafting_categories = {"hand-hard-recycling", "hard-recycling"},
crafting_speed = 1,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "100kW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.5, size = 18, shift = {0.0, 0.0}, color = {r = 0.8, g = 1, b = 0.5}}
},
},
},
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-mechanical-laboratory",
icon = "__space-exploration-graphics__/graphics/icons/mechanical-laboratory.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "space-mechanical-laboratory"},
max_health = 1200,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-3.3, -3.3}, {3.3, 3.3}},
selection_box = {{-3.5, -3.5}, {3.5, 3.5}},
drawing_box = {{-3.5, -3.9}, {3.5, 3.5}},
resistances =
{
{
type = "impact",
percent = 10
}
},
fluid_boxes =
{
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -4} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-4, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 4} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {4, 0} }},
secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/burner-mining-drill.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-5__/graphics/entity/mechanical-laboratory/sr/mechanical-laboratory.png",
priority = "high",
width = 3840/8/2,
height = 3584/8/2,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(-8, 0),
animation_speed = 0.75,
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/mechanical-laboratory/hr/mechanical-laboratory.png",
priority = "high",
width = 3840/8,
height = 3584/8,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(-8, 0),
animation_speed = 0.75,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/mechanical-laboratory/sr/mechanical-laboratory-shadow.png",
priority = "high",
width = 694/2,
height = 400/2,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(59, 17),
animation_speed = 0.75,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/mechanical-laboratory/hr/mechanical-laboratory-shadow.png",
priority = "high",
width = 694,
height = 400,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(59, 17),
animation_speed = 0.75,
scale = 0.5,
}
},
},
},
crafting_categories = {
"space-mechanical",
"pulverising"
},
crafting_speed = 1,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "200kW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.8, size = 18, shift = {0.0, 0.0}, color = {r = 1, g = 0.8, b = 0.5}}
},
},
},
{
type = "assembling-machine",
name = data_util.mod_prefix .. "pulveriser",
icon = "__space-exploration-graphics__/graphics/icons/pulveriser.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "pulveriser"},
max_health = 1200,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-3.3, -3.3}, {3.3, 3.3}},
selection_box = {{-3.5, -3.5}, {3.5, 3.5}},
drawing_box = {{-3.5, -3.9}, {3.5, 3.5}},
resistances =
{
{
type = "impact",
percent = 30
}
},
fluid_boxes =
{
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, -4} }},
--secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {-4, 0} }},
--secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 4} }},
--secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {4, 0} }},
--secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/burner-mining-drill.ogg",
volume = 0.8
}
}
},
collision_mask = {
"water-tile",
"item-layer",
"object-layer",
"player-layer",
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-5__/graphics/entity/pulveriser/sr/pulveriser.png",
priority = "high",
width = 3840/8/2,
height = 3584/8/2,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(-8, 0),
animation_speed = 0.35,
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/pulveriser/hr/pulveriser.png",
priority = "high",
width = 3840/8,
height = 3584/8,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(-8, 0),
animation_speed = 0.35,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/pulveriser/sr/pulveriser-shadow.png",
priority = "high",
width = 694/2,
height = 400/2,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(59, 17),
animation_speed = 0.35,
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/pulveriser/hr/pulveriser-shadow.png",
priority = "high",
width = 694,
height = 400,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(59, 17),
animation_speed = 0.35,
scale = 0.5,
}
},
},
},
crafting_categories = {"pulverising", "core-fragment-processing"},
crafting_speed = 2,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "500kW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution", "productivity"}, -- allow "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.8, size = 18, shift = {0.0, 0.0}, color = {r = 1, g = 0.8, b = 0.5}}
},
},
},
})

372
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/resource-autoplace.lua

@ -0,0 +1,372 @@
local noise = require("noise")
local expression_to_ascii_math = require("noise.expression-to-ascii-math")
local tne = noise.to_noise_expression
local litexp = noise.literal_expression
local starting_resource_count = 7
local regular_resource_count = 9 -- add oil and uranium
next_resource_index = 0
function get_next_resource_index()
local resource_index = next_resource_index
next_resource_index = next_resource_index + 1
return resource_index
end
local pointillist_mode = false
local patch_blobbiness_enabled = true
local function dump_expression(name, expr)
log(name..":\n"..tostring(expression_to_ascii_math(expr)))
end
local onethird = tne(1)/3 -- Looks nicer in output than 0.333333
local resource_indexes = {
["iron-ore"] = 0,
["copper-ore"] = 1,
["coal"] = 2,
["stone"] = 3,
["crude-oil"] = 4,
["uranium-ore"] = 5,
["se-water-ice"] = 6,
["se-methane-ice"] = 7,
}
local function resource_autoplace_settings(params)
local name = params.name
local order = params.order or "d"
-- How much of this stuff (probability * richness) should occur per tile on average near the starting area?
local base_density = params.base_density
-- Random probability that this stuff is placed when probability is otherwise positive
-- This IS automatically compensated for by richness, so you don't need to adjust base_density
local random_probability = params.random_probability or 1
local base_spots_per_km2 = params.base_spots_per_km2 or 2.5
local random_spot_size_minimum = params.random_spot_size_minimum or 0.25
local random_spot_size_maximum = params.random_spot_size_maximum or 2.00
-- Amplitude of spot 'blob noise' relative to typical spot amplitude
local regular_blob_amplitude_multiplier = 1/8 * (params.regular_blob_amplitude_multiplier or 1)
local starting_blob_amplitude_multiplier = 1/8 * (params.starting_blob_amplitude_multiplier or 1)
local control_setting = noise.get_control_setting(name)
local frequency_multiplier = control_setting.frequency_multiplier
local size_multiplier = control_setting.size_multiplier
local density_multiplier = frequency_multiplier * size_multiplier
-- The following are more dangerous, since they'll throw total quantities off if you don't compensate for them:
-- additional_richness will be added to richness but does not affect probability of anything being placed at all.
-- This is NOT automatically compensated for, because that would be difficult to calculate.
-- The caller will need to compensate for any additional_richness by adjusting base_density.
local additional_richness = params.additional_richness or 0
-- richness will be clamped to minimum_richness at the low end anywhere the stuff is otherwise placed
-- Not automatically compensated for.
local minimum_richness = params.minimum_richness or 0
-- 'post' as in multiplied after everything else is calculated, including additional_richness
-- and minimum_richness.
local richness_post_multiplier = (params.richness_post_multiplier or 1) * control_setting.richness_multiplier
local seed1 = 100
-- rq_factor is the ratio of the radius of a patch to the cube root of its quantity,
-- i.e. radius of a quantity=1 patch; higher values = fatter, shallower patches
-- Watch out! Shallower patches are more heavily thrown off by noise,
-- so adjust noise amplitude accordingly!
-- (this is automatically done -- se *_blob_amplitude, below)
local regular_rq_factor = (params.regular_rq_factor_multiplier or 1) * 1 / 10
local starting_rq_factor = (params.starting_rq_factor_multiplier or 1) * 1 / 7
local elevation = noise.var("elevation")
local distance = noise.var("distance")
-- > I just realized because of the new rule of "keep ores outside the
-- > starting area", the starting area size setting should not affect ore
-- > placement. The ore's starting area should be it's own fixed value
-- > that ignores the setting.
-- Twinsen, August 2018
local starting_resource_placement_radius = 120
local regular_modulation
-- has_starting_area_placement values:
-- - true - place in starting area and outside starting area independently
-- - false - place outside starting area but not inside
-- - nil - place everywhere as if there is no starting area
local regular_patch_fade_in_distance = 300
local regular_ns_multiplier_at
if params.has_starting_area_placement == nil then
regular_ns_multiplier_at = function(dist) return 1 end
else
regular_ns_multiplier_at = function(dist)
return noise.clamp((dist - starting_resource_placement_radius) / regular_patch_fade_in_distance, 0, 1)
end
end
local double_density_distance = 1300 -- distance at which patches have twice as much stuff in them
-- Maximum distance at which blob amplitude should keep increasing along with spot height
local regular_blob_amplitude_maximum_distance = double_density_distance
local spot_enlargement_maximum_distance = regular_blob_amplitude_maximum_distance
-- Get distance for purposes of calculating regular ore density, patch size, and richness
local function size_effective_distance_at(dist)
if params.has_starting_area_placement == nil then
return dist
else
-- If there's a starting area measure from the edge of the fade-in radius
return dist - regular_patch_fade_in_distance
end
end
local function regular_density_at(dist)
-- Don't increase density beyond spot_enlargement_maximum_distance
-- because large spots get unwieldy. We'll increase richness after that, instead.
effective_distance = noise.clamp(size_effective_distance_at(dist), 0, spot_enlargement_maximum_distance)
local distance_density_multiplier = 1 + effective_distance / double_density_distance
return base_density * density_multiplier * distance_density_multiplier * regular_ns_multiplier_at(dist)
end
local spots_per_km2_near_start = base_spots_per_km2 * frequency_multiplier
local candidate_point_count = tne(128)
if pointillist_mode then
-- Split ore into lots and lots and lots of little patches
-- so that we can get a better idea of the underlying distribution
candidate_point_count = 10000 -- hardcoded max so we don't melt the player's CPU
spots_per_km2_near_start = candidate_point_count / regular_resource_count
end
-- Regular spot quantity without randomization added
local function regular_spot_quantity_base_at(dist)
return regular_density_at(dist) * 1000000 / spots_per_km2_near_start
end
-- Regular spot quantity averaging over randomization
local function regular_spot_quantity_typical_at(dist)
local average_random_size_multiplier = (random_spot_size_minimum + random_spot_size_maximum) / 2
return average_random_size_multiplier * regular_spot_quantity_base_at(dist)
end
local function regular_spot_height_typical_at(dist)
return regular_spot_quantity_typical_at(dist)^(onethird) / ((math.pi/3) * regular_rq_factor^2)
end
local regular_density_expression = regular_density_at(distance)
local regular_spot_quantity_expression = noise.random_between(random_spot_size_minimum, random_spot_size_maximum) * regular_spot_quantity_base_at(distance)
local regular_spot_radius_expression = noise.min(32, regular_rq_factor * regular_spot_quantity_expression ^ (onethird))
if params.has_starting_area_placement ~= nil then
regular_blob_amplitude_maximum_distance = regular_blob_amplitude_maximum_distance + regular_patch_fade_in_distance
end
local function regular_blob_amplitude_at(dist)
return regular_blob_amplitude_multiplier * noise.min(
regular_spot_height_typical_at(regular_blob_amplitude_maximum_distance),
regular_spot_height_typical_at(dist)
)
end
local regular_blob_amplitude_maximum = regular_blob_amplitude_at(regular_blob_amplitude_maximum_distance)
local regular_blob_amplitude_expression = regular_blob_amplitude_at(distance)
-- Values for starting spots.
-- Simpler calculations than for regular spots because they are only placed
-- in one place and therefore there are fewer variables!
-- reduce the influence of the frequency slider over the amount of ore in the starting area.
-- note that starting_spot_count is still set to frequency_multiplier below, so we still split the ore to a fairly high amount of patches.s.
local starting_frequency_multiplier = ((frequency_multiplier - 1) * 0.5) + 1
local starting_amount = 40000 * base_density * starting_frequency_multiplier * size_multiplier
--local starting_amount = 1000000 -- nicer for testing - just check that all spots have ~1.0M
local starting_area_sharpness = tne(math.huge)
local starting_resource_placement_area = math.pi*starting_resource_placement_radius*starting_resource_placement_radius
local starting_density = starting_amount / starting_resource_placement_area
-- Goes < 0 outside of starting area and at negative elevations
local starting_modulation =
noise.clamp((starting_resource_placement_radius - distance) * starting_area_sharpness, 0, 1)
local starting_feasibility =
noise.clamp((elevation - 1) / 10, 0, 1) * starting_modulation
-- Allow resources at lower elevations for starting
-- Set minimum_favorability_for_full_placement to lower numbers to decrease the likelihood that the starting patches get split.
-- Quantity will automatically be clamped by the spot noise function
-- and radius will be automatically adjusted, too,
-- so it's fine for the spot quantity to be more than the region target quantity.
local minimum_favorability_for_full_placement = 1/2
local starting_spot_count = frequency_multiplier
local starting_area_spot_quantity = starting_amount / minimum_favorability_for_full_placement / starting_spot_count
local starting_spot_height = starting_area_spot_quantity ^ (1/3) / ((math.pi/3) * starting_rq_factor^2)
local starting_blob_amplitude = starting_blob_amplitude_multiplier * starting_spot_height
-- since starting and regular spots get maxed together,
-- the basement value should be the lower of the two.
-- This value needs to be low enough that any noise added to it is still below zero
-- so that we don't get bits of ores sticking out between spot noise spots.
-- It also needs to be constant because that's how the spot noise op works.
-- Simply using -infinity would work, but calculating it based on blob amplitude:
-- a) looks nicer if you render the value on a map preview
-- b) acts as a check on our blob_amplitude calculations
local basement_value = noise.min(-6 * regular_blob_amplitude_maximum,
-6 * starting_blob_amplitude)
local regular_spots = tne{
type = "function-application",
function_name = "spot-noise",
arguments =
{
x = noise.var("x"),
y = noise.var("y"),
seed0 = noise.var("map_seed"),
seed1 = tne(seed1),
region_size = tne(1024),
candidate_point_count = tne(candidate_point_count),
skip_span = tne(regular_resource_count),
skip_offset = tne(params.resource_index or 0),
density_expression = litexp(regular_density_expression), -- low-frequency noise evaluate for an entire region
spot_quantity_expression = litexp(regular_spot_quantity_expression), -- used to figure out where spots go
hard_region_target_quantity = tne(false), -- it's fine for large spots to push region quantity past the target
spot_radius_expression = litexp(regular_spot_radius_expression),
spot_favorability_expression = litexp(1),
basement_value = basement_value,
maximum_spot_basement_radius = tne(128)
}
}
-- If you change starting area region size,
-- also change the default starting area position in MapGenSettings
local starting_spots = tne{
type = "function-application",
function_name = "spot-noise",
arguments =
{
x = noise.var("x"),
y = noise.var("y"),
seed0 = noise.var("map_seed"),
seed1 = tne(seed1+1),
skip_span = tne(starting_resource_count),
skip_offset = tne(params.resource_index or 0),
region_size = tne(starting_resource_placement_radius * 2),
candidate_point_count = tne(128),
minimum_candidate_point_spacing = tne(32),
density_expression = litexp(starting_density * starting_modulation),
spot_quantity_expression = litexp(starting_area_spot_quantity),
hard_region_target_quantity = tne(true), -- Since there's [usually] only one spot, clamp its quantity to the target quantity
spot_radius_expression = litexp(starting_rq_factor * starting_area_spot_quantity ^ (onethird)),
spot_favorability_expression = litexp(
starting_feasibility * 2 -
1 * distance / starting_resource_placement_radius +
noise.random(0.5)
),
basement_value = basement_value,
maximum_spot_basement_radius = tne(128) -- does making this huge make a difference?
}
}
if pointillist_mode or not patch_blobbiness_enabled then
regular_blob_amplitude_expression = 0
end
if not patch_blobbiness_enabled then
starting_blob_amplitude = 0
end
-- Add some blobbiness
local blobs0 = tne{
type = "function-application",
function_name = "factorio-basis-noise",
arguments =
{
x = noise.var("x"),
y = noise.var("y"),
seed0 = noise.var("map_seed"),
seed1 = tne(seed1),
input_scale = tne(1/8),
output_scale = tne(1)
}
} + tne{
type = "function-application",
function_name = "factorio-basis-noise",
arguments =
{
x = noise.var("x"),
y = noise.var("y"),
seed0 = noise.var("map_seed"),
seed1 = tne(seed1),
input_scale = tne(1/24),
output_scale = tne(1)
}
}
local blobs0f = blobs0 - 1/4
local blobs1 = blobs0 + tne{
type = "function-application",
function_name = "factorio-basis-noise",
arguments =
{
x = noise.var("x"),
y = noise.var("y"),
seed0 = noise.var("map_seed"),
seed1 = tne(seed1),
input_scale = tne(1/64),
output_scale = tne(1.5)
}
}
local blobs1f = blobs1 - onethird -- attempt to remove positive bias
local regular_patches = regular_spots + blobs1f * regular_blob_amplitude_expression
local starting_patches = starting_spots + blobs0f * starting_blob_amplitude
local all_patches
if params.has_starting_area_placement == true then
all_patches = noise.max(starting_patches, regular_patches)
elseif params.has_starting_area_placement == false then
all_patches = regular_patches
else -- nil or unspecified means just make it uniform everywhere
all_patches = regular_patches
end
local richness_expression = noise.delimit_procedure(all_patches) -- Re-use all that stuff between richness/probability!
local probability_expression = noise.clamp(richness_expression, 0, 1)
if random_probability < 1 then
richness_expression = richness_expression / random_probability
probability_expression = probability_expression * tne{
type = "function-application",
function_name = "random-penalty",
arguments =
{
source = tne(1),
x = noise.var("x"),
y = noise.var("y"),
amplitude = tne(1/random_probability) -- put random_probability points with probability < 0
}
}
end
if additional_richness > 0 then
richness_expression = richness_expression + additional_richness
end
if minimum_richness > 0 then
richness_expression = noise.max(richness_expression, minimum_richness)
end
-- sed = size-effective distance
local function post_semd_richness_distance_multiplier_at(sed)
local ddd = double_density_distance
local semd = spot_enlargement_maximum_distance
-- density = pre-richness-mutliplied density * richness_distance_multiplier.
-- Since pre-richness-multiplied density plateaus at semd,
-- richness needs to increase at that point, and by this much:
return (ddd + sed)/(ddd + semd)
end
local richness_distance_multiplier = noise.max(1, post_semd_richness_distance_multiplier_at(size_effective_distance_at(distance)))
richness_expression = richness_expression * richness_distance_multiplier * richness_post_multiplier
local ret =
{
order = order,
control = name,
probability_expression = probability_expression,
richness_expression = richness_expression
}
return ret
end
return
{
get_next_resource_index = get_next_resource_index,
resource_indexes = resource_indexes,
resource_autoplace_settings = resource_autoplace_settings
}

535
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/resources.lua

@ -0,0 +1,535 @@
local data_util = require("data_util")
local noise = require("noise");
local tne = noise.to_noise_expression;
local resource_autoplace = require("resource-autoplace");
data:extend({
{
type = "resource",
name = data_util.mod_prefix.."water-ice",
icon = "__space-exploration-graphics__/graphics/icons/water-ice.png",
icon_size = 64,
flags = {"placeable-neutral"},
order="a-b-e",
tree_removal_probability = 0.8,
tree_removal_max_distance = 32 * 32,
minable =
{
mining_particle = "stone-particle",
mining_time = 1,
result = data_util.mod_prefix.."water-ice",
},
collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
autoplace = { -- real distribution set in stage 3
control = data_util.mod_prefix.."water-ice",
tile_restriction = {data_util.mod_prefix.."asteroid"}
},
stage_counts = {15000, 9500, 5500, 2900, 1300, 400, 150, 80},
stages =
{
sheet =
{
filename = "__space-exploration-graphics__/graphics/entity/water-ice/water-ice.png",
priority = "extra-high",
size = 64,
frame_count = 8,
variation_count = 8,
hr_version =
{
filename = "__space-exploration-graphics__/graphics/entity/water-ice/hr-water-ice.png",
priority = "extra-high",
size = 128,
frame_count = 8,
variation_count = 8,
scale = 0.5
}
}
},
map_color = {r = 198/255, g = 241/255, b = 245/255}
},
{
type = "resource",
name = data_util.mod_prefix.."methane-ice",
icon = "__space-exploration-graphics__/graphics/icons/methane-ice.png",
icon_size = 64,
flags = {"placeable-neutral"},
order="a-b-e",
tree_removal_probability = 0.8,
tree_removal_max_distance = 32 * 32,
minable =
{
mining_particle = "stone-particle",
mining_time = 1,
result = data_util.mod_prefix.."methane-ice",
},
collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
autoplace = { -- real distribution set in stage 3
control = data_util.mod_prefix.."methane-ice",
tile_restriction = {data_util.mod_prefix.."asteroid"}
},
stage_counts = {15000, 9500, 5500, 2900, 1300, 400, 150, 80},
stages =
{
sheet =
{
filename = "__space-exploration-graphics__/graphics/entity/methane-ice/methane-ice.png",
priority = "extra-high",
size = 64,
frame_count = 8,
variation_count = 8,
hr_version =
{
filename = "__space-exploration-graphics__/graphics/entity/methane-ice/hr-methane-ice.png",
priority = "extra-high",
size = 128,
frame_count = 8,
variation_count = 8,
scale = 0.5
}
}
},
map_color = {r = 245/255, g = 231/255, b = 198/255}
},
{
type = "resource",
name = data_util.mod_prefix.."beryllium-ore",
icon = "__space-exploration-graphics__/graphics/icons/beryllium-ore.png",
icon_size = 64,
flags = {"placeable-neutral"},
order="a-b-e",
tree_removal_probability = 0.8,
tree_removal_max_distance = 32 * 32,
minable =
{
mining_particle = "stone-particle",
mining_time = 4,
result = data_util.mod_prefix.."beryllium-ore",
},
collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
autoplace = { -- real distribution set in stage 3
control = data_util.mod_prefix.."beryllium-ice"
},
stage_counts = {15000, 9500, 5500, 2900, 1300, 400, 150, 80},
stages =
{
sheet =
{
filename = "__space-exploration-graphics__/graphics/entity/beryllium-ore/beryllium-ore.png",
priority = "extra-high",
size = 64,
frame_count = 8,
variation_count = 8,
hr_version =
{
filename = "__space-exploration-graphics__/graphics/entity/beryllium-ore/hr-beryllium-ore.png",
priority = "extra-high",
size = 128,
frame_count = 8,
variation_count = 8,
scale = 0.5
}
}
},
map_color = {r = 144/255, g = 222/255, b = 184/255}
},
{
type = "resource",
name = data_util.mod_prefix.."cryonite",
icon = "__space-exploration-graphics__/graphics/icons/cryonite.png",
icon_size = 64,
flags = {"placeable-neutral"},
order="a-b-e",
tree_removal_probability = 0.8,
tree_removal_max_distance = 32 * 32,
minable =
{
mining_particle = "stone-particle",
mining_time = 2,
result = data_util.mod_prefix.."cryonite",
},
collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
autoplace = { -- real distribution set in stage 3
control = data_util.mod_prefix.."cryonite",
tile_restriction = alien_biomes.list_tiles(alien_biomes.require_tag(alien_biomes.all_tiles(), {"frozen"})), -- was just snow but too unpredicatable
},
stage_counts = {15000, 9500, 5500, 2900, 1300, 400, 150, 80},
stages =
{
sheet =
{
filename = "__space-exploration-graphics__/graphics/entity/cryonite/cryonite.png",
priority = "extra-high",
size = 64,
frame_count = 8,
variation_count = 8,
hr_version =
{
filename = "__space-exploration-graphics__/graphics/entity/cryonite/hr-cryonite.png",
priority = "extra-high",
size = 128,
frame_count = 8,
variation_count = 8,
scale = 0.5
}
}
},
stages_effect = {
sheet = {
blend_mode = "additive",
filename = "__space-exploration-graphics__/graphics/entity/cryonite/cryonite-glow.png",
flags = {
"light"
},
frame_count = 8,
height = 64,
hr_version = {
blend_mode = "additive",
filename = "__space-exploration-graphics__/graphics/entity/cryonite/hr-cryonite-glow.png",
flags = {
"light"
},
frame_count = 8,
height = 128,
priority = "extra-high",
scale = 0.5,
variation_count = 8,
width = 128
},
priority = "extra-high",
variation_count = 8,
width = 64
}
},
effect_animation_period = 5,
effect_animation_period_deviation = 1,
effect_darkness_multiplier = 3.6,
max_effect_alpha = 0.3,
min_effect_alpha = 0.2,
map_color = {r = 35/255, g = 164/255, b = 255/255}
},
{
type = "resource",
name = data_util.mod_prefix.."holmium-ore",
icon = "__space-exploration-graphics__/graphics/icons/holmium-ore.png",
icon_size = 64,
flags = {"placeable-neutral"},
order="a-b-e",
tree_removal_probability = 0.8,
tree_removal_max_distance = 32 * 32,
minable =
{
mining_particle = "stone-particle",
mining_time = 3,
result = data_util.mod_prefix.."holmium-ore",
},
collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
autoplace = { -- real distribution set in stage 3
control = data_util.mod_prefix.."holmium-ore"
},
stage_counts = {15000, 9500, 5500, 2900, 1300, 400, 150, 80},
stages =
{
sheet =
{
filename = "__space-exploration-graphics__/graphics/entity/holmium-ore/holmium-ore.png",
priority = "extra-high",
size = 64,
frame_count = 8,
variation_count = 8,
hr_version =
{
filename = "__space-exploration-graphics__/graphics/entity/holmium-ore/hr-holmium-ore.png",
priority = "extra-high",
size = 128,
frame_count = 8,
variation_count = 8,
scale = 0.5
}
}
},
map_color = {r = 135/255, g = 96/255, b = 109/255}
},
{
type = "resource",
name = data_util.mod_prefix.."iridium-ore",
icon = "__space-exploration-graphics__/graphics/icons/iridium-ore.png",
icon_size = 64,
flags = {"placeable-neutral"},
order="a-b-e",
tree_removal_probability = 0.8,
tree_removal_max_distance = 32 * 32,
category = "hard-resource",
minable =
{
fluid_amount = 1,
required_fluid = "sulfuric-acid",
mining_particle = "stone-particle",
mining_time = 5,
result = data_util.mod_prefix.."iridium-ore",
},
collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
autoplace = { -- real distribution set in stage 3
control = data_util.mod_prefix.."iridium-ore"
},
stage_counts = {15000, 9500, 5500, 2900, 1300, 400, 150, 80},
stages =
{
sheet =
{
filename = "__space-exploration-graphics__/graphics/entity/iridium-ore/iridium-ore.png",
priority = "extra-high",
size = 64,
frame_count = 8,
variation_count = 8,
hr_version =
{
filename = "__space-exploration-graphics__/graphics/entity/iridium-ore/hr-iridium-ore.png",
priority = "extra-high",
size = 128,
frame_count = 8,
variation_count = 8,
scale = 0.5
}
}
},
map_color = {r = 244/255, g = 202/255, b = 85/255}
},
{
type = "resource",
name = data_util.mod_prefix.."naquium-ore",
icon = "__space-exploration-graphics__/graphics/icons/naquium-ore.png",
icon_size = 64,
flags = {"placeable-neutral"},
order="a-b-e",
tree_removal_probability = 0.8,
tree_removal_max_distance = 32 * 32,
category = "hard-resource",
minable =
{
fluid_amount = 20,
required_fluid = "sulfuric-acid",
mining_particle = "stone-particle",
mining_time = 10,
result = data_util.mod_prefix.."naquium-ore",
},
collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
autoplace = { -- real distribution set in stage 3
control = data_util.mod_prefix.."naquium-ore",
tile_restriction = {data_util.mod_prefix.."asteroid"} -- only in DEEP space
},
stage_counts = {15000, 9500, 5500, 2900, 1300, 400, 150, 80},
stages =
{
sheet =
{
filename = "__space-exploration-graphics__/graphics/entity/naquium-ore/naquium-ore.png",
priority = "extra-high",
size = 64,
frame_count = 8,
variation_count = 8,
hr_version =
{
filename = "__space-exploration-graphics__/graphics/entity/naquium-ore/hr-naquium-ore.png",
priority = "extra-high",
size = 128,
frame_count = 8,
variation_count = 8,
scale = 0.5
}
}
},
stages_effect = {
sheet = {
blend_mode = "additive",
filename = "__space-exploration-graphics__/graphics/entity/naquium-ore/naquium-ore-glow.png",
flags = {
"light"
},
frame_count = 8,
height = 64,
hr_version = {
blend_mode = "additive",
filename = "__space-exploration-graphics__/graphics/entity/naquium-ore/hr-naquium-ore-glow.png",
flags = {
"light"
},
frame_count = 8,
height = 128,
priority = "extra-high",
scale = 0.5,
variation_count = 8,
width = 128
},
priority = "extra-high",
variation_count = 8,
width = 64
}
},
effect_animation_period = 5,
effect_animation_period_deviation = 1,
effect_darkness_multiplier = 3.6,
max_effect_alpha = 0.3,
min_effect_alpha = 0.2,
map_color = {r = 137/255, g = 113/255, b = 214/255}
},
{
type = "resource",
name = data_util.mod_prefix.."vulcanite",
icon = "__space-exploration-graphics__/graphics/icons/vulcanite.png",
icon_size = 64,
flags = {"placeable-neutral"},
order="a-b-e",
tree_removal_probability = 0.8,
tree_removal_max_distance = 32 * 32,
minable =
{
mining_particle = "stone-particle",
mining_time = 2,
result = data_util.mod_prefix.."vulcanite",
},
collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
autoplace = { -- real distribution set in stage 3
control = data_util.mod_prefix.."vulcanite",
tile_restriction = alien_biomes.list_tiles(alien_biomes.require_tag(alien_biomes.all_tiles(), {"volcanic"})),
},
stage_counts = {15000, 9500, 5500, 2900, 1300, 400, 150, 80},
stages =
{
sheet =
{
filename = "__space-exploration-graphics__/graphics/entity/vulcanite/vulcanite.png",
priority = "extra-high",
size = 64,
frame_count = 8,
variation_count = 8,
hr_version =
{
filename = "__space-exploration-graphics__/graphics/entity/vulcanite/hr-vulcanite.png",
priority = "extra-high",
size = 128,
frame_count = 8,
variation_count = 8,
scale = 0.5
}
}
},
stages_effect = {
sheet = {
blend_mode = "additive",
filename = "__space-exploration-graphics__/graphics/entity/vulcanite/vulcanite-glow.png",
flags = {
"light"
},
frame_count = 8,
height = 64,
hr_version = {
blend_mode = "additive",
filename = "__space-exploration-graphics__/graphics/entity/vulcanite/hr-vulcanite-glow.png",
flags = {
"light"
},
frame_count = 8,
height = 128,
priority = "extra-high",
scale = 0.5,
variation_count = 8,
width = 128
},
priority = "extra-high",
variation_count = 8,
width = 64
}
},
effect_animation_period = 5,
effect_animation_period_deviation = 1,
effect_darkness_multiplier = 3.6,
max_effect_alpha = 0.3,
min_effect_alpha = 0.2,
map_color = {r = 224/255, g = 40/255, b = 10/255}
},
{
type = "resource",
name = data_util.mod_prefix.."vitamelange",
icon = "__space-exploration-graphics__/graphics/icons/vitamelange.png",
icon_size = 64,
flags = {"placeable-neutral"},
order="a-b-e",
tree_removal_probability = 0.8,
tree_removal_max_distance = 32 * 32,
minable =
{
mining_particle = "stone-particle",
mining_time = 1,
result = data_util.mod_prefix.."vitamelange",
},
collision_box = {{ -0.1, -0.1}, {0.1, 0.1}},
selection_box = {{ -0.5, -0.5}, {0.5, 0.5}},
autoplace = { -- real distribution set in stage 3
control = data_util.mod_prefix.."vitamelange",
tile_restriction = alien_biomes.list_tiles(alien_biomes.require_tag(alien_biomes.all_tiles(), {"grass", "dirt"})), -- not snow, volcanic, desert
},
stage_counts = {15000, 9500, 5500, 2900, 1300, 400, 150, 80},
stages =
{
sheet =
{
filename = "__space-exploration-graphics__/graphics/entity/vitamelange/vitamelange.png",
priority = "extra-high",
size = 64,
frame_count = 8,
variation_count = 8,
hr_version =
{
filename = "__space-exploration-graphics__/graphics/entity/vitamelange/hr-vitamelange.png",
priority = "extra-high",
size = 128,
frame_count = 8,
variation_count = 8,
scale = 0.5
}
}
},
stages_effect = {
sheet = {
blend_mode = "additive-soft",
filename = "__space-exploration-graphics__/graphics/entity/vitamelange/vitamelange-glow.png",
flags = {
"light"
},
frame_count = 8,
height = 64,
hr_version = {
blend_mode = "additive-soft",
filename = "__space-exploration-graphics__/graphics/entity/vitamelange/hr-vitamelange-glow.png",
flags = {
"light"
},
frame_count = 8,
height = 128,
priority = "extra-high",
scale = 0.5,
variation_count = 8,
width = 128
},
priority = "extra-high",
variation_count = 8,
width = 64
}
},
effect_animation_period = 5,
effect_animation_period_deviation = 1,
effect_darkness_multiplier = 3.6,
max_effect_alpha = 0.15,
min_effect_alpha = 0.05,
map_color = {r = 173/255, g = 206/255, b = 54/255},
},
})

399
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/rocket-fragments.lua

@ -0,0 +1,399 @@
local data_util = require("data_util")
--[[
meteors and crashing rocket parts
Big sections:
general concept is have a script-controlled entity (and paired shadow)
moved from a spawn point to a predesiganted landing point.
It spawns smoke as moved.
probably use a projectile type for the primary pieces.
Upon impact there are explosions.
Some cargo part survive, some are lost.
Carried resources are reduecd by similar loss amount and then distributed among survivng containers.
additional small particles spawned during falling they can fall normally.
-- parts of rockets / ships that fall.
rockets are made of 100 x
heat shielding 20
low density structure 10
low density structure 10
10 rocket control unit
5 cargo pod (seperate)
1 rocket fuel tank
roughly 1.25k of each resource
125k total
if a scrap is 0.3 of a resource
then returning more than 4 166 666 scrap would be bad.
if there are say
4 big fragments -> 100 scrap each = 400
6 medium fragments -> 50 scrap each = 300
20 small fragments -> 20 scrap each = 400
20 tiny fragments -> 10 scrap each = 200
1.1k scrap total, recycle value is 330
]]--
local resistances = {
{ type = "fire", percent = 100 },
{ type = "explosion", percent = 100 },
{ type = "impact", percent = 50 }
}
--{"floor-layer", "player-layer", "water-tile", "object-layer"},
local collision_mask_blocking = {"player-layer", "object-layer"}
local collision_mask_nonblocking = {"item-layer"}
local fragments = { -- name = size, width, height, shadoww, shadowh, shadowoffx, shadowoffy
["rocket-fragment-big-a"] = {4, 215, 185, 234, 131, 27/32, 38/32},
["rocket-fragment-big-b"] = {4, 163, 129, 164, 109, 1/32, 12/32},
["rocket-fragment-big-c"] = {4, 160, 131, 136, 77, 12/32, 18/32},
["rocket-fragment-big-d"] = {4, 108, 86, 123, 52, 22/32, 26/32},
["rocket-fragment-medium-a"] = {3, 109, 81, 115, 57, 6/32, 14/32},
["rocket-fragment-medium-b"] = {3, 111, 81, 117, 82, 14/32, 18/32},
["rocket-fragment-medium-c"] = {3, 120, 75, 122, 62, 2/32, 7/32},
["rocket-fragment-small-a"] = {2, 65, 68, 60, 53, 1/32, 6/32},
["rocket-fragment-small-b"] = {2, 65, 67, 77, 62, 7/32, 6/32},
["rocket-fragment-small-c"] = {2, 69, 38, 76, 35, 3/32, 5/32},
["rocket-fragment-small-d"] = {2, 79, 59, 80, 54, 6/32, 3/32},
["rocket-fragment-small-e"] = {2, 69, 74, 77, 66, 5/32, 5/32},
["rocket-fragment-small-f"] = {2, 55, 49, 59, 39, 4/32, 6/32},
["rocket-fragment-small-g"] = {2, 62, 64, 60, 59, 12/32, 8/32},
["rocket-fragment-small-h"] = {2, 59, 48, 65, 31, 4/32, 8/32},
["rocket-fragment-small-i"] = {2, 41, 49, 47, 41, 5/32, 7/32},
["rocket-fragment-small-j"] = {2, 68, 42, 69, 43, 1/32, 3/32},
["rocket-fragment-tiny-a"] = {1, 47, 22, 47, 15, 0/32, 5/32},
["rocket-fragment-tiny-b"] = {1, 48, 36, 49, 35, 2/32, 2/32},
["rocket-fragment-tiny-c"] = {1, 44, 33, 48, 25, 3/32, 5/32},
["rocket-fragment-tiny-d"] = {1, 58, 35, 56, 30, 1/32, 1/32},
["rocket-fragment-tiny-e"] = {1, 21, 18, 23, 12, 3/32, 5/32},
["rocket-fragment-tiny-f"] = {1, 46, 30, 53, 25, 3/32, 5/32},
["cargo-fragment-a"] = {3, 112, 81, 117, 49, 6/32, 14/32, 0.75, true},
["cargo-fragment-b"] = {3, 118, 97, 125, 82, 6/32, 14/32, 0.75, true},
["cargo-fragment-c"] = {3, 138, 138, 148, 69, 6/32, 14/32, 0.75, true},
["cargo-fragment-d"] = {3, 95, 62, 88, 38, 6/32, 14/32, 0.75, true},
}
local function get_explosion(size)
if size == 2 then
return data_util.mod_prefix.."medium-explosion"
elseif size == 3 then
return data_util.mod_prefix.."large-explosion"
elseif size == 4 then
return data_util.mod_prefix.."huge-explosion"
end
return data_util.mod_prefix.."small-explosion"
end
for name, fragment in pairs(fragments) do
local size = fragment[1]
local width = fragment[2]
local height = fragment[3]
local shadow_width = fragment[4]
local shadow_height = fragment[5]
local shadow_x = fragment[6]
local shadow_y = fragment[7]
local scale = fragment[8] or 1
local cargo = fragment[9] == true
local scrap = 10
if size > 3 then
scrap = 100
elseif size > 2 then
scrap = 50
elseif size > 1 then
scrap = 20
end
data:extend({
{
type = "projectile",
name = data_util.mod_prefix.."falling-" .. name,
acceleration = 0,
rotatable = false,
animation = {
filename = "__space-exploration-graphics__/graphics/entity/rocket-fragments/"..name..".png",
frame_count = 1,
width = width,
height = height,
line_length = 1,
priority = "high",
shift = { 0, 0 },
scale = scale
},
action = {
action_delivery = {
target_effects = {
{
action = {
action_delivery = {
target_effects = {
{
damage = {
amount = 5 + 2.5 * size,
type = "meteor"
},
type = "damage"
},
{
entity_name = "explosion",
type = "create-entity"
}
},
type = "instant"
},
radius = 0.5 + 0.2 * size,
type = "area"
},
type = "nested-result"
},
{
type = "create-entity",
entity_name = get_explosion(size),
},
{
type = "create-entity",
entity_name = "small-scorchmark",
check_buildability = true,
},
{
type = "create-entity",
check_buildability = false,
entity_name = data_util.mod_prefix.."static-"..name,
},
{
type = "create-entity",
entity_name = data_util.mod_prefix .. "trigger-movable-debris",
trigger_created_entity = true,
},
},
type = "instant"
},
type = "direct"
},
flags = { "not-on-map" },
light = { intensity = 0.1 + 0.05 * size, size = 10},
smoke = {
{
deviation = {
0.15,
0.15
},
frequency = 1,
--name = "smoke-fast",
--name = "smoke-explosion-particle",
name = "soft-fire-smoke", -- lasts longer
position = {0,0},
slow_down_factor = 1,
starting_frame = 3,
starting_frame_deviation = 5,
starting_frame_speed = 0,
starting_frame_speed_deviation = 5
}
},
},
{
type = "projectile",
name = data_util.mod_prefix.."shadow-" .. name,
acceleration = 0,
rotatable = false,
animation = {
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/rocket-fragments/shadows/"..name..".png",
frame_count = 1,
width = shadow_width,
height = shadow_height,
line_length = 1,
priority = "high",
shift = { 0, 0 },
scale = scale
},
flags = { "not-on-map" },
},
{
type = "simple-entity",
name = data_util.mod_prefix.."static-"..name,
localised_name = cargo and {"entity-name.destroyed-cargo-pod"} or {"entity-name.rocket-fragment"},
icon = "__base__/graphics/icons/ship-wreck/small-ship-wreck.png",
icon_size = 64,
flags = {"placeable-neutral", "placeable-off-grid", "not-on-map"},
subgroup = "wrecks",
order = "d[remnants]-d[ship-wreck]-c[small]-a",
max_health = size * 100,
minable = {
mining_time = 0.2,
results={
{name= data_util.mod_prefix.."scrap", amount=scrap},
}
},
resistances = resistances,
collision_box = size > 3 and {{-1, -1}, {1, 1}} or {{-0.7, -0.7}, {0.7, 0.7}},
collision_mask = size > 3 and collision_mask_blocking or collision_mask_nonblocking,
selection_box = {{-1.3, -1.1}, {1.3, 1.1}},
selection_priority = 2,
count_as_rock_for_filtered_deconstruction = true,
picture =
{
layers = {
{
filename = "__space-exploration-graphics__/graphics/entity/rocket-fragments/"..name..".png",
width = width,
height = height,
shift = { 0, 0 },
scale = scale
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/rocket-fragments/shadows/"..name..".png",
width = shadow_width,
height = shadow_height,
shift = { shadow_x, shadow_y },
scale = scale
}
}
},
render_layer = "object",
},
{
type = "projectile",
name = data_util.mod_prefix.."space-" .. name,
acceleration = -0.001,
rotatable = false,
animation = {
filename = "__space-exploration-graphics__/graphics/entity/rocket-fragments/"..name..".png",
frame_count = 1,
width = width,
height = height,
line_length = 1,
priority = "high",
shift = { 0, 0 },
scale = scale
},
action = {
action_delivery = {
target_effects = {
{
action = {
action_delivery = {
target_effects = {
{
damage = {
amount = 5 + 2.5 * size,
type = "meteor"
},
type = "damage"
},
{
entity_name = "explosion",
type = "create-entity"
}
},
type = "instant"
},
radius = 0.5 + 0.2 * size,
type = "area"
},
type = "nested-result"
},
{
type = "create-entity",
check_buildability = false,
entity_name = data_util.mod_prefix.."static-"..name,
},
{
type = "create-entity",
entity_name = data_util.mod_prefix .. "trigger-movable-debris",
trigger_created_entity = true,
},
},
type = "instant"
},
type = "direct"
},
flags = { "not-on-map" },
light = { intensity = 0.1 + 0.05 * size, size = 10},
smoke = {
{
deviation = {
0.15,
0.15
},
frequency = 1,
--name = "smoke-fast",
--name = "smoke-explosion-particle",
name = "soft-fire-smoke", -- lasts longer
position = {0,0},
slow_down_factor = 1,
starting_frame = 3,
starting_frame_deviation = 5,
starting_frame_speed = 0,
starting_frame_speed_deviation = 5
}
},
},
})
end
-- safe version
data:extend({
{
type = "projectile",
name = data_util.mod_prefix.."falling-cargo-pod",
acceleration = 0,
rotatable = false,
animation = {
filename = "__space-exploration-graphics__/graphics/entity/cargo-pod/cargo-pod.png",
frame_count = 1,
width = 147,
height = 194,
line_length = 1,
priority = "high",
shift = { 0, 0 },
scale = 0.5,
},
flags = { "not-on-map" },
light = { intensity = 0.2, size = 10},
smoke = {
{
deviation = {
0.15,
0.15
},
frequency = 1,
name = "smoke-fast",
--name = "smoke-explosion-particle",
--name = "soft-fire-smoke", -- lasts longer
position = {0,0},
slow_down_factor = 1,
starting_frame = 3,
starting_frame_deviation = 5,
starting_frame_speed = 0,
starting_frame_speed_deviation = 5
}
},
},
{
type = "projectile",
name = data_util.mod_prefix.."shadow-cargo-pod",
acceleration = 0,
rotatable = false,
animation = {
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/cargo-pod/cargo-pod-shadow.png",
frame_count = 1,
width = 167,
height = 164,
line_length = 1,
priority = "high",
shift = { 0, 0 },
scale = 0.5,
},
flags = { "not-on-map" },
},
})

64
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/rocket-landing-pad.lua

@ -0,0 +1,64 @@
local data_util = require("data_util")
local landing_pad_collision_box = {{-4.35, -4.35}, {4.35, 4.35}}
data:extend({
{
type = "container",
name = data_util.mod_prefix .. "rocket-landing-pad", -- "rocket-launch-pad-chest",
icon = "__space-exploration-graphics__/graphics/icons/rocket-landing-pad.png",
icon_size = 64,
order = "z-z",
flags = {"placeable-neutral", "player-creation"},
minable = {mining_time = 0.5, result = data_util.mod_prefix .. "rocket-landing-pad"},
max_health = 5000,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
collision_box = landing_pad_collision_box,
collision_mask = {
"water-tile",
"item-layer",
"object-layer",
"player-layer",
spaceship_collision_layer -- not spaceship
},
selection_box = {{-4.35, -4.35}, {4.35, 4.35}},
drawing_box = {{-4.35, -4.35 - 1}, {4.35, 4.35}},
inventory_size = rocket_capacity + 110, -- 100 for potential recovered rocket sections and space capsule, plus another 10 to prevent deleting cargo from overflowing reused rocket sections
resistances = {
{ type = "meteor", percent = 99 },
{ type = "explosion", percent = 99 },
{ type = "impact", percent = 99 },
{ type = "fire", percent = 99 },
},
open_sound = { filename = "__base__/sound/metallic-chest-open.ogg", volume=0.65 },
close_sound = { filename = "__base__/sound/metallic-chest-close.ogg", volume = 0.7 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
picture = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-landing-pad/rocket-landing-pad.png",
height = 384,
shift = { 0, -0.5 },
width = 352,
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-landing-pad/hr-rocket-landing-pad.png",
height = 384 * 2,
shift = { 0, -0.5 },
width = 352 * 2,
scale = 0.5
}
},
circuit_wire_connection_point =
{
shadow =
{
red = {-3.5, 2.7},
green = {-3.6, 2.6},
},
wire =
{
red = {-3.5, 2.7},
green = {-3.6, 2.6},
}
},
circuit_wire_max_distance = 12.5,
},
})

992
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/rocket-launch-pad.lua

@ -0,0 +1,992 @@
--[[
The plan:
While sile is in assembly mode a vehicle with a filter
is placed over the silo that only takes rocket segments.
also, rocket segments are taken from the container if any.
once the rocket is complete the vehicle is removed so items
are placed in the silo and not the vehicle.
new rocket doors are 168 up on hr image
]]--
local data_util = require("data_util")
local silo_offset_px = -37
--local shadow_adds_width = 192;
local shadow_adds_width = 96;
local blank_image = {
filename = "__space-exploration-graphics__/graphics/blank.png",
width = 1,
height = 1,
frame_count = 1,
line_length = 1,
shift = { 0, 0 },
}
local selectable = false -- false for production, true only to help debug layers
local launch_pad_collision_box = {{-4.85, -4.85}, {4.85, 4.85}}
local connection_point = {
wire = { red = {-1 -8/32, 2 +20/32}, green = {-1 -2/32, 2 +20/32}, },
shadow = { red = {2 -8/32, 5}, green = {2 -2/32, 5}, },
}
local tank_connection_point = table.deepcopy(connection_point)
tank_connection_point.wire.red[2] = connection_point.wire.red[2] - 1
tank_connection_point.wire.green[2] = connection_point.wire.green[2] - 1
tank_connection_point.shadow.red[2] = connection_point.shadow.red[2] - 1
tank_connection_point.shadow.green[2] = connection_point.shadow.green[2] - 1
local function connection_sprites(offset)
return {
blue_led_light_offset = offset,
led_blue = {
filename = "__base__/graphics/entity/circuit-connector/hr-ccm-universal-04e-blue-LED-on-sequence.png",
height = 60,
priority = "low",
shift = offset,
width = 60,
x = 60,
y = 0
},
led_blue_off = {
filename = "__base__/graphics/entity/circuit-connector/hr-ccm-universal-04f-blue-LED-off-sequence.png",
height = 44,
priority = "low",
shift = offset,
width = 46,
x = 46,
y = 0
},
led_green = {
filename = "__base__/graphics/entity/circuit-connector/hr-ccm-universal-04h-green-LED-sequence.png",
height = 46,
priority = "low",
shift = offset,
width = 48,
x = 48,
y = 0
},
led_light = {
intensity = 0.8,
size = 0.9
},
led_red = {
filename = "__base__/graphics/entity/circuit-connector/hr-ccm-universal-04i-red-LED-sequence.png",
height = 46,
priority = "low",
shift = offset,
width = 48,
x = 48,
y = 0
},
red_green_led_light_offset = offset,
}
end
--local container_connection_sprites = connection_sprites({ 3-12/32, 0 })
local tank_connection_sprites = connection_sprites({ -97/32, -153/32 })
data:extend({
{
type = "container",
name = data_util.mod_prefix .. "rocket-launch-pad", -- "rocket-launch-pad-chest",
icon = "__space-exploration-graphics__/graphics/icons/rocket-launch-pad.png",
icon_size = 64,
scale_info_icons = false,
inventory_size = rocket_capacity,
order = "z-z",
flags = {"placeable-neutral", "player-creation"},
minable = {mining_time = 0.5, result = data_util.mod_prefix .. "rocket-launch-pad"},
max_health = 8000,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
collision_box = launch_pad_collision_box,
collision_mask = {
"water-tile",
"item-layer",
"object-layer",
"player-layer",
spaceship_collision_layer -- not spaceship
},
render_layer = "transport-belt", -- does not work
selection_box = launch_pad_collision_box,
drawing_box = {{-4.85, -4.85 - 1}, {4.85, 4.85}},
selection_priority = 100,
resistances = {
{ type = "meteor", percent = 90 },
{ type = "impact", percent = 100 },
{ type = "fire", percent = 100 }
},
open_sound = { filename = "__base__/sound/metallic-chest-open.ogg", volume=0.65 },
close_sound = { filename = "__base__/sound/metallic-chest-close.ogg", volume = 0.7 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
picture = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/complete.png",
shift = { 0, -0.25 },
width = 704/2,
height = 736/2,
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-complete.png",
shift = { 0, -0.25 },
width = 704,
height = 736,
scale = 0.5,
}
},
--circuit_connector_sprites = container_connection_sprites, -- these are not seen because of layering
circuit_wire_connection_point = connection_point,
circuit_wire_max_distance = 12.5,
},
{ -- invisibly dummy vehicle
type = "car",
name = data_util.mod_prefix .. "rocket-launch-pad-_-section-input",
collision_box = {{-3.85, -3.85}, {3.85, 3.85}},
collision_mask = {"not-colliding-with-itself"},
selection_box = launch_pad_collision_box,
scale_info_icons = false,
selection_priority = 200,
selectable_in_game = selectable,
has_belt_immunity = true,
animation = {
layers = {
{
animation_speed = 1,
direction_count = 1,
filename = "__space-exploration-graphics__/graphics/blank.png",
frame_count = 1,
height = 1,
width = 1
},
}
},
braking_power = "200kW",
burner = {
effectivity = 1,
fuel_category = "chemical",
fuel_inventory_size = 0,
render_no_power_icon = false
},
consumption = "1W",
effectivity = 0.5,
energy_per_hit_point = 1,
flags = { "placeable-neutral", "player-creation", "placeable-off-grid" },
friction = 0.9,
icon = "__space-exploration-graphics__/graphics/icons/rocket-launch-pad.png",
icon_size = 64,
inventory_size = 2,
max_health = 45000,
open_sound = {
filename = "__base__/sound/car-door-open.ogg",
volume = 0.7
},
close_sound = {
filename = "__base__/sound/car-door-close.ogg",
volume = 0.7
},
render_layer = "object",
rotation_speed = 0.00,
order = "zz",
weight = 10000,
},
{
type = "constant-combinator",
name = data_util.mod_prefix .. "rocket-launch-pad-combinator",
icon = "__space-exploration-graphics__/graphics/icons/rocket-launch-pad.png",
icon_size = 64,
flags = {"placeable-player", "player-creation", "placeable-off-grid", "not-deconstructable", "not-blueprintable"},
order = "y",
max_health = 10000,
healing_per_tick = 10000,
corpse = "small-remnants",
collision_box = {{-0.0, -0.0}, {0.0, 0.0}},
collision_mask = {"not-colliding-with-itself"},
selection_box = {{-0.5, -0.5}, {0.5, 0.5}},
scale_info_icons = false,
selectable_in_game = selectable,
item_slot_count = 10, -- capsule, rocket parts, fuel, rocket made, slots free
sprites =
{
north = blank_image,
east = blank_image,
south = blank_image,
west = blank_image
},
activity_led_sprites =
{
north = blank_image,
east = blank_image,
south = blank_image,
west = blank_image
},
activity_led_light =
{
intensity = 0.8,
size = 1,
},
activity_led_light_offsets =
{
{0, 0},
{0, 0},
{0, 0},
{0, 0}
},
circuit_wire_connection_points =
{
connection_point, connection_point, connection_point, connection_point,
},
circuit_wire_max_distance = 10
},
{ -- invisibly dummy vehicle
-- allows player to enter and go with a rocket
type = "car",
name = data_util.mod_prefix .. "rocket-launch-pad-_-seat",
collision_mask = {"not-colliding-with-itself"},
collision_box = { { -0.4, -0.05 }, { 0.4, 0.05 } },
collision_mask = {"not-colliding-with-itself"},
has_belt_immunity = true,
animation = {
layers = {
{
animation_speed = 1,
direction_count = 1,
filename = "__space-exploration-graphics__/graphics/blank.png",
frame_count = 1,
height = 1,
width = 1
},
}
},
braking_power = "200kW",
burner = {
effectivity = 1,
fuel_category = "chemical",
fuel_inventory_size = 0,
render_no_power_icon = false
},
consumption = "150kW",
effectivity = 0.5,
energy_per_hit_point = 1,
flags = { "placeable-neutral", "player-creation", "placeable-off-grid" },
friction = 0.9,
icon = "__space-exploration-graphics__/graphics/icons/rocket-launch-pad.png",
icon_size = 64,
inventory_size = 0,
max_health = 45000,
open_sound = {
filename = "__base__/sound/car-door-open.ogg",
volume = 0.7
},
close_sound = {
filename = "__base__/sound/car-door-close.ogg",
volume = 0.7
},
render_layer = "object",
rotation_speed = 0.00,
order = "zz",
selectable_in_game = selectable,
weight = 700,
},
{
type = "storage-tank",
name = data_util.mod_prefix .. "rocket-launch-pad-tank",
icon = "__space-exploration-graphics__/graphics/icons/rocket-launch-pad.png",
icon_size = 64,
scale_info_icons = false,
render_layer = "higher-object-above",
flags = {"placeable-player", "player-creation", "not-deconstructable", "not-blueprintable"},
max_health = 50000,
order = "zz",
corpse = "medium-remnants",
collision_box = { -- compensate for position shift
{launch_pad_collision_box[1][1], launch_pad_collision_box[1][2] -1},
{launch_pad_collision_box[2][1], launch_pad_collision_box[2][2] -1}},
collision_mask = {"not-colliding-with-itself"},
selection_box = { -- compensate for position shift
{launch_pad_collision_box[1][1], launch_pad_collision_box[1][2] -1},
{launch_pad_collision_box[2][1], launch_pad_collision_box[2][2] -1}},
selectable_in_game = selectable,
fluid_box =
{
base_area = 100, -- gets multiplied by 100 by engine
base_level = -1, -- pull fluid in
height = 1.1,
pipe_covers = pipecoverspictures(),
pipe_connections =
{
{ position = {-5.5, 3.5-1} },
{ position = {-5.5, -3.5-1} },
{ position = {3.5, -5.5-1} },
{ position = {-3.5, -5.5-1} },
{ position = {5.5, 3.5-1} },
{ position = {5.5, -3.5-1} },
{ position = {3.5, 5.5-1} },
{ position = {-3.5, 5.5-1} },
},
},
two_direction_only = true,
window_bounding_box = {{-0.125, 0.6875}, {0.1875, 1.1875}},
pictures =
{
picture = {
sheets = {
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/tank-window.png",
priority = "extra-high",
frames = 1,
width = 94/2,
height = 84/2,
shift = {128.5/32, -154/32},
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-tank-window.png",
priority = "extra-high",
frames = 1,
width = 94,
height = 84,
shift = {128.5/32, -154/32},
scale=0.5,
},
},
}
},
fluid_background =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/fluid-background.png",
priority = "extra-high",
width = 10,
height = 30,
shift = {128/32, -180/32},
scale = 2
},
window_background = blank_image,
--[[{
filename = "__base__/graphics/entity/storage-tank/window-background.png",
priority = "extra-high",
width = 17,
height = 24,
shift = {-116/32, -160/32},
hr_version = {
filename = "__base__/graphics/entity/storage-tank/hr-window-background.png",
priority = "extra-high",
width = 34,
height = 48,
scale = 0.5,
shift = {-116/32, -160/32},
}
},]]--
flow_sprite =
{
filename = "__base__/graphics/entity/pipe/fluid-flow-low-temperature.png",
priority = "extra-high",
width = 160,
height = 20,
shift = {128/32, -180/32},
scale = 2
},
gas_flow =
{
filename = "__base__/graphics/entity/pipe/steam.png",
priority = "extra-high",
line_length = 10,
width = 24,
height = 15,
frame_count = 60,
axially_symmetrical = false,
direction_count = 1,
animation_speed = 0.255,
shift = {128/32, -180/32},
hr_version =
{
filename = "__base__/graphics/entity/pipe/hr-steam.png",
priority = "extra-high",
line_length = 10,
width = 48,
height = 30,
frame_count = 60,
axially_symmetrical = false,
animation_speed = 0.255,
direction_count = 1,
shift = {128/32, -180/32},
}
}
},
flow_length_in_ticks = 360,
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound =
{
sound = {
filename = "__base__/sound/storage-tank.ogg",
volume = 0.8
},
apparent_volume = 1.5,
max_sounds_per_type = 3
},
circuit_wire_connection_points = {
tank_connection_point, tank_connection_point, tank_connection_point, tank_connection_point,
},
circuit_connector_sprites = {tank_connection_sprites,tank_connection_sprites,tank_connection_sprites,tank_connection_sprites,},
circuit_wire_max_distance = default_circuit_wire_max_distance
},
{
-- this only exists for the animation
-- it won't be selectable or affected normally
-- when ready to launch the required dummy item will be added
-- then launch will be triggered by script
type = "rocket-silo",
name = data_util.mod_prefix .. "rocket-launch-pad-silo",
rocket_entity = data_util.mod_prefix .. "cargo-rocket",
fixed_recipe = data_util.mod_prefix .. "rocket-launch-pad-silo-dummy-recipe",
rocket_entity = data_util.mod_prefix .. "cargo-rocket",
order = "zz",
icon = "__space-exploration-graphics__/graphics/icons/rocket-launch-pad.png",
icon_size = 64,
flags = {"placeable-player", "player-creation"},
selection_box = launch_pad_collision_box,
selectable_in_game = selectable,
-- collision box stops inserters from accessing container
--collision_box = launch_pad_collision_box, -- for power
collision_box = {{0,0},{0,0}},
collision_mask = {"not-colliding-with-itself"},
crafting_categories = {"rocket-building"},
rocket_parts_required = 1,
crafting_speed = 1,
rocket_result_inventory_size = 0,
module_specification = { module_slots = 0 },
allowed_effects = {},
show_recipe_icon = false,
max_health = 8000,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
hole_clipping_box = { {-2.75, -1.15 + silo_offset_px/32}, {2.75, 2.25 + silo_offset_px/32} },
resistances =
{
{
type = "fire",
percent = 60
},
{
type = "impact",
percent = 60
}
},
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
energy_source = {
type = "void",
usage_priority = "primary-input",
render_no_power_icon = false
},
active_energy_usage = "1000KW",
energy_usage = "1000KW",
idle_energy_usage = "1000KW",
lamp_energy_usage = "100KW",
times_to_blink = 3,
light_blinking_speed = 1 / (3 * 60),
door_opening_speed = 1 / (4.25 * 60),
silo_fade_out_start_distance = 9, --8,
silo_fade_out_end_distance = 16, --15,
base_engine_light =
{
intensity = 1,
size = 25,
shift = {0, 1.5 + silo_offset_px/32}
},
shadow_sprite =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/00-rocket-silo-shadow.png",
priority = "medium",
width = 410/2,
height = 510/2,
draw_as_shadow = true,
slice = 2,
shift = util.by_pixel(174, 36),
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-00-rocket-silo-shadow.png",
priority = "medium",
width = 410,
height = 510,
draw_as_shadow = true,
slice = 2,
shift = util.by_pixel(174, 36),
scale = 0.5
},
},
hole_sprite =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/01-rocket-silo-hole.png",
width = 202,
height = 136,
shift = util.by_pixel(-6, 16 + silo_offset_px),
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-01-rocket-silo-hole.png",
width = 400,
height = 270,
shift = util.by_pixel(-5, 16 + silo_offset_px),
scale = 0.5
}
},
hole_light_sprite =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/01-rocket-silo-hole-light.png",
width = 202,
height = 136,
shift = util.by_pixel(-6, 16 + silo_offset_px),
tint = {1,1,1,0},
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-01-rocket-silo-hole-light.png",
width = 400,
height = 270,
shift = util.by_pixel(-5, 16 + silo_offset_px),
tint = {1,1,1,0},
scale = 0.5
}
},
rocket_shadow_overlay_sprite =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/03-rocket-over-shadow-over-rocket.png",
width = 212,
height = 142,
shift = util.by_pixel(-2, 22 + silo_offset_px),
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-03-rocket-over-shadow-over-rocket.png",
width = 426,
height = 288,
shift = util.by_pixel(-2, 21 + silo_offset_px),
scale = 0.5
}
},
rocket_glow_overlay_sprite =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/03-rocket-over-glow.png",
blend_mode = "additive",
width = 218,
height = 222,
shift = util.by_pixel(-4, 36 + silo_offset_px),
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-03-rocket-over-glow.png",
blend_mode = "additive",
width = 434,
height = 446,
shift = util.by_pixel(-3, 36 + silo_offset_px),
scale = 0.5
}
},
door_back_sprite =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/04-door-back.png",
width = 158,
height = 144,
shift = util.by_pixel(36, 12 + silo_offset_px),
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-04-door-back.png",
width = 312,
height = 286,
shift = util.by_pixel(37, 12 + silo_offset_px),
scale = 0.5
}
},
door_back_open_offset = {1.8, -1.8 * 0.43299225},
door_front_sprite =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/05-door-front.png",
width = 166,
height = 152,
shift = util.by_pixel(-28, 32 + silo_offset_px),
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-05-door-front.png",
width = 332,
height = 300,
shift = util.by_pixel(-28, 33 + silo_offset_px),
scale = 0.5
}
},
door_front_open_offset = {-1.8, 1.8 * 0.43299225},
base_day_sprite =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/06-rocket-silo.png",
width = 352,
height = 368,
shift = util.by_pixel(0, -8),
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-06-rocket-silo.png",
width = 704,
height = 736,
shift = util.by_pixel(0, -8),
scale = 0.5
}
},
red_lights_back_sprites =
{
layers =
{
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {1.34375, 0.28125-1.375 + silo_offset_px/32},
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {1.34375, 0.28125-1.375 + silo_offset_px/32},
scale = 0.5
}
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {2.3125, 0.9375-1.375 + silo_offset_px/32},
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {2.3125, 0.9375-1.375 + silo_offset_px/32},
scale = 0.5
}
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {2.65625, 1.90625-1.375 + silo_offset_px/32},
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {2.65625, 1.90625-1.375 + silo_offset_px/32},
scale = 0.5
}
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {-2.65625, 1.90625-1.375 + silo_offset_px/32},
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {-2.65625, 1.90625-1.375 + silo_offset_px/32},
scale = 0.5
}
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {-2.3125, 0.9375-1.375 + silo_offset_px/32},
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {-2.3125, 0.9375-1.375 + silo_offset_px/32},
scale = 0.5
}
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {-1.34375, 0.28125-1.375 + silo_offset_px/32},
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {-1.34375, 0.28125-1.375 + silo_offset_px/32},
scale = 0.5
}
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {0, 0-1.375 + silo_offset_px/32},
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {0, 0-1.375 + silo_offset_px/32},
scale = 0.5
}
}
}
},
red_lights_front_sprites =
{
layers =
{
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {2.3125, 2.8125-1.375 + silo_offset_px/32},
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {2.3125, 2.8125-1.375 + silo_offset_px/32},
scale = 0.5
}
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {1.34375, 3.40625-1.375 + silo_offset_px/32},
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {1.34375, 3.40625-1.375 + silo_offset_px/32},
scale = 0.5
}
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {0, 3.75-1.375 + silo_offset_px/32},
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {0, 3.75-1.375 + silo_offset_px/32},
scale = 0.5
}
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {-1.34375, 3.40625-1.375 + silo_offset_px/32},
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {0, 3.75-1.375 + silo_offset_px/32},
scale = 0.5
}
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/red-light.png",
width = 32,
height = 32,
shift = {-2.3125, 2.8125-1.375 + silo_offset_px/32},
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/07-red-lights-back/hr-red-light.png",
width = 32,
height = 32,
shift = {-2.3125, 2.8125-1.375 + silo_offset_px/32},
scale = 0.5
}
}
}
},
satellite_animation =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/15-rocket-silo-turbine.png",
priority = "medium",
width = 392/4/2,
height = 288/8/2,
frame_count = 4,
line_length = 4,
animation_speed = 0.4,
shift = util.by_pixel(-114, -4),
hr_version = {
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-15-rocket-silo-turbine.png",
priority = "medium",
width = 392/4,
height = 288/8,
frame_count = 4,
line_length = 4,
animation_speed = 0.4,
shift = util.by_pixel(-114, -4),
scale = 0.5
}
},
arm_01_back_animation =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/08-rocket-silo-arms-back.png",
priority = "medium",
width = 66,
height = 76,
frame_count = 32,
line_length = 32,
animation_speed = 0.3,
shift = util.by_pixel(-54, -84 + silo_offset_px),
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-08-rocket-silo-arms-back.png",
priority = "medium",
width = 128,
height = 150,
frame_count = 32,
line_length = 32,
animation_speed = 0.3,
shift = util.by_pixel(-53, -84 + silo_offset_px),
scale = 0.5
}
},
arm_02_right_animation =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/08-rocket-silo-arms-right.png",
priority = "medium",
width = 94,
height = 94,
frame_count = 32,
line_length = 32,
animation_speed = 0.3,
shift = util.by_pixel(100, -38 + silo_offset_px),
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-08-rocket-silo-arms-right.png",
priority = "medium",
width = 182,
height = 188,
frame_count = 32,
line_length = 32,
animation_speed = 0.3,
shift = util.by_pixel(101, -38 + silo_offset_px),
scale = 0.5
}
},
arm_03_front_animation =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/13-rocket-silo-arms-front.png",
priority = "medium",
width = 66,
height = 114,
frame_count = 32,
line_length = 32,
animation_speed = 0.3,
shift = util.by_pixel(-52, 16 + silo_offset_px),
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-13-rocket-silo-arms-front.png",
priority = "medium",
width = 126,
height = 228,
frame_count = 32,
line_length = 32,
animation_speed = 0.3,
shift = util.by_pixel(-51, 16 + silo_offset_px),
scale = 0.5
}
},
base_front_sprite =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/14-rocket-silo-front.png",
width = 704 / 2,
height = 448 / 2,
shift = util.by_pixel(0, 64),
hr_version =
{
filename = "__space-exploration-graphics-5__/graphics/entity/rocket-launch-pad/hr-14-rocket-silo-front.png",
width = 704,
height = 448,
shift = util.by_pixel(0, 64),
scale = 0.5
}
},
alarm_trigger =
{
{
type = "play-sound",
sound =
{
{
filename = "__base__/sound/silo-alarm.ogg",
volume = 1.0
}
}
}
},
clamps_on_trigger =
{
{
type = "play-sound",
sound =
{
{
filename = "__base__/sound/silo-clamps-on.ogg",
volume = 1.0
}
}
}
},
clamps_off_trigger =
{
{
type = "play-sound",
sound =
{
{
filename = "__base__/sound/silo-clamps-off.ogg",
volume = 1.0
}
}
}
},
doors_trigger =
{
{
type = "play-sound",
sound =
{
{
filename = "__base__/sound/silo-doors.ogg",
volume = 1.0
}
}
}
},
raise_rocket_trigger =
{
{
type = "play-sound",
sound =
{
{
filename = "__base__/sound/silo-raise-rocket.ogg",
volume = 1.0
}
}
}
}
},
})
data.raw["storage-tank"][data_util.mod_prefix .. "rocket-launch-pad-tank"].fluid_box.pipe_covers.north.layers={blank_image}

328
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/scaffold.lua

@ -0,0 +1,328 @@
local data_util = require("data_util")
local auto_hr = function(sr)
local hr = table.deepcopy(sr)
hr.scale = 0.5 * (sr.scale or 1)
hr.filename = data_util.replace(hr.filename, "/sr/", "/hr/")
hr.width = sr.width * 2
hr.height = sr.height * 2
sr.hr_version = hr
return sr
end
local make_scaffold_pictures = function(width, height)
local layers = {}
local x_base = -(width+1)/2*32
local y_base = -(height+1)/2*32
for i = 1, width, 1 do
for j = 1, height, 1 do
if j == 1 then
if i == 1 then
table.insert(layers, auto_hr({
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-nw.png",
priority = "high",
width = 32,
height = 32,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+0, y_base+j*32+0),
animation_speed = 1,
}))
table.insert(layers, auto_hr({
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-nw-shadow.png",
priority = "high",
width = 40,
height = 40,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+4, y_base+j*32+4),
animation_speed = 1,
}))
elseif i < width then
table.insert(layers, auto_hr({
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-n.png",
priority = "high",
width = 32,
height = 32,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+0, y_base+j*32+0),
animation_speed = 1,
}))
table.insert(layers, auto_hr({
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-n-shadow.png",
priority = "high",
width = 32,
height = 40,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+8, y_base+j*32+4),
animation_speed = 1,
}))
else
table.insert(layers, auto_hr({
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-ne.png",
priority = "high",
width = 32,
height = 32,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+0, y_base+j*32+0),
animation_speed = 1,
}))
table.insert(layers, auto_hr({
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-ne-shadow.png",
priority = "high",
width = 32,
height = 40,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+8, y_base+j*32+4),
animation_speed = 1,
}))
end
elseif j < height then
if i == 1 then
table.insert(layers, auto_hr({
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-w.png",
priority = "high",
width = 32,
height = 32,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+0, y_base+j*32+0),
animation_speed = 1,
}))
table.insert(layers, auto_hr({
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-w-shadow.png",
priority = "high",
width = 40,
height = 32,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+4, y_base+j*32+8),
animation_speed = 1,
}))
elseif i < width then
table.insert(layers, auto_hr({
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-m.png",
priority = "high",
width = 32,
height = 32,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+0, y_base+j*32+0),
animation_speed = 1,
}))
table.insert(layers, auto_hr({
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-m-shadow.png",
priority = "high",
width = 32,
height = 32,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+8, y_base+j*32+8),
animation_speed = 1,
}))
else
table.insert(layers, auto_hr({
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-e.png",
priority = "high",
width = 32,
height = 32,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+0, y_base+j*32+0),
animation_speed = 1,
}))
table.insert(layers, auto_hr({
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-e-shadow.png",
priority = "high",
width = 32,
height = 32,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+8, y_base+j*32+8),
animation_speed = 1,
}))
end
else
if i == 1 then
table.insert(layers, auto_hr({
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-sw.png",
priority = "high",
width = 32,
height = 32,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+0, y_base+j*32+0),
animation_speed = 1,
}))
table.insert(layers, auto_hr({
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-sw-shadow.png",
priority = "high",
width = 40,
height = 24,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+4, y_base+j*32+4),
animation_speed = 1,
}))
elseif i < width then
table.insert(layers, auto_hr({
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-s.png",
priority = "high",
width = 32,
height = 32,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+0, y_base+j*32+0),
animation_speed = 1,
}))
table.insert(layers, auto_hr({
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-s-shadow.png",
priority = "high",
width = 32,
height = 24,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+8, y_base+j*32+4),
animation_speed = 1,
}))
else
table.insert(layers, auto_hr({
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-se.png",
priority = "high",
width = 32,
height = 32,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+0, y_base+j*32+0),
animation_speed = 1,
}))
table.insert(layers, auto_hr({
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/scaffold/sr/scaffold-se-shadow.png",
priority = "high",
width = 32,
height = 24,
frame_count = 1,
line_length = 1,
shift = util.by_pixel(x_base+i*32+8, y_base+j*32+4),
animation_speed = 1,
}))
end
end
end
end
return { layers = layers }
end
data:extend({
--[[{
type = "assembling-machine",
name = data_util.mod_prefix .. "gate-addon-scaffold",
icon = "__space-exploration-graphics__/graphics/icons/scaffold.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
max_health = 700,
corpse = "big-remnants",
order = "a[ancient]-g[gate]-z[scaffold]",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-4/2+1/32, -4/2+1/32}, {4/2-1/32, 4/2-1/32}},
selection_box = {{-4/2+1/32, -4/2+1/32}, {4/2-1/32, 4/2-1/32}},
drawing_box = {{-4/2+1/32, -4/2+1/32}, {4/2-1/32, 4/2-1/32}},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/assembling-machine-t1-1.ogg",
volume = 0.8
},
{
filename = "__base__/sound/assembling-machine-t1-2.ogg",
volume = 0.8
}
}
},
collision_mask = {"not-colliding-with-itself"},
animation = make_scaffold_pictures(4,4),
crafting_categories = {"fixed-recipe"},
fixed_recipe = data_util.mod_prefix .. "gate-addon",
crafting_speed = 1,
energy_source = {type = "void"},
energy_usage = "1000kW",
ingredient_count = 12,
module_specification = { module_slots = 0 },
allowed_effects = {},
},]]--
{
type = "assembling-machine",
name = data_util.mod_prefix .. "gate-platform-scaffold",
icon = "__space-exploration-graphics__/graphics/icons/scaffold.png",
icon_size = 64,
flags = {"placeable-neutral"},
max_health = 1000,
corpse = "big-remnants",
order = "a[ancient]-g[gate]-z[scaffold]",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-9/2+1/32, -3/2+1/32}, {9/2-1/32, 3/2-1/32}},
selection_box = {{-9/2+1/32, -3/2+1/32}, {9/2-1/32, 3/2-1/32}},
drawing_box = {{-9/2+1/32, -3/2+1/32}, {9/2-1/32, 3/2-1/32}},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound = {
apparent_volume = 1.5,
idle_sound = {
filename = "__base__/sound/idle1.ogg",
volume = 0.6
},
sound = {
{
filename = "__base__/sound/assembling-machine-t1-1.ogg",
volume = 0.8
},
{
filename = "__base__/sound/assembling-machine-t1-2.ogg",
volume = 0.8
}
}
},
collision_mask = {"not-colliding-with-itself"},
animation = make_scaffold_pictures(9,3),
crafting_categories = {"fixed-recipe"},
fixed_recipe = data_util.mod_prefix .. "gate-platform",
crafting_speed = 1,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "1000kW",
ingredient_count = 12,
module_specification = { module_slots = 0 },
allowed_effects = {},
}
})

242
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/space-biochemical.lua

@ -0,0 +1,242 @@
local data_util = require("data_util")
local pipe_pics = table.deepcopy(data.raw["assembling-machine"]["assembling-machine-3"].fluid_boxes[1].pipe_picture)
data_util.replace_filenames_recursive(pipe_pics,
"__base__",
"__space-exploration-graphics__")
data_util.replace_filenames_recursive(pipe_pics,
"assembling-machine-3",
"assembling-machine")
data:extend({
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-biochemical-laboratory",
icon = "__space-exploration-graphics__/graphics/icons/biochemical-laboratory.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "space-biochemical-laboratory"},
max_health = 700,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-4.2, -4.2}, {4.2, 4.2}},
selection_box = {{-4.5, -4.5}, {4.5, 4.5}},
drawing_box = {{-4.5, -4.7}, {4.5, 4.5}},
resistances =
{
{
type = "electric",
percent = 70
}
},
fluid_boxes =
{
{
production_type = "input",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-5, 2} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-2, -5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-5, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-5, -2} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {2, -5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {-2, 5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {5, 2} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {5, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {2, 5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {5, -2} }},
secondary_draw_orders = { north = -1 }
},
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound =
{
sound = {
{
filename = "__base__/sound/pumpjack.ogg",
volume = 0.8
},
{
filename = "__base__/sound/assembling-machine-t3-1.ogg",
volume = 0.8
},
},
idle_sound = { filename = "__base__/sound/pipe.ogg", volume = 0.6 },
apparent_volume = 1.5,
},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-2__/graphics/entity/biochemical-laboratory/sr/biochemical-laboratory.png",
priority = "high",
width = 4608/8/2,
height = 5120/8/2,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(0, -16),
animation_speed = 0.5,
hr_version = {
filename = "__space-exploration-graphics-2__/graphics/entity/biochemical-laboratory/hr/biochemical-laboratory.png",
priority = "high",
width = 4608/8,
height = 5120/8,
frame_count = 64,
line_length = 8,
shift = util.by_pixel(0, -16),
animation_speed = 0.5,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/biochemical-laboratory/sr/shadow.png",
priority = "high",
width = 648/2,
height = 560/2,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(35, 20),
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-2__/graphics/entity/biochemical-laboratory/hr/shadow.png",
priority = "high",
width = 648,
height = 560,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(35, 20),
scale = 0.5,
}
},
},
},
crafting_categories = {"space-biochemical", "chemistry", "oil-processing"},
crafting_speed = 4,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "3000kW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.2, size = 16, shift = {0.0, 0.0}, color = {r = 0.6, g = 1, b = 0.5}}
},
},
},
})

98
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/space-capsule.lua

@ -0,0 +1,98 @@
local scale = 0.4
local data_util = require("data_util")
local function shadow_pictures()
local frame_count = 24
local width = 359
local height = 120
local line_length = 3
local pictures = {}
for i = 1, frame_count do
pictures[i] = {
draw_as_shadow = true,
filename = "__space-exploration-graphics__/graphics/entity/space-capsule/space-capsule-shadow.png",
width = width,
height = height,
x = width * ((i -1) % line_length),
y = height * math.floor((i -1) / line_length),
shift = {21/32, 12/32},
scale = scale
}
end
return pictures
end
data:extend({
{
type = "car",
name = data_util.mod_prefix .. "space-capsule-_-vehicle",
collision_box = {{-0.7, -0.7}, {0.7, 0.7}}, -- 2 wide is most a vehicle can be and be able to get in
selection_box = {{-1, -1}, {1, 1}},
display_box = {{-1.5, -4}, {1.5, 1.5}},
collision_mask = {
--"water-tile",
"object-layer",
--"floor-layer",
"player-layer"},
minable = { mining_time = 0.25, result = data_util.mod_prefix .. "space-capsule"},
has_belt_immunity = true,
selection_priority = 200,
selectable_in_game = true,
animation = {
layers = {
{
animation_speed = 1,
direction_count = 24,
line_length = 8,
filename = "__space-exploration-graphics__/graphics/entity/space-capsule/space-capsule.png",
frame_count = 1,
height = 362,
width = 188,
shift = {1/32, -8/32},
scale = scale
},
}
},
braking_power = "200kW",
burner = {
effectivity = 1,
fuel_category = "chemical",
fuel_inventory_size = 0,
render_no_power_icon = false
},
consumption = "1W",
effectivity = 0.0,
energy_per_hit_point = 1,
flags = { "placeable-neutral", "player-creation", "placeable-off-grid"},
friction = 0.9,
icon = "__space-exploration-graphics__/graphics/icons/space-capsule.png",
icon_size = 64,
inventory_size = 40,
max_health = 1000,
open_sound = {
filename = "__base__/sound/car-door-open.ogg",
volume = 0.7
},
close_sound = {
filename = "__base__/sound/car-door-close.ogg",
volume = 0.7
},
render_layer = "wires-above",
rotation_speed = 0.00,
order = "zz",
weight = 10000,
},
{
type = "simple-entity-with-force",
name = data_util.mod_prefix .. "space-capsule-_-vehicle-shadow",
collision_box = {{-0, -0}, {0, 0}},
selection_box = {{-0, -0}, {0, 0}},
collision_mask = {"not-colliding-with-itself"},
selectable_in_game = false,
pictures = shadow_pictures(),
flags = { "placeable-neutral", "placeable-off-grid"},
icon = "__space-exploration-graphics__/graphics/icons/space-capsule.png",
icon_size = 64,
render_layer = "object",
order = "zz",
},
})

276
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/space-electromagnetics.lua

@ -0,0 +1,276 @@
local data_util = require("data_util")
data:extend({
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-electromagnetics-laboratory",
icon = "__space-exploration-graphics__/graphics/icons/electromagnetics-laboratory.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "space-electromagnetics-laboratory"},
max_health = 700,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
collision_box = {{-3.2, -3.2}, {3.2, 3.2}},
selection_box = {{-3.5, -3.5}, {3.5, 3.5}},
drawing_box = {{-3.5, -5.5}, {3.5, 3.5}},
resistances =
{
{
type = "electric",
percent = 70
}
},
fluid_boxes =
{
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -4} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-4, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 4} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {4, 0} }},
secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound =
{
sound = {
{
filename = "__base__/sound/lab.ogg",
volume = 0.8
},
},
apparent_volume = 1.5,
},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
spaceship_collision_layer,
},
idle_animation =
{
layers =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/sr/base.png",
priority = "high",
width = 448/2,
height = 576/2,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(0, -16),
animation_speed = 1,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/hr/base.png",
priority = "high",
width = 448,
height = 576,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(0, -16),
animation_speed = 1,
scale = 0.5,
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/sr/shadow.png",
priority = "high",
width = 566/2,
height = 400/2,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(35, 20),
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/hr/shadow.png",
priority = "high",
width = 566,
height = 400,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(35, 20),
scale = 0.5,
}
},
},
},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/sr/base.png",
priority = "high",
width = 448/2,
height = 576/2,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(0, -16),
animation_speed = 1,
hr_version = {
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/hr/base.png",
priority = "high",
width = 448,
height = 576,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(0, -16),
animation_speed = 1,
scale = 0.5,
}
},
{
priority = "high",
width = 1392/4/2,
height = 1880/5/2,
frame_count = 64,
shift = util.by_pixel(1, -17),
animation_speed = 0.25,
stripes =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/sr/animation-1.png",
width_in_frames = 4,
height_in_frames = 5,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/sr/animation-2.png",
width_in_frames = 4,
height_in_frames = 5,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/sr/animation-3.png",
width_in_frames = 4,
height_in_frames = 5,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/sr/animation-4.png",
width_in_frames = 4,
height_in_frames = 1,
},
},
hr_version = {
priority = "high",
width = 1392/4,
height = 1880/5,
frame_count = 64,
shift = util.by_pixel(1, -17),
animation_speed = 0.25,
scale = 0.5,
stripes =
{
{
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/hr/animation-1.png",
width_in_frames = 4,
height_in_frames = 5,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/hr/animation-2.png",
width_in_frames = 4,
height_in_frames = 5,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/hr/animation-3.png",
width_in_frames = 4,
height_in_frames = 5,
},
{
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/hr/animation-4.png",
width_in_frames = 4,
height_in_frames = 1,
},
},
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/sr/shadow.png",
priority = "high",
width = 566/2,
height = 400/2,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(35, 20),
hr_version = {
draw_as_shadow = true,
filename = "__space-exploration-graphics-3__/graphics/entity/electromagnetics-laboratory/hr/shadow.png",
priority = "high",
width = 566,
height = 400,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(35, 20),
scale = 0.5,
}
},
},
},
crafting_categories = {"space-electromagnetics"},
crafting_speed = 1,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 4,
},
energy_usage = "5MW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.6, size = 16, shift = {0.0, 0.0}, color = {r = 0.3, g = 0.5, b = 1}}
},
},
},
})

148
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/space-hypercooler.lua

@ -0,0 +1,148 @@
local data_util = require("data_util")
data:extend({
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-hypercooler",
icon = "__space-exploration-graphics__/graphics/icons/hypercooler.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "space-hypercooler"},
max_health = 500,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, 0),
resistances =
{
{
type = "fire",
percent = 70
}
},
fluid_boxes =
{
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -3} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-3, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 3} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
--pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {3, 0} }},
secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound =
{
sound = {
{
filename = "__base__/sound/pumpjack.ogg",
volume = 0.8
},
},
idle_sound = { filename = "__base__/sound/pipe.ogg", volume = 0.6 },
apparent_volume = 1.5,
},
collision_box = {{-2.2, -2.2}, {2.2, 2.2}},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
--spaceship_collision_layer,
},
selection_box = {{-2.5, -2.5}, {2.5, 2.5}},
drawing_box = {{-2.5, -2.7}, {2.5, 2.5}},
animation =
{
layers =
{
{
priority = "high",
width = 320,
height = 352,
frame_count = 64,
shift = util.by_pixel(-0, -8),
animation_speed = 1,
scale = 0.5,
stripes =
{
{
filename = "__space-exploration-graphics-4__/graphics/entity/hypercooler/hr/hypercooler-1.png",
width_in_frames = 6,
height_in_frames = 5,
},
{
filename = "__space-exploration-graphics-4__/graphics/entity/hypercooler/hr/hypercooler-2.png",
width_in_frames = 6,
height_in_frames = 5,
},
{
filename = "__space-exploration-graphics-4__/graphics/entity/hypercooler/hr/hypercooler-3.png",
width_in_frames = 4,
height_in_frames = 1,
},
}
},
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-4__/graphics/entity/hypercooler/hr/shadow.png",
priority = "high",
width = 424,
height = 280,
frame_count = 1,
line_length = 1,
repeat_count = 64,
shift = util.by_pixel(25, 11),
scale = 0.5,
},
},
},
crafting_categories = {"space-hypercooling"},
crafting_speed = 2,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 2,
},
energy_usage = "200kW",
ingredient_count = 12,
module_specification =
{
module_slots = 4
},
allowed_effects = {"consumption", "speed", "pollution"} -- not "productivity",
},
})

326
space-exploration_0.5.80/space-exploration/prototypes/phase-1/entity/space-manufactory.lua

@ -0,0 +1,326 @@
local data_util = require("data_util")
local space_assembler = table.deepcopy(data.raw["assembling-machine"]["assembling-machine-3"])
space_assembler.name = data_util.mod_prefix .. "space-assembling-machine"
space_assembler.icon = "__space-exploration-graphics__/graphics/icons/assembling-machine.png"
space_assembler.icon_size = 64
space_assembler.icon_mipmaps = 1
data_util.replace_filenames_recursive(space_assembler.animation,
"__base__",
"__space-exploration-graphics__")
data_util.replace_filenames_recursive(space_assembler.animation,
"assembling-machine-3",
"assembling-machine")
local pipe_pics = nil
for _, fluid_box in pairs(space_assembler.fluid_boxes) do
if type(fluid_box) == "table" then
data_util.replace_filenames_recursive(fluid_box.pipe_picture,
"__base__",
"__space-exploration-graphics__")
data_util.replace_filenames_recursive(fluid_box.pipe_picture,
"assembling-machine-3",
"assembling-machine")
pipe_pics = table.deepcopy(fluid_box.pipe_picture)
end
end
space_assembler.minable.result = data_util.mod_prefix .. "space-assembling-machine"
space_assembler.allowed_effects = {"consumption", "speed", "pollution"} -- not "productivity"
space_assembler.fast_replaceable_group = nil
space_assembler.next_upgrade = nil
space_assembler.collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
}
table.insert(space_assembler.crafting_categories, "space-crafting")
data:extend({
space_assembler,
{
type = "assembling-machine",
name = data_util.mod_prefix .. "space-manufactory",
icon = "__space-exploration-graphics__/graphics/icons/manufactory.png",
icon_size = 64,
flags = {"placeable-neutral","placeable-player", "player-creation"},
minable = {mining_time = 0.2, result = data_util.mod_prefix .. "space-manufactory"},
max_health = 900,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
alert_icon_shift = util.by_pixel(0, -12),
resistances =
{
{
type = "fire",
percent = 70
}
},
fluid_boxes =
{
{
production_type = "input",
pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-5, 2} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-2, -5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-5, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {0, -5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {-5, -2} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "input",
pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = -1,
pipe_connections = {{ type="input", position = {2, -5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {-2, 5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {5, 2} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {0, 5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {5, 0} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {2, 5} }},
secondary_draw_orders = { north = -1 }
},
{
production_type = "output",
pipe_picture = pipe_pics,
pipe_covers = pipecoverspictures(),
base_area = 10,
base_level = 1,
pipe_connections = {{ type="output", position = {5, -2} }},
secondary_draw_orders = { north = -1 }
},
--off_when_no_fluid_recipe = true
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
working_sound =
{
sound = {
{
filename = "__base__/sound/assembling-machine-t3-1.ogg",
volume = 0.8
},
{
filename = "__base__/sound/assembling-machine-t3-2.ogg",
volume = 0.8
},
},
idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 },
apparent_volume = 1.5,
},
collision_box = {{-4.2, -4.2}, {4.2, 4.2}},
collision_mask = {
"water-tile",
"ground-tile",
"item-layer",
"object-layer",
"player-layer",
},
selection_box = {{-4.5, -4.5}, {4.5, 4.5}},
drawing_box = {{-4.5, -4.7}, {4.5, 4.5}},
animation =
{
layers =
{
{
filename = "__space-exploration-graphics-5__/graphics/entity/space-manufactory/hr/base.png",
priority = "high",
width = 577,
height = 605,
frame_count = 1,
line_length = 1,
repeat_count = 128,
shift = util.by_pixel(0, -8),
animation_speed = 0.5,
scale = 0.5,
},
{
priority = "high",
width = 512,
height = 422,
frame_count = 128,
shift = util.by_pixel(-0, -51),
animation_speed = 0.25,
scale = 0.5,
stripes =
{
{
filename = "__space-exploration-graphics-5__/graphics/entity/space-manufactory/hr/top-1.png",
width_in_frames = 4,
height_in_frames = 4,
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/space-manufactory/hr/top-2.png",
width_in_frames = 4,
height_in_frames = 4,
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/space-manufactory/hr/top-3.png",
width_in_frames = 4,
height_in_frames = 4,
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/space-manufactory/hr/top-4.png",
width_in_frames = 4,
height_in_frames = 4,
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/space-manufactory/hr/top-5.png",
width_in_frames = 4,
height_in_frames = 4,
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/space-manufactory/hr/top-6.png",
width_in_frames = 4,
height_in_frames = 4,
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/space-manufactory/hr/top-7.png",
width_in_frames = 4,
height_in_frames = 4,
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/space-manufactory/hr/top-8.png",
width_in_frames = 4,
height_in_frames = 4,
},
}
},
{
filename = "__space-exploration-graphics-5__/graphics/entity/space-manufactory/hr/middle.png",
priority = "high",
width = 40,
height = 82,
frame_count = 128,
line_length = 16,
shift = util.by_pixel(51, 79),
animation_speed = 0.25,
scale = 0.5,
},
--[[{
filename = "__space-exploration-graphics-5__/graphics/entity/space-manufactory/hr/lower.png",
priority = "high",
width = 80,
height = 22,
frame_count = 128,
line_length = 8,
shift = util.by_pixel(62, 137),
scale = 0.5,
},]]--
{
draw_as_shadow = true,
filename = "__space-exploration-graphics-5__/graphics/entity/space-manufactory/hr/shadow.png",
priority = "high",
width = 795,
height = 430,
frame_count = 1,
line_length = 1,
repeat_count = 128,
shift = util.by_pixel(67, 38),
scale = 0.5,
},
},
},
crafting_categories = {"crafting", "advanced-crafting", "crafting-with-fluid", "space-crafting", "space-manufacturing"},
crafting_speed = 10,
energy_source =
{
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = 50,
},
energy_usage = "2000kW",
ingredient_count = 12,
module_specification =
{
module_slots = 6
},
allowed_effects = {"consumption", "speed", "pollution"}, -- not "productivity",
working_visualisations =
{
{
effect = "uranium-glow", -- changes alpha based on energy source light intensity
light = {intensity = 0.8, size = 20, shift = {0.0, 0.0}, color = {r = 0.7, g = 0.8, b = 1}}
},
},
},
})

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

Loading…
Cancel
Save