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

Componentizes putting hats on ghostdrones and AI cores, extends support to mechcomponent storages #18140

Merged
merged 5 commits into from Apr 4, 2024

Conversation

CalliopeSoups
Copy link
Contributor

@CalliopeSoups CalliopeSoups commented Mar 7, 2024

[feature]

About the PR

I've taken some code used for ghostdrones and mangled it to allow people to customise their mechcomp (demon) robot with hats and wigs. Currently it's just done with a click but I can make it specific to an intent, or see about letting you weld them on so they're not stolen. Do let me know if any code is bloated or vestigial.

dreamseeker_53O2dDUyM7

Along with adding the component to something you want to be able to put hats on, you can now also set a hat_offset_y and x var there, and in a hat's code in order to correct its position. With this you can set the hat to the right place on the object, then adjust even more for things like wigs and hats with inhand sprites that aren't centred in frame.

Why's this needed?

Mechcomp cabinets/frames are already personified a lot with movement components and dialogue, this allows for more customisation and fun.

The component itself will ensure that adding behavior for putting hats onto things that isn't a player with slots will be easier to implement.

Changelog

(u)CalliopeSoups
(+)Hats and wigs now fit snugly onto mechcomp cabinets and frames. This changes the backend for placing hats on things like ghostdrones, report any bugs if found.

@github-actions github-actions bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Mar 7, 2024
@keywordlabeler keywordlabeler bot added the C-Feature A new feature or enhancements to existing features label Mar 7, 2024
@444Portal 444Portal added the A-Game-Objects The point of this PR is to deal with a specific game object label Mar 14, 2024
Copy link
Contributor

@TobleroneSwordfish TobleroneSwordfish left a comment

Choose a reason for hiding this comment

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

This would reeeally be a lot better as a component, but if you don't want to tackle that it's okay.

code/modules/mechanics/MechanicMadness.dm Outdated Show resolved Hide resolved
@github-actions github-actions bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Mar 23, 2024
@CalliopeSoups CalliopeSoups changed the title Mechcomp cabinets and device frames can wear hats Componentizes putting hats on ghostdrones and AI cores, extends support to mechcomponent storages Mar 23, 2024
Copy link
Contributor

@TobleroneSwordfish TobleroneSwordfish left a comment

Choose a reason for hiding this comment

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

This is much better, thanks for taking on the project of making component/hattable ❤️

code/datums/components/hattable.dm Outdated Show resolved Hide resolved
code/datums/components/hattable.dm Outdated Show resolved Hide resolved
code/datums/components/hattable.dm Outdated Show resolved Hide resolved
code/datums/components/hattable.dm Outdated Show resolved Hide resolved
code/datums/components/hattable.dm Outdated Show resolved Hide resolved
code/datums/components/hattable.dm Outdated Show resolved Hide resolved
code/datums/components/hattable.dm Outdated Show resolved Hide resolved
code/datums/components/hattable.dm Outdated Show resolved Hide resolved
code/datums/components/hattable.dm Outdated Show resolved Hide resolved
code/obj/item.dm Outdated Show resolved Hide resolved
Copy link
Contributor

@TobleroneSwordfish TobleroneSwordfish left a comment

Choose a reason for hiding this comment

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

Looks good, a few final nitpicks (sorry for taking a while to get back to this)

code/datums/components/hattable.dm Outdated Show resolved Hide resolved
code/datums/components/hattable.dm Outdated Show resolved Hide resolved
code/datums/components/hattable.dm Outdated Show resolved Hide resolved
code/datums/components/hattable.dm Outdated Show resolved Hide resolved
code/datums/components/hattable.dm Outdated Show resolved Hide resolved
code/datums/components/hattable.dm Show resolved Hide resolved
Copy link
Contributor Author

@CalliopeSoups CalliopeSoups left a comment

Choose a reason for hiding this comment

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

Looks good, a few final nitpicks (sorry for taking a while to get back to this)

No problem, thanks for teaching me so much!

@TobleroneSwordfish TobleroneSwordfish merged commit f88eaab into goonstation:master Apr 4, 2024
23 checks passed
github-actions bot pushed a commit that referenced this pull request Apr 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Game-Objects The point of this PR is to deal with a specific game object C-Feature A new feature or enhancements to existing features size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants