-
Notifications
You must be signed in to change notification settings - Fork 18
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
[Upstream] Апстрим фич и фиксов с Einstein Engines. #39
Conversation
# Description It was never used but caused annoyance all the time: the listening post could never use the news console and ghosts/centcom officials/skeletons could never publish news because of it. (This was not tested, I recommend either waiting til I test it or making someone else test it before merging) # Changelog :cl: - fix: You no longer need to have a station record to publish news. Signed-off-by: Mnemotechnican <69920617+Mnemotechnician@users.noreply.github.com>
# Description This Feature has been graciously provided for Einstein Engines to port from the White Dream codebase. Mood is a system for tracking a character's current Mental State, which fluctuates throughout the round as a result of various events that can modify it. Each consisting of a single line event that can be trivially inserted into any other system, and a yml configured "Moodlet", which is applied to said character. Moodlets can be temporary or permanent, and can also modify a characters mood in either positive or negative directions. Things like, "Being Hungry", "Being Injured", "Petting a cute animal", "Being Hugged", all create a Moodlet. Mood can provide buffs or debuffs, primarily to movement speed. In fact Mood's movement speed modifier actually completely replaces the movement speed modifiers from Hunger & Thirst. Instead Hunger & Thirst create a negative moodlet that persists until you eat and drink, which _can_ give you a speed penalty. But you might for instance diminish the negative effects by seeking out other positive sources. Or they might just get worse, who knows what could happen? # Media Mood takes the form of a series of Moodlets, which modify your character's internal Mood stat. It's kinda like a healthbar, but for your mental state. Whenever you gain a moodlet, it appears in a popup. White text for standard moodlets, red text for negative moodlets. By clicking on your mood icon, text will show up displaying all of your currently active Moodlets. https://github.com/user-attachments/assets/3e9420bb-3a43-4d97-9127-31d704c15287 New traits! ![image](https://github.com/user-attachments/assets/4ddf968e-3dbd-44e1-a53e-79bb7b955d01) Permission from Codeowners: ![morale code permission](https://github.com/user-attachments/assets/c3d089fa-3e0f-4402-8757-c47e911c3554) # TODO - [x] Refactor the Crit Threshold modification, and Movement Speed Modification to make it more granular. # Changelog :cl: VMSolidus & Skubman - add: The Mood System has been ported from White Dream. Mood acts as a 3rd healthbar, alongside Health and Stamina, representing your character's current mental state. Having either high or low mood can modify certain physical attributes. - add: Mood modifies your Critical Threshold. Your critical threshold can be increased or decreased depending on how high or low your character's mood is. - add: Mood modifies your Movement Speed. Characters move faster when they have an overall high mood, and move slower when they have a lower mood. - add: Saturnine and Sanguine have been added to the list of Mental traits, both providing innate modifiers to a character's Morale. --------- Signed-off-by: VMSolidus <evilexecutive@gmail.com> Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com> Co-authored-by: Angelo Fallaria <ba.fallaria@gmail.com> Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com> # Conflicts: # Content.Server/GameTicking/Rules/TraitorRuleSystem.cs
# Conflicts: # Resources/Changelog/Changelog.yml
# Conflicts: # Resources/Changelog/Changelog.yml
# 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 https://github.com/user-attachments/assets/0fd6b9a4-7d84-4e6e-980a-9d7dd4264f6f # Changelog :cl: - 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. --------- Signed-off-by: VMSolidus <evilexecutive@gmail.com> Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com> Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com> Co-authored-by: Pspritechologist <81725545+Pspritechologist@users.noreply.github.com> # Conflicts: # Content.Server/Zombies/ZombieSystem.Transform.cs
# Description Overlays have a funny bug where the calls to update them are global. Meaning if any single person gets a bad enough mood to greyscale themselves, everyone globally gets greyscaled. This bug was also present on Dogvision and Ultravision, and had the same cause. Frontier luckily had a fix for those two, and the fix works here as well for the Mood Overlay. # Changelog :cl: - fix: Fixed an issue where Overlays(Dogvision, Ultravision, Mood) would apply globally to all entities when updating.
# Description I accidentally deleted these at some point, so here they are again. ![image](https://github.com/user-attachments/assets/c6216f11-f2bc-48a6-86ae-739de0cfe1df) No changelog because I don't want to publicly admit the error. :) --------- Signed-off-by: VMSolidus <evilexecutive@gmail.com> Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Description ![image](https://github.com/user-attachments/assets/febab792-59ca-4938-8f84-e4a94f2a5b31) I noticed that EntityTargetAction prototypes have a Whitelist field, but no Blacklist field. This turned out to be trivial to add, and now it's no longer necessary for Psionic powers to hardcode in C# that they can't affect anyone psionically insulated or Mindbroken. In total only 3 powers had this change, but new powers in the future that affect a target can now arbitrarily blacklist any component(Most likely, PsionicInsulation and Mindbroken. :)) All of this, just to remove 9 total lines of C# hardcoding. # Changelog :cl: - add: Actions no longer need to hardcode in target blacklists, and can now blacklist entities in YML. This is notably useful for Psionic powers, which all share a common feature that they can't target people with Psionic Insulation (Or have been Mindbroken).
# Description While coding another Psionic Power feature, I discovered that the current implementation of iterating over components does not carry over arguments for the components. So I copied over the method used by Traits exactly-as-is, and just changed the names of the variables to accommodate the PsionicSystem. # Changelog :cl: - add: PsionicPowers that add a Component now also allow for adding a Component with Arguments. This works exactly like the trait system's implementation of components.
<!-- This is a semi-strict format, you can add/remove sections as needed but the order/format should be kept the same Remove these comments before submitting --> # Description <!-- Explain this PR in as much detail as applicable Some example prompts to consider: How might this affect the game? The codebase? What might be some alternatives to this? How/Who does this benefit/hurt [the game/codebase]? --> Ported over IPC from DS14, with the fixes from DeltaV. --- # TODO <!-- A list of everything you have to do before this PR is "complete" You probably won't have to complete everything before merging but it's good to leave future references --> - [X] Port - [ ] Check for errors (Local tests wouldn't run on this one) --- <!-- This is default collapsed, readers click to expand it and see all your media The PR media section can get very large at times, so this is a good way to keep it clean The title is written using HTML tags The title must be within the <summary> tags or you won't see it --> <details><summary><h1>Media</h1></summary> <p> </p> </details> --- # Changelog <!-- You can add an author after the `:cl:` to change the name that appears in the changelog (ex: `:cl: Death`) Leaving it blank will default to your GitHub display name This includes all available types for the changelog --> :cl: - add: Added IPC as a playable species. --------- Signed-off-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com> Signed-off-by: VMSolidus <evilexecutive@gmail.com> Co-authored-by: Daniela <43686351+Day-OS@users.noreply.github.com> Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com> Co-authored-by: VMSolidus <evilexecutive@gmail.com>
# Description MoodSystem was lacking a Component Shutdown to yeet the alert, so it was causing intermittent test fails. --------- Signed-off-by: VMSolidus <evilexecutive@gmail.com> Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Description I decided traits weren't flexible enough, so I refactored them to also optionally add Actions(Activatable Abilities), and PsionicPowers(Going through the PsionicAbilitiesSystem). Neither of these have any current implementations, I'll leave that to other people. Trait Components are by extension no longer a hard requirement, although if you add a blank trait that adds nothing, you have only yourself to blame. But doing so won't crash the game or throw an error anyway. # Changelog :cl: - add: Traits can now add Active Abilities to a character. - add: Traits can now add Psionic Powers to a character.
<!-- This is a semi-strict format, you can add/remove sections as needed but the order/format should be kept the same Remove these comments before submitting --> # Description title for some reason something went horribly wrong [here](Simple-Station/Einstein-Engines#766) --- <details><summary><h1>Media</h1></summary> <p> ![image](https://github.com/user-attachments/assets/a9e71b67-ae47-437f-a370-d25b6388d48d) </p> </details> --- # Changelog no cl no fun --------- Co-authored-by: whateverusername0 <whateveremail>
# Description Closes #754 Ifrit is a fire spirit, he really shouldn't be taking 1.5x fire damage. This makes sense and should help with players accidentally killing themselves with the fire ball. For balance, the cold damage modifier was changed to 0.5x, unsure if it should be lower. Minor passive regeneration has also been added, since there isn't another way to heal other than the Mystagogue sitting there hitting them with the book of mysteries. # Changelog :cl: - tweak: Ifrit has received some damage resistance changes --------- Signed-off-by: stellar-novas <stellar_novas@riseup.net> Co-authored-by: VMSolidus <evilexecutive@gmail.com>
<!-- This is a semi-strict format, you can add/remove sections as needed but the order/format should be kept the same Remove these comments before submitting --> # Description Adds xenoglossy to the power pool. I originally planned it for cataloguer but it looks like that doesn't exist anymore. <!-- This is default collapsed, readers click to expand it and see all your media The PR media section can get very large at times, so this is a good way to keep it clean The title is written using HTML tags The title must be within the <summary> tags or you won't see it --> # Changelog <!-- You can add an author after the `:cl:` to change the name that appears in the changelog (ex: `:cl: Death`) Leaving it blank will default to your GitHub display name This includes all available types for the changelog --> :cl: Rane - add: Added Xenoglossy to the psionic power pool. --------- Signed-off-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com> Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com> Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Description Since we now have a LOT of Traits, and soon to be another fresh batch of Traits coming in now that they've been refactored to offer even more options, it's come up that Traits are kinda hard to balance with the current combination of point costs and allotted starting points. To help alleviate this problem, I've both doubled the point values of every trait in the game, as well as doubled the default allotted starting points. There is now more room to balance trait costs against each other. I have not however actually made use of the new range of point costs yet, and would like to consult with other contributors and maintainers on which traits need to be adjusted. # TODO - [ ] Go over trait point costs again to address balance. - [ ] Do this again in 6 months when we have 200 traits. # Changelog :cl: - tweak: Trait points have been made more granular by both doubling the available number of trait points, and increasing the base cost of all pre-existing traits.
# Description Attempt number 5000 to get the Heisentests to STOP. --------- Signed-off-by: VMSolidus <evilexecutive@gmail.com> Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Co-authored-by: Timemaster99 <57200767+Timemaster99@users.noreply.github.com> Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Description Magic single line Yml Fix obtained by digging through DeltaV's Blame **GO!** # Changelog :cl: - tweak: Moths can now be colorful again.
# Description They're confusing. Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
# Description Cataloguer has returned to Epistemics as the newest 4th member of the "Crew Aligned Wizards Club". The Cataloguer is a variation on the Librarian role, which automatically starts with the new Xenoglossy Psionic Power, which allows him to know and speak all languages. Additionally, the Cataloguer is now once again a member of Epistemics instead of Civilian, and has had Epi added to his access. On all maps that previously did not have a Librarian spawner, one Scientist spawner has been replaced with a Cataloguer. # Changelog :cl: - add: Cataloguer has been re-added to the game as a new roundstart Psionic role. The Cataloguer is a unique role that will always start with the Latent Psychic trait, as well as the new Xenoglossy power, which allows him to know and speak all languages.
ебать |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
# Description Certain things in the game were intended to be classed as Psionic(And mostly without powers), but were apparently lacking the components. To clarify, ANYTHING that comes from an alternate layer of reality, alternative plane of existence, extra dimensions, other universes, bluespace, etc, is intended to have a PsionicComponent to abstract represent their nature as a magical being of some variety. The importance of this is largely related to the use of Metapsionics to detect them, but also for the valid target lists for Anti-Psychic abilities, such as the bonus damage from the Anti-Psychic Knife. While here, I've also added the "Loto Oil Slime" from Psionic Refactor Version 1, now that Reagent Slimes(as Extraplanar creatures brought to this world by Liquid Anomalies) have a PsionicComponent. needs Simple-Station/Einstein-Engines#824 # Changelog :cl: - add: Revenants, Reagent Slimes, and Ore Crabs are now considered to be Psionic(But cannot gain powers randomly). This is due to their status as "Magical And/Or Extraplanar Creatures", which makes them valid targets for anti-psychic abilities such as the Psionic Mantis' Anti-Psychic Knife. - add: Some Reagent Slimes can now contain Lotophagoi Oil.
# Description Since Cloning code is effectively abandonware by it's original codeowners, and I was the last person in this entire game to update it, I am technically the codeowner of Cloning. And by extension, it's also my responsibility to maintain the Cloning code. I've been putting this off for awhile due to how busy I've been with other projects, but since I'm now waiting on all my other refactors to be reviewed, I decided to finally sit down and comprehensively refactor Cloning. In addition to massive substantial code cleanup(Cloning machines no longer run on Frametime for one!), here's most of the changes. - Cloning Pods must be powered for the entire 30 second duration of the cloning process. - Said "30 second duration" is no longer hardcoded. Although no methods currently exist to reduce it. I plan on revisiting this after I bring back Machine Upgrading. - Cloning can now FAIL partway through. If the cloning pod is Depowered, Unanchored, or Emagged, it will automatically swap to the "Gore" state. - When in a Gore state, Cloning Pods will destroy the entity they were trying to clone, replacing them with a pool of blood and ammonia that scales with the mass of the entity that was to be cloned! - Clones come out of the pod with a significant quantity of Cellular damage, and are almost always in need of resuscitation. Consider using Cryogenics to "Finish" your clones. Doxarubixadone is literally named after this process, and is a perfectly suitable cryo chem for resuscitating clones. <details><summary><h1>Media</h1></summary> <p> New gore sprites for the Metem machine, because it can now have gore mode. ![Metem gore spites](https://github.com/user-attachments/assets/7cc06ce2-c8eb-413c-b996-85e555b67db3) </p> </details> # Changelog :cl: - add: Cloning & Metempsychosis Machines have been refactored! - add: Cloning can now fail at any point during the cloning process, turning the would-be clone into a soup of blood and ammonia. - add: "Clone Soup" scales directly with the mass of the entity you're attempting to clone. Fail to clone a Lamia, and you'll be greeted with an Olympic swimming pool worth of blood when the machine opens. - add: Cloning will fail if at any point during the procedure, the machine is depowered, unanchored, or emagged. - add: Clones come out of the machine with severe Cellular damage. Consider using Doxarubixadone in a Cryo tube as an affordable means of "Finishing" clones. - tweak: Cloning Time is now increased proportionally if an entity being cloned is larger than a standard human(smaller entities are unchanged) - tweak: The cost to clone an entity can now be configured on a per-server basis via CCVar "cloning.biomass_cost_multiplier" - tweak: The Biomass Reclaimer can now be toggled to round-remove ensouled bodies or not via CCVar "cloning.reclaim_souled_bodies" - add: The effects of Metempsychosis now scale with a Psion's relevant caster stats. More powerful psychics are more likely to get favorable results from being forcibly reincarnated. --------- Signed-off-by: VMSolidus <evilexecutive@gmail.com> Co-authored-by: Pspritechologist <81725545+Pspritechologist@users.noreply.github.com> Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com> Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Description ![image](https://github.com/user-attachments/assets/4135c3fa-d2e0-41ca-b8f4-49e149d43ef3) I'm putting this here as an option to deal with our Heisentest problems, by making the tests "Fault-Tolerant" wherever practical, but I don't want this merged without Death and Psprite agreeing to this. For the most part I believe that these tests are failing because they are essentially checking that "Random events are not creating entities", by creating their own enforced Race Conditions. This particular test is repeatedly failing because the Mood System has no way of deducing that it's in a test. Even though the alleged issue is a nothingburger. ![image](https://github.com/user-attachments/assets/777b31f1-87a7-4eee-8a62-993acb322315) Tests absolutely shouldn't have been designed around race conditions. # Changelog No changelog because this isn't playerfacing.
# Description <!-- Explain this PR in as much detail as applicable Some example prompts to consider: How might this affect the game? The codebase? What might be some alternatives to this? How/Who does this benefit/hurt [the game/codebase]? --> Rewrites the issue templates and removes the redundant security vulnerability issue Also, sorry Death, titles are now sentence case to maintain consistency with the auto generated security policy one Blame GitHub not me </3 --- <!-- This is default collapsed, readers click to expand it and see all your media The PR media section can get very large at times, so this is a good way to keep it clean The title is written using HTML tags The title must be within the <summary> tags or you won't see it --> <details><summary><h1>Media</h1></summary> <p> Here's the old one, can't make issues on a fork so I can't show how it looks now. ![image.png](https://github.com/user-attachments/assets/ae8319ed-b66c-4415-9f6d-1048ddc53e07) </p> </details> --- # Changelog <!-- You can add an author after the `:cl:` to change the name that appears in the changelog (ex: `:cl: Death`) Leaving it blank will default to your GitHub display name This includes all available types for the changelog --> N/A Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
🆑 - add: New changelogs should now show links to their PRs - tweak: Changelog authors should now be a header instead of bold text - fix: Changelogs shouldn't send random amounts of old changelogs --------- Signed-off-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
string didn't become int :cl: - fix: oatnsdaoersoaetaroeoertnsirlea Signed-off-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
<!-- This is a semi-strict format, you can add/remove sections as needed but the order/format should be kept the same Remove these comments before submitting --> # Description Psychognomy is a passive power that gives you a descriptor on the origin of a telepathic message. There's enough of them that are ambiguous enough. I also changed Oracle and Sophia a little bit, giving them innate psionic powers. :cl: Rane - add: Added Psychognomy. - tweak: Reverted Sophia name change. - tweak: Minor tweaks to psionic chat eligibility and formatting. - add: Some new utility has been added to player-controlled Oracle or Sophia. NPC functionality later :^) --------- Signed-off-by: VMSolidus <evilexecutive@gmail.com> Co-authored-by: VMSolidus <evilexecutive@gmail.com>
# Conflicts: # Resources/Changelog/Changelog.yml
конфликты потом исправлю... |
# Conflicts: # Resources/Changelog/Changelog.yml
Плейтест не выявил ошибок |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
# Conflicts: # Resources/Changelog/Changelog.yml
Important Review skippedMore than 25% of the files skipped due to max files limit. The review is being skipped to prevent a low-quality review. 158 files out of 273 files are above the max files limit of 100. Please upgrade to Pro plan to get higher limits. You can disable this status message by setting the Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Код уже прошел проверку от EE. Багов с нашими системами я не нашел. Все переводы на месте. 👍
Описание PR
Притянуты изменения с 19 августа.
Ключевые особенности:
TODO:
Изменения
🆑