Skip to content

Cleanbot/Medibot Ghostroles, Bot QoL - Forky Edition - #243

Open
ilyamikcoder wants to merge 2 commits into
funky-station:masterfrom
ilyamikcoder:bot-qol-redux
Open

Cleanbot/Medibot Ghostroles, Bot QoL - Forky Edition#243
ilyamikcoder wants to merge 2 commits into
funky-station:masterfrom
ilyamikcoder:bot-qol-redux

Conversation

@ilyamikcoder

@ilyamikcoder ilyamikcoder commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

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 MobRobotic and MobSiliconBase prototypes, where second depends on the first and the first is never used besides being a parent of MobSiliconBase. 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

  • I have read and am following the Macrocosm Pull Request Conventions.
  • I have tested this pull request and written instructions on how to test it
  • I have added media to this PR or it does not require an in-game showcase.
  • If I am porting something, I have done my best to respect the appropriate licenses associated with the presented changes.

License

MIT

Breaking changes

Changelog

🆑

  • add: Cleanbot and Medibot ghostroles.
  • tweak: Sentient bots can now use cyborg emotions.
  • tweak: Sentient bots will now have glitchy speech when damaged.
  • tweak: Sentient bots can now talk on Binary and their respective departmental channels, as well as hear Common.
  • tweak: Some sentient bots that have proper rotational sprites (cleanbot, supplybot, mimebot) can now use Combat Mode to spin efficiently.
  • tweak: Bots are no longer destroyed immediately upon death; rather, they now have a critical state similar to cyborgs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant