diff --git a/default_bus_layout.tres b/default_bus_layout.tres index 6e2c67e..be71aa8 100644 --- a/default_bus_layout.tres +++ b/default_bus_layout.tres @@ -2,14 +2,26 @@ [sub_resource type="AudioEffectLimiter" id="AudioEffectLimiter_j3pel"] resource_name = "Limiter" -ceiling_db = -14.3 +ceiling_db = -8.0 [resource] -bus/1/name = &"Police Siren" +bus/1/name = &"SFX" bus/1/solo = false bus/1/mute = false bus/1/bypass_fx = false bus/1/volume_db = 0.0 bus/1/send = &"Master" -bus/1/effect/0/effect = SubResource("AudioEffectLimiter_j3pel") -bus/1/effect/0/enabled = true +bus/2/name = &"Music" +bus/2/solo = false +bus/2/mute = false +bus/2/bypass_fx = false +bus/2/volume_db = 0.0694828 +bus/2/send = &"Master" +bus/3/name = &"Police Siren" +bus/3/solo = false +bus/3/mute = false +bus/3/bypass_fx = false +bus/3/volume_db = 0.0 +bus/3/send = &"SFX" +bus/3/effect/0/effect = SubResource("AudioEffectLimiter_j3pel") +bus/3/effect/0/enabled = true diff --git a/enemies/base_enemy.tscn b/enemies/base_enemy.tscn index 1a8283e..6de018a 100644 --- a/enemies/base_enemy.tscn +++ b/enemies/base_enemy.tscn @@ -24,6 +24,8 @@ collision_mask = 2 [node name="Siren" type="AudioStreamPlayer3D" parent="." unique_id=2085366724] unique_name_in_owner = true stream = ExtResource("2_bfj6p") +attenuation_model = 2 +unit_size = 12.0 autoplay = true max_distance = 50.0 bus = &"Police Siren" diff --git a/enemies/explosive_car/explosion.tscn b/enemies/explosive_car/explosion.tscn index 7dcce01..2e2bc57 100644 --- a/enemies/explosive_car/explosion.tscn +++ b/enemies/explosive_car/explosion.tscn @@ -103,4 +103,5 @@ volume_db = 4.0 unit_size = 25.0 autoplay = true max_distance = 100.0 +bus = &"SFX" script = ExtResource("3_e5gms") diff --git a/enemies/explosive_car/explosive_car.tscn b/enemies/explosive_car/explosive_car.tscn index d335dbc..0955854 100644 --- a/enemies/explosive_car/explosive_car.tscn +++ b/enemies/explosive_car/explosive_car.tscn @@ -1,9 +1,9 @@ [gd_scene format=4 uid="uid://q5cxluytck2h"] [ext_resource type="PackedScene" uid="uid://oyqyvj5xo5mf" path="res://enemies/base_enemy.tscn" id="1_jdkrm"] -[ext_resource type="PackedScene" uid="uid://5hanmfarcrla" path="res://models/explosive_car.glb" id="2_nf60p"] +[ext_resource type="PackedScene" uid="uid://5hanmfarcrla" path="res://models/vehicles/explosive_car.glb" id="2_nf60p"] [ext_resource type="Script" uid="uid://btrksi0vamvst" path="res://enemies/explosive_car/explosive_car_behavior.gd" id="2_ofstr"] -[ext_resource type="Texture2D" uid="uid://5vgs6tsyiw0x" path="res://models/explosive_car_car_body_albedo.png" id="4_vj2gi"] +[ext_resource type="Texture2D" uid="uid://5vgs6tsyiw0x" path="res://models/vehicles/explosive_car_car_body_albedo.png" id="4_vj2gi"] [sub_resource type="BoxShape3D" id="BoxShape3D_jdkrm"] size = Vector3(2.4088135, 0.5839844, 1.1367188) @@ -180,9 +180,9 @@ _data = { } [sub_resource type="BoxShape3D" id="BoxShape3D_nf60p"] -size = Vector3(11.374023, 1, 1) +size = Vector3(11.374023, 1, 5.765625) -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6ocff"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vj2gi"] resource_local_to_scene = true resource_name = "Material.003" diffuse_mode = 3 @@ -260,14 +260,15 @@ collision_mask = 2 [node name="CollisionShape3D" type="CollisionShape3D" parent="ExplosiveCarBehavior/Trigger" index="0" unique_id=146579196] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.25, 0, 0) shape = SubResource("BoxShape3D_nf60p") +debug_color = Color(0.7350777, 0.47042513, 1.732707e-06, 0.41960785) [node name="AnimatedContainer" type="Node3D" parent="." index="6" unique_id=191064764] [node name="explosive_car" parent="AnimatedContainer" index="0" unique_id=1877913332 instance=ExtResource("2_nf60p")] transform = Transform3D(-7.424418e-08, 0, -1.6985089, 0, 1.6985089, 0, 1.6985089, 0, -7.424418e-08, -0.49703097, 1.1640232, 0) -[node name="CarBody" parent="AnimatedContainer/explosive_car" index="0" unique_id=1070964971] -material_override = SubResource("StandardMaterial3D_6ocff") +[node name="CarBody" parent="AnimatedContainer/explosive_car" index="0" unique_id=1726081920] +material_override = SubResource("StandardMaterial3D_vj2gi") [node name="MeshInstance3D" type="MeshInstance3D" parent="AnimatedContainer/explosive_car/CarBody" index="0" unique_id=1515106188] material_override = SubResource("StandardMaterial3D_uo0uw") diff --git a/levels/level.gd b/levels/level.gd index 688dc21..6e8dcd8 100644 --- a/levels/level.gd +++ b/levels/level.gd @@ -26,7 +26,8 @@ func _ready() -> void: level = self if active: - start_game() + await get_tree().process_frame + start_game.call_deferred() func _on_player_died() -> void: active = false diff --git a/music_player.tscn b/music_player.tscn index c0218ca..a703020 100644 --- a/music_player.tscn +++ b/music_player.tscn @@ -4,4 +4,6 @@ [node name="MusicPlayer" type="AudioStreamPlayer" unique_id=1544811864] stream = ExtResource("1_fvyft") +volume_db = -6.0 autoplay = true +bus = &"Music" diff --git a/player/explosion/explosion.tscn b/player/explosion/explosion.tscn index 81d232e..c2921e1 100644 --- a/player/explosion/explosion.tscn +++ b/player/explosion/explosion.tscn @@ -103,4 +103,5 @@ volume_db = 4.0 unit_size = 25.0 autoplay = true max_distance = 100.0 +bus = &"SFX" script = ExtResource("3_120gr") diff --git a/player/guns/basic_gun.gd b/player/guns/basic_gun.gd index 337047c..804264c 100644 --- a/player/guns/basic_gun.gd +++ b/player/guns/basic_gun.gd @@ -5,8 +5,8 @@ func fire(aim_angle: float) -> void: var dir := Vector3.RIGHT.rotated(Vector3.UP, aim_angle) var player_projectile: PlayerProjectile = preload("res://player/projectile/player_projectile.tscn").instantiate() player_projectile.init(dir) - player_projectile.global_position = global_position + Vector3.UP * 0.5 get_tree().current_scene.add_child(player_projectile) + player_projectile.global_position = global_position + Vector3.UP * 0.5 fire_clock = 60. / fire_rate %SharpshooterFire.play() diff --git a/player/player.gd b/player/player.gd index b7501ea..4c63ce0 100644 --- a/player/player.gd +++ b/player/player.gd @@ -58,7 +58,9 @@ func _init() -> void: func _ready() -> void: health = health - await get_tree().process_frame + if not Level.level: + await get_tree().process_frame + Level.level.level_started.connect(func(): %EngineSFX.play()) func _process_stamina(delta: float) -> void: @@ -179,7 +181,7 @@ func _process(delta: float) -> void: else: %Tank.rotation.y = opp_dir.angle() -func damage(damager: Node3D) -> void: +func damage(damager: Node3D, amount: int = 1) -> void: if health <= 0: return if state == State.DASHING: if damager.has_method("kill"): @@ -187,7 +189,7 @@ func damage(damager: Node3D) -> void: else: if damage_clock <= 0.: %CrashSFX.play() - health -= 1 + health -= amount damage_clock = 3 shake_duration = .25 diff --git a/player/player.tscn b/player/player.tscn index 37abb48..8fb47cb 100644 --- a/player/player.tscn +++ b/player/player.tscn @@ -175,6 +175,7 @@ script = ExtResource("3_g1dw6") unique_name_in_owner = true stream = SubResource("AudioStreamRandomizer_2ieo8") volume_db = -4.0 +bus = &"SFX" [node name="MiniGun" type="Node3D" parent="Guns" unique_id=416187827] unique_name_in_owner = true @@ -187,6 +188,7 @@ stream = SubResource("AudioStreamRandomizer_yllr7") volume_db = -6.0 pitch_scale = 1.5 max_polyphony = 10 +bus = &"SFX" [node name="Mortar" type="Node3D" parent="Guns" unique_id=1321220525] unique_name_in_owner = true @@ -196,6 +198,7 @@ fire_rate = 70.0 [node name="MortarFire" type="AudioStreamPlayer" parent="Guns/Mortar" unique_id=2137084473] unique_name_in_owner = true stream = SubResource("AudioStreamRandomizer_ebec5") +bus = &"SFX" [node name="OnPlayerHUDSprite" type="Sprite3D" parent="." unique_id=1611457281] transform = Transform3D(2.5426614, 0, 0, 0, 1.4438343, 2.0929568, 0, -2.0929568, 1.4438343, 0, 3.1055684, 0.17435753) @@ -330,10 +333,12 @@ current = true unique_name_in_owner = true stream = SubResource("AudioStreamRandomizer_kb6p2") volume_db = 4.0 +bus = &"SFX" [node name="EngineSFX" type="AudioStreamPlayer" parent="." unique_id=668897298] unique_name_in_owner = true stream = ExtResource("15_wodsf") volume_db = -6.0 +bus = &"SFX" [editable path="Tank"] diff --git a/ui/debug_menu/debug_menu.gd b/ui/debug_menu/debug_menu.gd index 6f77069..09f581e 100644 --- a/ui/debug_menu/debug_menu.gd +++ b/ui/debug_menu/debug_menu.gd @@ -17,3 +17,5 @@ func _on_high_speed_button_pressed() -> void: func _on_toggle_zoom_button_pressed() -> void: zoomed_out = not zoomed_out +func _on_suicide_button_pressed() -> void: + Player.instance.damage(null, Player.instance.health) diff --git a/ui/debug_menu/debug_menu.tscn b/ui/debug_menu/debug_menu.tscn index c331905..cd03bd2 100644 --- a/ui/debug_menu/debug_menu.tscn +++ b/ui/debug_menu/debug_menu.tscn @@ -51,5 +51,12 @@ size_flags_horizontal = 4 theme_override_font_sizes/font_size = 30 text = "Zoom Out Camera" +[node name="SuicideButton" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer" unique_id=1176329298] +layout_mode = 2 +size_flags_horizontal = 4 +theme_override_font_sizes/font_size = 30 +text = "Suicide" + [connection signal="pressed" from="PanelContainer/MarginContainer/VBoxContainer/HighSpeedButton" to="." method="_on_high_speed_button_pressed"] [connection signal="pressed" from="PanelContainer/MarginContainer/VBoxContainer/ToggleZoomButton" to="." method="_on_toggle_zoom_button_pressed"] +[connection signal="pressed" from="PanelContainer/MarginContainer/VBoxContainer/SuicideButton" to="." method="_on_suicide_button_pressed"]