Compare commits

..

No commits in common. "e7885d33b93d851f020ce89086a7cdec5d637087" and "f966dc43df2561fa1a2aee23060750cb31df41e0" have entirely different histories.

44 changed files with 87 additions and 651 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://ypk1d4adrcs"
path="res://.godot/imported/alarm_screech.wav-99f30850091e72de3c561e544b0403c0.sample"
[deps]
source_file="res://assets/sfx/grunk/alarm_screech.wav"
dest_files=["res://.godot/imported/alarm_screech.wav-99f30850091e72de3c561e544b0403c0.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bb560r2wvjfht"
path="res://.godot/imported/greeble1.wav-ea53a62389ed7a5fce08eb109c43dadd.sample"
[deps]
source_file="res://assets/sfx/grunk/greeble1.wav"
dest_files=["res://.godot/imported/greeble1.wav-ea53a62389ed7a5fce08eb109c43dadd.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dunakapj3mb0h"
path="res://.godot/imported/greeble2.wav-d90cb4544544b55f5382855b51f585d6.sample"
[deps]
source_file="res://assets/sfx/grunk/greeble2.wav"
dest_files=["res://.godot/imported/greeble2.wav-d90cb4544544b55f5382855b51f585d6.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://6bgyoaclmu8c"
path="res://.godot/imported/greeble3.wav-4ec0219b7b9fa19e355078aa1e99b2e0.sample"
[deps]
source_file="res://assets/sfx/grunk/greeble3.wav"
dest_files=["res://.godot/imported/greeble3.wav-4ec0219b7b9fa19e355078aa1e99b2e0.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://7nj6bldnhos3"
path="res://.godot/imported/greeble4.wav-9a84416c9d5fe46f4d88789a027646cd.sample"
[deps]
source_file="res://assets/sfx/grunk/greeble4.wav"
dest_files=["res://.godot/imported/greeble4.wav-9a84416c9d5fe46f4d88789a027646cd.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://0usonf3pjh3o"
path="res://.godot/imported/heartbeat.wav-23e070ceda3a2c6b2886e8fd85673555.sample"
[deps]
source_file="res://assets/sfx/grunk/heartbeat.wav"
dest_files=["res://.godot/imported/heartbeat.wav-23e070ceda3a2c6b2886e8fd85673555.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cimw72d2lexvt"
path="res://.godot/imported/pump.wav-3af6b59129486d6bf0a5a519848e701a.sample"
[deps]
source_file="res://assets/sfx/grunk/pump.wav"
dest_files=["res://.godot/imported/pump.wav-3af6b59129486d6bf0a5a519848e701a.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://di0j2xhgfc78s"
path="res://.godot/imported/splat1.wav-0c184c3612f6e8dc49404de6420bfc5c.sample"
[deps]
source_file="res://assets/sfx/grunk/splat1.wav"
dest_files=["res://.godot/imported/splat1.wav-0c184c3612f6e8dc49404de6420bfc5c.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://d1w5gfmjj7tjk"
path="res://.godot/imported/splat2.wav-d793ff699626551d45adb56e386a2f81.sample"
[deps]
source_file="res://assets/sfx/grunk/splat2.wav"
dest_files=["res://.godot/imported/splat2.wav-d793ff699626551d45adb56e386a2f81.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://b601aiv71ddra"
path="res://.godot/imported/space_door.wav-cfdcf19076b3529fb20c9d5c6a8ba845.sample"
[deps]
source_file="res://assets/sfx/space_door.wav"
dest_files=["res://.godot/imported/space_door.wav-cfdcf19076b3529fb20c9d5c6a8ba845.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bckqqojs6pcu1"
path="res://.godot/imported/space_door_close.wav-b63dd0d5ac81269fa735a415c4610094.sample"
[deps]
source_file="res://assets/sfx/space_door_close.wav"
dest_files=["res://.godot/imported/space_door_close.wav-b63dd0d5ac81269fa735a415c4610094.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cnje66wrijwxw"
path="res://.godot/imported/wall_switch.wav-e47e5727c2106a3c962a073b6d4d5240.sample"
[deps]
source_file="res://assets/sfx/wall_switch.wav"
dest_files=["res://.godot/imported/wall_switch.wav-e47e5727c2106a3c962a073b6d4d5240.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=21 format=3 uid="uid://bov4ok76woyc"]
[gd_scene load_steps=18 format=3 uid="uid://bov4ok76woyc"]
[ext_resource type="PackedScene" uid="uid://crydi5cjgfwe5" path="res://levels/ghost_ship/ghost_ship_level.tscn" id="1_aj2m7"]
[ext_resource type="Environment" uid="uid://bkvij3ljl5ox3" path="res://levels/ghost_ship/environment_3.tres" id="1_wwgrl"]
@ -10,14 +10,11 @@
[ext_resource type="AudioStream" uid="uid://cqh31d5my7fst" path="res://assets/sfx/ambient/metal_creak1.wav" id="8_ihj8k"]
[ext_resource type="AudioStream" uid="uid://cfvdtl1n42bis" path="res://assets/sfx/ambient/metal_creak2.wav" id="9_d2iql"]
[ext_resource type="AudioStream" uid="uid://p5uendw5mb3x" path="res://assets/sfx/ambient/metal_creak3.wav" id="10_8h40n"]
[ext_resource type="AudioStream" uid="uid://bvtopyke5d17x" path="res://assets/sfx/grunk/groan3.wav" id="10_h081y"]
[ext_resource type="AudioStream" uid="uid://2qg0vqhygdwu" path="res://assets/sfx/ambient/metal_creak4.wav" id="11_it47q"]
[ext_resource type="AudioStream" uid="uid://ot7sr34qya3j" path="res://assets/sfx/ambient/metal_creak5.wav" id="12_h081y"]
[ext_resource type="AudioStream" uid="uid://7w531ufwc8c3" path="res://assets/sfx/ambient/metal_creak6.wav" id="13_law5k"]
[ext_resource type="AudioStream" uid="uid://c60m6qlq5cnp2" path="res://assets/sfx/ambient/metal_creak7.wav" id="14_4mbcm"]
[ext_resource type="AudioStream" uid="uid://cvwc2r2cmnaim" path="res://assets/sfx/ambient/metal_creak8.wav" id="15_r4ldl"]
[ext_resource type="AudioStream" uid="uid://b288km80xeh0" path="res://assets/sfx/grunk/groan1.wav" id="17_law5k"]
[ext_resource type="AudioStream" uid="uid://bujyltdunajj4" path="res://assets/sfx/grunk/groan2.wav" id="18_4mbcm"]
[sub_resource type="BoxShape3D" id="BoxShape3D_o7mxe"]
size = Vector3(6, 4, 15)
@ -25,7 +22,7 @@ size = Vector3(6, 4, 15)
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_d8fas"]
playback_mode = 1
random_pitch = 1.1
streams_count = 11
streams_count = 8
stream_0/stream = ExtResource("8_ihj8k")
stream_1/stream = ExtResource("9_d2iql")
stream_2/stream = ExtResource("10_8h40n")
@ -34,12 +31,6 @@ stream_4/stream = ExtResource("12_h081y")
stream_5/stream = ExtResource("13_law5k")
stream_6/stream = ExtResource("14_4mbcm")
stream_7/stream = ExtResource("15_r4ldl")
stream_8/stream = ExtResource("17_law5k")
stream_8/weight = 0.2
stream_9/stream = ExtResource("18_4mbcm")
stream_9/weight = 0.2
stream_10/stream = ExtResource("10_h081y")
stream_10/weight = 0.2
[node name="GhostShip" type="Node3D"]

View File

@ -1,15 +0,0 @@
extends Area3D
@onready var door_animation: AnimationPlayer = %DoorAnimation
@onready var open_sfx: AudioStreamPlayer3D = %OpenSFX
@onready var close_sfx: AudioStreamPlayer3D = %CloseSFX
func _on_body_entered(_body: Node3D) -> void:
door_animation.play("open")
open_sfx.play()
func _on_body_exited(_body: Node3D) -> void:
door_animation.play_backwards("open")
close_sfx.play()

View File

@ -1 +0,0 @@
uid://ck3yvtm42i1h4

View File

@ -9,7 +9,6 @@ const TANK_FILL_TIME := 1.0
@onready var tank_interactor: Interactive = %TankInteractor
@onready var grunk_liquid: MeshInstance3D = %GrunkLiquid
@onready var grunk_pump_sfx: AudioStreamPlayer3D = %GrunkPumpSFX
func _ready() -> void:
@ -28,8 +27,6 @@ func deposit_grunk() -> void:
set_liquid_level(clampf(Game.manager.grunk_vault / MAX_GRUNK, 0.0, 1.0))
grunk_pump_sfx.play()
func set_liquid_level(proportion: float) -> void:
(

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=44 format=3 uid="uid://oowut88kr2ox"]
[gd_scene load_steps=29 format=3 uid="uid://oowut88kr2ox"]
[ext_resource type="Script" uid="uid://lfd36ps52xgk" path="res://levels/ghost_ship/player_ship/player_ship.gd" id="1_0r2ng"]
[ext_resource type="ArrayMesh" uid="uid://dq4aj5ph31rce" path="res://assets/level/player_ship/player_ship.obj" id="1_nafoa"]
@ -10,18 +10,11 @@
[ext_resource type="ArrayMesh" uid="uid://djgqnuxrja1mo" path="res://assets/level/player_ship/player_ship_tank_facade.obj" id="8_2mvif"]
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="8_al8ma"]
[ext_resource type="ArrayMesh" uid="uid://bc8457r4rxpey" path="res://assets/level/player_ship/grunk_liquid.obj" id="8_xuj2g"]
[ext_resource type="AudioStream" uid="uid://cimw72d2lexvt" path="res://assets/sfx/grunk/pump.wav" id="9_0e0pl"]
[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="9_xuj2g"]
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="10_2mvif"]
[ext_resource type="PackedScene" uid="uid://mgygam1kakb7" path="res://levels/ghost_ship/player_ship/grunk_terminal/grunk_terminal.tscn" id="13_3trrp"]
[ext_resource type="Script" uid="uid://vewq8h8uulbg" path="res://src/util/translator_path_3d.gd" id="13_i4yi7"]
[ext_resource type="AudioStream" uid="uid://c838ofbu4bqrn" path="res://assets/sfx/computer_noise.wav" id="14_was05"]
[ext_resource type="Script" uid="uid://ck3yvtm42i1h4" path="res://levels/ghost_ship/player_ship/door_area.gd" id="16_kkevb"]
[ext_resource type="Texture2D" uid="uid://nexcq3xxrebb" path="res://assets/props/bulkhead/bulkhead_door_M.png" id="16_nps14"]
[ext_resource type="Texture2D" uid="uid://dk4sm780p6jfc" path="res://assets/props/bulkhead/bulkhead_door_N.png" id="17_kkevb"]
[ext_resource type="Texture2D" uid="uid://rjuyd20y2ov1" path="res://assets/props/bulkhead/bulkhead_door_R.png" id="18_3rulp"]
[ext_resource type="AudioStream" uid="uid://b601aiv71ddra" path="res://assets/sfx/space_door.wav" id="20_3rulp"]
[ext_resource type="AudioStream" uid="uid://bckqqojs6pcu1" path="res://assets/sfx/space_door_close.wav" id="21_bmg36"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xpsdy"]
transparency = 1
@ -36,11 +29,6 @@ texture_filter = 2
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_nafoa"]
data = PackedVector3Array(2.5, 1, 5.5, 2.5, 1, -4.5001, 2.5, 2, 5.5, 2.5, 2, 5.5, 2.5, 1, -4.5001, 2.5, 2, -4.5001, 1.5, 3, 4.4999, 1.5, 3, -4.5001, -1.5, 3, 4.4999, -1.5, 3, 4.4999, 1.5, 3, -4.5001, -1.5, 3, -4.5001, -1.5, 3, -4.5001, 1.5, 3, -4.5001, -0.625, 3, -4.5001, -0.625, 3, -4.5001, 1.5, 3, -4.5001, 0.625, 3, -4.5001, -2.5, 1, -4.5001, -2.5, 1, 5.5, -2.5, 2, -4.5001, -2.5, 2, -4.5001, -2.5, 1, 5.5, -2.5, 2, 5.5, 2.5, 1, -4.5001, 1.5, 0, -4.5001, 2.5, 2, -4.5001, 2.5, 2, -4.5001, 1.5, 0, -4.5001, 1.5, 3, -4.5001, 0.625, 0, -4.5001, 1.5, 3, -4.5001, 1.5, 0, -4.5001, 0.625, 2.5, -4.5001, 1.5, 3, -4.5001, 0.625, 0, -4.5001, 0.625, 3, -4.5001, 1.5, 3, -4.5001, 0.625, 2.5, -4.5001, 0.625, 2.5, -4.5001, -0.625, 2.5, -4.5001, 0.625, 3, -4.5001, 0.625, 3, -4.5001, -0.625, 2.5, -4.5001, -0.625, 3, -4.5001, -0.625, 3, -4.5001, -0.625, 2.5, -4.5001, -1.5, 3, -4.5001, -1.5, 3, -4.5001, -0.625, 2.5, -4.5001, -1.5, 0, -4.5001, -1.5, 0, -4.5001, -0.625, 2.5, -4.5001, -0.625, 0, -4.5001, -1.5, 0, -4.5001, -2.5, 1, -4.5001, -1.5, 3, -4.5001, -1.5, 3, -4.5001, -2.5, 1, -4.5001, -2.5, 2, -4.5001, -2.5, 1, -4.5001, -1.5, 0, -4.5001, -2.5, 1, 5.5, -2.5, 1, 5.5, -1.5, 0, -4.5001, -1.5, 0, 4.4999, -2.5, 2, 5.5, -1.5, 3, 4.4999, -2.5, 2, -4.5001, -2.5, 2, -4.5001, -1.5, 3, 4.4999, -1.5, 3, -4.5001, 2.5, 1, 5.5, 1.5, 0, 4.4999, 2.5, 1, -4.5001, 2.5, 1, -4.5001, 1.5, 0, 4.4999, 1.5, 0, -4.5001, 2.5, 2, -4.5001, 1.5, 3, -4.5001, 2.5, 2, 5.5, 2.5, 2, 5.5, 1.5, 3, -4.5001, 1.5, 3, 4.4999, -1.5, 0, 4.4999, -1.5, 0, -4.5001, 1.5, 0, 4.4999, 1.5, 0, 4.4999, -1.5, 0, -4.5001, 1.5, 0, -4.5001, 1.5, 0, -4.5001, -1.5, 0, -4.5001, 0.625, 0, -4.5001, 0.625, 0, -4.5001, -1.5, 0, -4.5001, -0.625, 0, -4.5001, 0.625, 0, -4.5001, -0.625, 0, -4.5001, 0.625, 0, -4.75, 0.625, 0, -4.75, -0.625, 0, -4.5001, -0.625, 0, -4.75, -0.625, 2.5, -4.5001, 0.625, 2.5, -4.5001, -0.625, 2.5, -4.75, -0.625, 2.5, -4.75, 0.625, 2.5, -4.5001, 0.625, 2.5, -4.75, -0.625, 0, -4.5001, -0.625, 2.5, -4.5001, -0.625, 0, -4.75, -0.625, 0, -4.75, -0.625, 2.5, -4.5001, -0.625, 2.5, -4.75, 0.625, 2.5, -4.5001, 0.625, 0, -4.5001, 0.625, 2.5, -4.75, 0.625, 2.5, -4.75, 0.625, 0, -4.5001, 0.625, 0, -4.75, -1.5, 3, 4.5, -2.5, 2, 5.5, -1.5, 3, 7.5, -1.5, 3, 7.5, -2.5, 2, 5.5, -2.5, 2, 7.5, -1.5, 0, 7.5, 1.5, 0, 7.5, -2.5, 1, 7.5, -2.5, 1, 7.5, 1.5, 0, 7.5, -2.5, 2, 7.5, -2.5, 2, 7.5, 1.5, 0, 7.5, -1.5, 3, 7.5, -1.5, 3, 7.5, 1.5, 0, 7.5, 1.5, 3, 7.5, 1.5, 3, 7.5, 1.5, 0, 7.5, 2.5, 2, 7.5, 2.5, 2, 7.5, 1.5, 0, 7.5, 2.5, 1, 7.5, -2.5, 1, 5.5, -1.5, 0, 4.5, -2.5, 1, 7.5, -2.5, 1, 7.5, -1.5, 0, 4.5, -1.5, 0, 7.5, 2.5, 1, 5.5, 2.5, 2, 5.5, 2.5, 1, 7.5, 2.5, 1, 7.5, 2.5, 2, 5.5, 2.5, 2, 7.5, -2.5, 2, 5.5, -2.5, 1, 5.5, -2.5, 2, 7.5, -2.5, 2, 7.5, -2.5, 1, 5.5, -2.5, 1, 7.5, 2.5, 2, 5.5, 1.5, 3, 4.5, 2.5, 2, 7.5, 2.5, 2, 7.5, 1.5, 3, 4.5, 1.5, 3, 7.5, 1.5, 3, 4.5, -1.5, 3, 4.5, 1.5, 3, 7.5, 1.5, 3, 7.5, -1.5, 3, 4.5, -1.5, 3, 7.5, 1.5, 0, 4.5, 2.5, 1, 5.5, 1.5, 0, 7.5, 1.5, 0, 7.5, 2.5, 1, 5.5, 2.5, 1, 7.5, -1.5, 0, 4.5, 1.5, 0, 4.5, -1.5, 0, 7.5, -1.5, 0, 7.5, 1.5, 0, 4.5, 1.5, 0, 7.5, 1.5, 3, 4.5, 1.5, 0, 4.5, 2.5, 2, 5.5, 2.5, 2, 5.5, 1.5, 0, 4.5, 2.5, 1, 5.5, -2.5, 1, 5.5, -1.5, 0, 4.5, -2.5, 2, 5.5, -2.5, 2, 5.5, -1.5, 0, 4.5, -1.5, 3, 4.5, -1.5, 0, 4.5, 1.5, 0, 4.5, -1.5, 3, 4.5, -1.5, 3, 4.5, 1.5, 0, 4.5, 1.5, 3, 4.5, 1.25, 2.5, -4.75, 1.25, 3, -4.75, 0.625, 2.5, -4.75, 0.625, 2.5, -4.75, 0.625, 0, -4.75, 1.25, 2.5, -4.75, 1.25, 2.5, -4.75, 0.625, 0, -4.75, 1.25, 0, -4.75, 0.625, 2.5, -4.75, 1.25, 3, -4.75, -0.625, 2.5, -4.75, -0.625, 2.5, -4.75, 1.25, 3, -4.75, -1.25, 2.5, -4.75, -1.25, 2.5, -4.75, 1.25, 3, -4.75, -1.25, 3, -4.75, -1.25, 0, -4.75, -0.625, 2.5, -4.75, -1.25, 2.5, -4.75, -0.625, 0, -4.75, -0.625, 2.5, -4.75, -1.25, 0, -4.75, -1.25, 2.5, -4.75, -1.25, 3, -4.75, -1.25, 0, -4.75, -1.25, 0, -4.75, -1.25, 3, -4.75, -1.25, 0, -6.75, -1.25, 0, -6.75, -1.25, 3, -4.75, -1.25, 3, -6.75, -1.25, 3, -4.75, 1.25, 3, -4.75, -1.25, 3, -6.75, -1.25, 3, -6.75, 1.25, 3, -4.75, 1.25, 3, -6.75, 1.25, 0, -4.75, 0.625, 0, -4.75, 1.25, 0, -6.75, 1.25, 0, -6.75, 0.625, 0, -4.75, -1.25, 0, -6.75, -1.25, 0, -6.75, 0.625, 0, -4.75, -1.25, 0, -4.75, -1.25, 0, -4.75, 0.625, 0, -4.75, -0.625, 0, -4.75, 1.25, 2.5, -4.75, 1.25, 0, -4.75, 1.25, 3, -4.75, 1.25, 3, -4.75, 1.25, 0, -4.75, 1.25, 3, -6.75, 1.25, 3, -6.75, 1.25, 0, -4.75, 1.25, 0, -6.75)
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_53iah"]
random_pitch = 1.1
streams_count = 1
stream_0/stream = ExtResource("9_0e0pl")
[sub_resource type="SphereShape3D" id="SphereShape3D_e4hmc"]
radius = 0.3
@ -103,66 +91,6 @@ _data = {
}
point_count = 2
[sub_resource type="Animation" id="Animation_ta4yu"]
length = 0.001
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Path3D:curve:point_1/position:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/1/type = "bezier"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Path3D:curve:point_1/position:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(-1.4, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/2/type = "bezier"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Path3D:curve:point_1/position:z")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Path3D/GrunkTerminal:rotation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0.2618, 1.5708, 0)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Path3D/GrunkTerminal/AudioStreamPlayer3D:playing")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_i4yi7"]
resource_name = "jangle"
length = 3.0
@ -224,69 +152,72 @@ tracks/4/keys = {
"values": [true]
}
[sub_resource type="Animation" id="Animation_ta4yu"]
length = 0.001
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Path3D:curve:point_1/position:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/1/type = "bezier"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Path3D:curve:point_1/position:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(-1.4, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/2/type = "bezier"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Path3D:curve:point_1/position:z")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Path3D/GrunkTerminal:rotation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0.2618, 1.5708, 0)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Path3D/GrunkTerminal/AudioStreamPlayer3D:playing")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_fw23o"]
_data = {
&"RESET": SubResource("Animation_ta4yu"),
&"jangle": SubResource("Animation_i4yi7")
}
[sub_resource type="BoxShape3D" id="BoxShape3D_nps14"]
size = Vector3(3, 3, 4)
[sub_resource type="Animation" id="Animation_kkevb"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Door:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, -0.3, 0)]
}
[sub_resource type="Animation" id="Animation_nps14"]
resource_name = "open"
length = 0.2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Door:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, -0.3, 0), Vector3(0, 2.25, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_kkevb"]
_data = {
&"RESET": SubResource("Animation_kkevb"),
&"open": SubResource("Animation_nps14")
}
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bmg36"]
metallic = 1.0
metallic_texture = ExtResource("16_nps14")
roughness_texture = ExtResource("18_3rulp")
normal_enabled = true
normal_texture = ExtResource("17_kkevb")
ao_enabled = true
uv1_scale = Vector3(3, 2, 1)
texture_filter = 2
[sub_resource type="BoxMesh" id="BoxMesh_i4yi7"]
material = SubResource("StandardMaterial3D_bmg36")
size = Vector3(1.25, 2.5, 0.1)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_0e0pl"]
data = PackedVector3Array(-0.625, 1.25, 0.05, 0.625, 1.25, 0.05, -0.625, -1.25, 0.05, 0.625, 1.25, 0.05, 0.625, -1.25, 0.05, -0.625, -1.25, 0.05, 0.625, 1.25, -0.05, -0.625, 1.25, -0.05, 0.625, -1.25, -0.05, -0.625, 1.25, -0.05, -0.625, -1.25, -0.05, 0.625, -1.25, -0.05, 0.625, 1.25, 0.05, 0.625, 1.25, -0.05, 0.625, -1.25, 0.05, 0.625, 1.25, -0.05, 0.625, -1.25, -0.05, 0.625, -1.25, 0.05, -0.625, 1.25, -0.05, -0.625, 1.25, 0.05, -0.625, -1.25, -0.05, -0.625, 1.25, 0.05, -0.625, -1.25, 0.05, -0.625, -1.25, -0.05, 0.625, 1.25, 0.05, -0.625, 1.25, 0.05, 0.625, 1.25, -0.05, -0.625, 1.25, 0.05, -0.625, 1.25, -0.05, 0.625, 1.25, -0.05, -0.625, -1.25, 0.05, 0.625, -1.25, 0.05, -0.625, -1.25, -0.05, 0.625, -1.25, 0.05, 0.625, -1.25, -0.05, -0.625, -1.25, -0.05)
[node name="PlayerShip" type="Node3D"]
script = ExtResource("1_0r2ng")
@ -307,7 +238,6 @@ shape = SubResource("ConcavePolygonShape3D_nafoa")
[node name="TankInteractor" type="StaticBody3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.85, 1.35, 4.5)
collision_layer = 2
collision_mask = 0
script = ExtResource("6_e4hmc")
@ -315,15 +245,8 @@ label = "GRUNK TANK"
verb = "deposit"
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
[node name="GrunkPumpSFX" type="AudioStreamPlayer3D" parent="TankInteractor"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.6)
stream = SubResource("AudioStreamRandomizer_53iah")
volume_db = -4.0
unit_size = 3.0
pitch_scale = 0.7
[node name="CollisionShape3D" type="CollisionShape3D" parent="TankInteractor"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.85, 1.35, 4.5)
shape = SubResource("SphereShape3D_e4hmc")
[node name="LiquidOffset" type="Node3D" parent="."]
@ -363,7 +286,7 @@ curve = SubResource("Curve3D_ta4yu")
script = ExtResource("13_i4yi7")
[node name="GrunkTerminal" parent="TerminalCable/Path3D" instance=ExtResource("13_3trrp")]
transform = Transform3D(-3.61999e-06, 0.25882, 0.965926, 0, 0.965926, -0.25882, -1, -9.36925e-07, -3.49664e-06, 0, -1.4, 0)
transform = Transform3D(-4.37114e-08, 0.258819, 0.965926, 0, 0.965926, -0.258819, -1, -1.13134e-08, -4.2222e-08, 0, -1.4, 0)
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="TerminalCable/Path3D/GrunkTerminal"]
stream = ExtResource("14_was05")
@ -376,48 +299,4 @@ libraries = {
&"": SubResource("AnimationLibrary_fw23o")
}
[node name="DoorArea" type="Area3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.55, -4.625)
collision_layer = 0
collision_mask = 8
script = ExtResource("16_kkevb")
[node name="CollisionShape3D" type="CollisionShape3D" parent="DoorArea"]
shape = SubResource("BoxShape3D_nps14")
[node name="DoorAnimation" type="AnimationPlayer" parent="DoorArea"]
unique_name_in_owner = true
libraries = {
&"": SubResource("AnimationLibrary_kkevb")
}
[node name="Door" type="MeshInstance3D" parent="DoorArea"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.3, 0)
mesh = SubResource("BoxMesh_i4yi7")
skeleton = NodePath("../..")
[node name="StaticBody3D" type="StaticBody3D" parent="DoorArea/Door"]
collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="DoorArea/Door/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_0e0pl")
[node name="OpenSFX" type="AudioStreamPlayer3D" parent="DoorArea/Door"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.2, 0)
stream = ExtResource("20_3rulp")
volume_db = -20.0
unit_size = 3.0
bus = &"SFX"
[node name="CloseSFX" type="AudioStreamPlayer3D" parent="DoorArea/Door"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.2, 0)
stream = ExtResource("21_bmg36")
volume_db = -16.0
unit_size = 4.0
bus = &"SFX"
[connection signal="activated" from="TankInteractor" to="." method="deposit_grunk"]
[connection signal="body_entered" from="DoorArea" to="DoorArea" method="_on_body_entered"]
[connection signal="body_exited" from="DoorArea" to="DoorArea" method="_on_body_exited"]

View File

@ -1,9 +1,7 @@
[gd_scene load_steps=20 format=3 uid="uid://xlt78xc1tmkl"]
[gd_scene load_steps=17 format=3 uid="uid://xlt78xc1tmkl"]
[ext_resource type="Texture2D" uid="uid://cgwgmxwjgwbwr" path="res://assets/particles/splatter_2.png" id="1_5xu2x"]
[ext_resource type="Texture2D" uid="uid://bhoai6xv53tqm" path="res://assets/particles/splatter_1.png" id="2_bt63p"]
[ext_resource type="AudioStream" uid="uid://di0j2xhgfc78s" path="res://assets/sfx/grunk/splat1.wav" id="3_t00bd"]
[ext_resource type="AudioStream" uid="uid://d1w5gfmjj7tjk" path="res://assets/sfx/grunk/splat2.wav" id="4_2iem1"]
[sub_resource type="Gradient" id="Gradient_5xu2x"]
offsets = PackedFloat32Array(0, 0.291304, 0.526087, 1)
@ -92,13 +90,6 @@ particles_anim_loop = false
material = SubResource("StandardMaterial3D_ckw5w")
size = Vector2(2, 2)
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_6adkd"]
playback_mode = 1
random_pitch = 1.2
streams_count = 2
stream_0/stream = ExtResource("3_t00bd")
stream_1/stream = ExtResource("4_2iem1")
[node name="GrunkSplatter" type="GPUParticles3D"]
sorting_offset = 9.0
amount = 64
@ -122,11 +113,4 @@ wait_time = 0.3
one_shot = true
autostart = true
[node name="SplatterSFX" type="AudioStreamPlayer3D" parent="."]
stream = SubResource("AudioStreamRandomizer_6adkd")
volume_db = -20.0
unit_size = 6.0
autoplay = true
bus = &"SFX"
[connection signal="timeout" from="FreeTimer" to="." method="queue_free"]

View File

@ -12,8 +12,6 @@ const CLEAN_THRESHOLD := 1400
@onready var light_animation: AnimationPlayer = %LightAnimation
@onready var gunk_body: GunkBody = %GunkBody
@onready var interactive: Interactive = %Interactive
@onready var action_sfx: AudioStreamPlayer3D = %ActionSFX
@onready var action_delay: Timer = %ActionDelay
# XXX I must have been smoking crack when I wrote this logic. Why so complicated?
@ -64,8 +62,7 @@ func _on_clean() -> void:
func _activate() -> void:
animation_player.play("activate")
action_sfx.play()
action_delay.start()
activated.emit()
# Disable while animation is playing
interactive.enabled = false
@ -78,7 +75,3 @@ func _animation_finished(anim_name: StringName) -> void:
func _on_gunk_body_clear_total_updated(clear_total: float) -> void:
if not clean and clear_total >= CLEAN_THRESHOLD:
_on_clean()
func _on_action_delay_timeout() -> void:
activated.emit()

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=30 format=4 uid="uid://b6eg8t04rkh0c"]
[gd_scene load_steps=29 format=4 uid="uid://b6eg8t04rkh0c"]
[ext_resource type="Script" uid="uid://bkmn5m47mt1gh" path="res://src/props/wall_switch/wall_switch.gd" id="2_kfvqd"]
[ext_resource type="Texture2D" uid="uid://1wjcyqynwlb6" path="res://assets/props/wall_switch/wall_switch_C.png" id="2_vufqs"]
@ -11,7 +11,6 @@
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="9_7shuc"]
[ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="10_qw6jt"]
[ext_resource type="AudioStream" uid="uid://bgayfws34lg7q" path="res://assets/sfx/click_electronic_04.wav" id="11_7shuc"]
[ext_resource type="AudioStream" uid="uid://cnje66wrijwxw" path="res://assets/sfx/wall_switch.wav" id="12_2qpft"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jtkkw"]
resource_local_to_scene = true
@ -301,19 +300,6 @@ script = ExtResource("10_qw6jt")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Interactive" index="0"]
shape = SubResource("BoxShape3D_6maql")
[node name="ActionSFX" type="AudioStreamPlayer3D" parent="." index="5"]
unique_name_in_owner = true
stream = ExtResource("12_2qpft")
volume_db = -12.0
unit_size = 3.0
bus = &"SFX"
[node name="ActionDelay" type="Timer" parent="." index="6"]
unique_name_in_owner = true
wait_time = 2.8
one_shot = true
[connection signal="animation_finished" from="AnimationPlayer" to="." method="_animation_finished"]
[connection signal="clear_total_updated" from="GunkBody" to="." method="_on_gunk_body_clear_total_updated"]
[connection signal="activated" from="Interactive" to="." method="_activate"]
[connection signal="timeout" from="ActionDelay" to="." method="_on_action_delay_timeout"]

View File

@ -1,12 +1,11 @@
[gd_scene load_steps=12 format=4 uid="uid://2yqi5u5eo025"]
[gd_scene load_steps=11 format=4 uid="uid://2yqi5u5eo025"]
[ext_resource type="Script" uid="uid://07t7yhijru8f" path="res://src/world/gunk_node/grunk_nodule.gd" id="1_iyr82"]
[ext_resource type="PackedScene" uid="uid://xlt78xc1tmkl" path="res://src/effects/grunk_splatter.tscn" id="2_m8r0a"]
[ext_resource type="Material" uid="uid://bmab6i16v748m" path="res://assets/materials/grunk_jittery.material" id="3_eu6j6"]
[ext_resource type="AudioStream" uid="uid://bb560r2wvjfht" path="res://assets/sfx/grunk/greeble1.wav" id="4_7fplw"]
[ext_resource type="AudioStream" uid="uid://dunakapj3mb0h" path="res://assets/sfx/grunk/greeble2.wav" id="5_omayi"]
[ext_resource type="AudioStream" uid="uid://6bgyoaclmu8c" path="res://assets/sfx/grunk/greeble3.wav" id="6_yg8lg"]
[ext_resource type="AudioStream" uid="uid://7nj6bldnhos3" path="res://assets/sfx/grunk/greeble4.wav" id="7_4kci5"]
[ext_resource type="AudioStream" uid="uid://b288km80xeh0" path="res://assets/sfx/grunk/groan1.wav" id="4_ri4uq"]
[ext_resource type="AudioStream" uid="uid://bujyltdunajj4" path="res://assets/sfx/grunk/groan2.wav" id="5_7fplw"]
[ext_resource type="AudioStream" uid="uid://bvtopyke5d17x" path="res://assets/sfx/grunk/groan3.wav" id="6_omayi"]
[sub_resource type="ArrayMesh" id="ArrayMesh_24j8i"]
_surfaces = [{
@ -45,11 +44,10 @@ data = PackedVector3Array(0.7236, -0.4472, 0.5257, 0, -1, 0, -0.2764, -0.4472, 0
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_yg8lg"]
random_pitch = 1.1
streams_count = 4
stream_0/stream = ExtResource("4_7fplw")
stream_1/stream = ExtResource("5_omayi")
stream_2/stream = ExtResource("6_yg8lg")
stream_3/stream = ExtResource("7_4kci5")
streams_count = 3
stream_0/stream = ExtResource("4_ri4uq")
stream_1/stream = ExtResource("5_7fplw")
stream_2/stream = ExtResource("6_omayi")
[node name="GrunkNodule" type="StaticBody3D"]
collision_layer = 5
@ -68,9 +66,7 @@ shape = SubResource("ConcavePolygonShape3D_530fq")
[node name="ChitterSFX" type="AudioStreamPlayer3D" parent="."]
unique_name_in_owner = true
stream = SubResource("AudioStreamRandomizer_yg8lg")
volume_db = -14.0
unit_size = 4.0
panning_strength = 3.0
volume_db = -20.0
bus = &"SFX"
[node name="ChitterTimer" type="Timer" parent="."]

View File

@ -15,7 +15,6 @@ var _busy := false
@onready var pulse_listener_timer: Timer = %PulseListenerTimer
@onready var animation_player: AnimationPlayer = $FrameSkipper/AlarmMesh/AnimationPlayer
@onready var bud: MeshInstance3D = $FrameSkipper/AlarmMesh/Armature/Skeleton3D/Bud
@onready var alarm_sfx: AudioStreamPlayer3D = %AlarmSFX
## Trigger this alarm.
@ -26,7 +25,6 @@ func trigger() -> void:
_busy = true
Game.manager.raise_alert(ALERT_DELTA)
animation_player.play("trigger")
alarm_sfx.play()
## Pulse this alarm, resetting the pulse countdown until triggering.

View File

@ -1,11 +1,10 @@
[gd_scene load_steps=10 format=4 uid="uid://dgeg3kkogm71m"]
[gd_scene load_steps=9 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="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="Material" uid="uid://cdpvcruywnp4x" path="res://src/world/mechanics/alarm/alarm_core.material" id="4_c5y52"]
[ext_resource type="AudioStream" uid="uid://ypk1d4adrcs" path="res://assets/sfx/grunk/alarm_screech.wav" id="6_6vdvf"]
[sub_resource type="ArrayMesh" id="ArrayMesh_c5y52"]
resource_local_to_scene = true
@ -100,7 +99,7 @@ bones/28/rotation = Quaternion(0.362943, -7.93195e-08, 1.03952e-07, 0.931811)
mesh = SubResource("ArrayMesh_c5y52")
[node name="AnimationPlayer" parent="FrameSkipper/AlarmMesh" index="1"]
speed_scale = 7.4
speed_scale = 4.0
[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)
@ -115,11 +114,6 @@ shape = SubResource("ConcavePolygonShape3D_bxx3m")
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
[connection signal="timeout" from="PulseListenerTimer" to="." method="trigger"]
[editable path="FrameSkipper/AlarmMesh"]

View File

@ -1,8 +1,7 @@
[gd_scene load_steps=11 format=4 uid="uid://d0j20q65wnqsr"]
[gd_scene load_steps=10 format=4 uid="uid://d0j20q65wnqsr"]
[ext_resource type="Script" uid="uid://d2k75cyykkk0s" path="res://src/world/mechanics/heart/gunk_heart.gd" id="1_ftym0"]
[ext_resource type="Script" uid="uid://bukihqt1lybnx" path="res://src/util/frame_skipper.gd" id="2_xgyvt"]
[ext_resource type="AudioStream" uid="uid://0usonf3pjh3o" path="res://assets/sfx/grunk/heartbeat.wav" id="3_eu6st"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xgyvt"]
albedo_color = Color(0, 0.0313726, 0.101961, 1)
@ -70,18 +69,6 @@ tracks/1/keys = {
"update": 0,
"values": [0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("HeartbeatSFX:playing")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_eu6st"]
resource_name = "pulse"
@ -110,18 +97,6 @@ tracks/1/keys = {
"update": 0,
"values": [0.0, 2.0, 0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("HeartbeatSFX:playing")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_kv3oi"]
_data = {
@ -159,9 +134,4 @@ libraries = {
}
speed_scale = 4.0
[node name="HeartbeatSFX" type="AudioStreamPlayer3D" parent="."]
stream = ExtResource("3_eu6st")
unit_size = 0.4
bus = &"SFX"
[connection signal="timeout" from="PulseTimer" to="." method="pulse"]

View File

@ -49,8 +49,8 @@
- [ ] ui bonk
- [ ] prop clear glitter
- [x] computer bleep on reload
- [x] grunk tank deposit schlorp
- [x] player ship door
- [ ] grunk tank deposit schlorp
- [ ] player ship door
- [x] metal footsteps
- [x] plastic footsteps
- [x] grunk footsteps
@ -58,13 +58,11 @@
- [x] spray noises
- [ ] switch klaxon
- [x] switch OK
- [x] switch activation
- [ ] switch activation
- [x] bulkhead opening
- [x] grunk nodule splatter
- [x] grunk alarm shriek
- [ ] grunk relay pulse
- [x] grunk heartbeat
- [x] grunk chittering
- [ ] grunk alarm shriek
- [ ] grunk relay chitter
- [ ] grunk chittering
- [ ] grunkbeast???
- [x] grunk ambiance
- [x] spaceship ambiance

View File

@ -51,50 +51,4 @@
- CC0
- retrieved from https://freesound.org/people/Clagnar/sounds/547256/
- assets/sfx/computer_noise.wav
- modified
- "door future open.wav"
- author: speakingmusic
- CC0
- retrieved from https://freesound.org/people/speakingmusic/sounds/386073/
- assets/sfx/space_door*.wav
- modified
- "Slime Creature Movement (large and messy)"
- author: SilverIllusionist
- CC BY 4.0
- retrieved from https://freesound.org/people/SilverIllusionist/sounds/671112/
- assets/sfx/grunk/pump.wav
- modified
- "Alien_Monster_Scream.wav"
- author: audione
- CC0
- retrieved from https://freesound.org/people/audione/sounds/161404/
- assets/sfx/grunk/alarm_screech.wav
- modified
- "Breaker-1.wav"
- author: Deathscyp
- CC0
- retrieved from https://freesound.org/people/Deathscyp/sounds/404049/
- assets/sfx/wall_switch.wav
- modified
- "Pulling a lever.mp3"
- author: A_Kuha
- CC0
- retrieved from https://freesound.org/people/A_Kuha/sounds/676412/
- assets/sfx/wall_switch.wav
- modified
- "pulse tone echo" pack
- author: martian
- CC0
- retrieved from https://freesound.org/people/martian/packs/1173/
- assets/sfx/grunk/greeble*.wav
- modified
- "HeartBeatNEW.aif"
- author: Woodingp
- CC0
- retrieved from https://freesound.org/people/Woodingp/sounds/116642/
- assets/sfx/grunk/heartbeat.wav
- "splat.wav"
- author: zolopher
- CC0
- retrieved from https://freesound.org/people/zolopher/sounds/44203/
- assets/sfx/grunk/splat*.wav
- modified