-
Notifications
You must be signed in to change notification settings - Fork 123
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
Psionic Refactor Version 2, Part 1 #731
Conversation
…us/Einstein-Engines into Serialize-Psionic-Powers
Signed-off-by: VMSolidus <[email protected]>
…us/Einstein-Engines into Serialize-Psionic-Powers
This reverts commit 0bc0dca.
I wasted 2 hours of my life here. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Signed-off-by: VMSolidus <[email protected]>
8mb.video-g6J-Txi4qpvN.mp4It 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). |
stale
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
🆑