void Awake() { if (SceneManager.GetActiveScene().name == "Jogo") { DisparadordeSons = GameObject.Find("EfeitoSonoro").GetComponent <AudioSource>(); } Dano = GetComponent <DanoArma>(); }
void OnTriggerEnter(Collider other) { switch (Principal.tag) { case "Player": if (!Principal.GetComponent <ControleDeAnimacao>().Atacando&& GetComponent <NivelArma>().arma != Dados.Armas.Arco && GetComponent <NivelArma>().arma != Dados.Armas.Cajado) { return; } if (other.CompareTag("Enemy")) { ControleDeArmas ctrArma = Principal.GetComponent <ControleDeArmas>(); DanoArma danoArma = GetComponent <DanoArma>(); Atributos atb = other.GetComponent <Atributos>(); DisparadordeSons.PlayOneShot(SomDano); int danoCalculado = (int)(danoArma.Dano * ctrArma.multi); if (atb.Especialidade == ctrArma.arma) { danoCalculado = (int)(danoArma.Dano * atb.multiEspecialidade); } float variacao = Random.Range(.9f, 1.1f); atb.CausarDano((int)(danoCalculado * variacao)); } break; case "Enemy": if (!Principal.GetComponent <ControledeAnimacaoInimigo>().Atacando) { return; } if (other.CompareTag("Player")) { danoArma = GetComponent <DanoArma>(); atb = other.GetComponent <Atributos>(); DisparadordeSons.PlayOneShot(SomDano); int danoCalculado = (int)(danoArma.Dano); float variacao = Random.Range(.9f, 1.1f); atb.CausarDano((int)(danoCalculado * variacao)); } break; } }