Einstein-Engines icon indicating copy to clipboard operation
Einstein-Engines copied to clipboard

Psionic Refactor/Rework Part 1: All The Powers, Latent Psychics.

Open VMSolidus opened this issue 9 months ago • 3 comments

About the PR

This is Part 1 of 3 for my project to completely rework the entire Psionic systems, and everything else adjacent to them. Since the Psionic Systems are so all encompassing, I have elected to split the Refactor into three distinct refactors, each focused on one specific slice of Psionics.

Part 1: Powers Part 2: Golemancy & Psychic Threats Part 3: Glimmer Systems

This PR addresses a vast number of issues with nearly every psychic power in the game, making improvements to player experience across the board. I am also making system improvements in the code behind the scenes, with new additions that allow contributors to create all new types of items, entities, and powers. These systems are being made more interactive with each other.

Some of the powers are getting new use-cases being added, while others are getting substantial reworks. Additionally, Pyromancy & Noospheric Zap are being completely reworked into powers that can actually be used by players. There will no longer be such a thing as a power intended solely to be used by monsters. If a new psychic power is to be added, it must be obtainable by players through the same means as all other powers. Therefore it must be designed to be used by players.

That being said, with the addition of some new systems, it is still possible to have monsters cast powers far more powerfully than players, or unlock use-cases for powers that are otherwise difficult for players to obtain. This is accomplished through the new system of Psychic Amplification & Dampening.

Latent Psychic

latentpsychic

Latent Psychic is a new trait that is intended to serve as an opt-in to Psionics during character creation. This essentially allows players to decide in advance if they want to interact with the game's Psionics system, effectively letting players roleplay around psionics without needing to be concerned about random chance, or to select a role that starts psionic by default. Latent Psychic takes the place of the original PotentialPsionicComponent, and has a few changes to it from the original system:

  • [x] Latent Psychics can hear partial snippets of Telepathy, effectively having an always-on "psychic dreams" mechanic. They cannot however speak telepathically until they obtain their first power.
  • [x] Latent Psychic is a full prerequisite for obtaining psionic powers.
  • [x] If the trait is lost, a character can never again become psionic unless they die, and are reincarnated by Metempsychosis.
  • [x] For system keeping purposes, roles that start psionic by default are also Latent Psychic
  • [x] Psionic Systems are now written with the assumption that if someone has the Latent Psychic trait, they have already opted-in to having powers. The "Do you want to be psychic" prompt has thus been removed. If you are a Latent Psychic who rolls a power, you just get the power, there's no need to ask someone who has already stated in character creation that their character is psychic if they want their character to be psychic or not.
  • [x] The fact that Metempsychosis automatically makes you a Latent Psychic is fully intended. Think of it as a fun new way of punishing people for dying, since now they are hunted by wisps and harassed by telepaths.

Variable Casting Stats

image

With the addition of Amplification and Dampening, it's now possible for different entities to have their own unique interactions with psychic powers. Baseline crew psychics have a semi-random spread of casting stats which are generated when they gain their powers. Some jobs such as the Mystagogue and Mantis also have bonus casting stats, while entities such as the Ifrit have sufficiently high amounts of caster stats that they use their powers in fundamentally different ways than ordinary crew.

Metapsionic Pulse

Metapsionic Pulse now has two active abilities, which share a cooldown. Wide Pulse acts like the pre-rework version, and is unchanged save for being refactored. Narrow-Pulse is the new ability, which acts as a more specialized, focused use of the power. Narrow-Pulse is a short range targeted ability, which if not interrupted, will provide its caster with more detailed information about the target. As a rule, it will never give information in a direct form, players will be expected to carefully read the information, and decide for themselves what it means.

Narrow-Pulse gives cryptic information related to the following conditions about a target:

  • Whether or not the target is a Latent Psychic

  • Whether or not the target is psychic, and has unique flavor text setup for when it is scanned. All innately psychic entities should have special flavor text set aside for when scanned by a Narrow-Pulse. That includes things that wouldn't have powers, such as Oracle & Sophic Grammateus.

  • What powers, if any, does the target have?

  • [x] Implement Narrow-Pulse.

Invisibility

Invisibility has been reworked into a timed ability. When activated, a character turns invisible for 30 seconds. This time limit is increased by amplification, and decreased by dampening. As a tradeoff for this, characters are no longer stunned when voluntarily exiting invisibility. Characters are still stunned when being forced out of invisibility, such as by taking damage, being dispelled, etc.

Invisibility is automatically ended early when making any kind of potentially hostile action. Which includes swinging a melee weapon, shooting a gun, and throwing anything. This however counts as a "Voluntary" exit, and does not stun the user.

  • [x] Fix a ton of bugs
  • [x] Implement Metapulse Feedback
  • [x] "See Invisible" no longer checks if an entity doesn't have PotentialPsionic. Instead, any entity that is intended to See Invisible needs to natively have Psionic Insulation.

Dispel

Not a lot needs to change with this power. However it does have some entirely unique numerical interactions with other system. Notably, it will have an offensive component in the form of Dispel Backlash. Dispel is also unique among powers in that it does not increase Amplification, and instead significantly increases Dampening. This makes Dispel users into a general sort of "Antimage" archetype. This power is by design seemingly boring, yet one of the most useful of all powers. I don't actually need to significantly buff it, but adding a niche offensive use-case will go a long way towards changing player perception of the power.

  • [x] Dispel is now uniquely the only power in the game that reduces glimmer when used, based on the caster's Dampening. Glimmer reduction only happens on a successful dispel

Telegnosis

Also not a lot to change here, mostly bugfixes. But I'm also reworking what happens when someone messes with the body of a Telegnosis user, or their projection.

  • [x] Fix bugs related to Cryo
  • [x] Rework Telegnosis Projection so that it can be interrupted by certain conditions. Telegnosis users will be violently forced back into their body if it is significantly disturbed, harmed, or dispelled.

Regeneration

This power is receiving a new use-case, that of a self-resuscitate mechanic. If Regeneration is not on cooldown at the exact moment that its user is brought into a crit state, a special higher power variant of the power activates. After a 7 second delay, the user's body is injected with a mixture of prometheum & epinephrine, while a flavor text popup appears alerting people nearby that the body is "visibly regenerating". This "Self revive" mode has a significantly increased glimmer usage, and shares its cooldown timer with the main ability. Regeneration "Self Revive" cannot save its user from death, since a dead body cannot benefit from chemicals anyway.

  • [x] Implement Regeneration self-resuscitate mechanic.

Mass Sleep, reworked to Regenerative Stasis

Mass Sleep is being completely replaced with a new targeted version of Regeneration. Upon completing a short channel(which doesn't require the caster to stand still, but can be interrupted), it injects the target with prometheum, while also putting the target to sleep for the duration of however long it takes the body to process said prometheum. This is done to address Mass Sleep's status as a "Shitter Power", since in practice it was essentially only used by people to troll the crew.

  • [x] Rework Mass Sleep

Mind Swap

Just some small changes to make it less of a shitter power. Mind swap is getting some exit conditions added, in which the user is automatically shunted back into their original body(whether it is intact or not). This is mainly to address a downright shocking meta of mind swap traitors activating a minibomb, and then swapping to the captain a moment before the bomb goes off. While I applaud the creativity involved, this really isn't something I want to encourage.

  • [x] Mind Swap reworked. Mind Swap now requires that both bodies be alive, conscious, and not insulated for the duration. If either entity becomes insulated, critical, or dead, the mind swap immediately ends.

Pyromancy/Noospheric Bolt, Full Rework into the "Elementalist" family of powers

Pyromancy and Noospheric Bolt have both been reworked into powers that are fully intended to be used by players. Rather than being a point and click button, Pyromancy launches a fireball whose effects scale with the Psicaster's stats. Noospheric Bolt has also been scaled with players in mind.

https://github.com/Simple-Station/Einstein-Engines/assets/16548818/c00b6a10-a662-4bbd-bd49-395a2c811b7c

Mind Breaking

https://github.com/Simple-Station/Einstein-Engines/assets/16548818/e60333e8-0351-44f8-9405-ff1a70a407dd

Mind breaking takes on a far more serious undertone with this update, and its effects are befitting something that could be considered a capital punishment. Where before, a mind broken individual could regain their powers through the ordinary means of drugs and luck, this new update changes the dynamic. Mind breaking now not only removes any powers a psychic might have, but also strips away their Latent Psychic trait, permanently removing their ability to become a psychic again. The popup that appears gives players a taste of the seriousness of the act, which will no doubt shock some people. It is not an act that should be performed lightly, and performing it on someone undeserving of it should feel like an actual crime.

Technical details

  • [x] Two new variables have been added to PsionicComponent, Amplification & Dampening. Amplification represents a caster's "Power level" while utilizing psychic powers. Higher amplification increases numerical effects of powers, potentially unlocking new use-cases, while also increasing the glimmer generated. Dampening does the opposite, and it represents an opposing force, an inherent resistance to power. Dampening decreases all numerical effects of powers, but also makes them safer to use.
  • [x] All "Crew" psychics start with Amp & Damp of 1 by default, which are increased by having psychic powers, or rare "Items of Power"
  • [x] All psychic powers need to have a specified amount(if any) that they modify a Psychic's Amplification & Dampening
  • [x] Each power, and every innately psychic entity needs to have a Metapulse Feedback added
  • [x] Additionally, each power needs to have a Dispel Backlash, if applicable
  • [x] New powers need to modify an entity's PsionicComponent when initialized, and undo whatever they added when uninitialized.

TBD, fill out as I check off objectives.

Media

Removal of BecomePsionicObjective

This has essentially always been a bad traitor objective, since it does not require any form of antagonistic behavior, nor any interaction with any other player. Additionally, its fundamentally incompatible with the changes to who can become Psionic, since being Psionic in the first place is now something you do by opt-in(or accidentally via Metempsychosis). If a player chooses to not be a Latent Psychic, the BecomePsionicObjective essentially becomes impossible.

Breaking changes

Changelog :cl: VMSolidus

  • add: The trait Latent Psychic has been added.
  • remove: The "Become Psychic" traitor objective has been removed.
  • tweak: Psychics have become refactored, featuring new systems allowing for varying casting stats
  • add: Pyrokinesis has been reworked, and is now available to be rolled by psychics
  • add: Noospheric Zap has been reworked, and is now available to be rolled by psychics
  • add: Metapsionic Pulse has a new sub-power added, allowing users to gain specific information about psychic entities
  • add: Regeneration has a new self-revive mechanic added
  • add: Mass Sleep has been replaced with Regenerative Stasis
  • add: Mind Swap has been reworked. Mind swaps can be ended early by a variety of conditions, the caster is vulnerable to damage taken by the victim
  • add: Dispel has had new use cases added.
  • add: Both the Mystagogue and Mantis now have roundstart casting stat improvements
  • add: Mindbreaking is now a permanent affliction.

VMSolidus avatar May 03 '24 18:05 VMSolidus