Compare commits

..

23 commits

Author SHA1 Message Date
Simon Brodtmann
d5ce5d42d5 Readme 2025-06-10 09:39:09 +02:00
Simon Brodtmann
7abcc07a0b 1.0.53 2025-06-08 18:15:32 +02:00
Simon Brodtmann
0b72861273 Reduce usage of resources for some buildings 2025-06-08 17:19:31 +02:00
Simon Brodtmann
4553e887a3 Any Planet Start: Works with moons now 2025-06-08 17:09:51 +02:00
Simon Brodtmann
c20f490d81 Gold plates require 1 gold ore again 2025-06-08 17:09:51 +02:00
Simon Brodtmann
1dc928acdd Readme 2025-06-08 00:03:36 +02:00
Simon Brodtmann
6eb8338779 1.0.52 2025-06-06 14:26:30 +02:00
Simon Brodtmann
e0df3f1335 Add flames and explosions to transition 2025-06-06 14:25:52 +02:00
Simon Brodtmann
d09b66deb5 Increase speed of rocket a bit 2025-06-06 14:25:17 +02:00
Simon Brodtmann
0ea9d1a170 1.0.51 2025-06-06 13:41:58 +02:00
Simon Brodtmann
8c88e8ac8a Crushing industry + Hot metals: Fix crushed gold not being smelted into hot gold 2025-06-05 16:52:02 +02:00
Simon Brodtmann
b889d0db26 Adjust essential flags on technologies 2025-06-04 23:02:14 +02:00
Simon Brodtmann
05b7278b80 Readme 2025-06-04 23:02:14 +02:00
Simon Brodtmann
2ccc07fd74 1.0.50 2025-06-04 16:35:57 +02:00
Simon Brodtmann
23f5286d22 Reapply "Improve transition to Nauvis"
This reverts commit 4e415782f2.
2025-06-04 16:34:02 +02:00
Simon Brodtmann
9c18aba1da 1.0.49 2025-06-04 16:32:26 +02:00
Simon Brodtmann
4e415782f2 Revert "Improve transition to Nauvis"
This reverts commit 07df28273d.
2025-06-04 16:30:52 +02:00
Simon Brodtmann
3683a492c0 Burner-Leech-Fork is not incompatible anymore 2025-06-04 16:24:22 +02:00
Simon Brodtmann
57b3ee9ece Enable burner leech when no dedicated mod is installed 2025-06-03 22:51:33 +02:00
Simon Brodtmann
e56b5a7087 Correct indentation 2025-06-03 19:53:10 +02:00
Simon Brodtmann
822eb1fd7c 1.0.48 2025-06-03 19:51:28 +02:00
Simon Brodtmann
07df28273d Improve transition to Nauvis 2025-06-03 19:46:55 +02:00
Simon Brodtmann
6fc153f3bd Make InserterFuelLeech optional 2025-06-03 16:50:33 +02:00
22 changed files with 294 additions and 191 deletions

View file

@ -1,16 +1,38 @@
[![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/ufvFUJtVwk)[![Forgejo](https://img.shields.io/badge/source%20code-%23f4f4f5?style=for-the-badge&logo=forgejo&logoColor=%23c2410c)](https://git.cacklingfiend.info/cacklingfiend/lignumis)
_________________
![Lignumis poster](https://git.cacklingfiend.info/cacklingfiend/lignumis-assets/raw/commit/27e61170a897dc4a6afc7d518629899a3b05b6f0/sources/poster.jpg)
## Lignumis
This mod extends the early game of Space Age by putting you on the moon "Lignumis" before you escape to Nauvis. It concentrates on wood and steam technologies, giving you some early game production chains for those resources. This mod extends the early game of Space Age by putting you on the moon "Lignumis" before you escape to Nauvis. It concentrates on wood and steam technologies, giving you some early game production chains for those resources.
The duration of the stay on Lignumis will be rather short. The impact of the later game will still be substantial (once implemented). The duration of the stay on Lignumis will be rather short. The impact of the later game will still be substantial.
**Warning when adding to existing games:** With the default settings, this mod will break a few things in your existing bases and space ships. Check out the settings to disable what you don't like. **Warning when adding to existing games:** With the default settings, this mod will break a few things in your existing bases and space ships. Check out the settings to disable what you don't like.
#### Streamers featuring Lignumis
[![S1-E01 - Lumber Support - Laurence Plays Factorio: Planetary Pioneers](https://i.ytimg.com/vi/1eH4oJtlBpE/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD6UdmD7HuhCdhQBCCSL38Ke_FpXg)](https://www.youtube.com/watch?v=1eH4oJtlBpE)
[![Factorio Multiplayer: Planetary Pioneers - Space Age - E01 - 02/06/25 - Laurence Streams](https://i.ytimg.com/vi/OMDpDhZdTmU/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLCVQhrlcmwsZbzRDNQo8vgMKtUHaA)](https://www.youtube.com/live/OMDpDhZdTmU?feature=shared&t=290&list=PLALTzJaRcgW97ItZgtZvkqFBcdVjKNVHz&index=1) [![Factorio Multiplayer: Planetary Pioneers - Space Age - E01.5 - 02/06/25 - Laurence Streams](https://i.ytimg.com/vi/d4n1H6Z4KPc/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLA5TNZBTs7GpUFdVB1CG1-hzYw0tw)](https://www.youtube.com/live/d4n1H6Z4KPc?list=PLALTzJaRcgW97ItZgtZvkqFBcdVjKNVHz&index=3)
_________________
## Mod recommendations ## Mod recommendations
The following mods can be a great addition for this mod: The following mods can be a great addition for this mod:
#### [Inserter Fuel Leech](https://mods.factorio.com/mod/InserterFuelLeech)
While optional, the intended way is to use this mod for the burner phase as it improves the fueling experience of burner entities.
For UPS optimizations, you can disable this mod once the burner phase is over.
Alternatives: [Burner Leech Fork](https://mods.factorio.com/mod/Burner-Leech-Fork), [Burner Leech](https://mods.factorio.com/mod/Burner-Leech)
#### [Any Planet Start](https://mods.factorio.com/mod/any-planet-start) #### [Any Planet Start](https://mods.factorio.com/mod/any-planet-start)
Allows you to choose the planet that Lignumis orbits. You can continue on Vulcanus, Fulgora or Gleba after leaving Lignumis. Allows you to choose the planet that Lignumis orbits. You can continue on Vulcanus, Fulgora or Gleba after leaving Lignumis.
Some modded planets add APS support as well (sometimes with a separate mod).
#### [Diversitree](https://mods.factorio.com/mod/Diversitree) #### [Diversitree](https://mods.factorio.com/mod/Diversitree)
@ -32,7 +54,7 @@ If you like go more into the charcoal direction. It has no overlap with Lignumis
For wood on Aquilo. For wood on Aquilo.
#### [Crushing Industry](https://mods.factorio.com/mod/crushing-industry) #### [Crushing Industry](https://mods.factorio.com/mod/crushing-industry) with [Crushing Industry - Productivity Research](https://mods.factorio.com/mod/crushing-industry-productivity-research)
Recommended with high science cost settings. It adds crushers and crushed ores to increase productivity. Recommended with high science cost settings. It adds crushers and crushed ores to increase productivity.
Lignumis adds crushed gold ore and a technology to unlock the crusher with wood and steam science packs. Lignumis adds crushed gold ore and a technology to unlock the crusher with wood and steam science packs.
@ -49,6 +71,8 @@ Add this for increased complexity in the early Nauvis game. It has no effect on
For even more complexity after Lignumis. They currently don't change anything on Lignumis itself. For even more complexity after Lignumis. They currently don't change anything on Lignumis itself.
_________________
## Compatibility with other planet mods ## Compatibility with other planet mods
The following planet mods are tested for (at least technical) compatibility: The following planet mods are tested for (at least technical) compatibility:
@ -65,12 +89,18 @@ The following planet mods are tested for (at least technical) compatibility:
- [Terra Palus](https://mods.factorio.com/mod/terrapalus) - [Terra Palus](https://mods.factorio.com/mod/terrapalus)
- [Secretas & Frozeta](https://mods.factorio.com/mod/secretas) - [Secretas & Frozeta](https://mods.factorio.com/mod/secretas)
This list is probably not up-to-date. In doubt, just try it out.
_________________
## Problematic / incompatible mods ## Problematic / incompatible mods
* The combination of AAI Industry and Any planet start is currently not supported. * The combination of AAI Industry and Any planet start is currently not supported.
* Alien Biomes: Lignumis won't have any trees. It's playable, but not as intended. * Alien Biomes: Lignumis won't have any trees. It's playable, but not as intended.
* The rest of the Wooden Universe: I marked the ones incompatible that don't make sense to combine or that wouldn't add more that is not already included. * The rest of the Wooden Universe: I marked the ones incompatible that don't make sense to combine or that wouldn't add more that is not already included.
_________________
## Add compatibility to your mod ## Add compatibility to your mod
Lignumis, by default, adds wood and steam science packs during `data-updates.lua` to all technologies that match certain criteria. Lignumis, by default, adds wood and steam science packs during `data-updates.lua` to all technologies that match certain criteria.
@ -121,17 +151,19 @@ data.raw["string-setting"]["lignumis-second-planet"].allowed_values = { "gleba"
data.raw["string-setting"]["lignumis-second-planet"].default_value = "gleba" data.raw["string-setting"]["lignumis-second-planet"].default_value = "gleba"
``` ```
_________________
## Todo ## Todo
- Fix pipe graphics on desiccation furnace and quality assembler - Fix pipe graphics on desiccation furnace and quality assembler
- Trees must not die when absorbing noise - Trees must not die when absorbing noise
- https://lua-api.factorio.com/latest/types/TreeVariation.html - https://lua-api.factorio.com/latest/types/TreeVariation.html
- Improve transition to Nauvis a bit more
- Add information in Factoriopedia - Add information in Factoriopedia
- Compatibility with [On Wayward Seas](https://mods.factorio.com/mod/wayward-seas) - Compatibility with [On Wayward Seas](https://mods.factorio.com/mod/wayward-seas)
- Compatibility with [Exotic Space Industries](https://mods.factorio.com/mod/exotic-space-industries) - Compatibility with [Exotic Space Industries](https://mods.factorio.com/mod/exotic-space-industries)
- Compatibility with [Noble Metals](https://mods.factorio.com/mod/bzgold) once it's updated - Compatibility with [Noble Metals](https://mods.factorio.com/mod/bzgold) once it's updated
- "Hardcore Lignumis"
_________________
## Credits ## Credits

View file

@ -1,4 +1,44 @@
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Version: 1.0.53
Date: 08.06.2025
Changes:
- Gold plates require 1 gold ore again and buff gold by 33%
- Reduce usage of resources for some buildings
Bug Fixes:
- Any Planet Start: Works with moons now (required for Cerys)
---------------------------------------------------------------------------------------------------
Version: 1.0.52
Date: 06.06.2025
Changes:
- Increase speed of rocket a bit
- Add flames and explosions to transition
---------------------------------------------------------------------------------------------------
Version: 1.0.51
Date: 06.06.2025
Changes:
- Adjust essential flags on technologies
Bug Fixes:
- Crushing industry + Hot metals: Fix crushed gold not being smelted into hot gold
---------------------------------------------------------------------------------------------------
Version: 1.0.50
Date: 04.06.2025
Changes:
- Reapply "Improve transition to Nauvis"
---------------------------------------------------------------------------------------------------
Version: 1.0.49
Date: 04.06.2025
Changes:
- Enable burner leech when no dedicated mod is installed
- Burner-Leech-Fork is not incompatible anymore
Bug Fixes:
- Revert "Improve transition to Nauvis" since it requires currently unstable Factorio version 2.0.53
---------------------------------------------------------------------------------------------------
Version: 1.0.48
Date: 03.06.2025
Changes:
- Make InserterFuelLeech optional
- Improve transition to Nauvis
---------------------------------------------------------------------------------------------------
Version: 1.0.47 Version: 1.0.47
Date: 31.05.2025 Date: 31.05.2025
Bug Fixes: Bug Fixes:

View file

@ -1,2 +1,7 @@
require("prototypes/content/final") require("prototypes/content/final")
require("prototypes/compatibility/final") require("prototypes/compatibility/final")
if not mods["Burner-Leech-Fork"] and not mods["Burner-Leech"] and not mods["InserterFuelLeech"] then
data.raw["inserter"]["burner-inserter"].allow_burner_leech = true
data.raw["inserter"]["burner-long-handed-inserter"].allow_burner_leech = true
end

View file

@ -1,6 +1,6 @@
{ {
"name": "lignumis", "name": "lignumis",
"version": "1.0.47", "version": "1.0.53",
"title": "Lignumis", "title": "Lignumis",
"description": "Dive into the world of Lignumis, a moon of Nauvis offering only the most basic technologies.", "description": "Dive into the world of Lignumis, a moon of Nauvis offering only the most basic technologies.",
"author": "cackling fiend", "author": "cackling fiend",
@ -9,12 +9,11 @@
"space_travel_required": true, "space_travel_required": true,
"dependencies": [ "dependencies": [
"base", "base",
"space-age >= 2.0.33", "space-age >= 2.0.53",
"astroponics >= 1.2.0", "astroponics >= 1.2.0",
"bioprocessing-tab", "bioprocessing-tab",
"cf-lib >= 0.0.13", "cf-lib >= 0.0.13",
"flib", "flib",
"InserterFuelLeech",
"lignumis-assets >= 1.0.3", "lignumis-assets >= 1.0.3",
"mf-buildings >= 1.0.7", "mf-buildings >= 1.0.7",
"mf-core >= 1.0.3", "mf-core >= 1.0.3",
@ -34,13 +33,12 @@
"?gleba-reborn", "?gleba-reborn",
"?hot-metals >= 1.1.0", "?hot-metals >= 1.1.0",
"?lane-splitters", "?lane-splitters",
"(?)metal-and-stars", "?metal-and-stars",
"(?)secretas", "(?)secretas",
"(?)Wood_Gasification_updated", "(?)Wood_Gasification_updated",
"?wood-industry", "?wood-industry",
"?wood-military >= 2.3.3", "?wood-military >= 2.3.3",
"!apm_power_ldinc", "!apm_power_ldinc",
"!Burner-Leech-Fork",
"!early-agriculture", "!early-agriculture",
"!planet-picker", "!planet-picker",
"!wood-logistics", "!wood-logistics",

View file

@ -2,13 +2,13 @@
lignumis=○ Лигнумис lignumis=○ Лигнумис
[mod-description] [mod-description]
lignumis=Погрузитесь в мир Лигнумиса — луны Наувиса, предлагающей лишь самые базовые технологии. lignumis=Погрузитесь в мир Лигнумиса — луны Нависа, предлагающей лишь самые базовые технологии.
[space-location-name] [space-location-name]
lignumis=Лигнумис lignumis=Лигнумис
[space-location-description] [space-location-description]
lignumis=Лигнумис — это луна, вращающаяся вокруг Наувиса. Она во многом похожа на Наувис, но кажется моложе и беднее ресурсами. lignumis=Лигнумис — это луна, вращающаяся вокруг Нависа. Она во многом похожа на Навис, но кажется моложе и беднее ресурсами.
[airborne-pollutant-name] [airborne-pollutant-name]
noise=Шум noise=Шум
@ -19,9 +19,9 @@ noise=__1__ шума
[entity-name] [entity-name]
wood-lab=Деревянная лаборатория wood-lab=Деревянная лаборатория
peat=Торф peat=Торф
burner-agricultural-tower=Твердотопливная сельскохозяйственная башня burner-agricultural-tower=Сельскохозяйственная башня на горелке
burner-assembling-machine=Твердотопливный сборочный автомат burner-assembling-machine=Сборочная машина на горелке
burner-long-handed-inserter=Твердотопливный длинный манипулятор burner-long-handed-inserter=Длиннорукий манипулятор на горелке
lumber-mill=Лесопильня lumber-mill=Лесопильня
gold-stromatolite=Золотой строматолит gold-stromatolite=Золотой строматолит
gold-stromatolite-plant=Золотой строматолит (растение) gold-stromatolite-plant=Золотой строматолит (растение)
@ -32,61 +32,59 @@ gold-pipe=Золотая труба
gold-pipe-to-ground=Золотая подземная труба gold-pipe-to-ground=Золотая подземная труба
gold-storage-tank=Золотой резервуар gold-storage-tank=Золотой резервуар
desiccation-furnace=Печь для высушивания desiccation-furnace=Печь для высушивания
steam-assembling-machine=Паровой сборочный автомат steam-assembling-machine=Паровая сборочная машина
provisional-rocket-silo=Импровизированная ракетная шахта provisional-rocket-silo=Временное ракетное хранилище
provisional-rocket-silo-ready=Импровизированная ракетная шахта (готово) provisional-rocket-silo-ready=Временное ракетное хранилище (готово)
basic-gun-turret=Базовая пулемётная турель basic-gun-turret=Базовая пулеметная турель
basic-construction-robot-gold=Базовый строительный дрон (золот) basic-construction-robot-gold=Базовый строительный робот (золото)
basic-construction-robot-copper=Базовый строительный дрон (медь) basic-construction-robot-copper=Базовый строительный робот (медь)
wood-transport-belt=Деревянный конвейер wood-transport-belt=Деревянный транспортёр
wood-underground-belt=Деревянный подземный конвейер wood-underground-belt=Деревянный подземный транспортёр
wood-splitter=Деревянный разделитель wood-splitter=Деревянный разделитель
basic-radar=Базовый радар basic-radar=Базовый радар
active-noise-cancelling-tower=Башня активного шумоподавления active-noise-cancelling-tower=Башня активного шумоподавления
quality-assembler=Качественный сборочный автомат quality-assembler=Качественная сборочная машина
aai-wood-loader=Деревянный погрузчик aai-wood-loader=Деревянный загрузчик
wood-lane-splitter=Деревянный распределитель лент wood-lane-splitter=Деревянный распределитель лент
lignumis-spawner-small=Яичная кладка Лигнумиса lignumis-spawner-small=Гнездовая колония Лигнумиса
lignumis-small-wriggler-pentapod=Малый пятиног-ползун Лигнумиса lignumis-small-wriggler-pentapod=Маленький пентанож Лигнумиса
lignumis-medium-wriggler-pentapod=Средний пятиног-ползун Лигнумиса lignumis-medium-wriggler-pentapod=Средний пентанож Лигнумиса
[entity-description] [entity-description]
lumber-mill=Продвинутая машина для обработки древесины. lumber-mill=Продвинутая машина для обработки древесины.
quality-assembler=Высококачественный сборочный автомат, создающий только лучшие механизмы. Добавляет 25% дополнительного качества предмету, потребляя [item=gold-quality-catalyst]. Условия поверхности и ингредиенты остаются неизменными. quality-assembler=Высококачественная сборочная машина, создающая только лучшие механизмы. Добавляет один уровень качества предмету, потребляя [item=gold-quality-catalyst]. Все остальные условия остаются неизменными.
gold-stromatolite-plant=Собирайте золотой строматолит для получения бактерий, обогащающих золото из почвы.\n__REMARK_COLOR_BEGIN__Ожидаемая добыча:__REMARK_COLOR_END__ 1.5 [item=gold-ore]/m
[equipment-name] [equipment-name]
basic-portable-generator-equipment-gold=Базовый портативный генератор (золото) basic-portable-generator-equipment-gold=Базовый портативный генератор (золото)
basic-portable-generator-equipment-copper=Базовый портативный генератор (медь) basic-portable-generator-equipment-copper=Базовый портативный генератор (медь)
basic-personal-roboport-equipment-gold=Базовая персональная дронстанция (золото) basic-personal-roboport-equipment-gold=Базовый персональный робопорт (золото)
basic-personal-roboport-equipment-copper=Базовая персональная дронстанция (медь) basic-personal-roboport-equipment-copper=Базовый персональный робопорт (медь)
[item-name] [item-name]
wooden-gear-wheel=Деревянная шестерня wooden-gear-wheel=Деревянное зубчатое колесо
wood-science-pack=Деревянный исследовательский пакет wood-science-pack=Деревянный научный пакет
peat=Торф peat=Торф
gold-stromatolite-seed=Семя золотого строматолита gold-stromatolite-seed=Семя золотого строматолита
gold-ore=Золотая руда gold-ore=Золотая руда
gold-bacteria=Золотобактерия gold-bacteria=Золотые бактерии
gold-plate=Золотая плита gold-plate=Золотая пластина
gold-cable=Золотой кабель gold-cable=Золотой кабель
moist-stromatolite-remnant=Влажный остаток строматолита moist-stromatolite-remnant=Влажный остаток строматолита
steam-science-pack=Паровой исследовательский пакет steam-science-pack=Паровой научный пакет
destination-nauvis=Путешествие на Наувис destination-nauvis=Путешествие на Навис
lumber=Пиломатериалы lumber=Пиломатериалы
basic-repair-pack=Базовый ремонтный комплект basic-repair-pack=Базовый ремонтный комплект
cupriavidus-necator=Cupriavidus necator cupriavidus-necator=Cupriavidus necator
dead-cupriavidus-necator=Мёртвая cupriavidus necator dead-cupriavidus-necator=Мёртвый Cupriavidus necator
gold-quality-catalyst=Золотой катализатор качества gold-quality-catalyst=Золотой катализатор качества
wood-armor=Деревянная броня wood-armor=Деревянная броня
wood-darts-magazine=Магазин с деревянными дротиками wood-darts-magazine=Обойма деревянных дротиков
basic-circuit-board=Базовая схема basic-circuit-board=Базовая схема
crushed-gold-ore=Дроблёная золотая руда
[item-description] [item-description]
wooden-wall=Используйте деревянные стены для защиты базы и снижения уровня шума. wooden-wall=Деревянные стены защищают базу и снижают уровень шума.
stone-wall=Обеспечивает лучшую акустическую и физическую защиту, чем деревянный аналог. stone-wall=Обеспечивает лучшую акустическую и физическую защиту, чем деревянный аналог.
gold-stromatolite-seed=Посадите семя для выращивания золотого строматолита. Он содержит бактерии, обогащающие золото из почвы.\n__REMARK_COLOR_BEGIN__Ожидаемая добыча:__REMARK_COLOR_END__ 1.5 [item=gold-ore]/m destination-nauvis=Поместите этот предмет в ракету, чтобы отправиться на Навис. Обратите внимание, что вернуться обратно удастся не скоро.\n__REMARK_COLOR_BEGIN__BETA: Перед отлётом храните не более 40 единиц предметов в инвентаре, так как текущая система перехода на Навис временная. Не забудьте взять материалы для запуска производства железа, меди и древесины.__REMARK_COLOR_END__
[fluid-name] [fluid-name]
wood-pulp=Древесная масса wood-pulp=Древесная масса
@ -94,69 +92,22 @@ molten-gold=Расплавленное золото
[recipe-name] [recipe-name]
moist-stromatolite-remnant-desiccation=Высушивание влажного строматолита moist-stromatolite-remnant-desiccation=Высушивание влажного строматолита
moist-stromatolite-remnant-desiccation-without-steam=Высушивание влажного строматолита
gold-stromatolite-seed-to-peat=Обработка семян золотого строматолита gold-stromatolite-seed-to-peat=Обработка семян золотого строматолита
wood-liquefaction=Сжижение древесины wood-liquefaction=Сжижение древесины
provisional-rocket-part=Импровизированная деталь ракеты provisional-rocket-part=Часть временной ракеты
cupriavidus-necator-starter=Cupriavidus necator (стартовая культура) cupriavidus-necator-starter=Cupriavidus necator (стартовая культура)
plastic-from-cupriavidus-necator=Биопластик plastic-from-cupriavidus-necator=Биопластик
plastic-from-dead-cupriavidus-necator=Биопластик
low-density-structure-gold=Конструкция малой плотности
rocket-fuel-from-wood-pulp-and-peat=Био-ракетное топливо
nutrients-from-wood-pulp=Питательные вещества из древесной массы
active-noise-cancelling=Активное шумоподавление
casting-gold=Литьё золота casting-gold=Литьё золота
gold-ore-crushing=Дробление золотой руды
[recipe-description]
moist-stromatolite-remnant-desiccation-without-steam=Используется для балансировки производства пара.
gold-stromatolite-seed-to-peat=Используется для удаления излишков семян золотого строматолита.
[technology-name] [technology-name]
wood-science-pack=Деревянный исследовательский пакет wood-science-pack=Деревянный научный пакет
burner-automation=Твердотопливная автоматизация burner-automation=Автоматизация на горелках
planet-discovery-nauvis=Открытие планеты Наувис planet-discovery-nauvis=Открытие планеты Навис
planet-discovery-lignumis=Открытие луны Лигнумис planet-discovery-lignumis=Открытие луны Лигнумис
iron-processing=Обработка железа
copper-processing=Обработка меди
lumber-mill=Лесопильня
deep-miner=Глубинный бур
gold-fluid-handling=Золотая транспортировка и хранение жидкостей
steam-automation=Паровая автоматизация
steam-science-pack=Паровой исследовательский пакет
wood-liquefaction=Сжижение древесины
provisional-rocketry=Импровизированное ракетостроение
basic-gun-turret=Базовая пулемётная турель
basic-construction-robotics-gold=Базовый строительная робототехника (золото)
basic-construction-robotics-copper=Базовый строительная робототехника (медь)
wood-logistics=Деревянная логистика
automation=Электрическая автоматизация
tree-seeding=Базовое сельское хозяйство
basic-repair-pack=Базовый ремонтный комплект
basic-radar=Базовый радар basic-radar=Базовый радар
active-noise-cancelling=Активное шумоподавление active-noise-cancelling=Активное шумоподавление
quality-assembler=Качественный сборочный автомат quality-assembler=Качественная сборочная машина
aai-wood-loader=Деревянный погрузчик automation-science-pack=Покиньте Лигнумис для изучения продвинутых технологий.
basic-ore-crushing=Базовое дробление руды
[technology-description]
wood-science-pack=Позволяет исследовать базовые технологии на основе древесины.
burner-automation=Технология для базовой автоматизации с использованием твердотопливных машин.
planet-discovery-nauvis=Планета с умеренным климатом, предлагающая все необходимые ресурсы.
planet-discovery-lignumis=Луна на орбите Наувиса, которая мало что может предложить, кроме растительности и металла, который может быть полезен.
lumber-mill=Передовой станок для обработки древесины.
deep-miner=Открывает доступ к огромным месторождениям золота, которые ранее были недоступны.
steam-automation=Позволяет исследовать более сложные технологии на основе древесины и золота.
wood-liquefaction=Превращение дерева в жидкость открывает новые возможности.
provisional-rocketry=Нам нужно как-то убраться с этой луны. Это наш единственный шанс!
basic-gun-turret=Самая простая автоматическая защита. Это немного, но пока этого должно хватить.
basic-construction-robotics-gold=Самая базовая помощь в личных строительных нуждах.
basic-construction-robotics-copper=Самая базовая помощь в личных строительных нуждах.
wood-logistics=Медленная, но всё же автоматическая транспортировка предметов.
tree-seeding=[entity=burner-agricultural-tower] позволяет высаживать семена в пригодную для посева почву. Посаженные семена вырастают в деревья, которые можно собирать.\n[entity=tree-plant] может расти на траве и земле. [entity=gold-stromatolite] может расти на [tile=natural-gold-soil].
active-noise-cancelling=Помогает справляться с шумом.
quality-assembler=Высококлассный сборочный автомат, создающий машины только самого высокого качества, используя особые ресурсы, которые можно найти только на Лигнумисе.
automation-science-pack=Покиньте Лигнумис для исследования продвинутых технологий.
[modifier-description] [modifier-description]
basic-gun-turret-attack-bonus=Урон базовой турели: +__1__ basic-gun-turret-attack-bonus=Урон базовой турели: +__1__
@ -170,45 +121,18 @@ wood=Древесное топливо
quality-catalyst=Катализатор качества quality-catalyst=Катализатор качества
[mod-setting-name] [mod-setting-name]
lignumis-belt-progression=Включить прогрессивные рецепты конвейеров lignumis-belt-progression=Прогрессивные рецепты конвейеров
lignumis-inserter-progression=Включить прогрессивные рецепты манипуляторов lignumis-technology-progression=Прогрессивные технологии
lignumis-ammo-progression=Включить прогрессивные рецепты патронов lignumis-lumber-mill-more-recipes=Дополнительные рецепты для лесопильни
lignumis-technology-progression=Включить прогрессивные технологии
lignumis-basic-circuit-board=Включить базовую схему
lignumis-circuit-progression=Включить прогрессивные рецепты электросхем
lignumis-assembler-progression=Включить прогрессивные рецепты сборочных автоматов
lignumis-lumber-mill-more-recipes=Добавить дополнительные рецепты для лесопильни
lignumis-fulgora-wood=Добавить древесину на Фульгору
lignumis-early-robots=Ещё более ранние персональные дроны
[mod-setting-description] [mod-setting-description]
lignumis-belt-progression=Жёлтые конвейеры будут требовать деревянные конвейеры для создания. lignumis-technology-progression=Добавляет деревянные и паровые научные пакеты к большинству поздних технологий. Отключение этого параметра снижает их значимость в поздней игре.
lignumis-inserter-progression=Жёлтые манипуляторы будут требовать твердотопливные манипуляторы для создания. lignumis-lumber-mill-more-recipes=Лесопильня может создавать базовые турели, сборочные машины и манипуляторы на горелках.
lignumis-ammo-progression=Магазины огнестрельного оружия будут требовать магазин с деревянными дротиками для создания.
lignumis-technology-progression=Добавляет деревянные и паровые исследовательские пакеты к большинству поздних технологий. Отключение этого параметра снижает их значимость в поздней игре.
lignumis-basic-circuit-board=Рецепты используют базовые схемы вместо золотых кабелей и золотых плит, где это возможно. Будут добавлены и золотой, и медный рецепты создания.
lignumis-circuit-progression=Электросхемы будут требовать базовые схемы для создания.
lignumis-assembler-progression=Сборочный автомат 1 будет трубовать твердотопливный сборочный автомат для создания.
lignumis-lumber-mill-more-recipes=Лесопильня может создавать базовые турели, твердотопливные сборочные атоматы и твердотопливные манипуляторы. При включении всех прогрессивных рецептов улучшается баланс использования древесины и помогает в играх-марафонах.
lignumis-fulgora-wood=Добавляет деревянные шестерни в переработку металлолома как источник древесины. Отключите, если у вас есть другой источник древесины или вы отправляете её с других планет.
lignumis-early-robots=Персональные дроны будут передвинуты из паровых в деревянные исследовательские пакеты и получат небольшое ускорение.
[autoplace-control-names]
lignumis_enemy_base=Вражеские базы Лигнумиса
[entity-status]
no-quality-catalyst=Нет катализатора качества
[description]
accepted-catalysts=Разрешённые катализаторы
quality-catalyst-energy-value=Значение качества
[gui] [gui]
quality-catalyst=Катализатор качества quality-catalyst=Катализатор качества
[lignumis] [lignumis]
start-new-game=Лигнумис рассчитан на игру с нуля, так как он удлиняет ранний этап перед Наувисом. start-new-game=Лигнумис рассчитан на игру с нуля, так как он удлиняет ранний этап перед Нависом.
provisional-rocket-silo-button=Сбежать на __1__ provisional-rocket-silo-button=Спастись на Навис
provisional-rocket-silo-button-tooltip-inventory=Ваш инвентарь должен быть пустой! provisional-rocket-silo-description=Заполните ракету ресурсами и запустите её, чтобы сбежать на Навис.\nНе забудьте взять материалы для запуска производства железа, меди и древесины.
provisional-rocket-silo-button-tooltip-target=Вы ещё не знаете куда сбежать!
provisional-rocket-silo-description=Заполните ракету ресурсами и запустите её, чтобы сбежать на __1__.\nНе забудьте взять материалы для запуска производства железа, меди и древесины.

View file

@ -7,7 +7,8 @@ local target_planet = settings.startup["aps-planet"].value
if target_planet == "none" or target_planet == "nauvis" then return end if target_planet == "none" or target_planet == "nauvis" then return end
-- Switch planet discovery technology to the new planet -- Switch planet discovery technology to the new planet
Technology:new("planet-discovery-" .. target_planet) local planet_discovery = data.raw.technology["planet-discovery-" .. target_planet] or data.raw.technology["moon-discovery-" .. target_planet]
Technology:new(planet_discovery)
:assign({ :assign({
enabled = true, enabled = true,
hidden = false hidden = false

View file

@ -10,7 +10,8 @@ Technology:new("tree-seeding"):setPrerequisites({ "wood-science-pack" })
-- Switch planet discovery technology to the new planet -- Switch planet discovery technology to the new planet
Technology:new("planet-discovery-" .. target_planet) local planet_discovery = data.raw.technology["planet-discovery-" .. target_planet] or data.raw.technology["moon-discovery-" .. target_planet]
Technology:new(planet_discovery)
:assign({ :assign({
enabled = true, enabled = true,
hidden = false, hidden = false,
@ -24,8 +25,8 @@ Technology:new("planet-discovery-" .. target_planet)
} }
}) })
:setPrerequisites({ "provisional-rocketry" }) :setPrerequisites({ "provisional-rocketry" })
Technology:new("iron-processing"):replacePrerequisite("planet-discovery-nauvis", "planet-discovery-" .. target_planet) Technology:new("iron-processing"):replacePrerequisite("planet-discovery-nauvis", planet_discovery.name)
Technology:new("copper-processing"):replacePrerequisite("planet-discovery-nauvis", "planet-discovery-" .. target_planet) Technology:new("copper-processing"):replacePrerequisite("planet-discovery-nauvis", planet_discovery.name)
-- Vulcanus -- Vulcanus

View file

@ -0,0 +1,10 @@
local Technology = require("__cf-lib__/data/Technology")
if not mods["crushing-industry"] then return end
if not settings.startup["crushing-industry-ore"].value then return end
if mods["aai-industry"] then
Technology:new("burner-mechanics"):removeRecipe("burner-crusher")
else
Technology:new("steam-power"):removeRecipe("burner-crusher")
end

View file

@ -53,7 +53,7 @@ data:extend({
auto_recycle = false, auto_recycle = false,
hide_from_player_crafting = settings.startup["crushing-industry-hide-player-crafting"].value, hide_from_player_crafting = settings.startup["crushing-industry-hide-player-crafting"].value,
energy_required = 3.2, energy_required = 3.2,
ingredients = { { type = "item", name = "crushed-gold-ore", amount = 2 } }, ingredients = { { type = "item", name = "crushed-gold-ore", amount = 1 } },
results = { { type = "item", name = "gold-plate", amount = 1 } }, results = { { type = "item", name = "gold-plate", amount = 1 } },
main_product = "gold-plate", main_product = "gold-plate",
}, },
@ -84,14 +84,6 @@ if settings.startup["crushing-industry-byproducts"].value then
table.insert(data.raw["recipe"]["crushed-gold-ore"].results, { type = "item", name = "sand", amount = 1, probability = 0.02 }) table.insert(data.raw["recipe"]["crushed-gold-ore"].results, { type = "item", name = "sand", amount = 1, probability = 0.02 })
end end
if mods["aai-industry"] then
Technology:new("burner-mechanics"):removeRecipe("burner-crusher")
else
Technology:new("steam-power"):removeRecipe("burner-crusher")
end
local gold_recipe = Recipe:new("burner-crusher") local gold_recipe = Recipe:new("burner-crusher")
:replaceIngredient("iron-gear-wheel", "wooden-gear-wheel") :replaceIngredient("iron-gear-wheel", "wooden-gear-wheel")
:replaceIngredient("iron-plate", "gold-plate") :replaceIngredient("iron-plate", "gold-plate")

View file

@ -6,3 +6,4 @@ require("aai-loaders")
require("nuclear-science") require("nuclear-science")
require("lane-splitters") require("lane-splitters")
require("wood-industry") require("wood-industry")
require("crushing-industry")

View file

@ -1,4 +1,4 @@
require("aai-industry") require("aai-industry")
require("gleba-reborn") require("gleba-reborn")
require("any-planet-start") require("any-planet-start")
require("crushing-industry") require("crushing-industry-updates")

View file

@ -51,9 +51,9 @@ local turret_recipe = {
enabled = false, enabled = false,
energy_required = 8, energy_required = 8,
ingredients = { ingredients = {
{ type = "item", name = "wooden-gear-wheel", amount = 10 }, { type = "item", name = "wooden-gear-wheel", amount = 5 },
{ type = "item", name = "lumber", amount = 10 }, { type = "item", name = "lumber", amount = 10 },
{ type = "item", name = "gold-plate", amount = 20 } { type = "item", name = "gold-plate", amount = 10 }
}, },
results = { { type = "item", name = "basic-gun-turret", amount = 1 } } results = { { type = "item", name = "basic-gun-turret", amount = 1 } }
} }

View file

@ -87,8 +87,8 @@ data:extend({
energy_required = 10, energy_required = 10,
ingredients = { ingredients = {
{ type = "item", name = "stone-brick", amount = 5 }, { type = "item", name = "stone-brick", amount = 5 },
{ type = "item", name = "wooden-gear-wheel", amount = 20 }, { type = "item", name = "wooden-gear-wheel", amount = 15 },
{ type = "item", name = "lumber", amount = 20 }, { type = "item", name = "lumber", amount = 15 },
{ type = "item", name = "gold-plate", amount = basic_circuit_board and 10 or 20 }, { type = "item", name = "gold-plate", amount = basic_circuit_board and 10 or 20 },
basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 10 } or nil basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 10 } or nil
}, },
@ -124,8 +124,8 @@ data:extend({
energy_required = 10, energy_required = 10,
ingredients = { ingredients = {
{ type = "item", name = "stone-brick", amount = 5 }, { type = "item", name = "stone-brick", amount = 5 },
{ type = "item", name = "wooden-gear-wheel", amount = 20 }, { type = "item", name = "wooden-gear-wheel", amount = 15 },
{ type = "item", name = "lumber", amount = 20 }, { type = "item", name = "lumber", amount = 15 },
{ type = "item", name = "copper-plate", amount = 10 }, { type = "item", name = "copper-plate", amount = 10 },
{ type = "item", name = basic_circuit_board and "basic-circuit-board" or "electronic-circuit", amount = 10 } { type = "item", name = basic_circuit_board and "basic-circuit-board" or "electronic-circuit", amount = 10 }
}, },

View file

@ -20,7 +20,7 @@ data:extend({
name = "gold-plate", name = "gold-plate",
category = "smelting", category = "smelting",
energy_required = 3.2, energy_required = 3.2,
ingredients = { { type = "item", name = "gold-ore", amount = 2 } }, ingredients = { { type = "item", name = "gold-ore", amount = 1 } },
results = { { type = "item", name = "gold-plate", amount = 1 } }, results = { { type = "item", name = "gold-plate", amount = 1 } },
allow_productivity = true allow_productivity = true
}, },

View file

@ -147,7 +147,7 @@ plant.minable = {
mining_time = 2, mining_time = 2,
results = { results = {
{ type = "item", name = "moist-stromatolite-remnant", amount = 25 }, { type = "item", name = "moist-stromatolite-remnant", amount = 25 },
{ type = "item", name = "gold-bacteria", amount = 30 }, { type = "item", name = "gold-bacteria", amount = 20 },
{ type = "item", name = "gold-stromatolite-seed", amount_min = 1, amount_max = 3 } { type = "item", name = "gold-stromatolite-seed", amount_min = 1, amount_max = 3 }
} }
} }

View file

@ -31,11 +31,11 @@ local lumber_mill_item = LumberMill.ItemBuilder:new()
LumberMill.RecipeBuilder:new() LumberMill.RecipeBuilder:new()
:ingredients(table.trim({ :ingredients(table.trim({
{ type = "item", name = "stone-brick", amount = 40 }, { type = "item", name = "stone-brick", amount = 40 },
{ type = "item", name = "lumber", amount = 100 }, { type = "item", name = "lumber", amount = 50 },
{ type = "item", name = "wooden-gear-wheel", amount = 100 }, { type = "item", name = "wooden-gear-wheel", amount = 50 },
{ type = "item", name = "gold-plate", amount = basic_circuit_board and 30 or 60 }, { type = "item", name = "gold-plate", amount = basic_circuit_board and 20 or 40 },
basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 30 } or nil, basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 20 } or nil,
{ type = "item", name = "burner-assembling-machine", amount = 5 } { type = "item", name = "burner-assembling-machine", amount = 2 }
})) }))
:apply({ :apply({
category = "wood-processing-or-assembling" category = "wood-processing-or-assembling"
@ -53,8 +53,8 @@ LumberMill.RecipeBuilder:new()
{ type = "item", name = "stone-brick", amount = 40 }, { type = "item", name = "stone-brick", amount = 40 },
{ type = "item", name = "lumber", amount = 50 }, { type = "item", name = "lumber", amount = 50 },
{ type = "item", name = "wooden-gear-wheel", amount = 50 }, { type = "item", name = "wooden-gear-wheel", amount = 50 },
{ type = "item", name = "copper-plate", amount = basic_circuit_board and 30 or 60 }, { type = "item", name = "copper-plate", amount = basic_circuit_board and 20 or 40 },
{ type = "item", name = basic_circuit_board and "basic-circuit-board" or "electronic-circuit", amount = 30 }, { type = "item", name = basic_circuit_board and "basic-circuit-board" or "electronic-circuit", amount = 20 },
{ type = "item", name = "assembling-machine-1", amount = 2 } { type = "item", name = "assembling-machine-1", amount = 2 }
}) })
:apply({ :apply({

View file

@ -3,7 +3,6 @@ data:extend({
type = "technology", type = "technology",
name = "planet-discovery-lignumis", name = "planet-discovery-lignumis",
icons = PlanetsLib.technology_icons_moon(Lignumis.graphics .. "technology/lignumis.png", 256), icons = PlanetsLib.technology_icons_moon(Lignumis.graphics .. "technology/lignumis.png", 256),
essential = true,
effects = { effects = {
{ {
type = "unlock-space-location", type = "unlock-space-location",
@ -117,7 +116,6 @@ data:extend({
name = "iron-processing", name = "iron-processing",
icon = "__base__/graphics/icons/iron-plate.png", icon = "__base__/graphics/icons/iron-plate.png",
icon_size = 64, icon_size = 64,
essential = true,
effects = { effects = {
{ {
type = "unlock-recipe", type = "unlock-recipe",
@ -143,7 +141,6 @@ data:extend({
name = "copper-processing", name = "copper-processing",
icon = "__base__/graphics/icons/copper-plate.png", icon = "__base__/graphics/icons/copper-plate.png",
icon_size = 64, icon_size = 64,
essential = true,
effects = { effects = {
{ {
type = "unlock-recipe", type = "unlock-recipe",

View file

@ -147,8 +147,8 @@ data:extend({
category = "wood-processing-or-assembling", category = "wood-processing-or-assembling",
energy_required = 2, energy_required = 2,
ingredients = { ingredients = {
{ type = "item", name = "lumber", amount = 10 }, { type = "item", name = "lumber", amount = 6 },
{ type = "item", name = "wooden-gear-wheel", amount = 10 }, { type = "item", name = "wooden-gear-wheel", amount = 4 },
{ type = "item", name = "stone-brick", amount = 10 }, { type = "item", name = "stone-brick", amount = 10 },
{ type = "item", name = "gold-plate", amount = basic_circuit_board and 10 or 20 }, { type = "item", name = "gold-plate", amount = basic_circuit_board and 10 or 20 },
basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 10 } or nil basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 10 } or nil

View file

@ -67,10 +67,10 @@ local silo_recipe = table.deepcopy(data.raw["recipe"]["rocket-silo"])
silo_recipe.name = "provisional-rocket-silo" silo_recipe.name = "provisional-rocket-silo"
silo_recipe.results[1].name = "provisional-rocket-silo" silo_recipe.results[1].name = "provisional-rocket-silo"
silo_recipe.ingredients = { silo_recipe.ingredients = {
{ type = "item", name = "lumber", amount = 500 }, { type = "item", name = "lumber", amount = 400 },
{ type = "item", name = "wooden-gear-wheel", amount = 250 }, { type = "item", name = "wooden-gear-wheel", amount = 150 },
{ type = "item", name = "stone-brick", amount = 500 }, { type = "item", name = "stone-brick", amount = 400 },
{ type = "item", name = "gold-plate", amount = 500 }, { type = "item", name = "gold-plate", amount = 400 },
basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 100 } or basic_circuit_board and { type = "item", name = "basic-circuit-board", amount = 100 } or
{ type = "item", name = "gold-cable", amount = 100 } { type = "item", name = "gold-cable", amount = 100 }
} }
@ -79,9 +79,9 @@ local rocket = table.deepcopy(data.raw["rocket-silo-rocket"]["rocket-silo-rocket
rocket.name = "provisional-rocket" rocket.name = "provisional-rocket"
rocket.inventory_size = 40 rocket.inventory_size = 40
rocket.rising_speed = 1 / (14 * 60) rocket.rising_speed = 1 / (14 * 60)
rocket.engine_starting_speed = 1 / (11 * 60) rocket.engine_starting_speed = 1 / (8 * 60)
rocket.flying_speed = 1 / (4000 * 60) rocket.flying_speed = 1 / (3000 * 60)
rocket.flying_acceleration = 0.005 rocket.flying_acceleration = 0.007
rocket.rocket_sprite.layers[1].filename = Lignumis.graphics .. "entity/wooden-rocket-silo/rocket-static-pod.png" rocket.rocket_sprite.layers[1].filename = Lignumis.graphics .. "entity/wooden-rocket-silo/rocket-static-pod.png"
local rocket_part_recipe = { local rocket_part_recipe = {

View file

@ -71,6 +71,10 @@ Init.events[defines.events.on_player_created] = function(event)
game.print("While Alien Biomes is playable with Lignumis, it is not recommended as it prevents trees from being generated on Lignumis.") game.print("While Alien Biomes is playable with Lignumis, it is not recommended as it prevents trees from being generated on Lignumis.")
end end
if not script.active_mods["Burner-Leech-Fork"] and not script.active_mods["Burner-Leech"] and not script.active_mods["InserterFuelLeech"] then
game.print("Lignumis: You are starting a new game without a burner leech mod. The intended experience is to use one of the available options. You can disable such a mod after the burner phase of the game. See the mod page for more details.")
end
if not script.active_mods["any-planet-start"] then if not script.active_mods["any-planet-start"] then
init_player(event) init_player(event)
init_freeplay(event) init_freeplay(event)

View file

@ -29,7 +29,7 @@ end
local function teleport_player(player) local function teleport_player(player)
local nauvis = game.planets[storage.target_planet].surface local nauvis = game.planets[storage.target_planet].surface
if player.surface.name == "lignumis" then if player.surface.name == "lignumis" then
local position = nauvis.find_non_colliding_position("character", { 0, 0 }, 100, 1) or { 0, 0 } local position = nauvis.find_non_colliding_position("character", { 2, 2 }, 100, 1) or { 0, 0 }
player.teleport(position, storage.target_planet) player.teleport(position, storage.target_planet)
chart_starting_area(nauvis, player) chart_starting_area(nauvis, player)
end end
@ -57,35 +57,131 @@ local function init_freeplay()
end end
ToNauvis.events[defines.events.on_rocket_launched] = function(event) local function transit_player(player_index)
if not event.rocket_silo or event.rocket_silo.name ~= "provisional-rocket-silo" then return end local player = game.get_player(player_index)
local transition = storage.transitions[player_index]
local rocket_entry transition.rocket_entry.cargo_pod.set_passenger(nil)
local rocket_entry_index transition.rocket_entry.cargo_pod.destroy()
local player
for i, entry in pairs(storage.rocket_silos) do
if entry.real_silo == event.rocket_silo then
rocket_entry = entry
rocket_entry_index = i
player = entry.player and game.get_player(entry.player) or game.players[1]
break
end
end
init_nauvis() init_nauvis()
teleport_player(player) teleport_player(player)
init_freeplay() init_freeplay()
-- Give the player the content of the rocket -- Give the player the content of the rocket
if rocket_entry.rocket_content then if transition.rocket_entry.rocket_content then
local inventory = player.get_main_inventory() local inventory = player.get_main_inventory()
for _, item in pairs(rocket_entry.rocket_content) do for _, item in pairs(transition.rocket_entry.rocket_content) do
inventory.insert(item) inventory.insert(item)
end end
inventory.sort_and_merge() inventory.sort_and_merge()
end end
table.remove(storage.rocket_silos, rocket_entry_index) table.remove(storage.rocket_silos, transition.rocket_entry_index)
end
local function explode_silo(silo)
silo.die()
end
local get_random_position = function(box, x_scale, y_scale)
x_scale = x_scale or 1
y_scale = y_scale or 1
local x1 = box.left_top.x
local y1 = box.left_top.y
local x2 = box.right_bottom.x
local y2 = box.right_bottom.y
local x = ((x2 - x1) * x_scale * (math.random() - 0.5)) + ((x1 + x2) / 2)
local y = ((y2 - y1) * y_scale * (math.random() - 0.5)) + ((y1 + y2) / 2)
return { x, y }
end
local function burn_silo(silo)
local surface = silo.surface
local box = silo.bounding_box
for k = 1, 6 do
local position = get_random_position(box, 0.8, 0.5)
surface.create_entity
{
name = "crash-site-fire-flame",
position = position
}
local fire = surface.create_entity
{
name = "crash-site-fire-smoke",
position = position
}
fire.time_to_live = math.random(59 * 9, 59 * 14 - 1)
fire.time_to_next_effect = math.random(59 * 2)
end
end
local function pre_explode_silo(silo)
local surface = silo.surface
local box = silo.bounding_box
for k = 1, 3 do
local explosions = surface.create_entity
{
name = "crash-site-explosion-smoke",
position = get_random_position(box, 0.8, 0.5)
}
explosions.time_to_live = math.random(59 * 6, 59 * 11 - 1)
explosions.time_to_next_effect = math.random(59 * 3)
end
end
ToNauvis.events[defines.events.on_rocket_launch_ordered] = function(event)
if not event.rocket_silo or event.rocket_silo.name ~= "provisional-rocket-silo" then return end
local player
for i, entry in pairs(storage.rocket_silos) do
if entry.real_silo == event.rocket_silo then
if not storage.transitions then
storage.transitions = {}
end
player = entry.player and game.get_player(entry.player) or game.players[1]
storage.transitions[player.index] = {
rocket_entry = entry,
rocket_entry_index = i
}
break
end
end
local burn_tick = game.tick + (14 * 59)
local pre_explode_tick = game.tick + (17 * 59)
local transit_tick = game.tick + (23 * 59)
local explode_tick = game.tick + (28 * 59)
script.on_nth_tick(burn_tick, function()
burn_silo(event.rocket_silo)
script.on_nth_tick(burn_tick, nil)
end)
script.on_nth_tick(pre_explode_tick, function()
pre_explode_silo(event.rocket_silo)
script.on_nth_tick(pre_explode_tick, nil)
end)
script.on_nth_tick(transit_tick, function()
transit_player(player.index)
script.on_nth_tick(transit_tick, nil)
end)
script.on_nth_tick(explode_tick, function()
explode_silo(event.rocket_silo)
script.on_nth_tick(explode_tick, nil)
end)
end
ToNauvis.events[defines.events.on_post_entity_died] = function(event)
if not event.ghost or event.prototype.name ~= "provisional-rocket-silo" then return end
event.ghost.destroy()
end end
return ToNauvis return ToNauvis

View file

@ -92,8 +92,10 @@ local function launch(event)
if entry.fake_silo == fake_silo then if entry.fake_silo == fake_silo then
entry.player = event.player_index entry.player = event.player_index
entry.rocket_content = rocket_content entry.rocket_content = rocket_content
entry.cargo_pod = entry.real_silo.rocket.attached_cargo_pod
fake_silo.destroy() fake_silo.destroy()
entry.real_silo.launch_rocket() entry.real_silo.launch_rocket()
entry.cargo_pod.set_passenger(player)
break break
end end
end end