using Godot; using System; public partial class ai_fighter : ship { [Signal] public delegate void OnDeathEventHandler(int factionInt); [Export] public float AggroRange = 500f; [Export] public int ScorePayout = 50; [Export] public float EngageDistance = 300f; public bool SignalsConnected { get; set; } = false; private CollisionShape2D _hitbox; public float HitboxModifier = 1f; private Label _healthLabel; private Label _hpLabel; //retreat logic private float _previousDistance; private float _stuckTime; private const float StuckThreshold = 0.5f; private const float DistanceTolerance = 5f; private Node2D _currentTarget; public override void _Ready() { _hitbox = GetNode("CollisionShape2D"); _hitbox.Scale = new Vector2(HitboxModifier, HitboxModifier); SetShipStats(); SetupVisual(); Sprite.Texture = GD.Load(SpritePath); _healthLabel = GetNode