Skip to content

Conversation

@LenardHess
Copy link

@LenardHess LenardHess commented Nov 17, 2025

Note: Right now this PR is on top of the fix_build_script_permissions branch of #1184. This is just due to me being too lazy to carry around an extra commit and/or uncommitted change on top of this WIP work

I also opened this discord discussion thread for this topic:
https://discord.com/channels/546453368730681400/1432472088316215406/

Overview

This PR tackles the alien artifacts that are part of angelsbioprocessing and angelsexploration. The former also has integrations with Bob's Enemies (bobenemies) and Bob's Metals, Chemicals and Intermediates mod (bobplates)

Integration

Bob's Mods

If bobenemies is present and does add artifacts, angelsbioprocessing will add recipes & technologies to craft small artifacts.
If bobplates is also present, that recipe will include a tier 4 gem (e.g. item:bob-ruby-4 aka a Cut Ruby for red artifacts).

Angel's Exploration

Colored alien artifacts (similar to what bobenemies does) are also added by Angel's Exploration.
My current thoughts are to have angelsbioprocessing generate the synthetic artifact recipes for this one too. I'll admit - I've lost track of how this worked (or didnt?) before I started tinkering.

Remaining tasks

  • Idea: Add mod setting to disable synthetic artifact recipes. This would enable people to opt into a run where they must collect all artifacts they want by looting biters.
  • Better graphics for the artifact technologies - Could use some help on this one 👀
  • Clean up cross-integration of angelsbioprocessing and angelsexploration
  • Fix integration with Bob's mods.
  • Idea: Reorganize the tech progression to split small->large crafting (unlocked by looting) from synthetic artifact crafting (unlocked by crafting X large artifacts?).
  • ...

In 2.0 the LuaInventory get_contents function no longer returns a
dictionary we can index into with an item name.
Use the find_item_stack function instead, which can use a item's name
in string form.

New:
https://lua-api.factorio.com/2.0.72/classes/LuaInventory.html#get_contents
Old:
https://lua-api.factorio.com/1.1.110/classes/LuaInventory.html#get_contents
This means that technology prerequisites are actually respected now.
Though admittedly - thats not an issue in any realistic playthrough,
it only came up when I spawned in behemoths for testing.

It also has the added bonus of popping up the research in chat when
completed, which is nice :)
These are mostly just me messing around. Someone with proper graphics
skills please help :o
Depending on present mods, either the artifacts added by Bob's Enemies
or the ones added by Angel's Exploration are used.

This fixes the check also checking for bobsplates. That mod is only relevant
for adding the tier 4 gem to the recipe, not for picking what item names to
use for artifacts.

Note: This can probably be cleaned up by having a saner mod
cross-integration approach with mods agreeing upon what gets generated
based on the settings stage, instead of checking the results of the data
stage and running all of this logic in the data-update stage.
@LenardHess
Copy link
Author

Note that 5f26632 does the same as #1154 - removing the invalid check for bob.plates from the artifact item name selection lines.

@KiwiHawk
Copy link
Collaborator

This PR now has conflicts because of 381f85e (sorry!). I believe bioprocessing is working fine now with Bob's. This PR should probably be constrained to modifying Angel's Exploration mod.

},
research_trigger = {
type = "scripted",
trigger_description = "Locate this artifact in your fight against the biters!",
Copy link
Collaborator

@KiwiHawk KiwiHawk Nov 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strings should be in the locale files. Makes them possible to translate

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will move, wasn't specifically aware of that 👍

},
research_trigger = {
type = "scripted",
trigger_description = "Locate this artifact in your fight against the biters!",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also means it won't be repeated

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might also be nice to have a per-color text to hint at where this drops from 🤔

@KiwiHawk KiwiHawk added the Angels Exploration exploration related label Nov 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Angels Exploration exploration related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants