## Mirror of PR #26292: [Code cleanup: Purge calls to obsolete
EntityCoordinates
methods](https://github.com/space-wizards/space-station-14/pull/26292)
from <img src="https://avatars.githubusercontent.com/u/10567778?v=4"
alt="space-wizards" width="22"/>
[space-wizards](https://github.com/space-wizards)/[space-station-14](https://github.com/space-wizards/space-station-14)
###### `f4cb02fb0ca385c858569c07c51afb0d24ade949`
PR opened by <img
src="https://avatars.githubusercontent.com/u/85356?v=4" width="16"/><a
href="https://github.com/Tayrtahn"> Tayrtahn</a> at 2024-03-20 16:04:43
UTC
---
PR changed 34 files with 70 additions and 56 deletions.
The PR had the following labels:
- Status: Needs Review
---
<details open="true"><summary><h1>Original Body</h1></summary>
> <!-- Please read these guidelines before opening your PR:
https://docs.spacestation14.io/en/getting-started/pr-guideline -->
> <!-- The text between the arrows are comments - they will not be
visible on your PR. -->
>
> ## About the PR
> <!-- What did you change in this PR? -->
> Cleaned up some outdated code.
>
> ## Why / Balance
> <!-- Why was it changed? Link any discussions or issues here. Please
discuss how this would affect game balance. -->
> Clean code is happy code.
>
> ## Technical details
> <!-- If this is a code change, summarize at high level how your new
code works. This makes it easier to review. -->
> Updated all calls to obsolete EntityCoordinates methods (ToMap,
ToMapPos, FromMap, ToVector2i, InRange) to non-obsolete ones (by passing
in SharedTransformSystem as an arg).
>
> ## Media
> <!--
> PRs which make ingame changes (adding clothing, items, new features,
etc) are required to have media attached that showcase the changes.
> Small fixes/refactors are exempt.
> Any media may be used in SS14 progress reports, with clear credit
given.
>
> If you're unsure whether your PR will require media, ask a maintainer.
>
> Check the box below to confirm that you have in fact seen this (put an
X in the brackets, like [X]):
> -->
> Code
> - [X] I have added screenshots/videos to this PR showcasing its
changes ingame, **or** this PR does not require an ingame showcase
>
> ## Breaking changes
> <!--
> List any breaking changes, including namespace, public
class/method/field changes, prototype renames; and provide instructions
for fixing them. This will be pasted in #codebase-changes.
> -->
>
> **Changelog**
> <!--
> Make players aware of new features and changes that could affect how
they play the game by adding a Changelog entry. Please read the
Changelog guidelines located at:
https://docs.spacestation14.io/en/getting-started/pr-guideline#changelog
> -->
>
> <!--
> Make sure to take this Changelog template out of the comment block in
order for it to show up.
> 🆑
> - add: Added fun!
> - remove: Removed fun!
> - tweak: Changed fun!
> - fix: Fixed fun!
> -->
>
</details>
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: SimpleStation14 <Unknown>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
## Mirror of PR #23003: [Spray Paint (Review
Ready)](https://github.com/space-wizards/space-station-14/pull/23003)
from <img src="https://avatars.githubusercontent.com/u/10567778?v=4"
alt="space-wizards" width="22"/>
[space-wizards](https://github.com/space-wizards)/[space-station-14](https://github.com/space-wizards/space-station-14)
###### `e4d5e7f1aebfc37b1bc3453fdb39578f3897b6a1`
PR opened by <img
src="https://avatars.githubusercontent.com/u/113240905?v=4"
width="16"/><a href="https://github.com/brainfood1183">
brainfood1183</a> 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
---
<details open="true"><summary><h1>Original Body</h1></summary>
> Added - new spray paint sprites and entities.
> Added - paint system which lets you paint over entities.
>
>
https://github.com/space-wizards/space-station-14/assets/113240905/b1b30678-b9c5-45e2-83a7-d146d02c3751
>
> - [x] Spray paint can paint objects.
> - [x] Spray paint can come in different colors.
> - [x] Spray paint can be removed.
> - [x] Add a doafter for removing paint.
> - [x] Stealth objects will keep their post shader.
> - [x] Sprite outlines work after object is sprayed.
> - [x] Add doafter for applying paint.
> - [x] Add a blacklist for items that should not be painted.
> - [x] entity sprites in icon slots appear colored correctly.
> - [x] Add verbs for paint and remove paint for painting containers.
> - [x] Spraying an entity with inventory slots. Now any items in
inventory slots are also painted.
> - [x] Spray paints now use fewer entities (no cap, open and closed
entities) instead they use OpenableComponent and visualizers.
> - [x] 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.
>
> - [x] 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.
>
>
</details>
Co-authored-by: SimpleStation14 <Unknown>
* Use new Subs.CVar helper
Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.
This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.
* Fix a bunch of warnings
* More warning fixes
* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.
* Get rid of some more ISerializationHooks for enums
* And a little more
* Apply suggestions from code review
Co-authored-by: 0x6273 <0x40@keemail.me>
---------
Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17985876d6d112b764b2144964a9f42e)
Relay wasn't really networked properly and this annoys me.
EntityStorage is still pretty skrunkly but this fixes the main issue I think.
(cherry picked from commit 042feae2e91f41f7d39e55340405e3c448903d61)
* Fix ActivatableUIRequiresPowerCellComponent stopping power draw when one of two people closes the UI.
Also fixes it to check UiKey properly.
* Remove unnecessary CrewManifestViewer on PDAs
This is for a pop-up crew manifest UI, which the PDA doesn't use.
* Fix BoundUIClosedEvents that didn't check UI key/not correctly at least.
Uses the new helper method in engine.
* Fix drone (cargo shuttle) pilot console UI breaking if two people open it and one person closes it.
* Fixes for disposal router/tagger UI.
Code was badly copy pasted without changing identifiers, never worked.
Also cleaned up some of the logic (text trimming, sounds).
Also removed the "refuse to work if you have something in your active hand" check like why.
* Avoid running most ActivatableUIComponent logic when closing a UI via toggle
Activating the UI while it's already open closes it via toggle. Except it still ran 99% of the "attempting to open" logic which makes no sense.
This probably fixes a bug or some other dumb behavior somewhere.
* Bitch
(cherry picked from commit 123a4147dea2945f6c60fe9e4e0a3aa2da75e1dc)
* remove empty file real
* support explosion resistance for non-worn things
* remove redundant entitystorage resistance
* port entitystorage optimisation to apply for everything with 100% resistance
* add explosion resistance for bag contents
* make thing reusable
* add resistance to chest rig too
* medical chest rig too
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>