grunk/src/world/mechanics/alarm/gunk_alarm.tscn
Rob Kelly 0edf520a21
All checks were successful
linting & formatting / build (push) Successful in 25s
itch.io publish action / build (linux64, x86_64) (push) Successful in 2m16s
itch.io publish action / build (osx, app) (push) Successful in 2m24s
itch.io publish action / build (win64, exe) (push) Successful in 2m28s
Rebalanced audio
2025-08-16 19:28:07 -06:00

345 lines
18 KiB
Plaintext

[gd_scene load_steps=16 format=3 uid="uid://dgeg3kkogm71m"]
[ext_resource type="Script" uid="uid://djb5tabjcvwkt" path="res://src/world/mechanics/alarm/gunk_alarm.gd" id="1_piaxx"]
[ext_resource type="PackedScene" uid="uid://60ks4l42qxia" path="res://assets/grunk/alarm/alarm.gltf" id="2_6vdvf"]
[ext_resource type="Script" uid="uid://bukihqt1lybnx" path="res://src/util/frame_skipper.gd" id="2_gujky"]
[ext_resource type="Material" uid="uid://bmab6i16v748m" path="res://assets/materials/grunk_jittery.material" id="3_g4yos"]
[ext_resource type="Script" uid="uid://b274q7uvn0cvp" path="res://src/ui/rumbler_3d.gd" id="3_vokcn"]
[ext_resource type="Material" uid="uid://cdpvcruywnp4x" path="res://assets/grunk/alarm/alarm_core.material" id="5_6vdvf"]
[ext_resource type="AudioStream" uid="uid://6yo1n0l1jgok" path="res://assets/sfx/grunk/alarm_screech.wav" id="6_6vdvf"]
[sub_resource type="SphereMesh" id="SphereMesh_b6er8"]
radius = 0.285
height = 0.44
radial_segments = 7
rings = 5
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_bxx3m"]
data = PackedVector3Array(0, 0.22, 0, 0, 0.22, 0, 0, 0.1905, 0.1425, 0, 0.22, 0, 0.1114, 0.1905, 0.0888, 0, 0.1905, 0.1425, 0, 0.22, 0, 0, 0.22, 0, 0.1114, 0.1905, 0.0888, 0, 0.22, 0, 0.1389, 0.1905, -0.0317, 0.1114, 0.1905, 0.0888, 0, 0.22, 0, 0, 0.22, 0, 0.1389, 0.1905, -0.0317, 0, 0.22, 0, 0.0618, 0.1905, -0.1284, 0.1389, 0.1905, -0.0317, 0, 0.22, 0, 0, 0.22, 0, 0.0618, 0.1905, -0.1284, 0, 0.22, 0, -0.0618, 0.1905, -0.1284, 0.0618, 0.1905, -0.1284, 0, 0.22, 0, 0, 0.22, 0, -0.0618, 0.1905, -0.1284, 0, 0.22, 0, -0.1389, 0.1905, -0.0317, -0.0618, 0.1905, -0.1284, 0, 0.22, 0, 0, 0.22, 0, -0.1389, 0.1905, -0.0317, 0, 0.22, 0, -0.1114, 0.1905, 0.0888, -0.1389, 0.1905, -0.0317, 0, 0.22, 0, 0, 0.22, 0, -0.1114, 0.1905, 0.0888, 0, 0.22, 0, 0, 0.1905, 0.1425, -0.1114, 0.1905, 0.0888, 0, 0.1905, 0.1425, 0.1114, 0.1905, 0.0888, 0, 0.11, 0.2468, 0.1114, 0.1905, 0.0888, 0.193, 0.11, 0.1539, 0, 0.11, 0.2468, 0.1114, 0.1905, 0.0888, 0.1389, 0.1905, -0.0317, 0.193, 0.11, 0.1539, 0.1389, 0.1905, -0.0317, 0.2406, 0.11, -0.0549, 0.193, 0.11, 0.1539, 0.1389, 0.1905, -0.0317, 0.0618, 0.1905, -0.1284, 0.2406, 0.11, -0.0549, 0.0618, 0.1905, -0.1284, 0.1071, 0.11, -0.2224, 0.2406, 0.11, -0.0549, 0.0618, 0.1905, -0.1284, -0.0618, 0.1905, -0.1284, 0.1071, 0.11, -0.2224, -0.0618, 0.1905, -0.1284, -0.1071, 0.11, -0.2224, 0.1071, 0.11, -0.2224, -0.0618, 0.1905, -0.1284, -0.1389, 0.1905, -0.0317, -0.1071, 0.11, -0.2224, -0.1389, 0.1905, -0.0317, -0.2406, 0.11, -0.0549, -0.1071, 0.11, -0.2224, -0.1389, 0.1905, -0.0317, -0.1114, 0.1905, 0.0888, -0.2406, 0.11, -0.0549, -0.1114, 0.1905, 0.0888, -0.193, 0.11, 0.1539, -0.2406, 0.11, -0.0549, -0.1114, 0.1905, 0.0888, 0, 0.1905, 0.1425, -0.193, 0.11, 0.1539, 0, 0.1905, 0.1425, 0, 0.11, 0.2468, -0.193, 0.11, 0.1539, 0, 0.11, 0.2468, 0.193, 0.11, 0.1539, 0, 0, 0.285, 0.193, 0.11, 0.1539, 0.2228, 0, 0.1777, 0, 0, 0.285, 0.193, 0.11, 0.1539, 0.2406, 0.11, -0.0549, 0.2228, 0, 0.1777, 0.2406, 0.11, -0.0549, 0.2779, 0, -0.0634, 0.2228, 0, 0.1777, 0.2406, 0.11, -0.0549, 0.1071, 0.11, -0.2224, 0.2779, 0, -0.0634, 0.1071, 0.11, -0.2224, 0.1237, 0, -0.2568, 0.2779, 0, -0.0634, 0.1071, 0.11, -0.2224, -0.1071, 0.11, -0.2224, 0.1237, 0, -0.2568, -0.1071, 0.11, -0.2224, -0.1237, 0, -0.2568, 0.1237, 0, -0.2568, -0.1071, 0.11, -0.2224, -0.2406, 0.11, -0.0549, -0.1237, 0, -0.2568, -0.2406, 0.11, -0.0549, -0.2779, 0, -0.0634, -0.1237, 0, -0.2568, -0.2406, 0.11, -0.0549, -0.193, 0.11, 0.1539, -0.2779, 0, -0.0634, -0.193, 0.11, 0.1539, -0.2228, 0, 0.1777, -0.2779, 0, -0.0634, -0.193, 0.11, 0.1539, 0, 0.11, 0.2468, -0.2228, 0, 0.1777, 0, 0.11, 0.2468, 0, 0, 0.285, -0.2228, 0, 0.1777, 0, 0, 0.285, 0.2228, 0, 0.1777, 0, -0.11, 0.2468, 0.2228, 0, 0.1777, 0.193, -0.11, 0.1539, 0, -0.11, 0.2468, 0.2228, 0, 0.1777, 0.2779, 0, -0.0634, 0.193, -0.11, 0.1539, 0.2779, 0, -0.0634, 0.2406, -0.11, -0.0549, 0.193, -0.11, 0.1539, 0.2779, 0, -0.0634, 0.1237, 0, -0.2568, 0.2406, -0.11, -0.0549, 0.1237, 0, -0.2568, 0.1071, -0.11, -0.2224, 0.2406, -0.11, -0.0549, 0.1237, 0, -0.2568, -0.1237, 0, -0.2568, 0.1071, -0.11, -0.2224, -0.1237, 0, -0.2568, -0.1071, -0.11, -0.2224, 0.1071, -0.11, -0.2224, -0.1237, 0, -0.2568, -0.2779, 0, -0.0634, -0.1071, -0.11, -0.2224, -0.2779, 0, -0.0634, -0.2406, -0.11, -0.0549, -0.1071, -0.11, -0.2224, -0.2779, 0, -0.0634, -0.2228, 0, 0.1777, -0.2406, -0.11, -0.0549, -0.2228, 0, 0.1777, -0.193, -0.11, 0.1539, -0.2406, -0.11, -0.0549, -0.2228, 0, 0.1777, 0, 0, 0.285, -0.193, -0.11, 0.1539, 0, 0, 0.285, 0, -0.11, 0.2468, -0.193, -0.11, 0.1539, 0, -0.11, 0.2468, 0.193, -0.11, 0.1539, 0, -0.1905, 0.1425, 0.193, -0.11, 0.1539, 0.1114, -0.1905, 0.0888, 0, -0.1905, 0.1425, 0.193, -0.11, 0.1539, 0.2406, -0.11, -0.0549, 0.1114, -0.1905, 0.0888, 0.2406, -0.11, -0.0549, 0.1389, -0.1905, -0.0317, 0.1114, -0.1905, 0.0888, 0.2406, -0.11, -0.0549, 0.1071, -0.11, -0.2224, 0.1389, -0.1905, -0.0317, 0.1071, -0.11, -0.2224, 0.0618, -0.1905, -0.1284, 0.1389, -0.1905, -0.0317, 0.1071, -0.11, -0.2224, -0.1071, -0.11, -0.2224, 0.0618, -0.1905, -0.1284, -0.1071, -0.11, -0.2224, -0.0618, -0.1905, -0.1284, 0.0618, -0.1905, -0.1284, -0.1071, -0.11, -0.2224, -0.2406, -0.11, -0.0549, -0.0618, -0.1905, -0.1284, -0.2406, -0.11, -0.0549, -0.1389, -0.1905, -0.0317, -0.0618, -0.1905, -0.1284, -0.2406, -0.11, -0.0549, -0.193, -0.11, 0.1539, -0.1389, -0.1905, -0.0317, -0.193, -0.11, 0.1539, -0.1114, -0.1905, 0.0888, -0.1389, -0.1905, -0.0317, -0.193, -0.11, 0.1539, 0, -0.11, 0.2468, -0.1114, -0.1905, 0.0888, 0, -0.11, 0.2468, 0, -0.1905, 0.1425, -0.1114, -0.1905, 0.0888, 0, -0.1905, 0.1425, 0.1114, -0.1905, 0.0888, 0, -0.22, 0, 0.1114, -0.1905, 0.0888, 0, -0.22, 0, 0, -0.22, 0, 0.1114, -0.1905, 0.0888, 0.1389, -0.1905, -0.0317, 0, -0.22, 0, 0.1389, -0.1905, -0.0317, 0, -0.22, 0, 0, -0.22, 0, 0.1389, -0.1905, -0.0317, 0.0618, -0.1905, -0.1284, 0, -0.22, 0, 0.0618, -0.1905, -0.1284, 0, -0.22, 0, 0, -0.22, 0, 0.0618, -0.1905, -0.1284, -0.0618, -0.1905, -0.1284, 0, -0.22, 0, -0.0618, -0.1905, -0.1284, 0, -0.22, 0, 0, -0.22, 0, -0.0618, -0.1905, -0.1284, -0.1389, -0.1905, -0.0317, 0, -0.22, 0, -0.1389, -0.1905, -0.0317, 0, -0.22, 0, 0, -0.22, 0, -0.1389, -0.1905, -0.0317, -0.1114, -0.1905, 0.0888, 0, -0.22, 0, -0.1114, -0.1905, 0.0888, 0, -0.22, 0, 0, -0.22, 0, -0.1114, -0.1905, 0.0888, 0, -0.1905, 0.1425, 0, -0.22, 0, 0, -0.1905, 0.1425, 0, -0.22, 0, 0, -0.22, 0)
[sub_resource type="Animation" id="Animation_g4yos"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("FrameSkipper/Rumbler3D/AlarmMesh/Armature/Skeleton3D/Bud:surface_material_override/0:shader_parameter/emission_color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(0.25, 0.88, 1, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("FrameSkipper/Rumbler3D/AlarmMesh/Armature/Skeleton3D/Bud:surface_material_override/0:shader_parameter/emission_strength")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.02]
}
[sub_resource type="Animation" id="Animation_6vdvf"]
resource_name = "trigger"
length = 10.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("FrameSkipper/Rumbler3D/AlarmMesh/Armature/Skeleton3D/Bud:surface_material_override/0:shader_parameter/emission_color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.333333, 9, 10),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Color(0.25, 0.88, 1, 1), Color(1, 0.25, 0.2625, 1), Color(1, 0.25, 0.2625, 1), Color(0.25, 0.88, 1, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("FrameSkipper/Rumbler3D/AlarmMesh/Armature/Skeleton3D/Bud:surface_material_override/0:shader_parameter/emission_strength")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.333333, 0.9, 3.96667, 10),
"transitions": PackedFloat32Array(1, 1, 1, 0.618, 1),
"update": 0,
"values": [0.02, 0.05, 10.0, 10.0, 0.02]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_vokcn"]
_data = {
&"RESET": SubResource("Animation_g4yos"),
&"trigger": SubResource("Animation_6vdvf")
}
[sub_resource type="Animation" id="Animation_bknln"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Rumbler3D/AlarmMesh/Armature/Skeleton3D/Bud:surface_material_override/1:emission_energy_multiplier")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.02]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Rumbler3D/AlarmMesh/Armature/Skeleton3D/Bud:surface_material_override/1:emission")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(0.25098, 0.878431, 1, 1)]
}
tracks/2/type = "bezier"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Rumbler3D/AlarmMesh:scale:x")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/3/type = "bezier"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Rumbler3D/AlarmMesh:scale:y")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/4/type = "bezier"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Rumbler3D/AlarmMesh:scale:z")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Rumbler3D:intensity")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="Animation" id="Animation_vokcn"]
resource_name = "pulse"
length = 9.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Rumbler3D/AlarmMesh/Armature/Skeleton3D/Bud:surface_material_override/1:emission_energy_multiplier")
tracks/0/interp = 2
tracks/0/loop_wrap = false
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.166667, 3.5, 6, 9),
"transitions": PackedFloat32Array(1.618, 0.618, 4, 0.554785, 1),
"update": 0,
"values": [0.02, 2.0, 0.0, 40.0, 0.02]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Rumbler3D/AlarmMesh/Armature/Skeleton3D/Bud:surface_material_override/1:emission")
tracks/1/interp = 1
tracks/1/loop_wrap = false
tracks/1/keys = {
"times": PackedFloat32Array(0, 1.6, 1.63333, 8.5, 9),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [Color(0.25098, 0.878431, 1, 1), Color(0.25098, 0.878431, 1, 1), Color(1, 0.25098, 0.262745, 1), Color(1, 0.25098, 0.262745, 1), Color(0.25098, 0.878431, 1, 1)]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("..")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(6),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"trigger"
}]
}
tracks/3/type = "bezier"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Rumbler3D/AlarmMesh:scale:x")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0, 0),
"points": PackedFloat32Array(1, -0.25, 0, 0, -0.00028199, 1.05, -0.15, 0, 0.25, 0, 1, -0.4, -0.05, 0.25, 0.05, 1, -0.25, -0.025, 0.095, 0.01, 0.9, 0, 0.1, 0, 0.25, 1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0, 0.166667, 0.966667, 2.2, 6, 9)
}
tracks/4/type = "bezier"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Rumbler3D/AlarmMesh:scale:y")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0, 0),
"points": PackedFloat32Array(1, -0.25, 0, 0, 0, 1.05, -0.15, 0, 0.25, 0, 1, -0.4, -0.05, 0.25, 0.05, 1, -0.25, -0.025, 0.095, 0.01, 0.9, 0, 0.1, 0, 0.25, 1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0, 0.4, 1.2, 2.2, 6, 9)
}
tracks/5/type = "bezier"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Rumbler3D/AlarmMesh:scale:z")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0, 0),
"points": PackedFloat32Array(1, -0.25, 0, 0, 0, 1.05, -0.15, 0, 0.25, 0, 1, -0.4, -0.05, 0.25, 0.05, 1, -0.25, -0.025, 0.095, 0.01, 0.9, 0, 0.1, 0, 0.25, 1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0, 0.633333, 1.43333, 2.2, 6, 9)
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("Rumbler3D:intensity")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(3.5, 6, 9),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [0.0, 0.002, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_bknln"]
_data = {
&"RESET": SubResource("Animation_bknln"),
&"pulse": SubResource("Animation_vokcn")
}
[node name="GunkAlarm" type="StaticBody3D" groups=["Persistent"]]
collision_layer = 36
collision_mask = 0
script = ExtResource("1_piaxx")
durability = 10.0
value = 10000.0
metadata/_custom_type_script = "uid://bypgxi0gy56yk"
[node name="FrameSkipper" type="Node3D" parent="."]
script = ExtResource("2_gujky")
[node name="Rumbler3D" type="Node3D" parent="FrameSkipper"]
script = ExtResource("3_vokcn")
metadata/_custom_type_script = "uid://b274q7uvn0cvp"
[node name="AlarmMesh" parent="FrameSkipper/Rumbler3D" instance=ExtResource("2_6vdvf")]
unique_name_in_owner = true
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0.035, 0)
[node name="Skeleton3D" parent="FrameSkipper/Rumbler3D/AlarmMesh/Armature" index="0"]
bones/1/rotation = Quaternion(0.615412, 8.96411e-08, 6.99896e-08, 0.788205)
bones/2/rotation = Quaternion(6.23537e-08, 0.911935, -0.410335, 6.88492e-08)
bones/3/rotation = Quaternion(0.388328, -7.55108e-08, -2.12852e-09, 0.921521)
bones/4/rotation = Quaternion(0.362943, -6.23644e-15, -3.17295e-08, 0.931811)
bones/5/rotation = Quaternion(0.554467, 0.341989, -0.267017, 0.710149)
bones/6/rotation = Quaternion(1.87911e-08, 0.911935, -0.410335, -6.13774e-08)
bones/7/rotation = Quaternion(0.388328, -7.54773e-08, -5.17987e-08, 0.921521)
bones/8/rotation = Quaternion(0.362943, -7.23097e-08, 8.73452e-09, 0.931811)
bones/9/rotation = Quaternion(0.383703, 0.616244, -0.481149, 0.491438)
bones/10/rotation = Quaternion(5.53719e-08, 0.911935, -0.410335, 1.70181e-07)
bones/11/rotation = Quaternion(0.388328, 4.03898e-08, -9.63879e-08, 0.921521)
bones/12/rotation = Quaternion(0.362943, -2.72222e-08, 1.68537e-09, 0.931811)
bones/14/rotation = Quaternion(1.04239e-08, 0.911935, -0.410335, 5.30153e-08)
bones/15/rotation = Quaternion(0.388328, 1.98981e-07, -6.10131e-08, 0.921521)
bones/16/rotation = Quaternion(0.362943, -7.47069e-08, 7.94897e-09, 0.931811)
bones/17/rotation = Quaternion(-0.136942, 0.768444, -0.599983, -0.175392)
bones/18/rotation = Quaternion(7.03342e-08, 0.911935, -0.410335, 5.90948e-08)
bones/19/rotation = Quaternion(0.388329, 2.02752e-07, -7.27092e-08, 0.921521)
bones/20/rotation = Quaternion(0.362943, -2.24031e-07, 5.70885e-08, 0.931811)
bones/21/rotation = Quaternion(-0.383703, 0.616244, -0.481149, -0.491438)
bones/22/rotation = Quaternion(8.70512e-08, 0.911935, -0.410335, 6.34874e-08)
bones/23/rotation = Quaternion(0.388328, 2.77474e-07, -9.87756e-08, 0.921521)
bones/24/rotation = Quaternion(0.362943, -2.57122e-07, 1.53333e-07, 0.931811)
bones/25/rotation = Quaternion(0.554467, -0.34199, 0.267017, 0.710148)
bones/26/rotation = Quaternion(-8.38833e-08, 0.911935, -0.410335, -6.97367e-08)
bones/27/rotation = Quaternion(0.388328, 2.1633e-07, -1.09183e-07, 0.921521)
bones/28/rotation = Quaternion(0.362943, -7.93195e-08, 1.03952e-07, 0.931811)
[node name="Bud" parent="FrameSkipper/Rumbler3D/AlarmMesh/Armature/Skeleton3D" index="0"]
gi_mode = 2
surface_material_override/0 = ExtResource("3_g4yos")
surface_material_override/1 = ExtResource("5_6vdvf")
[node name="AnimationPlayer" parent="FrameSkipper/Rumbler3D/AlarmMesh" index="1"]
speed_scale = 7.4
[node name="CollisionMesh" type="MeshInstance3D" parent="."]
transform = Transform3D(0.906308, 0, -0.422618, 0, 1, 0, 0.422618, 0, 0.906308, 0, 0.2, 0)
visible = false
mesh = SubResource("SphereMesh_b6er8")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(0.906308, 0, -0.422618, 0, 1, 0, 0.422618, 0, 0.906308, 0, 0.2, 0)
shape = SubResource("ConcavePolygonShape3D_bxx3m")
[node name="PulseListenerTimer" type="Timer" parent="."]
unique_name_in_owner = true
one_shot = true
[node name="AlarmSFX" type="AudioStreamPlayer3D" parent="."]
unique_name_in_owner = true
stream = ExtResource("6_6vdvf")
pitch_scale = 1.1
[node name="AnimationFrameSkipper" type="Node" parent="."]
script = ExtResource("2_gujky")
frame_skip = 3
metadata/_custom_type_script = "uid://bukihqt1lybnx"
[node name="TriggerAnimation" type="AnimationPlayer" parent="AnimationFrameSkipper"]
unique_name_in_owner = true
root_node = NodePath("../..")
libraries = {
&"": SubResource("AnimationLibrary_vokcn")
}
speed_scale = 14.8
[node name="PulseAnimation" type="AnimationPlayer" parent="AnimationFrameSkipper"]
unique_name_in_owner = true
root_node = NodePath("../../FrameSkipper")
libraries = {
&"": SubResource("AnimationLibrary_bknln")
}
speed_scale = 4.0
[connection signal="animation_finished" from="FrameSkipper/Rumbler3D/AlarmMesh/AnimationPlayer" to="." method="_on_animation_finished"]
[connection signal="timeout" from="PulseListenerTimer" to="." method="trigger"]
[editable path="FrameSkipper/Rumbler3D/AlarmMesh"]