void Update() { if (target == null) { target = Defult; } Retarget(); if (run == true && wander == false) { if (My_Energy.Amount >= 20) { RaycastHit forwardhit; float setY = gameObject.transform.position.y; if (Physics.Raycast(transform.position, transform.forward, out forwardhit, 50, 1, QueryTriggerInteraction.Ignore)) { if (hitForward.transform != transform) { Debug.DrawLine(transform.position, hitForward.point, Color.blue); if (!hitForward.collider.bounds.Contains((hitForward.point + gameObject.transform.forward * 50))) { Defult.transform.position = hitForward.point + gameObject.transform.forward * 50; gameObject.transform.position = new Vector3(gameObject.transform.position.x, 1, gameObject.transform.position.z); gameObject.transform.position = Defult.transform.position; } else { Defult.transform.position = hitForward.point; if (bounding.bounds.Contains(Defult.transform.position)) { gameObject.transform.position = Defult.transform.position; } else { Defult.transform.position = new Vector3(bounding.bounds.center.x, 1, bounding.bounds.center.z); gameObject.transform.position = new Vector3(bounding.bounds.center.x, 1, bounding.bounds.center.z); } } } } else { gameObject.transform.position = gameObject.transform.position + gameObject.transform.forward * 50; gameObject.transform.position = new Vector3(gameObject.transform.position.x, 1, gameObject.transform.position.z); if (bounding.bounds.Contains(Defult.transform.position)) { gameObject.transform.position = Defult.transform.position; } else { Defult.transform.position = new Vector3(bounding.bounds.center.x, 1, bounding.bounds.center.z); gameObject.transform.position = new Vector3(bounding.bounds.center.x, 1, bounding.bounds.center.z); } } My_Energy.Change(-20); My_Body.Ability2(); } } else if (attack == true) { if (target != Defult) { if (My_Energy.Amount >= 5) { if (AttackTimmer >= 1) { My_Body.Ability1(); target.GetComponent <Health>().Change(damage, target); My_Energy.Change(-5); AttackTimmer = 0; } else { AttackTimmer = AttackTimmer + Time.deltaTime; } } } else { attack = false; } } }