Files
tbd-station-14/Content.Shared/Weapons/Hitscan/Components/HitscanReflectComponent.cs
beck-thompson 492a1aa9c3 Hitscans are now entities (#38035)
* Hitscans are now entities

* Cleanup

* Cleanup

* Silly mistakes but stop sign testing helps :)

* Address most of the review

* Reviews

* perry :(

* Final reviews

* Add comments

* Split event up

* better comment

* cleanup
2025-10-18 05:42:08 +00:00

30 lines
965 B
C#

using Content.Shared.Weapons.Reflect;
using Robust.Shared.GameStates;
namespace Content.Shared.Weapons.Hitscan.Components;
/// <summary>
/// Hitscan entities with this component will get reflected by certain things (E.G energy swords).
/// </summary>
[RegisterComponent, NetworkedComponent]
public sealed partial class HitscanReflectComponent : Component
{
/// <summary>
/// The reflective type, will only reflect from entities that have a matching reflection type.
/// </summary>
[DataField]
public ReflectType ReflectiveType = ReflectType.Energy;
/// <summary>
/// The maximum number of reflections the laser will make. <see cref="CurrentReflections"/>
/// </summary>
[DataField]
public int MaxReflections = 3;
/// <summary>
/// Current number of times this hitscan entity was reflected. Will not be more than <see cref="MaxReflections"/>
/// </summary>
[DataField]
public int CurrentReflections;
}