diff --git a/audio/sounds/confirm.ogg b/audio/sounds/confirm.ogg index 6f64953..7f85b68 100644 Binary files a/audio/sounds/confirm.ogg and b/audio/sounds/confirm.ogg differ diff --git a/audio/sounds/good_job_haze.ogg b/audio/sounds/good_job_haze.ogg index 18f9888..e17bcf1 100644 Binary files a/audio/sounds/good_job_haze.ogg and b/audio/sounds/good_job_haze.ogg differ diff --git a/audio/sounds/great_job_haze.ogg b/audio/sounds/great_job_haze.ogg index 9f68dc3..ccfa959 100644 Binary files a/audio/sounds/great_job_haze.ogg and b/audio/sounds/great_job_haze.ogg differ diff --git a/audio/sounds/key.ogg b/audio/sounds/key.ogg index 106c100..e0cac37 100644 Binary files a/audio/sounds/key.ogg and b/audio/sounds/key.ogg differ diff --git a/audio/sounds/revolution2083_haze.ogg b/audio/sounds/revolution2083_haze.ogg index a48df7e..1f7b881 100644 Binary files a/audio/sounds/revolution2083_haze.ogg and b/audio/sounds/revolution2083_haze.ogg differ diff --git a/audio/sounds/select.ogg b/audio/sounds/select.ogg index 319ac1c..22b98b7 100644 Binary files a/audio/sounds/select.ogg and b/audio/sounds/select.ogg differ diff --git a/audio/sounds/shard_get.ogg b/audio/sounds/shard_get.ogg index fa199c8..3e6bb47 100644 Binary files a/audio/sounds/shard_get.ogg and b/audio/sounds/shard_get.ogg differ diff --git a/audio/sounds/victory_haze.ogg b/audio/sounds/victory_haze.ogg index 6b8b056..d4f074b 100644 Binary files a/audio/sounds/victory_haze.ogg and b/audio/sounds/victory_haze.ogg differ diff --git a/audio/sounds/victory_nobonus.ogg b/audio/sounds/victory_nobonus.ogg index 6fc3830..7a09090 100644 Binary files a/audio/sounds/victory_nobonus.ogg and b/audio/sounds/victory_nobonus.ogg differ diff --git a/autoloads/audio.gd b/autoloads/audio.gd index aa937e6..285de20 100644 --- a/autoloads/audio.gd +++ b/autoloads/audio.gd @@ -50,7 +50,8 @@ 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_victory = preload("res://audio/sounds/victory_nobonus.ogg") +const a_time_bonus = preload("res://audio/sounds/victory_haze.ogg") const a_shard_results = preload("res://audio/sounds/shard_results.ogg") const a_fail_shard = preload("res://audio/sounds/fail_shard.ogg") const a_final_score = preload("res://audio/sounds/final_score.ogg") diff --git a/autoloads/debug.gd b/autoloads/debug.gd index 5b1ac4f..079a35c 100644 --- a/autoloads/debug.gd +++ b/autoloads/debug.gd @@ -232,3 +232,5 @@ func _enter_code(): Game.get_map().add_child(silhouette) "IMPATIENT": Game.change_map(load("res://menus/credits.tscn")) + "SLOWPOKE": + Game.time = 99999 diff --git a/autoloads/game.gd b/autoloads/game.gd index 3df331f..51c5275 100644 --- a/autoloads/game.gd +++ b/autoloads/game.gd @@ -329,3 +329,17 @@ func _on_player_died() -> void: # freezeframe Game.freeze_frame(0.3) +func check_time_bonus(): + var map = get_map() + if keys >= 50 and _get_shards() >= 5: + # 100% time bonus + if time < map.target_time_100: + return true + else: + return false + else: + # any% time bonus + if time < map.target_time_any: + return true + else: + return false diff --git a/menus/sound_test.tscn b/menus/sound_test.tscn index 7e9a88d..1e54358 100644 --- a/menus/sound_test.tscn +++ b/menus/sound_test.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=134 format=2] +[gd_scene load_steps=135 format=2] [ext_resource path="res://shaders/ska_plane.gdshader" type="Shader" id=1] [ext_resource path="res://shaders/1px_border.gdshader" type="Shader" id=2] @@ -100,7 +100,6 @@ [ext_resource path="res://audio/music/mitten.ogg" type="AudioStream" id=98] [ext_resource path="res://audio/sounds/great_job_dog.ogg" type="AudioStream" id=99] [ext_resource path="res://audio/sounds/great_job_ivy.ogg" type="AudioStream" id=100] -[ext_resource path="res://audio/sounds/victory.ogg" type="AudioStream" id=101] [ext_resource path="res://audio/sounds/msx_goddammit.ogg" type="AudioStream" id=102] [ext_resource path="res://audio/sounds/msx_fucking_cop.ogg" type="AudioStream" id=103] [ext_resource path="res://audio/sounds/msx_motherfucker.ogg" type="AudioStream" id=104] @@ -126,6 +125,8 @@ [ext_resource path="res://audio/music/rumble_revolution_intro.ogg" type="AudioStream" id=124] [ext_resource path="res://audio/music/rev83-wondering-now-short.ogg" type="AudioStream" id=125] [ext_resource path="res://audio/music/74(game_over).ogg" type="AudioStream" id=126] +[ext_resource path="res://audio/sounds/victory_nobonus.ogg" type="AudioStream" id=127] +[ext_resource path="res://audio/sounds/shard_get.ogg" type="AudioStream" id=128] [sub_resource type="ShaderMaterial" id=1] shader = ExtResource( 1 ) @@ -192,6 +193,7 @@ material = SubResource( 12 ) position = Vector2( 72, 152 ) scale = Vector2( 2, 2 ) frames = SubResource( 15 ) +frame = 1 playing = true [node name="AnimatedSprite3" type="AnimatedSprite" parent="."] @@ -199,6 +201,7 @@ material = SubResource( 12 ) position = Vector2( 112, 152 ) scale = Vector2( 2, 2 ) frames = SubResource( 15 ) +frame = 1 playing = true [node name="AnimatedSprite4" type="AnimatedSprite" parent="."] @@ -206,6 +209,7 @@ material = SubResource( 12 ) position = Vector2( 152, 152 ) scale = Vector2( 2, 2 ) frames = SubResource( 15 ) +frame = 1 playing = true [node name="AnimatedSprite5" type="AnimatedSprite" parent="."] @@ -213,6 +217,7 @@ material = SubResource( 12 ) position = Vector2( 192, 152 ) scale = Vector2( 2, 2 ) frames = SubResource( 15 ) +frame = 1 playing = true [node name="Music" type="TextureButton" parent="."] @@ -261,8 +266,8 @@ margin_bottom = 121.0 focus_neighbour_top = NodePath("../Music") texture_focused = ExtResource( 27 ) script = ExtResource( 16 ) -titles = [ "Select", "Confirm", "Jump", "Double Jump", "Land", "Climb", "Bmilc", "Shoot", "Die", "Sploosh", "Bzaap", "Teleport", "Gover", "Key Get", "Arrow Get", "Star Get", "Skeleton Die", "Scrump Shoot", "Scrump Hurt", "Scrump Die", "Bubble Get", "Big Explosion", "Collapse", "Glass Break", "Bullet Barrage", "Laser Charge", "Rainbow Laser", "Mech Hurt 1", "Mech Hurt 2", "Mech Hurt 3", "Small Explosion", "Bullet Casing", "Button Click", "Ominous", "GunCock", "Shards Expelled", "Shards Absorbed", "Shard Float", "Fami Transform", "Scope Squish", "Scope Splat", "Famira Roar", "2083 Shoot", "Laser Ready", "Famira Breath", "Critical Heat", "Famira Die", "Collected Shard", "Missed Shard", "Final Score", "Revolution 2083", "Good Job!", "Great Job!", "Wonderful!", "Come Here", "Help Me", "Agh!", "Fuck!", "Shit...", "Take This", "Fami's Grand Plan", "Debug M", "Spaghetti", "Sword", "Egg Collect", "Talking", "Fami Grumble", "Segz", "Mech Creak", "Mech Step 1", "Mech Step 2", "Mech Walking", "Mech Duck", "Mech Unduck", "Resolve", "Robolution 2083", "Ivolution 2083", "Dogolution 2083", "Classic Good Job", "Good Job - Ivy", "Good Job - Dog", "Great Job - Ivy", "Great Job - Dog", "Classic Wonderful", "Wonderful - Ivy", "Wonderful - Dog", "Fucking Cop...", "Goddammit...", "Motherfucker...", "Intro Voiceover" ] -sounds = [ ExtResource( 7 ), ExtResource( 10 ), ExtResource( 25 ), ExtResource( 34 ), ExtResource( 8 ), ExtResource( 42 ), ExtResource( 41 ), ExtResource( 32 ), ExtResource( 30 ), ExtResource( 117 ), ExtResource( 118 ), ExtResource( 113 ), ExtResource( 35 ), ExtResource( 6 ), ExtResource( 9 ), ExtResource( 43 ), ExtResource( 33 ), ExtResource( 51 ), ExtResource( 37 ), ExtResource( 31 ), ExtResource( 24 ), ExtResource( 36 ), ExtResource( 85 ), ExtResource( 116 ), ExtResource( 39 ), ExtResource( 77 ), ExtResource( 52 ), ExtResource( 50 ), ExtResource( 47 ), ExtResource( 49 ), ExtResource( 48 ), ExtResource( 38 ), ExtResource( 29 ), ExtResource( 55 ), ExtResource( 40 ), ExtResource( 57 ), ExtResource( 58 ), ExtResource( 114 ), ExtResource( 53 ), ExtResource( 54 ), ExtResource( 56 ), ExtResource( 59 ), ExtResource( 82 ), ExtResource( 83 ), ExtResource( 72 ), ExtResource( 95 ), ExtResource( 64 ), ExtResource( 66 ), ExtResource( 61 ), ExtResource( 65 ), ExtResource( 74 ), ExtResource( 62 ), ExtResource( 60 ), ExtResource( 76 ), ExtResource( 69 ), ExtResource( 68 ), ExtResource( 63 ), ExtResource( 70 ), ExtResource( 71 ), ExtResource( 67 ), ExtResource( 73 ), ExtResource( 80 ), ExtResource( 79 ), ExtResource( 78 ), ExtResource( 87 ), ExtResource( 92 ), ExtResource( 81 ), ExtResource( 75 ), ExtResource( 88 ), ExtResource( 86 ), ExtResource( 94 ), ExtResource( 93 ), ExtResource( 90 ), ExtResource( 89 ), ExtResource( 91 ), ExtResource( 105 ), ExtResource( 108 ), ExtResource( 107 ), ExtResource( 111 ), ExtResource( 96 ), ExtResource( 97 ), ExtResource( 100 ), ExtResource( 99 ), ExtResource( 101 ), ExtResource( 110 ), ExtResource( 112 ), ExtResource( 103 ), ExtResource( 102 ), ExtResource( 104 ), ExtResource( 115 ) ] +titles = [ "Select", "Confirm", "Jump", "Double Jump", "Land", "Climb", "Bmilc", "Shoot", "Die", "Sploosh", "Bzaap", "Teleport", "Gover", "Key Get", "Arrow Get", "Star Get", "Skeleton Die", "Scrump Shoot", "Scrump Hurt", "Scrump Die", "Bubble Get", "Big Explosion", "Collapse", "Glass Break", "Bullet Barrage", "Laser Charge", "Rainbow Laser", "Mech Hurt 1", "Mech Hurt 2", "Mech Hurt 3", "Small Explosion", "Bullet Casing", "Button Click", "Ominous", "GunCock", "Shards Expelled", "Shards Absorbed", "Shard Float", "Fami Transform", "Scope Squish", "Scope Splat", "Famira Roar", "2083 Shoot", "Laser Ready", "Famira Breath", "Critical Heat", "Famira Die", "Collected Shard", "Missed Shard", "Final Score", "Revolution 2083", "Shard Get", "Good Job!", "Great Job!", "Victory", "Wonderful!", "Come Here", "Help Me", "Agh!", "Fuck!", "Shit...", "Take This", "Fami's Grand Plan", "Debug M", "Spaghetti", "Sword", "Egg Collect", "Talking", "Fami Grumble", "Segz", "Mech Creak", "Mech Step 1", "Mech Step 2", "Mech Walking", "Mech Duck", "Mech Unduck", "Resolve", "Robolution 2083", "Ivolution 2083", "Dogolution 2083", "Classic Good Job", "Good Job - Ivy", "Good Job - Dog", "Great Job - Ivy", "Great Job - Dog", "Classic Wonderful", "Wonderful - Ivy", "Wonderful - Dog", "Fucking Cop...", "Goddammit...", "Motherfucker...", "Intro Voiceover" ] +sounds = [ ExtResource( 7 ), ExtResource( 10 ), ExtResource( 25 ), ExtResource( 34 ), ExtResource( 8 ), ExtResource( 42 ), ExtResource( 41 ), ExtResource( 32 ), ExtResource( 30 ), ExtResource( 117 ), ExtResource( 118 ), ExtResource( 113 ), ExtResource( 35 ), ExtResource( 6 ), ExtResource( 9 ), ExtResource( 43 ), ExtResource( 33 ), ExtResource( 51 ), ExtResource( 37 ), ExtResource( 31 ), ExtResource( 24 ), ExtResource( 36 ), ExtResource( 85 ), ExtResource( 116 ), ExtResource( 39 ), ExtResource( 77 ), ExtResource( 52 ), ExtResource( 50 ), ExtResource( 47 ), ExtResource( 49 ), ExtResource( 48 ), ExtResource( 38 ), ExtResource( 29 ), ExtResource( 55 ), ExtResource( 40 ), ExtResource( 57 ), ExtResource( 58 ), ExtResource( 114 ), ExtResource( 53 ), ExtResource( 54 ), ExtResource( 56 ), ExtResource( 59 ), ExtResource( 82 ), ExtResource( 83 ), ExtResource( 72 ), ExtResource( 95 ), ExtResource( 64 ), ExtResource( 66 ), ExtResource( 61 ), ExtResource( 65 ), ExtResource( 74 ), ExtResource( 128 ), ExtResource( 62 ), ExtResource( 60 ), ExtResource( 127 ), ExtResource( 76 ), ExtResource( 69 ), ExtResource( 68 ), ExtResource( 63 ), ExtResource( 70 ), ExtResource( 71 ), ExtResource( 67 ), ExtResource( 73 ), ExtResource( 80 ), ExtResource( 79 ), ExtResource( 78 ), ExtResource( 87 ), ExtResource( 92 ), ExtResource( 81 ), ExtResource( 75 ), ExtResource( 88 ), ExtResource( 86 ), ExtResource( 94 ), ExtResource( 93 ), ExtResource( 90 ), ExtResource( 89 ), ExtResource( 91 ), ExtResource( 105 ), ExtResource( 108 ), ExtResource( 107 ), ExtResource( 111 ), ExtResource( 96 ), ExtResource( 97 ), ExtResource( 100 ), ExtResource( 99 ), ExtResource( 110 ), ExtResource( 127 ), ExtResource( 112 ), ExtResource( 103 ), ExtResource( 102 ), ExtResource( 104 ), ExtResource( 115 ) ] categories = [ { "color": Color( 0.690196, 0.690196, 0.690196, 1 ), "index": 0, diff --git a/objects/collectibles/star.gd b/objects/collectibles/star.gd index 14757f6..322d6fe 100644 --- a/objects/collectibles/star.gd +++ b/objects/collectibles/star.gd @@ -38,5 +38,7 @@ func _on_Area2D_body_entered(body): if Game.stars == 5: Audio.play_shard_sound() Game.shards_collected[4] = true + if Game._get_shards() >= 5 && Game.keys == 50: + Audio.great_job() Game.score += 500 queue_free() diff --git a/objects/environment/exit/exit.gd b/objects/environment/exit/exit.gd index 868de4b..ef86f28 100644 --- a/objects/environment/exit/exit.gd +++ b/objects/environment/exit/exit.gd @@ -27,7 +27,10 @@ func _on_Area2D_area_entered(area): player.state_chart.send_event("start_teleport") player.connect("teleport_finished", self, "_on_player_teleport_finished") #Play level complete jingle - Audio.play_music(Audio.a_victory) + if Game.check_time_bonus() == true: + Audio.play_music(Audio.a_time_bonus) + else: + Audio.play_music(Audio.a_victory) #Display 3D Text var hud = get_tree().get_nodes_in_group("hud").pop_back() if hud: