mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 21:18:37 +01:00
dmgmrkr
9
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
8f1a925afa | More abstract types (#95064) | ||
|
|
526a6c3839 |
re-adds and re-implements the heretic unit test (#93762)
## About The Pull Request holy shit this was agony to do. re-implements the heretic unit test in a way that works with the new system of multiple list while being as thorough as possible ## Why It's Good For The Game seeing unused knowledges good, which this has already found ## Changelog 🆑 code: heretic unit test is back /🆑 |
||
|
|
a2c7c8e57b |
Heretic Antagonist Full Overhaul. (#92119)
## About The Pull Request Heretic has received a complete overhaul. This PR touches nearly every aspect of the antagonist. For readability's sake, not every change is going to be listed in this pull request. For the full list of changes please refer to the design doc: https://hackmd.io/@BiST8PJVRjiwVPY86U3bLQ/B11HyChz1g. Code by Me, @Xander3359 and @Arturlang TGUI by @Arturlang Sprites by OrcaCora and GregorDM Writing bits by @necromanceranne ### Core changes - Cross-pathing has been removed. Main knowledge spells are now exclusive to their path (for the most part). - For every main knowledge unlocked (save for the robes and the blade upgrade), Heretics can choose one option from a draft of 3 random side knowledges (this is a free point). - Heretics can now purchase side knowledges from a new tab, the "Knowledge Shop". Side-knowledges have been divided by tier (Stealth, Defense, Summons, Combat and Main). Tiers are unlocked as you progress toward your main path. - Heretics now gain the grasp and mark upgrade immediately, but their main knowledge choices cost twice as much (except for the first spell, the robes and the blade upgrade). - Path specific robes have been introduced! They come with their own set of quirks. - Each Path has received a passive ability. This passive is upgraded when you first create your robes, and again when you complete the Ritual of Knowledge. - Paths have been rebalanced as a result of the removal of cross-path progression. Cosmic and Moon paths have received soft reworks. - Upon unlocking the path 2nd level or reaching a total of 8 points worth of knowledge, Heretics will lose the ability to blade break (and the limit on blades all together). - Ascension now automatically calls the shuttle with no possibility of a recall. - Late join Heretic has been removed. ### New UI <img width="750" height="635" alt="moon path ui" src="https://github.com/user-attachments/assets/184ef783-5c9c-48a1-a2f7-4807ca93e990" /> ### Knowledge shop <img width="787" height="669" alt="Knowledge shop" src="https://github.com/user-attachments/assets/3dc89b84-8c70-4d47-b612-54396e3ea6e7" /> ### Quality of life //General balance changes - Heretics will now gain X-ray vision for a few seconds when nearby an eldritch essence (this effect has a cooldown). - Ritual of knowledge now requires 1 uncommon item instead of 2. You may now use a stunprod instead of a baton to complete the ritual. Beartraps have been removed from the list of possible reagents. - The maximum number of possible sacrifices required to ascend has been reduced from 6 to 5 while the minimum has been upped to 4. - Codex Cicatrix no longer requires a special pen to be made. ### Passive abilities - Heretics now start with a passive ability. You can find what it does on the path info tab after a path has been selected, and what they gain when upgraded. - Crafting your first set of Eldritch robes will bump your passive to level 2. - Unlocking the 2nd level will subsequently unlock your "Ritual Of Knowledge" - Completing the ritual of knowledge or ascending will net you the final level. ### Path Specific Robes - Armorer's Ritual is no longer a side knowledge. Each path will have their own unique version of the ritual. This is placed after the 2nd spell in the tree. - Robes can no longer be destroyed by fire and acid, grant t4 flash protection (Moth Heretics stay winning) and protection against basic syringes, to bring them on par with other antagonist's armor sets. - The recipe to craft the robes is now a set of armor/vest, a mask (any mask will do now, not just gas masks), plus the unique reagent required for the blades (Plasma for Cosmic, Trash For Rust, match for Ash and so on) - Wearing the robes as a non-heretic may yield some unfortunate side-effects. ### Moon Path Rework Moon path rework. Moon Heretics gain immunity to brain traumas and slowly regenerate brain health. Equipping the moon amulette channels its effects through the moon blade; making it unblockable and cause sanity damage instead of brute. Ring leader's Rise now summons an army of harmless clones that explode when attacked; the explosion briefly stuns non-heretics and cause sanity and brain damage to them. Moon blade can also now be used when pacified and Moon spells are no longer blocked by regular anti magic, only mind magic protection. **Cosmic Path Rework** Cosmic path has received the biggest batch of changes alongside Moon. The path has been dead last in ascension and pickrate (less than 5%) for almost 2 years. It did gain some popularity over the last few months, reaching the highest ascension rate in the game (12%) while mantaining a relatively low pickrate. Cosmic sits in a weird spot, where pretty much every knowledge surrounding the path is either mediocre or, in the case of the ascension, dysfunctional. Yet it has maintained a smidge of relevancy due to how quickly Cosmic heretics can capture and sacrifice targets thanks to Star Touch. As a result, the best course of action would be to rebalance the entirety of the kit; granting the heretic more tools to manipulate space and dictate the flow of a fight, while lessening their ability to end a confrontation by instantly sleeping their opponents. lastly The Star Gazer is now ghost controlled ; And they shoot lazers! <img width="636" height="451" alt="gazer gag 3" src="https://github.com/user-attachments/assets/601d6881-c042-4e42-8ce6-ac90cd27848b" /> ## Why It's Good For The Game ### Ok...but why do we want this? Again, if you want my full reasoning, please check my doc https://hackmd.io/@BiST8PJVRjiwVPY86U3bLQ/B11HyChz1g. To keep it short and concise; Heretic is too complex and unintuitive for its own good. Too impenetrable for new players and too abusable for experienced players. This can be chalked up to a lot of poor design decisions. But ultimately, what I believe being the biggest contributor to the current status of Heretic is the ability to move into different paths, also known as "Cross-Pathing". ### Cross Pathing my beloathed. Cross-pathing, while cool in theory, overcomplicates the antagonist and overloads them with power. Players dealing with the heretic are incapable of working out what a given heretic can do. This also leads to late game heretics having 3 rows Worth of action buttons and virtually no weakness. Over the last year, I've often received the understandable but also kind of unfair accusations of making Heretic too powerful without a clear aim or purpose. My goal with the paths I've reworked over the last year (Rust,Void and Blade) wasn't necessarily to just make them stronger (although that was also part of the goal, as they were paths that were underperforming), but for them to have more interactions with the sandbox and to better live up to the fantasy presented to the player. If an harbringer of frost gets countered by a cup of coffee, we probably messed something up. Unfortunately, the current incarnation of Heretic doesn't really allow for surgical balance changes to specific paths. Every time a knowledge gets buffed, we make every path that can easily tap onto that knowledge stronger by default. It doesn't take a genius to understand why this system is ultimately unsustainable. ### Blade Breaking I feel that after a heretic has reached the near peak of their power, they no longer need the ability to instantly escape any encounter. Check my doc for my full reasoning. ## Less versatile, more specialized paths. By removing cross-pathing, we remove a huge maintainability burden from the antagonist. Paths can now be designed around clearer strengths and weaknesses. They become easier to balance and less of an headache to understand for everyone. It also means we can give paths some needed quality of life quirks without having to worry how such a change might have a knock-on effect for other paths. Ash heretics can finally let loose without dying by their own flames. Cosmic Heretic can go to space without having to carry a modsuit. Moon Heretic can use their abilities without fear of one random trauma ruining their day, and so on. ### What a horrible night to have a curse...., wait how do I curse people again? As of right now the heretic tree has quite a hefty amount of trinkets that pretty much never see use. Partly because the tree itself is a nightmare to navigate. And partly because why would anyone set up an elaborate plan or scheme when they can unleash 2 rows of spell in the span of bunch of seconds. Heretics mostly gravitate towards powers that push them towards greater, more potent combat strength. If it doesn't contribute to killing people quicker, it isn't worth doing for most. And given the opportunity cost associated for taking those powers, they will remain that way so long as there are better choices to be poached. The new draft system encourages Heretics to play more with the tools at their disposal. If you want to go for a specific combo from the side path options, you may now do so by tapping into the knowledge shop. Yes, the shop does include a few knowledges from the other paths. But these are limited to 1 per path, are very expensive and can only be unlocked very late into the shift. ## Drip Of the Mansus The iconic heretic robe is actually sequestered to a side path that is most easily access by only two paths at a time. Since heretic paths are being made to be much more specialized, the most obvious way in which this can be showcased is through an easily identifiable outfit. By using the robes, we can both telegraph WHAT heretic you are looking at, and just how much power they've accumulated and when it is reasonable to take the kid gloves off and treat them as a genuine threat. If a heretic is in their robes, that heretic is now a significantly more prominent danger to the station. It also serves as a useful means for gating some of the more powerful effects of a heretic's path behind the robes, AND enable options for disarming them of that power should they be captured without making it something endemic to their mob. A major problem with heretics is a lack of certainty as to how powerful they have become. A heretics robes is one of the milestones to help players dealing with heretics identify that. ### Will this be 100% fair and balanced? This is a massive overhaul to a pretty complex and bloated antagonist. I've done my best to show the changes to several maintainers and other members of the community for their feedback. But at some point we'll have to see how this behave in the environment to get a feel if something is over or undertuned. (that's my way of saying, yes this is likely gonna require a testmerge or two). What I will say is that I'm not trying to change the core identity of Heretic. Heretics should have the upperhand in single encounters early on, be able to joust a small group of players after they unlock their final spell, and end the round when they ascend. They're a progression antagonist. They should retain their payoff as well as pose a danger as they grow stronger. But if more players feel like they are more reliably able to play the antagonist in more varied and interesting ways, rather than the antagonist largely existing as a measuring stick for 'robustness' due to its elitist design philosophy, then the rework has been a success. There should be something for everyone in the antagonist, as is true for all of our antagonist roles. |
||
|
|
c915a922cd |
Datumizes heretic paths (#87432)
## About The Pull Request Replaces the previous system of manually linking each and every heretic knowledge with eachother with an elegant solution to the problem, additionally places further restrictions on heretic tree, ensuring that noone can singlehandledly make it really hard to understand. There were 2 holes in the heretic knowledge tree, which I removed with temporary dummy linkings (till someone adds something there, or I may yet add something there in this PR, so if someone wants to add something there better do it quickly). The dummy linkings are necessary as the new system is rigid in this regard in that it does not allow for these connections to *not* exist, the heretic tree is a directional graph and while it handles one or mroe connections, it cannot handle having no connections by design. |
||
|
|
e02595078c |
Adds a Heresy phobia, fixes some typos in heretic code, places the stargazer and fire shark under heretic_summon (#77306)
## About The Pull Request Instead of a supernatural phobia, sacrificed people will now get a HERESY phobia, which specifically targets heretic stuff, instead of all of magic. Other heretics, however, do not get this, but instead get knowledge points sapped from them, as their mind is ruined in a different way than normal people. This comes with different flavour text and a harsher but shorter lasting mood debuff. Also fixes some "knowlege" code typos and places the star gazer and fire shark all in under heretic_summon ## Why It's Good For The Game Heretics, Wizards, Chaplains and Cultists will now be able to keep playing the game after getting sacrificed without overdosing on psicodine, while still retaining the phobia's original design purpose. placing the fire shark and star gazer under the same type also is useful as they share a lot of values. typos bad. ## Changelog 🆑 add: Sacrificed heretic targets will now receive a phobia of heresy instead of a phobia of the supernatural. Sacrificed heretics will not get this phobia, but will lose knowledge points instead. /🆑 Huge thanks to Helg2 for doing the original PR and helping me with this one, couldn't be done without them --------- Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com> |
||
|
|
bca463316b |
Makes integration test results be in color and have annotations (#66649)
About The Pull Request
Separated compiling the integration tests and running them as separate steps for organization purposes.
Added a TEST_ASSERT_NULL(value, reason) and TEST_ASSERT_NOTNULL(value, reason) because those are conceptually simple tests.
Makes the PASS and FAIL prefixes in the integration test log be green and red for better readability.
Failure reasons now display the file and line number.
In order to achieve this, direct calls to Fail() are now wrapped in a macro, TEST_FAIL(), as Fail() itself needs preprocessor stuff passed to it.
In the midst of updating it, I noticed multiple cases of tests directly calling Fail() and returning when they should have used a better macro, so those were updated. There was at least one case where it appeared that the code assumed that the test ended at Fail(), but made no attempt to do so, such as with the RCD test.
Feel free to double check all of the changed unit tests in case I made a functional behavior change, but they currently pass.
To take advantage of the previous change, failures are now marked as annotations. Note that outside of github, this creates an ugly-looking line but the primary environment is as a github action.
Examples with intentionally botched unit test:
image
image
image
Why It's Good For The Game
Makes inspecting failed unit tests significantly easier.
Changelog
N/A
|
||
|
|
753980d5b1 |
Fixes the void Ritual of Knowledge + unit tests main path lengths (#64929)
Void ritual of knowledge should be of the void path. This fixes that. Also adds a unit test to ensure all main paths are of the same length. Funnily I think this was causing the main route calculations to be off, so the knowledge objective should be easier by one. |
||
|
|
dd747fcc5a |
BIDDLE HERETICS: Heretic revamp! (Shadow Realm, UI Overhaul, Refactoring, and Murderhoboing Tweaks) (#64658)
About The Pull Request This PR seeks to revamp heretic in it's almost entirety. Closes #58435 Closes #62114 Closes #63605 image Gameplay changes: The heretic no longer starts with a Codex Cicatrix or a Living Heart. Heretics now draw transmutation runes by using any writing tool while having Mansus Grasp active. The Mansus Grasp can be used to remove heretic runes. Draining influences can be done with "right click". While draining, people who examine you may get a message hinting that you're interacting with an influence. Drained influences can also be dispersed with anomaly neutralizers! The Codex Cicatrix is now a researchable item that lets you gain additional knowledge from influences. The Codex can still draw and remove runes, and does it faster. The Living Heart is now the heretic's heart. Literally. It's the heart in their chest. Their heart takes on the appearance of a living heart, and they can pulse it on demand to track their targets. This makes an audible noise. If your heart is lost (you're disemboweled or whatever), you need to do a ritual to regain it! Casting any heretic spell (besides Grasp) requires a Focus. A Heretic Focus is a neck item they can transmute. Heretic robes also function as a focus when toggled up. Ascending also disables the need for a focus, because of course. Heretics now gain 1 knowledge point passively every 20 minutes. Sacrificing has been revamped entirely. A heretic now gains four sacrifice targets on spawn. One random crewmember One member of their department One member of security One member of command (a "high value" sacrifice) You can sacrifice people who are in in soft-crit, hard-crit, or dead. Sacrificing someone will cuff them (if they are not), HEAL them, revive them, and set them unconscious. After a short time. they will be sent to a shadow realm. This shadow realm is themed to your heretic type. The shadow realm is a 2 minute long survival challenge where the sacrificee is subject to a constant barrage of shadowy hands. If they survive, they are teleported back to a random turf with no memory of how they got there. They'll also slur a TON to get the point across. If they die, their corpse is teleported back to a random turf on the station. No more multi-hearting! Your targets are your own. BUT adds a knowledge that allows heretics to reroll their sacrifice targets with a ritual. Each path now has a "Rituals of Knowledge". These are randomly generated rituals that may be difficult to complete but awards knowledge points in return. Ascending now has some requirements. To learn the ascension ritual, you need to complete all of the objective you are assigned. The ascension ritual now each have a varied requirement, instead of "needing 3 bodies" only. Other minor gameplay changes: Lots of balance tweaking. Buffed some summons. Buffed the Lord of the Night very slightly. Nerfed the Madness Mask. Put a limit on the amount of blade transmutations possible at once. 3 for flesh, 2 for other paths. Logs of BUG fixing. Rust Grasp is now based on right click for surfaces instead of combat mode. General grammar and flavor tweaks a ll around. Admin / code changes: Revamped the way heretics appear within the traitor panel. You can now easily see who they're targeting for sacrifice and what they have researched Also adds some helpful buttons to heretics, like giving them points! Refactored much, much of heretic code LIKE ALL OF HERETIC CODE WAS IN 4 FILES. Split up all the knowledge, spells, and items that belong to the heretic into their own files and folders. Not only that, but everything internally was still named "Eldritch Cultist" and similar. Almost every mention of "Eldritch Cultist" has been properly replaced by "Heretic". Much better reference handling all around. General code improvements over heretic stuff. Unit tests, because of course. Todo Sprites for the focus Look at adding 1-2 other objectives prior to ascension. Theft? Special rituals? ("Rust [x] tiles to be able to ascend") Why It's Good For The Game Okay but why? Heretics are not in a good place at the moment, this much is clear. They've been completely disabled on MRP for this reason. The reasoning is simple: A lot of murder. There's nothing inherently wrong with an antagonist heavy with murder, but the Heretic really missed the mark. Gib, gib, gib, then ascend so you can keep killing. In the background, the Heretic was FULL of flavorful spells, rituals, and "lore" stolen from Cultist Simulator that was unfortunate enough to be shackled to the heretic's gameplay loop. So, this revamp aims to amend that: Dial back the heretic's focus on mass murder and put more focus on the heretic's interesting flavor. Spooky maintenance rituals, knowledge seeking maniac. Sacrifice no longer outright kills / requires murder, meaning a heretic can progress without racking up a bodycount. Influence is gained passively over time, so they can spend influence on more interesting side paths. Side paths are required to progress to ascension, so they're encouraged to explore new things. Ultimately, while there still may be a little way to go, this PR seeks to take a good leap in starting it. Changelog cl Melbert add: Large scale heretic revamp! expansion: The Codex Cicatrix is no longer a roundstart heretic item. Research is handled through their antag info UI. Rune drawing is done by using a writing tool with Mansus Grasp active in your offhand. The actual Codex is an unlockable ritual item now. expansion: The Living Heart is no longer a roundstart heretic item - their actual heart now becomes their Living Heart, and it makes a sound when triggered. Losing your heart (being disemboweled) will require you to do a ritual to regain it. expansion: The Hereic Antag UI has been overhauled, and now hosts much of their mechanics as well as providing some helpful tips for newer players. expansion: Most heretic spells now require a focus to cast. All heretics can make a basic focus necklace, and some heretic equipment also functions as a focus. (Credit to Imaginos for the focus sprite!) expansion: Heretics now passively gain +1 influence every 20 minutes. expansion: Heretic sacrificing has been reworked. You can now sacrifice people who are in soft crit or weaker. Sacrificing someone heals them, cuffs them, and teleports them to the SHADOW REALM, where they must dodge a barrage of hands to survive. Survive long enough and you return without memory - die, and your body will be thrown back. expansion: Heretics now have a few new rituals, including the Ritual of Knowledge, a randomly generated ritual that awards knowledge points. expansion: Heretic ascension now has a few requirements - you must complete your objectives assigned to you prior to learning the final ritual, and all the final rituals have been changed a bit! qol: Using the Heretic's Mansus Grasp on surfaces (EX: Rust Grasp) now works on right-click, instead of combat mode. qol: Used heretic influences can now be removed with a Anomaly Neutralizers. balance: Some heretic rituals are now limited in the amount they can make. You can only have up to 2 heretic blades crafted at once (3 if you are Path of Flesh). balance: The Lord of the Night has been buffed to be a little scarier. Did you know the Lord of the Night can eat arms to regain body parts and heal? balance: Buffed some heretic summons - mostly their health pools. balance: Nerfed the heretic's Mask of Madness. It can no longer infinite stam-crit you. balance: Nerfed the heretic's ash mark. balance: Nerfed a bunch of on-hit-heretic-blade effects. Many effects only apply on mark detonation now: Void blade silence, flesh blade wounds, ash blade gasp cooldown refund. fix: Fixed quite a few bugs and unintended behaviors with heretic code. refactor: Refactored and improved much of Heretic code. Improved the file structure dramatically. admin: The heretic's traitor panel has been beefed up a bit. /cl |
||
|
|
915204167d | Unit tests for heretic knowledge (#55022) |