Commit Graph

180 Commits

Author SHA1 Message Date
metalgearsloth 63dfd21b14
Predict dumping (#32394)
* Predict dumping

- This got soaped really fucking hard.
- Dumping is predicted, this required disposals to be predicte.d
- Disposals required mailing (because it's tightly coupled), and a smidge of other content systems.
- I also had to fix a compnetworkgenerator issue at the same time so it wouldn't mispredict.

* Fix a bunch of stuff

* nasty merge

* Some reviews

* Some more reviews while I stash

* Fix merge

* Fix merge

* Half of review

* Review

* re(h)f

* lizards

* feexes

* feex
2025-04-19 16:20:40 +10:00
mjarduk fb912b3d5c
Added the ability to refuel torches (and other expendable lights) (#36209)
* Added expendable light source refueling. Also fixed it to use the name modifier system so attributes like glue show up.

* Removed a duplicate line of code.

* Replaced TryGetComponent with TryComp, changed a variable name to be a little more clear.

* Removed the removed field "spentDesc" in flares and glowsticks

* Fixed to comply with slarticodefast's review. Name modifiers don't work yet (fixing that tmr)

* Fixed the localization!!!! :DDDD
2025-04-17 21:59:41 -04:00
beck-thompson 3135b2ab3e
Fix matchstick prediction issues (#31418)
* First commit

* Minor fixes please ymal error begone

* If this fixes it

* Last chance

* How

* Forgot

* First fixes

* Added correct component tags

* Minor cleanup

* Address review!

* Namespace change

* Fix yaml yelling

* Changes

* Update namespace

* Removed the unneeded files
2025-04-08 23:00:57 +02:00
slarticodefast aa24066450
move DeviceLinking events to shared (#36307)
move events
2025-04-05 14:20:14 +02:00
J af9526197a
Extracts magic strings from Tag calls (#36305)
* Extracts magic strings from Tag calls

When #36281 gets merged, the `TagSystem` methods will all give warnings. Let's fix those warnings before they even happen!

* Adds missing libraries

* Remove not yet implemented TagSystem changes

* Fix tag spelling error

Genuinely surprised there was only 1!

* Styling and proper type changes

* Styling

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2025-04-04 20:20:19 -04:00
metalgearsloth f51b9bc86e
Add sun shadows (planet lighting stage 2) (#35145)
* 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>
2025-03-08 16:07:42 +11:00
pathetic meowmeow fabfdd0673
Refactor audio system to send collection IDs over the network (#33610) 2025-02-23 23:14:56 +11:00
metalgearsloth b6ee183dc6
Add planet lighting (#32522)
* 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

* Remove v2 work

* Finalise

---------

Co-authored-by: DoutorWhite <thedoctorwhite@gmail.com>
2025-02-16 19:35:32 +11:00
Leon Friedrich 7ae7821213
Replace some sound PlayEntity with PlayPvs (#34317) 2025-01-11 01:44:30 +11:00
Errant 0b1ed3ec7e
Fix battery charging stopping just short of being full (#34028) 2025-01-10 17:54:55 +11:00
beck-thompson a790955b76
Light verb is now predicted (#33622)
Fix
2024-11-29 00:41:01 +11:00
DrSmugleaf 49e0933389
Move IgnitionEvent to shared (#30985) 2024-09-02 02:27:13 +02:00
metalgearsloth afd0618a60
Station AI (#30944)
* 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.

# Conflicts:
#	Content.Client/Silicons/StationAi/StationAiOverlay.cs

* OD

* radar

* weh

* Fix examines

* scoop mine eyes

* fixes

* reh

* Optimise

* Final round of optimisations

* Fixes

* fixes
2024-08-28 10:57:12 +10:00
metalgearsloth a89d4c750b
Power stuff (#31314)
* Power stuff

- Add shared IsPowered
- Add shared ResolveApc
- Move PowerChangedEvent to shared for now
- Add SlimPoweredLight that actually functions how you'd expect a PoweredLight to function it id didn't have a bunch of bloat on it.

* big update

* boing
2024-08-25 22:18:42 +10:00
Plykiya b266c9b545
Create Generic DamageOnInteract/Attacked Comps/Systems (#30244)
* Everything but the submodule

* stuff I forgot

* heat

* missed lights

* behonky

* LocId

* I guess it was a skill issue?

* predicted audio

* It works with lights now

* Borg equality

* Gorilla gauntlet grants protection from anomaly returned damage when attacking it

* woops, there we go

* NONE

* Use DamageModifierSets, remove Behonker damage

* Reviews dealt with

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-09 15:32:41 +10:00
Errant bf1450fdc8
Fix replayghost spawning location (#30252)
Fix replayghost spawn
2024-07-22 20:32:30 +01:00
chavonadelal c9be1ef96b
Localization of the threat level in an emergency lamp (#29847) 2024-07-09 16:57:36 +02:00
Cojoke fe7dbb42b3
Allow Flares to light cigarettes (#29476)
* Allow Flares to light cigarettes

* !IsHot check

* nicer looking(and I think the right way to do that...)

* heh, whoops

* Adds IgnitionEvent, IgnitionSource now functions as IsHot when Ignited

* Fixes + remove redundancy

* Hows this?

* press enter

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Flare is not forever hot anymore

* Formatting fixes

* Make IgnitionEvent readonly

---------

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2024-07-01 14:14:38 -07:00
Nemanja a1a8f04036
Decouple interactions from hands, cleanup old events, add new fears (#28393)
* ok basic shit

* second part

* pretend it isn't real it can't hurt you.

* 👁️ 👁️

* shadowcommander review
2024-05-31 13:26:19 -07:00
Leon Friedrich a466b35b27
Move UnpoweredFlashlight to shared (#27449) 2024-04-29 13:22:11 +10:00
superjj18 ebf87be9f2
Emergency Lights now changes color depending on alert level and whether or not the light is powered. (#26932)
* Emergency Lights now change color depending on alert level and whether or not they are powered.

* Made a condition for null alert level, added summary doc.

* Refactored uid and emergencylightcomponent into Entity<EmergencyLightComponent>
2024-04-18 20:50:08 +10:00
Tayrtahn 4a83c36585
Code cleanup: Dirty(Comp) (#26238)
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.

* Missed a few

* Revert changes to pulling

* No
2024-03-19 23:27:02 -04:00
nikthechampiongr 362d56981f
Simplify DoAfterArgs behavior for movement and distance checks (#25226)
* Merge BreakOnWeightlessMove and BreakOnMove. Provide different theshold for weightless movement.

* Adjust WeightlessMovementThresholds. Put a thing I forgot to put in the doafterargs.

* Make DoAfterArgs only use OnMove to determine whether to check for
movement and MoveThreshold to determine the threshold regardless of
weightlessness. Gave DistanceThreshold a default value which will always
be checked now.

* Fix issue introduced by merge.

* Use interaction system for determining whether a distance is within range

* Fix incorrect doafter args introduced by previous merge.
Forgor to commit these.

* Exorcise ghost.

The execution system should have been deleted when I merged previously.
For a reason I cannot comprehend it came back, but only the execution
system.

* Exorcise ghost Pt. 2

* Allow for movement check to be overriden in zero g and adjust doafter args where needed.

You can now override checking for movement in zero g with the BreakOnWeightlessMove bool. By default it will check.
The following doafters were made to ignore the movement check in zero g:
- Healing yourself with healing items,
- Removing embedded projectiles,
- Using tools like welders and crowbars

* Adjust distance for cuffing/uncuffing to work. Make injections not break on weightless movement.

* Fix evil incorrect and uneeded comments
2024-03-19 21:09:00 +11:00
lzk 456b2a7b56
Fix light replacer popup (#26136) 2024-03-15 18:23:58 +03:00
Tayrtahn e5536e0652
Hotfix for errors in handheld lights and radio jammers (#25880) 2024-03-07 00:44:14 +11:00
Tayrtahn 2935e5bd78
Remove all obsolete BatteryComponent method calls (#25871)
Removed all obsolete, non-ECS method calls to BatteryComponent
2024-03-06 16:34:50 +11:00
Pieter-Jan Briers 68ce53ae17
Random spontaneous cleanup PR (#25131)
* 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>
2024-02-13 16:48:39 -05:00
Magnus Larsen 9cd6e4dccd
Fix clientside storage Whitelists (#24063)
* 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>
2024-02-02 00:33:57 +11:00
Kara cc24ba6a31
Roundstart variation game rules (#24397)
* Raise `StationPostInitEvent` broadcast

* Basic variation pass handling

* standardize names + rule entities

* why does it work like that?

* add to defaults

* light break variation pass

* ent spawn entry

* move some stationevent utility functions to gamerule + add one for finding random tile on specified station

* forgot how statistics works

* powered light variation pass is good now

* station tile count function

* public method to ensure all solutions (for procedural use before mapinit)

* move gamerulesystem utility funcs to partial

* ensure all solutions before spilling in puddlesystem. for use when spilling before mapinit

* trash & puddle variation passes!

* oh yeah

* ehh lets live a little

* std

* utility for game rule check based on comp

* entprotoid the trash spawner oops

* generalize trash variation

* use added instead of started for secret rule

* random cleanup

* generic replacement variation system

* Wall rusting variation rule

* account for modifying while enumerating

* use localaabb

* fix test

* minor tweaks

* reinforced wall replacer + puddletweaker
2024-01-30 21:52:35 -08:00
LordCarve c77eb8691d
DamageSpecifier Total => GetTotal (#24160)
* DamageSpecifier [Obsolete] Total => GetTotal()

* Remove obsolete Total member from DamageSpecifier.
2024-01-21 18:59:14 -07:00
Arendian 98f0814c2b
Fix emergency flare not igniting through verb menu. (#24027)
Emergency flare ignites when activated through verb menu
2024-01-13 09:24:40 -07:00
nikthechampiongr 7aee192d52
Aghosts and other powerful beings no longer burn their hands on lights. (#23879)
Make aghosts and other things that can't take burn damage not burn their
hand when changing lightbolbs
2024-01-10 16:39:56 -05:00
Kara 0ae3858b69
Examine prediction (#23565)
* Initial prediction

* new group handling

* groups for all examines that use multiple rn

* compile

* why was it doing this??

* handle newlines with sorting properly
2024-01-06 17:53:13 +11:00
metalgearsloth 2166958bd0
AutoCompState + ItemToggle fixes (#23422)
* AutoCompState + ItemToggle fixes

Fix a lot of the comp states that are never actually networked and also cleaned up ItemToggle events a bunch. ItemToggle will still need some future work for lights and sounds.

* Also catch these
2024-01-03 17:24:02 +11:00
TemporalOroboros 7a77d6d5dd
Content ecs containers (#22484) 2023-12-28 01:30:03 -04:00
metalgearsloth 269c93245d
Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-11-27 22:12:34 +11:00
metalgearsloth 5b8f3c48c4
Revert "Update submodule to 175.0.0 (#21318)" (#21319) 2023-10-29 15:29:30 +11:00
metalgearsloth 9b1b3e03ed
Content audio (#20862) 2023-10-29 14:58:23 +11:00
DrSmugleaf f560f88eb5
Remove 700 usages of Component.Owner (#21100) 2023-10-19 12:34:31 -07:00
Leon Friedrich 3101e5a18d
Fix action-granting items not being predicted (#20778)
* Ensure actions are predicted

* Fix test fail
2023-10-07 15:08:13 -04:00
Nemanja 6131721fe5
fix borgs not being able to toggle flashlight (#20448) 2023-10-04 10:30:11 -04:00
Leon Friedrich 684b334806
Action container rejig (#20260)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-09-23 18:49:39 +10:00
metalgearsloth 9f9577acd0
Fix component constraints (#20241) 2023-09-20 10:12:48 +10:00
Nemanja c34913b227
Try and fix mob prototypes (#19859)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-09-14 20:10:30 -07:00
metalgearsloth d5bd1c6f86
Predict StorageComponent (#19682) 2023-09-11 21:20:46 +10:00
metalgearsloth 99b77bc2d3
Remove lights compref (#19531) 2023-09-11 19:18:06 +10:00
metalgearsloth 5a0fc68be2
Content update for NetEntities (#18935) 2023-09-11 09:42:41 +10:00
Leon Friedrich 2d71eec6f9
Remove AllComponentsOneEntityDeleteTest (#19965)
* Remove AllComponentsOneEntityDeleteTest

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2023-09-09 19:35:05 -05:00
DrSmugleaf c71f97e3a2
Refactor actions to be entities with components (#19900) 2023-09-08 18:16:05 -07:00
deltanedas 91cfabd6f6
light refactoring/rework (#19314)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-09-03 22:31:10 -07:00