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

Tail Covers! #427

Closed
wants to merge 3 commits into from
Closed

Conversation

FoxxoTrystan
Copy link
Member

Description

Adds a new Layer called "tailcover" currently added for "Vulpkanin", "Lizards" and "Felinds" but easy to add to anyone else!


TODO

  • TailCover Sprites.
  • Clothing Tags
  • Minor Fix Harpies Tags

Media

image


Changelog

🆑

  • add: Tail Covers! No more our tails shall experience space!
  • fix: Fixed HapiesTags on Softsuit/Hardsuits

@github-actions github-actions bot added Changes: C# Changes any cs files Changes: Sprite Changes any png or json in an RSI Changes: YML Changes any yml files labels May 31, 2024
Copy link
Contributor

github-actions bot commented May 31, 2024

RSI Diff Bot; head commit c47a4fb merging into e7fd3c7
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Clothing/tailcover.rsi

State Old New Status
tailcover-felinds Added
tailcover-reptilian Added
tailcover-vulpkanin Added

Edit: diff updated after c47a4fb

Resources/Prototypes/Entities/Mobs/Species/base.yml Outdated Show resolved Hide resolved
_humanoidSystem.SetLayerVisibility(args.Equipee, HumanoidVisualLayers.Tail, true);
TryComp(args.Equipee, out AppearanceComponent? appearance);
_appearance.SetData(args.Equipee, TailVisuals.Tailcover, TailcoverVisuals.False, appearance);
}
Copy link
Member

Choose a reason for hiding this comment

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

I'm definitely not going to ask this of you, but seeing incredibly cursed visualizer code get extended even further, makes me realize I should probably revisit this later and expand that aforementioned component into one that lets you arbitrarily declare layers to be hidden when equipping clothing with a specific condition. Harpies want to hide their tail, everyone wants to hide their hair, harpies need to hide their wings, and their tail, and their ear tufts, it's all something I could finangle into a single check.

Comment on lines +110 to +115
- type: Tag
tags:
- CanPilot
- FootstepSound
- DoorBumpOpener
- HidesTail
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
- type: Tag
tags:
- CanPilot
- FootstepSound
- DoorBumpOpener
- HidesTail
- type: TailVisual

@@ -140,6 +150,12 @@ protected virtual void OnGotUnequipped(EntityUid uid, ClothingComponent componen
ToggleVisualLayer(args.Equipee, HumanoidVisualLayers.Hair, HairTag);
if ((new string[] { "mask", "head" }).Contains(args.Slot) && _tagSystem.HasTag(args.Equipment, NoseTag))
ToggleVisualLayer(args.Equipee, HumanoidVisualLayers.Snout, NoseTag);
if ((new string[] { "outerClothing" }).Contains(args.Slot) && _tagSystem.HasTag(args.Equipee, TailTag) && _tagSystem.HasTag(args.Equipment, TailTag))
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
if ((new string[] { "outerClothing" }).Contains(args.Slot) && _tagSystem.HasTag(args.Equipee, TailTag) && _tagSystem.HasTag(args.Equipment, TailTag))
if ((new string[] { "outerClothing" }).Contains(args.Slot) && HasComp<TailVisualComponent>(args.Equipee) && _tagSystem.HasTag(args.Equipment, TailTag))

@@ -131,6 +135,12 @@ protected virtual void OnGotEquipped(EntityUid uid, ClothingComponent component,
ToggleVisualLayer(args.Equipee, HumanoidVisualLayers.Hair, HairTag);
if ((new string[] { "mask", "head" }).Contains(args.Slot) && _tagSystem.HasTag(args.Equipment, NoseTag))
ToggleVisualLayer(args.Equipee, HumanoidVisualLayers.Snout, NoseTag);
if ((new string[] { "outerClothing" }).Contains(args.Slot) && _tagSystem.HasTag(args.Equipee, TailTag) && _tagSystem.HasTag(args.Equipment, TailTag))
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
if ((new string[] { "outerClothing" }).Contains(args.Slot) && _tagSystem.HasTag(args.Equipee, TailTag) && _tagSystem.HasTag(args.Equipment, TailTag))
if ((new string[] { "outerClothing" }).Contains(args.Slot) && HasComp<TailVisualComponent>(args.Equipee) && _tagSystem.HasTag(args.Equipment, TailTag))

Comment on lines +124 to +129
- type: Tag
tags:
- CanPilot
- FootstepSound
- DoorBumpOpener
- HidesTail
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
- type: Tag
tags:
- CanPilot
- FootstepSound
- DoorBumpOpener
- HidesTail
- type: TailVisual

Comment on lines +128 to +133
- type: Tag
tags:
- CanPilot
- FootstepSound
- DoorBumpOpener
- HidesTail
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
- type: Tag
tags:
- CanPilot
- FootstepSound
- DoorBumpOpener
- HidesTail
- type: TailVisual

Comment on lines +1 to +23
{
"version": 1,
"license": "CC-BY-SA-4.0",
"copyright": "TailCover by gentlebutter (588410099190726656) and ghostprince (115894681304301569)",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "tailcover-vulpkanin",
"directions": 4
},
{
"name": "tailcover-reptilian",
"directions": 4
},
{
"name": "tailcover-felinds",
"directions": 4
}
]
}
Copy link
Member

Choose a reason for hiding this comment

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

If you check in Resources/Textures/DeltaV/Mobs/Customization/Harpy, there is a stray png file listed as harpy_wingcover.png not present in any RSI. Do you mind moving it to this folder, and rename it to tailcover-harpy, then add the TailVisual component and required visual layers to Harpy?

Copy link
Member Author

Choose a reason for hiding this comment

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

Will do.

Copy link
Member

Choose a reason for hiding this comment

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

Thanks. I'm having Still-Icarus make a wing cover for Harpies too, after this is merged I'll implement a wing cover system for Harpies so that they can finally have actual proper hardsuits.
Fari_heart

@PuroSlavKing
Copy link

PuroSlavKing commented May 31, 2024

How about supporting the creation of custom sprites for each tail? Of course, it's good that there is at least something like this, but lizards have much more tails of different shapes, so it would be strange if they were displayed as standard.

Example of a super oddly shaped tail:
image

@DEATHB4DEFEAT
Copy link
Member

How about supporting the creation of custom sprites for each tail? Of course, it's good that there is at least something like this, but lizards have much more tails of different shapes, so it would be strange if they were displayed as standard.

I've said something similar in Discord a couple times. I don't like the lack of customization being shown.

@DangerRevolution
Copy link
Contributor

my main concern is with tale animations, what does this display if someone wags their tail as a lizard?

i'll also echo @DEATHB4DEFEAT and @PuroSlavKing, what happens if their tail isn't regularly shaped?

@FoxxoTrystan
Copy link
Member Author

my main concern is with tale animations, what does this display if someone wags their tail as a lizard?

i'll also echo @DEATHB4DEFEAT and @PuroSlavKing, what happens if their tail isn't regularly shaped?

This is a layer its does not modify the orignal tail at all, just hides it.

@FoxxoTrystan
Copy link
Member Author

How about supporting the creation of custom sprites for each tail? Of course, it's good that there is at least something like this, but lizards have much more tails of different shapes, so it would be strange if they were displayed as standard.

Example of a super oddly shaped tail:
image

Making a cover sprite for each clothing could be possible... but someone has to make a sprite for EACH SINGLE TAILCOVERS.
I could add the possibility to do that so if anyone want they could and just put the 3 tails are default if none custom for said tail found.

Copy link
Member

@DEATHB4DEFEAT DEATHB4DEFEAT left a comment

Choose a reason for hiding this comment

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

I can probably do it in another PR (someone make an issue if this is merged without this), but we need a way to specify the cover sprites.

Comment on lines 24 to +31
[ValidatePrototypeId<TagPrototype>]
private const string HairTag = "HidesHair";

[ValidatePrototypeId<TagPrototype>]
private const string NoseTag = "HidesNose";

[ValidatePrototypeId<TagPrototype>]
private const string TailTag = "HidesTail";
Copy link
Member

Choose a reason for hiding this comment

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

Would be good to have this be a generic MarkingHidesLayerX.

Resources/Prototypes/Entities/Mobs/Species/base.yml Outdated Show resolved Hide resolved
{
"version": 1,
"license": "CC-BY-SA-4.0",
"copyright": "TailCover by gentlebutter (588410099190726656) and ghostprince (115894681304301569)",
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
"copyright": "TailCover by gentlebutter (588410099190726656) and ghostprince (115894681304301569)",
"copyright": "TailCover by DSC@gentlebutter (588410099190726656) and DSC@ghostprince (115894681304301569)",

@DEATHB4DEFEAT DEATHB4DEFEAT added Size: 4-Small For small issues/PRs Priority: 3-Medium Needs to be resolved at some point Status: Needs Refactor Needs some system to be redone labels Jun 7, 2024
@github-actions github-actions bot added the Status: Merge Conflict FIX YOUR PR AAAGH label Jun 10, 2024
Copy link
Contributor

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

@github-actions github-actions bot removed the Status: Merge Conflict FIX YOUR PR AAAGH label Jul 10, 2024
Copy link
Contributor

@DangerRevolution DangerRevolution left a comment

Choose a reason for hiding this comment

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

Needs custom tail sprites as above

@FoxxoTrystan FoxxoTrystan marked this pull request as draft July 13, 2024 23:48
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 Status: Merge Conflict FIX YOUR PR AAAGH label Jul 20, 2024
@FoxxoTrystan
Copy link
Member Author

Im going to compleatly remake this PR, Do this PR will be closed and Remade when i have the time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: C# Changes any cs files Changes: Sprite Changes any png or json in an RSI Changes: YML Changes any yml files Priority: 3-Medium Needs to be resolved at some point Size: 4-Small For small issues/PRs Status: Merge Conflict FIX YOUR PR AAAGH Status: Needs Refactor Needs some system to be redone
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants