diff --git a/Characters/Meldewesen/Meldewesen.gd b/Characters/Meldewesen/Meldewesen.gd index 3be92fd..3f78ece 100644 --- a/Characters/Meldewesen/Meldewesen.gd +++ b/Characters/Meldewesen/Meldewesen.gd @@ -20,6 +20,14 @@ enum BEHAVIOR { } var _curMood # current set behavior +var _voice_clips = { + "go_to_work": preload("res://Resources/Audio/to-work.wav"), + "go_home": preload("res://Resources/Audio/go-home.wav"), + "take_pills": preload("res://Resources/Audio/take-pills.wav"), + "do_job": preload("res://Resources/Audio/do-job.wav"), + "stop": preload("res://Resources/Audio/Stop you violated the law.wav") +} + var _visibility: Area var _interactArea: Area var _audioPlayer: AudioStreamPlayer3D @@ -99,19 +107,19 @@ func _load_sound (): _audioPlayer.stream = null BEHAVIOR.GO_WORK: Logger.info("say go to work") - _audioPlayer.stream = load("res://Resources/Audio/to-work.wav") + _audioPlayer.stream = _voice_clips.go_to_work BEHAVIOR.GO_HOME: Logger.info("say go home") - _audioPlayer.stream = load("res://Resources/Audio/go-home.wav") + _audioPlayer.stream = _voice_clips.go_home BEHAVIOR.TAKE_PILLS: Logger.info("say take your pills") - _audioPlayer.stream = load("res://Resources/Audio/take-pills.wav") + _audioPlayer.stream = _voice_clips.take_pills BEHAVIOR.DO_JOB: Logger.info("say do your job") - _audioPlayer.stream = load("res://Resources/Audio/do-job.wav") + _audioPlayer.stream = _voice_clips.do_job BEHAVIOR.ANGRY: Logger.info("say stop!") - _audioPlayer.stream = load("res://Resources/Audio/Stop you violated the law.wav") + _audioPlayer.stream = _voice_clips.stop func _set_behavior (): diff --git a/Characters/Meldewesen/Meldewesen.tscn b/Characters/Meldewesen/Meldewesen.tscn index fd95a56..beba561 100644 --- a/Characters/Meldewesen/Meldewesen.tscn +++ b/Characters/Meldewesen/Meldewesen.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=15 format=2] [ext_resource path="res://Characters/Meldewesen/Meldewesen.gd" type="Script" id=1] [ext_resource path="res://Resources/Models/Body.material" type="Material" id=2] @@ -99,7 +99,10 @@ surfaces/0 = { [sub_resource type="CylinderShape" id=5] -[sub_resource type="CylinderMesh" id=6] +[sub_resource type="ConvexPolygonShape" id=6] +points = PoolVector3Array( 0, 10, 10, 0.980171, 10, 9.95185, 1.9509, 10, 9.80785, 2.90285, 10, 9.5694, 3.82683, 10, 9.2388, 4.71397, 10, 8.81921, 5.5557, 10, 8.3147, 6.34393, 10, 7.7301, 7.07107, 10, 7.07107, 7.7301, 10, 6.34393, 8.3147, 10, 5.5557, 8.81921, 10, 4.71397, 9.2388, 10, 3.82683, 9.5694, 10, 2.90285, 9.80785, 10, 1.9509, 9.95185, 10, 0.980171, 10, 10, 6.12323e-16, 9.95185, 10, -0.980171, 9.80785, 10, -1.9509, 9.5694, 10, -2.90285, 9.2388, 10, -3.82683, 8.81921, 10, -4.71397, 8.3147, 10, -5.5557, 7.7301, 10, -6.34393, 7.07107, 10, -7.07107, 6.34393, 10, -7.7301, 5.5557, 10, -8.3147, 4.71397, 10, -8.81921, 3.82683, 10, -9.2388, 2.90285, 10, -9.5694, 1.9509, 10, -9.80785, 0.980171, 10, -9.95185, 1.22465e-15, 10, -10, -0.980171, 10, -9.95185, -1.9509, 10, -9.80785, -2.90285, 10, -9.5694, -3.82683, 10, -9.2388, -4.71397, 10, -8.81921, -5.5557, 10, -8.3147, -6.34393, 10, -7.7301, -7.07107, 10, -7.07107, -7.7301, 10, -6.34393, -8.3147, 10, -5.5557, -8.81921, 10, -4.71397, -9.2388, 10, -3.82683, -9.5694, 10, -2.90285, -9.80785, 10, -1.9509, -9.95185, 10, -0.980171, -10, 10, -1.83697e-15, -9.95185, 10, 0.980171, -9.80785, 10, 1.9509, -9.5694, 10, 2.90285, -9.2388, 10, 3.82683, -8.81921, 10, 4.71397, -8.3147, 10, 5.5557, -7.7301, 10, 6.34393, -7.07107, 10, 7.07107, -6.34393, 10, 7.7301, -5.5557, 10, 8.3147, -4.71397, 10, 8.81921, -3.82683, 10, 9.2388, -2.90285, 10, 9.5694, -1.9509, 10, 9.80785, -0.980171, 10, 9.95185, -2.44929e-15, 10, 10, 0, 6, 8.1, 0.793939, 6, 8.061, 1.58023, 6, 7.94436, 2.35131, 6, 7.75122, 3.09974, 6, 7.48342, 3.81831, 6, 7.14356, 4.50012, 6, 6.7349, 5.13859, 6, 6.26138, 5.72757, 6, 5.72757, 6.26138, 6, 5.13859, 6.7349, 6, 4.50012, 7.14356, 6, 3.81831, 7.48342, 6, 3.09974, 7.75122, 6, 2.35131, 7.94436, 6, 1.58023, 8.061, 6, 0.793939, 8.1, 6, 4.95982e-16, 8.061, 6, -0.793939, 7.94436, 6, -1.58023, 7.75122, 6, -2.35131, 7.48342, 6, -3.09974, 7.14356, 6, -3.81831, 6.7349, 6, -4.50012, 6.26138, 6, -5.13859, 5.72757, 6, -5.72757, 5.13859, 6, -6.26138, 4.50012, 6, -6.7349, 3.81831, 6, -7.14356, 3.09974, 6, -7.48342, 2.35131, 6, -7.75122, 1.58023, 6, -7.94436, 0.793939, 6, -8.061, 9.91964e-16, 6, -8.1, -0.793939, 6, -8.061, -1.58023, 6, -7.94436, -2.35131, 6, -7.75122, -3.09974, 6, -7.48342, -3.81831, 6, -7.14356, -4.50012, 6, -6.7349, -5.13859, 6, -6.26138, -5.72757, 6, -5.72757, -6.26138, 6, -5.13859, -6.7349, 6, -4.50012, -7.14356, 6, -3.81831, -7.48342, 6, -3.09974, -7.75122, 6, -2.35131, -7.94436, 6, -1.58023, -8.061, 6, -0.793939, -8.1, 6, -1.48795e-15, -8.061, 6, 0.793939, -7.94436, 6, 1.58023, -7.75122, 6, 2.35131, -7.48342, 6, 3.09974, -7.14356, 6, 3.81831, -6.7349, 6, 4.50012, -6.26138, 6, 5.13859, -5.72757, 6, 5.72757, -5.13859, 6, 6.26138, -4.50012, 6, 6.7349, -3.81831, 6, 7.14356, -3.09974, 6, 7.48342, -2.35131, 6, 7.75122, -1.58023, 6, 7.94436, -0.793939, 6, 8.061, -1.98393e-15, 6, 8.1, 0, 2, 6.2, 0.607706, 2, 6.17015, 1.20956, 2, 6.08087, 1.79976, 2, 5.93303, 2.37264, 2, 5.72805, 2.92266, 2, 5.46791, 3.44454, 2, 5.15511, 3.93324, 2, 4.79266, 4.38406, 2, 4.38406, 4.79266, 2, 3.93324, 5.15511, 2, 3.44454, 5.46791, 2, 2.92266, 5.72805, 2, 2.37264, 5.93303, 2, 1.79976, 6.08087, 2, 1.20956, 6.17015, 2, 0.607706, 6.2, 2, 3.79641e-16, 6.17015, 2, -0.607706, 6.08087, 2, -1.20956, 5.93303, 2, -1.79976, 5.72805, 2, -2.37264, 5.46791, 2, -2.92266, 5.15511, 2, -3.44454, 4.79266, 2, -3.93324, 4.38406, 2, -4.38406, 3.93324, 2, -4.79266, 3.44454, 2, -5.15511, 2.92266, 2, -5.46791, 2.37264, 2, -5.72805, 1.79976, 2, -5.93303, 1.20956, 2, -6.08087, 0.607706, 2, -6.17015, 7.59281e-16, 2, -6.2, -0.607706, 2, -6.17015, -1.20956, 2, -6.08087, -1.79976, 2, -5.93303, -2.37264, 2, -5.72805, -2.92266, 2, -5.46791, -3.44454, 2, -5.15511, -3.93324, 2, -4.79266, -4.38406, 2, -4.38406, -4.79266, 2, -3.93324, -5.15511, 2, -3.44454, -5.46791, 2, -2.92266, -5.72805, 2, -2.37264, -5.93303, 2, -1.79976, -6.08087, 2, -1.20956, -6.17015, 2, -0.607706, -6.2, 2, -1.13892e-15, -6.17015, 2, 0.607706, -6.08087, 2, 1.20956, -5.93303, 2, 1.79976, -5.72805, 2, 2.37264, -5.46791, 2, 2.92266, -5.15511, 2, 3.44454, -4.79266, 2, 3.93324, -4.38406, 2, 4.38406, -3.93324, 2, 4.79266, -3.44454, 2, 5.15511, -2.92266, 2, 5.46791, -2.37264, 2, 5.72805, -1.79976, 2, 5.93303, -1.20956, 2, 6.08087, -0.607706, 2, 6.17015, -1.51856e-15, 2, 6.2, 0, -2, 4.3, 0.421474, -2, 4.27929, 0.838888, -2, 4.21738, 1.24822, -2, 4.11484, 1.64554, -2, 3.97268, 2.02701, -2, 3.79226, 2.38895, -2, 3.57532, 2.72789, -2, 3.32394, 3.04056, -2, 3.04056, 3.32394, -2, 2.72789, 3.57532, -2, 2.38895, 3.79226, -2, 2.02701, 3.97268, -2, 1.64554, 4.11484, -2, 1.24822, 4.21738, -2, 0.838888, 4.27929, -2, 0.421474, 4.3, -2, 2.63299e-16, 4.27929, -2, -0.421474, 4.21738, -2, -0.838888, 4.11484, -2, -1.24822, 3.97268, -2, -1.64554, 3.79226, -2, -2.02701, 3.57532, -2, -2.38895, 3.32394, -2, -2.72789, 3.04056, -2, -3.04056, 2.72789, -2, -3.32394, 2.38895, -2, -3.57532, 2.02701, -2, -3.79226, 1.64554, -2, -3.97268, 1.24822, -2, -4.11484, 0.838888, -2, -4.21738, 0.421474, -2, -4.27929, 5.26598e-16, -2, -4.3, -0.421474, -2, -4.27929, -0.838888, -2, -4.21738, -1.24822, -2, -4.11484, -1.64554, -2, -3.97268, -2.02701, -2, -3.79226, -2.38895, -2, -3.57532, -2.72789, -2, -3.32394, -3.04056, -2, -3.04056, -3.32394, -2, -2.72789, -3.57532, -2, -2.38895, -3.79226, -2, -2.02701, -3.97268, -2, -1.64554, -4.11484, -2, -1.24822, -4.21738, -2, -0.838888, -4.27929, -2, -0.421474, -4.3, -2, -7.89897e-16, -4.27929, -2, 0.421474, -4.21738, -2, 0.838888, -4.11484, -2, 1.24822, -3.97268, -2, 1.64554, -3.79226, -2, 2.02701, -3.57532, -2, 2.38895, -3.32394, -2, 2.72789, -3.04056, -2, 3.04056, -2.72789, -2, 3.32394, -2.38895, -2, 3.57532, -2.02701, -2, 3.79226, -1.64554, -2, 3.97268, -1.24822, -2, 4.11484, -0.838888, -2, 4.21738, -0.421474, -2, 4.27929, -1.0532e-15, -2, 4.3, 0, -6, 2.4, 0.235241, -6, 2.38844, 0.468217, -6, 2.35388, 0.696683, -6, 2.29666, 0.91844, -6, 2.21731, 1.13135, -6, 2.11661, 1.33337, -6, 1.99553, 1.52254, -6, 1.85523, 1.69706, -6, 1.69706, 1.85523, -6, 1.52254, 1.99553, -6, 1.33337, 2.11661, -6, 1.13135, 2.21731, -6, 0.91844, 2.29666, -6, 0.696683, 2.35388, -6, 0.468217, 2.38844, -6, 0.235241, 2.4, -6, 1.46958e-16, 2.38844, -6, -0.235241, 2.35388, -6, -0.468217, 2.29666, -6, -0.696683, 2.21731, -6, -0.91844, 2.11661, -6, -1.13135, 1.99553, -6, -1.33337, 1.85523, -6, -1.52254, 1.69706, -6, -1.69706, 1.52254, -6, -1.85523, 1.33337, -6, -1.99553, 1.13135, -6, -2.11661, 0.91844, -6, -2.21731, 0.696683, -6, -2.29666, 0.468217, -6, -2.35388, 0.235241, -6, -2.38844, 2.93915e-16, -6, -2.4, -0.235241, -6, -2.38844, -0.468217, -6, -2.35388, -0.696683, -6, -2.29666, -0.91844, -6, -2.21731, -1.13135, -6, -2.11661, -1.33337, -6, -1.99553, -1.52254, -6, -1.85523, -1.69706, -6, -1.69706, -1.85523, -6, -1.52254, -1.99553, -6, -1.33337, -2.11661, -6, -1.13135, -2.21731, -6, -0.91844, -2.29666, -6, -0.696683, -2.35388, -6, -0.468217, -2.38844, -6, -0.235241, -2.4, -6, -4.40873e-16, -2.38844, -6, 0.235241, -2.35388, -6, 0.468217, -2.29666, -6, 0.696683, -2.21731, -6, 0.91844, -2.11661, -6, 1.13135, -1.99553, -6, 1.33337, -1.85523, -6, 1.52254, -1.69706, -6, 1.69706, -1.52254, -6, 1.85523, -1.33337, -6, 1.99553, -1.13135, -6, 2.11661, -0.91844, -6, 2.21731, -0.696683, -6, 2.29666, -0.468217, -6, 2.35388, -0.235241, -6, 2.38844, -5.8783e-16, -6, 2.4, 0, -10, 0.5, 0.0490086, -10, 0.497592, 0.0975452, -10, 0.490393, 0.145142, -10, 0.47847, 0.191342, -10, 0.46194, 0.235698, -10, 0.440961, 0.277785, -10, 0.415735, 0.317197, -10, 0.386505, 0.353553, -10, 0.353553, 0.386505, -10, 0.317197, 0.415735, -10, 0.277785, 0.440961, -10, 0.235698, 0.46194, -10, 0.191342, 0.47847, -10, 0.145142, 0.490393, -10, 0.0975452, 0.497592, -10, 0.0490086, 0.5, -10, 3.06162e-17, 0.497592, -10, -0.0490086, 0.490393, -10, -0.0975452, 0.47847, -10, -0.145142, 0.46194, -10, -0.191342, 0.440961, -10, -0.235698, 0.415735, -10, -0.277785, 0.386505, -10, -0.317197, 0.353553, -10, -0.353553, 0.317197, -10, -0.386505, 0.277785, -10, -0.415735, 0.235698, -10, -0.440961, 0.191342, -10, -0.46194, 0.145142, -10, -0.47847, 0.0975452, -10, -0.490393, 0.0490086, -10, -0.497592, 6.12323e-17, -10, -0.5, -0.0490086, -10, -0.497592, -0.0975452, -10, -0.490393, -0.145142, -10, -0.47847, -0.191342, -10, -0.46194, -0.235698, -10, -0.440961, -0.277785, -10, -0.415735, -0.317197, -10, -0.386505, -0.353553, -10, -0.353553, -0.386505, -10, -0.317197, -0.415735, -10, -0.277785, -0.440961, -10, -0.235698, -0.46194, -10, -0.191342, -0.47847, -10, -0.145142, -0.490393, -10, -0.0975452, -0.497592, -10, -0.0490086, -0.5, -10, -9.18485e-17, -0.497592, -10, 0.0490086, -0.490393, -10, 0.0975452, -0.47847, -10, 0.145142, -0.46194, -10, 0.191342, -0.440961, -10, 0.235698, -0.415735, -10, 0.277785, -0.386505, -10, 0.317197, -0.353553, -10, 0.353553, -0.317197, -10, 0.386505, -0.277785, -10, 0.415735, -0.235698, -10, 0.440961, -0.191342, -10, 0.46194, -0.145142, -10, 0.47847, -0.0975452, -10, 0.490393, -0.0490086, -10, 0.497592, -1.22465e-16, -10, 0.5, 0, 10, 0, 0, 10, 10, 0.980171, 10, 9.95185, 1.9509, 10, 9.80785, 2.90285, 10, 9.5694, 3.82683, 10, 9.2388, 4.71397, 10, 8.81921, 5.5557, 10, 8.3147, 6.34393, 10, 7.7301, 7.07107, 10, 7.07107, 7.7301, 10, 6.34393, 8.3147, 10, 5.5557, 8.81921, 10, 4.71397, 9.2388, 10, 3.82683, 9.5694, 10, 2.90285, 9.80785, 10, 1.9509, 9.95185, 10, 0.980171, 10, 10, 6.12323e-16, 9.95185, 10, -0.980171, 9.80785, 10, -1.9509, 9.5694, 10, -2.90285, 9.2388, 10, -3.82683, 8.81921, 10, -4.71397, 8.3147, 10, -5.5557, 7.7301, 10, -6.34393, 7.07107, 10, -7.07107, 6.34393, 10, -7.7301, 5.5557, 10, -8.3147, 4.71397, 10, -8.81921, 3.82683, 10, -9.2388, 2.90285, 10, -9.5694, 1.9509, 10, -9.80785, 0.980171, 10, -9.95185, 1.22465e-15, 10, -10, -0.980171, 10, -9.95185, -1.9509, 10, -9.80785, -2.90285, 10, -9.5694, -3.82683, 10, -9.2388, -4.71397, 10, -8.81921, -5.5557, 10, -8.3147, -6.34393, 10, -7.7301, -7.07107, 10, -7.07107, -7.7301, 10, -6.34393, -8.3147, 10, -5.5557, -8.81921, 10, -4.71397, -9.2388, 10, -3.82683, -9.5694, 10, -2.90285, -9.80785, 10, -1.9509, -9.95185, 10, -0.980171, -10, 10, -1.83697e-15, -9.95185, 10, 0.980171, -9.80785, 10, 1.9509, -9.5694, 10, 2.90285, -9.2388, 10, 3.82683, -8.81921, 10, 4.71397, -8.3147, 10, 5.5557, -7.7301, 10, 6.34393, -7.07107, 10, 7.07107, -6.34393, 10, 7.7301, -5.5557, 10, 8.3147, -4.71397, 10, 8.81921, -3.82683, 10, 9.2388, -2.90285, 10, 9.5694, -1.9509, 10, 9.80785, -0.980171, 10, 9.95185, -2.44929e-15, 10, 10, 0, -10, 0, 0, -10, 0.5, 0.0490086, -10, 0.497592, 0.0975452, -10, 0.490393, 0.145142, -10, 0.47847, 0.191342, -10, 0.46194, 0.235698, -10, 0.440961, 0.277785, -10, 0.415735, 0.317197, -10, 0.386505, 0.353553, -10, 0.353553, 0.386505, -10, 0.317197, 0.415735, -10, 0.277785, 0.440961, -10, 0.235698, 0.46194, -10, 0.191342, 0.47847, -10, 0.145142, 0.490393, -10, 0.0975452, 0.497592, -10, 0.0490086, 0.5, -10, 3.06162e-17, 0.497592, -10, -0.0490086, 0.490393, -10, -0.0975452, 0.47847, -10, -0.145142, 0.46194, -10, -0.191342, 0.440961, -10, -0.235698, 0.415735, -10, -0.277785, 0.386505, -10, -0.317197, 0.353553, -10, -0.353553, 0.317197, -10, -0.386505, 0.277785, -10, -0.415735, 0.235698, -10, -0.440961, 0.191342, -10, -0.46194, 0.145142, -10, -0.47847, 0.0975452, -10, -0.490393, 0.0490086, -10, -0.497592, 6.12323e-17, -10, -0.5, -0.0490086, -10, -0.497592, -0.0975452, -10, -0.490393, -0.145142, -10, -0.47847, -0.191342, -10, -0.46194, -0.235698, -10, -0.440961, -0.277785, -10, -0.415735, -0.317197, -10, -0.386505, -0.353553, -10, -0.353553, -0.386505, -10, -0.317197, -0.415735, -10, -0.277785, -0.440961, -10, -0.235698, -0.46194, -10, -0.191342, -0.47847, -10, -0.145142, -0.490393, -10, -0.0975452, -0.497592, -10, -0.0490086, -0.5, -10, -9.18485e-17, -0.497592, -10, 0.0490086, -0.490393, -10, 0.0975452, -0.47847, -10, 0.145142, -0.46194, -10, 0.191342, -0.440961, -10, 0.235698, -0.415735, -10, 0.277785, -0.386505, -10, 0.317197, -0.353553, -10, 0.353553, -0.317197, -10, 0.386505, -0.277785, -10, 0.415735, -0.235698, -10, 0.440961, -0.191342, -10, 0.46194, -0.145142, -10, 0.47847, -0.0975452, -10, 0.490393, -0.0490086, -10, 0.497592, -1.22465e-16, -10, 0.5 ) + +[sub_resource type="CylinderMesh" id=7] top_radius = 10.0 bottom_radius = 0.5 height = 20.0 @@ -150,10 +153,14 @@ transform = Transform( 1, 0, 0, 0, 0.940387, 0.340106, 0, -0.340106, 0.940387, 0 collision_layer = 4 collision_mask = 4 +[node name="CollisionShape" type="CollisionShape" parent="Visibility"] +transform = Transform( 1, 0, 0, 0, 0, 1, 0, -2, 0, 0, 2.12856, -20.2214 ) +shape = SubResource( 6 ) + [node name="VisibilityCone" type="MeshInstance" parent="Visibility"] transform = Transform( 1, 0, 0, 0, -5.96046e-08, 1, 0, -2, -2.98023e-08, 0, 2.12856, -20.2214 ) layers = 3 -mesh = SubResource( 6 ) +mesh = SubResource( 7 ) material/0 = ExtResource( 6 ) [node name="SpotLight" type="SpotLight" parent="Visibility"] diff --git a/Characters/Worker/Worker.tscn b/Characters/Worker/Worker.tscn index 9f35d6f..b063b95 100644 --- a/Characters/Worker/Worker.tscn +++ b/Characters/Worker/Worker.tscn @@ -50,7 +50,7 @@ surfaces/1 = { "vertex_count": 64 } -[sub_resource type="ArrayMesh" id=8] +[sub_resource type="ArrayMesh" id=3] resource_name = "Icosphere.001" surfaces/0 = { "aabb": AABB( -0.900067, -2.37322, -1.42373, 2.92229, 3.18117, 2.84745 ), @@ -66,7 +66,7 @@ surfaces/0 = { "vertex_count": 324 } -[sub_resource type="ArrayMesh" id=9] +[sub_resource type="ArrayMesh" id=4] resource_name = "Icosphere" surfaces/0 = { "aabb": AABB( -0.485413, -0.180175, -0.426281, 0.274474, 0.315836, 0.852562 ), @@ -95,9 +95,9 @@ surfaces/1 = { "vertex_count": 54 } -[sub_resource type="CylinderShape" id=6] +[sub_resource type="CylinderShape" id=5] -[sub_resource type="CylinderShape" id=7] +[sub_resource type="CylinderShape" id=6] [node name="Worker" type="KinematicBody"] script = ExtResource( 1 ) @@ -105,7 +105,7 @@ script = ExtResource( 1 ) [node name="Meshes" type="Spatial" parent="."] [node name="True" type="Spatial" parent="Meshes"] -transform = Transform( -3.0598e-08, 0, 0.7, 0, 0.7, 0, -0.7, 0, -3.0598e-08, 0, 0, 0 ) +transform = Transform( -2.18557e-08, 0, 0.5, 0, 0.5, 0, -0.5, 0, -2.18557e-08, 0, 0, 0 ) [node name="Icosphere001" type="MeshInstance" parent="Meshes/True"] transform = Transform( 0.977618, 0.210386, 2.82673e-08, -0.210386, 0.977618, -3.00718e-09, -2.82673e-08, -3.00718e-09, 1, 0.49744, 2.39071, -8.46234e-09 ) @@ -121,25 +121,25 @@ material/0 = null material/1 = null [node name="Masked" type="Spatial" parent="Meshes"] -transform = Transform( -3.0598e-08, 0, 0.7, 0, 0.7, 0, -0.7, 0, -3.0598e-08, 0, 0, 0 ) +transform = Transform( -2.18557e-08, 0, 0.5, 0, 0.5, 0, -0.5, 0, -2.18557e-08, 0, 0, 0 ) [node name="Icosphere001" type="MeshInstance" parent="Meshes/Masked"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.4537, 0 ) -mesh = SubResource( 8 ) +mesh = SubResource( 3 ) material/0 = null [node name="Icosphere" type="MeshInstance" parent="Meshes/Masked"] transform = Transform( -2.25, 0, -7.33143e-07, 0, 2.25, 0, 7.33143e-07, 0, -2.25, 0, 4.0631, 0 ) -mesh = SubResource( 9 ) +mesh = SubResource( 4 ) material/0 = null material/1 = null [node name="Collider" type="CollisionShape" parent="."] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ) -shape = SubResource( 6 ) +shape = SubResource( 5 ) [node name="InteractArea" type="Area" parent="."] [node name="CollisionShape" type="CollisionShape" parent="InteractArea"] transform = Transform( 1.2, 0, 0, 0, 1, 0, 0, 0, 1.2, 0, 1, 0 ) -shape = SubResource( 7 ) +shape = SubResource( 6 ) diff --git a/Global/PillAudioHandler.gd b/Global/PillAudioHandler.gd new file mode 100644 index 0000000..ada2eb2 --- /dev/null +++ b/Global/PillAudioHandler.gd @@ -0,0 +1,54 @@ +extends Node + + +export(float) var true_begin_threshold = 0.75 +export(float) var masked_begin_threshold = 0.4 +export(float) var max_volume = 0.15 +export(float) var min_pitch_scale = 0.9 # The pitch won't go down lower than this when the player is sober + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + _update_volumes() + + set_master_db(linear2db(max_volume)) + + +func set_masked_db(db_val): + AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Masked"), db_val) + + +func set_true_db(db_val): + AudioServer.set_bus_volume_db(AudioServer.get_bus_index("True"), db_val) + + +func set_master_db(db_val): + AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), db_val) + + +# 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_begin_threshold: + set_masked_db(linear2db(0.0)) + set_true_db(linear2db(max_volume)) + elif level < true_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_begin_threshold, true_begin_threshold, level) + + # Scale volumes accordingly + set_masked_db(linear2db(normalized_distance_within_thresholds * max_volume)) + set_true_db(linear2db((1.0 - normalized_distance_within_thresholds) * max_volume)) + else: + set_masked_db(linear2db(max_volume)) + set_true_db(linear2db(0.0)) + + # Decrease the pitch when the player is sober + var pitch = lerp(min_pitch_scale, 1.0, level) + + AudioServer.get_bus_effect(AudioServer.get_bus_index("Master"), 0).pitch_scale = pitch diff --git a/Global/PillAudioHandler.tscn b/Global/PillAudioHandler.tscn new file mode 100644 index 0000000..f1a8df2 --- /dev/null +++ b/Global/PillAudioHandler.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Global/PillAudioHandler.gd" type="Script" id=1] + +[node name="PillAudioHandler" type="Node"] +script = ExtResource( 1 ) diff --git a/Level/World.tscn b/Level/World.tscn index 832564e..70bde8a 100644 --- a/Level/World.tscn +++ b/Level/World.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=23 format=2] +[gd_scene load_steps=25 format=2] [ext_resource path="res://Characters/Player/Player.tscn" type="PackedScene" id=1] [ext_resource path="res://Characters/Meldewesen/Meldewesen.tscn" type="PackedScene" id=2] @@ -13,7 +13,9 @@ [ext_resource path="res://Level/Buildings/DoorWall.tscn" type="PackedScene" id=11] [ext_resource path="res://Util/NodeGroupNotifier.tscn" type="PackedScene" id=12] [ext_resource path="res://Characters/Util/PathNavigatorForNPC.tscn" type="PackedScene" id=13] -[ext_resource path="res://Util/AmbiencePlayer.tscn" type="PackedScene" id=14] +[ext_resource path="res://Resources/Audio/Ambience/melody.wav" type="AudioStream" id=14] +[ext_resource path="res://Resources/Audio/Ambience/true_ambience.wav" type="AudioStream" id=15] +[ext_resource path="res://Resources/Audio/Ambience/masked_ambience.wav" type="AudioStream" id=16] [sub_resource type="BoxShape" id=1] @@ -54,29 +56,29 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 7 ) [node name="Enemies" type="Spatial" parent="."] [node name="Meldewesen2" parent="Enemies" instance=ExtResource( 2 )] -transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -3.88156, 0, 14.5424 ) +transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -3.88156, 0, 14.5424 ) _visibility_path = NodePath("../../Enemies/Meldewesen2/Visibility") [node name="Meldewesen3" parent="Enemies" instance=ExtResource( 2 )] -transform = Transform( -1, 0, -8.74228e-008, 0, 1, 0, 8.74228e-008, 0, -1, 58.4396, 0, -200.412 ) +transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 58.4396, 0, -200.412 ) _visibility_path = NodePath("../../Enemies/Meldewesen2/Visibility") [node name="Meldewesen4" parent="Enemies" instance=ExtResource( 2 )] -transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -13.0581, 0, -67.0506 ) +transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -13.0581, 0, -67.0506 ) _visibility_path = NodePath("../../Enemies/Meldewesen2/Visibility") [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=[ "Collectibles", ] 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 ) [node name="Key" parent="Collectibles" groups=[ "Collectibles", ] 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 ) [node name="Area" type="Area" parent="Collectibles/Key" groups=[ "Forbidden", @@ -122,7 +124,7 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.127018, 0, 0.00287628 ) curve = SubResource( 2 ) [node name="PathFollow" type="PathFollow" parent="WorkerSpawner/Path"] -transform = Transform( 0.622984, 0.00149738, 0.782233, -0.000182352, 0.999999, -0.00176901, -0.782234, 0.000959413, 0.622983, -15.7672, 0.284373, -190.888 ) +transform = Transform( 0.407644, 0.00453845, -0.913129, -0.000999918, 0.99999, 0.00452375, 0.91314, -0.000931021, 0.407643, -15.7672, 0.284373, -190.888 ) offset = 380.29 [node name="Worker" parent="WorkerSpawner/Path/PathFollow" instance=ExtResource( 5 )] @@ -130,13 +132,13 @@ offset = 380.29 [node name="Touchables" type="Spatial" parent="."] [node name="Lever" parent="Touchables" instance=ExtResource( 6 )] -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="."] navmesh = SubResource( 3 ) [node name="PlayerHouse" parent="NavigationMeshInstance" 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="MeldewesenHouse" parent="NavigationMeshInstance" instance=ExtResource( 7 )] transform = Transform( 0.8, 0, 0, 0, 1, 0, 0, 0, 1, 14.9197, 0, 89.983 ) @@ -145,46 +147,46 @@ transform = Transform( 0.8, 0, 0, 0, 1, 0, 0, 0, 1, 14.9197, 0, 89.983 ) editor/display_folded = true [node name="BuildingBlock" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )] -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( 8 )] -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( 8 )] -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( 8 )] -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( 8 )] -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( 8 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0, 47 ) [node name="BuildingBlock15" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )] -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( 8 )] -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( 8 )] -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( 8 )] -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( 8 )] -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( 8 )] -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( 8 )] -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( 8 )] -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( 8 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -88 ) @@ -193,10 +195,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 ) [node name="BuildingBlock9" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )] -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( 8 )] -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( 8 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, -127 ) @@ -223,10 +225,10 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 100, 0, -211 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 73, 0, -211 ) [node name="BuildingBlock53" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )] -transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 79, 0, -201.078 ) +transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 79, 0, -201.078 ) [node name="BuildingBlock54" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )] -transform = Transform( -4.37114e-008, 0, 1, 0, 0.6, 0, -1, 0, -4.37114e-008, 79, 4.83048, -181.541 ) +transform = Transform( -4.37114e-08, 0, 1, 0, 0.6, 0, -1, 0, -4.37114e-08, 79, 4.83048, -181.541 ) [node name="BuildingBlock43" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 46, 0, -211 ) @@ -241,19 +243,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 ) [node name="BuildingBlock47" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )] -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( 8 )] -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( 8 )] -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( 8 )] -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( 8 )] -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( 8 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, -169 ) @@ -265,7 +267,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 ) [node name="BuildingBlock35" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )] -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( 8 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -76, 0, -142 ) @@ -274,24 +276,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 ) [node name="BuildingBlock27" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )] -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( 8 )] -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( 8 )] -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( 8 )] -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( 8 )] -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( 9 )] [node name="BuildingBlock6" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )] -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( 8 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, -88 ) @@ -322,7 +324,7 @@ collision_mask = 7 shape = SubResource( 5 ) [node name="DoorWall" parent="NavigationMeshInstance/Ground" instance=ExtResource( 11 )] -transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 156.062, 0, -76.2607 ) +transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 156.062, 0, -76.2607 ) [node name="Environment" type="Spatial" parent="."] @@ -330,7 +332,7 @@ transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 156.0 environment = SubResource( 7 ) [node name="DirectionalLight" type="DirectionalLight" parent="Environment"] -transform = Transform( 0.642788, -0.262003, -0.719846, -8.21505e-008, -0.939693, 0.34202, -0.766044, -0.219847, -0.604023, 0, 7, 0 ) +transform = Transform( 0.642788, -0.262003, -0.719846, -8.21505e-08, -0.939693, 0.34202, -0.766044, -0.219847, -0.604023, 0, 7, 0 ) layers = 3 shadow_enabled = true @@ -344,8 +346,16 @@ body_nodepath = NodePath("Meldewesen") [node name="Meldewesen" parent="PathNavigatorForNPC" instance=ExtResource( 2 )] -[node name="AmbiencePlayer" parent="." instance=ExtResource( 14 )] +[node name="Melody" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 14 ) +autoplay = true -[node name="AmbiencePlayer" parent="." instance=ExtResource( 12 )] -group_name = "" -node_to_send = NodePath("") +[node name="TrueAmbience" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 15 ) +autoplay = true +bus = "True" + +[node name="MaskedAmbience" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 16 ) +autoplay = true +bus = "Masked" diff --git a/Resources/Audio/FactoryMusic/active.wav b/Resources/Audio/FactoryMusic/active.wav new file mode 100644 index 0000000..baeb13a Binary files /dev/null and b/Resources/Audio/FactoryMusic/active.wav differ diff --git a/Resources/Audio/FactoryMusic/active.wav.import b/Resources/Audio/FactoryMusic/active.wav.import new file mode 100644 index 0000000..612790f --- /dev/null +++ b/Resources/Audio/FactoryMusic/active.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/active.wav-4ab4c359a21097fa24ca1d75209d89dc.sample" + +[deps] + +source_file="res://Resources/Audio/FactoryMusic/active.wav" +dest_files=[ "res://.import/active.wav-4ab4c359a21097fa24ca1d75209d89dc.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=false +compress/mode=0 diff --git a/Resources/Audio/FactoryMusic/inactive.wav b/Resources/Audio/FactoryMusic/inactive.wav new file mode 100644 index 0000000..c67d96a Binary files /dev/null and b/Resources/Audio/FactoryMusic/inactive.wav differ diff --git a/Resources/Audio/FactoryMusic/inactive.wav.import b/Resources/Audio/FactoryMusic/inactive.wav.import new file mode 100644 index 0000000..8567bb9 --- /dev/null +++ b/Resources/Audio/FactoryMusic/inactive.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/inactive.wav-e8c09df3ca5d758dc631b5c90a37fd8c.sample" + +[deps] + +source_file="res://Resources/Audio/FactoryMusic/inactive.wav" +dest_files=[ "res://.import/inactive.wav-e8c09df3ca5d758dc631b5c90a37fd8c.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=false +compress/mode=0 diff --git a/Util/AmbiencePlayer.gd b/Util/AmbiencePlayer.gd deleted file mode 100644 index 73ba377..0000000 --- a/Util/AmbiencePlayer.gd +++ /dev/null @@ -1,58 +0,0 @@ -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()) diff --git a/Util/AmbiencePlayer.tscn b/Util/AmbiencePlayer.tscn deleted file mode 100644 index 62b8d50..0000000 --- a/Util/AmbiencePlayer.tscn +++ /dev/null @@ -1,18 +0,0 @@ -[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 ) diff --git a/default_bus_layout.tres b/default_bus_layout.tres new file mode 100644 index 0000000..7b8baf7 --- /dev/null +++ b/default_bus_layout.tres @@ -0,0 +1,20 @@ +[gd_resource type="AudioBusLayout" load_steps=2 format=2] + +[sub_resource type="AudioEffectPitchShift" id=1] +resource_name = "PitchShift" + +[resource] +bus/0/effect/0/effect = SubResource( 1 ) +bus/0/effect/0/enabled = true +bus/1/name = "Masked" +bus/1/solo = false +bus/1/mute = false +bus/1/bypass_fx = false +bus/1/volume_db = 0.0 +bus/1/send = "Master" +bus/2/name = "True" +bus/2/solo = false +bus/2/mute = false +bus/2/bypass_fx = false +bus/2/volume_db = 0.0 +bus/2/send = "Master" diff --git a/project.godot b/project.godot index 62f4532..2fd49e8 100644 --- a/project.godot +++ b/project.godot @@ -71,6 +71,7 @@ config/icon="res://icon.png" Logger="*res://Util/gs-logger-3.1-R3/gs_logger/logger.gd" Pills="*res://Global/Pills.gd" Daytime="*res://Global/Daytime.gd" +PillAudioHandler="*res://Global/PillAudioHandler.tscn" [display]