Cleanbot/Medibot Ghostroles, Bot QoL - Forky Edition - #243
Open
ilyamikcoder wants to merge 2 commits into
Open
Conversation
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.
About the PR
Reimplementation of funky-station/funky-station#1883 and funky-station/funky-station#1991 for Forky. Please see those for more details.
This makes Cleanbot and Medibot an always available ghostrole, gives all bots a cyborg-like critical state (previously they just immediately self-destructed upon death), capability to emote and cyborg-like damage accent.
It also gives them the Binary channel (as on Wizden code they don't have it), as well as (non-Funky parity!) read-only Common, as well as read/write departmental channel depending on the bot (medibots - Medical, cleanbots - Service, etc.). I've based this newly found power on my previous experience (and small frustrations) with bot gameplay, but it can be withdrawn should it be found undesirable.
Why / Balance
Gives just a bit more complexity to the very simplistic bot roles. Also gives bot players a chance to get revived before complete round-removal.
Technical details
Some of the changes from the original PR were actually implemented on Wizard code at some point! As such, not every function was ported from Funky because I just didn't need to.
There is a confusing difference between
MobRoboticandMobSiliconBaseprototypes, where second depends on the first and the first is never used besides being a parent ofMobSiliconBase. I am not sure why Wizden decided to separate those, but I decided not to meddle in it to avoid a headache.Also, in regards of second PRs functionality (advertisers no longer advertise when possessed by a player) - Wizden re-implemented the advertiser functionality in a new Vocalizer component, where I implemented the logic instead.
Test plan
Spawn different bots and debug control them. Observe expended functionality.
Ghost, then spawn Medibot and Cleanbot. Confirm that the ghostroles show up correctly.
Media
See original PRs!!!
Requirements
License
MIT
Breaking changes
Changelog
🆑