]> git.smokeofanarchy.ru Git - space-station-14.git/commit
Make more objects spray paintable (Reviving #31328) (#37341)
authorWhatstone <166147148+whatston3@users.noreply.github.com>
Fri, 11 Jul 2025 00:36:57 +0000 (20:36 -0400)
committerGitHub <noreply@github.com>
Fri, 11 Jul 2025 00:36:57 +0000 (20:36 -0400)
commit9ad99cfa64e0b2803b9c3f00736a0bdd7d5d3848
tree4cf9f19f2a856a906cd84d2b47134b2f47985657
parent685156c08f2d30e4aa4b67b698e56f79cbd19b66
Make more objects spray paintable (Reviving #31328) (#37341)

* PaintableAirlockComponent and AirlockGroupPrototype have been replaced

* Slightly redesigned SprayPainterSystem for greater versatility

* Added handling of changes to the appearance of doors and storages

* PaintableGroup prototypes have been created

* Generating tabs with styles in the UI

* Fix error with undiscovered layer

* Slight improvement

* Removed unnecessary property

* The category for `PaintableGroup` was allocated to a separate prototype so that the engine itself would check if the category existed

* Added canisters, but repainting doesn't work

* Added localization to styles

* Fix sprite changing

* Added the ability to paint canisters

* slight ui improvement

* Fix yamllinter errors

* Fix test

* The UI now remembers which tab was open

* Fix build (?)

* Rename

* Charges have been added to the spray painter

* Added a charge texture for the spray painter

* Now spray painter can paint decals

* Increased number of charges

* Spawning dummy objects has been replaced by PrototypeManager

* added a signature about the painting of the object

* fix

* Code commenting

* Fix upstream

* Update Content.Shared/SprayPainter/Components/SprayPainterAmmo.cs

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
* review

* Now decals can only be painted if the corresponding tab in the menu is open.

* Fixed a bug with pipe and decal tabs not being remembered

* Update EntityStorageVisualizerSystem.cs

* record

* loc

* Cleanup

* Revert electrified visuals

* more cleanup, fix charges, del ammo4

* no empty file, remove meta component

* closet exceptions, storage visualizer fixes

* enable/disable decal through alt-verb

* Fix missed merge conflicts

* fix snap offset, button event handlers

* simpler order, fix snap loc string

* Remove PaintableViz.BaseRSI, no decal item, A-Z

* State-respecting UI, BUI updates, FTL fixes

* revert DecalPlacerWindow changes

* revert unwanted changes, cleanup function order

* Limit SprayPainterAmmo write access to AmmoSystem

* Remove PaintedSystem

* spray paint ammo lathe recipe, youtool listing

* category as a list, groups as subtabs

* Restore inhand copyright in meta.json

* empty spray painter, recipe produces an empty one

* allow alpha on spray painter decals

* add comments

* paintable wall lockers

* Restrict painting more objects

* Suggested event changes, event cleanup

* component comments, fix ammo inhands

* uncleanable decals, dirty styles on mapinit

* organize paintables, separate emergency/closet grp

* fix categories newline at EOF

* airlock group whitespace cleanup

* realphabetize

* Clean up EntityStorageViz merge conflict markers

* Apply requested changes

* Apply suggestions from sowelipililimute's review

Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
* betrayal most foul

* Remove members from EntityPaintedEvent

* No emerg. group, steelsec to secure, locker/closet

* Enable repainting the medical wall locker

* comments, no flags on PaintableVisuals

* Remove locked variants from closets/wall closets

* removable decals

* off value consistency

* can't paint away those bones

* fix precedence

* Remove AirlockDepartment, AirlockGroup protos

Both unused.

* whitelist consistency re: ammo component

* add standing emergency closet styles

* alphabetize the spray painter listings

---------

Co-authored-by: Ertanic <black.ikra.14@gmail.com>
Co-authored-by: Эдуард <36124833+Ertanic@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
53 files changed:
Content.Client/Atmos/EntitySystems/GasCanisterAppearanceSystem.cs [new file with mode: 0644]
Content.Client/Doors/DoorSystem.cs
Content.Client/SprayPainter/SprayPainterSystem.cs
Content.Client/SprayPainter/UI/SprayPainterBoundUserInterface.cs
Content.Client/SprayPainter/UI/SprayPainterDecals.xaml [new file with mode: 0644]
Content.Client/SprayPainter/UI/SprayPainterDecals.xaml.cs [new file with mode: 0644]
Content.Client/SprayPainter/UI/SprayPainterGroup.xaml [new file with mode: 0644]
Content.Client/SprayPainter/UI/SprayPainterGroup.xaml.cs [new file with mode: 0644]
Content.Client/SprayPainter/UI/SprayPainterWindow.xaml
Content.Client/SprayPainter/UI/SprayPainterWindow.xaml.cs
Content.Client/Storage/Visualizers/EntityStorageVisualizerSystem.cs
Content.Server/SprayPainter/SprayPainterSystem.cs
Content.Shared/Doors/Components/DoorComponent.cs
Content.Shared/SprayPainter/Components/PaintableAirlockComponent.cs [deleted file]
Content.Shared/SprayPainter/Components/PaintableComponent.cs [new file with mode: 0644]
Content.Shared/SprayPainter/Components/PaintedComponent.cs [new file with mode: 0644]
Content.Shared/SprayPainter/Components/SprayPainterAmmo.cs [new file with mode: 0644]
Content.Shared/SprayPainter/Components/SprayPainterComponent.cs
Content.Shared/SprayPainter/Prototypes/AirlockDepartmentsPrototype.cs [deleted file]
Content.Shared/SprayPainter/Prototypes/AirlockGroupPrototype.cs [deleted file]
Content.Shared/SprayPainter/Prototypes/PaintableGroupCategoryPrototype.cs [new file with mode: 0644]
Content.Shared/SprayPainter/Prototypes/PaintableGroupPrototype.cs [new file with mode: 0644]
Content.Shared/SprayPainter/SharedSprayPainterSystem.cs
Content.Shared/SprayPainter/SprayPainterAmmoSystem.cs [new file with mode: 0644]
Content.Shared/SprayPainter/SprayPainterEvents.cs
Resources/Locale/en-US/engineer-painter/engineer-painter.ftl [deleted file]
Resources/Locale/en-US/spray-painter/spray-painter.ftl [new file with mode: 0644]
Resources/Prototypes/Catalog/VendingMachines/Inventories/youtool.yml
Resources/Prototypes/Entities/Clothing/Belt/belts.yml
Resources/Prototypes/Entities/Objects/Tools/spray_painter.yml
Resources/Prototypes/Entities/Structures/Doors/Airlocks/airlocks.yml
Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_structureairlocks.yml
Resources/Prototypes/Entities/Structures/Doors/Airlocks/clockwork.yml
Resources/Prototypes/Entities/Structures/Doors/Airlocks/external.yml
Resources/Prototypes/Entities/Structures/Doors/Airlocks/shuttle.yml
Resources/Prototypes/Entities/Structures/Doors/airlock_groups.yml [deleted file]
Resources/Prototypes/Entities/Structures/Storage/Canisters/gas_canisters.yml
Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/base_structurelockers.yml
Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/lockers.yml
Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml
Resources/Prototypes/Entities/Structures/Storage/Crates/base_structurecrates.yml
Resources/Prototypes/Entities/Structures/Storage/Crates/crates.yml
Resources/Prototypes/Paintables/airlock_groups.yml [new file with mode: 0644]
Resources/Prototypes/Paintables/canister_groups.yml [new file with mode: 0644]
Resources/Prototypes/Paintables/categories.yml [new file with mode: 0644]
Resources/Prototypes/Paintables/crate_groups.yml [new file with mode: 0644]
Resources/Prototypes/Paintables/locker_groups.yml [new file with mode: 0644]
Resources/Prototypes/Recipes/Lathes/Packs/engineering.yml
Resources/Prototypes/Recipes/Lathes/tools.yml
Resources/Textures/Objects/Tools/spray_painter.rsi/ammo-inhand-left.png [new file with mode: 0644]
Resources/Textures/Objects/Tools/spray_painter.rsi/ammo-inhand-right.png [new file with mode: 0644]
Resources/Textures/Objects/Tools/spray_painter.rsi/ammo.png [new file with mode: 0644]
Resources/Textures/Objects/Tools/spray_painter.rsi/meta.json