Refactor WeaponStats and related classes to include attack speed, range, and damage type; update damage calculations for melee and ranged attacks

This commit is contained in:
2025-07-11 22:09:15 +02:00
parent 9261b9f00f
commit 57896441ab
6 changed files with 31 additions and 18 deletions

View File

@@ -8,18 +8,18 @@ namespace Weapons
{
public class MeleeAttack : Weapon, IWeapon
{
[SerializeField] private float range = 1f;
[SerializeField] private LayerMask targetMask;
public override void Fire()
{
var hits = Physics2D.OverlapCircleAll(transform.position, range, targetMask);
var finalRange = GetFinalRange();
var hits = Physics2D.OverlapCircleAll(transform.position, finalRange, targetMask);
foreach (var hit in hits)
{
hit.TryGetComponent<Health>(out var health);
if (hit.gameObject == character.gameObject) continue;
var damage = weaponStats.Damage + character.attributes.Damage * character.attributes.MeleeDamage;
var damage = GetFinalDamage();
health.TakeDamage(damage);
}
}