-
Notifications
You must be signed in to change notification settings - Fork 146
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
Tail Covers! #427
Conversation
RSI Diff Bot; head commit c47a4fb merging into e7fd3c7 Resources/Textures/Clothing/tailcover.rsi
|
_humanoidSystem.SetLayerVisibility(args.Equipee, HumanoidVisualLayers.Tail, true); | ||
TryComp(args.Equipee, out AppearanceComponent? appearance); | ||
_appearance.SetData(args.Equipee, TailVisuals.Tailcover, TailcoverVisuals.False, appearance); | ||
} |
There was a problem hiding this comment.
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.
- type: Tag | ||
tags: | ||
- CanPilot | ||
- FootstepSound | ||
- DoorBumpOpener | ||
- HidesTail |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- 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)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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)) |
- type: Tag | ||
tags: | ||
- CanPilot | ||
- FootstepSound | ||
- DoorBumpOpener | ||
- HidesTail |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- type: Tag | |
tags: | |
- CanPilot | |
- FootstepSound | |
- DoorBumpOpener | |
- HidesTail | |
- type: TailVisual |
- type: Tag | ||
tags: | ||
- CanPilot | ||
- FootstepSound | ||
- DoorBumpOpener | ||
- HidesTail |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- type: Tag | |
tags: | |
- CanPilot | |
- FootstepSound | |
- DoorBumpOpener | |
- HidesTail | |
- type: TailVisual |
{ | ||
"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 | ||
} | ||
] | ||
} |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've said something similar in Discord a couple times. I don't like the lack of customization being shown. |
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. |
Making a cover sprite for each clothing could be possible... but someone has to make a sprite for EACH SINGLE TAILCOVERS. |
There was a problem hiding this 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.
[ValidatePrototypeId<TagPrototype>] | ||
private const string HairTag = "HidesHair"; | ||
|
||
[ValidatePrototypeId<TagPrototype>] | ||
private const string NoseTag = "HidesNose"; | ||
|
||
[ValidatePrototypeId<TagPrototype>] | ||
private const string TailTag = "HidesTail"; |
There was a problem hiding this comment.
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
.
{ | ||
"version": 1, | ||
"license": "CC-BY-SA-4.0", | ||
"copyright": "TailCover by gentlebutter (588410099190726656) and ghostprince (115894681304301569)", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"copyright": "TailCover by gentlebutter (588410099190726656) and ghostprince (115894681304301569)", | |
"copyright": "TailCover by DSC@gentlebutter (588410099190726656) and DSC@ghostprince (115894681304301569)", |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Signed-off-by: FoxxoTrystan <[email protected]>
There was a problem hiding this 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
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Im going to compleatly remake this PR, Do this PR will be closed and Remade when i have the time. |
Description
Adds a new Layer called "tailcover" currently added for "Vulpkanin", "Lizards" and "Felinds" but easy to add to anyone else!
TODO
Media
Changelog
🆑