game: add weapon mod system

This commit is contained in:
2025-08-21 19:49:07 +02:00
parent 3e12c386c2
commit 1d75a850bf
5 changed files with 71 additions and 5 deletions

View File

@@ -44,12 +44,13 @@ func _do_active() -> void:
func deal_damage(enemy: EnemyBase, damage_mult: float):
var crit_chance = _player.player_stats.get_final("crit_chance", _player.modifiers)
var damage_dealt = attack_damage * damage_mult
var is_crit = randf() >= 1 - crit_chance
var weapon_crit = get_calculated("attack_crit_chance")
var player_crit = _player.player_stats.get_final("crit_chance", _player.modifiers)
var damage = get_calculated("attack_damage")
var is_crit = randf() >= 1 - weapon_crit + player_crit
if is_crit:
damage_dealt *= _player.player_stats.get_final("crit_multiplier", _player.modifiers)
enemy.take_damage(damage_dealt, is_crit)
damage *= _player.player_stats.get_final("crit_multiplier", _player.modifiers)
enemy.take_damage(damage * damage_mult, is_crit)
func _on_projectile_hit(projectile: WeaponSwordProjectile, enemy: EnemyBase, damage_mult: float):