Commit Graph

42 Commits

Author SHA1 Message Date
mhamster
a70b242330 ContainmentFieldComponent's garbage destruction can now be disabled (#29376)
* Garbage Vaporizer 3000

+ DestroyGarbage bool property
+ DestroyGarbage property check when dealing with incoming trash

* Update ContainmentFieldComponent.cs

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

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
(cherry picked from commit ba164f9e48798f462bf5b6bd0d7b9b80a9022a22)
2025-07-14 14:14:01 +10:00
Alice "Arimah" Heurlin
02e6a5a54e Prevent fly-by fixture from powering containment field generator (#29225)
* Prevent fly-by fixture from powering containment field generator

* Update according to review

(cherry picked from commit 2b92ec79f78873c16a8c289be7eace130009c725)
2025-07-14 14:14:00 +10:00
VMSolidus
6754cae17d Revert Newtonian Singularity (#1865)
Please merge this immediately.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added automatic pausing for certain gravity effects, enhancing
responsiveness.

- **Refactor**
- Streamlined gravitational pulse mechanics for more consistent
interactions.
- Removed legacy behaviors such as momentum inheritance, counterforces,
and static attraction to simplify physics.

- **Chores**
- Increased the density of singularity entities to alter their physical
impact.
- Updated configuration values for gravity-related components to improve
overall stability and balance in gameplay.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

(cherry picked from commit 6fa56a63a34a02fa121aa175a9738186d3d2be94)
2025-03-08 14:31:06 +03:00
VMSolidus
16e54f8300 Newtonian Singularity (#1619)
# Description

By request from the very same person who assisted with
https://github.com/Simple-Station/Einstein-Engines/pull/1618
This PR ports(and fixes)
https://github.com/space-wizards/space-station-14/pull/23372 such that
it works on modern Robust Toolbox.

This PR essentially makes it so that the Singularity (And Tesla by
extension) inherit some of the momentum of objects thrown into them. Im
practice it means that they now work more like they do in SS13, whereby
if a traitor does not actively intervene in a Singuloose(such as by
using a Singularity Beacon), the singularity will usually be "Blown back
into space" by space wind throwing objects at it in retaliation to it
eating engineering.

<details><summary><h1>Media</h1></summary>
<p>

https://github.com/user-attachments/assets/04e9e5b9-d873-4425-b19a-b854b57db486

</p>
</details>

# Changelog

🆑
- add: Singularity and Tesla are now affected by objects thrown into
them, causing them to change directions. Unless a traitor intervenes
(with a Singularity Beacon), a "Singuloose" is extremely likely to be
blown out to space.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
(cherry picked from commit 34b55e14f51d562510b1d9954999fbb3085bdf02)
2025-01-23 08:00:49 +03:00
VMSolidus
96ac353f4a Reimplement Part Upgrading (#917)
# Description

By extremely popular demand(Both internally, and from our downstreams),
this PR reimplements Part Upgrading. Since some of the systems that this
PR touches were substantially changed since the removal of Parts, I had
to do a lot of very in depth by-hand edits of individual systems.
Shockingly, the only one that really proved any trouble was Cloning
System, so I'm genuinely surprised wizden didn't substantially touch any
of these codes since removing parts..

# Changelog

🆑
- add: Part Upgrading has returned!

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
2024-10-19 13:15:15 +07:00
Pieter-Jan Briers
e7a3b82a8d Use new ComponentPauseGenerator (#25183)
Also includes some (non critical) changes to the solution file to re-organize the Roslyn components.

(cherry picked from commit e00f74505c62310bd15aeaba8d6530f648397074)
2024-03-07 00:57:05 +01:00
Nemanja
7573dba496 Rip out remaining machine upgrades (#24413)
* Rip out remaining machine upgrades

* eek

(cherry picked from commit a9e89ab37221c4f5eff5a9e1d42e97c6f3e0753b)
2024-01-27 23:43:49 +01:00
Ed
5ce889fef1 Tesla (#21124)
* upload all textures
finished easiest part - TeslaGenerator

* Added Tesla energy logic

* add lightning pulse priority

* work

* optimise lightning arc system

* now tesla moving to LightningTarget entity and consume it

* some audio work
add airlock and computers to the LightningTarget

* add nice visual and explosions
add crashing to game

* rsi meta fix

* disabling explosions (crashing server)
I'll get back to that problem later.

* adding important admin logging

* a little bit of cleaning and documentation

* Persistent attempts to fix the server crashing on explosions. Accidental cleaning of everything I see.

* now the tesla incinerates everything it touches except the containment field.

* colliders work

* fix falling tesla on ground after being exploded

* add consume sound, add spawn and collapses sound

* added TeslaGenerator to cargo trading console

* add all tesla part to cargo trading console

* Tesla coils: Turn on and off, get energy from lightning, give energy to the grid.

* tesla coil is ready

* tesla grounding rod is ready

* clean up

* clean up 2

* grounding rods now working without power

* add LightningResistance parameter for LightningTarget Component

* add chaotic teleport

* eletrocution remove?

* deltanedas fix pack

* more fixes

* FIXES

* FIIIXEEES

* The "Grounding Rod" component is removed, and replaced with "LightiningSparking", which is responsible for changing the visuals when hit by lightning. Duplicate code from the coil is removed.

* ops

* fix

* nah, is escaped anyway

* increase tesla collider size

* keron bb

* try fix test?

* fix

* bruh

* check turn off sus comp

* prototype cleaning

* FIIX

* return and fix sus component

* fix tesla eating lightnings, now mini tesla is electrocuted

* commented some issues

* remove linq sorting
fix jumping system
minor fixes

* fix second Linq

* fix tesla colliders! Yeah, it works

* fix componentregistration

* Just retests

* not fix

* FIX TESLA

* fixes

* store targets

* back

* make dictionary of hashsets

* some sloth fixes

* stump

* playtest balance energy generation, return to unpotimized (but working) lightning shoot

* parity

* work on

* some new fix, some new bug (chasingComponent not chasing)

* comment

* fix ChasingWalkSystem

* fix collider tesla problem

* revert old unoptimized shoot lightning

* new fix pack

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 88d7cfb4c035a5a5c2c3e7fc643b9a0d4ad18f5f)
2024-01-22 18:56:57 +01:00
metalgearsloth
b1ee2d48ff Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-12-02 20:16:36 +01:00
DrSmugleaf
9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
liltenhead
7eb370921a Increase containment field connection duration (#20965) 2023-10-14 22:06:18 +02:00
chromiumboy
50fb4cbf7e Radiation collector sprite update (#20956) 2023-10-14 22:06:17 +02:00
Kara
d6abba1198 Kill ComponentExt (#20907) 2023-10-14 22:02:35 +02:00
DrSmugleaf
a88e747a0b Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
metalgearsloth
fae9a05ea2 Event horizon serialization (#18173) 2023-07-30 20:47:44 +10:00
TemporalOroboros
6313164368 Fixes singularity collision and consume range (#13424)
Co-authored-by: keronshb <keronshb@live.com>
2023-07-19 18:01:27 +10:00
TemporalOroboros
d71b6c84e5 Converts the particle accelerator over to ECS + misc (#17075)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-06-08 16:25:59 +10:00
0x6273
7a5a64ffb4 Add device linking to emitter and APE (#16805) 2023-05-28 16:44:28 +10:00
TemporalOroboros
ed1b9bde83 Resolves RadiationCollectorVisualizer is Obsolete (#13905) 2023-05-18 14:03:30 -04:00
Nemanja
823c8204c9 Simplifying Machine Upgrading (#15802) 2023-04-29 13:23:49 +10:00
deltanedas
d6273edaed singulo distortion auto gen comp state (#15306)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-04-14 12:47:32 -07:00
Zoldorf
ebb612446a Changes the SingularitySystem to use generic visualizers (#15057) 2023-04-03 05:46:46 +10:00
TemporalOroboros
23f1dc4643 Resolves SingularityVisualizer is Obsolete (#13906)
* Split SingularityVisualizer into Component/System pair

* Server ignore SingularityVisualizer

* Update YAML

* Move to SingularityComponent
2023-02-11 11:41:16 +00:00
Visne
c6d3e4f3bd Fix warnings and code cleanup/fixes (#13570) 2023-01-19 13:56:45 +11:00
Nemanja
9cd0c11870 Anomalies (#13371) 2023-01-16 21:05:20 -08:00
Nemanja
2933f030d9 emitter visuals update (#13382) 2023-01-09 14:42:31 +11:00
Nemanja
faca40b8d5 more component ref removal + combining server/client comps (#13178)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2022-12-25 05:28:21 +01:00
Nemanja
6c04811e66 remove a bunch of instances of component reference (#13164) 2022-12-24 15:55:31 +11:00
TemporalOroboros
9a72b05a50 Splits the singularity into its component parts + ECS singularity + Support for singularities in containers. (#12132)
* InitialCommit (Broken)

* Fixes compile errors

* PR comments. More doc comments. Fixes

* Makes a singularity/event horizon without radiation/physics a valid state to be in

* VV 'fake' setters, fixes the visualizer, fixes the singularity trying to eat itself instead of nearby things.

* Removes unused dependency from Content.Client.GravityWellSystem

* Testing containment and fake VV setters for SingularityGeneratorComponent

* Fixes gravity wells (broken due to LookupFlags.None). Adds recursive Event Horizon consumption

* Fix merge skew

* Fixes for the master merge

* Fix engine commit

* Dirty is obsolete

* Switch over dirty

* Fix requested changes

* ambiant -> ambient

* Moves EventHorionComponent to Shared

* Proper container handling

* Fixes master merge. Fixes post insertion assertions for singularities. Extends proper container handling to gravity wells and the distortion shader.

* Better support for admemes throwing singularities.

* Moves update timing from accumulators to target times

* Update doc comments
2022-12-19 20:47:15 -06:00
keronshb
0eece4b47f Containment Field Rework (#9312) 2022-08-05 14:22:37 +10:00
wrexbe
bc68ac96dd Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
Leon Friedrich
8fb48a09ef Improve singularity shader (#7647)
* Working example

* vector arrays

* simplify math

* max distance

* max distance

* PVS override

* rename count
2022-04-28 22:43:16 +10:00
mirrorcult
ec4d4688c7 Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
wrexbe
17db0775c8 Auto comp (#6416) 2022-02-02 14:35:40 +11:00
Pancake
61da69ee74 Singulo/Radiation Tweaks (#6045)
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2022-01-11 17:30:17 +11:00
Paul Ritter
fbcb53dcc0 pvs content (#5484)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2021-11-30 15:20:38 +01:00
Leon Friedrich
5dd73ff6e0 Fix emitter lock toggle (#5066) 2021-10-28 13:29:19 +02:00
metalgearsloth
f472bbab88 Singularity fixes (#4383)
* Singularity fixes

* Fix the rest

* Woops

* ahh

* Nerf singulo for now

* Final touchups for now

* Review
2021-08-23 00:54:03 +10:00
Visne
b7dc3c81ae Remove redundant #nullable enable (#4275) 2021-07-16 17:37:09 -07:00
Acruid
59e5cc5e3c Remove Static Component NetIds (#4247)
* Remove the unnecessary NetID property from ComponentState.

* Remove Component.NetworkSynchronizeExistence.

* Removed Component.NetID.

* Adds component netID automatic generation.

* Removed NetIdAttribute from serverside components with no corresponding clientside registration.

* Completely remove static NetIds.

* Renamed NetIDAttribute to NetworkedComponentAttribute.

* Add GenerateNetIds calls to client and server entry points.
Add test to make sure auto generated NetIds are identical.

* Component changes when rebasing that I am too lazy to rewrite into the branch.

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2021-07-12 10:32:10 +02:00
DrSmugleaf
716bee0746 Remove IClientSingularityInstance, move visual effects to SingularityDistortionComponent (#4194)
* Remove IClientSingularityInstance

* In and out 5 minute refactor

* Component states for singularity distortion

* Fix distortion states

* Address reviews
2021-06-24 12:48:11 +10:00
DrSmugleaf
ff1a2d97ea Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00