public void FreeMovement(List <Node> p) { if (rnd.inCombat == true) { cutRoam = true; isMoving = true; currentNode = p[moveCount]; tempDestNode = currentNode; destination = currentNode.worldObject.transform.position + this.gameObject.GetComponent <CharacterData>().alignMod; Invoke("ParentNode", 0.5f); } if (moveCount < p.Count && cutRoam == false) { moveCount = moveCount + 1; rnd.ArtificialTickUp(); } if (moveCount > p.Count && cutRoam == false) { moveCount = p.Count; } if (moveCount >= p.Count - 1 && cutRoam == false) { isMoving = true; currentNode = p[p.Count - 1]; tempDestNode = currentNode; destination = currentNode.worldObject.transform.position + this.gameObject.GetComponent <CharacterData>().alignMod; Invoke("ParentNode", 0.5f); } else { currentNode = p[moveCount]; isMoving = true; destination = currentNode.worldObject.transform.position + this.gameObject.GetComponent <CharacterData>().alignMod; } }