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

Mirror: Spray Paint (Review Ready) #258

Conversation

SimpleStation14
Copy link
Member

Mirror of PR #23003: Spray Paint (Review Ready) from space-wizards space-wizards/space-station-14

e4d5e7f1aebfc37b1bc3453fdb39578f3897b6a1

PR opened by brainfood1183 at 2023-12-26 12:15:46 UTC


PR changed 41 files with 1008 additions and 11 deletions.

The PR had the following labels:

  • Changes: Sprites
  • Status: Needs Review

Original Body

Added - new spray paint sprites and entities.
Added - paint system which lets you paint over entities.

Desktop.2023.12.24.-.21.50.39.03.mp4
  • Spray paint can paint objects.
  • Spray paint can come in different colors.
  • Spray paint can be removed.
  • Add a doafter for removing paint.
  • Stealth objects will keep their post shader.
  • Sprite outlines work after object is sprayed.
  • Add doafter for applying paint.
  • Add a blacklist for items that should not be painted.
  • entity sprites in icon slots appear colored correctly.
  • Add verbs for paint and remove paint for painting containers.
  • Spraying an entity with inventory slots. Now any items in inventory slots are also painted.
  • Spray paints now use fewer entities (no cap, open and closed entities) instead they use OpenableComponent and visualizers.
  • Spray paints must be opened to use them and can be resealed.

What Can Be Painted

Everything with the following exceptions, Mobs with humanoidAppearanceComponent, Items with RandomSpriteComponent, BlackListed Entities such as Holograms, Entities which go under the floor, Entities that are already painted.

How it works

Painting an entity will attempt to add both a greyscale shader and color to each layer of the entity. This will fail if the target has humanoidappearance, is already painted, has randomspritecomponent, is an under floor entity or is blacklisted from being painted.

when paint is applied each layer is shaded and colored only if there is no existing shader.
The icon, inhands and clothing sprites are recolored and shaded.

When an entity is painted it cannot be painted over without first removing the current paint.

To remove the paint you use soap on the painted entity. When soap is used on the entity the color is removed (if the layer had a color prior to removal it will revert to that color, seems like it is color + color then color - color to end up back at original color) from the layer provided the current color of the layer matches the color in paintedcomponent. The shader is also removed provided the current shader matches the one in paintedcomponent.

bugs & work arounds

Currently entities with RandomSpriteComponent cannot be sprayed, these include screwdrivers and wirecutters (essentially sprites that have a random color on spawn. Entities that have a specific color on spawn work fine.) The paint system checks for RandomSpriteComponent and provides the all ready painted response.

Entities and clothing in hand or equipped if sprayed or paint removed will not update their visual status until interacted with.

  • I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog
🆑

  • add: Added Spray Paints.

@SimpleStation14 SimpleStation14 added the Pull Request Mirror Mirrors a PR from another Repo. Automatically applied by mirror bot label Apr 22, 2024
Copy link
Contributor

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

Resources/Textures/Objects/Fun/spraycans.rsi

State Old New Status
spray_cap Removed
clown-inhand-left Added
clown-inhand-right Added
spray-inhand-left Added
spray-inhand-right Added

@SimpleStation14 SimpleStation14 marked this pull request as draft May 4, 2024 21:12
@VMSolidus VMSolidus marked this pull request as ready for review May 12, 2024 04:58
@VMSolidus VMSolidus merged commit 763da78 into Simple-Station:master May 12, 2024
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Pull Request Mirror Mirrors a PR from another Repo. Automatically applied by mirror bot
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants