public void Initialise(string axeID, Viking player, IController controller) { name = axeID; this.player = player; rb2d = GetComponent <Rigidbody2D>(); float projectileX = player.GetChief().GetComponent <Chief>().GetPrevious().x; float projectileY = player.GetChief().GetComponent <Chief>().GetPrevious().y; Vector2 projectileThrow = new Vector2(projectileX, projectileY); projectileThrow += new Vector2(controller.MoveHorizontal(), controller.MoveVertical()) / 3 * 2; projectileThrow += new Vector2(randomSpread * 2 * (Random.value - 0.5f), randomSpread * 2 * (Random.value - 0.5f)); rb2d.AddForce(projectileThrow * 1000); }