Workaround for beast getting stuck on links

This commit is contained in:
Rob Kelly 2025-04-18 10:10:35 -06:00
parent ac811c354a
commit 4b7eefba74
2 changed files with 8 additions and 3 deletions

View File

@ -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")

View File

@ -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"]