Fixed several entities

This commit is contained in:
Simon Brodtmann 2025-07-13 12:25:10 +02:00
parent b452aea465
commit fe30affb28
6 changed files with 1691 additions and 1680 deletions

View file

@ -247,6 +247,7 @@ return function(mod_name)
-- Rudimentary check of the arguments passed to a function -- Rudimentary check of the arguments passed to a function
common.check_args = function(arg, arg_type, desc) common.check_args = function(arg, arg_type, desc)
if not (arg and type(arg) == arg_type) then if not (arg and type(arg) == arg_type) then
game.print(type(arg) .. " = " .. arg_type)
common.arg_err(arg or "nil", desc or arg_type or "nil") common.arg_err(arg or "nil", desc or arg_type or "nil")
end end
end end
@ -596,7 +597,7 @@ return function(mod_name)
common.show("#g_table", g_table and table_size(g_table)) common.show("#g_table", g_table and table_size(g_table))
common.check_args(g_table, "table") common.check_args(g_table, "table")
common.check_args(base_entity, "table") common.check_args(base_entity, "userdata")
if not base_entity.valid then if not base_entity.valid then
common.arg_err(base_entity, "base entity") common.arg_err(base_entity, "base entity")

File diff suppressed because it is too large Load diff

View file

@ -3,385 +3,387 @@ local BioInd = require('common')('Bio_Industries_2')
local ICONPATH = BioInd.modRoot .. "/graphics/icons/" local ICONPATH = BioInd.modRoot .. "/graphics/icons/"
local ENTITYPATH = "__base__/graphics/entity/boiler/" local ENTITYPATH = "__base__/graphics/entity/boiler/"
require ("util") require("util")
require ("prototypes.Bio_Fuel.pipeConnectors") require("prototypes.Bio_Fuel.pipeConnectors")
bio_boiler_tint = {r = 0.5, g = 0.5, b = 0.1, a = 0.7} bio_boiler_tint = { r = 0.5, g = 0.5, b = 0.1, a = 0.7 }
-- Changed for 0.18.29: We always want to make advanced fertilizer, so we need to -- Changed for 0.18.29: We always want to make advanced fertilizer, so we need to
-- unlock the bio-reactor and the most basic recipe for algae biomass even if -- unlock the bio-reactor and the most basic recipe for algae biomass even if
-- BI.Settings.BI_Bio_Fuel has been turned off! -- BI.Settings.BI_Bio_Fuel has been turned off!
data:extend({ data:extend({
-- BIOREACTOR -- BIOREACTOR
{ {
type = "assembling-machine", type = "assembling-machine",
name = "bi-bio-reactor", name = "bi-bio-reactor",
icon = ICONPATH .. "bioreactor.png",
icon_size = 64,
icons = {
{
icon = ICONPATH .. "bioreactor.png", icon = ICONPATH .. "bioreactor.png",
icon_size = 64, icon_size = 64,
} icons = {
{
icon = ICONPATH .. "bioreactor.png",
icon_size = 64,
}
},
-- This is necessary for "Space Exploration" (if not true, the entity can only be
-- placed on Nauvis)!
se_allow_in_space = true,
flags = { "placeable-neutral", "player-creation" },
minable = { hardness = 0.2, mining_time = 0.5, result = "bi-bio-reactor" },
max_health = 100,
corpse = "big-remnants",
fluid_boxes = {
{
production_type = "input",
pipe_picture = assembler2pipepicturesBioreactor(),
pipe_covers = pipecoverspicturesBioreactor(),
volume = 1000,
base_level = -1,
pipe_connections = { { flow_direction = "input", direction = defines.direction.north, position = { 0, -1 } } }
},
{
production_type = "input",
pipe_picture = assembler2pipepicturesBioreactor(),
pipe_covers = pipecoverspicturesBioreactor(),
volume = 1000,
base_level = -1,
pipe_connections = { { flow_direction = "input", direction = defines.direction.east, position = { 1, 0 } } }
},
{
production_type = "input",
pipe_picture = assembler2pipepicturesBioreactor(),
pipe_covers = pipecoverspicturesBioreactor(),
volume = 1000,
base_level = -1,
pipe_connections = { { flow_direction = "input", direction = defines.direction.south, position = { 0, 1 } } }
},
{
production_type = "output",
pipe_picture = assembler2pipepicturesBioreactor(),
pipe_covers = pipecoverspicturesBioreactor(),
volume = 1000,
base_level = 1,
pipe_connections = { { flow_direction = "output", direction = defines.direction.west, position = { -1, -1 } } }
},
{
production_type = "output",
pipe_picture = assembler2pipepicturesBioreactor(),
pipe_covers = pipecoverspicturesBioreactor(),
volume = 1000,
base_level = 1,
pipe_connections = { { flow_direction = "output", direction = defines.direction.west, position = { -1, 1 } } }
},
},
fluid_boxes_off_when_no_fluid_recipe = true,
collision_box = { { -1.2, -1.2 }, { 1.2, 1.2 } },
selection_box = { { -1.5, -1.5 }, { 1.5, 1.5 } },
graphics_set = {
animation = {
filename = "__Bio_Industries_2__/graphics/entities/bioreactor/bioreactor.png",
priority = "high",
width = 128,
height = 150,
frame_count = 26,
line_length = 13,
animation_speed = 0.4,
shift = { 0.55, -0.33 }
},
},
energy_source = {
type = "electric",
usage_priority = "secondary-input"
},
crafting_categories = { "biofarm-mod-bioreactor" },
ingredient_count = 3,
crafting_speed = 1,
energy_usage = "10kW",
module_specification = {
module_slots = 3
},
allowed_effects = { "consumption", "speed", "productivity", "pollution" },
}, },
-- This is necessary for "Space Exploration" (if not true, the entity can only be
-- placed on Nauvis)!
se_allow_in_space = true,
flags = {"placeable-neutral", "player-creation"},
minable = {hardness = 0.2, mining_time = 0.5, result = "bi-bio-reactor"},
max_health = 100,
corpse = "big-remnants",
fluid_boxes = {
{
production_type = "input",
pipe_picture = assembler2pipepicturesBioreactor(),
pipe_covers = pipecoverspicturesBioreactor(),
volume = 1000,
base_level = -1,
pipe_connections = {{ flow_direction = "input", direction = defines.direction.north, position = {0, -1} }}
},
{
production_type = "input",
pipe_picture = assembler2pipepicturesBioreactor(),
pipe_covers = pipecoverspicturesBioreactor(),
volume = 1000,
base_level = -1,
pipe_connections = {{ flow_direction = "input", direction = defines.direction.north, position = {1, 0} }}
},
{
production_type = "input",
pipe_picture = assembler2pipepicturesBioreactor(),
pipe_covers = pipecoverspicturesBioreactor(),
volume = 1000,
base_level = -1,
pipe_connections = {{ flow_direction = "input", direction = defines.direction.north, position = {0, 1} }}
},
{
production_type = "output",
pipe_picture = assembler2pipepicturesBioreactor(),
pipe_covers = pipecoverspicturesBioreactor(),
volume = 1000,
base_level = 1,
pipe_connections = {{ flow_direction = "output", direction = defines.direction.north, position = {-1, -1} }}
},
{
production_type = "output",
pipe_picture = assembler2pipepicturesBioreactor(),
pipe_covers = pipecoverspicturesBioreactor(),
volume = 1000,
base_level = 1,
pipe_connections = {{ flow_direction = "output", direction = defines.direction.north, position = {-1, 1} }}
},
},
fluid_boxes_off_when_no_fluid_recipe = true,
collision_box = {{-1.2, -1.2}, {1.2, 1.2}},
selection_box = {{-1.5, -1.5}, {1.5, 1.5}},
animation = {
filename = "__Bio_Industries_2__/graphics/entities/bioreactor/bioreactor.png",
priority = "high",
width = 128,
height = 150,
frame_count = 26,
line_length = 13,
animation_speed = 0.4,
shift = {0.55, -0.33}
},
energy_source = {
type = "electric",
usage_priority = "secondary-input"
},
crafting_categories = {"biofarm-mod-bioreactor"},
ingredient_count = 3,
crafting_speed = 1,
energy_usage = "10kW",
module_specification = {
module_slots = 3
},
allowed_effects = {"consumption", "speed", "productivity", "pollution"},
},
}) })
if BI.Settings.BI_Bio_Fuel then if BI.Settings.BI_Bio_Fuel then
data:extend({ data:extend({
--- Bio Boiler --- Bio Boiler
{
type = "boiler",
name = "bi-bio-boiler",
localised_name = {"entity-name.bi-bio-boiler"},
localised_description = {"entity-description.bi-bio-boiler"},
icon = ICONPATH .. "bio_boiler.png",
icon_size = 64,
icons = {
{ {
icon = ICONPATH .. "bio_boiler.png", type = "boiler",
icon_size = 64, name = "bi-bio-boiler",
} localised_name = { "entity-name.bi-bio-boiler" },
}, localised_description = { "entity-description.bi-bio-boiler" },
-- This is necessary for "Space Exploration" (if not true, the entity can only be icon = ICONPATH .. "bio_boiler.png",
-- placed on Nauvis)! icon_size = 64,
se_allow_in_space = true, icons = {
flags = {"placeable-neutral", "player-creation"}, {
minable = {hardness = 0.2, mining_time = 0.5, result = "bi-bio-boiler"}, icon = ICONPATH .. "bio_boiler.png",
max_health = 300, icon_size = 64,
corpse = "small-remnants", }
mode = "output-to-separate-pipe", },
resistances = { -- This is necessary for "Space Exploration" (if not true, the entity can only be
{ -- placed on Nauvis)!
type = "fire", se_allow_in_space = true,
percent = 100 flags = { "placeable-neutral", "player-creation" },
minable = { hardness = 0.2, mining_time = 0.5, result = "bi-bio-boiler" },
max_health = 300,
corpse = "small-remnants",
mode = "output-to-separate-pipe",
resistances = {
{
type = "fire",
percent = 100
},
{
type = "explosion",
percent = 100
},
{
type = "impact",
percent = 35
}
},
collision_box = { { -1.29, -0.79 }, { 1.29, 0.79 } },
selection_box = { { -1.5, -1 }, { 1.5, 1 } },
target_temperature = 165,
fluid_box = {
volume = 200,
base_level = -1,
pipe_covers = pipecoverspictures(),
pipe_connections = {
{ flow_direction = "input-output", direction = defines.direction.north, position = { -1, 0.5 } },
{ flow_direction = "input-output", direction = defines.direction.north, position = { 1, 0.5 } }
},
production_type = "input-output",
filter = "water"
},
output_fluid_box = {
volume = 200,
base_level = 1,
pipe_covers = pipecoverspictures(),
pipe_connections = {
{ flow_direction = "output", direction = defines.direction.north, position = { 0, -0.5 } }
},
production_type = "output",
filter = "steam"
},
energy_consumption = "3.6MW",
energy_source = {
type = "burner",
fuel_categories = { "chemical" },
effectivity = 1,
fuel_inventory_size = 2,
emissions_per_minute = { pollution = 15 },
smoke = {
{
name = "smoke",
north_position = util.by_pixel(-38, -47.5),
south_position = util.by_pixel(38.5, -32),
east_position = util.by_pixel(20, -70),
west_position = util.by_pixel(-19, -8.5),
frequency = 20,
starting_vertical_speed = 0.0,
starting_frame_deviation = 60
}
}
},
working_sound = {
sound = {
filename = "__base__/sound/boiler.ogg",
volume = 0.8
},
max_sounds_per_type = 3
},
structure = {
north = {
layers = {
{
filename = ENTITYPATH .. "boiler-N-idle.png",
priority = "extra-high",
width = 269,
height = 221,
shift = util.by_pixel(-1.25, 5.25),
scale = 0.5,
tint = bio_boiler_tint,
},
{
filename = ENTITYPATH .. "boiler-N-shadow.png",
priority = "extra-high",
width = 274,
height = 164,
scale = 0.5,
shift = util.by_pixel(20.5, 9),
draw_as_shadow = true,
}
}
},
east = {
layers = {
{
filename = ENTITYPATH .. "boiler-E-idle.png",
priority = "extra-high",
width = 216,
height = 301,
shift = util.by_pixel(-3, 1.25),
scale = 0.5,
tint = bio_boiler_tint,
},
{
filename = ENTITYPATH .. "boiler-E-shadow.png",
priority = "extra-high",
width = 184,
height = 194,
scale = 0.5,
shift = util.by_pixel(30, 9.5),
draw_as_shadow = true,
}
}
},
south = {
layers = {
{
filename = ENTITYPATH .. "boiler-S-idle.png",
priority = "extra-high",
width = 260,
height = 192,
shift = util.by_pixel(4, 13),
scale = 0.5,
tint = bio_boiler_tint,
},
{
filename = ENTITYPATH .. "boiler-S-shadow.png",
priority = "extra-high",
width = 311,
height = 131,
scale = 0.5,
shift = util.by_pixel(29.75, 15.75),
draw_as_shadow = true,
}
}
},
west = {
layers = {
{
filename = ENTITYPATH .. "boiler-W-idle.png",
priority = "extra-high",
width = 196,
height = 273,
shift = util.by_pixel(1.5, 7.75),
scale = 0.5,
tint = bio_boiler_tint,
},
{
filename = ENTITYPATH .. "boiler-W-shadow.png",
priority = "extra-high",
width = 206,
height = 218,
scale = 0.5,
shift = util.by_pixel(19.5, 6.5),
draw_as_shadow = true,
}
}
}
},
patch = {
east = {
filename = ENTITYPATH .. "boiler-E-patch.png",
width = 6,
height = 36,
shift = util.by_pixel(33.5, -13.5),
scale = 0.5,
tint = bio_boiler_tint,
},
},
fire_flicker_enabled = true,
fire = {
north = {
filename = ENTITYPATH .. "boiler-N-fire.png",
priority = "extra-high",
frame_count = 64,
line_length = 8,
width = 26,
height = 26,
animation_speed = 0.5,
shift = util.by_pixel(0, -8.5),
scale = 0.5
},
east = {
filename = ENTITYPATH .. "boiler-E-fire.png",
priority = "extra-high",
frame_count = 64,
line_length = 8,
width = 28,
height = 28,
animation_speed = 0.5,
shift = util.by_pixel(-9.5, -22),
scale = 0.5
},
south = {
filename = ENTITYPATH .. "boiler-S-fire.png",
priority = "extra-high",
frame_count = 64,
line_length = 8,
width = 26,
height = 16,
animation_speed = 0.5,
shift = util.by_pixel(-1, -26.5),
scale = 0.5
},
west = {
filename = ENTITYPATH .. "boiler-W-fire.png",
priority = "extra-high",
frame_count = 64,
line_length = 8,
width = 30,
height = 29,
animation_speed = 0.5,
shift = util.by_pixel(13, -23.25),
scale = 0.5
}
},
fire_glow_flicker_enabled = true,
fire_glow = {
north = {
filename = ENTITYPATH .. "boiler-N-light.png",
priority = "extra-high",
frame_count = 1,
width = 200,
height = 173,
shift = util.by_pixel(-1, -6.75),
blend_mode = "additive",
scale = 0.5
},
east = {
filename = ENTITYPATH .. "boiler-E-light.png",
priority = "extra-high",
frame_count = 1,
width = 139,
height = 244,
shift = util.by_pixel(0.25, -13),
blend_mode = "additive",
scale = 0.5
},
south = {
filename = ENTITYPATH .. "boiler-S-light.png",
priority = "extra-high",
frame_count = 1,
width = 200,
height = 162,
shift = util.by_pixel(1, 5.5),
blend_mode = "additive",
scale = 0.5
},
west = {
filename = ENTITYPATH .. "boiler-W-light.png",
priority = "extra-high",
frame_count = 1,
width = 136,
height = 217,
shift = util.by_pixel(2, -6.25),
blend_mode = "additive",
scale = 0.5
}
},
burning_cooldown = 20
}, },
{
type = "explosion",
percent = 100
},
{
type = "impact",
percent = 35
}
},
collision_box = {{-1.29, -0.79}, {1.29, 0.79}},
selection_box = {{-1.5, -1}, {1.5, 1}},
target_temperature = 165,
fluid_box = {
volume = 200,
base_level = -1,
pipe_covers = pipecoverspictures(),
pipe_connections = {
{flow_direction = "input-output", direction = defines.direction.north, position = {-1, 0.5}},
{flow_direction = "input-output", direction = defines.direction.north, position = {1, 0.5}}
},
production_type = "input-output",
filter = "water"
},
output_fluid_box = {
volume = 200,
base_level = 1,
pipe_covers = pipecoverspictures(),
pipe_connections = {
{flow_direction = "output", direction = defines.direction.north, position = {0, -0.5}}
},
production_type = "output",
filter = "steam"
},
energy_consumption = "3.6MW",
energy_source = {
type = "burner",
fuel_categories = { "chemical" },
effectivity = 1,
fuel_inventory_size = 2,
emissions_per_minute = { pollution = 15 },
smoke = {
{
name = "smoke",
north_position = util.by_pixel(-38, -47.5),
south_position = util.by_pixel(38.5, -32),
east_position = util.by_pixel(20, -70),
west_position = util.by_pixel(-19, -8.5),
frequency = 20,
starting_vertical_speed = 0.0,
starting_frame_deviation = 60
}
}
},
working_sound = {
sound = {
filename = "__base__/sound/boiler.ogg",
volume = 0.8
},
max_sounds_per_type = 3
},
structure = {
north = {
layers = {
{
filename = ENTITYPATH .. "boiler-N-idle.png",
priority = "extra-high",
width = 269,
height = 221,
shift = util.by_pixel(-1.25, 5.25),
scale = 0.5,
tint = bio_boiler_tint,
},
{
filename = ENTITYPATH .. "boiler-N-shadow.png",
priority = "extra-high",
width = 274,
height = 164,
scale = 0.5,
shift = util.by_pixel(20.5, 9),
draw_as_shadow = true,
}
}
},
east = {
layers = {
{
filename = ENTITYPATH .. "boiler-E-idle.png",
priority = "extra-high",
width = 216,
height = 301,
shift = util.by_pixel(-3, 1.25),
scale = 0.5,
tint = bio_boiler_tint,
},
{
filename = ENTITYPATH .. "boiler-E-shadow.png",
priority = "extra-high",
width = 184,
height = 194,
scale = 0.5,
shift = util.by_pixel(30, 9.5),
draw_as_shadow = true,
}
}
},
south = {
layers = {
{
filename = ENTITYPATH .. "boiler-S-idle.png",
priority = "extra-high",
width = 260,
height = 192,
shift = util.by_pixel(4, 13),
scale = 0.5,
tint = bio_boiler_tint,
},
{
filename = ENTITYPATH .. "boiler-S-shadow.png",
priority = "extra-high",
width = 311,
height = 131,
scale = 0.5,
shift = util.by_pixel(29.75, 15.75),
draw_as_shadow = true,
}
}
},
west = {
layers = {
{
filename = ENTITYPATH .. "boiler-W-idle.png",
priority = "extra-high",
width = 196,
height = 273,
shift = util.by_pixel(1.5, 7.75),
scale = 0.5,
tint = bio_boiler_tint,
},
{
filename = ENTITYPATH .. "boiler-W-shadow.png",
priority = "extra-high",
width = 206,
height = 218,
scale = 0.5,
shift = util.by_pixel(19.5, 6.5),
draw_as_shadow = true,
}
}
}
},
patch = {
east = {
filename = ENTITYPATH .. "boiler-E-patch.png",
width = 6,
height = 36,
shift = util.by_pixel(33.5, -13.5),
scale = 0.5,
tint = bio_boiler_tint,
},
},
fire_flicker_enabled = true,
fire = {
north = {
filename = ENTITYPATH .. "boiler-N-fire.png",
priority = "extra-high",
frame_count = 64,
line_length = 8,
width = 26,
height = 26,
animation_speed = 0.5,
shift = util.by_pixel(0, -8.5),
scale = 0.5
},
east = {
filename = ENTITYPATH .. "boiler-E-fire.png",
priority = "extra-high",
frame_count = 64,
line_length = 8,
width = 28,
height = 28,
animation_speed = 0.5,
shift = util.by_pixel(-9.5, -22),
scale = 0.5
},
south = {
filename = ENTITYPATH .. "boiler-S-fire.png",
priority = "extra-high",
frame_count = 64,
line_length = 8,
width = 26,
height = 16,
animation_speed = 0.5,
shift = util.by_pixel(-1, -26.5),
scale = 0.5
},
west = {
filename = ENTITYPATH .. "boiler-W-fire.png",
priority = "extra-high",
frame_count = 64,
line_length = 8,
width = 30,
height = 29,
animation_speed = 0.5,
shift = util.by_pixel(13, -23.25),
scale = 0.5
}
},
fire_glow_flicker_enabled = true,
fire_glow = {
north = {
filename = ENTITYPATH .. "boiler-N-light.png",
priority = "extra-high",
frame_count = 1,
width = 200,
height = 173,
shift = util.by_pixel(-1, -6.75),
blend_mode = "additive",
scale = 0.5
},
east = {
filename = ENTITYPATH .. "boiler-E-light.png",
priority = "extra-high",
frame_count = 1,
width = 139,
height = 244,
shift = util.by_pixel(0.25, -13),
blend_mode = "additive",
scale = 0.5
},
south = {
filename = ENTITYPATH .. "boiler-S-light.png",
priority = "extra-high",
frame_count = 1,
width = 200,
height = 162,
shift = util.by_pixel(1, 5.5),
blend_mode = "additive",
scale = 0.5
},
west = {
filename = ENTITYPATH .. "boiler-W-light.png",
priority = "extra-high",
frame_count = 1,
width = 136,
height = 217,
shift = util.by_pixel(2, -6.25),
blend_mode = "additive",
scale = 0.5
}
},
burning_cooldown = 20
},
}) })
end end

View file

@ -2,78 +2,77 @@ local BioInd = require('common')('Bio_Industries_2')
local ICONPATH = BioInd.modRoot .. "/graphics/icons/" local ICONPATH = BioInd.modRoot .. "/graphics/icons/"
require ("util") require("util")
--- Bio Garden --- Bio Garden
data:extend({ data:extend({
{ {
type = "assembling-machine", type = "assembling-machine",
name = "bi-bio-garden", name = "bi-bio-garden",
icon = ICONPATH .. "bio_garden_icon.png",
icon_size = 64,
icons = {
{
icon = ICONPATH .. "bio_garden_icon.png", icon = ICONPATH .. "bio_garden_icon.png",
icon_size = 64, icon_size = 64,
} icons = {
{
icon = ICONPATH .. "bio_garden_icon.png",
icon_size = 64,
}
},
flags = { "placeable-neutral", "placeable-player", "player-creation" },
minable = { hardness = 0.2, mining_time = 0.5, result = "bi-bio-garden" },
fast_replaceable_group = "bi-bio-garden",
max_health = 150,
corpse = "medium-remnants",
collision_box = { { -1.2, -1.2 }, { 1.2, 1.2 } },
selection_box = { { -1.5, -1.5 }, { 1.5, 1.5 } },
fluid_boxes = {
{
production_type = "input",
pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
volume = 1000,
base_level = -1,
pipe_connections = { { flow_direction = "input", direction = defines.direction.north, position = { 0, -1 } } }
},
},
fluid_boxes_off_when_no_fluid_recipe = true,
graphics_set = {
animation = {
filename = "__Bio_Industries_2__/graphics/entities/biogarden/bio_garden_x.png",
width = 160,
height = 160,
frame_count = 12,
line_length = 4,
animation_speed = 0.025,
shift = { 0.45, 0 }
},
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
working_sound = {
sound = { { filename = "__Bio_Industries_2__/sound/rainforest_ambience.ogg", volume = 0.8 } },
idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 },
apparent_volume = 1.5,
},
crafting_categories = { "clean-air" },
source_inventory_size = 1,
result_inventory_size = 1,
crafting_speed = 1.0,
energy_source = {
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = { pollution = -45 }, -- Negative value: pollution is absorbed!
},
energy_usage = "200kW",
ingredient_count = 1,
-- Changed for 0.18.34/1.1.4 -- Modules don't make sense for the gardens!
-- (Efficiency modules are also meant to reduce pollution, but as the base value
-- is negative, the resulting value is greater than the base value! )
module_specification = {
module_slots = 1
},
-- Changed for 0.18.34/1.1.4 -- We need to use an empty table here, so the gardens
-- won't be affected by beacons!
allowed_effects = { "consumption", "speed" },
}, },
flags = {"placeable-neutral", "placeable-player", "player-creation"},
minable = {hardness = 0.2, mining_time = 0.5, result = "bi-bio-garden"},
fast_replaceable_group = "bi-bio-garden",
max_health = 150,
corpse = "medium-remnants",
collision_box = {{-1.2, -1.2}, {1.2, 1.2}},
selection_box = {{-1.5, -1.5}, {1.5, 1.5}},
fluid_boxes = {
{
production_type = "input",
pipe_picture = assembler3pipepictures(),
pipe_covers = pipecoverspictures(),
volume = 1000,
base_level = -1,
pipe_connections = {{ flow_direction = "input", direction = defines.direction.north, position = {0, -1} }}
},
},
fluid_boxes_off_when_no_fluid_recipe = true,
animation = {
filename = "__Bio_Industries_2__/graphics/entities/biogarden/bio_garden_x.png",
width = 160,
height = 160,
frame_count = 12,
line_length = 4,
animation_speed = 0.025,
shift = {0.45, 0}
},
open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 },
close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 },
working_sound = {
sound = { { filename = "__Bio_Industries_2__/sound/rainforest_ambience.ogg", volume = 0.8 } },
idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 },
apparent_volume = 1.5,
},
crafting_categories = {"clean-air"},
source_inventory_size = 1,
result_inventory_size = 1,
crafting_speed = 1.0,
energy_source = {
type = "electric",
usage_priority = "secondary-input",
emissions_per_minute = { pollution = -45 }, -- Negative value: pollution is absorbed!
},
energy_usage = "200kW",
ingredient_count = 1,
-- Changed for 0.18.34/1.1.4 -- Modules don't make sense for the gardens!
-- (Efficiency modules are also meant to reduce pollution, but as the base value
-- is negative, the resulting value is greater than the base value! )
module_specification = {
module_slots = 1
},
-- Changed for 0.18.34/1.1.4 -- We need to use an empty table here, so the gardens
-- won't be affected by beacons!
allowed_effects = {"consumption", "speed"},
},
}) })

View file

@ -1,6 +1,6 @@
local tile_graphics = require("__base__/prototypes/tile/tile-graphics") local tile_graphics = require("__base__/prototypes/tile/tile-graphics")
local BioInd = require('common')('Bio_Industries_2') local BioInd = require('common')('Bio_Industries_2')
require ("util") require("util")
local ICONPATH = BioInd.modRoot .. "/graphics/icons/" local ICONPATH = BioInd.modRoot .. "/graphics/icons/"
local ENTITYPATH = "__Bio_Industries_2__/graphics/entities/bio_solar_farm/" local ENTITYPATH = "__Bio_Industries_2__/graphics/entities/bio_solar_farm/"
@ -8,443 +8,447 @@ local ENTITYPATH = "__Bio_Industries_2__/graphics/entities/bio_solar_farm/"
if BI.Settings.BI_Solar_Additions then if BI.Settings.BI_Solar_Additions then
local sounds = {}
sounds.walking_sound = {}
local sounds = {} for i = 1, 11 do
sounds.walking_sound = {} sounds.walking_sound[i] = {
for i = 1, 11 do filename = "__base__/sound/walking/concrete-" .. i .. ".ogg",
sounds.walking_sound[i] = { volume = 1.2
filename = "__base__/sound/walking/concrete-" .. i ..".ogg",
volume = 1.2
}
end
data:extend({
------- Bio Farm Solar Panel
{
type = "solar-panel",
name = "bi-bio-solar-farm",
icon = ICONPATH .. "Bio_Solar_Farm_Icon.png",
icon_size = 64,
icons = {
{
icon = ICONPATH .. "Bio_Solar_Farm_Icon.png",
icon_size = 64,
}
},
-- This is necessary for "Space Exploration" (if not true, the entity can only be
-- placed on Nauvis)!
se_allow_in_space = true,
flags = {"placeable-neutral", "player-creation"},
minable = {hardness = 0.25, mining_time = 0.5, result = "bi-bio-solar-farm"},
max_health = 600,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
resistances = {{type = "fire", percent = 80}},
collision_box = {{-4.2, -4.2}, {4.2, 4.2}},
selection_box = {{-4.5, -4.5}, {4.5, 4.5}},
energy_source = {
type = "electric",
usage_priority = "solar"
},
picture = {
filename = ENTITYPATH .. "Bio_Solar_Farm_On.png",
priority = "low",
width = 312,
height = 289,
frame_count = 1,
direction_count = 1,
--scale = 3/2,
shift = {0.30, 0}
},
production = "3600kW"
},
---- BI Accumulator
{
type = "accumulator",
name = "bi-bio-accumulator",
icon = ICONPATH .. "bi_LargeAccumulator.png",
icon_size = 64,
icons = {
{
icon = ICONPATH .. "bi_LargeAccumulator.png",
icon_size = 64,
}
},
-- This is necessary for "Space Exploration" (if not true, the entity can only be
-- placed on Nauvis)!
se_allow_in_space = true,
flags = {"placeable-neutral", "player-creation"},
minable = {hardness = 0.2, mining_time = 0.5, result = "bi-bio-accumulator"},
max_health = 500,
corpse = "big-remnants",
collision_box = {{-1.75, -1.75}, {1.75, 1.75}},
selection_box = {{-2, -2}, {2, 2}},
--collision_box = {{-2, -2}, {2, 2}},
--selection_box = {{-2.5, -2.5}, {2.5, 2.5}},
energy_source = {
type = "electric",
buffer_capacity = "300MJ",
usage_priority = "tertiary",
input_flow_limit = "20MW",
output_flow_limit = "20MW"
},
picture = {
filename = ENTITYPATH .. "bi_LargeAccumulator.png",
priority = "extra-high",
width = 245,
height = 245,
shift = {0.75, -0.5},
scale = 0.75,
},
charge_animation = {
filename = ENTITYPATH .. "bi_LargeAccumulatorAnimated.png",
width = 250,
height = 250,
line_length = 8,
frame_count = 24,
shift = {0.75, -0.5},
scale = 0.75,
animation_speed = 0.5
},
charge_cooldown = 30,
charge_light = {intensity = 0.3, size = 7, color = {r = 1.0, g = 1.0, b = 1.0}},
discharge_animation = {
filename = ENTITYPATH .. "bi_LargeAccumulatorAnimated.png",
width = 250,
height = 250,
line_length = 8,
frame_count = 24,
shift = {0.75, -0.5},
scale = 0.75,
animation_speed = 0.5
},
discharge_cooldown = 60,
discharge_light = {intensity = 0.7, size = 7, color = {r = 1.0, g = 1.0, b = 1.0}},
working_sound = {
sound = {
filename = "__base__/sound/accumulator-working.ogg",
volume = 1
},
idle_sound = {
filename = "__base__/sound/accumulator-idle.ogg",
volume = 0.4
},
max_sounds_per_type = 5
},
circuit_wire_connection_point = {
shadow = {
red = {0.984375, 1.10938},
green = {0.890625, 1.10938}
},
wire = {
red = {0.6875, 0.59375},
green = {0.6875, 0.71875}
}
},
--circuit_connector_sprites = get_circuit_connector_sprites({0.46875, 0.5}, {0.46875, 0.8125}, 26),
circuit_wire_max_distance = 9,
default_output_signal = {type = "virtual", name = "signal-A"}
},
---- Large Substation
{
type = "electric-pole",
name = "bi-large-substation",
localised_name = {"entity-name.bi-large-substation"},
localised_description = {"entity-description.bi-large-substation"},
icon = ICONPATH .. "bi_LargeSubstation_icon.png",
icon_size = 64,
icons = {
{
icon = ICONPATH .. "bi_LargeSubstation_icon.png",
icon_size = 64,
}
},
-- This is necessary for "Space Exploration" (if not true, the entity can only be
-- placed on Nauvis)!
se_allow_in_space = true,
flags = {"placeable-neutral", "player-creation"},
minable = {hardness = 0.2, mining_time = 0.5, result = "bi-large-substation"},
max_health = 600,
corpse = "big-remnants",
dying_explosion = "big-explosion",
track_coverage_during_build_by_moving = true,
resistances = {
{
type = "fire",
percent = 90
}
},
collision_box = {{-2.4, -2.4}, {2.4, 2.4}},
selection_box = {{-2.5, -2.5}, {2.5, 2.5}},
drawing_box = {{-2.5, -5}, {2.5, 2.5}},
maximum_wire_distance = 25,
-- Changed for 0.18.34/1.1.4
supply_area_distance = 50.5,
pictures = {
filename = ENTITYPATH .. "bi_LargeSubstation.png",
priority = "high",
width = 450,
height = 380,
shift = {1, -0.5},
direction_count = 1,
scale = 0.5,
},
working_sound = {
sound = { filename = "__base__/sound/substation.ogg" },
apparent_volume = 1.8,
audible_distance_modifier = 0.5,
probability = 1 / (3 * 60) -- average pause between the sound is 3 seconds
},
connection_points = {
{
shadow = {
copper = {1.9, -0.6},
green = {1.3, -0.6},
red = {2.65, -0.6}
},
wire = {
copper = {-0.25, -2.71875},
green = {-0.84375, -2.71875},
red = {0.34375, -2.71875}
} }
}, end
},
radius_visualisation_picture = {
filename = "__base__/graphics/entity/small-electric-pole/electric-pole-radius-visualization.png",
width = 12,
height = 12,
--scale = 3,
--shift = {0.6, -0.6},
priority = "extra-high-no-scale"
},
},
data:extend({
---- Solar Floor ------- Bio Farm Solar Panel
{
type = "tile",
name = "bi-solar-mat",
localised_name = {"entity-name.bi-solar-mat"},
localised_description = {"entity-description.bi-solar-mat"},
icon = ICONPATH .. "solar-mat.png",
icon_size = 64,
icons = {
{
icon = ICONPATH .. "solar-mat.png",
icon_size = 64,
}
},
needs_correction = false,
minable = {hardness = 0.1, mining_time = 0.25, result = "bi-solar-mat"},
mined_sound = { filename = "__base__/sound/deconstruct-bricks.ogg" },
collision_mask = { layers = { ground_tile = true }},
collision_box = {{-0.5, -0.5}, {0.5, 0.5}},
walking_speed_modifier = 1.45,
layer = 62,
decorative_removal_probability = 1,
variants = {
transition = tile_graphics.generic_masked_tile_transitions1,
main = {
{ {
picture = ENTITYPATH .. "solar1.png", type = "solar-panel",
count = 1, name = "bi-bio-solar-farm",
size = 1, icon = ICONPATH .. "Bio_Solar_Farm_Icon.png",
probability = 1, icon_size = 64,
icons = {
{
icon = ICONPATH .. "Bio_Solar_Farm_Icon.png",
icon_size = 64,
}
},
-- This is necessary for "Space Exploration" (if not true, the entity can only be
-- placed on Nauvis)!
se_allow_in_space = true,
flags = { "placeable-neutral", "player-creation" },
minable = { hardness = 0.25, mining_time = 0.5, result = "bi-bio-solar-farm" },
max_health = 600,
corpse = "big-remnants",
dying_explosion = "medium-explosion",
resistances = { { type = "fire", percent = 80 } },
collision_box = { { -4.2, -4.2 }, { 4.2, 4.2 } },
selection_box = { { -4.5, -4.5 }, { 4.5, 4.5 } },
energy_source = {
type = "electric",
usage_priority = "solar"
},
picture = {
filename = ENTITYPATH .. "Bio_Solar_Farm_On.png",
priority = "low",
width = 312,
height = 289,
frame_count = 1,
direction_count = 1,
--scale = 3/2,
shift = { 0.30, 0 }
},
production = "3600kW"
}, },
},
inner_corner = {
picture = ENTITYPATH .. "solar-inner-corner.png",
count = 8
},
outer_corner = {
picture = ENTITYPATH .. "solar-outer-corner.png",
count = 8
},
side = {
picture = ENTITYPATH .. "solar-side.png",
count = 8
},
u_transition = {
picture = ENTITYPATH .. "solar-u.png",
count = 8
},
o_transition = {
picture = ENTITYPATH .. "solar-o.png",
count = 1
}
},
walking_sound = sounds.walking_sound,
map_color = {r = 93, g = 138, b = 168},
vehicle_friction_modifier = dirt_vehicle_speed_modifer
},
})
data:extend({
------- Boiler for Solar Plant / Boiler ---- BI Accumulator
{ {
type = "boiler", type = "accumulator",
name = "bi-solar-boiler", name = "bi-bio-accumulator",
icon = ICONPATH .. "Bio_Solar_Boiler_Boiler_Icon.png", icon = ICONPATH .. "bi_LargeAccumulator.png",
icon_size = 64, icon_size = 64,
icons = { icons = {
{ {
icon = ICONPATH .. "Bio_Solar_Boiler_Boiler_Icon.png", icon = ICONPATH .. "bi_LargeAccumulator.png",
icon_size = 64, icon_size = 64,
} }
}, },
-- This is necessary for "Space Exploration" (if not true, the entity can only be -- This is necessary for "Space Exploration" (if not true, the entity can only be
-- placed on Nauvis)! -- placed on Nauvis)!
se_allow_in_space = true, se_allow_in_space = true,
flags = {"placeable-neutral", "player-creation"}, flags = { "placeable-neutral", "player-creation" },
minable = {hardness = 0.2, mining_time = 1, result = "bi-solar-boiler"}, minable = { hardness = 0.2, mining_time = 0.5, result = "bi-bio-accumulator" },
max_health = 400, max_health = 500,
corpse = "small-remnants", corpse = "big-remnants",
vehicle_impact_sound = sounds.generic_impact, collision_box = { { -1.75, -1.75 }, { 1.75, 1.75 } },
mode = "output-to-separate-pipe", selection_box = { { -2, -2 }, { 2, 2 } },
resistances = { --collision_box = {{-2, -2}, {2, 2}},
{ --selection_box = {{-2.5, -2.5}, {2.5, 2.5}},
type = "fire", energy_source = {
percent = 100 type = "electric",
}, buffer_capacity = "300MJ",
{ usage_priority = "tertiary",
type = "explosion", input_flow_limit = "20MW",
percent = 30 output_flow_limit = "20MW"
}, },
{ chargable_graphics = {
type = "impact", picture = {
percent = 30 filename = ENTITYPATH .. "bi_LargeAccumulator.png",
} priority = "extra-high",
}, width = 245,
collision_box = {{-4.2, -4.2}, {4.2, 4.2}}, height = 245,
selection_box = {{-4.5, -4.5}, {4.5, 4.5}}, shift = { 0.75, -0.5 },
target_temperature = 235, scale = 0.75,
fluid_box = { },
volume = 200, charge_animation = {
base_level = -1, filename = ENTITYPATH .. "bi_LargeAccumulatorAnimated.png",
pipe_covers = pipecoverspictures(), width = 250,
pipe_connections = { height = 250,
{flow_direction = "input-output", direction = defines.direction.north, position = {4, 0}}, line_length = 8,
{flow_direction = "input-output", direction = defines.direction.north, position = {-4, 0}}, frame_count = 24,
}, shift = { 0.75, -0.5 },
production_type = "input-output", scale = 0.75,
filter = "water" animation_speed = 0.5
}, },
output_fluid_box = { charge_cooldown = 30,
volume = 200, charge_light = { intensity = 0.3, size = 7, color = { r = 1.0, g = 1.0, b = 1.0 } },
base_level = 1, discharge_animation = {
pipe_covers = pipecoverspictures(), filename = ENTITYPATH .. "bi_LargeAccumulatorAnimated.png",
pipe_connections = { width = 250,
{flow_direction = "input-output", direction = defines.direction.north, position = {0, 4}}, height = 250,
{flow_direction = "input-output", direction = defines.direction.north, position = {0, -4}}, line_length = 8,
}, frame_count = 24,
production_type = "output", shift = { 0.75, -0.5 },
filter = "steam" scale = 0.75,
}, animation_speed = 0.5
energy_consumption = "1.799MW", },
energy_source = { discharge_cooldown = 60,
type = "electric", discharge_light = { intensity = 0.7, size = 7, color = { r = 1.0, g = 1.0, b = 1.0 } },
input_priority = "primary", },
usage_priority = "primary-input", working_sound = {
--emissions_per_minute = 0 -- NO Emmisions sound = {
}, filename = "__base__/sound/accumulator-working.ogg",
working_sound = { volume = 1
sound = { },
filename = "__base__/sound/boiler.ogg", idle_sound = {
volume = 0.9 filename = "__base__/sound/accumulator-idle.ogg",
}, volume = 0.4
max_sounds_per_type = 3 },
}, max_sounds_per_type = 5
structure = { },
north = { circuit_wire_connection_point = {
layers = { shadow = {
{ red = { 0.984375, 1.10938 },
filename = ENTITYPATH .. "Bio_Solar_Boiler.png", green = { 0.890625, 1.10938 }
priority = "high", },
width = 288, wire = {
height = 288, red = { 0.6875, 0.59375 },
}, green = { 0.6875, 0.71875 }
} }
}, },
east = { --circuit_connector_sprites = get_circuit_connector_sprites({0.46875, 0.5}, {0.46875, 0.8125}, 26),
layers = { circuit_wire_max_distance = 9,
{ default_output_signal = { type = "virtual", name = "signal-A" }
filename = ENTITYPATH .. "Bio_Solar_Boiler.png",
priority = "high",
width = 288,
height = 288,
},
}, },
},
south = {
layers = {
{
filename = ENTITYPATH .. "Bio_Solar_Boiler.png",
priority = "high",
width = 288,
height = 288,
},
}
},
west = {
layers = {
{
filename = ENTITYPATH .. "Bio_Solar_Boiler.png",
priority = "high",
width = 288,
height = 288,
},
}
}
},
fire_flicker_enabled = false,
fire = {},
fire_glow_flicker_enabled = false,
fire_glow = {
north = {
filename = "__Bio_Industries_2__/graphics/entities/small-lamp/light-on-patch.png",
priority = "extra-high",
frame_count = 1,
width = 62,
height = 62,
shift = {0.09, -2.8},
scale = 1.5,
blend_mode = "additive",
},
east = {
filename = "__Bio_Industries_2__/graphics/entities/small-lamp/light-on-patch.png",
priority = "extra-high",
frame_count = 1,
width = 62,
height = 62,
shift = {0, -3},
blend_mode = "additive",
},
south = {
filename = "__Bio_Industries_2__/graphics/entities/small-lamp/light-on-patch.png",
priority = "extra-high",
frame_count = 1,
width = 62,
height = 62,
shift = {0, -3},
blend_mode = "additive",
},
west = {
filename = "__Bio_Industries_2__/graphics/entities/small-lamp/light-on-patch.png",
priority = "extra-high",
frame_count = 1,
width = 62,
height = 62,
shift = {0, -3},
blend_mode = "additive",
},
},
burning_cooldown = 20
},
})
---- Large Substation
{
type = "electric-pole",
name = "bi-large-substation",
localised_name = { "entity-name.bi-large-substation" },
localised_description = { "entity-description.bi-large-substation" },
icon = ICONPATH .. "bi_LargeSubstation_icon.png",
icon_size = 64,
icons = {
{
icon = ICONPATH .. "bi_LargeSubstation_icon.png",
icon_size = 64,
}
},
-- This is necessary for "Space Exploration" (if not true, the entity can only be
-- placed on Nauvis)!
se_allow_in_space = true,
flags = { "placeable-neutral", "player-creation" },
minable = { hardness = 0.2, mining_time = 0.5, result = "bi-large-substation" },
max_health = 600,
corpse = "big-remnants",
dying_explosion = "big-explosion",
track_coverage_during_build_by_moving = true,
resistances = {
{
type = "fire",
percent = 90
}
},
collision_box = { { -2.4, -2.4 }, { 2.4, 2.4 } },
selection_box = { { -2.5, -2.5 }, { 2.5, 2.5 } },
drawing_box = { { -2.5, -5 }, { 2.5, 2.5 } },
maximum_wire_distance = 25,
-- Changed for 0.18.34/1.1.4
supply_area_distance = 50.5,
pictures = {
filename = ENTITYPATH .. "bi_LargeSubstation.png",
priority = "high",
width = 450,
height = 380,
shift = { 1, -0.5 },
direction_count = 1,
scale = 0.5,
},
working_sound = {
sound = { filename = "__base__/sound/substation.ogg" },
apparent_volume = 1.8,
audible_distance_modifier = 0.5,
probability = 1 / (3 * 60) -- average pause between the sound is 3 seconds
},
connection_points = {
{
shadow = {
copper = { 1.9, -0.6 },
green = { 1.3, -0.6 },
red = { 2.65, -0.6 }
},
wire = {
copper = { -0.25, -2.71875 },
green = { -0.84375, -2.71875 },
red = { 0.34375, -2.71875 }
}
},
},
radius_visualisation_picture = {
filename = "__base__/graphics/entity/small-electric-pole/electric-pole-radius-visualization.png",
width = 12,
height = 12,
--scale = 3,
--shift = {0.6, -0.6},
priority = "extra-high-no-scale"
},
},
---- Solar Floor
{
type = "tile",
name = "bi-solar-mat",
localised_name = { "entity-name.bi-solar-mat" },
localised_description = { "entity-description.bi-solar-mat" },
icon = ICONPATH .. "solar-mat.png",
icon_size = 64,
icons = {
{
icon = ICONPATH .. "solar-mat.png",
icon_size = 64,
}
},
needs_correction = false,
minable = { hardness = 0.1, mining_time = 0.25, result = "bi-solar-mat" },
mined_sound = { filename = "__base__/sound/deconstruct-bricks.ogg" },
collision_mask = { layers = { ground_tile = true } },
collision_box = { { -0.5, -0.5 }, { 0.5, 0.5 } },
walking_speed_modifier = 1.45,
layer = 62,
decorative_removal_probability = 1,
variants = {
transition = tile_graphics.generic_masked_tile_transitions1,
main = {
{
picture = ENTITYPATH .. "solar1.png",
count = 1,
size = 1,
probability = 1,
},
},
inner_corner = {
picture = ENTITYPATH .. "solar-inner-corner.png",
count = 8
},
outer_corner = {
picture = ENTITYPATH .. "solar-outer-corner.png",
count = 8
},
side = {
picture = ENTITYPATH .. "solar-side.png",
count = 8
},
u_transition = {
picture = ENTITYPATH .. "solar-u.png",
count = 8
},
o_transition = {
picture = ENTITYPATH .. "solar-o.png",
count = 1
}
},
walking_sound = sounds.walking_sound,
map_color = { r = 93, g = 138, b = 168 },
vehicle_friction_modifier = dirt_vehicle_speed_modifer
},
})
data:extend({
------- Boiler for Solar Plant / Boiler
{
type = "boiler",
name = "bi-solar-boiler",
icon = ICONPATH .. "Bio_Solar_Boiler_Boiler_Icon.png",
icon_size = 64,
icons = {
{
icon = ICONPATH .. "Bio_Solar_Boiler_Boiler_Icon.png",
icon_size = 64,
}
},
-- This is necessary for "Space Exploration" (if not true, the entity can only be
-- placed on Nauvis)!
se_allow_in_space = true,
flags = { "placeable-neutral", "player-creation" },
minable = { hardness = 0.2, mining_time = 1, result = "bi-solar-boiler" },
max_health = 400,
corpse = "small-remnants",
vehicle_impact_sound = sounds.generic_impact,
mode = "output-to-separate-pipe",
resistances = {
{
type = "fire",
percent = 100
},
{
type = "explosion",
percent = 30
},
{
type = "impact",
percent = 30
}
},
collision_box = { { -4.2, -4.2 }, { 4.2, 4.2 } },
selection_box = { { -4.5, -4.5 }, { 4.5, 4.5 } },
target_temperature = 235,
fluid_box = {
volume = 200,
base_level = -1,
pipe_covers = pipecoverspictures(),
pipe_connections = {
{ flow_direction = "input-output", direction = defines.direction.east, position = { 4, 0 } },
{ flow_direction = "input-output", direction = defines.direction.west, position = { -4, 0 } },
},
production_type = "input-output",
filter = "water"
},
output_fluid_box = {
volume = 200,
base_level = 1,
pipe_covers = pipecoverspictures(),
pipe_connections = {
{ flow_direction = "input-output", direction = defines.direction.south, position = { 0, 4 } },
{ flow_direction = "input-output", direction = defines.direction.north, position = { 0, -4 } },
},
production_type = "output",
filter = "steam"
},
energy_consumption = "1.799MW",
energy_source = {
type = "electric",
input_priority = "primary",
usage_priority = "primary-input",
--emissions_per_minute = 0 -- NO Emmisions
},
working_sound = {
sound = {
filename = "__base__/sound/boiler.ogg",
volume = 0.9
},
max_sounds_per_type = 3
},
pictures = {
north = {
structure = {
layers = {
{
filename = ENTITYPATH .. "Bio_Solar_Boiler.png",
priority = "high",
width = 288,
height = 288,
},
}
},
fire_glow = {
filename = "__Bio_Industries_2__/graphics/entities/small-lamp/light-on-patch.png",
priority = "extra-high",
frame_count = 1,
width = 62,
height = 62,
shift = { 0.09, -2.8 },
scale = 1.5,
blend_mode = "additive",
},
},
east = {
structure = {
layers = {
{
filename = ENTITYPATH .. "Bio_Solar_Boiler.png",
priority = "high",
width = 288,
height = 288,
},
},
},
fire_glow = {
filename = "__Bio_Industries_2__/graphics/entities/small-lamp/light-on-patch.png",
priority = "extra-high",
frame_count = 1,
width = 62,
height = 62,
shift = { 0, -3 },
blend_mode = "additive",
},
},
south = {
structure = {
layers = {
{
filename = ENTITYPATH .. "Bio_Solar_Boiler.png",
priority = "high",
width = 288,
height = 288,
},
}
},
fire_glow = {
filename = "__Bio_Industries_2__/graphics/entities/small-lamp/light-on-patch.png",
priority = "extra-high",
frame_count = 1,
width = 62,
height = 62,
shift = { 0, -3 },
blend_mode = "additive",
},
},
west = {
structure = {
layers = {
{
filename = ENTITYPATH .. "Bio_Solar_Boiler.png",
priority = "high",
width = 288,
height = 288,
},
}
},
fire_glow = {
filename = "__Bio_Industries_2__/graphics/entities/small-lamp/light-on-patch.png",
priority = "extra-high",
frame_count = 1,
width = 62,
height = 62,
shift = { 0, -3 },
blend_mode = "additive",
},
}
},
fire_flicker_enabled = false,
fire_glow_flicker_enabled = false,
burning_cooldown = 20
},
})
end end

View file

@ -1,6 +1,6 @@
-- Add functions that are also used in other files (debugging output etc.) -- Add functions that are also used in other files (debugging output etc.)
local BioInd = require('common')('Bio_Industries_2') local BioInd = require('common')('Bio_Industries_2')
BioInd.writeDebug("Entered prototypes.hidden_panels.lua of \"%s\".", {BioInd.modName}) BioInd.writeDebug("Entered prototypes.hidden_panels.lua of \"%s\".", { BioInd.modName })
local ICONPATH = BioInd.modRoot .. "/graphics/icons/" local ICONPATH = BioInd.modRoot .. "/graphics/icons/"
@ -46,56 +46,48 @@ local tmp, panel
local c_entities = BioInd.compound_entities local c_entities = BioInd.compound_entities
for panel_name, locale_name in pairs(BI.hidden_entities.types[h_key]) do for panel_name, locale_name in pairs(BI.hidden_entities.types[h_key]) do
panel = table.deepcopy(h_entity) panel = table.deepcopy(h_entity)
panel.name = panel_name panel.name = panel_name
panel.localised_name = {"entity-name." .. locale_name} panel.localised_name = { "entity-name." .. locale_name }
panel.localised_description = {"entity-description." .. locale_name} panel.localised_description = { "entity-description." .. locale_name }
-- Adjust properties for hidden panel of Solar boiler -- Adjust properties for hidden panel of Solar boiler
if c_entities["bi-solar-boiler"] and if c_entities["bi-solar-boiler"] and
panel_name == c_entities["bi-solar-boiler"].hidden[h_key].name then panel_name == c_entities["bi-solar-boiler"].hidden[h_key].name then
panel.icon = ICONPATH .. "Bio_Solar_Boiler_Icon.png"
panel.icon_size = 64
panel.BI_add_icon = true
panel.picture = nil
panel.overlay = nil
panel.max_health = 400
panel.render_no_power_icon = true
panel.collision_box = { { -4.2, -4.2 }, { 4.2, 4.2 } }
panel.production = "1.8MW"
BioInd.show("Adjusted properties of", panel_name)
panel.icon = ICONPATH .. "Bio_Solar_Boiler_Icon.png" -- Adjust properties for hidden panel of bio farms
panel.icon_size = 64 elseif c_entities["bi-bio-farm"] and
panel.BI_add_icon = true c_entities["bi-bio-farm"].hidden[h_key] and
panel_name == c_entities["bi-bio-farm"].hidden[h_key].name then
panel.icon = ICONPATH .. "Bio_Farm_Solar.png"
panel.icon_size = 64
panel.BI_add_icon = true
panel.production = "100kW"
BioInd.show("Adjusted properties of", panel_name)
panel.picture = {} -- Adjust properties for hidden panel of Musk floor
panel.picture = BI.add_layer(panel.picture, { elseif panel_name == Musk_name then
name = BioInd.modRoot .. "/graphics/entities/bio_solar_farm/Bio_Solar_Boiler.png", panel.icon = ICONPATH .. "solar-mat.png"
size = 288 panel.icon_size = 64
}) panel.BI_add_icon = true
panel.overlay = {} panel.production = "10kW"
panel.overlay = table.deepcopy(panel.picture) BioInd.show("Adjusted properties of", panel_name)
end
panel.max_health = 400 data:extend({ panel })
panel.render_no_power_icon = true
panel.collision_box = {{-4.2, -4.2}, {4.2, 4.2}}
panel.production = "1.8MW"
BioInd.show("Adjusted properties of", panel_name)
-- Adjust properties for hidden panel of bio farms BioInd.show("Created", panel_name)
elseif c_entities["bi-bio-farm"] and
c_entities["bi-bio-farm"].hidden[h_key] and
panel_name == c_entities["bi-bio-farm"].hidden[h_key].name then
panel.icon = ICONPATH .. "Bio_Farm_Solar.png"
panel.icon_size = 64
panel.BI_add_icon = true
panel.production = "100kW"
BioInd.show("Adjusted properties of", panel_name)
-- Adjust properties for hidden panel of Musk floor
elseif panel_name == Musk_name then
panel.icon = ICONPATH .. "solar-mat.png"
panel.icon_size = 64
panel.BI_add_icon = true
panel.production = "10kW"
BioInd.show("Adjusted properties of", panel_name)
end
data:extend({panel})
BioInd.show("Created", panel_name)
end end