diff --git a/changelog.txt b/changelog.txt index 397a9719..67dd4ae3 100644 --- a/changelog.txt +++ b/changelog.txt @@ -4,10 +4,11 @@ Date: ? Changes: - fungal-substrate-01, fungal-substrate-02, fungal-substrate-03 are now affected by productivity modules. - The serine recipe is now effected by productivity modules. + - Increased the health of the fish farm 100 -> 500. TURD: - Rebalanced the turd reset technology scaling factor from 2^N to 1.5^N. - - Rebalanced mukmoux turds. Path 1 recipe values adjusted. - - Added a 10 hour grace period for a free mukmoux turd reset. + - Rebalanced all 3 mukmoux turds. Added a 10 hour grace period for a free mukmoux turd reset. + - Rebalanced all 3 fish turds. Added a 10 hour grace period for a free fish turd reset. --------------------------------------------------------------------------------------------------- Version: 3.0.22 Date: 2024-11-14 diff --git a/data.lua b/data.lua index 4c9b8553..39644f51 100644 --- a/data.lua +++ b/data.lua @@ -245,10 +245,7 @@ require "prototypes/buildings/atomizer-mk01" require "prototypes/buildings/atomizer-mk02" require "prototypes/buildings/atomizer-mk03" require "prototypes/buildings/atomizer-mk04" -require "prototypes/buildings/fish-farm-mk01" -require "prototypes/buildings/fish-farm-mk02" -require "prototypes/buildings/fish-farm-mk03" -require "prototypes/buildings/fish-farm-mk04" +require "prototypes/buildings/fish-farm" require "prototypes/buildings/yaedols-culture-mk01" require "prototypes/buildings/yaedols-culture-mk02" require "prototypes/buildings/yaedols-culture-mk03" diff --git a/locale/en/techs.cfg b/locale/en/techs.cfg index d92e13f0..1baf27e1 100644 --- a/locale/en/techs.cfg +++ b/locale/en/techs.cfg @@ -858,7 +858,7 @@ acidosis=Insert xeno genes into fawogae allowing them to have an advantage in co dry=Cultivate the fawogae under extreme pressure. This technique will cause a larger buildup of carbon molecules inside the mushroom's roots. More energy will be required to maintain this environment. a-select=Fishes that didn't pass in the automated test will be automatically thrown into biomass recycling and be reused as supplement food to the ones which passed. temp-control=The whole fish undergoes mincing, enzymatic digestion, grinding and liquefaction to produce liquid fish hydrolysate. The resulting substance is also known as gurry. The process is known to be more efficient at cooler temperatures due to the preservation of the complex protein, carbohydrate and fat structures in the fish material. Adding active cooling components will increase the yield of the hydrolysation process however there is a risk of mechanical wear. -dosing-pump=Install automatic dosing pumps to keep level of minerals and hormones at max efficiency all time. Will reduce waste and improve fish life quality. +dosing-pump=Install automatic dosing pumps to reduce waste and improve fish life quality. Flushed byproducts will be collected and stored for future use. [font=default-semibold][color=255,60,60]WARNING: Picking this option will edit the pipe locations of all fish farms.[/color][/font] The high-speed pumping apparatus requires additional electricity to operate. dry-storage=Allow logs to rest several days in the sun to remove excess moisture and improve fiber quality by weight. sawblades=Develop technologies for the production of specialized sawblade wheels. These sawblades take the place of regular modules inside the wood processing unit with improved speed and productivity percentages. The productivity effects all wood processing unit recipes, even those that normally are not benefited by productivity. The TURD-upgraded wood processing units have 3 module slots per tier. [font=default-semibold][color=255,60,60]WARNING: Wood processing units will require at least one sawblade module to function.[/color][/font] Picking this option will also prevent beacons from influencing wood processing units. selective-heads=Remove branches and excess bark during the cutting, as preparation for further processing. The second stage of wood processing becomes much faster. diff --git a/migrations/turd-changes-nov-15.lua b/migrations/turd-changes-nov-15.lua index 4681aa11..20eba21e 100644 --- a/migrations/turd-changes-nov-15.lua +++ b/migrations/turd-changes-nov-15.lua @@ -3,3 +3,6 @@ local turd_migrate = require "__pyalienlife__/scripts/turd/turd-migration" turd_migrate("mukmoux-upgrade", "zero-cross") turd_migrate("mukmoux-upgrade", "think-collar") turd_migrate("mukmoux-upgrade", "bip") +turd_migrate("fish-upgrade", "a-select") +turd_migrate("fish-upgrade", "temp-control") +turd_migrate("fish-upgrade", "dosing-pump") diff --git a/prototypes/buildings/fish-farm-mk01.lua b/prototypes/buildings/fish-farm-mk01.lua deleted file mode 100644 index ddde06c7..00000000 --- a/prototypes/buildings/fish-farm-mk01.lua +++ /dev/null @@ -1,192 +0,0 @@ -local MODULE_SLOTS = 7 -local FULL_CRAFTING_SPEED = 1 -- crafting speed when full of mk01 modules - -RECIPE { - type = "recipe", - name = "fish-farm-mk01", - energy_required = 1, - enabled = false, - ingredients = { - {type = "item", name = "lab", amount = 1}, - -- {type = "item", name = "carbon-filter", amount = 1}, - {type = "item", name = "glass", amount = 140}, - {type = "item", name = "duralumin", amount = 30}, - {type = "item", name = "pump", amount = 5}, - {type = "item", name = "steel-plate", amount = 50}, - -- {type = "item", name = "nexelit-plate", amount = 15}, - {type = "item", name = "electronic-circuit", amount = 50}, - {type = "item", name = "lead-plate", amount = 40}, - }, - results = { - {type = "item", name = "fish-farm-mk01", amount = 1} - } -}:add_unlock("fish-mk01") - -ITEM { - type = "item", - name = "fish-farm-mk01", - icon = "__pyalienlifegraphics__/graphics/icons/fish-farm-mk01.png", - icon_size = 64, - flags = {}, - subgroup = "py-alienlife-farm-buildings-mk01", - order = "d", - place_result = "fish-farm-mk01", - stack_size = 10 -} - -ENTITY { - type = "assembling-machine", - name = "fish-farm-mk01", - icon = "__pyalienlifegraphics__/graphics/icons/fish-farm-mk01.png", - icon_size = 64, - flags = {"placeable-neutral", "player-creation"}, - minable = {mining_time = 0.5, result = "fish-farm-mk01"}, - fast_replaceable_group = "fish-farm", - max_health = 100, - corpse = "medium-remnants", - dying_explosion = "big-explosion", - collision_box = {{-5.1, -5.1}, {5.1, 5.1}}, - selection_box = {{-5.5, -5.5}, {5.5, 5.5}}, - forced_symmetry = "diagonal-pos", - module_slots = MODULE_SLOTS, - allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, - crafting_categories = {"fish-farm"}, - crafting_speed = py.farm_speed(MODULE_SLOTS, FULL_CRAFTING_SPEED), - energy_source = { - type = "electric", - usage_priority = "secondary-input", - emissions_per_minute = { - pollution = 0.5 - }, - }, - energy_usage = "1000kW", - graphics_set = { - working_visualisations = { - { - north_position = util.by_pixel(-128, -16), - west_position = util.by_pixel(-128, -16), - south_position = util.by_pixel(-128, -16), - east_position = util.by_pixel(-128, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a1.png", - frame_count = 150, - line_length = 21, - width = 96, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - { - north_position = util.by_pixel(-32, -16), - west_position = util.by_pixel(-32, -16), - south_position = util.by_pixel(-32, -16), - east_position = util.by_pixel(-32, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a2.png", - frame_count = 150, - line_length = 21, - width = 96, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - { - north_position = util.by_pixel(64, -16), - west_position = util.by_pixel(64, -16), - south_position = util.by_pixel(64, -16), - east_position = util.by_pixel(64, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a3.png", - frame_count = 150, - line_length = 21, - width = 96, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - { - north_position = util.by_pixel(144, -16), - west_position = util.by_pixel(144, -16), - south_position = util.by_pixel(144, -16), - east_position = util.by_pixel(144, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a4.png", - frame_count = 150, - line_length = 21, - width = 64, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - }, - animation = { - layers = { - { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/off.png", - width = 384, - height = 384, - frame_count = 1, - line_length = 1, - shift = util.by_pixel(16, -16) - }, - { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/off-mask.png", - width = 384, - height = 384, - frame_count = 1, - line_length = 1, - shift = util.by_pixel(16, -16), - tint = {r = 1.0, g = 1.0, b = 0.0, a = 1.0} - }, - } - }, - }, - - fluid_boxes_off_when_no_fluid_recipe = true, - fluid_boxes = { - --1 - { - production_type = "input", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "input", position = {0.0, -5.0}, direction = defines.direction.north}}, - secondary_draw_orders = {north = -1} - }, - { - production_type = "input", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "input", position = {0.0, 5.0}, direction = defines.direction.south}}, - secondary_draw_orders = {north = -1} - }, - { - production_type = "output", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "output", position = {5.0, 0.0}, direction = defines.direction.east}}, - secondary_draw_orders = {north = -1} - }, - { - production_type = "output", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "output", position = {-5.0, 0.0}, direction = defines.direction.west}}, - secondary_draw_orders = {north = -1} - }, - }, - - impact_category = "metal-large", - working_sound = { - sound = {filename = "__pyalienlifegraphics__/sounds/fish-farm.ogg", volume = 0.65}, - idle_sound = {filename = "__pyalienlifegraphics__/sounds/fish-farm.ogg", volume = 0.3}, - apparent_volume = 2.5 - } -} diff --git a/prototypes/buildings/fish-farm-mk02.lua b/prototypes/buildings/fish-farm-mk02.lua deleted file mode 100644 index cf951716..00000000 --- a/prototypes/buildings/fish-farm-mk02.lua +++ /dev/null @@ -1,190 +0,0 @@ -local MODULE_SLOTS = 14 - -RECIPE { - type = "recipe", - name = "fish-farm-mk02", - energy_required = 1, - enabled = false, - ingredients = { - {type = "item", name = "fish-farm-mk01", amount = 1}, - {type = "item", name = "glass", amount = 100}, - {type = "item", name = "duralumin", amount = 30}, - {type = "item", name = "latex", amount = 30}, - {type = "item", name = "engine-unit", amount = 4}, - {type = "item", name = "neuroprocessor", amount = 10}, - {type = "item", name = "advanced-circuit", amount = 30}, - {type = "item", name = "nbti-alloy", amount = 30}, - }, - results = { - {type = "item", name = "fish-farm-mk02", amount = 1} - } -}:add_unlock("water-animals-mk02"):add_ingredient {type = "item", name = "small-parts-02", amount = 30} - -ITEM { - type = "item", - name = "fish-farm-mk02", - icon = "__pyalienlifegraphics__/graphics/icons/fish-farm-mk02.png", - icon_size = 64, - flags = {}, - subgroup = "py-alienlife-farm-buildings-mk02", - order = "d", - place_result = "fish-farm-mk02", - stack_size = 10 -} - -ENTITY { - type = "assembling-machine", - name = "fish-farm-mk02", - icon = "__pyalienlifegraphics__/graphics/icons/fish-farm-mk02.png", - icon_size = 64, - flags = {"placeable-neutral", "player-creation"}, - minable = {mining_time = 0.5, result = "fish-farm-mk02"}, - fast_replaceable_group = "fish-farm", - max_health = 100, - corpse = "medium-remnants", - dying_explosion = "big-explosion", - collision_box = {{-5.1, -5.1}, {5.1, 5.1}}, - selection_box = {{-5.5, -5.5}, {5.5, 5.5}}, - forced_symmetry = "diagonal-pos", - module_slots = MODULE_SLOTS, - allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, - crafting_categories = {"fish-farm"}, - crafting_speed = py.farm_speed_derived(MODULE_SLOTS, "fish-farm-mk01"), - energy_source = { - type = "electric", - usage_priority = "secondary-input", - emissions_per_minute = { - pollution = 0.5 - }, - }, - energy_usage = "1400kW", - graphics_set = { - working_visualisations = { - { - north_position = util.by_pixel(-128, -16), - west_position = util.by_pixel(-128, -16), - south_position = util.by_pixel(-128, -16), - east_position = util.by_pixel(-128, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a1.png", - frame_count = 150, - line_length = 21, - width = 96, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - { - north_position = util.by_pixel(-32, -16), - west_position = util.by_pixel(-32, -16), - south_position = util.by_pixel(-32, -16), - east_position = util.by_pixel(-32, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a2.png", - frame_count = 150, - line_length = 21, - width = 96, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - { - north_position = util.by_pixel(64, -16), - west_position = util.by_pixel(64, -16), - south_position = util.by_pixel(64, -16), - east_position = util.by_pixel(64, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a3.png", - frame_count = 150, - line_length = 21, - width = 96, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - { - north_position = util.by_pixel(144, -16), - west_position = util.by_pixel(144, -16), - south_position = util.by_pixel(144, -16), - east_position = util.by_pixel(144, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a4.png", - frame_count = 150, - line_length = 21, - width = 64, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - }, - animation = { - layers = { - { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/off.png", - width = 384, - height = 384, - frame_count = 1, - line_length = 1, - shift = util.by_pixel(16, -16) - }, - { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/off-mask.png", - width = 384, - height = 384, - frame_count = 1, - line_length = 1, - shift = util.by_pixel(16, -16), - tint = {r = 1.0, g = 0.0, b = 0.0, a = 1.0} - }, - } - }, - }, - - fluid_boxes_off_when_no_fluid_recipe = true, - fluid_boxes = { - --1 - { - production_type = "input", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "input", position = {0.0, -5.0}, direction = defines.direction.north}}, - secondary_draw_orders = {north = -1} - }, - { - production_type = "input", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "input", position = {0.0, 5.0}, direction = defines.direction.south}}, - secondary_draw_orders = {north = -1} - }, - { - production_type = "output", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "output", position = {5.0, 0.0}, direction = defines.direction.east}}, - secondary_draw_orders = {north = -1} - }, - { - production_type = "output", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "output", position = {-5.0, 0.0}, direction = defines.direction.west}}, - secondary_draw_orders = {north = -1} - }, - }, - - impact_category = "metal-large", - working_sound = { - sound = {filename = "__pyalienlifegraphics__/sounds/fish-farm.ogg", volume = 0.65}, - idle_sound = {filename = "__pyalienlifegraphics__/sounds/fish-farm.ogg", volume = 0.3}, - apparent_volume = 2.5 - } -} diff --git a/prototypes/buildings/fish-farm-mk03.lua b/prototypes/buildings/fish-farm-mk03.lua deleted file mode 100644 index 26a9cb36..00000000 --- a/prototypes/buildings/fish-farm-mk03.lua +++ /dev/null @@ -1,189 +0,0 @@ -local MODULE_SLOTS = 20 - -RECIPE { - type = "recipe", - name = "fish-farm-mk03", - energy_required = 1, - enabled = false, - ingredients = { - {type = "item", name = "fish-farm-mk02", amount = 1}, - {type = "item", name = "ticocr-alloy", amount = 50}, - {type = "item", name = "py-heat-exchanger", amount = 1}, - {type = "item", name = "electric-engine-unit", amount = 4}, - {type = "item", name = "sc-unit", amount = 20}, - {type = "item", name = "neuromorphic-chip", amount = 30}, - {type = "item", name = "processing-unit", amount = 50}, - }, - results = { - {type = "item", name = "fish-farm-mk03", amount = 1} - } -}:add_unlock("water-animals-mk03"):add_ingredient {type = "item", name = "small-parts-03", amount = 30} - -ITEM { - type = "item", - name = "fish-farm-mk03", - icon = "__pyalienlifegraphics__/graphics/icons/fish-farm-mk03.png", - icon_size = 64, - flags = {}, - subgroup = "py-alienlife-farm-buildings-mk03", - order = "d", - place_result = "fish-farm-mk03", - stack_size = 10 -} - -ENTITY { - type = "assembling-machine", - name = "fish-farm-mk03", - icon = "__pyalienlifegraphics__/graphics/icons/fish-farm-mk03.png", - icon_size = 64, - flags = {"placeable-neutral", "player-creation"}, - minable = {mining_time = 0.5, result = "fish-farm-mk03"}, - fast_replaceable_group = "fish-farm", - max_health = 100, - corpse = "medium-remnants", - dying_explosion = "big-explosion", - collision_box = {{-5.1, -5.1}, {5.1, 5.1}}, - selection_box = {{-5.5, -5.5}, {5.5, 5.5}}, - forced_symmetry = "diagonal-pos", - module_slots = MODULE_SLOTS, - allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, - crafting_categories = {"fish-farm"}, - crafting_speed = py.farm_speed_derived(MODULE_SLOTS, "fish-farm-mk01"), - energy_source = { - type = "electric", - usage_priority = "secondary-input", - emissions_per_minute = { - pollution = 0.5 - }, - }, - energy_usage = "2000kW", - graphics_set = { - working_visualisations = { - { - north_position = util.by_pixel(-128, -16), - west_position = util.by_pixel(-128, -16), - south_position = util.by_pixel(-128, -16), - east_position = util.by_pixel(-128, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a1.png", - frame_count = 150, - line_length = 21, - width = 96, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - { - north_position = util.by_pixel(-32, -16), - west_position = util.by_pixel(-32, -16), - south_position = util.by_pixel(-32, -16), - east_position = util.by_pixel(-32, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a2.png", - frame_count = 150, - line_length = 21, - width = 96, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - { - north_position = util.by_pixel(64, -16), - west_position = util.by_pixel(64, -16), - south_position = util.by_pixel(64, -16), - east_position = util.by_pixel(64, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a3.png", - frame_count = 150, - line_length = 21, - width = 96, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - { - north_position = util.by_pixel(144, -16), - west_position = util.by_pixel(144, -16), - south_position = util.by_pixel(144, -16), - east_position = util.by_pixel(144, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a4.png", - frame_count = 150, - line_length = 21, - width = 64, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - }, - animation = { - layers = { - { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/off.png", - width = 384, - height = 384, - frame_count = 1, - line_length = 1, - shift = util.by_pixel(16, -16) - }, - { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/off-mask.png", - width = 384, - height = 384, - frame_count = 1, - line_length = 1, - shift = util.by_pixel(16, -16), - tint = {r = 0.223, g = 0.490, b = 0.858, a = 1.0} - }, - } - }, - }, - - fluid_boxes_off_when_no_fluid_recipe = true, - fluid_boxes = { - --1 - { - production_type = "input", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "input", position = {0.0, -5.0}, direction = defines.direction.north}}, - secondary_draw_orders = {north = -1} - }, - { - production_type = "input", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "input", position = {0.0, 5.0}, direction = defines.direction.south}}, - secondary_draw_orders = {north = -1} - }, - { - production_type = "output", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "output", position = {5.0, 0.0}, direction = defines.direction.east}}, - secondary_draw_orders = {north = -1} - }, - { - production_type = "output", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "output", position = {-5.0, 0.0}, direction = defines.direction.west}}, - secondary_draw_orders = {north = -1} - }, - }, - - impact_category = "metal-large", - working_sound = { - sound = {filename = "__pyalienlifegraphics__/sounds/fish-farm.ogg", volume = 0.65}, - idle_sound = {filename = "__pyalienlifegraphics__/sounds/fish-farm.ogg", volume = 0.3}, - apparent_volume = 2.5 - } -} diff --git a/prototypes/buildings/fish-farm-mk04.lua b/prototypes/buildings/fish-farm-mk04.lua deleted file mode 100644 index 1f600b84..00000000 --- a/prototypes/buildings/fish-farm-mk04.lua +++ /dev/null @@ -1,189 +0,0 @@ -local MODULE_SLOTS = 27 - -RECIPE { - type = "recipe", - name = "fish-farm-mk04", - energy_required = 1, - enabled = false, - ingredients = { - {type = "item", name = "fish-farm-mk03", amount = 1}, - {type = "item", name = "boron-carbide", amount = 50}, - {type = "item", name = "blanket", amount = 1}, - {type = "item", name = "silver-foam", amount = 20}, - {type = "item", name = "divertor", amount = 10}, - {type = "item", name = "metallic-glass", amount = 30}, - {type = "item", name = "control-unit", amount = 10}, - }, - results = { - {type = "item", name = "fish-farm-mk04", amount = 1} - } -}:add_unlock("water-animals-mk04") - -ITEM { - type = "item", - name = "fish-farm-mk04", - icon = "__pyalienlifegraphics__/graphics/icons/fish-farm-mk04.png", - icon_size = 64, - flags = {}, - subgroup = "py-alienlife-farm-buildings-mk04", - order = "d", - place_result = "fish-farm-mk04", - stack_size = 10 -} - -ENTITY { - type = "assembling-machine", - name = "fish-farm-mk04", - icon = "__pyalienlifegraphics__/graphics/icons/fish-farm-mk04.png", - icon_size = 64, - flags = {"placeable-neutral", "player-creation"}, - minable = {mining_time = 0.5, result = "fish-farm-mk04"}, - fast_replaceable_group = "fish-farm", - max_health = 100, - corpse = "medium-remnants", - dying_explosion = "big-explosion", - collision_box = {{-5.1, -5.1}, {5.1, 5.1}}, - selection_box = {{-5.5, -5.5}, {5.5, 5.5}}, - forced_symmetry = "diagonal-pos", - module_slots = MODULE_SLOTS, - allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, - crafting_categories = {"fish-farm"}, - crafting_speed = py.farm_speed_derived(MODULE_SLOTS, "fish-farm-mk01"), - energy_source = { - type = "electric", - usage_priority = "secondary-input", - emissions_per_minute = { - pollution = 0.5 - }, - }, - energy_usage = "2500kW", - graphics_set = { - working_visualisations = { - { - north_position = util.by_pixel(-128, -16), - west_position = util.by_pixel(-128, -16), - south_position = util.by_pixel(-128, -16), - east_position = util.by_pixel(-128, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a1.png", - frame_count = 150, - line_length = 21, - width = 96, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - { - north_position = util.by_pixel(-32, -16), - west_position = util.by_pixel(-32, -16), - south_position = util.by_pixel(-32, -16), - east_position = util.by_pixel(-32, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a2.png", - frame_count = 150, - line_length = 21, - width = 96, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - { - north_position = util.by_pixel(64, -16), - west_position = util.by_pixel(64, -16), - south_position = util.by_pixel(64, -16), - east_position = util.by_pixel(64, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a3.png", - frame_count = 150, - line_length = 21, - width = 96, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - { - north_position = util.by_pixel(144, -16), - west_position = util.by_pixel(144, -16), - south_position = util.by_pixel(144, -16), - east_position = util.by_pixel(144, -16), - animation = { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a4.png", - frame_count = 150, - line_length = 21, - width = 64, - height = 256, - animation_speed = 0.35, - draw_as_glow = true, - } - }, - }, - animation = { - layers = { - { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/off.png", - width = 384, - height = 384, - frame_count = 1, - line_length = 1, - shift = util.by_pixel(16, -16) - }, - { - filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/off-mask.png", - width = 384, - height = 384, - frame_count = 1, - line_length = 1, - shift = util.by_pixel(16, -16), - tint = {r = 1.0, g = 0.0, b = 1.0, a = 1.0} - }, - } - }, - }, - - fluid_boxes_off_when_no_fluid_recipe = true, - fluid_boxes = { - --1 - { - production_type = "input", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "input", position = {0.0, -5.0}, direction = defines.direction.north}}, - secondary_draw_orders = {north = -1} - }, - { - production_type = "input", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "input", position = {0.0, 5.0}, direction = defines.direction.south}}, - secondary_draw_orders = {north = -1} - }, - { - production_type = "output", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "output", position = {5.0, 0.0}, direction = defines.direction.east}}, - secondary_draw_orders = {north = -1} - }, - { - production_type = "output", - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), - volume = 1000, - pipe_connections = {{flow_direction = "output", position = {-5.0, 0.0}, direction = defines.direction.west}}, - secondary_draw_orders = {north = -1} - }, - }, - - impact_category = "metal-large", - working_sound = { - sound = {filename = "__pyalienlifegraphics__/sounds/fish-farm.ogg", volume = 0.65}, - idle_sound = {filename = "__pyalienlifegraphics__/sounds/fish-farm.ogg", volume = 0.3}, - apparent_volume = 2.5 - } -} diff --git a/prototypes/buildings/fish-farm.lua b/prototypes/buildings/fish-farm.lua new file mode 100644 index 00000000..ba9c2212 --- /dev/null +++ b/prototypes/buildings/fish-farm.lua @@ -0,0 +1,254 @@ +RECIPE { + type = "recipe", + name = "fish-farm-mk01", + energy_required = 1, + enabled = false, + ingredients = { + {type = "item", name = "lab", amount = 1}, + -- {type = "item", name = "carbon-filter", amount = 1}, + {type = "item", name = "glass", amount = 140}, + {type = "item", name = "duralumin", amount = 30}, + {type = "item", name = "pump", amount = 5}, + {type = "item", name = "steel-plate", amount = 50}, + -- {type = "item", name = "nexelit-plate", amount = 15}, + {type = "item", name = "electronic-circuit", amount = 50}, + {type = "item", name = "lead-plate", amount = 40}, + }, + results = { + {type = "item", name = "fish-farm-mk01", amount = 1} + } +}:add_unlock("fish-mk01") + +RECIPE { + type = "recipe", + name = "fish-farm-mk02", + energy_required = 1, + enabled = false, + ingredients = { + {type = "item", name = "fish-farm-mk01", amount = 1}, + {type = "item", name = "glass", amount = 100}, + {type = "item", name = "duralumin", amount = 30}, + {type = "item", name = "latex", amount = 30}, + {type = "item", name = "engine-unit", amount = 4}, + {type = "item", name = "neuroprocessor", amount = 10}, + {type = "item", name = "advanced-circuit", amount = 30}, + {type = "item", name = "nbti-alloy", amount = 30}, + }, + results = { + {type = "item", name = "fish-farm-mk02", amount = 1} + } +}:add_unlock("water-animals-mk02"):add_ingredient {type = "item", name = "small-parts-02", amount = 30} + +RECIPE { + type = "recipe", + name = "fish-farm-mk03", + energy_required = 1, + enabled = false, + ingredients = { + {type = "item", name = "fish-farm-mk02", amount = 1}, + {type = "item", name = "ticocr-alloy", amount = 50}, + {type = "item", name = "py-heat-exchanger", amount = 1}, + {type = "item", name = "electric-engine-unit", amount = 4}, + {type = "item", name = "sc-unit", amount = 20}, + {type = "item", name = "neuromorphic-chip", amount = 30}, + {type = "item", name = "processing-unit", amount = 50}, + }, + results = { + {type = "item", name = "fish-farm-mk03", amount = 1} + } +}:add_unlock("water-animals-mk03"):add_ingredient {type = "item", name = "small-parts-03", amount = 30} + +RECIPE { + type = "recipe", + name = "fish-farm-mk04", + energy_required = 1, + enabled = false, + ingredients = { + {type = "item", name = "fish-farm-mk03", amount = 1}, + {type = "item", name = "boron-carbide", amount = 50}, + {type = "item", name = "blanket", amount = 1}, + {type = "item", name = "silver-foam", amount = 20}, + {type = "item", name = "divertor", amount = 10}, + {type = "item", name = "metallic-glass", amount = 30}, + {type = "item", name = "control-unit", amount = 10}, + }, + results = { + {type = "item", name = "fish-farm-mk04", amount = 1} + } +}:add_unlock("water-animals-mk04") + +local FULL_CRAFTING_SPEED = 1 -- crafting speed when full of mk01 modules + +for i = 1, 4 do + local name = "fish-farm-mk0" .. i + local icon = "__pyalienlifegraphics__/graphics/icons/fish-farm-mk0" .. i .. ".png" + local icon_size = 64 + local MODULE_SLOTS = 7 * i + + ITEM { + type = "item", + name = name, + icon = icon, + icon_size = icon_size, + flags = {}, + subgroup = "py-alienlife-farm-buildings-mk0" .. i, + order = "d", + place_result = name, + stack_size = 10 + } + + ENTITY { + type = "assembling-machine", + name = name, + icon = icon, + icon_size = icon_size, + flags = {"placeable-neutral", "player-creation"}, + minable = {mining_time = 0.5, result = name}, + fast_replaceable_group = "fish-farm", + max_health = 500 * i, + corpse = "medium-remnants", + dying_explosion = "big-explosion", + collision_box = {{-5.1, -5.1}, {5.1, 5.1}}, + selection_box = {{-5.5, -5.5}, {5.5, 5.5}}, + forced_symmetry = "diagonal-pos", + module_slots = MODULE_SLOTS, + allowed_effects = {"speed", "productivity", "consumption", "pollution", "quality"}, + crafting_categories = {"fish-farm"}, + crafting_speed = py.farm_speed(MODULE_SLOTS, FULL_CRAFTING_SPEED), + energy_source = { + type = "electric", + usage_priority = "secondary-input", + emissions_per_minute = { + pollution = 3 + }, + }, + energy_usage = i .. "MW", + graphics_set = { + working_visualisations = { + { + north_position = util.by_pixel(-128, -16), + west_position = util.by_pixel(-128, -16), + south_position = util.by_pixel(-128, -16), + east_position = util.by_pixel(-128, -16), + animation = { + filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a1.png", + frame_count = 150, + line_length = 21, + width = 96, + height = 256, + animation_speed = 0.35, + draw_as_glow = true, + } + }, + { + north_position = util.by_pixel(-32, -16), + west_position = util.by_pixel(-32, -16), + south_position = util.by_pixel(-32, -16), + east_position = util.by_pixel(-32, -16), + animation = { + filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a2.png", + frame_count = 150, + line_length = 21, + width = 96, + height = 256, + animation_speed = 0.35, + draw_as_glow = true, + } + }, + { + north_position = util.by_pixel(64, -16), + west_position = util.by_pixel(64, -16), + south_position = util.by_pixel(64, -16), + east_position = util.by_pixel(64, -16), + animation = { + filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a3.png", + frame_count = 150, + line_length = 21, + width = 96, + height = 256, + animation_speed = 0.35, + draw_as_glow = true, + } + }, + { + north_position = util.by_pixel(144, -16), + west_position = util.by_pixel(144, -16), + south_position = util.by_pixel(144, -16), + east_position = util.by_pixel(144, -16), + animation = { + filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/a4.png", + frame_count = 150, + line_length = 21, + width = 64, + height = 256, + animation_speed = 0.35, + draw_as_glow = true, + } + }, + }, + animation = { + layers = { + { + filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/off.png", + width = 384, + height = 384, + frame_count = 1, + line_length = 1, + shift = util.by_pixel(16, -16) + }, + { + filename = "__pyalienlifegraphics__/graphics/entity/fish-farm/off-mask.png", + width = 384, + height = 384, + frame_count = 1, + line_length = 1, + shift = util.by_pixel(16, -16), + tint = py.tints[i] + }, + } + }, + }, + fluid_boxes_off_when_no_fluid_recipe = true, + fluid_boxes = { + --1 + { + production_type = "input", + pipe_covers = py.pipe_covers(true, true, true, true), + pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), + volume = 1000, + pipe_connections = {{flow_direction = "input", position = {0.0, -5.0}, direction = defines.direction.north}}, + secondary_draw_orders = {north = -1} + }, + { + production_type = "input", + pipe_covers = py.pipe_covers(true, true, true, true), + pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), + volume = 1000, + pipe_connections = {{flow_direction = "input", position = {0.0, 5.0}, direction = defines.direction.south}}, + secondary_draw_orders = {north = -1} + }, + { + production_type = "output", + pipe_covers = py.pipe_covers(true, true, true, true), + pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), + volume = 1000, + pipe_connections = {{flow_direction = "output", position = {5.0, 0.0}, direction = defines.direction.east}}, + secondary_draw_orders = {north = -1} + }, + { + production_type = "output", + pipe_covers = py.pipe_covers(true, true, true, true), + pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), + volume = 1000, + pipe_connections = {{flow_direction = "output", position = {-5.0, 0.0}, direction = defines.direction.west}}, + secondary_draw_orders = {north = -1} + }, + }, + impact_category = "metal-large", + working_sound = { + sound = {filename = "__pyalienlifegraphics__/sounds/fish-farm.ogg", volume = 0.65}, + idle_sound = {filename = "__pyalienlifegraphics__/sounds/fish-farm.ogg", volume = 0.3}, + apparent_volume = 2.5 + } + } +end \ No newline at end of file diff --git a/prototypes/upgrades/atomizer.lua b/prototypes/upgrades/atomizer.lua index 2bddc4f3..0802a79e 100644 --- a/prototypes/upgrades/atomizer.lua +++ b/prototypes/upgrades/atomizer.lua @@ -1,3 +1,18 @@ +-- path 1: electrify the atomizer and speed bonus + +-- arqad proplis -> silver +-- animal eyes -> nano-cellulose +-- dingrit fur -> gold solution +-- pineal gland -> psc +-- shell -> salt +-- xeno egg -> acid gas + +-- all iron atomizers -> unslimed +-- all phosphoric rock -> phosphine gas +-- all copper ore -> copper stage 4 (solid) +-- all tin -> tin dust +-- all zinc -> zinc grade 3 + if data and not yafc_turd_integration then RECIPE { type = "recipe", @@ -64,10 +79,6 @@ return { {"military-science-pack", 1}, {"py-science-pack-2", 1}, {"chemical-science-pack", 1}, - {"py-science-pack-3", 1}, - {"production-science-pack", 1}, - {"py-science-pack-4", 1}, - {"utility-science-pack", 1}, }, time = 45 } diff --git a/prototypes/upgrades/fish.lua b/prototypes/upgrades/fish.lua index 5c998572..2fe9c06e 100644 --- a/prototypes/upgrades/fish.lua +++ b/prototypes/upgrades/fish.lua @@ -1,3 +1,73 @@ +local function new_fluid_boxes() + return { + --1 + { + production_type = "input", + pipe_covers = py.pipe_covers(true, true, true, true), + pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), + volume = 1000, + pipe_connections = {{flow_direction = "input", position = {0.0, -5.0}, direction = defines.direction.north}}, + secondary_draw_orders = {north = -1} + }, + { + production_type = "input", + pipe_covers = py.pipe_covers(true, true, true, true), + pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), + volume = 1000, + pipe_connections = {{flow_direction = "input", position = {0.0, 5.0}, direction = defines.direction.south}}, + secondary_draw_orders = {north = -1} + }, + { + production_type = "output", + pipe_covers = py.pipe_covers(true, true, true, true), + pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), + volume = 1000, + pipe_connections = {{flow_direction = "output", position = {5.0, -1.0}, direction = defines.direction.east}}, + secondary_draw_orders = {north = -1} + }, + { + production_type = "output", + pipe_covers = py.pipe_covers(true, true, true, true), + pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), + volume = 1000, + pipe_connections = {{flow_direction = "output", position = {-5.0, 1.0}, direction = defines.direction.west}}, + secondary_draw_orders = {north = -1} + }, + { + production_type = "output", + pipe_covers = py.pipe_covers(true, true, true, true), + pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), + volume = 1000, + pipe_connections = {{flow_direction = "output", position = {-5.0, -1.0}, direction = defines.direction.west}}, + secondary_draw_orders = {north = -1} + }, + { + production_type = "output", + pipe_covers = py.pipe_covers(true, true, true, true), + pipe_picture = py.pipe_pictures("assembling-machine-3", nil, {0.0, -0.88}, nil, nil), + volume = 1000, + pipe_connections = {{flow_direction = "output", position = {5.0, 1.0}, direction = defines.direction.east}}, + secondary_draw_orders = {north = -1} + }, + } +end + +local function add_new_fish_farm(i) + local name = "fish-farm-mk0" .. i + local entity = table.deepcopy(data.raw["assembling-machine"][name]) + entity.name = "turd-" .. name + entity.localised_name = {"entity-name." .. name} + entity.placeable_by = {item = name, count = 1} + entity.localised_description = entity.localised_description or {"entity-description." .. name} + entity.subgroup = data.raw.item[name].subgroup + entity.order = data.raw.item[name].order + entity.allowed_module_categories = {"fish"} + entity.energy_usage = (i * 5) .. "MW", + table.insert(entity.flags, "not-in-made-in") + entity.fluid_boxes = new_fluid_boxes() + data:extend {entity} +end + if data and not yafc_turd_integration then for i, recipe in pairs { RECIPE("breed-fish-1"):copy(), @@ -8,6 +78,7 @@ if data and not yafc_turd_integration then recipe.name = recipe.name .. "-agressive-selection" recipe:add_result_amount("fish", -i) recipe:add_result {"fish-food-01", i} + recipe.energy_required = math.ceil(recipe.energy_required * 0.9) data:extend {recipe} end @@ -27,25 +98,65 @@ if data and not yafc_turd_integration then name = "fish-hydrolysate-cooling" }} - for _, recipe in pairs { + RECIPE { + type = "recipe", + name = "cyanic-acid-from-fish-hydrolysate", + category = "reformer", + enabled = false, + energy_required = 5, + ingredients = { + {type = "fluid", name = "fish-hydrolysate", amount = 100}, + {type = "fluid", name = "ammonia", amount = 100}, + {type = "fluid", name = "water-saline", amount = 15}, + }, + results = { + {type = "fluid", name = "cyanic-acid", amount = 100}, + {type = "fluid", name = "waste-water", amount = 100}, + }, + main_product = "cyanic-acid", + subgroup = "py-alienlife-fluids", + order = "a", + allow_productivity = true, + } + + for i, recipe in pairs { RECIPE("breed-fish-egg-1"):copy(), RECIPE("breed-fish-egg-2"):copy(), RECIPE("breed-fish-egg-3"):copy(), RECIPE("breed-fish-egg-4"):copy(), } do recipe.name = recipe.name .. "-doused" - recipe:remove_result("waste-water") - recipe:add_result {type = "fluid", name = "pressured-water", amount = 100} - recipe:multiply_result_amount("fish-egg", 1.2) + recipe:multiply_result_amount("fish-egg", 0.8) for _, ingredient in pairs(recipe.ingredients) do if ingredient.name == "water-saline" then - ingredient.name = "water" + ingredient.name = "pressured-water" + break + end + end + for _, result in pairs(recipe.results) do + if result.name == "waste-water" then + result.fluidbox_index = 1 break end end + + local path_three_dousing_byproducts = { + {type = "fluid", name = "fish-oil", amount = 10 + i * 5, fluidbox_index = 2}, + {type = "fluid", name = "fish-hydrolysate", amount = 5 + i * 5, fluidbox_index = 3}, + {type = "item", name = "fishmeal", amount = 5}, + {type = "fluid", name = "fish-emulsion", amount = 0 + i * 5, fluidbox_index = 4}, + } + + for j = 1, i do + recipe:add_result(path_three_dousing_byproducts[j]) + end recipe.energy_required = math.ceil(recipe.energy_required * 0.9) data:extend {recipe} end + + for i = 1, 4 do + add_new_fish_farm(i) + end end return { @@ -89,7 +200,8 @@ return { icon_size = 128, order = "c-a", effects = { -- the effects the tech will have on the building. valid types: 'module-effects', 'unlock-recipe', 'recipe-replacement', 'machine-replacement' - {type = "recipe-replacement", old = "fish-hydrolysate", new = "fish-hydrolysate-cooling"} + {type = "recipe-replacement", old = "fish-hydrolysate", new = "fish-hydrolysate-cooling"}, + {type = "unlock-recipe", recipe = "cyanic-acid-from-fish-hydrolysate"}, } }, { @@ -98,6 +210,10 @@ return { icon_size = 128, order = "c-a", effects = { -- the effects the tech will have on the building. valid types: 'module-effects', 'unlock-recipe', 'recipe-replacement', 'machine-replacement' + {type = "machine-replacement", old = "fish-farm-mk01", new = "turd-fish-farm-mk01"}, + {type = "machine-replacement", old = "fish-farm-mk02", new = "turd-fish-farm-mk02"}, + {type = "machine-replacement", old = "fish-farm-mk03", new = "turd-fish-farm-mk03"}, + {type = "machine-replacement", old = "fish-farm-mk04", new = "turd-fish-farm-mk04"}, {old = "breed-fish-egg-1", new = "breed-fish-egg-1-doused", type = "recipe-replacement"}, {old = "breed-fish-egg-2", new = "breed-fish-egg-2-doused", type = "recipe-replacement"}, {old = "breed-fish-egg-3", new = "breed-fish-egg-3-doused", type = "recipe-replacement"}, diff --git a/scripts/farming/farm-building-list.lua b/scripts/farming/farm-building-list.lua index 558994d2..35137005 100644 --- a/scripts/farming/farm-building-list.lua +++ b/scripts/farming/farm-building-list.lua @@ -7,6 +7,7 @@ local farm_buildings = { ["dhilmos-pool"] = "animal", ["dingrits-pack"] = "animal", ["fish-farm"] = "animal", + ["turd-fish-farm"] = "animal", ["kmauts-enclosure"] = "animal", ["mukmoux-pasture"] = "animal", ["phadai-enclosure"] = "animal",