2024-11-06 08:44:03 +03:00
using Content.Shared._CP14.MagicRitual.Prototypes ;
2024-08-01 11:52:27 +03:00
using Content.Shared._CP14.MagicSpell.Spells ;
2024-11-09 17:55:16 +03:00
using Content.Shared._CP14.MagicSpellStorage ;
2025-01-05 17:46:54 +03:00
using Content.Shared._CP14.MagicSpellStorage.Components ;
2025-01-04 21:35:59 +03:00
using Content.Shared.DoAfter ;
2024-11-06 08:44:03 +03:00
using Robust.Shared.Prototypes ;
2024-07-28 17:26:47 +03:00
2024-08-01 11:52:27 +03:00
namespace Content.Shared._CP14.MagicSpell.Components ;
2024-07-28 17:26:47 +03:00
/// <summary>
2025-01-04 21:35:59 +03:00
/// Stores the results and appearance of the magic effect
2024-07-28 17:26:47 +03:00
/// </summary>
2024-11-09 17:55:16 +03:00
[RegisterComponent, Access(typeof(CP14SharedMagicSystem), typeof(CP14SpellStorageSystem))]
2024-07-28 17:26:47 +03:00
public sealed partial class CP14MagicEffectComponent : Component
{
2024-11-09 17:55:16 +03:00
/// <summary>
/// if this effect was provided by an spellstorage, it will be recorded here automatically.
/// </summary>
[DataField]
public Entity < CP14SpellStorageComponent > ? SpellStorage ;
2024-11-06 08:44:03 +03:00
[DataField]
public ProtoId < CP14MagicTypePrototype > ? MagicType = null ;
2024-08-02 13:51:54 +03:00
/// <summary>
/// Effects that will trigger at the beginning of the cast, before mana is spent. Should have no gameplay importance, just special effects, popups and sounds.
/// </summary>
[DataField]
public List < CP14SpellEffect > TelegraphyEffects = new ( ) ;
2024-08-01 11:52:27 +03:00
[DataField]
public List < CP14SpellEffect > Effects = new ( ) ;
2025-01-04 21:35:59 +03:00
[DataField]
public DoAfterId ? ActiveDoAfter ;
2024-07-28 17:26:47 +03:00
}