local futil = require("util") local util = require("data-util"); local item_sounds = require("__base__.prototypes.item_sounds") local sounds = require("__base__.prototypes.entity.sounds") local hit_effects = require("__base__.prototypes.entity.hit-effects") if mods["space-age"] then if not data.raw.item["basic-foundry"] then local graphics_set = require("__space-age__.prototypes.entity.foundry-pictures").graphics_set graphics_set.animation.layers[1].tint = {.6, .8, .8} data:extend({ { type = "assembling-machine", name = "basic-foundry", icons = {{ icon = "__space-age__/graphics/icons/foundry.png", tint = {.6, .8, .8}, }}, flags = {"placeable-neutral","player-creation"}, minable = {mining_time = 0.2, result = "basic-foundry"}, fast_replaceable_group = "foundry", max_health = 350, corpse = "foundry-remnants", dying_explosion = "foundry-explosion", -- circuit_wire_max_distance = assembling_machine_circuit_wire_max_distance, -- circuit_connector = circuit_connector_definitions["foundry"], collision_box = {{-2.2, -2.2}, {2.2, 2.2}}, selection_box = {{-2.5, -2.5}, {2.5, 2.5}}, heating_energy = "300kW", damaged_trigger_effect = hit_effects.entity(), drawing_box_vertical_extension = 1.3, -- effect_receiver = { base_effect = { productivity = 0.5 }}, -- module_slots = 4, icon_draw_specification = {scale = 2, shift = {0, -0.3}}, icons_positioning = { {inventory_index = defines.inventory.assembling_machine_modules, shift = {0, 1.25}} }, allowed_effects = {"consumption", "speed", "productivity", "pollution", "quality"}, crafting_categories = {"basic-metallurgy"}, crafting_speed = 4, energy_source = { type = "burner", fuel_inventory_size = 3, usage_priority = "secondary-input", smoke = { { name = "smoke", frequency = 80, position = {1.5, -2.3}, starting_vertical_speed = 0.1, starting_frame_deviation = 60, } } }, energy_usage = "5000kW", perceived_performance = { minimum = 0.25, performance_to_activity_rate = 2.0, maximum = 20 }, graphics_set = graphics_set, open_sound = sounds.metal_large_open, close_sound = sounds.metal_large_close, working_sound = { sound = { filename = "__space-age__/sound/entity/foundry/foundry.ogg", volume = 0.5 }, --idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.3 }, fade_in_ticks = 4, fade_out_ticks = 20, sound_accents = { { sound = { filename = "__space-age__/sound/entity/foundry/foundry-pipe-out.ogg", volume = 0.9 }, frame = 2, audible_distance_modifier = 0.4 }, { sound = { filename = "__space-age__/sound/entity/foundry/foundry-slide-close.ogg", volume = 0.65 }, frame = 18, audible_distance_modifier = 0.3 }, { sound = { filename = "__space-age__/sound/entity/foundry/foundry-clamp.ogg", volume = 0.45 }, frame = 39, audible_distance_modifier = 0.3 }, { sound = { filename = "__space-age__/sound/entity/foundry/foundry-slide-stop.ogg", volume = 0.7 }, frame = 43, audible_distance_modifier = 0.4 }, { sound = { variations = sound_variations("__space-age__/sound/entity/foundry/foundry-fire-whoosh", 3, 0.8 )}, frame = 64, audible_distance_modifier = 0.3 }, { sound = { filename = "__space-age__/sound/entity/foundry/foundry-metal-clunk.ogg", volume = 0.65 }, frame = 64, audible_distance_modifier = 0.4 }, { sound = { filename = "__space-age__/sound/entity/foundry/foundry-slide-open.ogg", volume = 0.65 }, frame = 74, audible_distance_modifier = 0.3 }, { sound = { filename = "__space-age__/sound/entity/foundry/foundry-pipe-in.ogg", volume = 0.75 }, frame = 106, audible_distance_modifier = 0.4 }, { sound = { filename = "__space-age__/sound/entity/foundry/foundry-smoke-puff.ogg", volume = 0.8 }, frame = 106, audible_distance_modifier = 0.3 }, { sound = { variations = sound_variations("__space-age__/sound/entity/foundry/foundry-pour", 2, 0.7 )}, frame = 110 }, { sound = { filename = "__space-age__/sound/entity/foundry/foundry-rocks.ogg", volume = 0.65 }, frame = 120, audible_distance_modifier = 0.3 }, { sound = { filename = "__space-age__/sound/entity/foundry/foundry-blade.ogg", volume = 0.7 }, frame = 126 }, }, audible_distance_modifier = 0.6, max_sounds_per_type = 2 }, fluid_boxes_off_when_no_fluid_recipe = true, water_reflection = { pictures = futil.sprite_load("__space-age__/graphics/entity/foundry/foundry-reflection", { scale = 5, shift = {0,2} }), rotate = false } }, { type = "item", name = "basic-foundry", icons = {{ icon = "__space-age__/graphics/icons/foundry.png", tint = {.6, .8, .8}, }}, subgroup = "smelting-machine", order = "d[foundry-basic]", inventory_move_sound = item_sounds.steam_inventory_move, pick_sound = item_sounds.steam_inventory_pickup, drop_sound = item_sounds.steam_inventory_move, place_result = "basic-foundry", stack_size = 20, weight = 500 * kg }, { type = "recipe", name = "basic-foundry", category = "crafting", enabled = false, ingredients = { {type = "item", name = "zirconia", amount = 50}, {type = "item", name = "steel-plate", amount = 50}, {type = "item", name = "electronic-circuit", amount = 30}, {type = "item", name = "concrete", amount = 20}, }, energy_required = 10, results = {{type="item", name="basic-foundry", amount=1}} }, { type = "recipe", name = "steel-basic", -- another steel option localised_name = {"item-name.steel-plate"}, category = "basic-metallurgy", order = "a[smelting]-c[steel-plate]-z", enabled = false, energy_required = 3.2, ingredients = {util.item("iron-plate", 3), util.item("coal", 1)}, results = {util.item("steel-plate", 1)}, }, }) end util.add_new_crafting_category("basic-metallurgy") util.add_crafting_category("assembling-machine", "foundry", "basic-metallurgy") util.add_unlock("advanced-material-processing-2", "steel-basic") util.add_unlock("advanced-material-processing-2", "basic-foundry") util.add_prerequisite("nuclear-power", "advanced-material-processing-2") end