Skip to content

Scents & Smells!#323

Open
Tarazicon wants to merge 3 commits intoFloof-Station:masterfrom
Tarazicon:smelly-go-shower
Open

Scents & Smells!#323
Tarazicon wants to merge 3 commits intoFloof-Station:masterfrom
Tarazicon:smelly-go-shower

Conversation

@Tarazicon
Copy link
Copy Markdown
Contributor

@Tarazicon Tarazicon commented Mar 27, 2026

About the PR

This PR adds a new trait category: SCENTS!
Essentially, you can smell people now.
HEY! This comes with a consent toggle too! Don't worry!

This is a near-1:1 port of this PR from Coyote.

This has been hell to even try.

Why / Balance

What's a healthy work environment without catching a whiff of your favorite co-worker's cologne/deodorant/perfume and/or musk?
Adds lots of RP potential, plus, it's funny to run up to your boss to sniff them.

Technical details

oh god where do i start

C# AND LOTS OF YAML CHANGES.
THIS IS MY FIRST EVER EXPERIENCE WITH C#. EXPECT SOME SHITCODE.
IF I HAVE DONE SOMETHING WRONG, PLEASE TELL ME, AND I WILL FIX IT ASAP. And please be nice, I really don't do well with harsh comments.

Had to change a few things relating to TraitSystem.cs and TraitPrototype.cs to accommodate for the new scent features, as they were missing some values from Coyote.
Also didn't port the weird popup nonsense that the other PR did, as it was confusing and didn't seem like it would work.

Credits to @ScarlettJFG for helping me get past one stubborn error due to Delta-V's new trait systems.

Media

Click to show

ough. image image image image image image image

Categories, sniffing others with/without consent toggle, said consent toggle, sniffing yourself, and examines.

Requirements

  • I have tested all added content and changes.
  • I have added media to this PR or it does not require an ingame showcase.

Licensing:

Breaking changes

Changelog

🆑

  • add: Added scents and scent-related interactions! Check them out in the traits menu in the character select screen! Scroll down to find them!

@KyuPolaris
Copy link
Copy Markdown
Contributor

image

Copy link
Copy Markdown
Collaborator

@Mnemotechnician Mnemotechnician left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't hardcode behaviors in the TraitPrototype. Create a new TraitEffect (see language trait effects for example).

Comment on lines +80 to +90
// Euphoria edit: Port Coyote scent mechanic. Thank DeltaV for wanting to be unique because this is so confusing.
var scentComp = EnsureComp<ScentComponent>(args.Mob);
foreach (var trait in sortedPrototypes)
{
foreach (var scentProtoID in trait.Scents)
{
_scentSystem.AddScentPrototype(scentComp, scentProtoID);
}
}
// Euphoria edit end

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bad

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blame me for this one.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'd like some emphasis, since i hardly know c# enough to fix it

Comment on lines +68 to +73

/// <summary>
/// Scents!
/// </summary>
[DataField("scentProtos")]
public List<ProtoId<ScentPrototype>> Scents = new();
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also bad

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'd like some emphasis, since i hardly know c# enough to fix it

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'd like some emphasis, since i hardly know c# enough to fix it

They said to look in language trait effects for examples. I can help...way late tonight probably (work thing tonight)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines +33 to +46

- type: traitCategory
id: Scents
name: trait-category-scents
priority: 60
maxTraits: 2
accentColor: "#52ffc2" # Mint Green

- type: traitCategory
id: ScentsNSFW
name: trait-category-scents-nsfw
priority: 70
maxTraits: 2
accentColor: "#ff1778" # Hot Pink
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should go in _Floof and be collapsed by default if you're going to add lots of traits in there

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how would i make them collapsed by default?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

defaultExpanded: false

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.

4 participants