This commit is contained in:
Marek Le
2026-03-30 09:03:29 +02:00
parent 80a65fa555
commit 4fddc74df1
31 changed files with 295 additions and 153 deletions

View File

@@ -9,6 +9,7 @@ enum Type { SINGLE, AOE, UTILITY, ULT, PASSIVE }
@export var ability_range: float = 3.0
@export var cooldown: float = 0.0
@export var uses_gcd: bool = true
@export var aoe_radius: float = 0.0
@export var icon: String = ""
func execute(player: Node, targeting: Node) -> bool:
@@ -69,12 +70,13 @@ func _execute_ult(player: Node, targeting: Node, dmg: float) -> bool:
if not _in_range(player, targeting):
return false
var target: Node3D = targeting.current_target
EventBus.damage_requested.emit(player, target, dmg * 4.0)
EventBus.damage_requested.emit(player, target, dmg * 5.0)
var aoe_range: float = aoe_radius if aoe_radius > 0 else ability_range
var enemies := player.get_tree().get_nodes_in_group("enemies")
for enemy in enemies:
if enemy != target:
var enemy_dist: float = target.global_position.distance_to(enemy.global_position)
if enemy_dist <= ability_range:
if enemy_dist <= aoe_range:
EventBus.damage_requested.emit(player, enemy, dmg * 2.0)
EventBus.attack_executed.emit(player, player.global_position, -player.global_transform.basis.z, dmg * 4.0)
EventBus.attack_executed.emit(player, player.global_position, -player.global_transform.basis.z, dmg * 5.0)
return true