private void OnTriggerEnter(Collider other) { PlayerStats playerStats = other.GetComponent <PlayerStats>(); if (playerStats != null) { playerStats.TakeDamage(damage); } }
private void OnTriggerEnter(Collider collision) { if (collision.tag == "Player") { PlayerStats playerStats = collision.GetComponent <PlayerStats>(); CharacterManager enemyCharacterManager = collision.GetComponent <CharacterManager>(); BlockingCollider shield = collision.transform.GetComponentInChildren <BlockingCollider>(); if (enemyCharacterManager != null) { if (enemyCharacterManager.isParrying) { // play animation characterManager.GetComponentInChildren <AnimatorManager>().PlayTargetAnimation("Parried", true); return; } else if (shield != null && enemyCharacterManager.isBlocking) { float physicalDamageAfterBlock = currentWeaponDamage - (currentWeaponDamage * shield.blockingPhysicalDamageAbsorption) / 100; if (playerStats != null) { playerStats.TakeDamage(Mathf.RoundToInt(physicalDamageAfterBlock), "Block Guard"); return; } } } if (playerStats != null) { playerStats.TakeDamage(currentWeaponDamage); } } if (collision.tag == "Enemy") { EnemyStats enemyStats = collision.GetComponent <EnemyStats>(); CharacterManager enemyCharacterManager = collision.GetComponent <CharacterManager>(); BlockingCollider shield = collision.transform.GetComponentInChildren <BlockingCollider>(); if (enemyCharacterManager != null) { if (enemyCharacterManager.isParrying) { // play animation characterManager.GetComponentInChildren <EnemyAnimatorManager>().PlayTargetAnimation("Parried", true); return; } else if (shield != null && enemyCharacterManager.isBlocking) { float physicalDamageAfterBlock = currentWeaponDamage - (currentWeaponDamage * shield.blockingPhysicalDamageAbsorption) / 100; if (enemyStats != null) { enemyStats.TakeDamage(Mathf.RoundToInt(physicalDamageAfterBlock), "Block Guard"); return; } } } if (enemyStats != null) { enemyStats.TakeDamage(currentWeaponDamage); } } if (collision.tag == "Hidden Wall") { HiddenWall hiddenWall = collision.GetComponent <HiddenWall>(); hiddenWall.wallHasBeenHit = true; } }