## About The Pull Request
Persistent paintings should be loaded after persistence itself
## Why It's Good For The Game
Bugfix confirmed to be working (test merging this fix live currently).
## Changelog
🆑
fix: fixes persistent paintings not loading
/🆑
## About The Pull Request
As the title says.
`init_order` is no more, subsystems ordering now depends on their
declared dependencies.
Subsystems can now declare which other subsystems need to init before
them using a list and the subsystem's typepath
I.e.
```dm
dependencies = list(
/datum/controller/subsystem/atoms,
/datum/controller/subsystem/mapping
)
```
The reverse can also be done, if a subsystem must initialize after your
own:
```dm
dependents = list(
/datum/controller/subsystem/atoms
)
```
Cyclical dependencies are not allowed and will throw an error on
initialization if one is found.
There's also a debug tool to visualize the dependency graph, although
it's a bit basic:

Subsystem load ordering can still be controlled using `init_stage`, some
subsystems use this in cases where they must initialize first or last
regardless of dependencies. An error will be thrown if a subsystem has
an `init_stage` before one of their dependencies.
## Why It's Good For The Game
Makes dealing with subsystem dependencies easier, and reduces the chance
of making a dependency error when needing to shift around subsystem
inits.
## Changelog
🆑
refactor: Refactored subsystem initialization
/🆑
## About The Pull Request
This won't actually do anything on live, since those are all set to
UTC±0 currently
Pins logging and IC uses of time2text to UTC±0 instead of using the
system timezone (byond default)
Timezones not being set to utc0 caused issues before (and is again)
All timezones are now passed explicitly to make it more likely it's
cargo culted properly at least
Deletes worldtime2text cus it was gameTimestamp default args
## Why It's Good For The Game
Server timezone changes probably shouldn't affect logging, round times,
file hashes, IC time, when you caught fish, etc
## Changelog
🆑
refactor: Logging and IC timestamps will now always use UTC±0 and not be
affected by server system timezone changes
fix: Station and round times will not longer be incorrect if the system
timezone is not UTC±0
/🆑
---------
Co-authored-by: TiviPlus <572233640+TiviPlus@users.noreply.com>
* Positive moodlets when examining high-value paintings, plus tgui nitpicks (#84646)
## About The Pull Request
This PR makes it so that, when framed, paintings can give positive
moodlets based on their art element, which is based upon their
patronage, meaning, the higher tha patronage, the better the positive
moodlets.
This PR also adjusts the tgui states to allow observers to interact with
the painting, but only for zooming in and out. And expands the tgui
window a little so hopefully you can see the plaquette when it's framed.
## Why It's Good For The Game
Higher-valued pieces tend to also look better, right? . . . right?
Ok, jokes apart, I think this is a nice touch to paintings.
## Changelog
🆑
add: Examining high-value paintings now can give a positive moodlet.
qol: Observers can now zoom paintings in and out in the UI.
/🆑
* Positive moodlets when examining high-value paintings, plus tgui nitpicks
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes the AI painting manager showing invalid choices and the search function (doesn't fix lag) (#80114)
## About The Pull Request
Exactly what it reads on the tin.
## Why It's Good For The Game
#79495 broke more than a few things alas. This will fix#79619.
## Changelog
🆑
fix: Fixed the AI painting manager showing invalid choices.
fix: Fixed the painting manager search function.
/🆑
* Fixes the AI painting manager showing invalid choices and the search function (doesn't fix lag)
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes the admin painting manager (#79842)
## About The Pull Request
I mucked this up a few weeks ago, wrote the fix, then got busy and
forgot about it. This fixes the bluescreen that appears when admins try
to look at the painting manager.
## Changelog
🆑 Tattle
fix: admin painting manager works again
/🆑
---------
Co-authored-by: tattle <article.disaster@ gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
* Fixes the admin painting manager
---------
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
* [NO GBP] Retain filtering capabilities for paintings (#79504)
## About The Pull Request
Fixes a little whoopsie from #79495 which got rid of the ability to
filter paintings
## Why It's Good For The Game
Filtering good
## Changelog
:cl:Tattle
fix: paintings can once again be filtered
/🆑
Co-authored-by: tattle <article.disaster@ gmail.com>
* [NO GBP] Retain filtering capabilities for paintings
---------
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
* Caches data for paintings we have saved (#79495)
## About The Pull Request
We got some reports about a server lagging, the cause was determined to
be TGUI. Potato figured out it was the painting manager, and I was able
to recreate the lag by just quickly scrolling through the 1200+
paintings on Manuel via a curator console. Please don't do this btw.
## Why It's Good For The Game
Allow people to scrub through the painting gallery without lagging the
server.
## Changelog
🆑 Tattle
fix: you should now be able to scrub through the library without lagging
the server
/🆑
---------
Co-authored-by: tattle <article.disaster@ gmail.com>
Co-authored-by: san7890 <the@ san7890.com>
* Caches data for paintings we have saved
---------
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
Co-authored-by: san7890 <the@ san7890.com>
* Sets a saner length limit to ID assignments and paintings' titles. (#76723)
* Sets a saner length limit to ID assignments and paintings' titles.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Becoming the patron of a painting now lets you select a different, persistent appearance for the frame it's in. (#65305)
* Painting frame selection for patrons, painting json version update.
* Becoming the patron of a painting now lets you select a different, persistent appearance for the frame it's in.
* fix unit test
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
* Improved the Art Gallery App and the AI Portrait Picker. Added a search function to them. (#65481)
* Improved the Art Gallery App. Added a search function to it.
* Improved the Art Gallery App and the AI Portrait Picker. Added a search function to them.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes persistent painting patron name not being loaded (#65411)
* Fixes persistent painting patron name not being loaded
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
* Hardens painting saving against inconsistent state (#65024)
Should help when paintings lists gets zeroed unintentionally during the round for some reason.
Now it only deletes the painting file right before it writes the new file to prevent loss of data if anything runtimes or breaks.
* Hardens painting saving against inconsistent state
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
* Paintings improvements. (#63170)
About The Pull Request
Paintings can now do stroke painting.
Added painting management panel for admins.
Paintings now display author's character name, year of painting, medium and patron when hung on wall.
You can become new patron by paying more than the previous one.
Added painter's palettes to library vendor. (Sprites by @ Mickyan )
Backend changes:
Images are now stored in /data/paintings/images/*.png instead of /data/paintings/[category]/*.png
Old categories are now just tags
Screens & Video
Changelog
cl
add: You can now become patron of your favorite painting by buying sponsorship from Nanotrasen Trust Foundation.
add: Painter's palettes are now available at library vendor.
qol: Can use strokes in paintings now
/cl
* Paintings improvements.
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
* tgui Preferences Menu + total rewrite of the preferences backend
* nah, we dont need to ping those people
* trying to remove the funny stuff
* unmodularizing this
* prefs reset
* this may need to be reverted, who knows
* okay, this part
* perhaps
* EEEEEEEEE
* unsanitary
* E
* Stage 1 + loadout system
* more fixes
* E
* I mean, it launches?
* More fixes and reorganisation
* E
* customisation code is spaget.
* disable ERP prefs
* Update erp_preferences.dm
* Update erp_preferences.dm
* E
* Slowly getting there
* It may be time for help :)
* tri...colors... help
* preferences now pass preferences
* Update dna.dm
* Fuck this man
* missing savefile return, set_species works, removed dumb stuff from updateappearance
* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8199
* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8224
* https://github.com/tgstation/tgstation/pull/61519
* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8278
* e
* le butonAZARAK HELLO
* hhh
* Proper recognition where it's due, MrMelbert!
* EEEE
* examine block
* Better gen hit sounds from whitedream
* final loadout touches, more bug fixes im sure to come
* i said there would be bugfixes
* Update LoadoutManager.js
* Missing preferences in the html menu
* LIVE TESTING PHASE BABY
* Update LoadoutManager.js
* EEE
* LAUNCH TEST FIRE
* Update job.dm
* Update new_player.dm
* 50gb DAY ONE PATCH
* EEE
* Update preferences.dm
* buggle fixes
* Update examine.dm
* >LOOC starts on
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>