Enemy resource

This commit is contained in:
Marco 2025-03-20 11:15:37 +01:00
commit fff3ddc3cf
5 changed files with 136 additions and 0 deletions

View file

@ -0,0 +1,52 @@
[gd_resource type="Resource" script_class="EnemyResource" load_steps=14 format=3 uid="uid://cocl3qontm3be"]
[ext_resource type="Resource" uid="uid://ct1fa2huvy34n" path="res://Resources/Items/Ammo1.tres" id="1_q1ekm"]
[ext_resource type="Script" uid="uid://cq65aed620ijo" path="res://Scripts/Resources/Loot/LootDrop.cs" id="2_sxbtw"]
[ext_resource type="Resource" uid="uid://dy53gia1tmkah" path="res://Resources/Items/Points_Pickup.tres" id="3_ppsgt"]
[ext_resource type="Resource" uid="uid://bhbufxodybsw4" path="res://Resources/Items/Shield_Pickup.tres" id="4_6iugy"]
[ext_resource type="Resource" uid="uid://dodwpect0ldjf" path="res://Resources/Items/Heart_Pickup.tres" id="5_4s7dw"]
[ext_resource type="Resource" uid="uid://clr1gln7nxa1o" path="res://Resources/Items/Power_Pickup.tres" id="6_qvgac"]
[ext_resource type="Resource" uid="uid://cdfmedtgp2rcn" path="res://Resources/Weapons/EnemyWeapon.tres" id="7_xkg5o"]
[ext_resource type="Script" uid="uid://cd5o0ceb50jki" path="res://Scripts/Resources/EnemyResource.cs" id="8_241b0"]
[sub_resource type="Resource" id="Resource_c8nix"]
script = ExtResource("2_sxbtw")
Item = ExtResource("1_q1ekm")
Chance = 40.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_gs2l3"]
script = ExtResource("2_sxbtw")
Item = ExtResource("3_ppsgt")
Chance = 10.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_sqnvg"]
script = ExtResource("2_sxbtw")
Item = ExtResource("4_6iugy")
Chance = 5.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_5tyar"]
script = ExtResource("2_sxbtw")
Item = ExtResource("5_4s7dw")
Chance = 5.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_48xq6"]
script = ExtResource("2_sxbtw")
Item = ExtResource("6_qvgac")
Chance = 6.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[resource]
script = ExtResource("8_241b0")
EnemyName = &"Fairy"
EnemyKey = &"FAIRY_BASE"
PrefabPath = &"res://Scenes/Actors/Fairy_New.tscn"
MaxHealth = 2.0
Weapon = ExtResource("7_xkg5o")
LootDrops = Array[Object]([SubResource("Resource_c8nix"), SubResource("Resource_gs2l3"), SubResource("Resource_sqnvg"), SubResource("Resource_5tyar"), SubResource("Resource_48xq6")])
AlarmReactRange = 200.0
PlayerDisengageRange = 500.0
metadata/_custom_type_script = "uid://cd5o0ceb50jki"

View file

@ -0,0 +1,52 @@
[gd_resource type="Resource" script_class="EnemyResource" load_steps=14 format=3 uid="uid://qbo6avc7x64b"]
[ext_resource type="Script" uid="uid://cd5o0ceb50jki" path="res://Scripts/Resources/EnemyResource.cs" id="1_p31tv"]
[ext_resource type="Resource" uid="uid://ct1fa2huvy34n" path="res://Resources/Items/Ammo1.tres" id="1_u7yd8"]
[ext_resource type="Script" uid="uid://cq65aed620ijo" path="res://Scripts/Resources/Loot/LootDrop.cs" id="2_ivudp"]
[ext_resource type="Resource" uid="uid://dy53gia1tmkah" path="res://Resources/Items/Points_Pickup.tres" id="3_n54y5"]
[ext_resource type="Resource" uid="uid://bhbufxodybsw4" path="res://Resources/Items/Shield_Pickup.tres" id="4_78cwo"]
[ext_resource type="Resource" uid="uid://dodwpect0ldjf" path="res://Resources/Items/Heart_Pickup.tres" id="5_0pbok"]
[ext_resource type="Resource" uid="uid://clr1gln7nxa1o" path="res://Resources/Items/Power_Pickup.tres" id="6_bun8b"]
[ext_resource type="Resource" uid="uid://cdfmedtgp2rcn" path="res://Resources/Weapons/EnemyWeapon.tres" id="7_xlxdc"]
[sub_resource type="Resource" id="Resource_c8nix"]
script = ExtResource("2_ivudp")
Item = ExtResource("1_u7yd8")
Chance = 40.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_gs2l3"]
script = ExtResource("2_ivudp")
Item = ExtResource("3_n54y5")
Chance = 10.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_sqnvg"]
script = ExtResource("2_ivudp")
Item = ExtResource("4_78cwo")
Chance = 5.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_5tyar"]
script = ExtResource("2_ivudp")
Item = ExtResource("5_0pbok")
Chance = 5.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[sub_resource type="Resource" id="Resource_48xq6"]
script = ExtResource("2_ivudp")
Item = ExtResource("6_bun8b")
Chance = 6.0
metadata/_custom_type_script = "uid://cq65aed620ijo"
[resource]
script = ExtResource("1_p31tv")
EnemyName = &"Fairy Guard"
EnemyKey = &"FAIRY_GUARD"
PrefabPath = &"res://Scenes/Actors/FairyGuard_New.tscn"
MaxHealth = 4.0
Weapon = ExtResource("7_xlxdc")
LootDrops = Array[Object]([SubResource("Resource_c8nix"), SubResource("Resource_gs2l3"), SubResource("Resource_sqnvg"), SubResource("Resource_5tyar"), SubResource("Resource_48xq6")])
AlarmReactRange = 200.0
PlayerDisengageRange = 500.0
metadata/_custom_type_script = "uid://cd5o0ceb50jki"

View file

@ -0,0 +1,9 @@
namespace Cirno.Scripts.Enums;
public enum DifficultyLevel
{
Easy,
Normal,
Hard,
Lunatic
}

View file

@ -0,0 +1,22 @@
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; }
[Export] public DamageResistance Resistances { get; private set; }
[Export] public WeaponResource Weapon { get; private set; }
[Export] public Array<LootDrop> LootDrops { get; private set; }
[ExportCategory("AI")]
[Export] public float AlarmReactRange { get; private set; }
[Export] public float PlayerDisengageRange { get; private set; }
}

View file

@ -0,0 +1 @@
uid://cd5o0ceb50jki