first version of enitites damageables weapons item and effects workflow

This commit is contained in:
Strieglitz
2025-03-09 23:56:19 +01:00
parent b90e0369bf
commit cb65c3a266
42 changed files with 263 additions and 180 deletions

View File

@@ -1,9 +1,20 @@
extends Node
class_name DamageHandler
extends Object
func apply_damage(damage_dealer: Entity, damage_receiver: Entity, weapon: Weapon ):
damage_receiver.get_armor()
damage_receiver.get
pass
var damage = weapon.get_damage() + damage_dealer.get_damage()
var armor = damage_receiver.get_armor()
var damage_percent = 90*( pow(MathUtils.e, 0.03*armor))
var damage_after_armor = damage * damage_percent
if damage_after_armor < 1 :
damage_after_armor = 1
var shield = damage_receiver.get_shield()
if shield > 0:
damage_receiver.reduce_shield(damage_after_armor)
else:
damage_receiver.reduce_health(damage_after_armor)
for effect in weapon.get_hit_effects():
effect.apply_effect(damage_dealer,damage_receiver)

3
singeltons/MathUtils.gd Normal file
View File

@@ -0,0 +1,3 @@
extends Object
var e = 2.718281828459045235360287471352