mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-10-06 14:27:29 +00:00
* Added new anomaly particle
* Add basic anomaly behaviour
* +2 parametres
* add functional to new particle
* add components to behaviours
* big content
* add shuffle, moved thing to server
* clean up
* fixes
* random pick redo
* bonjour behavioUr
* fix AJCM
* fix
* add some new behaviours
* power modifier behaviour
* rmeove timer
* new event for update ui fix
* refactor!
* fixes
* enum
* Fix mapinit
* Minor touches
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit a4ec01d471)
42 lines
1.4 KiB
C#
42 lines
1.4 KiB
C#
using Content.Server.Anomaly.Components;
|
|
using Content.Shared.Anomaly.Components;
|
|
using Robust.Shared.Physics.Events;
|
|
using Robust.Shared.Random;
|
|
|
|
namespace Content.Server.Anomaly.Effects;
|
|
public sealed class ShuffleParticlesAnomalySystem : EntitySystem
|
|
{
|
|
[Dependency] private readonly AnomalySystem _anomaly = default!;
|
|
[Dependency] private readonly IRobustRandom _random = default!;
|
|
|
|
public override void Initialize()
|
|
{
|
|
SubscribeLocalEvent<ShuffleParticlesAnomalyComponent, AnomalyPulseEvent>(OnPulse);
|
|
SubscribeLocalEvent<ShuffleParticlesAnomalyComponent, StartCollideEvent>(OnStartCollide);
|
|
}
|
|
|
|
private void OnStartCollide(EntityUid uid, ShuffleParticlesAnomalyComponent shuffle, StartCollideEvent args)
|
|
{
|
|
if (!TryComp<AnomalyComponent>(uid, out var anomaly))
|
|
return;
|
|
|
|
if (shuffle.ShuffleOnParticleHit && _random.Prob(shuffle.Prob))
|
|
_anomaly.ShuffleParticlesEffect(anomaly);
|
|
|
|
if (!TryComp<AnomalousParticleComponent>(args.OtherEntity, out var particle))
|
|
return;
|
|
}
|
|
|
|
private void OnPulse(EntityUid uid, ShuffleParticlesAnomalyComponent shuffle, AnomalyPulseEvent args)
|
|
{
|
|
if (!TryComp<AnomalyComponent>(uid, out var anomaly))
|
|
return;
|
|
|
|
if (shuffle.ShuffleOnPulse && _random.Prob(shuffle.Prob))
|
|
{
|
|
_anomaly.ShuffleParticlesEffect(anomaly);
|
|
}
|
|
}
|
|
}
|
|
|