This commit is contained in:
Marek Lenczewski
2026-04-04 00:00:15 +02:00
parent 3488856b91
commit f1d34ebf1d
104 changed files with 1912 additions and 1789 deletions

View File

@@ -14,14 +14,16 @@ func _ready() -> void:
func _on_enemy_detected(enemy: Node, player: Node) -> void:
if not enemy.is_in_group("enemies"):
return
if "state" in enemy:
if enemy.state == enemy.State.CHASE or enemy.state == enemy.State.ATTACK:
var data_source: Node = tracker._get_data_source(enemy)
if data_source:
var state: int = data_source.get_stat(enemy, "state")
if state == 1 or state == 2:
return
tracker.add_player_in_range(enemy, player)
tracker.add_aggro(enemy, player, 1.0)
if "state" in enemy:
enemy.target = player
enemy.state = enemy.State.CHASE
if data_source:
data_source.set_stat(enemy, "target", player)
data_source.set_stat(enemy, "state", 1)
EventBus.enemy_engaged.emit(enemy, player)
decay.alert_nearby(enemy, player)
@@ -33,8 +35,7 @@ func _on_damage_dealt(attacker: Node, target: Node, amount: float) -> void:
return
decay.reset_combat_timer(attacker)
var multiplier := 1.0
var role: Node = attacker.get_node_or_null("Role")
if role and role.current_role == 0:
if PlayerData.current_role == PlayerData.Role.TANK:
multiplier = config.tank_multiplier
var aggro: float = amount * multiplier
tracker.add_aggro(target, attacker, aggro)