feat: further ninja implementation
This commit is contained in:
parent
edf06623b3
commit
524430003f
7 changed files with 120 additions and 28 deletions
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
[ext_resource type="PackedScene" uid="uid://hirlnhjbqv2u" path="res://assets/characters/bot.blend" id="1_fssyu"]
|
||||
[ext_resource type="Script" uid="uid://bm6unenoiyy5h" path="res://behaviours/follow_target.gd" id="2_klwnj"]
|
||||
[ext_resource type="Script" uid="uid://b2s7gavo263mo" path="res://behaviours/npc_idle.gd" id="3_klwnj"]
|
||||
[ext_resource type="Script" uid="uid://bp4utstetxnhr" path="res://behaviours/animate.gd" id="3_klwnj"]
|
||||
[ext_resource type="PackedScene" uid="uid://deuif6d8spece" path="res://objects/awareness_area.tscn" id="3_tpgvx"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_klwnj"]
|
||||
|
|
@ -20,6 +20,31 @@ func _physics_process(delta : float):
|
|||
move_and_slide()
|
||||
"
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_jh7vn"]
|
||||
resource_name = "EnemyInPlayerRange"
|
||||
script/source = "extends BehaviourAction
|
||||
|
||||
@onready var body := get_behaviour_tree().get_parent() as CharacterBody3D
|
||||
|
||||
func _enter() -> int:
|
||||
return Fail if body.find_targets().is_empty() else Success
|
||||
"
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_exeof"]
|
||||
resource_name = "SelectHidingSpot"
|
||||
script/source = "extends BehaviourAction
|
||||
|
||||
var body := get_behaviour_tree().get_parent() as CharacterBody3D
|
||||
|
||||
func _enter() -> int:
|
||||
var spot : Node3D = body.get_hiding_spot()
|
||||
if spot:
|
||||
body.target = spot
|
||||
return Success
|
||||
else:
|
||||
return Fail
|
||||
"
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_tpgvx"]
|
||||
resource_name = "SelectPlayer"
|
||||
script/source = "extends BehaviourAction
|
||||
|
|
@ -37,7 +62,7 @@ albedo_color = Color(0.4745098, 0.16862746, 0.61960787, 1)
|
|||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_lyptg"]
|
||||
radius = 0.30273438
|
||||
|
||||
[node name="bot" unique_id=1341242765 instance=ExtResource("1_fssyu")]
|
||||
[node name="Ninja" unique_id=1341242765 instance=ExtResource("1_fssyu")]
|
||||
script = SubResource("GDScript_klwnj")
|
||||
|
||||
[node name="BehaviourTree" type="BehaviourTree" parent="." index="0" unique_id=1843075231]
|
||||
|
|
@ -46,18 +71,29 @@ script = SubResource("GDScript_klwnj")
|
|||
|
||||
[node name="BehaviourSelector" type="BehaviourSelector" parent="BehaviourTree/BehaviourRepeater" index="0" unique_id=487995934]
|
||||
|
||||
[node name="FollowPlayer" type="BehaviourSequence" parent="BehaviourTree/BehaviourRepeater/BehaviourSelector" index="0" unique_id=1977466711]
|
||||
[node name="SequenceCombat" type="BehaviourSequence" parent="BehaviourTree/BehaviourRepeater/BehaviourSelector" index="0" unique_id=664462649]
|
||||
|
||||
[node name="SelectPlayer" type="BehaviourAction" parent="BehaviourTree/BehaviourRepeater/BehaviourSelector/FollowPlayer" index="0" unique_id=92830272]
|
||||
[node name="EnemyInPlayerRange" type="BehaviourAction" parent="BehaviourTree/BehaviourRepeater/BehaviourSelector/SequenceCombat" index="0" unique_id=1499130003]
|
||||
script = SubResource("GDScript_jh7vn")
|
||||
|
||||
[node name="SelectHidingSpot" type="BehaviourAction" parent="BehaviourTree/BehaviourRepeater/BehaviourSelector/SequenceCombat" index="1" unique_id=1743644615]
|
||||
script = SubResource("GDScript_exeof")
|
||||
|
||||
[node name="SequenceFollowPlayer" type="BehaviourSequence" parent="BehaviourTree/BehaviourRepeater/BehaviourSelector" index="1" unique_id=1977466711]
|
||||
|
||||
[node name="SelectPlayer" type="BehaviourAction" parent="BehaviourTree/BehaviourRepeater/BehaviourSelector/SequenceFollowPlayer" index="0" unique_id=92830272]
|
||||
script = SubResource("GDScript_tpgvx")
|
||||
|
||||
[node name="FollowTarget" type="BehaviourAction" parent="BehaviourTree/BehaviourRepeater/BehaviourSelector/FollowPlayer" index="1" unique_id=282888066]
|
||||
[node name="FollowTarget" type="BehaviourAction" parent="BehaviourTree/BehaviourRepeater/BehaviourSelector/SequenceFollowPlayer" index="1" unique_id=282888066]
|
||||
script = ExtResource("2_klwnj")
|
||||
target_distance = 3.0
|
||||
|
||||
[node name="Idle" type="BehaviourAction" parent="BehaviourTree/BehaviourRepeater/BehaviourSelector" index="1" unique_id=1038185599]
|
||||
[node name="Idle" type="BehaviourAction" parent="BehaviourTree/BehaviourRepeater/BehaviourSelector" index="2" unique_id=1038185599]
|
||||
script = ExtResource("3_klwnj")
|
||||
animation_name = "duck"
|
||||
anim_name = "duck"
|
||||
allow_interrupt = false
|
||||
wait_for_finish = false
|
||||
blend = 0.2
|
||||
|
||||
[node name="Mesh" parent="Character/Skeleton3D" parent_id_path=PackedInt32Array(750883464) index="0" unique_id=233192374]
|
||||
material_override = SubResource("StandardMaterial3D_lyptg")
|
||||
|
|
@ -70,6 +106,9 @@ root_motion_track = NodePath("Character/Skeleton3D:root")
|
|||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
shape = SubResource("CapsuleShape3D_lyptg")
|
||||
|
||||
[node name="AwarenessArea" parent="." index="4" unique_id=986494999 instance=ExtResource("3_tpgvx")]
|
||||
[node name="HidingSpotAwareness" parent="." index="4" unique_id=986494999 instance=ExtResource("3_tpgvx")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.92650235, 0)
|
||||
target_group = "HidingSpot"
|
||||
|
||||
[editable path="HidingSpotAwareness"]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue