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
+}