diff --git a/MrBigsock/Assets/Code/Character.cs b/MrBigsock/Assets/Code/Character.cs
index bf17da2bc2e33ea6d8908547dcd08a1a339e9908..0d3c07c9282da4ccd139bf1955411242d4f52cb0 100644
--- a/MrBigsock/Assets/Code/Character.cs
+++ b/MrBigsock/Assets/Code/Character.cs
@@ -114,6 +114,11 @@ namespace BigSock {
 			// Set the base stats.
 			BaseStats = new CharacterStats {
 				MaxHP = baseMaxHP,
+				MaxMana = 10,
+				MaxStamina = 10,
+				RegenMana = 2,
+				RegenStamina = 2,
+				
 				Damage = baseDamage,
 				MoveSpeed = baseMovementSpeed,
 				Knockback = knockbackForce,
diff --git a/MrBigsock/Assets/Code/Core/CharacterStats.cs b/MrBigsock/Assets/Code/Core/CharacterStats.cs
index f9e6e247ddf6a67262c6e79e6f57e5020f458f6c..8ee6c2b7d7aea72fa015ae691643e5d19e3fef71 100644
--- a/MrBigsock/Assets/Code/Core/CharacterStats.cs
+++ b/MrBigsock/Assets/Code/Core/CharacterStats.cs
@@ -16,6 +16,28 @@ namespace BigSock {
 		*/
 		public float MaxHP { get; set; }
 
+		/*
+			The max mana of the character.
+		*/
+		public float MaxMana { get; set; }
+
+		/*
+			The max stamina of the character.
+		*/
+		public float MaxStamina { get; set; }
+
+		/*
+			The regeneration rate of the character's mana.
+		*/
+		public float RegenMana { get; set; }
+
+		/*
+			The regeneration rate of the character's stamina.
+		*/
+		public float RegenStamina { get; set; }
+
+
+
 		/*
 			The damage of the character.
 		*/
diff --git a/MrBigsock/Assets/Code/Core/ICharacterStats.cs b/MrBigsock/Assets/Code/Core/ICharacterStats.cs
index d18f091c659d24a689372638ef3b5a235b77e8d6..4fa71d78396e5efb122e2641db990de49faee15e 100644
--- a/MrBigsock/Assets/Code/Core/ICharacterStats.cs
+++ b/MrBigsock/Assets/Code/Core/ICharacterStats.cs
@@ -12,10 +12,31 @@ namespace BigSock {
 	*/
 	public interface ICharacterStats {
 		/*
-			The hp of the character.
+			The max hp of the character.
 		*/
 		float MaxHP { get; }
 
+		/*
+			The max mana of the character.
+		*/
+		float MaxMana { get; }
+
+		/*
+			The max stamina of the character.
+		*/
+		float MaxStamina { get; }
+
+		/*
+			The regeneration rate of the character's mana.
+		*/
+		float RegenMana { get; }
+
+		/*
+			The regeneration rate of the character's stamina.
+		*/
+		float RegenStamina { get; }
+
+
 		/*
 			The damage of the character.
 		*/
@@ -67,6 +88,11 @@ namespace BigSock {
 		*/
 		public static readonly ICharacterStats IDENTITY = new CharacterStats{
 			MaxHP = 1,
+			MaxMana = 1,
+			MaxStamina = 1,
+			RegenMana = 1,
+			RegenStamina = 1,
+
 			Damage = 1,
 			MoveSpeed = 1,
 			Knockback = 1,
@@ -83,6 +109,11 @@ namespace BigSock {
 		public static ICharacterStats Add(this ICharacterStats a, ICharacterStats b) {
 			return new CharacterStats{
 				MaxHP = a.MaxHP + b.MaxHP,
+				MaxMana = a.MaxMana + b.MaxMana,
+				MaxStamina = a.MaxStamina + b.MaxStamina,
+				RegenMana = a.RegenMana + b.RegenMana,
+				RegenStamina = a.RegenStamina + b.RegenStamina,
+
 				Damage = a.Damage + b.Damage,
 				MoveSpeed = a.MoveSpeed + b.MoveSpeed,
 				Knockback = a.Knockback + b.Knockback,
@@ -101,6 +132,11 @@ namespace BigSock {
 		public static ICharacterStats Remove(this ICharacterStats a, ICharacterStats b) {
 			return new CharacterStats{
 				MaxHP = a.MaxHP - b.MaxHP,
+				MaxMana = a.MaxMana - b.MaxMana,
+				MaxStamina = a.MaxStamina - b.MaxStamina,
+				RegenMana = a.RegenMana - b.RegenMana,
+				RegenStamina = a.RegenStamina - b.RegenStamina,
+
 				Damage = a.Damage - b.Damage,
 				MoveSpeed = a.MoveSpeed - b.MoveSpeed,
 				Knockback = a.Knockback - b.Knockback,
@@ -118,6 +154,11 @@ namespace BigSock {
 		public static ICharacterStats Multiply(this ICharacterStats a, ICharacterStats b) {
 			return new CharacterStats{
 				MaxHP = a.MaxHP * b.MaxHP,
+				MaxMana = a.MaxMana * b.MaxMana,
+				MaxStamina = a.MaxStamina * b.MaxStamina,
+				RegenMana = a.RegenMana * b.RegenMana,
+				RegenStamina = a.RegenStamina * b.RegenStamina,
+
 				Damage = a.Damage * b.Damage,
 				MoveSpeed = a.MoveSpeed * b.MoveSpeed,
 				Knockback = a.Knockback * b.Knockback,