Allowed vulps, tajaran, felinids, humans and dwarfs to wag their tail on command #858

Merged
EchoOfNothing merged 15 commits from :species/tailwag into master 2026-08-23 19:54:06 +00:00
Member

Short description

Cherry pick of https://github.com/ProjectOmu/OmuStation/pull/1438

Wag wag wag

Why we need to add this

Having a button for wagging the tail is pawsome

Technical details

Renamed and disabled all of the animated states and added the wagging component to the all the base mobs.

Additionally, I've updated the wagging system to only show the button when the equipped tail has a wagging animation.

Media (Video/Screenshots)

Checklist

Ingame Changelog

🆑 Quill

  • add: Vulpkanins, Tajarans, Felinids, Humans, and Dwarfs can now wag some of their tails with an action.
  • tweak: The tail wagging action now only shows up when the equipped tail marking has an animation.
<!-- Link definitions, do not edit --> [guidelines]: https://docs.spacestation14.com/en/general-development/codebase-info/pull-request-guidelines.html [ruleset]: https://rules.byrdstation.space/#h.vigrxrnffwji ## Short description Cherry pick of https://github.com/ProjectOmu/OmuStation/pull/1438 Wag wag wag ## Why we need to add this Having a button for wagging the tail is pawsome ## Technical details Renamed and disabled all of the animated states and added the wagging component to the all the base mobs. Additionally, I've updated the wagging system to only show the button when the equipped tail has a wagging animation. ## Media (Video/Screenshots) <video src="/attachments/2a8e915e-8bb8-45da-9856-4e63737f02c4" title="637644314-fd6c4de5-5bf7-4951-a98a-e7cc0e248618" controls></video> ## Checklist <!-- Check boxes for faster reviewing of your PR --> - [x] I do not require assistance to complete the PR. - [x] I have verified that the changes work before posting/requesting review of my PR. - [x] I have added screenshots/videos of the changes, or this PR does not change in-game mechanics. - [x] I have read the [Pull Request and Changelog Guidelines][guidelines] and [Byrd Station's Contributor Ruleset][ruleset]. ### Ingame Changelog :cl: Quill - add: Vulpkanins, Tajarans, Felinids, Humans, and Dwarfs can now wag some of their tails with an action. - tweak: The tail wagging action now only shows up when the equipped tail marking has an animation.
Get rid of spdx header
Some checks failed
Close PRs on master / run (pull_request_target) Has been skipped
Labels: PR / labeler (pull_request_target) Successful in 1m34s
Labels: Size / size-label (pull_request_target) Failing after 1m34s
CRLF Check / CRLF Check (pull_request) Successful in 4m53s
RSI Validator / Validate RSIs (pull_request) Successful in 4m27s
RGA schema validator / YAML RGA schema validator (pull_request) Successful in 5m43s
Test Packaging / Test Packaging (pull_request) Has been cancelled
Map file schema validator / YAML map schema validator (pull_request) Has been cancelled
YAML Linter / YAML Linter (pull_request) Has been cancelled
02c02529d5
QuillTheCreature changed title from species/tailwag to Allowed vulps, tajaran, felinids, humans and dwarfs to wag their tail on command - #1438 2026-08-23 14:35:31 +00:00
QuillTheCreature changed title from Allowed vulps, tajaran, felinids, humans and dwarfs to wag their tail on command - #1438 to Allowed vulps, tajaran, felinids, humans and dwarfs to wag their tail on command 2026-08-23 14:35:35 +00:00
QuillTheCreature changed title from Allowed vulps, tajaran, felinids, humans and dwarfs to wag their tail on command to WIP: Allowed vulps, tajaran, felinids, humans and dwarfs to wag their tail on command 2026-08-23 14:42:22 +00:00
Author
Member

Found a bug one second

~~Found a bug one second~~
Added some text to all animated vulp tails
All checks were successful
CRLF Check / CRLF Check (pull_request) Has been skipped
Test Packaging / Test Packaging (pull_request) Has been skipped
RGA schema validator / YAML RGA schema validator (pull_request) Has been skipped
Map file schema validator / YAML map schema validator (pull_request) Has been skipped
Labels: PR / labeler (pull_request_target) Successful in 14s
Labels: Size / size-label (pull_request_target) Successful in 7s
RSI Validator / Validate RSIs (pull_request) Successful in 2m20s
YAML Linter / YAML Linter (pull_request) Has been skipped
e0b99449c8
QuillTheCreature changed title from WIP: Allowed vulps, tajaran, felinids, humans and dwarfs to wag their tail on command to Allowed vulps, tajaran, felinids, humans and dwarfs to wag their tail on command 2026-08-23 14:44:48 +00:00
EchoOfNothing requested changes 2026-08-23 16:45:35 +00:00
Dismissed
@ -0,0 +85,4 @@
else
{
newMarkingId = currentMarkingId;
Log.Warning($"Unable to revert wagging for {currentMarkingId}");
Owner

I don't think this needs to give a warning, feels like bloating logs in my opinion. Some species (humans) can have multiple tails and they are not required to be animated. So this should be expected and normal.

I don't think this needs to give a warning, feels like bloating logs in my opinion. Some species (humans) can have multiple tails and they are not required to be animated. So this should be expected and normal.
Author
Member

This if branch is only reached when they're already wagging (Note the wagging.Wagging = !wagging.Wagging; assignment before the loop). This means the revert fails to the non animated version, not when a human or whoever doesn't have a wagging animation for the specified marking.

This method is basically 1:1 copied from the upstream wizden wagging system:
ee4263026b/Content.Server/Wagging/WaggingSystem.cs

This if branch is only reached when they're already wagging (Note the `wagging.Wagging = !wagging.Wagging;` assignment before the loop). This means the revert fails to the non animated version, not when a human or whoever doesn't have a wagging animation for the specified marking. This method is basically 1:1 copied from the upstream wizden wagging system: https://git.byrdstation.space/Byrd-Station/Byrd/src/commit/ee4263026b2e6808c27fcc806a2314fe3aa55f44/Content.Server/Wagging/WaggingSystem.cs
Owner

Transition to wagging can fail as well.
Try a human character with Demon Tail 1 and Vulpkanin (Animated) markings.

[WARN] system.toggleable_wagging: Alyson Parkinson (165007/n165007, MobHuman, localhost@JoeGenero) tried toggling wagging but DemomTail1Animated marking doesn't exist
[WARN] system.toggleable_wagging: Unable to revert wagging for DemomTail1

It's nice for debugging, but I don't think it's important enough to be in production. This can be left as is I guess.

Transition to wagging can fail as well. Try a human character with `Demon Tail 1` and `Vulpkanin (Animated)` markings. ``` [WARN] system.toggleable_wagging: Alyson Parkinson (165007/n165007, MobHuman, localhost@JoeGenero) tried toggling wagging but DemomTail1Animated marking doesn't exist [WARN] system.toggleable_wagging: Unable to revert wagging for DemomTail1 ``` It's nice for debugging, but I don't think it's important enough to be in production. This can be left as is I guess.
QuillTheCreature marked this conversation as resolved
@ -9,3 +9,3 @@
- type: marking
id: dogTailWag
id: dogTailAnimated # Omu - Tailwag
Owner

dogTail is animated but the loc string was not updated to reflect this.

`dogTail` is animated but the loc string was not updated to reflect this.
QuillTheCreature marked this conversation as resolved
@ -0,0 +1,43 @@
# Tajaran Head/Face
- type: marking
id: TajaranHeadTuxedo
Owner

This doesn't have a loc string

This doesn't have a loc string
QuillTheCreature marked this conversation as resolved
@ -0,0 +12,4 @@
# Tajaran Torso
- type: marking
id: TajaranTorsoTuxedo
Owner

This doesn't have a loc string

This doesn't have a loc string
QuillTheCreature marked this conversation as resolved
Updated a translation string to add animated to the end
Some checks failed
Labels: PR / labeler (pull_request_target) Successful in 21s
Labels: Size / size-label (pull_request_target) Successful in 17s
Test Packaging / Test Packaging (pull_request) Has been cancelled
RGA schema validator / YAML RGA schema validator (pull_request) Has been cancelled
RSI Validator / Validate RSIs (pull_request) Has been cancelled
Map file schema validator / YAML map schema validator (pull_request) Has been cancelled
CRLF Check / CRLF Check (pull_request) Has been cancelled
YAML Linter / YAML Linter (pull_request) Has been cancelled
396f2d4d3f
Removed a log message
All checks were successful
Labels: PR / labeler (pull_request_target) Successful in 7s
Labels: Size / size-label (pull_request_target) Successful in 4s
CRLF Check / CRLF Check (pull_request) Successful in 2m15s
RGA schema validator / YAML RGA schema validator (pull_request) Successful in 3m52s
RSI Validator / Validate RSIs (pull_request) Successful in 3m5s
Map file schema validator / YAML map schema validator (pull_request) Successful in 11m15s
YAML Linter / YAML Linter (pull_request) Successful in 13m29s
Test Packaging / Test Packaging (pull_request) Successful in 33m46s
PR Changelogs / changelog (pull_request_target) Successful in 37s
73d59962a5
EchoOfNothing approved these changes 2026-08-23 17:47:22 +00:00
Dismissed
EchoOfNothing left a comment

LGTM. Thank you for your contribution!
(this was done before commit 73d59962a5 even though it doesn't look like it was)

LGTM. Thank you for your contribution! (this was done before commit 73d59962a5 even though it doesn't look like it was)
EchoOfNothing left a comment

LGTM.
(There is another log, but this is good enough)

LGTM. (There is another log, but this is good enough)
byrdbot referenced this pull request from a commit 2026-08-23 19:54:43 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Byrd-Station/Byrd!858
No description provided.