first version of enitites damageables weapons item and effects workflow
This commit is contained in:
@@ -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
3
singeltons/MathUtils.gd
Normal file
@@ -0,0 +1,3 @@
|
||||
extends Object
|
||||
|
||||
var e = 2.718281828459045235360287471352
|
||||
Reference in New Issue
Block a user