Grunk alarm emits red when triggered
All checks were successful
linting & formatting / build (push) Successful in 21s

This commit is contained in:
Rob Kelly 2025-04-19 17:31:21 -06:00
parent ed303fce4b
commit d4a008ff2a
3 changed files with 79 additions and 8 deletions

View File

@ -1772,7 +1772,7 @@ shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="MessHallMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor1/T-Junction2"] [node name="MessHallMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor1/T-Junction2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
script = ExtResource("52_4akax") script = ExtResource("52_4akax")
mob_lifespan = 3.0 mob_lifespan = 2.2
[node name="Target" type="Marker3D" parent="BeastNav/Corridor1/T-Junction2/MessHallMeetSpookSpawner"] [node name="Target" type="Marker3D" parent="BeastNav/Corridor1/T-Junction2/MessHallMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.90735e-06, 0, 21) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.90735e-06, 0, 21)
@ -2293,7 +2293,7 @@ spawners = [NodePath("../../Corridor1/T-Junction2/MessHallMeetSpookSpawner"), No
[node name="MedbayMeetSpookSpawner" type="Marker3D" parent="BeastNav/MessHall"] [node name="MedbayMeetSpookSpawner" type="Marker3D" parent="BeastNav/MessHall"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 1.5, 2.1) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 1.5, 2.1)
script = ExtResource("52_4akax") script = ExtResource("52_4akax")
mob_lifespan = 3.0 mob_lifespan = 2.2
[node name="Target" type="Marker3D" parent="BeastNav/MessHall/MedbayMeetSpookSpawner"] [node name="Target" type="Marker3D" parent="BeastNav/MessHall/MedbayMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6)
@ -2396,7 +2396,7 @@ mesh = SubResource("ArrayMesh_48a1a")
[node name="MessHallMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor2/T-Junction1"] [node name="MessHallMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor2/T-Junction1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
script = ExtResource("52_4akax") script = ExtResource("52_4akax")
mob_lifespan = 3.0 mob_lifespan = 2.2
[node name="Target" type="Marker3D" parent="BeastNav/Corridor2/T-Junction1/MessHallMeetSpookSpawner"] [node name="Target" type="Marker3D" parent="BeastNav/Corridor2/T-Junction1/MessHallMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -12) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -12)
@ -2404,7 +2404,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -12)
[node name="CrewQuartersMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor2/T-Junction1"] [node name="CrewQuartersMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor2/T-Junction1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
script = ExtResource("52_4akax") script = ExtResource("52_4akax")
mob_lifespan = 3.0 mob_lifespan = 2.2
[node name="Target" type="Marker3D" parent="BeastNav/Corridor2/T-Junction1/CrewQuartersMeetSpookSpawner"] [node name="Target" type="Marker3D" parent="BeastNav/Corridor2/T-Junction1/CrewQuartersMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 0)
@ -3227,7 +3227,7 @@ shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="CrewQuartersMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor3/T-Junction1"] [node name="CrewQuartersMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor3/T-Junction1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
script = ExtResource("52_4akax") script = ExtResource("52_4akax")
mob_lifespan = 3.0 mob_lifespan = 2.2
[node name="Target" type="Marker3D" parent="BeastNav/Corridor3/T-Junction1/CrewQuartersMeetSpookSpawner"] [node name="Target" type="Marker3D" parent="BeastNav/Corridor3/T-Junction1/CrewQuartersMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.62268e-06, 0, -30) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.62268e-06, 0, -30)
@ -3303,7 +3303,7 @@ shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="MedbayMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor3/T-Junction3"] [node name="MedbayMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor3/T-Junction3"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.38419e-07, 1.5, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.38419e-07, 1.5, 0)
script = ExtResource("52_4akax") script = ExtResource("52_4akax")
mob_lifespan = 3.0 mob_lifespan = 2.2
[node name="Target" type="Marker3D" parent="BeastNav/Corridor3/T-Junction3/MedbayMeetSpookSpawner"] [node name="Target" type="Marker3D" parent="BeastNav/Corridor3/T-Junction3/MedbayMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.14722e-06, 0, 42) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.14722e-06, 0, 42)
@ -4078,7 +4078,7 @@ outline_size = 24
[node name="MessHallMeetSpookSpawner" type="Marker3D" parent="BeastNav/Medbay"] [node name="MessHallMeetSpookSpawner" type="Marker3D" parent="BeastNav/Medbay"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.5, -12) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.5, -12)
script = ExtResource("52_4akax") script = ExtResource("52_4akax")
mob_lifespan = 3.0 mob_lifespan = 2.2
[node name="Target" type="Marker3D" parent="BeastNav/Medbay/MessHallMeetSpookSpawner"] [node name="Target" type="Marker3D" parent="BeastNav/Medbay/MessHallMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 15) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 15)

View File

@ -14,6 +14,7 @@ var _busy := false
@onready var pulse_listener_timer: Timer = %PulseListenerTimer @onready var pulse_listener_timer: Timer = %PulseListenerTimer
@onready var animation_player: AnimationPlayer = $FrameSkipper/AlarmMesh/AnimationPlayer @onready var animation_player: AnimationPlayer = $FrameSkipper/AlarmMesh/AnimationPlayer
@onready var effect_animation: AnimationPlayer = %EffectAnimation
@onready var bud: MeshInstance3D = $FrameSkipper/AlarmMesh/Armature/Skeleton3D/Bud @onready var bud: MeshInstance3D = $FrameSkipper/AlarmMesh/Armature/Skeleton3D/Bud
@onready var alarm_sfx: AudioStreamPlayer3D = %AlarmSFX @onready var alarm_sfx: AudioStreamPlayer3D = %AlarmSFX
@ -26,6 +27,7 @@ func trigger() -> void:
_busy = true _busy = true
Game.manager.raise_alert(ALERT_DELTA) Game.manager.raise_alert(ALERT_DELTA)
animation_player.play("trigger") animation_player.play("trigger")
effect_animation.play("trigger")
alarm_sfx.play() alarm_sfx.play()

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=10 format=4 uid="uid://dgeg3kkogm71m"] [gd_scene load_steps=13 format=4 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="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="PackedScene" uid="uid://60ks4l42qxia" path="res://assets/grunk/alarm/alarm.gltf" id="2_6vdvf"]
@ -43,6 +43,67 @@ _surfaces = [{
}] }]
blend_shape_mode = 0 blend_shape_mode = 0
[sub_resource type="Animation" id="Animation_6vdvf"]
resource_name = "trigger"
length = 6.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("FrameSkipper/AlarmMesh/Armature/Skeleton3D/Bud:mesh:surface_0/material:shader_parameter/emission_color")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.333333, 5.3, 6),
"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/AlarmMesh/Armature/Skeleton3D/Bud:mesh:surface_0/material: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, 5.3, 6),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 0,
"values": [0.02, 0.05, 10.0, 10.0, 0.05, 0.02]
}
[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/AlarmMesh/Armature/Skeleton3D/Bud:mesh:surface_0/material: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/AlarmMesh/Armature/Skeleton3D/Bud:mesh:surface_0/material: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="AnimationLibrary" id="AnimationLibrary_vokcn"]
_data = {
&"RESET": SubResource("Animation_g4yos"),
&"trigger": SubResource("Animation_6vdvf")
}
[sub_resource type="SphereMesh" id="SphereMesh_b6er8"] [sub_resource type="SphereMesh" id="SphereMesh_b6er8"]
radius = 0.285 radius = 0.285
height = 0.44 height = 0.44
@ -102,6 +163,14 @@ mesh = SubResource("ArrayMesh_c5y52")
[node name="AnimationPlayer" parent="FrameSkipper/AlarmMesh" index="1"] [node name="AnimationPlayer" parent="FrameSkipper/AlarmMesh" index="1"]
speed_scale = 7.4 speed_scale = 7.4
[node name="EffectAnimation" type="AnimationPlayer" parent="FrameSkipper"]
unique_name_in_owner = true
root_node = NodePath("../..")
libraries = {
&"": SubResource("AnimationLibrary_vokcn")
}
speed_scale = 7.4
[node name="CollisionMesh" type="MeshInstance3D" parent="."] [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) transform = Transform3D(0.906308, 0, -0.422618, 0, 1, 0, 0.422618, 0, 0.906308, 0, 0.2, 0)
visible = false visible = false