Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion data/compatibility/krastorio2.lua
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
if mods["Krastorio2"] then
local spider = data.raw["spider-vehicle"]["constructron"]
if spider then
if data.raw["spider-vehicle"]["constructron"] then
spider.equipment_grid = "kr-spidertron-equipment-grid"
end
local spider_rocket = data.raw["spider-vehicle"]["constructron-rocket-powered"]
if data.raw["spider-vehicle"]["constructron-rocket-powered"] then
spider_rocket.equipment_grid = "kr-spidertron-equipment-grid"
end
end
114 changes: 45 additions & 69 deletions data/constructron-rocket-powered.lua
Original file line number Diff line number Diff line change
@@ -1,70 +1,53 @@
local lib_spider = require("data/lib/lib_spider")

-------------------------------------------------------------------------------
------------------------------------------------------------------------------
-- Entity
-------------------------------------------------------------------------------

local spidertron_definition = {
local args = {
name = "constructron-rocket-powered",
guns = {},
scale = 1,
leg_scale = 0,
legs = {
{
block = {1},
angle = 0,
length = 1
}
},
collision_mask = {"colliding-with-tiles-only", "ground-tile", "water-tile"}
leg_scale = 1,
leg_movement_speed = 1,
leg_thickness = 1,
}
local constructron = lib_spider.create_spidertron(spidertron_definition)
constructron.se_allow_in_space = true

if mods["Krastorio2"] then
constructron.equipment_grid = "kr-spidertron-equipment-grid"
end
local spider_leg = {
type = "spider-leg",
name = "constructron-rocket-powered-leg",
localised_name = {"entity-name.spidertron-leg"},
collision_box = {{-0.1, -0.1}, {0.1, 0.1}},
selection_box = {{-0.5, -0.5}, {0.5, 0.5}},
icon = "__base__/graphics/icons/spidertron.png",
collision_mask = { layers = { } },
target_position_randomisation_distance = 0.25,
minimal_step_size = 4,
stretch_force_scalar = 1,
knee_height = 2.5,
knee_distance_factor = 0.4,
initial_movement_speed = 100,
movement_acceleration = 100,
max_health = 100,
base_position_selection_distance = 6,
movement_based_position_selection_distance = 4,
selectable_in_game = false,
alert_when_damaged = false,
}
data:extend({spider_leg})

--Rocket flames
-- local layers = constructron.graphics_set.base_animation.layers
-- for _, layer in pairs(layers) do
-- layer.repeat_count = 8
-- layer.hr_version.repeat_count = 8
-- end
-- table.insert(
-- layers,
-- 1,
-- {
-- filename = "__base__/graphics/entity/rocket-silo/10-jet-flame.png",
-- priority = "medium",
-- blend_mode = "additive",
-- draw_as_glow = true,
-- width = 87,
-- height = 128,
-- frame_count = 8,
-- line_length = 8,
-- animation_speed = 0.5,
-- scale = 1.25,
-- shift = util.by_pixel(-0.5, 55),
-- direction_count = 1,
-- hr_version = {
-- filename = "__base__/graphics/entity/rocket-silo/hr-10-jet-flame.png",
-- priority = "medium",
-- blend_mode = "additive",
-- draw_as_glow = true,
-- width = 172,
-- height = 256,
-- frame_count = 8,
-- line_length = 8,
-- animation_speed = 0.5,
-- scale = 1.25 / 2,
-- shift = util.by_pixel(-1, 80),
-- direction_count = 1
-- }
-- }
-- )
create_spidertron(args)

local leg_entities = lib_spider.create_spidertron_legs(spidertron_definition)
-- remove legs from the spidertron entity
local spidertron = data.raw["spider-vehicle"]["constructron-rocket-powered"]
spidertron.spider_engine.legs = { -- 1
leg = "constructron-rocket-powered-leg",
mount_position = {0, -1},
ground_position = {0, -1},
walking_group = 1,
}

if mods["Krastorio2"] then
spidertron.equipment_grid = "kr-spidertron-equipment-grid"
end

-------------------------------------------------------------------------------
-- Item
Expand Down Expand Up @@ -97,23 +80,15 @@ local constructron_recipe = {
name = "constructron-rocket-powered",
enabled = false,
ingredients = {
{type = "item", name = "constructron", amount = 1},
{type = "item", name = "jetpack-1", amount = 4}
{type = "item", name = "spidertron", amount = 1},
{type = "item", name = "jetpack-1", amount = 4},
},
results = {
{type = "item", name = "constructron-rocket-powered", amount = 1}
{type = "item", name = "constructron-rocket-powered", amount = 1},
},
energy = 1
}

local ctron_rocket_powered = {constructron, constructron_item}
table.insert(ctron_rocket_powered, constructron_recipe)

for _, leg in pairs(leg_entities) do
leg.se_allow_in_space = true
table.insert(ctron_rocket_powered, leg)
end

-------------------------------------------------------------------------------
-- Technology
-------------------------------------------------------------------------------
Expand All @@ -129,4 +104,5 @@ table.insert(
-- Extend
-------------------------------------------------------------------------------

data:extend(ctron_rocket_powered)
data:extend({constructron_item})
data:extend({constructron_recipe})
8 changes: 8 additions & 0 deletions locale/ru/locale.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ missing_power=Необходим источник питания!
stuck=Застрял!
fleeing=Убегает!
trying_diff_station=Пробует другую станцию
no_station_power=Нет питания на станции!
no_logi_robots=В сети нет логистических роботов!
no_logi_storage=В сети нет логистического хранилища!
dest_station_invalid=Станция назначения не исправна!
Expand All @@ -49,6 +50,7 @@ no_landfill=Перезапуск задания: отсутствует отсы
clearing_inventory=Освобождает инвентарь
new=Новая задача
delivering_cargo=Выгружает
safe_position=Двигается на безопасную позицию

[ctron_gui_locale]
all_logistics_req=Логистические запросы
Expand All @@ -72,6 +74,7 @@ job_card_cargo_name=Доставка
job_card_destroy_name=Уничтожение
job_card_utility_name=Снабжение
job_status=Ожидание свободного Конструктрона
chunk_delay=Начало через __1__ секунд
job_locate_button=Показать
job_locate_button_tooltip=Посмотреть место задачи
job_remote_button=Управление
Expand Down Expand Up @@ -99,6 +102,7 @@ settings_robot_count_label=Количество дронов
settings_robot_count_tooltip=Количество дронов, используемых при выполнении задач. Обычно это значение устанавливается в максимальное количество, поддерживаемое дронстанцией
settings_robot_selection_label=Выбор дронов
settings_robot_selection_tooltip=Тип дронов используемых для выполнения задач
settings_zone_restriction_label=Ограничения зоны
settings_zone_restriction_tooltip=Переключение заданий в зонах строительства дронстанций. Полезно для предотвращения выполнения конструкторами заданий в пределах диапазона стройки дронстанции. Применяется ко всем типам заданий.
settings_construction_jobs_label=Строительство
settings_construction_jobs_tooltip=Конструктроны будут автоматически строить призрачные сущности.
Expand All @@ -113,10 +117,14 @@ settings_destroy_jobs_tooltip=Включает режим уничтожения
settings_repair_jobs_label=Ремонт
settings_repair_jobs_tooltip=Конструктроны будут автоматически ремонтировать строения.
settings_repair_tool_selection_label=Инструменты ремонта
settings_repair_tool_selection_tooltip=Эти инструменты будут использоваться для ремонта
settings_ammo_selection_label=Вооружение
settings_ammo_selection_tooltip=Тип боеприпасов для уничтожения противников
settings_ammo_count_label=Боеприпасов
settings_ammo_count_tooltip=Количество боеприпасов для уничтожения
settings_atomic_selection_label=Выбор ядерных боеприпасов
settings_atomic_count_label=Количество ядерных боеприпасов
settings_min_cluster_size_label=Минимальный размер кластера

job_title=Информация о работе
job_worker_minimap_label=Местонахождение рабочего
Expand Down
2 changes: 1 addition & 1 deletion script/entity_processor.lua
Original file line number Diff line number Diff line change
Expand Up @@ -401,7 +401,7 @@ script.on_event(ev.on_player_alt_selected_area, function (event)
for _, entity in pairs(event.entities) do
if entity and entity.valid and entity.name == "constructron" then
for _, job in pairs(storage.jobs) do
if job.worker.unit_number == entity.unit_number then
if job.worker and job.worker.unit_number == entity.unit_number then
if not player.gui.screen.ctron_job_window then
gui_job.buildJobGui(player, job)
player.opened = player.gui.screen.ctron_job_window
Expand Down
8 changes: 4 additions & 4 deletions script/job/destroy.lua
Original file line number Diff line number Diff line change
Expand Up @@ -422,10 +422,10 @@ local threat_weights = {
["big-spitter"] = 2,
["behemoth-spitter"] = 3,

["small-worm-turret"] = 1,
["medium-worm-turret"] = 2,
["big-worm-turret"] = 4,
["behemoth-worm-turret"] = 6,
["small-worm-turret"] = 0.1,
["medium-worm-turret"] = 0.5,
["big-worm-turret"] = 1,
["behemoth-worm-turret"] = 2,

["biter-spawner"] = 0.5,
["spitter-spawner"] = 0.5,
Expand Down