Add ambient music which changes based on pill level
This commit is contained in:
parent
67f38c1f24
commit
5b6fe3e2c8
@ -28,6 +28,11 @@ func get_level() -> float:
|
|||||||
return _level
|
return _level
|
||||||
|
|
||||||
|
|
||||||
|
# Returns the currenct level as a floating point number between 0 and 1
|
||||||
|
func get_normalized_level() -> float:
|
||||||
|
return _level / _max
|
||||||
|
|
||||||
|
|
||||||
# Returns the rounded level, e.g. for behavior which changes stepwise (X at level 6, Y at level 5, ...)
|
# Returns the rounded level, e.g. for behavior which changes stepwise (X at level 6, Y at level 5, ...)
|
||||||
func get_round_level():
|
func get_round_level():
|
||||||
return ceil(get_level())
|
return ceil(get_level())
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=20 format=2]
|
[gd_scene load_steps=21 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://Characters/Player/Player.tscn" type="PackedScene" id=1]
|
[ext_resource path="res://Characters/Player/Player.tscn" type="PackedScene" id=1]
|
||||||
[ext_resource path="res://Level/Interactables/Keycard/Keycard.tscn" type="PackedScene" id=2]
|
[ext_resource path="res://Level/Interactables/Keycard/Keycard.tscn" type="PackedScene" id=2]
|
||||||
@ -12,6 +12,7 @@
|
|||||||
[ext_resource path="res://Util/NodeGroupNotifier.tscn" type="PackedScene" id=10]
|
[ext_resource path="res://Util/NodeGroupNotifier.tscn" type="PackedScene" id=10]
|
||||||
[ext_resource path="res://Characters/Util/PathNavigatorForNPC.tscn" type="PackedScene" id=11]
|
[ext_resource path="res://Characters/Util/PathNavigatorForNPC.tscn" type="PackedScene" id=11]
|
||||||
[ext_resource path="res://Characters/Meldewesen/Meldewesen.tscn" type="PackedScene" id=12]
|
[ext_resource path="res://Characters/Meldewesen/Meldewesen.tscn" type="PackedScene" id=12]
|
||||||
|
[ext_resource path="res://Util/AmbiencePlayer.tscn" type="PackedScene" id=13]
|
||||||
|
|
||||||
[sub_resource type="BoxShape" id=1]
|
[sub_resource type="BoxShape" id=1]
|
||||||
|
|
||||||
@ -44,18 +45,18 @@ _data = {
|
|||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 7 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 7 )
|
||||||
|
|
||||||
[node name="Collectibles" type="Spatial" parent="."]
|
[node name="Collectibles" type="Spatial" parent="."]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 15.0831, 1.63203, 13.0809 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 15.0831, 1.63203, 13.0809 )
|
||||||
|
|
||||||
[node name="Keycard" parent="Collectibles" groups=[
|
[node name="Keycard" parent="Collectibles" groups=[
|
||||||
"Collectibles",
|
"Collectibles",
|
||||||
] instance=ExtResource( 2 )]
|
] instance=ExtResource( 2 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 203.861, -0.63203, 110.591 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 203.861, -0.63203, 110.591 )
|
||||||
card_lvl = 1
|
card_lvl = 1
|
||||||
|
|
||||||
[node name="Key" parent="Collectibles" groups=[
|
[node name="Key" parent="Collectibles" groups=[
|
||||||
"Collectibles",
|
"Collectibles",
|
||||||
] instance=ExtResource( 3 )]
|
] instance=ExtResource( 3 )]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -75.0183, 0, -2.86102e-006 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -75.0183, 0, -2.86102e-06 )
|
||||||
key_id = 1
|
key_id = 1
|
||||||
|
|
||||||
[node name="Area" type="Area" parent="Collectibles/Key" groups=[
|
[node name="Area" type="Area" parent="Collectibles/Key" groups=[
|
||||||
@ -70,61 +71,61 @@ shape = SubResource( 1 )
|
|||||||
editor/display_folded = true
|
editor/display_folded = true
|
||||||
|
|
||||||
[node name="Door" parent="Touchables" instance=ExtResource( 4 )]
|
[node name="Door" parent="Touchables" instance=ExtResource( 4 )]
|
||||||
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, 73.152, 2, -191.228 )
|
transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 73.152, 2, -191.228 )
|
||||||
door_lvl = 1
|
door_lvl = 1
|
||||||
|
|
||||||
[node name="Lever" parent="Touchables" instance=ExtResource( 5 )]
|
[node name="Lever" parent="Touchables" instance=ExtResource( 5 )]
|
||||||
transform = Transform( 1.19249e-008, 0, -1, 0, 1, 0, 1, 0, 1.19249e-008, 5.94476, 2, 11.731 )
|
transform = Transform( 1.19249e-08, 0, -1, 0, 1, 0, 1, 0, 1.19249e-08, 5.94476, 2, 11.731 )
|
||||||
|
|
||||||
[node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="."]
|
[node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="."]
|
||||||
navmesh = SubResource( 2 )
|
navmesh = SubResource( 2 )
|
||||||
|
|
||||||
[node name="PlayerHouse" parent="NavigationMeshInstance" instance=ExtResource( 6 )]
|
[node name="PlayerHouse" parent="NavigationMeshInstance" instance=ExtResource( 6 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 13, 0, 14 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 13, 0, 14 )
|
||||||
|
|
||||||
[node name="BuildingBlocks" type="Spatial" parent="NavigationMeshInstance"]
|
[node name="BuildingBlocks" type="Spatial" parent="NavigationMeshInstance"]
|
||||||
|
|
||||||
[node name="BuildingBlock" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, -13 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -13, 0, -13 )
|
||||||
|
|
||||||
[node name="BuildingBlock2" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock2" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 13, 0, -13 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 13, 0, -13 )
|
||||||
|
|
||||||
[node name="BuildingBlock11" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock11" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 13, 0, 41 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 13, 0, 41 )
|
||||||
|
|
||||||
[node name="BuildingBlock12" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock12" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, 14 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -13, 0, 14 )
|
||||||
|
|
||||||
[node name="BuildingBlock13" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock13" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, 41 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -13, 0, 41 )
|
||||||
|
|
||||||
[node name="BuildingBlock14" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock14" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0, 47 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0, 47 )
|
||||||
|
|
||||||
[node name="BuildingBlock15" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock15" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, 41, 0, 95 )
|
transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 41, 0, 95 )
|
||||||
|
|
||||||
[node name="BuildingBlock21" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock21" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, 41, 0, 68 )
|
transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 41, 0, 68 )
|
||||||
|
|
||||||
[node name="BuildingBlock16" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock16" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -13, 0, 68 )
|
transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -13, 0, 68 )
|
||||||
|
|
||||||
[node name="BuildingBlock20" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock20" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -13, 0, 95 )
|
transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -13, 0, 95 )
|
||||||
|
|
||||||
[node name="BuildingBlock17" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock17" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -1, 0, 8.74228e-008, 0, 1, 0, -8.74228e-008, 0, -1, 8, 0, 116 )
|
transform = Transform( -1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 8, 0, 116 )
|
||||||
|
|
||||||
[node name="BuildingBlock18" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock18" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -1, 0, 8.74228e-008, 0, 1, 0, -8.74228e-008, 0, -1, 35, 0, 116 )
|
transform = Transform( -1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 35, 0, 116 )
|
||||||
|
|
||||||
[node name="BuildingBlock3" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock3" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 13, 0, -40 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 13, 0, -40 )
|
||||||
|
|
||||||
[node name="BuildingBlock4" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock4" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, -40 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -13, 0, -40 )
|
||||||
|
|
||||||
[node name="BuildingBlock5" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock5" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -88 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -88 )
|
||||||
@ -133,10 +134,10 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -88 )
|
|||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -46 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -46 )
|
||||||
|
|
||||||
[node name="BuildingBlock9" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock9" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, -94 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -13, 0, -94 )
|
||||||
|
|
||||||
[node name="BuildingBlock24" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock24" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, -121 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -13, 0, -121 )
|
||||||
|
|
||||||
[node name="BuildingBlock25" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock25" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, -127 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, -127 )
|
||||||
@ -175,19 +176,19 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 0, -211 )
|
|||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -35, 0, -211 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -35, 0, -211 )
|
||||||
|
|
||||||
[node name="BuildingBlock47" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock47" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -56, 0, -217 )
|
transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -56, 0, -217 )
|
||||||
|
|
||||||
[node name="BuildingBlock48" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock48" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -71, 0, -217 )
|
transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -71, 0, -217 )
|
||||||
|
|
||||||
[node name="BuildingBlock50" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock50" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -71, 0, -244 )
|
transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -71, 0, -244 )
|
||||||
|
|
||||||
[node name="BuildingBlock51" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock51" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -1, 0, 8.74228e-008, 0, 1, 0, -8.74228e-008, 0, -1, -92, 0, -250 )
|
transform = Transform( -1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -92, 0, -250 )
|
||||||
|
|
||||||
[node name="BuildingBlock52" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock52" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( 1.31134e-007, 0, 1, 0, 1, 0, -1, 0, 1.31134e-007, -113, 0, -256 )
|
transform = Transform( 1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -113, 0, -256 )
|
||||||
|
|
||||||
[node name="BuildingBlock32" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock32" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, -169 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, -169 )
|
||||||
@ -199,7 +200,7 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -19, 0, -169 )
|
|||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -46, 0, -169 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -46, 0, -169 )
|
||||||
|
|
||||||
[node name="BuildingBlock35" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock35" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -67, 0, -163 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -67, 0, -163 )
|
||||||
|
|
||||||
[node name="BuildingBlock36" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock36" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -76, 0, -142 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -76, 0, -142 )
|
||||||
@ -208,24 +209,24 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -76, 0, -142 )
|
|||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -103, 0, -142 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -103, 0, -142 )
|
||||||
|
|
||||||
[node name="BuildingBlock27" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock27" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 41, 0, -148 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 41, 0, -148 )
|
||||||
|
|
||||||
[node name="BuildingBlock28" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock28" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 79, 0, -109 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 79, 0, -109 )
|
||||||
|
|
||||||
[node name="BuildingBlock29" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock29" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 79, 0, -136 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 79, 0, -136 )
|
||||||
|
|
||||||
[node name="BuildingBlock30" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock30" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 79, 0, -163 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 79, 0, -163 )
|
||||||
|
|
||||||
[node name="BuildingBlock39" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock39" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 133, 0, -190 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 133, 0, -190 )
|
||||||
|
|
||||||
[node name="MeldewesenHome" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
|
[node name="MeldewesenHome" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
|
||||||
|
|
||||||
[node name="BuildingBlock6" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock6" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 13, 0, -67 )
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 13, 0, -67 )
|
||||||
|
|
||||||
[node name="BuildingBlock7" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
[node name="BuildingBlock7" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, -88 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, -88 )
|
||||||
@ -275,3 +276,5 @@ curve = SubResource( 7 )
|
|||||||
body_nodepath = NodePath("Meldewesen")
|
body_nodepath = NodePath("Meldewesen")
|
||||||
|
|
||||||
[node name="Meldewesen" parent="PathNavigatorForNPC" instance=ExtResource( 12 )]
|
[node name="Meldewesen" parent="PathNavigatorForNPC" instance=ExtResource( 12 )]
|
||||||
|
|
||||||
|
[node name="AmbiencePlayer" parent="." instance=ExtResource( 13 )]
|
||||||
|
BIN
Resources/Audio/Ambience/masked_ambience.wav
Normal file
BIN
Resources/Audio/Ambience/masked_ambience.wav
Normal file
Binary file not shown.
21
Resources/Audio/Ambience/masked_ambience.wav.import
Normal file
21
Resources/Audio/Ambience/masked_ambience.wav.import
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamSample"
|
||||||
|
path="res://.import/masked_ambience.wav-6753faa28aa6ef687bfa3f9d915f3916.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Resources/Audio/Ambience/masked_ambience.wav"
|
||||||
|
dest_files=[ "res://.import/masked_ambience.wav-6753faa28aa6ef687bfa3f9d915f3916.sample" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=true
|
||||||
|
edit/normalize=true
|
||||||
|
edit/loop=true
|
||||||
|
compress/mode=0
|
BIN
Resources/Audio/Ambience/melody.wav
Normal file
BIN
Resources/Audio/Ambience/melody.wav
Normal file
Binary file not shown.
21
Resources/Audio/Ambience/melody.wav.import
Normal file
21
Resources/Audio/Ambience/melody.wav.import
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamSample"
|
||||||
|
path="res://.import/melody.wav-2d579ec9769452178b8c2ceca3b8ba9e.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Resources/Audio/Ambience/melody.wav"
|
||||||
|
dest_files=[ "res://.import/melody.wav-2d579ec9769452178b8c2ceca3b8ba9e.sample" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=true
|
||||||
|
edit/normalize=true
|
||||||
|
edit/loop=true
|
||||||
|
compress/mode=0
|
BIN
Resources/Audio/Ambience/true_ambience.wav
Normal file
BIN
Resources/Audio/Ambience/true_ambience.wav
Normal file
Binary file not shown.
21
Resources/Audio/Ambience/true_ambience.wav.import
Normal file
21
Resources/Audio/Ambience/true_ambience.wav.import
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamSample"
|
||||||
|
path="res://.import/true_ambience.wav-61169b761e5a621d378c2ccef4d4937b.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Resources/Audio/Ambience/true_ambience.wav"
|
||||||
|
dest_files=[ "res://.import/true_ambience.wav-61169b761e5a621d378c2ccef4d4937b.sample" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=true
|
||||||
|
edit/normalize=true
|
||||||
|
edit/loop=true
|
||||||
|
compress/mode=0
|
58
Util/AmbiencePlayer.gd
Normal file
58
Util/AmbiencePlayer.gd
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
|
||||||
|
export(float) var true_ambience_begin_threshold = 0.75
|
||||||
|
export(float) var masked_ambience_begin_threshold = 0.4
|
||||||
|
export(float) var max_volume = 0.15
|
||||||
|
export(float) var min_pitch_scale = 0.97 # The pitch won't go down lower than this when the player is sober
|
||||||
|
export(float) var sync_threshold = 0.1 # If audio streams are further apart than this (in seconds), they are re-synced
|
||||||
|
|
||||||
|
onready var melody = get_node("Melody") as AudioStreamPlayer
|
||||||
|
onready var true_ambience = get_node("TrueAmbience") as AudioStreamPlayer
|
||||||
|
onready var masked_ambience = get_node("MaskedAmbience") as AudioStreamPlayer
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready() -> void:
|
||||||
|
_update_volumes()
|
||||||
|
melody.volume_db = linear2db(max_volume) # This one is constant, so it's only set once here
|
||||||
|
|
||||||
|
melody.playing = true
|
||||||
|
true_ambience.playing = true
|
||||||
|
masked_ambience.playing = true
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
_update_volumes()
|
||||||
|
|
||||||
|
|
||||||
|
func _update_volumes():
|
||||||
|
var level = Pills.get_normalized_level()
|
||||||
|
|
||||||
|
if level < masked_ambience_begin_threshold:
|
||||||
|
masked_ambience.volume_db = linear2db(0.0)
|
||||||
|
true_ambience.volume_db = linear2db(max_volume)
|
||||||
|
elif level < true_ambience_begin_threshold:
|
||||||
|
# Get the distance between the masked and true thresholds as a value between 0 and 1
|
||||||
|
var normalized_distance_within_thresholds = inverse_lerp(masked_ambience_begin_threshold, true_ambience_begin_threshold, level)
|
||||||
|
|
||||||
|
# Scale volumes accordingly
|
||||||
|
masked_ambience.volume_db = linear2db(normalized_distance_within_thresholds * max_volume)
|
||||||
|
true_ambience.volume_db = linear2db((1.0 - normalized_distance_within_thresholds) * max_volume)
|
||||||
|
else:
|
||||||
|
masked_ambience.volume_db = linear2db(max_volume)
|
||||||
|
true_ambience.volume_db = linear2db(0.0)
|
||||||
|
|
||||||
|
# Decrease the pitch when the player is sober
|
||||||
|
var pitch = lerp(min_pitch_scale, 1.0, level)
|
||||||
|
|
||||||
|
melody.pitch_scale = pitch
|
||||||
|
masked_ambience.pitch_scale = pitch
|
||||||
|
true_ambience.pitch_scale = pitch
|
||||||
|
|
||||||
|
# Make sure that everything stays in sync - the melody is the leader
|
||||||
|
if abs(true_ambience.get_playback_position() - melody.get_playback_position()) > sync_threshold:
|
||||||
|
true_ambience.seek(melody.get_playback_position())
|
||||||
|
|
||||||
|
if abs(masked_ambience.get_playback_position() - melody.get_playback_position()) > sync_threshold:
|
||||||
|
masked_ambience.seek(melody.get_playback_position())
|
18
Util/AmbiencePlayer.tscn
Normal file
18
Util/AmbiencePlayer.tscn
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
[gd_scene load_steps=5 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://Util/AmbiencePlayer.gd" type="Script" id=1]
|
||||||
|
[ext_resource path="res://Resources/Audio/Ambience/melody.wav" type="AudioStream" id=2]
|
||||||
|
[ext_resource path="res://Resources/Audio/Ambience/true_ambience.wav" type="AudioStream" id=3]
|
||||||
|
[ext_resource path="res://Resources/Audio/Ambience/masked_ambience.wav" type="AudioStream" id=4]
|
||||||
|
|
||||||
|
[node name="AmbiencePlayer" type="Node"]
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
|
[node name="Melody" type="AudioStreamPlayer" parent="."]
|
||||||
|
stream = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="TrueAmbience" type="AudioStreamPlayer" parent="."]
|
||||||
|
stream = ExtResource( 3 )
|
||||||
|
|
||||||
|
[node name="MaskedAmbience" type="AudioStreamPlayer" parent="."]
|
||||||
|
stream = ExtResource( 4 )
|
Loading…
x
Reference in New Issue
Block a user