public float Noise(Enemy enemy, float noiseFactor = .5f) { // TODO: Fill in float clothesFactor = 1; if (HasClothes()) { clothesFactor *= clothes.GetNoiseModifier(); } float distNoiseMod = 1 / Mathf.Pow(((this.transform.position - enemy.transform.position).magnitude), 2f); // Reduce by half when behind a wall float coverNoiseMod = 1f; RaycastHit hit; if (Physics.Raycast(enemy.transform.position, transform.position - enemy.transform.position, out hit)) { if (hit.transform != transform) { coverNoiseMod = 0.5f; } } return(distNoiseMod * noiseFactor * clothesFactor * coverNoiseMod * numBees); }