Componentize Rat King Rummaging. #34481
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
About the PR
Separated the Rat King's "rummaging" into its own component, and added several new options to make it more modular.
Why / Balance
Several older components (namely Rat King and Dragon) combine multiple completely unrelated systems into one monolithic component, which I feel goes against the ethos of having an ECS in the first place. Also, I wanted to use Rummaging for some custom content without any of the rat king stuff.
This will not affect players in any way, but it may be useful for developers. I plan on also separating out the Rat King's army and domain abilities into their own customizable components, but I figured it would be better to do those in their own PR.
Technical details
Moved the portions of RatKingSystem responsible for rummaging to their own system.
Added the ability to define rummage loot tables either on the entity with Rummaging or on the entity with Rummageable.
Added support for custom rummage verb.
Added rummage speed modifier to Rummaging.
Added the ability to define a Rummageable entity as re-lootable, with a customizable cooldown between refreshes.
Media
Requirements
Breaking changes
Changelog