Skip to content

Conversation

@ImplementsLegend
Copy link
Contributor

@ImplementsLegend ImplementsLegend commented Jan 30, 2026

Adds "origin" themes to anomalies (closes #528)

  • each theme has different palette
  • each theme requires different essence types for essence task
  • each theme has different mobs for battle task

Refactored spawn functions

Future work

  • The way anomaly themes are currently applied is suboptimal since it creates many duplicate entries in template pools. This could be addressed by refactoring JigsawListProcessor in a way that allows it to make more modifications to the substructures being generated like changing theme.
  • some themes have special dependencies - what is the best way to enable those?

Moved existing spawn functions from anomaly BattleTask to their own package
Added new spawn functions: list, chance, add_passenger, move_to_spawner, move, equip
feat: themed battle tasks
feat: spawn function datapack registry
"element": {
"location": "wotr:rift/anomaly/ceiling/3/overhang-2-jyu",
"processors": "wotr:anomaly_theme_default",
"processors": "wotr:anomaly_theme_buzzy_bees",
Copy link
Contributor

@immortius immortius Feb 1, 2026

Choose a reason for hiding this comment

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

Perhaps we could have have tag support for processors, and pick a random processor from the tag. This would fix support for themes with conditions, while also reducing the duplication. Or going further could add tag support to fast weighted list to allow multiple tags with different weights, with the behavior that all items in a tag get added with the specified weight.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I wanted to move the theme selection to a JigsawListProcessor, then the template pools would only have structures and not processors. Modifying the template pool whould require a new type of template pool (or atleast a new "element_type": "wotr:single_element_with_processor_from_tag") and modifying bunch of riftgen stuff to accomodate those changes. As for using a tag or a weighted list, I was also thinking something like that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Anomalies Set By "Origin" Theme Anomoly Mobs Spawn in invalid locations

3 participants