1
0

ExplosionAnomalyComponent.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. using Content.Shared.Explosion;
  2. using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
  3. namespace Content.Server.Anomaly.Components;
  4. [RegisterComponent]
  5. public sealed partial class ExplosionAnomalyComponent : Component
  6. {
  7. /// <summary>
  8. /// The explosion prototype to spawn
  9. /// </summary>
  10. [DataField("supercriticalExplosion", required: true, customTypeSerializer: typeof(PrototypeIdSerializer<ExplosionPrototype>))]
  11. public string ExplosionPrototype = default!;
  12. /// <summary>
  13. /// The total amount of intensity an explosion can achieve
  14. /// </summary>
  15. [DataField("explosionTotalIntensity")]
  16. public float TotalIntensity = 100f;
  17. /// <summary>
  18. /// How quickly does the explosion's power slope? Higher = smaller area and more concentrated damage, lower = larger area and more spread out damage
  19. /// </summary>
  20. [DataField("explosionDropoff")]
  21. public float Dropoff = 10f;
  22. /// <summary>
  23. /// How much intensity can be applied per tile?
  24. /// </summary>
  25. [DataField("explosionMaxTileIntensity")]
  26. public float MaxTileIntensity = 10f;
  27. }