using Godot; using Zennysoft.Ma; using Zennysoft.Ma.Adapter; public class SigilComponent : ISigilComponent { public ISigil Sigil { get; set; } public void Reset() { Sigil = new NoneSigil(); } } public partial class NoneSigil : ISigil { public double AttackModifier { get; set; } public double DefenseModifier { get; set; } public int HealthModifier { get; set; } public int VTModifier { get; set; } public double LuckModifier { get; set; } public double ElementalModifier { get; set; } public ElementType ElementType { get; } = ElementType.None; } public partial class AeolicSigil : ISigil { public double AttackModifier { get; set; } public double DefenseModifier { get; set; } public int HealthModifier { get; set; } public int VTModifier { get; set; } public double LuckModifier { get; set; } public double ElementalModifier { get; set; } public ElementType ElementType { get; } = ElementType.Aeolic; } public partial class IgneousSigil : ISigil { public double AttackModifier { get; set; } public double DefenseModifier { get; set; } public int HealthModifier { get; set; } public int VTModifier { get; set; } public double LuckModifier { get; set; } public double ElementalModifier { get; set; } public ElementType ElementType { get; } = ElementType.Igneous; } public partial class TelluricSigil : ISigil { public double AttackModifier { get; set; } public double DefenseModifier { get; set; } public int HealthModifier { get; set; } public int VTModifier { get; set; } public double LuckModifier { get; set; } public double ElementalModifier { get; set; } public ElementType ElementType { get; } = ElementType.Telluric; } public partial class HydricSigil : ISigil { public double AttackModifier { get; set; } public double DefenseModifier { get; set; } public int HealthModifier { get; set; } public int VTModifier { get; set; } public double LuckModifier { get; set; } public double ElementalModifier { get; set; } public ElementType ElementType { get; } = ElementType.Hydric; } public partial class FerrumSigil : ISigil { public double AttackModifier { get; set; } public double DefenseModifier { get; set; } public int HealthModifier { get; set; } public int VTModifier { get; set; } public double LuckModifier { get; set; } public double ElementalModifier { get; set; } public ElementType ElementType { get; } = ElementType.Ferrum; } public partial class SanktaSigil : ISigil { public double AttackModifier { get; set; } public double DefenseModifier { get; set; } public int HealthModifier { get; set; } public int VTModifier { get; set; } public double LuckModifier { get; set; } public double ElementalModifier { get; set; } public ElementType ElementType { get; } = ElementType.Sankta; } public partial class ShuraSigil : ISigil { public double AttackModifier { get; set; } public double DefenseModifier { get; set; } public int HealthModifier { get; set; } public int VTModifier { get; set; } public double LuckModifier { get; set; } public double ElementalModifier { get; set; } public ElementType ElementType { get; } = ElementType.Shura; }