diff --git a/autoloads/audio.gd b/autoloads/audio.gd index 89e34b1..b4e57d9 100644 --- a/autoloads/audio.gd +++ b/autoloads/audio.gd @@ -40,6 +40,10 @@ const a_good_job_penny = preload("res://audio/sounds/good_job_penny.ogg") const a_good_job_haze = preload("res://audio/sounds/good_job_haze.ogg") const a_good_job_ivy = preload("res://audio/sounds/good_job_ivy.ogg") const a_good_job_dog = preload("res://audio/sounds/good_job_dog.ogg") +const a_great_job_penny = preload("res://audio/sounds/great_job_penny.ogg") +const a_great_job_haze = preload("res://audio/sounds/great_job_haze.ogg") +const a_great_job_ivy = preload("res://audio/sounds/great_job_ivy.ogg") +const a_great_job_dog = preload("res://audio/sounds/great_job_dog.ogg") const a_2600_charge = preload("res://audio/sounds/2600_charge.ogg") const a_victory = preload("res://audio/sounds/victory.ogg") const a_shard_results = preload("res://audio/sounds/shard_results.ogg") @@ -53,6 +57,7 @@ const a_famira = preload("res://audio/sounds/famira.ogg") var loop_section = null var has_looped = false +var r = 0 #Plays a sound func play_sound(snd: AudioStream, player: AudioStreamPlayer, pitch: float = 1.0): @@ -91,3 +96,17 @@ func _on_ShardSound_finished(): AudioServer.set_bus_mute(idx, false) if !get_tree().paused: ac_music.set_stream_paused(false) ac_pause_music.set_stream_paused(false) + +func great_job(): + var idx = AudioServer.get_bus_index("sound") + AudioServer.set_bus_mute(idx, true) + ac_music.set_stream_paused(true) + ac_pause_music.set_stream_paused(true) + if Game.deaths == 0: + r = randi() % 100 + else: + r = randi() % 90 + if r <= 30: play_sound(a_great_job_penny,ac_shard) + if r > 30 && r <= 60: play_sound(a_great_job_haze,ac_shard) + if r > 60 && r <= 90: play_sound(a_great_job_ivy,ac_shard) + if r > 90: play_sound(a_great_job_dog,ac_shard) diff --git a/autoloads/game.gd b/autoloads/game.gd index c0fb298..902f47c 100644 --- a/autoloads/game.gd +++ b/autoloads/game.gd @@ -324,3 +324,4 @@ func _on_player_died() -> void: score = max(0, score - 500) as int # freezeframe Game.freeze_frame(0.3) + diff --git a/graphics/player/palettes/cosmological_redshift.tex b/graphics/player/palettes/cosmological_redshift.tex deleted file mode 100644 index 0c74a92..0000000 Binary files a/graphics/player/palettes/cosmological_redshift.tex and /dev/null differ diff --git a/graphics/player/palettes/superman.tex b/graphics/player/palettes/superman.tex new file mode 100644 index 0000000..4edb1f6 Binary files /dev/null and b/graphics/player/palettes/superman.tex differ diff --git a/menus/palette_select.tscn b/menus/palette_select.tscn index de57c1c..3963dee 100644 --- a/menus/palette_select.tscn +++ b/menus/palette_select.tscn @@ -15,7 +15,7 @@ [ext_resource path="res://graphics/player/palettes/trans_pride.tex" type="Texture" id=13] [ext_resource path="res://graphics/player/palettes/supersonic.tex" type="Texture" id=14] [ext_resource path="res://menus/level_select_scholar.tscn" type="PackedScene" id=15] -[ext_resource path="res://graphics/player/palettes/cosmological_redshift.tex" type="Texture" id=16] +[ext_resource path="res://graphics/player/palettes/superman.tex" type="Texture" id=16] [ext_resource path="res://graphics/player/palettes/msx.tex" type="Texture" id=17] [ext_resource path="res://graphics/player/palettes/default.tex" type="Texture" id=18] [ext_resource path="res://graphics/player/palettes/elaine.tex" type="Texture" id=19] @@ -36,7 +36,7 @@ shader_param/uv_transform = Transform2D( 0.5, -0.5, 0.5, 1, 0, 0 ) shader = ExtResource( 4 ) shader_param/border_color = Color( 0, 0, 0, 1 ) shader_param/border_corners = true -shader_param/palette = ExtResource( 13 ) +shader_param/palette = ExtResource( 16 ) [sub_resource type="AtlasTexture" id=5] atlas = ExtResource( 10 ) @@ -81,8 +81,8 @@ anchor_right = 1.0 anchor_bottom = 1.0 theme = ExtResource( 2 ) script = ExtResource( 3 ) -titles = [ "Default", "Lasertag", "Ms. X", "Strawberry", "Trans Pride", "Cosmological Redshift", "Gravitational Redshift", "new", "Elaine", "May Gaman", "Albert" ] -palettes = [ ExtResource( 18 ), ExtResource( 12 ), ExtResource( 17 ), ExtResource( 11 ), ExtResource( 13 ), ExtResource( 16 ), ExtResource( 7 ), ExtResource( 14 ), ExtResource( 19 ), ExtResource( 20 ), ExtResource( 21 ) ] +titles = [ "Default", "Lasertag", "Ms. X", "Strawberry", "Trans Pride", "Redshift", "new", "Elaine", "May Gaman", "Albert", "Superman" ] +palettes = [ ExtResource( 18 ), ExtResource( 12 ), ExtResource( 17 ), ExtResource( 11 ), ExtResource( 13 ), ExtResource( 7 ), ExtResource( 14 ), ExtResource( 19 ), ExtResource( 20 ), ExtResource( 21 ), ExtResource( 16 ) ] previous_screen = ExtResource( 15 ) [node name="ColorRect" type="ColorRect" parent="."] @@ -140,7 +140,6 @@ material = SubResource( 2 ) position = Vector2( 128, 128 ) scale = Vector2( 3, 3 ) frames = SubResource( 9 ) -frame = 3 playing = true [node name="CenterContainer" type="CenterContainer" parent="."] diff --git a/objects/collectibles/key.gd b/objects/collectibles/key.gd index fb2fde2..e4ad5e1 100644 --- a/objects/collectibles/key.gd +++ b/objects/collectibles/key.gd @@ -27,4 +27,6 @@ func _on_Area2D_body_entered(body: Node) -> void: STATIC.pitch = -1.0 STATIC.timeout = Time.get_ticks_msec() + TIMEOUT Audio.play_sound(Audio.a_key,Audio.ac_collectible, pow(SEMITONE, STATIC.pitch)) + if Game._get_shards() >= 5 && Game.keys == 50: + Audio.great_job() queue_free() diff --git a/objects/collectibles/key.tscn b/objects/collectibles/key.tscn index 41cc04b..3bec256 100644 --- a/objects/collectibles/key.tscn +++ b/objects/collectibles/key.tscn @@ -76,6 +76,7 @@ material = SubResource( 7 ) position = Vector2( 0, -1 ) frames = SubResource( 5 ) animation = "key" +frame = 5 playing = true centered = false diff --git a/objects/collectibles/shard.gd b/objects/collectibles/shard.gd index 3776cab..cdf963d 100644 --- a/objects/collectibles/shard.gd +++ b/objects/collectibles/shard.gd @@ -17,4 +17,6 @@ func _on_Area2D_body_entered(body): Audio.play_shard_sound() Game.score += 500 Game.shards_collected[number] = true + if Game._get_shards() >= 5 && Game.keys == 50: + Audio.great_job() queue_free()