319 changed files with 137760 additions and 0 deletions
@ -0,0 +1,2 @@ |
|||||
|
--control.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"} |
@ -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" |
||||
|
} |
@ -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. |
@ -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 |
||||
|
|
||||
|
} |
||||
|
} |
@ -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) |
@ -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 |
File diff suppressed because it is too large
@ -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 |
@ -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 |
File diff suppressed because it is too large
@ -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' } ) ) |
@ -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 |
@ -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' } ) ) |
File diff suppressed because it is too large
@ -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" |
||||
|
} |
@ -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. |
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -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=שטח |
@ -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) |
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,3 @@ |
|||||
|
indent_width: 2 |
||||
|
column_limit: 120 |
||||
|
continuation_indent_width: 2 |
@ -0,0 +1,10 @@ |
|||||
|
{ |
||||
|
"item": |
||||
|
[ |
||||
|
["se-quantumn-phenomenon-data", "se-quantum-phenomenon-data"] |
||||
|
], |
||||
|
"recipe": |
||||
|
[ |
||||
|
["se-quantumn-phenomenon-data", "se-quantum-phenomenon-data"] |
||||
|
] |
||||
|
} |
@ -0,0 +1,6 @@ |
|||||
|
{ |
||||
|
"technology": |
||||
|
[ |
||||
|
["se-spaceship-supersize", "se-factory-spaceship-1"] |
||||
|
] |
||||
|
} |
@ -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"] |
||||
|
] |
||||
|
} |
@ -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"] |
||||
|
] |
||||
|
} |
@ -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 |
@ -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 |
@ -0,0 +1,6 @@ |
|||||
|
{ |
||||
|
"technology": |
||||
|
[ |
||||
|
["se-space-solar-panel-adv", "se-space-solar-panel-2"] |
||||
|
] |
||||
|
} |
@ -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"] |
||||
|
] |
||||
|
} |
@ -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"] |
||||
|
] |
||||
|
} |
@ -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"] |
||||
|
] |
||||
|
} |
@ -0,0 +1,12 @@ |
|||||
|
{ |
||||
|
"item": |
||||
|
[ |
||||
|
["railgun", "se-railgun"], |
||||
|
["railgun-dart", "se-railgun-ammo"] |
||||
|
], |
||||
|
"recipe": |
||||
|
[ |
||||
|
["railgun", "se-railgun"], |
||||
|
["railgun-dart", "se-railgun-ammo"] |
||||
|
] |
||||
|
} |
@ -0,0 +1,10 @@ |
|||||
|
{ |
||||
|
"recipe": |
||||
|
[ |
||||
|
["se-radiating-space-coolant-veryslow", "se-radiating-space-coolant-slow"] |
||||
|
], |
||||
|
"technology": |
||||
|
[ |
||||
|
["se-space-radiating-1", "se-space-radiating-efficiency"] |
||||
|
] |
||||
|
} |
@ -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 |
File diff suppressed because it is too large
@ -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 |
||||
|
} |
||||
|
}) |
@ -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") |
@ -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}, |
||||
|
}, |
||||
|
}, |
||||
|
}) |
@ -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) |
||||
|
}, |
||||
|
}, |
||||
|
}) |
@ -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}} |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
|
||||
|
}) |
File diff suppressed because it is too large
@ -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), |
||||
|
}) |
@ -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 |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
}) |
@ -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 } |
||||
|
} |
||||
|
}) |
@ -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 |
||||
|
}, |
||||
|
}) |
@ -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" |
||||
|
}, |
||||
|
}) |
File diff suppressed because it is too large
@ -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 |
||||
|
}, |
||||
|
}) |
@ -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 |
||||
|
}) |
@ -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, |
||||
|
}, |
||||
|
}) |
@ -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' } ) ) |
File diff suppressed because it is too large
@ -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-") |
@ -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" |
||||
|
} |
||||
|
}) |
@ -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), |
||||
|
}), |
||||
|
}) |
File diff suppressed because it is too large
@ -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 |
||||
|
) |
@ -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}}, |
||||
|
}, |
||||
|
|
||||
|
}) |
@ -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}} |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}) |
@ -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, |
||||
|
|
||||
|
|
||||
|
} |
||||
|
}) |
@ -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, |
||||
|
}, |
||||
|
}) |
@ -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 = {} |
||||
|
} |
||||
|
}) |
@ -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}} |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}) |
@ -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", |
||||
|
} |
||||
|
}, |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
|
||||
|
}) |
@ -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}) |
@ -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 } |
||||
|
}, |
||||
|
}, |
||||
|
|
||||
|
}) |
@ -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 |
||||
|
}, |
||||
|
}) |
@ -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} }} |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
}) |
File diff suppressed because it is too large
@ -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}} |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}) |
@ -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}} |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}) |
@ -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}} |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}) |
@ -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} |
||||
|
}) |
@ -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 |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
}) |
@ -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" |
||||
|
}, |
||||
|
|
||||
|
}) |
@ -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}} |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}) |
@ -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" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
}) |
@ -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}} |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}) |
@ -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 |
||||
|
} |
@ -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}, |
||||
|
}, |
||||
|
|
||||
|
}) |
@ -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" }, |
||||
|
}, |
||||
|
}) |
@ -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, |
||||
|
}, |
||||
|
}) |
@ -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} |
@ -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 = {}, |
||||
|
} |
||||
|
}) |
@ -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}} |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}) |
@ -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", |
||||
|
}, |
||||
|
}) |
@ -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}} |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}) |
@ -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", |
||||
|
}, |
||||
|
}) |
@ -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…
Reference in new issue