Skip to content
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

Make Build-A-Buddy kits buildable #2788

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

arimah
Copy link
Contributor

@arimah arimah commented Jan 26, 2025

About the PR

  • Adds new microwave meal recipes for the medical assembler that take all the body parts of the Build-A-Buddy kit and spit out a real actual fucking person
  • Adds a new whitelisted ghost role called a "Buddy" with an appropriately charming-dystopian tone
  • Adds a new mob entity, NFMobBuddy, which configures components common to all buddies – ghost role and ParrotSpeech

jesus fucking christ why am I doing this

Why / Balance

Science isn't about why, it's about why NOT!

But more seriously: the Build-A-Buddy kit is a meme at present. It's a very silly meme, but that's as far as it goes. So I figured, why not make it a bit sillier and make the buddy buildable? We have a medical assembler, which felt like a pretty natural way to make them buildable. Just need a meal recipe and there you go!

In terms of abusability:

  • Build-A-Buddy kits are already quite rare. We have lots of other stuff in the mail pool, and I see these once every few shifts, even peering through unopened mail with admin superpowers.
  • People don't open their mail much, so most Build-A-Buddy kits go completely undiscovered.
  • The buddies have no bank accounts.
  • The ghost role is locked to whitelisted players.
  • The ghost role is explicitly described as a Non-Antagonist. Pirates don't receive mail so can't get their own buddy to build, and a buddy can't (under server rules) go and join the pirates.
  • Hopefully the fact that it's an extremely rare thing will make people think twice about killing it for meat/organs.

In case no one takes the ghost role for a while, buddies also have a ParrotSpeech component which is configured to be more talkative than a parrot. At least you can have some semblance of company.

This is extremely cursed.

How to test

  1. Spawn a Build-A-Buddy kit.
  2. Insert the body parts into a medical assembler.
  3. Assemble.
  4. Try not to disappear into a bottomless pit of existential dread.
  5. Hug your new buddy.

Media

2025-01-26.11-26-37.mp4

Requirements

Breaking changes

No.

Changelog
🆑

  • add: Build-A-Buddy kits are now buildable! Put the body parts in a medical assembler and rejoice/fear.

@Houtblokje
Copy link
Contributor

10/10 would build a human person.

@dvir001
Copy link
Contributor

dvir001 commented Jan 26, 2025

The kits have actual buddy names in the papers, should be used.

@Jakumba
Copy link
Contributor

Jakumba commented Jan 26, 2025

Incredible PR. I'm Parrot-speechless

@arimah
Copy link
Contributor Author

arimah commented Jan 26, 2025

The kits have actual buddy names in the papers, should be used.

I could, but then admins will get trigger happy about illegal names and other players may get strange ideas. I'd rather keep the names within the rules. :)

@dvir001
Copy link
Contributor

dvir001 commented Jan 26, 2025

The kits have actual buddy names in the papers, should be used.

I could, but then admins will get trigger happy about illegal names and other players may get strange ideas. I'd rather keep the names within the rules. :)

What? they have actual listed names on the kits and papers, they should be used, if you feel a familly name is required you can suffix one, but at that point you just made a full player and not a build a buddy.

@arimah
Copy link
Contributor Author

arimah commented Jan 26, 2025

they have actual listed names on the kits and papers, they should be used

The names are:

  • Henry the Human
  • Greta the Goblin
  • Randy the Reptilian
  • Steven the Slime
  • Valerie the Vulpkanin

Obviously as full names these aren't acceptable under our rules, but I can't use the first name alone either. So I'd have to come up with a surname for each of them, which makes them different from the "official" names anyway. Henry Humansson?

I chose to interpret the above more as product names than as the actual legal names of the buddies. Every buddy is Your Unique Best Friend™!

but at that point you just made a full player

I mean, yes, that's effectively what they are, without a bank account or ID card. The name doesn't really change that. :P

@dvir001
Copy link
Contributor

dvir001 commented Jan 26, 2025

How about:
Henry the Human: Henry Hilarious
Greta the Goblin: Greta Grumble
Randy the Reptilian: Randy Rattle
Steven the Slime: Steven Slippery
Valerie the Vulpkanin: Valerie Vixen

@arimah
Copy link
Contributor Author

arimah commented Jan 26, 2025

I like those suggestions, except for "Hilarious". I'll think about that one for a bit.

If I do give them static names, I guess I'll also have to remove the RandomHumanoidAppearance component, or about half the buddies will be women with masculine names or men with feminine names. Nothing wrong with that, of course, but may seem a bit strange. 🤔 ... wait, removing the component won't even help, as two of the names are feminine but all humanoids default to masculine bodies. Bah.

@dvir001
Copy link
Contributor

dvir001 commented Jan 26, 2025

I like those suggestions, except for "Hilarious". I'll think about that one for a bit.

If I do give them static names, I guess I'll also have to remove the RandomHumanoidAppearance component, or about half the buddies will be women with masculine names or men with feminine names. Nothing wrong with that, of course, but may seem a bit strange. 🤔 ... wait, removing the component won't even help, as two of the names are feminine but all humanoids default to masculine bodies. Bah.

Add a trans flag pin to the kits, faster then fixing it.

Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot added the S: Merge Conflict This PR has conflicts that prevent merging label Jan 31, 2025
@github-actions github-actions bot removed the S: Merge Conflict This PR has conflicts that prevent merging label Jan 31, 2025
@dvir001 dvir001 requested a review from whatston3 January 31, 2025 18:08
@github-actions github-actions bot added the S: Needs Review This PR is awaiting reviews label Jan 31, 2025
@whatston3
Copy link
Contributor

Works fine, I don't see a huge issue with this, it's dark but that's fine. Ghost role seems fine - whitelisting seems a bit much but eh, and the parrot speech is funny.

@arimah
Copy link
Contributor Author

arimah commented Feb 5, 2025

Something I have not done is to incorporate fixed names as per Darin's suggestion. I'm not sure whether or how I want to solve that, or if this PR is conceptually too cursed to exist, or what. 😄

@whatston3
Copy link
Contributor

Something I have not done is to incorporate fixed names as per Darin's suggestion. I'm not sure whether or how I want to solve that, or if this PR is conceptually too cursed to exist, or what. 😄

Proposal: merge this as-is, port some/all of impstation/imp-station-14#1592 (adding adequate comments), create name sets for the different buddy types. This could easily extend to medical bounties, which are the other larger source of randos - we could ensure more consistent names to match the sex of the mob.

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.

5 participants