From 4b7eefba74660f0f4088ecbdc24413b6a4873f67 Mon Sep 17 00:00:00 2001 From: Rob Kelly Date: Fri, 18 Apr 2025 10:10:35 -0600 Subject: [PATCH] Workaround for beast getting stuck on links --- src/world/grunk_beast/behaviors/actions/pursue_target.gd | 7 ++++++- src/world/grunk_beast/grunk_beast.tscn | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/world/grunk_beast/behaviors/actions/pursue_target.gd b/src/world/grunk_beast/behaviors/actions/pursue_target.gd index c74ba20..29f1749 100644 --- a/src/world/grunk_beast/behaviors/actions/pursue_target.gd +++ b/src/world/grunk_beast/behaviors/actions/pursue_target.gd @@ -10,7 +10,12 @@ class_name PursueTarget extends ActionLeaf @onready var nav_agent: NavigationAgent3D = %NavAgent -func tick(_actor: Node, blackboard: Blackboard) -> int: +func tick(actor: Node, blackboard: Blackboard) -> int: + # Bug workaround -- do not update nav target while inside a link! + var beast := actor as GrunkBeast + if beast.traversing_link: + return RUNNING + var target: Variant = blackboard.get_value(blackboard_key) if target is Vector3: @warning_ignore("unsafe_cast") diff --git a/src/world/grunk_beast/grunk_beast.tscn b/src/world/grunk_beast/grunk_beast.tscn index aec79aa..d94ed0f 100644 --- a/src/world/grunk_beast/grunk_beast.tscn +++ b/src/world/grunk_beast/grunk_beast.tscn @@ -226,7 +226,7 @@ metadata/_custom_type_script = "uid://om57w2acvgb7" script = ExtResource("11_mbqcc") mean_time = 4.0 st_dev_time = 0.6 -wait_time = 3.46282 +wait_time = 3.81954 metadata/_custom_type_script = "uid://beyk2xtbjrsg4" [node name="RandomStalkingBehavior" type="Node" parent="GrunkBeastBehavior/StateSelector/StalkingSequence/RandomDelay"] @@ -272,7 +272,7 @@ metadata/_custom_type_script = "uid://cg016dbe7gs1x" script = ExtResource("11_mbqcc") mean_time = 5.0 st_dev_time = 1.0 -wait_time = 6.74762 +wait_time = 6.2286 metadata/_custom_type_script = "uid://beyk2xtbjrsg4" [node name="PickRandomLurkTarget" type="Node" parent="GrunkBeastBehavior/StateSelector/LurkSequence/RandomDelay"]