* fix: don't retroactively drain disabled batteries
If something that used PowerCellDraw temporarily disabled said draw,
once it became re-enabled the system would play catch-up trying to
drain the battery for all the time since the component was disabled.
* fixup! fix: don't retroactively drain disabled batteries
* Add news article Discord webhook
* Send all station articles on round end
* Changed event subscrice to RoundEndMessageEvent
* Review remarks fix
* Added new cvar discord.news_webhook_embed_color
Default color taken from news manager console sprite.
* Using EntityQueryEnumerator instead of GetStationInMap with TryComp
* Extra review remarks fixing
* Sorted imports
* Added article publication time in embed
* Removed markup from article content
* Added sorting for articles iteration
* Discord hook embed color cvar is string now
* Added comment about limits
* Added new cvar for posting articles during round
* Shitty discord rate limit handling
* Fixing copypaste accident
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
* Null initialization of webhook id
* SendArticleToDiscordWebhook is non-void now
---------
Co-authored-by: Morb0 <14136326+Morb0@users.noreply.github.com>
Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
This simplifies the code and makes the experience of examining contents
easier without the reagent dispenser UI, as well as adding the possibility
for dispensers to have items of heterogeneous sizes in them, which would
allow configuring reagent dispensers to accept smaller containers such
as beakers or vials in order to allow for more types of smaller quantities
of reagents, or other flexibilities brought by using a standard storage
component.
* Make the ComponentToggle remember what entity it gave components to
* fix the null problem by just ignoring the null problem
* Add documentation to the new datafield + removing the "= null" that is not necessary
* small fixes and cleaning the code
* whitespace my beloved
* wait, I dont need those lines, why did I add them?
* set DamageAtMaxCorruption as nullable with null default and use destructible trigger threshold for this if null.
* fix documentation
* these really don't need to be passed by reference
* Split out the CloneComponents into its own method
* CR - Move some extra info in
- add TryComp for status effects
- Move some remcomps around
- Make Special event raising components to handle special
components that reference entities that have ownership
* CR - Extra recommendation on the prototype
thanks slarti
* Solve the yaml linter problem
* CR - Typos, grammar and some extra Status effect
* cleanup
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* hosted anomaly effects now are at the correct location when the host is in a container or buckled
* oops, not keeping the uid and transform together
* use world positions to get the position of the anomaly -- my previous method was reinventing the wheel.
The tick updates were purely used to decrease the invoke counter once per tick. Now instead we just calculate the effective counter value with some trivial math on the tick number. This completely removes the need for an update function.
The relative tick is not stored to map files. If we really need this, we can add a TickOffsetSerializer (similar to TimeOffsetSerializer), but I doubt it matters.
* Fix throwing prediction
- Disposals is still janky but I think that's disposals in general not being predicted and the disposals throw not being predicted and short-lived.
- Would need to check RMC.
- Couldn't repro the underlying issues however thrown items don't slip anymore so (and we also don't predict their land / stopping anymore so).
* primary constructor
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Adds a new layer to DrawDepth.cs for use with objects similar to the reagent grinder and properly summarises its uses
* applies new layer in DrawDepth.cs to reagent_grinder.yml
* Fix merge conflict
* oops