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

Psionic Refactor Version 2, Part 1 #731

Merged

Conversation

VMSolidus
Copy link
Member

Description

Finally, after many long months, and this project surviving a complete restart from square one, I have now made actual, real progress on an actual proper "Refactor" of Psionics. This PR primarily moves ALL of the logic for initializing Psionic Powers into highly configurable YML. The initialization of psionics is no longer handled by components, and is instead now handled entirely by a centralized system. To even further cut down on component bookkeeping, nearly all logic needed for generating Psions has been moved to the PsionicComponent. The PotentialPsionicComponent now no longer exists.

Additionally, and although they are not currently implemented(I will do so in the next PR after this), I have also laid the groundwork for substantial reworks to the other aspects of Psionics. Power generation, casting stats, feedback messages, non-action powers, and so on. It's actually possible to now add a psionic power that does not add any active abilities at all, rather by adding one or more components, thus enabling purely Passive Powers. Or a combination of the two, active-powers with a passive component.

Media

8mb.video-4ot-dw8qWctz.mp4

Changelog

🆑

  • add: Latent Psychic has been added as a new positive trait.
  • tweak: Psionics have received a substantial refactor. While no new powers have been added this patch, this initial refactor lays the groundwork so that new psionic powers will be easier to create.
  • tweak: Latent Psychic is now fully required to become psionic, or to interact with Oracle.
  • tweak: Psychics can now have more than one active power.
  • remove: Mimes are no longer Psionic.
  • tweak: Chaplain, Mantis, & Mystagogue all receive the Latent Psychic trait for free, automatically.

@github-actions github-actions bot added Changes: C# Changes any cs files Changes: Localization Changes any ftl files Changes: YML Changes any yml files labels Aug 14, 2024
@VMSolidus VMSolidus added Size: 2-Large For large issues/PRs Priority: 1-Urgent Must be resolved immediately Type: Feature Creation of or significant changes to a feature Type: Rework Large changes to a system, like a mix between the Balancing, Codebase, and Respace labels labels Aug 14, 2024
@github-actions github-actions bot added the Status: Needs Review Someone please review this label Aug 14, 2024
@VMSolidus
Copy link
Member Author

I wasted 2 hours of my life here.

Copy link
Contributor

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

@github-actions github-actions bot added the Status: Merge Conflict FIX YOUR PR AAAGH label Aug 19, 2024
@github-actions github-actions bot removed the Status: Merge Conflict FIX YOUR PR AAAGH label Aug 19, 2024
@VMSolidus
Copy link
Member Author

8mb.video-g6J-Txi4qpvN.mp4

image

It finally works, after spending 10 hours today slowly picking my way through all the issues caused by swapping over to different standards. Not every demand from psp was met, because it turns out that in some cases the game literally does not work that way(It's a bit odd learning about awesome new things like RECORD STRUCT from PSP, when at the same time Psp ends up going, "Since when does EnsureComp have an optional out var?!"). Today's episode of things don't work that way anymore, Resolve is apparently nowhere even close to as useful as EnsureComp(uid, out var blah). While it's not very useful elsewhere, in the context of this system it's entirely correct(Adding psionic powers to an entity should ensure that the entity is a psionic).

@OldDanceJacket OldDanceJacket removed the request for review from Timfa2112 August 20, 2024 18:29
@VMSolidus VMSolidus dismissed stale reviews from DEATHB4DEFEAT and Pspritechologist August 20, 2024 18:39

stale

@OldDanceJacket OldDanceJacket merged commit 495d331 into Simple-Station:master Aug 20, 2024
11 checks passed
SimpleStation14 added a commit that referenced this pull request Aug 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: C# Changes any cs files Changes: Localization Changes any ftl files Changes: YML Changes any yml files Priority: 1-Urgent Must be resolved immediately Size: 2-Large For large issues/PRs Status: Needs Review Someone please review this Type: Feature Creation of or significant changes to a feature Type: Rework Large changes to a system, like a mix between the Balancing, Codebase, and Respace labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants