diff --git a/.editorconfig b/.editorconfig index 3fbd696..9b5c35d 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,5 +1,6 @@ # EditorConfig for .NET template root = true + [*] end_of_line = lf insert_final_newline = true diff --git a/EoM_Redux.slnx b/EoM_Redux.slnx index 561cd0c..0d711ef 100644 --- a/EoM_Redux.slnx +++ b/EoM_Redux.slnx @@ -1,5 +1,5 @@ - - - + + + diff --git a/EoM_Redux/D20/Effects/FireBurn.cs b/EoM_Redux/D20/Effects/FireBurn.cs new file mode 100644 index 0000000..b2df350 --- /dev/null +++ b/EoM_Redux/D20/Effects/FireBurn.cs @@ -0,0 +1,19 @@ +namespace EoM_Redux; + +public class FireBurn : IOvertEffect +{ + public FireBurn(int damage = 0, int duration = 3) + { + Damage = damage; + Duration = duration; + } + + public string Name { get; } = "Burning"; + public int Damage { get; } + public int Duration { get; } + + public void ApplyEffect() + { + throw new NotImplementedException(); + } +} diff --git a/EoM_Redux/Fire.cs b/EoM_Redux/D20/Elements/Fire.cs similarity index 58% rename from EoM_Redux/Fire.cs rename to EoM_Redux/D20/Elements/Fire.cs index ecb5d76..53e66ee 100644 --- a/EoM_Redux/Fire.cs +++ b/EoM_Redux/D20/Elements/Fire.cs @@ -2,10 +2,13 @@ namespace EoM_Redux; public class Fire : IElement { - public int Damage { get; set; } - public Fire(int damage) { Damage = damage; } -} \ No newline at end of file + + public int Damage { get; set; } + + public List ISubtleEffects { get; } + public List IOvertEffects { get; } +} diff --git a/EoM_Redux/FireBall.cs b/EoM_Redux/D20/Spells/FireBall.cs similarity index 50% rename from EoM_Redux/FireBall.cs rename to EoM_Redux/D20/Spells/FireBall.cs index 38c6613..b1d5703 100644 --- a/EoM_Redux/FireBall.cs +++ b/EoM_Redux/D20/Spells/FireBall.cs @@ -2,5 +2,7 @@ public class FireBall : ISpell { + public IOvertEffect OvertEffect => new FireBurn(10); public SpellType Type => SpellType.Overt; + public IElement Element => new Fire(10); } diff --git a/EoM_Redux/IElement.cs b/EoM_Redux/IElement.cs index 3cbac65..64a803e 100644 --- a/EoM_Redux/IElement.cs +++ b/EoM_Redux/IElement.cs @@ -2,4 +2,6 @@ namespace EoM_Redux; public interface IElement { -} \ No newline at end of file + List ISubtleEffects { get; } + List IOvertEffects { get; } +} diff --git a/EoM_Redux/IOvertEffect.cs b/EoM_Redux/IOvertEffect.cs index 42f6c81..aeeb69f 100644 --- a/EoM_Redux/IOvertEffect.cs +++ b/EoM_Redux/IOvertEffect.cs @@ -3,4 +3,4 @@ namespace EoM_Redux; public interface IOvertEffect { void ApplyEffect(); -} \ No newline at end of file +} diff --git a/EoM_Redux/ISpell.cs b/EoM_Redux/ISpell.cs index b0b98db..cb8adca 100644 --- a/EoM_Redux/ISpell.cs +++ b/EoM_Redux/ISpell.cs @@ -3,4 +3,5 @@ namespace EoM_Redux; public interface ISpell { public SpellType Type { get; } -} \ No newline at end of file + public IElement Element { get; } +} diff --git a/EoM_Redux/ISubtleEffect.cs b/EoM_Redux/ISubtleEffect.cs index b2f4b60..c860035 100644 --- a/EoM_Redux/ISubtleEffect.cs +++ b/EoM_Redux/ISubtleEffect.cs @@ -3,4 +3,4 @@ namespace EoM_Redux; public interface ISubtleEffect { void ApplyEffect(); -} \ No newline at end of file +} diff --git a/EoM_Redux/SpellType.cs b/EoM_Redux/SpellType.cs index e7063aa..aa0b57d 100644 --- a/EoM_Redux/SpellType.cs +++ b/EoM_Redux/SpellType.cs @@ -4,4 +4,4 @@ public enum SpellType { Subtle, Overt -} \ No newline at end of file +}