* Implements a Dynamic Lighting System on maps.
* Edit: the night should be a little bit brighter and blue now.
* Major edit: everything must be done on the client side now, with certain datafield replicated.
Changes were outlined in the salvage to accommodate the new lighting system.
* Edit: The offset is now serverside, this makes the time accurate in all situations.
* Removing ununsed import
* Minor tweaks
* Tweak in time precision
* Minor tweak + Unused import removed
* Edit: apparently RealTime is better for what I'm looking for
* Fix: Now the time is calculated correctly.
* Minor tweaks
* Adds condition for when the light should be updated
* Add planet lighting
* she
* close-ish
* c
* bittersweat
* Fixes
* Revert "Merge branch '22719' into 2024-09-29-planet-lighting"
This reverts commit 9f2785bb16aee47d794aa3eed8ae15004f97fc35, reversing
changes made to 19649c07a5fb625423e08fc18d91c9cb101daa86.
* Europa and day-night
* weh
* rooves working
* Clean
* Remove Europa
* Fixes
* fix
* Update
* Fix caves
* Update for engine
* Add sun shadows (planet lighting v2)
For now mostly targeting walls and having the shadows change over time. Got the basic proof-of-concept working just needs a hell of a lot of polish.
* Documentation
* a
* Fixes
* Move blur to an overlay
* Slughands
* Fixes
* Apply RoofOverlay per-grid not per-map
* Fix light render scales
* sangas
* Juice it a bit
* Better angle
* Fixes
* Add color support
* Rounding bandaid
* Wehs
* Better
* Remember I forgot to do this when writing docs
---------
Co-authored-by: DoutorWhite <thedoctorwhite@gmail.com>
(cherry picked from commit f51b9bc86e3762476a450c24ff4d632118ea9c2d)
* Power Supply and Load Stuff (#2505)
# Description
Changes how `ApcPowerReceiverComponent` works a bit.
Separated the `Load` variable into main and side power loads.
If main power demand is not met, the machine is considered unpowered.
Side power demand is "optional", as can be met only partially (or not at
all) and the device will continue to operate.
Depending on the device, this may have different negative effects on its
operaton. such as lights dimming and weapon rechargers not charging at
full speed.
This was first intended to fix an annoying bug with `ChargerComponent`
and `ApcPowerReceiverBatteryComponent`, that made the powernet spaz out
for a while if their power demand was too high.
This is now fixed.
---
<details><summary><h1>Media</h1></summary>
<p>
<details><summary>Before (heavy flashing lights)</summary>
<p>
https://github.com/user-attachments/assets/de7fb84f-54d0-4c8a-ba9e-7a97e8489980
</p>
</details>
<details><summary>After</summary>
<p>
https://github.com/user-attachments/assets/9cece608-24f7-4ec9-95cd-0c719c7beddb
</p>
</details>
</p>
</details>
---
# Changelog
🆑
- fix: Chargers and energy turrets no longer make the lights flash
rapidly if their power draw is too high
- add: Lights dim if the powernet they're connected to is overloaded
* больно много жрёт
---------
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
These are all essentially just random systems that scaled directly with
player count (or were on my list of the top 50 anyways). So just a
couple systems that had very inefficient enumerators being swapped out
with significantly more efficient ones, plus a few swaps from O(n) to
O(m) m << n. A big one was DrainSystem, which was querrying all possible
entities, rather than doing so from the "set of all static objects",
which is significantly smaller. Puddles are always static objects, so it
doesn't make sense to have the drains check for anything other than
static.
We can also use DirtyField to save on performance costs of Dirty(uid,
component) in cases where the Dirty is only networking a single
component field.
no CL this isn't player facing.
* ItemToggle + slots stuff
- Add component for itemslot locks to match LockComponent (surprised this didn't exist).
- Add thing for pointlight to match itemtoggle. In future should be used for PDAs and stuff but need to fix some other stuff first.
* Also this
* grill
(cherry picked from commit d6b0b997c0b89a17409782198f80dc9cd95897e1)
* Station AI overlay
* implement
* Bunch of ports
* Fix a heap of bugs and basic scouting
* helldivers
* Shuffle interactions a bit
* navmap stuff
* Revert "navmap stuff"
This reverts commit d1f89dd4be83233e22cf5dd062b2581f3c6da062.
* AI wires implemented
* Fix examines
* Optimise the overlay significantly
* Back to old static
* BUI radial working
* lots of work
* Saving work
* thanks fork
* alright
* pc
* AI upload console
* AI upload
* stuff
* Fix copy-paste shitcode
* AI actions
* navmap work
* Fixes
* first impressions
* a
* reh
* Revert "navmap work"
This reverts commit 6f63fea6e9245e189f368f97be3e32e9b210580e.
* OD
* radar
* weh
* Fix examines
* scoop mine eyes
* fixes
* reh
* Optimise
* Final round of optimisations
* Fixes
* fixes
(cherry picked from commit d8ae58efa903749314e334278c1a47c0fddd2b16)
* Fix outdated component name in assaultbelt whitelist
RangedMagazine was replaced with BallisticAmmoProvider in the Gun
refactor (#8301)
* Move FlashOnTrigger, SmokeOnTrigger, Flash components to Shared
* Move LightReplacerComponent to Shared
* Move Utensil, Mousetrap components to Shared
* Move SprayPainterComponent to Shared
The PaintableAirlock tag has also been removed, as it was unused &
unnecessary, likely a vestige of spray painter development when the
PaintableAirlock component wasn't in Content.Shared.
* Add trivial Produce and Seed components to Client
This allows the plant bag and botanical belt whitelists to correctly
match produce and seeds on the client, fixing the extraneous "Can't
insert" message that previously appeared.
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 9cd6e4dccdfaa7e273417e3c94d66b5171c7d841)
* glowy lights - makes light fixtures actually physically glow when active
* serviced the lights
* ya sure
(cherry picked from commit 1a531342c5c8b2860054f79479b02c8083f3b5d0)
* Laws
* positronic brain and PAI rewrite
* MMI
* MMI pt. 2
* borg brain transfer
* Roleban support, Borg job (WIP), the end of mind shenaniganry
* battery drain, item slot cleanup, alerts
* visuals
* fix this pt1
* fix this pt2
* Modules, Lingering Stacks, Better borg flashlight
* Start on UI, fix battery alerts, expand activation/deactivation, low movement speed on no power.
* sprotes
* no zombie borgs
* oh fuck yeah i love a good relay
* charger
* fix the tiniest of sprite issues
* adjustable names
* a functional UI????
* foobar
* more modules
* this shit for some reason
* upstream
* genericize selectable borg modules
* upstream again
* holy fucking shit
* i love christ
* proper construction
* da job
* AA borgs
* and boom more shit
* admin logs
* laws redux
* ok just do this rq
* oh boy that looks like modules
* oh shit research
* testos passo
* so much shit holy fuck
* fuckit we SHIP
* last minute snags
* should've gotten me on a better day
* refactor: Removes FlashLightVisualizer (based on obsolete code) in favor or merging its functionality with HandheldLightComponent
fix: Low power lighting radius animations for lanterns, floodlights and flashlights now properly restore the original light radius when going back to full power
* refactor: Use the LightBehaviour component to animate HandheldLights
refactor: Remove unneeded HandheldLight definitions in some yaml files (already inherited by parents)
fix: Properly change the server side PointLightComponent Enabled property when turning HandheldLights on/off
feat: ReverseWhenFinished property on Fade light behaviours
* Empty commit to rerun CI with the new engine PR
* fix: Restore the correct HandheldLight addPrefix property, whoops
* refactor: blinkingBehaviourID -> blinkingBehaviourId, radiatingBehaviourID -> radiatingBehaviourId
* Make flashlights, atmos hardsuit, and RGB use the new layer features
* avoid self-conflict
* fix rgb not updating on add
* cleanup
* Update Content.Client/Light/RgbLightControllerSystem.cs
Co-authored-by: mirrorcult <lunarautomaton6@gmail.com>
* cleanup diff
Co-authored-by: mirrorcult <lunarautomaton6@gmail.com>
* Rejig Actions
* fix merge errors
* lambda-b-gon
* fix PAI, add innate actions
* Revert "fix PAI, add innate actions"
This reverts commit 4b501ac083e979e31ebd98d7b98077e0dbdd344b.
* Just fix by making nullable.
if only require: true actually did something somehow.
* Make AddActions() ensure an actions component
and misc comments
* misc cleanup
* Limit range even when not checking for obstructions
* remove old guardian code
* rename function and make EntityUid nullable
* fix magboot bug
* fix action search menu
* make targeting toggle all equivalent actions
* fix combat popups (enabling <-> disabling)
* fix networking
* Allow action locking
* prevent telepathy
* Rejig Actions
* fix merge errors
* lambda-b-gon
* fix PAI, add innate actions
* Revert "fix PAI, add innate actions"
This reverts commit 4b501ac083e979e31ebd98d7b98077e0dbdd344b.
* Just fix by making nullable.
if only require: true actually did something somehow.
* Make AddActions() ensure an actions component
and misc comments
* misc cleanup
* Limit range even when not checking for obstructions
* remove old guardian code
* rename function and make EntityUid nullable
* fix magboot bug
* fix action search menu
* make targeting toggle all equivalent actions
* fix combat popups (enabling <-> disabling)