Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

revenant refactor #34620

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

MilonPL
Copy link
Contributor

@MilonPL MilonPL commented Jan 24, 2025

About the PR

refactors the revenant system
made documentation more robust
made examines predicted, entity, etc etc

added two new revenant abilities:

  • Cold Snap (removes energy from the nearby atmos, lowering the temp)
  • Energy Drain (drains nearby SMESes, APCs, batteries, etc etc)

ideally merged after #34474 so i dont have to deal with the corporeal system bullshit that much

Why / Balance

modern code good 👍
more abilities also good, but I have no idea where they land in terms of cost/balance

Technical details

since abilities were entities anyways they are now all split into separate components for each one, instead of being stored on the revenantcomponent

Revenant abilities (and hopefully soon other abilities) are now handled on two layers:

  • RevenantSystem processes the ability events before the AbilitySystem, checking the requirements if an entity with the RevenantComponent performs the action AND the action has the RevenantActionComponent
    • If we don't have enough essence, we display the popup and mark it as handled, so that the AbilitySystem doesn't perform it.
  • AbilitySystem handles the core logic, making these reusable for any other entity

Requirements

Breaking changes

A lot of the revenant namespace changes, and forks with custom revenant abilities will need to modify their code and prototypes with the new component references. Actions like Defile, Overload Lights, Malfunction, Cold Snap, and Energy Drain are now generic abilities that can be added to other entities.

Changelog

🆑

  • add: Added two new abilities for revenants!

@github-actions github-actions bot added S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/L Denotes a PR that changes 1000-4999 lines. labels Jan 24, 2025
@MilonPL MilonPL marked this pull request as draft January 24, 2025 13:51
@ArtisticRoomba ArtisticRoomba added P3: Standard Priority: Default priority for repository items. T: Refactor Type: Refactor of notable amount of codebase D1: High Difficulty: Extensive codebase knowledge required. A: Core Tech Area: Underlying core tech for the game and the Github repository. A: Roundflow/Antag Area: Roundflow - "What happens in the game", including antagonist roles and their capabilities and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. labels Jan 24, 2025
@MilonPL MilonPL marked this pull request as ready for review January 24, 2025 16:56
@github-actions github-actions bot added the S: Needs Review Status: Requires additional reviews before being fully accepted label Jan 24, 2025
@ArtisticRoomba ArtisticRoomba added D2: Medium Difficulty: A good amount of codebase knowledge required. and removed D1: High Difficulty: Extensive codebase knowledge required. labels Jan 24, 2025
@github-actions github-actions bot added the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Jan 31, 2025
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot removed the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Jan 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: Core Tech Area: Underlying core tech for the game and the Github repository. A: Roundflow/Antag Area: Roundflow - "What happens in the game", including antagonist roles and their capabilities D2: Medium Difficulty: A good amount of codebase knowledge required. P3: Standard Priority: Default priority for repository items. S: Needs Review Status: Requires additional reviews before being fully accepted size/L Denotes a PR that changes 1000-4999 lines. T: Refactor Type: Refactor of notable amount of codebase
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants