diff --git a/MrBigsock/Assets/Code/PlayerController.cs b/MrBigsock/Assets/Code/PlayerController.cs
index be7b14b231d1c23f85bf275a1ddae6111bed36fd..80c3773093e9c08ba0284932105fa532ff3cc747 100644
--- a/MrBigsock/Assets/Code/PlayerController.cs
+++ b/MrBigsock/Assets/Code/PlayerController.cs
@@ -34,6 +34,7 @@ namespace BigSock {
 
 
 
+
 		protected IAttack _testAttack;
 		protected IAttack _testAttack2;
 		protected IAbility _dodge;
@@ -118,30 +119,32 @@ namespace BigSock {
 
 			}
 
+
 			private void Update() {
+				// Regenerate mana & stamina.
 				Regenerate();
 
-				if (Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButton(0)) {
-					// Manage attack cooldown.
-					if(NextTimeCanAttack <= DateTime.Now) {
-						//NextTimeCanAttack = DateTime.Now.AddSeconds(AttackCooldown);
+				// Object w/ parameters for abilities.
+				var par = new AbilityParam{
+					Actor = this,
+					TargetPos = Camera.main.ScreenToWorldPoint(Input.mousePosition),
+					MovementDir = moveDir,
+				};
 
-						//var bullet = Instantiate(attack, new Vector3(transform.position.x, transform.position.y, transform.position.z), attack.transform.rotation);
-						//bullet.GetComponent<AttackMovement>().Actor = this;
 
-						_testAttack.Use(this, Camera.main.ScreenToWorldPoint(Input.mousePosition));
-					
-					}
+				// If pressed Soace or LMB: Regular attack.
+				if (Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButton(0)) {
+					_testAttack.Use(par);
 				}
 
 				// If pressed Z: Big attack.
 				if(Input.GetKey(KeyCode.Z)) {
-					_testAttack2.Use(this, Camera.main.ScreenToWorldPoint(Input.mousePosition));
+					_testAttack2.Use(par);
 				}
 
 				// If pressed X: dodge.
 				if(Input.GetKey(KeyCode.X)) {
-					_dodge.Use(this, Camera.main.ScreenToWorldPoint(Input.mousePosition));
+					_dodge.Use(par);
 				}
 
 
@@ -152,9 +155,8 @@ namespace BigSock {
 					TryPickUpItem(item);
 				}
 
-				
-				if (Input.GetKeyDown(KeyCode.I))
-				{
+				// Code for opening the menu.
+				if (Input.GetKeyDown(KeyCode.I)) {
 					GameObject canvas = GameObject.Find("Canvas");
 					if(canvas != null) {
 						var playerMenu = PrefabService.SINGLETON.Instance("UI/PlayerMenu", canvas.transform);
diff --git a/MrBigsock/Assets/Code/orc/Enemy_orc_range.cs b/MrBigsock/Assets/Code/orc/Enemy_orc_range.cs
index dff603f831b4253698b87d0ce832fa3d52827576..869611fd2f1796182c3e978d6ac8428265d3f3a0 100644
--- a/MrBigsock/Assets/Code/orc/Enemy_orc_range.cs
+++ b/MrBigsock/Assets/Code/orc/Enemy_orc_range.cs
@@ -71,7 +71,16 @@ namespace BigSock {
 				m_Animator_bow.SetTrigger("attack");
 				if(DateTime.Now >= NextTimeStateCanChange && target != null) {
 					m_Animator_bow.SetTrigger("none");
-					_testAttack.Use(this, target.position);
+
+					
+					// Object w/ parameters for abilities.
+					var par = new AbilityParam{
+						Actor = this,
+						TargetPos = target.position,
+						MovementDir = moveDir,
+					};
+					
+					_testAttack.Use(par);
 					
 					State = State.Attacking;
 					NextTimeStateCanChange = DateTime.Now + ATTACK_WAIT_TIME;
diff --git a/MrBigsock/Assets/Code/skeleton/Enemy_skeleton_range.cs b/MrBigsock/Assets/Code/skeleton/Enemy_skeleton_range.cs
index 91a18ee92673bda152b95ca3949ffa5945522d0b..fbab9a4eeabfc4906c2ed8ff6d37c843713b473e 100644
--- a/MrBigsock/Assets/Code/skeleton/Enemy_skeleton_range.cs
+++ b/MrBigsock/Assets/Code/skeleton/Enemy_skeleton_range.cs
@@ -71,7 +71,14 @@ namespace BigSock {
 				
 				if(DateTime.Now >= NextTimeStateCanChange && target != null) {
 					
-					_testAttack.Use(this, target.position);
+					// Object w/ parameters for abilities.
+					var par = new AbilityParam{
+						Actor = this,
+						TargetPos = target.position,
+						MovementDir = moveDir,
+					};
+					
+					_testAttack.Use(par);
 					
 					State = State.Attacking;
 					NextTimeStateCanChange = DateTime.Now + ATTACK_WAIT_TIME;