void OnCollisionEnter(Collision other) { Health health = other.gameObject.GetComponentInParent <Health>(); if (health != null) { health.DealDamage(10); explosion.transform.SetParent(null); explosion.transform.position = other.contacts[0].point + (transform.position - other.transform.position).normalized * .25f; explosion.Play(); Instantiate(explosionAudioPrefab, transform.position, Quaternion.identity); Destroy(explosion, 2); Destroy(gameObject); Knockback knockback = health.GetComponent <Knockback>(); if (knockback) { knockback.DoKnockback(initialVelocity.normalized); } } else { rb.useGravity = true; } }
public override void DoDamage(Transform damager, int damage) { base.DoDamage(damager, damage); if (lungeTween != null) { lungeTween.Kill(); } knockback.DoKnockback(GetComponentInChildren <MonsterDamager>().transform.position - damager.position); }
public void DoDamage(Transform damager, float damage) { shine -= damage; StartCoroutine(DisableMovement()); knockback.DoKnockback(transform.position - damager.position); }