Update to 2.0
This commit is contained in:
parent
c090985a08
commit
fbd8f08c5c
78 changed files with 650 additions and 540 deletions
|
|
@ -1,29 +1,26 @@
|
|||
require("util")
|
||||
local futil = require("data-util")
|
||||
require ("sound-util")
|
||||
require ("circuit-connector-sprites")
|
||||
local hit_effects = require("__base__.prototypes.entity.hit-effects")
|
||||
local sounds = require("__base__.prototypes.entity.sounds")
|
||||
local explosion_animations = require("__base__/prototypes/entity/explosion-animations")
|
||||
local particle_animations = require("__base__/prototypes/particle-animations")
|
||||
|
||||
data:extend({
|
||||
{
|
||||
type = "assembling-machine",
|
||||
name = "electric-foundry",
|
||||
fast_replaceable_group = "foundry",
|
||||
icon = "__bzfoundry__/graphics/icons/foundry.png",
|
||||
icon = "__bzfoundry__/graphics/icons/electric-foundry.png",
|
||||
icon_size = 64,
|
||||
flags = {"placeable-neutral", "placeable-player", "player-creation"},
|
||||
flags = {"placeable-neutral","player-creation"},
|
||||
minable = {mining_time = 0.2, result = "electric-foundry"},
|
||||
max_health = 300,
|
||||
corpse = "medium-small-remnants",
|
||||
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
|
||||
working_sound =
|
||||
{
|
||||
sound = { filename = "__base__/sound/electric-furnace.ogg" }
|
||||
},
|
||||
resistances =
|
||||
{
|
||||
{
|
||||
type = "fire",
|
||||
percent = 100
|
||||
}
|
||||
},
|
||||
fast_replaceable_group = "foundry",
|
||||
corpse = "electric-foundry-remnants",
|
||||
dying_explosion = "foundry-explosion",
|
||||
circuit_wire_max_distance = assembling_machine_circuit_wire_max_distance,
|
||||
circuit_connector = circuit_connector_definitions["foundry"],
|
||||
collision_box = {{-1.7, -1.7}, {1.7, 1.7}},
|
||||
selection_box = {{-2, -2}, {2, 2}},
|
||||
crafting_categories = {"founding", futil.me.smelt() and "smelting" or nil},
|
||||
|
|
@ -33,130 +30,308 @@ data:extend({
|
|||
energy_source =
|
||||
{
|
||||
type = "electric",
|
||||
fuel_category = "chemical",
|
||||
effectivity = 1,
|
||||
emissions_per_minute = 2,
|
||||
emissions_per_minute = { pollution = 2 },
|
||||
usage_priority = "secondary-input",
|
||||
},
|
||||
module_specification =
|
||||
{
|
||||
module_slots = 3,
|
||||
module_info_icon_shift = {0, 0.8}
|
||||
},
|
||||
allowed_effects = {"consumption", "speed", "productivity", "pollution"},
|
||||
damaged_trigger_effect = hit_effects.entity(),
|
||||
drawing_box_vertical_extension = 1.3,
|
||||
module_slots = 3,
|
||||
icon_draw_specification = {scale = 2, shift = {0, -0.3}},
|
||||
icons_positioning =
|
||||
{
|
||||
{inventory_index = defines.inventory.assembling_machine_modules, shift = {0, 1.25}}
|
||||
},
|
||||
perceived_performance = {minimum = 0.25, maximum = 20},
|
||||
graphics_set = require("foundry-pictures").graphics_set,
|
||||
open_sound = sounds.steam_open,
|
||||
close_sound = sounds.steam_close,
|
||||
working_sound =
|
||||
{
|
||||
sound =
|
||||
{
|
||||
filename = "__bzfoundry__/sound/entity/foundry/foundry.ogg",
|
||||
volume = 0.5,
|
||||
audible_distance_modifier = 0.6
|
||||
},
|
||||
fade_in_ticks = 4,
|
||||
fade_out_ticks = 20,
|
||||
sound_accents =
|
||||
{
|
||||
{sound = {filename = "__bzfoundry__/sound/entity/foundry/foundry-pipe-out.ogg", volume = 0.9, audible_distance_modifier = 0.4}, frame = 2},
|
||||
{sound = {filename = "__bzfoundry__/sound/entity/foundry/foundry-slide-close.ogg", volume = 0.65, audible_distance_modifier = 0.3}, frame = 18},
|
||||
{sound = {filename = "__bzfoundry__/sound/entity/foundry/foundry-clamp.ogg", volume = 0.45, audible_distance_modifier = 0.3}, frame = 39},
|
||||
{sound = {filename = "__bzfoundry__/sound/entity/foundry/foundry-slide-stop.ogg", volume = 0.7, audible_distance_modifier = 0.4}, frame = 43},
|
||||
{sound = {variations = sound_variations("__bzfoundry__/sound/entity/foundry/foundry-fire-whoosh", 3, 0.8), audible_distance_modifier = 0.3}, frame = 64},
|
||||
{sound = {filename = "__bzfoundry__/sound/entity/foundry/foundry-metal-clunk.ogg", volume = 0.65, audible_distance_modifier = 0.4}, frame = 64},
|
||||
{sound = {filename = "__bzfoundry__/sound/entity/foundry/foundry-slide-open.ogg", volume = 0.65, audible_distance_modifier = 0.3}, frame = 74},
|
||||
{sound = {filename = "__bzfoundry__/sound/entity/foundry/foundry-pipe-in.ogg", volume = 0.75, audible_distance_modifier = 0.4}, frame = 106},
|
||||
{sound = {filename = "__bzfoundry__/sound/entity/foundry/foundry-smoke-puff.ogg", volume = 0.8, audible_distance_modifier = 0.3}, frame = 106},
|
||||
{sound = {variations = sound_variations("__bzfoundry__/sound/entity/foundry/foundry-pour", 2, 0.7)}, frame = 110},
|
||||
{sound = {filename = "__bzfoundry__/sound/entity/foundry/foundry-rocks.ogg", volume = 0.65, audible_distance_modifier = 0.3}, frame = 120},
|
||||
{sound = {filename = "__bzfoundry__/sound/entity/foundry/foundry-blade.ogg", volume = 0.7}, frame = 126},
|
||||
},
|
||||
max_sounds_per_prototype = 2
|
||||
},
|
||||
water_reflection =
|
||||
{
|
||||
pictures = util.sprite_load("__bzfoundry__/graphics/entity/electric-foundry/foundry-reflection",
|
||||
{
|
||||
scale = 4,
|
||||
shift = {0,2}
|
||||
}),
|
||||
rotate = false
|
||||
}
|
||||
},
|
||||
{
|
||||
type = "corpse",
|
||||
name = "electric-foundry-remnants",
|
||||
icon = "__bzfoundry__/graphics/icons/electric-foundry.png",
|
||||
flags = {"placeable-neutral", "not-on-map"},
|
||||
hidden_in_factoriopedia = true,
|
||||
subgroup = "smelting-machine-remnants",
|
||||
order = "d[foundry]",
|
||||
selection_box = {{-2.5, -2.5}, {2.5, 2.5}},
|
||||
tile_width = 5,
|
||||
tile_height = 5,
|
||||
selectable_in_game = false,
|
||||
time_before_removed = 60 * 60 * 15, -- 15 minutes
|
||||
expires = false,
|
||||
final_render_layer = "remnants",
|
||||
remove_on_tile_placement = false,
|
||||
animation =
|
||||
{
|
||||
layers =
|
||||
filename = "__bzfoundry__/graphics/entity/electric-foundry/foundry-remnants.png",
|
||||
line_length = 1,
|
||||
width = 494,
|
||||
height = 478,
|
||||
frame_count = 1,
|
||||
direction_count = 1,
|
||||
shift = util.by_pixel( -1.5, -5.5),
|
||||
scale = 0.4
|
||||
}
|
||||
},
|
||||
{
|
||||
type = "explosion",
|
||||
name = "foundry-explosion",
|
||||
icon = "__bzfoundry__/graphics/icons/electric-foundry.png",
|
||||
flags = {"not-on-map"},
|
||||
hidden = true,
|
||||
subgroup = "smelting-machine-explosions",
|
||||
order = "d[foundry]",
|
||||
height = 0,
|
||||
animations = explosion_animations.big_explosion(),
|
||||
smoke = "smoke-fast",
|
||||
smoke_count = 2,
|
||||
smoke_slow_down_factor = 1,
|
||||
sound = sounds.large_explosion(0.7, 1.0),
|
||||
created_effect =
|
||||
{
|
||||
type = "direct",
|
||||
action_delivery =
|
||||
{
|
||||
type = "instant",
|
||||
target_effects =
|
||||
{
|
||||
-- TODO make a non-hr version
|
||||
filename = "__bzfoundry__/graphics/entity/hr-electric-foundry.png",
|
||||
priority = "high",
|
||||
width = 280,
|
||||
height = 239,
|
||||
frame_count = 1,
|
||||
shift = util.by_pixel(8, 4),
|
||||
scale = 0.5,
|
||||
hr_version =
|
||||
{
|
||||
filename = "__bzfoundry__/graphics/entity/hr-electric-foundry.png",
|
||||
priority = "high",
|
||||
width = 280,
|
||||
height = 239,
|
||||
frame_count = 1,
|
||||
shift = util.by_pixel(8, 4),
|
||||
scale = 0.5,
|
||||
}
|
||||
type = "create-particle",
|
||||
repeat_count = 10,
|
||||
probability = 1,
|
||||
particle_name = "oil-refinery-metal-particle-big",
|
||||
offsets =
|
||||
{
|
||||
{ 0.7734, -0.6484 },
|
||||
{ -0.7266, 0.5859 }
|
||||
},
|
||||
offset_deviation = { { -0.6875, -0.6875 }, { 0.6875, 0.6875 } },
|
||||
initial_height = 0.8,
|
||||
initial_height_deviation = 0.49,
|
||||
initial_vertical_speed = 0.088,
|
||||
initial_vertical_speed_deviation = 0.05,
|
||||
speed_from_center = 0.03,
|
||||
speed_from_center_deviation = 0.05
|
||||
},
|
||||
{
|
||||
type = "create-particle",
|
||||
repeat_count = 38,
|
||||
probability = 1,
|
||||
particle_name = "oil-refinery-metal-particle-medium",
|
||||
offsets = { { 0, 0 } },
|
||||
offset_deviation = { { -0.9805, -0.8867 }, { 0.9805, 0.8867 } },
|
||||
initial_height = 0.6,
|
||||
initial_height_deviation = 0.5,
|
||||
initial_vertical_speed = 0.098,
|
||||
initial_vertical_speed_deviation = 0.05,
|
||||
speed_from_center = 0.07,
|
||||
speed_from_center_deviation = 0.05
|
||||
},
|
||||
{
|
||||
type = "create-particle",
|
||||
repeat_count = 10,
|
||||
probability = 1,
|
||||
particle_name = "foundry-metal-particle-big",
|
||||
offsets =
|
||||
{
|
||||
{ -1.492, -1.453 },
|
||||
{ 1.555, -1.469 },
|
||||
{ 1.477, 1.469 },
|
||||
{ -0.6172, 0.3281 }
|
||||
},
|
||||
offset_deviation = { { -0.9961, -0.5938 }, { 0.9961, 0.5938 } },
|
||||
initial_height = 0.4,
|
||||
initial_height_deviation = 0.5,
|
||||
initial_vertical_speed = 0.075,
|
||||
initial_vertical_speed_deviation = 0.05,
|
||||
speed_from_center = 0.04,
|
||||
speed_from_center_deviation = 0.05
|
||||
},
|
||||
{
|
||||
type = "create-particle",
|
||||
repeat_count = 35,
|
||||
probability = 1,
|
||||
particle_name = "foundry-metal-particle-medium",
|
||||
offsets =
|
||||
{
|
||||
{ -0.02344, -0.8984 }
|
||||
},
|
||||
offset_deviation = { { -0.5, -0.2969 }, { 0.5, 0.2969 } },
|
||||
initial_height = 0.7,
|
||||
initial_height_deviation = 0.15,
|
||||
initial_vertical_speed = 0.166,
|
||||
initial_vertical_speed_deviation = 0.047,
|
||||
speed_from_center = 0.05,
|
||||
speed_from_center_deviation = 0.005
|
||||
},
|
||||
{
|
||||
type = "create-particle",
|
||||
repeat_count = 20,
|
||||
particle_name = "foundry-metal-particle-small",
|
||||
offset_deviation = { { -0.5, -0.5 }, { 0.5, 0.5 } },
|
||||
initial_height = 0.5,
|
||||
initial_height_deviation = 0.5,
|
||||
initial_vertical_speed = 0.06,
|
||||
initial_vertical_speed_deviation = 0.05,
|
||||
speed_from_center = 0.04,
|
||||
speed_from_center_deviation = 0.05
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
local make_particle = function(params)
|
||||
return {
|
||||
type = "optimized-particle",
|
||||
name = params.name,
|
||||
life_time = 60 * 15,
|
||||
render_layer = "object",
|
||||
render_layer_when_on_ground = "corpse",
|
||||
|
||||
regular_trigger_effect_frequency = 2,
|
||||
regular_trigger_effect = params.regular_trigger_effect,
|
||||
ended_in_water_trigger_effect = {
|
||||
{
|
||||
type = "create-particle",
|
||||
probability = 1,
|
||||
affects_target = false,
|
||||
show_in_tooltip = false,
|
||||
particle_name = "tintable-water-particle",
|
||||
apply_tile_tint = "secondary",
|
||||
offset_deviation = { { -0.05, -0.05 }, { 0.05, 0.05 } },
|
||||
initial_height = 0,
|
||||
initial_height_deviation = 0.02,
|
||||
initial_vertical_speed = 0.05,
|
||||
initial_vertical_speed_deviation = 0.05,
|
||||
speed_from_center = 0.01,
|
||||
speed_from_center_deviation = 0.006,
|
||||
frame_speed = 1,
|
||||
frame_speed_deviation = 0,
|
||||
tail_length = 2,
|
||||
tail_length_deviation = 1,
|
||||
tail_width = 3,
|
||||
only_when_visible = true
|
||||
},
|
||||
{
|
||||
type = "create-particle",
|
||||
repeat_count = 10,
|
||||
repeat_count_deviation = 6,
|
||||
probability = 0.03,
|
||||
affects_target = false,
|
||||
show_in_tooltip = false,
|
||||
particle_name = "tintable-water-particle",
|
||||
apply_tile_tint = "primary",
|
||||
offsets =
|
||||
{
|
||||
{ 0, 0 },
|
||||
{ 0.01563, -0.09375 },
|
||||
{ 0.0625, 0.09375 },
|
||||
{ -0.1094, 0.0625 }
|
||||
},
|
||||
offset_deviation = { { -0.2969, -0.1992 }, { 0.2969, 0.1992 } },
|
||||
initial_height = 0,
|
||||
initial_height_deviation = 0.02,
|
||||
initial_vertical_speed = 0.053,
|
||||
initial_vertical_speed_deviation = 0.005,
|
||||
speed_from_center = 0.02,
|
||||
speed_from_center_deviation = 0.006,
|
||||
frame_speed = 1,
|
||||
frame_speed_deviation = 0,
|
||||
tail_length = 9,
|
||||
tail_length_deviation = 0,
|
||||
tail_width = 1,
|
||||
only_when_visible = true
|
||||
},
|
||||
{
|
||||
type = "play-sound",
|
||||
sound = sounds.small_splash
|
||||
}
|
||||
},
|
||||
working_visualisations =
|
||||
{
|
||||
{
|
||||
north_position = {0.0, 0.0},
|
||||
east_position = {0.0, 0.0},
|
||||
south_position = {0.0, 0.0},
|
||||
west_position = {0.0, 0.0},
|
||||
animation =
|
||||
{
|
||||
filename = "__bzfoundry__/graphics/entity/hr-electric-foundry-animation.png",
|
||||
priority = "extra-high",
|
||||
animation_speed = 0.05,
|
||||
line_length = 4,
|
||||
width = 280,
|
||||
height = 239,
|
||||
frame_count = 4,
|
||||
axially_symmetrical = false,
|
||||
direction_count = 1,
|
||||
shift = util.by_pixel(8, 4),
|
||||
scale = 0.5,
|
||||
hr_version =
|
||||
{
|
||||
filename = "__bzfoundry__/graphics/entity/hr-electric-foundry-animation.png",
|
||||
priority = "extra-high",
|
||||
animation_speed = 0.05,
|
||||
line_length = 4,
|
||||
width = 280,
|
||||
height = 239,
|
||||
frame_count = 4,
|
||||
axially_symmetrical = false,
|
||||
direction_count = 1,
|
||||
shift = util.by_pixel(8, 4),
|
||||
scale = 0.5,
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
fadeout = true,
|
||||
draw_as_light = true,
|
||||
effect = "flicker",
|
||||
animation =
|
||||
{
|
||||
filename = "__bzfoundry__/graphics/entity/electric-foundry-glow.png",
|
||||
priority = "extra-high",
|
||||
width = 25,
|
||||
height = 29,
|
||||
frame_count = 1,
|
||||
shift = util.by_pixel(0, 36),
|
||||
}
|
||||
},
|
||||
{
|
||||
draw_as_light = true,
|
||||
draw_as_sprite = false,
|
||||
fadeout = true,
|
||||
effect = "flicker",
|
||||
animation =
|
||||
{
|
||||
filename = "__base__/graphics/entity/steel-furnace/steel-furnace-ground-light.png",
|
||||
priority = "high",
|
||||
line_length = 1,
|
||||
draw_as_sprite = false,
|
||||
width = 78,
|
||||
height = 64,
|
||||
frame_count = 1,
|
||||
direction_count = 1,
|
||||
shift = util.by_pixel(0, 72),
|
||||
blend_mode = "additive",
|
||||
hr_version =
|
||||
{
|
||||
filename = "__base__/graphics/entity/steel-furnace/hr-steel-furnace-ground-light.png",
|
||||
priority = "high",
|
||||
line_length = 1,
|
||||
draw_as_sprite = false,
|
||||
width = 152,
|
||||
height = 126,
|
||||
frame_count = 1,
|
||||
direction_count = 1,
|
||||
shift = util.by_pixel(1, 72),
|
||||
blend_mode = "additive",
|
||||
scale = 0.5,
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
pictures = params.pictures,
|
||||
shadows = params.shadows,
|
||||
}
|
||||
end
|
||||
|
||||
},
|
||||
local small_smoke_trigger_effect = function()
|
||||
return
|
||||
{
|
||||
type = "create-trivial-smoke",
|
||||
smoke_name = "smoke-explosion-particle-small",
|
||||
starting_frame_deviation = 0,
|
||||
offset_deviation = {{-0.03, -0.03}, {0.03, 0.03}},
|
||||
speed_from_center = nil
|
||||
}
|
||||
end
|
||||
|
||||
local default_smoke_trigger_effect = function()
|
||||
return
|
||||
{
|
||||
type = "create-trivial-smoke",
|
||||
smoke_name = "smoke-explosion-particle",
|
||||
starting_frame_deviation = 5,
|
||||
offset_deviation = {{-0.06, -0.06}, {0.06, 0.06}},
|
||||
speed_from_center = 0.007
|
||||
}
|
||||
end
|
||||
|
||||
data:extend({
|
||||
make_particle({
|
||||
name = "foundry-metal-particle-small",
|
||||
pictures = particle_animations.get_metal_particle_small_pictures({tint = {0.606, 0.408, 0.512, 1}}),
|
||||
shadows = particle_animations.get_metal_particle_small_pictures({ tint = shadowtint(), shift = util.by_pixel (1,0)}),
|
||||
regular_trigger_effect = nil,
|
||||
}),
|
||||
make_particle({
|
||||
name = "foundry-metal-particle-medium",
|
||||
pictures = particle_animations.get_metal_particle_medium_pictures({tint = {0.5, 0.5, 0.5, 1}}),
|
||||
shadows = particle_animations.get_metal_particle_medium_pictures({ tint = shadowtint(), shift = util.by_pixel (1,0)}),
|
||||
regular_trigger_effect = small_smoke_trigger_effect()
|
||||
}),
|
||||
make_particle({
|
||||
name = "foundry-metal-particle-big",
|
||||
pictures = particle_animations.get_metal_particle_big_pictures({tint = {0.65, 0.40, 0.35, 1}}),
|
||||
regular_trigger_effect = default_smoke_trigger_effect()
|
||||
})
|
||||
})
|
||||
|
||||
futil.add_crafting_category("assembling-machine", "electric-foundry", "basic-founding")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue