[0.17.41] Robots approach but never enter modded roboport
Posted: Sat May 18, 2019 10:34 am
I have a modded roboport entity with a void energy source; it is intended to provide logistic network connection and robot/repair pack storage, but to be unable to charge robots. No matter how I adjust the entity attributes, robots looking for a home while not in need of charging will approach the entity and hover at it forever, without ever entering it. Robots that do need charging correctly avoid it altogether. While I could see this being simply a matter of a roboport with no charging stations being unsupported, there is nothing to suggest this in the roboport documentation, so filing it as a bug. This is the latest prototype definition I've tried (some of the attributes are a little odd because I've extracted this from the output of utility functions that also build several other prototypes):
EDIT: Adding charging stations and switching to an electric power source did nothing to help, so I'm at a loss for what's wrong.
EDIT 2: It turns out that a combination of the request_to_open_door_timeout and the lack of even one charging station is responsible. Once the timeout is set at or above 1.0 and at least one charging station is available, the roboport works normally. Unfortunately this isn't my desired configuration; it makes a no-charging roboport effectively impossible to create.
EDIT: Adding charging stations and switching to an electric power source did nothing to help, so I'm at a loss for what's wrong.
EDIT 2: It turns out that a combination of the request_to_open_door_timeout and the lack of even one charging station is responsible. Once the timeout is set at or above 1.0 and at least one charging station is available, the roboport works normally. Unfortunately this isn't my desired configuration; it makes a no-charging roboport effectively impossible to create.
Code: Select all
type = 'roboport',
name = 'logistic-base-station',
icon = '__MyMod__/graphics/icons/logistic-base-station.png',
icon_size = 32,
flags = {"placeable-player", "player-creation"},
minable = {mining_time = 0.1, result = 'logistic-base-station'},
max_health = 500,
corpse = 'big-remnants',
dying_explosion = 'big-explosion',
allowed_effects = {"consumption", "speed", "productivity", "pollution"},
resistances = {{type = "fire", percent = 70}},
working_sound = data.raw['roboport']['roboport'].working_sound,
vehicle_impact_sound = data.raw['roboport']['roboport'].vehicle_impact_sound,
scale_entity_info_icon = true,
energy_source = {type = "void", emissions_per_minute = 100},
logistics_radius = 50,
construction_radius = 110,
logistic_connection_distance = 51,
base = { layers = { -- 3 layers of graphics } },
base_animation = {layers = { -- 3 layers of graphics } },
open_door_trigger_effect = {{type = "play-sound", sound = {filename = "__base__/sound/roboport-door.ogg", volume = 1.0}}},
close_door_trigger_effect = {{type = "play-sound", sound = {filename = "__base__/sound/roboport-door.ogg", volume = 0.75}}},
robot_slots_count = 10,
material_slots_count = 10,
request_to_open_door_timeout = 1.0,
spawn_and_station_height = 1.5,
energy_usage = "1kW", -- have also tried setting this to very small values
charging_energy = "1kW", -- have also tried setting this to very small values
recharge_minimum = "1TJ", -- have also tried setting this to 0 and less huge values
circuit_wire_max_distance = 0,
corpse = "medium-remnants",
dying_explosion = "medium-explosion",
base_patch = { -- graphics },
door_animation_up = data.raw['roboport']['roboport'].door_animation_up,
door_animation_down = data.raw['roboport']['roboport'].door_animation_down,
recharging_animation = { -- graphics },
charge_approach_distance = 0.1,
draw_logistic_radius_visualization = true,
draw_construction_radius_visualization = true,
collision_box = data.raw['roboport']['roboport'].collision_box,
selection_box = data.raw['roboport']['roboport'].selection_box,
circuit_wire_connection_point = data.raw['roboport']['roboport'].circuit_wire_connection_point,
circuit_connector_sprites = data.raw['roboport']['roboport'].circuit_connector_sprites,
default_available_logistic_output_signal = data.raw['roboport']['roboport'].default_available_logistic_output_signal,
default_total_logistic_output_signal = data.raw['roboport']['roboport'].default_total_logistic_output_signal,
default_available_construction_output_signal = data.raw['roboport']['roboport'].default_available_construction_output_signal,
default_total_construction_output_signal = data.raw['roboport']['roboport'].default_total_construction_output_signal,