Repository navigation
[MDB IGNORE] For The Bit: Cherry picks every recent bitrunning change. Also announcement system refactor. - #941
Merged
Conversation
## About The Pull Request Fixes #84283 by just adding actual bounties for Bitrunner, giving them something more interesting to do than random bounties for jobs they don't have access to. These bounties revolve around optionally turning in the special rewards from each of the bitrunning domains (a bike horn, the abductor plush, beach ball, etc) for a credit reward. I considered the idea of making each one drop a specific bounty chit that you turned in for a reward, but at that point it's just "paying you per domain" and I'm not sure how that would balance with economy. This is more just meant to be a framework for others to add things that might be a little more interesting. This also adds a special drop from the Pizzeria domain because I thought it was funny.
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> Finally dusts off this project to make a deathmatch style bitrunning map. Don't be too intimidated by the file diff, lots of code organization + resized a large map. Changes: 1. Reuses the gateway beach map as a combat zone (99% of the file diff) (maptainers: i just added spawners and areas) 2. Alters how bitrunning handles spawning: Custom spawns are now available, which can be anything Misc organization: - Splits netpod.dm into separate files. - Fixes some wording in vdom map documentation. - Organizes vdom variables a bit. - Adds a permanent hololadder spawn. How bitrunning deathmatch works: - Temporary spawners are offered to both ghosts and bitrunners. - Runners spawn in like usual. Ghost can use the spawner menu. - Ghosts work to prevent avatars from collecting side objectives or try to cause mass brain damage. - The domain completes after a number of deaths accrue. Any faction. Blood for the blood god, etc. - This map can be played solo. ANY deaths. <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> I've been toying with the idea of a deathmatch style map for some time. I liked syndicate assault, the spawners were intentionally left there, and the possibility of player-controlled players made the experience more tense and challenging. This PR leans into this idea: The virtual world is dangerous. Players get a chance to compete on both sides here. It offers a lot of variety to bitrunning other than "run for box". It's also very lucrative if ghosts join in. <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> :cl: add: Added a bitrunning deathmatch map: Island Brawl. Both ghosts and runners get many more spawns than normal. fix: Lowered the static vision time in domain load in. /:cl: <!-- Both :cl:'s are required for the changelog to work! You can put your name to the right of the first :cl: if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. -->
## About The Pull Request  Tin, just aims to fix this hard del by releasing the refs when the spawners get qdeleted. ## Why It's Good For The Game Fixes a hard del---also, there were some issues with this domain not clearing itself properly under certain cases and this may resolve that. ## Changelog Nothing player facing
Title. Adds two new maps: - Grasslands Hunt (peaceful) - Meta Central (easy) These maps add a new basic revolutionary mob and significantly upgrades the ai of basic deer. This fixes an issue where modular maps were not correctly spawning mobs or adding them to the "mutable candidates" for antagonists. There's also some balance changes to bitrunning vendor prices, which are generally now lower. This change is unrelated to the PR as a whole so I'm okay with removing it if there's concern <details> <summary>expand</summary>   </details> - [x] Fix the revolutionary death anim - [x] Make deer run when injured New maps as a general positive for bitrunning Bug fixes Makes vendor choices for bitrunning-exclusive items generally less of a chore to get jlsnow301, MMMiracles, KikoWen0, Ben10Omintrix :cl: add: Added two new bitrunning maps: Grasslands Hunt and Meta Central. add: Deer are now more complex animals, granting them enhanced ability to run amok and chew your favorite plants. balance: Reduced the cost of most BR vendor items. fix: Fixes an issue where modular virtual domains spawned less mobs than intended. fix: These modular spawns are now valid mutation targets to become an antagonist. /:cl: --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
…stment (#86797) ## About The Pull Request This swaps out the pirate spawner on the Meta Central VDOM with the subtype specifically meant for virtual domains. That thing wasn't actually a virtual domain spawner, it was just a regular one. This applies the necessary restrictions/roles being applied to pirates who spawn on that map. It will also make #86794 work on the Metastation Central map, rather than only affect the Corsair Cove map (which used the correct spawner type). This also adds the Announce to Ghosts flag to Meta Central, as is uniform for maps with ghost roles. Doing so also enables the VDOM selector UI indicator that ghost roles can spawn on the map. This whole thing started as an attempt to fix #86785 but I was too slow and someone beat me too it. Darn. ## Why It's Good For The Game Ensures #86785 will be closed properly. ## Changelog :cl: Rhials fix: The Meta Central Virtual Domain now uses the proper ghost role spawner, meaning you can't eavesdrop on syndie comms using their headset. /:cl:
Replaces the mini-UZI beach battle domain reward with a ballistic chameleon gun. Also added a separate possible reward for an uzi bitrunning disk.
…8716) Where I forget about a pr for 5 months. This started because there was a pr that made it so skills transfer between the real and the digital, and so I thought it'd be really funny if I could train boxing in virtual reality... but there's no easy way to get boxing gloves or anything like it in the virtual world... So! I decided to make a disk for it, but then thought about fishing and gaming and- Anyhow it all went downhill from there and here we are now: Gimmick Disks. (And a refactor of disk loading) This implements a new type of bitrunning disk that instead of a single item or ability, grants a full set of thematic items/abilities! Unhelpfully cosplay as a wizard! Game inside your game! Down a digital protein shake and box some simplemobs! As the name "Gimmick" implies, these are primarily intended to help shake up the sometimes stale bitrunner gameplay. By letting you invoke, if you so desire, what to me is the most enjoyable gaming experience: doing stupid shit with your buddies. To facilitate the new type of disk I had to refactor disk loading, as it was hardcoded to the item types. Instead, we make disk loading send a signal to the bitrunner, and register for this when held in their inventory. This allows us to do things like making the lead acid battery give you shock touch when held, without needing to make an explicit typecheck or iterate over every item in the bitrunner's nested contents to see if they have a loadable item. I think it'd be really funny if you could train your boxing in the digital realm. As said above, I feel the bitrunner gameplay can get stale sometimes, and this is how I hope to help people shake it up for themselves sometimes. By giving them more stupid shit to do. Doing stupid extended bits with other people is one of the things I enjoy most out of ss13, and this is there to let the bitrunners do exactly that with each other. And sometimes you just have to roleplay as Gamers:tm: entering virtual reality to fight the virtual syndicate in bad cosplay while roleplaying as a wizard smoking his magic weed, an overly edgy rogue, and the healer desperately trying to keep them from exploding into a million pieces. :cl: refactor: Bitrunning item/ability loading has been refactored. Please report any issues. add: Added Bitrunning gimmick loadout disks. These disks contain full sets of equipment for all your digital cosplay needs, each including questionably helpful equipment. Currently includes Sports (Boxer, Skater, Archer, Fisher, Gamer) and Dungeon Crawling (Alchemist, Rogue, Healer, Wizard). add: Taking a lead acid battery into the netpod with you now gives your bit avatar shock touch. /:cl:
## About The Pull Request This replaces the hardcoded atmos strings for these turfs with the actual icebox atmos defines. ## Why It's Good For The Game Hardcoding values is bad.
Adds support for PVP bitrunning domains. If min/max candidates are set above 0, the virtual domain will search for any ghost spawners inside and cause a randomly-selected ghost that signed up via poll to spawn there. If no ghosts are signed up the process is cancelled. Also adds content for them: An outfit wardrobe that lets you select one of several possible outfits, once.  Not confident in my code, it's been in the works (as part of a now-canned library heretic domain thing) for over a year PvP domains are an underexplored concept. The beach domain is cloying and overly simple. This adds support for newer and cooler domains as long as there are ghosts for them. :cl: code: Adds support for PVP Bitrunning Domains /:cl:
…#93410) a spooky special possession pr for october appears~~ (This is just some code cleanup) Before, some procs had the `mob_possessor` arg, and some didn't. Which made it a nightmare to add more positional args to it down the line. This PR just ensures that all positional args are present in all the instances of the proc. Makes this proc chain slightly less of a mess to deal with. N/A
Completing a combat bitrunning domain grants 0.8 score bonus per player that escaped without being hit I figured it be a fun challenge to try to nohit these things, especially the megafauna ones. For a bonus. :cl: Melbert add: Nohitting a combat bitrunning domain rewards a higher score. /:cl:
…akes digitital beings not care about death (#93546) 1. Adds `Heretical Hunt`, an easy difficulty domain that tasks you with killing and sacrificing simulated crew members. The domain has a few ways to conquer it, as you don't need to kill all the simulated crew members and there's some hidden loot to make use of It's an easy domain because - You have quite decent armor, - The mobs are pretty unintelligent, - You can always fall back and heal passively on the rust tiles - There are many ways to tackle it Though it's not a complete pushover, the mobs can still overwhelm you if you're not careful. <img width="440" height="347" alt="image" src="https://github.com/user-attachments/assets/a3f30204-0200-4197-80bb-aee083059164" /> 2. Virtual beings are given a minor positive moodlet for killing people instead of a negative one 1. I thought it'd be kinda fun if we had antag-themed domains which soft-explains the gameplay loops or mechanics of certain antags, in this case, heretics sacrificing people 2. You don't feel remorse for killing people in video games, right anon? :cl: Melbert add: Added a new easy difficulty bitrunning domain, "Heretical Hunt" add: Digital mobs receive positive moodlets for killing people rather than negative fix: Madness Mask no longer affects corpses fix: Fixed some heretic runtimes /:cl:
Improves some blackbox logging for bitrunner domain creation, by also logging how much information they had when they chose it. Also some minor code improvements, by making methods for whether the name/reward of a domain is visible. Right now, if we just look at blackbox logs, we cannot easily tell if a domain is being deliberately avoided when possible, as we cannot tell if it's run unintentionally or intentionally. Now we will record that information, so we can act on it, and hopefully perform actions to improve the domains that people attempt to avoid.
…ompletion when drank (#95466) Previously, when one drank out of a glass of booze that the virtual bartender graciously offered, one would not get any closer to domain completion, because said bartender got his glasses new out of a vending machine. These glasses never were registered on domain creation, due to not existing on domain creation. This pr registers the vending machines within the domain with a new signal that allows newly created glasses to also be registered, and count towards domain completion. A bitrunner dying of liver failure due to the obtuse distinction between glasses that were in a vending machine and glasses that were on the table sounds very annoying. Also, you could very easily make the domain not completable within seconds by spawning as a ghostrole and breaking the table glasses. You can still do that, but you have to break an entire vending machine's worth of glasses too. :cl: fix: Glasses that were in the vending machine now still count for the completion of the Beach Bar virtual domain /:cl:
…ere are remaining active bitrunners (#95934) For every living, connected bit avatar remaining in the simulation, the `do_after()` for leaving the simulation as a bitrunning glitch ghost role is multiplied by 5. The base timer remains at it was, two seconds. Additionally, there is an exception in place for the "Island Brawl" domain, which is the FFA with infinite respawns. It still multiplies by 5 for each active bitrunner, but that multiplier is reduced by 1 for each death, so you likely only have to kill one wave of bitrunners for normal escape time. Additionally, because of necessity for the exception and also basic good sense, bitrunning points are no longer component-based on specific turfs in the domain, and are held in the server. It never should have been a component, it had no reason to be one. This, as a consenquence, also fixes that you could completely softlock any domain using points by simply crowbarring the turf that the crate was yet to spawn on. Yesterday, I saw one of the lamest things I've ever seen in the game. A bitrunning glitch spawns in, walks literally right by two bitrunners as they ask who he is, and leaves the simulation to go on a killing spree unburdened. There was extenuating circumstances in that situation, but it still was a miserable breakdown of what I think the intended gameplay of a bitrunning glitch is, and shows how ridiculously easy it is to simply not engage with the intended hurdle in your path. The primary(and, really, only) job of a glitch is to kill bit avatars, and this PR makes it significantly more difficult to just... walk by them to go on your killing spree on station. Work, then play. :cl: balance: For every living, connected bitrunner remaining in a domain, bitrunning glitches will take five times longer to escape. fix: You can no longer softlock any virtual domain that uses points by crowbarring the reward turf before the crate spawns. /:cl:
Shows the best grade achieved for each domain in the quantum console. <img width="517" height="518" alt="image" src="https://github.com/user-attachments/assets/026035f1-ba34-48a0-b71b-72a10419afe8" /> Allows bitrunners to see what domains they've already finished without going back through a stack of paper they may have already trashed or just remembering everything. Also provides players with a sense of pride and accomplishment for scoring high on all the domains.
## About The Pull Request All bitrunner domains no longer have their names hidden due to lacking upgraded stock parts. Domains that require a significant amount of stars are still hidden until unlocked. ## Why It's Good For The Game Three reasons: 1. At first I thought the names were obscured to require Bitrunners explore a variety of domains rather than play the same domain over and over again, but the actual domains don't randomize position in the list between rounds, making hidden names nothing but a memory check. 2. Even though the names were hidden the special icons weren't, meaning you could logic out which is which (at least, until the pool is expanded significantly, but that may not happen for. Some time.) 3. Some bitrunner domains now serve as pseudo-tutorials, so making them easier to pick out serves nicely towards that. ## Changelog :cl: Melbert qol: Bitrunner domain names are no longer hidden until you upgrade the server stock parts. Distantly unaffordable domains still have their names hidden. /:cl:
- Closes #92210 1) Bit Forge can be deconstructed with a screwdriver & crowbar like a normal machine 2) Adds examines & screentips for netpod, bitforge(icon for panel open state added) & quantum server on how to deconstruct them. New icon state for when bitforge has its panel open is shown below <img width="210" height="103" alt="Screenshot (497)" src="https://github.com/user-attachments/assets/bb44c78d-1f0e-468f-9a79-ebc5800edd09" /> 3) Moved bitrunning machine designs into files that exist to hold that type of code :cl: code: moved designs & circuitboards for bitrunning into their correct files qol: adds examines & screentips for bitrunning netpod, bitforge & server on how to deconstruct them fix: bitforge can be deconstructed with a screwdriver & crowbar /:cl:
Fixes #92463 - Fixes an exploit to take loot out of the Virtual Domain via build a shuttle. - Explicitly prevents people taking items into the Virtual Domain.
…ualspace to real accounts (#94071) Fixes tgstation/tgstation#90641 Fixes tgstation/tgstation#88366 Eliminates worries over virtualspace currency being sent to real accounts. When I was looking into why there were no flags for bitrunning areas. Then I saw this mess: <img width="929" height="889" alt="Code_2we2QjDyFp" src="https://github.com/user-attachments/assets/8a807bfe-b566-4057-a8ea-2b306325687d" /> Not having enough space / being too lazy to refactor this is a silly reason to not include flags for something like these virtual areas where it can be quite helpful. Fortunately I am not too lazy ~~in this moment~~ so here we go: It was fairly logical to move over some of these to a separate flag, which I've called `area_flags_mapping` since they pertain to maploading things and terrain generation mostly. `area_flags` stays reserved for general properties and now has more room than it did before for you people to fill it with. In doing this it's also neatened up the code quit a bit, as UNIQUE_AREA was kind of everywhere and now that it's implied by default less areas need to have it defined (or explicitly un-defined). <details> <summary> Working as intended </summary> <img width="787" height="448" alt="dreamseeker_p0Qts36tG1" src="https://github.com/user-attachments/assets/25056f34-8d43-4be2-a293-e53df7a7d1db" /> <img width="383" height="59" alt="dreamseeker_Ek7TXCcpbA" src="https://github.com/user-attachments/assets/89622974-9467-4cdb-8345-d684f7c9004b" /> </details> Fixes an exploit, improves the area flags situation slightly. :cl: fix: you can no longer send money from virtualspace to a real account code: adds a flag for virtual areas so they can easily be checked, as well as an easy helper proc, 'is_area_virtual(your_area)' /:cl:
…avatar (#94052) ## About The Pull Request Alt click a netpod to enable scanning, which scans your dna and makes newly created bit avatars look more like you. If the netpod already has an associated bit avatar it doesn't do anything. Purely visual/audial if you count tts, it doesn't let you switch races. ## Why It's Good For The Game Bitrunners can recognize their teammates. ## Changelog :cl: add: Netpods can now scan their occupants to create more accurate bit avatars /:cl: --------- Co-authored-by: Fghj240 <fakeemail@notrealemail.com>
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
…e damage (#96138) ## About The Pull Request `def_zone` can hold a zone or a bodypart. In the case of a simple stabbing or shooting, it sends a bodypart. That bodypart is the bodypart of the domain actor. When we call `apply_damage()` on the real-world body, we send the bodypart of the domain actor in `def_zone`, which somehow has no runtimes or checks and ends up successfully dealing damage... to the actor. Again. This doesn't always shield the original body, as `def_zone` is not guaranteed to be sent as a bodypart(or at all), so you could be killed in real life by certain attacks still, but for the grand majority of attacks this meant that the real body was invincible and the actor took double. ## Why It's Good For The Game fixes #93081 ## Changelog :cl: fix: Bitrunners no longer take double damage in-domain, and do take damage to their real bodies /:cl:
## About The Pull Request When bitrunners attempt to leave their domain via the ladder, they will fail if there is an active, living bitrunning glitch antagonist within the domain. Other methods of leaving such as death or taking the red pill are unaffected. they can also leave if the crate's delivered sorta a sister PR to #95934 ## Why It's Good For The Game enter domain -> get alert about bitrunning glitch -> leave -> turn off domain What a fun gameplay loop, for everyone involved. You'll fight the glitch and you'll like it. (liking it [pending](tgstation/tgstation#96138)) You can still leave if you REALLY, REALLY need to at the cost of a little brain damage, but otherwise the literal only obstacle that will ever be in your path should be something you have to engage with. ## Changelog :cl: balance: Bitrunners can't back out of domains via the ladder while bitrunning glitches remain in them /:cl:
## About The Pull Request fixes tgstation/tgstation#87419 When the avatar is qdel'd, the player returns to original body ## Why It's Good For The Game Less bugs good ## Changelog :cl: fix: Bitrunning: falling into chasms and other ways of destroying your virtual body instead of killing it, WILL now return you to your body /:cl:
I standardized stuff in AASs code, and all current reference to it. Also added interactions for bounty cubes, weather reports and request consoles, all of it can be changed from AASs UI. Also it's easier now to add new config entries for AAS to proceed, and it's now downstream friendly. Well, because kind of order in code and because it's funny to make custom messages for... Almost everything? BTW any entry can be blocked from ingame changes, by default you can't change Broken Arrival shuttle and Security Officer arrival announcements, how it was before. But may be we should allow it - it's an open question. :cl: add: Many things now handles via AAS: Bounty Cubes, Request Consoles, Brig Cells, Vending Machines and Orion Trails alerts, Weather Reports, Cargo Order Console code: Now anyone can make their own entry for AAS refactor: AAS internals, also cleanup /:cl:
Monkey knockover is now on a new mob-bump signal instead of being on crossed, fixing some consistency issues and getting rid of our need for snowflake "can bump into mob" check. We should try to get rid of all our instances of Crossed and remove its use to prevent this bug from occurring in the future. Closes tgstation/tgstation#66983 🆑 fix: Monkeys can no longer be knocked over by walking into a windoor on combat mode while they're behind it. /🆑
… into an atom level proc (#90016) ## About The Pull Request Adds a new Retcon smite, it makes the person fade out into nothingness with a configurable timer, deletes their records and reopens their job slot, as if they were never there at all. I was also annoyed that to play around with temporary_atom I had to slowy add a component, and it doesn't really have much of a reason to BE a component, so I refactored it into an atom level proc called fade_into_nothing ## Why It's Good For The Game The smite is useful for when you wanna get rid of someone who had to leave roundstart and whatnot, on top of just being funny. the refactor is also good because i can now put that proc on build mode and go to town. ## Changelog :cl: add: Added new mechanics or gameplay changes add: Added more things del: Removed old things qol: made something easier to use balance: rebalanced something fix: fixed a few things sound: added/modified/removed audio or sound effects image: added/modified/removed some icons or images map: added/modified/removed map content spellcheck: fixed a few typos code: changed some code refactor: refactored some code config: changed some config setting admin: messed with admin stuff server: something server ops should know /:cl: --------- Co-authored-by: Jacquerel <hnevard@gmail.com>
## About The Pull Request #90016 was speedmerged and it had a failed linter, this fixes that ## Why It's Good For The Game linters failing bad ## Changelog nothing player facing
…types (#92177) Simple enough. This domain used just plain ghost spawners from the lavaland ruin previously. Now, it has `temp_body = TRUE`, allowing ghosts to return to their original body after leaving the domain _Alongside this it has unique little descriptions to cement it as NPC actors_ This also adds a new `antag` variable to virtual_domain spawners, which decides if they get the hunt-bitrunners antag datum _(default True, in this case False)_ <h5>I did notice a few bugs while testing this, namely that temp_body doesn't always work? I'm not coder enough to hunt down why and fix it though... the two cases I noticed will be made into a bug report.</h5> It feels weird that there's this temp_body ghost spawner stuff for bitdomains, but it's not used in **all** the bitdomains. They don't last that long, making them permanently kill old bodies feels odd. This also sets up an easy var for other bit ghostroles to use if they aren't explicitly antags hunting bitrunners, and don't need an antag datum. <img width="853" height="449" alt="image" src="https://github.com/user-attachments/assets/d5761ac1-25bd-4ee5-b281-14fe4392479e" /> :cl: qol: made the Beach Bar bitdomain ghostrole spawners keep your old body revivable (as other bitdomain spawners do) /:cl:
Got a bug reported today on a downstream, turns out it's a thing here. If there's no linked avatar yet and you repeatedly climb in and out of the pod before the do_after finishes, you fill in all three bitrunning slots with unlinked avatars and fill up the bandwidth. I simply moved the do_after before any of the avatar spawning, making the pod "Try to connect" before it does anything avatar handling worthy. I will have one less bitrunner in my DMs reporting a bug, and you might too! Idk I guess bugfixes are good :cl: fix: fixes bitrunning breaking upon repeatedly climbing in and out the pod /:cl:
Reduces the max length you can set an AAS message by 83% (1024 characters -> 168 characters) I think most people would agree it's fairly annoying when someone edits the AAS messages to be full paragraphs, filling common up with nonsense Ostensibly this can be handled by admins but I think allowing someone to enter 1000 characters here is a bit excessive in the first place - The longest default message we have is 144 characters Alternatively I can cap message length on a per-message-type basis so the most common messages (arrivals, weather) have a far shorter limit than the uncommon messages (security alerts) :cl: Melbert del: Caps "Automated Announcement System" messages to 168 characters (was: 1024 characters) /:cl:
CRITAWAKETS
force-pushed
the
for-the-bit
branch
from
August 21, 2026 09:47
42ff496 to
8a60210
Compare
## About The Pull Request Bitrunning hacker names now permit most characters while staying within the IC filter and length requirements. Made some helper procs to keep it organized ## Why It's Good For The Game You can now name yourself things like An1me_Sn1p3r ## Changelog :cl: fix: Bitrunning hacker aliases are now much more permissive /:cl:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Yup. Every recent bitrunning change is here. This is in preparation for further changes to bitrunning.
Island Brawl has been disabled since we don't want it here what with the overall lack of ghost interaction.
Starfront Saloon has been kept in since upstream it got replaced by Island Brawl.
Disposal Pipe Factory has been disabled pending rework as it's currently impossible. It might also be impossible upstream? If anyone is working on a fix for the domain please confirm this and fix upstream if true.
Announcement System refactor was cherry picked in order to make things easier down the line. I thought it would make this PR easier but... Not really. If there's any issues with announcements please tell me.
And as a last bonus for actually reading this... Retconning is now added as a smite. It came with a refactor and it was too funny to exclude.