Move grenade components to shared (#22691)

* Moves FlashComponent.cs, FlashOnTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared

* Moves ExplodeOnTriggerComponent.cs, OnUseTimerTriggerComponent.cs, ActiveTimerTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared

* Delete .run/Content Server+Client.run.xml

HOW DID THIS GET IN HERE ITS NOT AHHHH

* Update Content.Client/Explosion/SmokeOnTriggerSystem.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update ExplodeOnTriggerComponent.cs

* Revert "Delete .run/Content Server+Client.run.xml"

This reverts commit 29ee05f57de60eab5c92158d8eba5e3acba483c2.

* Fix?

* cannot figure out how to get this to go back please forgive

* Fixes a network issue

* leftovers

* Fixes

---------

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
Aexxie
2024-02-01 07:29:01 -06:00
committed by GitHub
parent 4520ac8c9b
commit 467e983ba9
40 changed files with 125 additions and 86 deletions

View File

@@ -1,25 +0,0 @@
using Robust.Shared.Audio;
namespace Content.Server.Explosion.Components;
/// <summary>
/// Component for tracking active trigger timers. A timers can activated by some other component, e.g. <see cref="OnUseTimerTriggerComponent"/>.
/// </summary>
[RegisterComponent]
public sealed partial class ActiveTimerTriggerComponent : Component
{
[DataField("timeRemaining")]
public float TimeRemaining;
[DataField("user")]
public EntityUid? User;
[DataField("beepInterval")]
public float BeepInterval;
[DataField("timeUntilBeep")]
public float TimeUntilBeep;
[DataField("beepSound")]
public SoundSpecifier? BeepSound;
}

View File

@@ -1,9 +0,0 @@
namespace Content.Server.Explosion.Components;
/// <summary>
/// Explode using the entity's <see cref="ExplosiveComponent"/> if Triggered.
/// </summary>
[RegisterComponent]
public sealed partial class ExplodeOnTriggerComponent : Component
{
}

View File

@@ -1,41 +0,0 @@
using Content.Server.Explosion.EntitySystems;
using Content.Shared.Chemistry.Components;
using Robust.Shared.Prototypes;
namespace Content.Server.Explosion.Components;
/// <summary>
/// Creates a smoke cloud when triggered, with an optional solution to include in it.
/// No sound is played incase a grenade is stealthy, use <see cref="SoundOnTriggerComponent"/> if you want a sound.
/// </summary>
[RegisterComponent, Access(typeof(SmokeOnTriggerSystem))]
public sealed partial class SmokeOnTriggerComponent : Component
{
/// <summary>
/// How long the smoke stays for, after it has spread.
/// </summary>
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float Duration = 10;
/// <summary>
/// How much the smoke will spread.
/// </summary>
[DataField(required: true), ViewVariables(VVAccess.ReadWrite)]
public int SpreadAmount;
/// <summary>
/// Smoke entity to spawn.
/// Defaults to smoke but you can use foam if you want.
/// </summary>
[DataField, ViewVariables(VVAccess.ReadWrite)]
public ProtoId<EntityPrototype> SmokePrototype = "Smoke";
/// <summary>
/// Solution to add to each smoke cloud.
/// </summary>
/// <remarks>
/// When using repeating trigger this essentially gets multiplied so dont do anything crazy like omnizine or lexorin.
/// </remarks>
[DataField, ViewVariables(VVAccess.ReadWrite)]
public Solution Solution = new();
}

View File

@@ -1,57 +0,0 @@
using Robust.Shared.Audio;
namespace Content.Server.Explosion.Components
{
[RegisterComponent]
public sealed partial class OnUseTimerTriggerComponent : Component
{
[DataField("delay")]
public float Delay = 1f;
/// <summary>
/// If not null, a user can use verbs to configure the delay to one of these options.
/// </summary>
[DataField("delayOptions")]
public List<float>? DelayOptions = null;
/// <summary>
/// If not null, this timer will periodically play this sound while active.
/// </summary>
[DataField("beepSound")]
public SoundSpecifier? BeepSound;
/// <summary>
/// Time before beeping starts. Defaults to a single beep interval. If set to zero, will emit a beep immediately after use.
/// </summary>
[DataField("initialBeepDelay")]
public float? InitialBeepDelay;
[DataField("beepInterval")]
public float BeepInterval = 1;
/// <summary>
/// Whether the timer should instead be activated through a verb in the right-click menu
/// </summary>
[DataField("useVerbInstead")]
public bool UseVerbInstead = false;
/// <summary>
/// Should timer be started when it was stuck to another entity.
/// Used for C4 charges and similar behaviour.
/// </summary>
[DataField("startOnStick")]
public bool StartOnStick;
/// <summary>
/// Allows changing the start-on-stick quality.
/// </summary>
[DataField("canToggleStartOnStick")]
public bool AllowToggleStartOnStick;
/// <summary>
/// Whether you can examine the item to see its timer or not.
/// </summary>
[DataField("examinable")]
public bool Examinable = true;
}
}

View File

@@ -1,5 +1,6 @@
using Content.Server.Explosion.EntitySystems;
using Content.Shared.Explosion;
using Content.Shared.Explosion.Components;
using Content.Shared.Physics;
using Robust.Shared.Physics.Collision.Shapes;
using Robust.Shared.Physics.Components;