Enemy Damage

This commit is contained in:
MaddoScientisto 2025-06-21 18:54:14 +02:00
commit 7772f69cd3
12 changed files with 207 additions and 12 deletions

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=18 format=3 uid="uid://bh3vxmqflijgj"]
[gd_scene load_steps=22 format=3 uid="uid://bh3vxmqflijgj"]
[ext_resource type="Script" uid="uid://dwregubt4iila" path="res://Scripts/Components/FSM/Enemy/3D/EnemyProxy3D.cs" id="1_a3crc"]
[ext_resource type="Resource" uid="uid://ccym6mcq4fbul" path="res://Resources/Enemies/Fairy_Guard_3D.tres" id="2_jgarc"]
@ -15,6 +15,9 @@
[ext_resource type="Script" uid="uid://extjdng8nk6r" path="res://Scripts/Components/FSM/Enemy/3D/PlayerDetection3D.cs" id="13_rg1hb"]
[ext_resource type="Script" uid="uid://k5k8wf821ytg" path="res://Scripts/Components/FSM/Enemy/3D/NavigationProvider3D.cs" id="14_dm2sd"]
[ext_resource type="PackedScene" uid="uid://cfgc6ik8vb08c" path="res://Scenes/Weapons/BaseWeapon_3D.tscn" id="15_27vgy"]
[ext_resource type="Script" uid="uid://bvcfa6wivpgy1" path="res://Scripts/Components/FSM/Enemy/3D/EnemyDamageModule3D.cs" id="16_27vgy"]
[ext_resource type="Script" uid="uid://dmawekjfas6k8" path="res://Scripts/Components/Actors/DamageReceiver3D.cs" id="17_tabhk"]
[ext_resource type="Script" uid="uid://cqwvssstkrdmw" path="res://Scripts/Components/Actors/ActorResourceProvider.cs" id="18_4fnoq"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_jgarc"]
radius = 0.264547
@ -24,6 +27,10 @@ height = 0.935884
height = 1.91858
radius = 3.04834
[sub_resource type="CylinderShape3D" id="CylinderShape3D_uv2lf"]
height = 0.853027
radius = 0.426758
[node name="Enemy" type="CharacterBody3D" node_paths=PackedStringArray("EnemyFSM")]
collision_layer = 64
collision_mask = 17
@ -47,7 +54,7 @@ script = ExtResource("5_rg1hb")
Storage = NodePath("../../Storage")
PlayerDetection = NodePath("../../PlayerDetectionProvider")
DebugEnabled = true
_moduleNodes = [NodePath(""), NodePath(""), NodePath("")]
_moduleNodes = [NodePath("../../DamageModule")]
[node name="Alert" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "PlayerDetection", "NavigationModule", "_moduleNodes")]
script = ExtResource("6_jgarc")
@ -55,7 +62,7 @@ Storage = NodePath("../../Storage")
PlayerDetection = NodePath("../../PlayerDetectionProvider")
NavigationModule = NodePath("../../NavigationProvider")
DebugEnabled = true
_moduleNodes = [NodePath(""), NodePath("")]
_moduleNodes = [NodePath("../../DamageModule")]
[node name="Shooting" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "PlayerDetection", "EquippedWeapon", "NavigationModule", "_moduleNodes")]
script = ExtResource("7_rg1hb")
@ -63,7 +70,7 @@ Storage = NodePath("../../Storage")
PlayerDetection = NodePath("../../PlayerDetectionProvider")
EquippedWeapon = NodePath("../../Weapon")
NavigationModule = NodePath("../../NavigationProvider")
_moduleNodes = [NodePath(""), NodePath("")]
_moduleNodes = [NodePath("../../DamageModule")]
[node name="Dead" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage")]
script = ExtResource("8_5j04l")
@ -72,7 +79,7 @@ Storage = NodePath("../../Storage")
[node name="Controlled" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "_moduleNodes")]
script = ExtResource("9_dm2sd")
Storage = NodePath("../../Storage")
_moduleNodes = [NodePath("")]
_moduleNodes = [NodePath("../../DamageModule")]
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="." node_paths=PackedStringArray("EnemyProxy")]
pixel_size = 0.05
@ -108,6 +115,28 @@ debug_enabled = true
[node name="Weapon" parent="." instance=ExtResource("15_27vgy")]
[node name="DamageModule" type="Node" parent="." node_paths=PackedStringArray("DamageReceiver", "StorageModule")]
script = ExtResource("16_27vgy")
DamageReceiver = NodePath("../DamageReceiver")
StorageModule = NodePath("../Storage")
[node name="DamageReceiver" type="Area3D" parent="." node_paths=PackedStringArray("HealthProvider")]
collision_layer = 64
collision_mask = 8
script = ExtResource("17_tabhk")
HealthProvider = NodePath("HealthProvider")
BulletGroup = 2
DeleteParentOnDeath = false
[node name="CollisionShape3D" type="CollisionShape3D" parent="DamageReceiver"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00463867, 0)
shape = SubResource("CylinderShape3D_uv2lf")
[node name="HealthProvider" type="Node" parent="DamageReceiver"]
script = ExtResource("18_4fnoq")
ResourceName = "Health"
[connection signal="body_entered" from="PlayerDetectionProvider" to="PlayerDetectionProvider" method="_on_body_entered"]
[connection signal="body_exited" from="PlayerDetectionProvider" to="PlayerDetectionProvider" method="_on_body_exited"]
[connection signal="velocity_computed" from="NavigationAgent3D" to="NavigationProvider" method="_on_navigation_agent_3d_velocity_computed"]
[connection signal="area_entered" from="DamageReceiver" to="DamageReceiver" method="_on_damage_hitbox_area_entered"]