Good morning guys, so I’m trying to make the player’s ammo do critical damage.
So I made this code:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Munição : MonoBehaviour
{
[SerializeField] float Speed;
public int Dano = 1;
public ParticleSystem Explosao_Tiro1;
public float danoCritico;
void Update()
{
transform.Translate(Vector3.up * Time.deltaTime * Speed);
}
void OnCollisionEnter2D(Collision2D collision)
{
if(collision.gameObject.CompareTag("Inimigo"))
{
ChamarRandom();
Destroy(gameObject);
Instantiate(Explosao_Tiro1, transform.position, Quaternion.identity);
}
if(collision.gameObject.CompareTag("Parede"))
{
Destroy(gameObject);
Instantiate(Explosao_Tiro1, transform.position, Quaternion.identity);
}
if(collision.gameObject.CompareTag("MuniçaoInimigo"))
{
Destroy(gameObject);
Instantiate(Explosao_Tiro1, transform.position, Quaternion.identity);
}
}
void ChamarRandom()
{
float randDroop = Random.Range (1, 100);
if (randDroop <= danoCritico)
{
StartCoroutine("Critico");
}
}
IEnumerator Critico()
{
Dano *= 2;
yield return new WaitForSeconds(5f);
Dano = 1;
}
}
But it didn’t work, does anyone have any idea why it didn’t work?
Thank you very much in advance ![]()