private Vector3 CalculateRandomError(Vector3 dir) { AI_Controller owner = UT_FindComponent.FindComponent <AI_Controller>(gameObject); if (owner == null) { return(dir); } SO_AI_Base bs = owner.GetBase(); if (!bs.mFireInaccurately) { return(dir); } // now find a random spread up to the max spread. float spread = Random.Range(0, bs.mInacRange); if (Random.value > 0.5f) { spread *= -1; } // now apply that spread to the bullets direction. Vector3 newDir = Quaternion.AngleAxis(spread, Vector3.up) * dir; return(newDir); }
public void HandleShooting() { SO_AI_Base bs = GetComponent <AI_Controller>().GetBase(); StartCoroutine(PlayDialogueDelayed(bs.mShootLine)); }