diff --git a/MrBigsock/Assets/Code/Character.cs b/MrBigsock/Assets/Code/Character.cs
index 47404ef06948065639a12ebf63b9e3734ea88bfd..4bb84f979c96e66c4807880e5feef82b11ef7c2d 100644
--- a/MrBigsock/Assets/Code/Character.cs
+++ b/MrBigsock/Assets/Code/Character.cs
@@ -151,6 +151,18 @@ namespace BigSock {
 		}
 
 
+		/*
+			Gets the AbilityParams we want.
+		*/
+		public virtual IAbilityParam GetAbilityParam(Vector2? targetPos) {
+			return new AbilityParam{
+				Actor = this,
+				TargetPos = targetPos,
+				MovementDir = moveDir,
+			};
+		}
+
+
 
 		/*
 			Add Knockback. 
diff --git a/MrBigsock/Assets/Code/PlayerController.cs b/MrBigsock/Assets/Code/PlayerController.cs
index 80c3773093e9c08ba0284932105fa532ff3cc747..84b56b833d998102e4dd3933b78312758833c4cf 100644
--- a/MrBigsock/Assets/Code/PlayerController.cs
+++ b/MrBigsock/Assets/Code/PlayerController.cs
@@ -125,11 +125,12 @@ namespace BigSock {
 				Regenerate();
 
 				// Object w/ parameters for abilities.
-				var par = new AbilityParam{
-					Actor = this,
-					TargetPos = Camera.main.ScreenToWorldPoint(Input.mousePosition),
-					MovementDir = moveDir,
-				};
+				var par = GetAbilityParam(Camera.main.ScreenToWorldPoint(Input.mousePosition));
+				//var par = new AbilityParam{
+				//	Actor = this,
+				//	TargetPos = Camera.main.ScreenToWorldPoint(Input.mousePosition),
+				//	MovementDir = moveDir,
+				//};
 
 
 				// If pressed Soace or LMB: Regular attack.
diff --git a/MrBigsock/Assets/Code/orc/Enemy_orc_range.cs b/MrBigsock/Assets/Code/orc/Enemy_orc_range.cs
index 869611fd2f1796182c3e978d6ac8428265d3f3a0..023fb2b17d29795fc67b7443be4074c4bdaf0e79 100644
--- a/MrBigsock/Assets/Code/orc/Enemy_orc_range.cs
+++ b/MrBigsock/Assets/Code/orc/Enemy_orc_range.cs
@@ -74,11 +74,12 @@ namespace BigSock {
 
 					
 					// Object w/ parameters for abilities.
-					var par = new AbilityParam{
-						Actor = this,
-						TargetPos = target.position,
-						MovementDir = moveDir,
-					};
+					var par = GetAbilityParam(target.position);
+					//var par = new AbilityParam{
+					//	Actor = this,
+					//	TargetPos = target.position,
+					//	MovementDir = moveDir,
+					//};
 					
 					_testAttack.Use(par);
 					
diff --git a/MrBigsock/Assets/Code/skeleton/Enemy_skeleton_range.cs b/MrBigsock/Assets/Code/skeleton/Enemy_skeleton_range.cs
index fbab9a4eeabfc4906c2ed8ff6d37c843713b473e..98f85aeb74eae1503c513a02e263f5a09cb0bccb 100644
--- a/MrBigsock/Assets/Code/skeleton/Enemy_skeleton_range.cs
+++ b/MrBigsock/Assets/Code/skeleton/Enemy_skeleton_range.cs
@@ -72,12 +72,13 @@ namespace BigSock {
 				if(DateTime.Now >= NextTimeStateCanChange && target != null) {
 					
 					// Object w/ parameters for abilities.
-					var par = new AbilityParam{
-						Actor = this,
-						TargetPos = target.position,
-						MovementDir = moveDir,
-					};
-					
+					var par = GetAbilityParam(target.position);
+					//var par = new AbilityParam{
+					//	Actor = this,
+					//	TargetPos = target.position,
+					//	MovementDir = moveDir,
+					//};
+
 					_testAttack.Use(par);
 					
 					State = State.Attacking;