diff --git a/asset_dev/beast/slutch/slutch.blend b/asset_dev/beast/slutch/slutch.blend index 68898a9..6cd4a3a 100644 Binary files a/asset_dev/beast/slutch/slutch.blend and b/asset_dev/beast/slutch/slutch.blend differ diff --git a/asset_dev/beast/slutch/slutch.blend1 b/asset_dev/beast/slutch/slutch.blend1 index a119c12..c76a56a 100644 Binary files a/asset_dev/beast/slutch/slutch.blend1 and b/asset_dev/beast/slutch/slutch.blend1 differ diff --git a/assets/npc/slutch_beast/slutch.bin b/assets/npc/slutch_beast/slutch.bin index add4195..ea920a3 100644 Binary files a/assets/npc/slutch_beast/slutch.bin and b/assets/npc/slutch_beast/slutch.bin differ diff --git a/assets/npc/slutch_beast/slutch.gltf b/assets/npc/slutch_beast/slutch.gltf index 51b8b4d..815370d 100644 --- a/assets/npc/slutch_beast/slutch.gltf +++ b/assets/npc/slutch_beast/slutch.gltf @@ -28,9 +28,9 @@ "mesh":1, "name":"FaceNodule", "translation":[ - -0.25755488872528076, - 1.3063514232635498, - -0.29665297269821167 + -0.17057561874389648, + 1.6081464290618896, + 0.21613556146621704 ] }, { @@ -38,17 +38,17 @@ "name":"Nodule.001", "translation":[ 0.3235247731208801, - 0.9696184992790222, - 0.08157177269458771 + 1.1926970481872559, + 0.46364104747772217 ] }, { "mesh":3, "name":"Nodule.002", "translation":[ - -0.025791287422180176, - 0.6830007433891296, - 0.010160116478800774 + -0.02579129859805107, + 0.960591197013855, + 0.2809494137763977 ] }, { @@ -56,8 +56,8 @@ "name":"Nodule.003", "translation":[ -0.41702041029930115, - 0.8321946859359741, - 0.32163435220718384 + 0.9688977003097534, + 0.6262117028236389 ] }, { @@ -65,8 +65,8 @@ "name":"Nodule.004", "translation":[ 0.5003674030303955, - 1.2441285848617554, - -0.20342206954956055 + 1.5599497556686401, + 0.3163224160671234 ] }, { @@ -74,8 +74,8 @@ "name":"Nodule.005", "translation":[ 0.3826490342617035, - 1.4056977033615112, - 0.16940319538116455 + 1.554377555847168, + 0.7226130962371826 ] }, { @@ -83,8 +83,8 @@ "name":"Nodule", "translation":[ 0.4212178587913513, - 0.9415113925933838, - -0.502720057964325 + 1.4067257642745972, + -0.08076554536819458 ] } ], @@ -201,7 +201,7 @@ "count":326, "max":[ 1.618986964225769, - 2.0478501319885254, + 2.300966739654541, 1.716138243675232 ], "min":[ @@ -234,14 +234,14 @@ "componentType":5126, "count":174, "max":[ - 0.23762282729148865, - 0.20167696475982666, - 0.18547290563583374 + 0.2763219177722931, + 0.2834518849849701, + 0.23855793476104736 ], "min":[ - -0.2717793583869934, - -0.3451462388038635, - -0.32205337285995483 + -0.38596513867378235, + -0.3979562222957611, + -0.48880502581596375 ], "type":"VEC3" }, @@ -269,13 +269,13 @@ "count":60, "max":[ 0.2022053599357605, - 0.16918832063674927, - 0.19656305015087128 + 0.20177102088928223, + 0.19349539279937744 ], "min":[ - -0.2022053450345993, - -0.16918843984603882, - -0.19656309485435486 + -0.2022053599357605, + -0.20177114009857178, + -0.19349545240402222 ], "type":"VEC3" }, @@ -303,13 +303,13 @@ "count":60, "max":[ 0.27359873056411743, - 0.26625341176986694, - 0.23749792575836182 + 0.2665247917175293, + 0.26808565855026245 ], "min":[ - -0.27359873056411743, - -0.2662535011768341, - -0.23749792575836182 + -0.2735987901687622, + -0.26652491092681885, + -0.26808562874794006 ], "type":"VEC3" }, @@ -337,13 +337,13 @@ "count":60, "max":[ 0.16585636138916016, - 0.1689516305923462, - 0.17375069856643677 + 0.16951501369476318, + 0.18974971771240234 ], "min":[ -0.16585639119148254, - -0.16895174980163574, - -0.17375071346759796 + -0.16951489448547363, + -0.18974965810775757 ], "type":"VEC3" }, @@ -371,13 +371,13 @@ "count":60, "max":[ 0.07109105587005615, - 0.062039852142333984, - 0.06739750504493713 + 0.06617152690887451, + 0.06380155682563782 ], "min":[ -0.07109105587005615, - -0.062039852142333984, - -0.06739750504493713 + -0.06617176532745361, + -0.06380161643028259 ], "type":"VEC3" }, @@ -404,14 +404,14 @@ "componentType":5126, "count":60, "max":[ - 0.0909624993801117, - 0.07769286632537842, - 0.08200663328170776 + 0.0909624695777893, + 0.08616113662719727, + 0.0779794454574585 ], "min":[ - -0.09096261858940125, - -0.07769310474395752, - -0.08200664073228836 + -0.09096258878707886, + -0.08616113662719727, + -0.07797938585281372 ], "type":"VEC3" }, @@ -439,13 +439,13 @@ "count":60, "max":[ 0.1606079339981079, - 0.14889538288116455, - 0.1551172137260437 + 0.15267109870910645, + 0.17389386892318726 ], "min":[ -0.1606079339981079, - -0.14889538288116455, - -0.15511709451675415 + -0.15267133712768555, + -0.17389383912086487 ], "type":"VEC3" }, diff --git a/src/ui/hud/player_hud.tscn b/src/ui/hud/player_hud.tscn index 1423dac..5e3cd4f 100644 --- a/src/ui/hud/player_hud.tscn +++ b/src/ui/hud/player_hud.tscn @@ -215,10 +215,10 @@ anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 -offset_left = -400.86 -offset_top = -300.741 -offset_right = -400.86 -offset_bottom = -300.741 +offset_left = -400.102 +offset_top = -298.829 +offset_right = -400.102 +offset_bottom = -298.829 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("4_ud8na") @@ -235,6 +235,7 @@ offset_left = -208.0 offset_right = 1008.0 offset_bottom = 253.0 grow_horizontal = 2 +mouse_filter = 2 theme_type_variation = &"AlertLabel" [node name="AlertLine1" type="Label" parent="AlertHUD/Rumbler/GrunkAlert2"] diff --git a/src/world/grunk_beast/behaviors/actions/update_stalking_target.gd b/src/world/grunk_beast/behaviors/actions/update_stalking_target.gd new file mode 100644 index 0000000..220b4d6 --- /dev/null +++ b/src/world/grunk_beast/behaviors/actions/update_stalking_target.gd @@ -0,0 +1,17 @@ +@tool +class_name UpdateStalkingTarget extends ActionLeaf +## Copy the pursuit target to the stalking target during pursuit. + +const SOURCE_KEY := "pursuit_target" +const DEST_KEY := "stalking_target" + +@onready var stalking_timer: Timer = %StalkingTimer + + +func tick(_actor: Node, blackboard: Blackboard) -> int: + var target := blackboard.get_value(SOURCE_KEY) as Node3D + if not is_instance_valid(target): + return FAILURE + blackboard.set_value(DEST_KEY, target.global_position) + stalking_timer.start() + return SUCCESS diff --git a/src/world/grunk_beast/behaviors/actions/update_stalking_target.gd.uid b/src/world/grunk_beast/behaviors/actions/update_stalking_target.gd.uid new file mode 100644 index 0000000..0160e6d --- /dev/null +++ b/src/world/grunk_beast/behaviors/actions/update_stalking_target.gd.uid @@ -0,0 +1 @@ +uid://yw2u7rlr0whk diff --git a/src/world/grunk_beast/grunk_beast.tscn b/src/world/grunk_beast/grunk_beast.tscn index d929908..965b95e 100644 --- a/src/world/grunk_beast/grunk_beast.tscn +++ b/src/world/grunk_beast/grunk_beast.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=36 format=3 uid="uid://ehf5sg3ahvbf"] +[gd_scene load_steps=35 format=3 uid="uid://ehf5sg3ahvbf"] [ext_resource type="Script" uid="uid://bukihqt1lybnx" path="res://src/util/frame_skipper.gd" id="2_lak6w"] [ext_resource type="Script" uid="uid://gwwmqwixqqr5" path="res://src/world/grunk_beast/grunk_beast.gd" id="2_qqnhb"] @@ -23,8 +23,7 @@ [ext_resource type="Script" uid="uid://bkdwuqv4tudka" path="res://src/world/grunk_beast/behaviors/actions/pursue_target.gd" id="14_x8l6r"] [ext_resource type="Script" uid="uid://demv7xh27ouvr" path="res://src/world/grunk_beast/behaviors/actions/blackboard_erase_safe.gd" id="15_4b27i"] [ext_resource type="Script" uid="uid://dwfdg523bk776" path="res://addons/beehave/nodes/decorators/failer.gd" id="15_oons1"] -[ext_resource type="Script" uid="uid://wfd5nbethyw6" path="res://src/world/grunk_beast/behaviors/actions/blackboard_copy.gd" id="15_umoec"] -[ext_resource type="Script" uid="uid://ykfqlqp7e8og" path="res://src/world/grunk_beast/behaviors/actions/start_timer.gd" id="16_asd50"] +[ext_resource type="Script" uid="uid://yw2u7rlr0whk" path="res://src/world/grunk_beast/behaviors/actions/update_stalking_target.gd" id="16_lak6w"] [ext_resource type="Script" uid="uid://h0cp58nswpml" path="res://src/world/grunk_beast/behaviors/conditions/timer_running.gd" id="16_oons1"] [ext_resource type="Script" uid="uid://ubcelage67hs" path="res://src/world/grunk_beast/behaviors/actions/get_random_target.gd" id="24_asd50"] [ext_resource type="Script" uid="uid://dvnmhlldp23hg" path="res://addons/beehave/nodes/composites/selector_random.gd" id="24_xs4mp"] @@ -180,15 +179,8 @@ area = NodePath("../../../../../AggroRange") metadata/_custom_type_script = "uid://b34l3v4sr8rmq" [node name="UpdateStalkingTarget" type="Node" parent="GrunkBeastBehavior/StateSelector/PursuitSequence"] -script = ExtResource("15_umoec") -source_key = "pursuit_target" -destination_key = "stalking_target" -metadata/_custom_type_script = "uid://wfd5nbethyw6" - -[node name="RestartStalkingTimer" type="Node" parent="GrunkBeastBehavior/StateSelector/PursuitSequence" node_paths=PackedStringArray("timer")] -script = ExtResource("16_asd50") -timer = NodePath("../../../../StalkingTimer") -metadata/_custom_type_script = "uid://ykfqlqp7e8og" +script = ExtResource("16_lak6w") +metadata/_custom_type_script = "uid://yw2u7rlr0whk" [node name="PursueTarget" type="Node" parent="GrunkBeastBehavior/StateSelector/PursuitSequence"] script = ExtResource("14_x8l6r") @@ -226,7 +218,7 @@ metadata/_custom_type_script = "uid://om57w2acvgb7" script = ExtResource("11_mbqcc") mean_time = 4.0 st_dev_time = 0.6 -wait_time = 4.5275 +wait_time = 3.8583 metadata/_custom_type_script = "uid://beyk2xtbjrsg4" [node name="RandomStalkingBehavior" type="Node" parent="GrunkBeastBehavior/StateSelector/StalkingSequence/RandomDelay"] @@ -272,7 +264,7 @@ metadata/_custom_type_script = "uid://cg016dbe7gs1x" script = ExtResource("11_mbqcc") mean_time = 5.0 st_dev_time = 1.0 -wait_time = 6.19423 +wait_time = 5.01985 metadata/_custom_type_script = "uid://beyk2xtbjrsg4" [node name="PickRandomLurkTarget" type="Node" parent="GrunkBeastBehavior/StateSelector/LurkSequence/RandomDelay"] diff --git a/src/world/grunk_beast/slutch_beast/face_nodule.material b/src/world/grunk_beast/slutch_beast/face_nodule.material index 445a06f..8de322a 100644 Binary files a/src/world/grunk_beast/slutch_beast/face_nodule.material and b/src/world/grunk_beast/slutch_beast/face_nodule.material differ diff --git a/src/world/grunk_beast/slutch_beast/slutch_beast.tscn b/src/world/grunk_beast/slutch_beast/slutch_beast.tscn index 8d86c2d..a764572 100644 --- a/src/world/grunk_beast/slutch_beast/slutch_beast.tscn +++ b/src/world/grunk_beast/slutch_beast/slutch_beast.tscn @@ -8,6 +8,7 @@ [node name="SlutchBeast" instance=ExtResource("1_ctp72")] script = ExtResource("2_pm58j") +theta_acceleration = 8.0 [node name="Slutch" parent="." index="0"] surface_material_override/0 = ExtResource("3_htnl6")