2025-03-20 11:15:37 +01:00
|
|
|
|
using Cirno.Scripts.Resources.Loot;
|
|
|
|
|
|
using Godot;
|
|
|
|
|
|
using Godot.Collections;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Cirno.Scripts.Resources;
|
|
|
|
|
|
|
|
|
|
|
|
[GlobalClass]
|
|
|
|
|
|
public partial class EnemyResource : Resource
|
|
|
|
|
|
{
|
|
|
|
|
|
[Export] public StringName EnemyName { get; private set; }
|
|
|
|
|
|
[Export] public StringName EnemyKey { get; private set; }
|
|
|
|
|
|
[Export] public StringName PrefabPath { get; private set; }
|
|
|
|
|
|
[Export] public float MaxHealth { get; private set; }
|
2025-03-20 11:34:48 +01:00
|
|
|
|
[Export] public float MovementSpeed { get; private set; } = 20f;
|
2025-03-20 11:15:37 +01:00
|
|
|
|
[Export] public DamageResistance Resistances { get; private set; }
|
|
|
|
|
|
[Export] public WeaponResource Weapon { get; private set; }
|
2025-03-21 16:03:44 +01:00
|
|
|
|
|
|
|
|
|
|
[Export] public Array<LootDrop> LootDrops { get; private set; } = [];
|
2025-03-20 18:22:40 +01:00
|
|
|
|
|
|
|
|
|
|
[ExportCategory("AI")] [Export] public float PlayerDetectionRange { get; private set; } = 90f;
|
2025-03-21 10:30:44 +01:00
|
|
|
|
[Export] public float ViewRange { get; private set; } = 120f;
|
2025-03-20 11:15:37 +01:00
|
|
|
|
[Export] public float AlarmReactRange { get; private set; }
|
|
|
|
|
|
[Export] public float PlayerDisengageRange { get; private set; }
|
|
|
|
|
|
}
|