Quellcode durchsuchen

:sparkles: floor changes color according to health

Felix Bytow vor 11 Monaten
Ursprung
Commit
04847ee53a

BIN
assets/audio/explosionCrunch_000.ogg


+ 0 - 19
assets/audio/explosionCrunch_000.ogg.import

@@ -1,19 +0,0 @@
-[remap]
-
-importer="oggvorbisstr"
-type="AudioStreamOggVorbis"
-uid="uid://c8e6a4uxb6qql"
-path="res://.godot/imported/explosionCrunch_000.ogg-c9ff69c56ef904833ba5fe9eb13012b4.oggvorbisstr"
-
-[deps]
-
-source_file="res://assets/audio/explosionCrunch_000.ogg"
-dest_files=["res://.godot/imported/explosionCrunch_000.ogg-c9ff69c56ef904833ba5fe9eb13012b4.oggvorbisstr"]
-
-[params]
-
-loop=false
-loop_offset=0
-bpm=0
-beat_count=0
-bar_beats=4

BIN
assets/audio/explosion_1.wav


+ 24 - 0
assets/audio/explosion_1.wav.import

@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://8lflu2km62jc"
+path="res://.godot/imported/explosion_1.wav-1841ebbd1ef0d82e93c2a6835b8816b2.sample"
+
+[deps]
+
+source_file="res://assets/audio/explosion_1.wav"
+dest_files=["res://.godot/imported/explosion_1.wav-1841ebbd1ef0d82e93c2a6835b8816b2.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0

BIN
assets/audio/explosion_2.wav


+ 24 - 0
assets/audio/explosion_2.wav.import

@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://uet8fl1medm2"
+path="res://.godot/imported/explosion_2.wav-1a3cbc215bfb1e0848089d52e78892bc.sample"
+
+[deps]
+
+source_file="res://assets/audio/explosion_2.wav"
+dest_files=["res://.godot/imported/explosion_2.wav-1a3cbc215bfb1e0848089d52e78892bc.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0

+ 1 - 1
assets/scenes/explosion.gd

@@ -1,5 +1,5 @@
 extends Node2D
 class_name Explosion
 
-func _animation_finished():
+func _on_animation_finished(_anim_name: String) -> void:
 	queue_free()

+ 88 - 9
assets/scenes/explosion.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=10 format=3 uid="uid://dg4lfkqrtedxg"]
+[gd_scene load_steps=13 format=3 uid="uid://dg4lfkqrtedxg"]
 
 [ext_resource type="Texture2D" uid="uid://bgtpy7rkgpt5v" path="res://assets/textures/explosion/explosion_animation_1.png" id="1_co4ui"]
 [ext_resource type="Script" path="res://assets/scenes/explosion.gd" id="1_q2lxq"]
@@ -7,7 +7,7 @@
 [ext_resource type="Texture2D" uid="uid://cb5p6rrecjihx" path="res://assets/textures/explosion/explosion_animation_4.png" id="4_mq835"]
 [ext_resource type="Texture2D" uid="uid://cuxeht00edohj" path="res://assets/textures/explosion/explosion_animation_5.png" id="5_phsaf"]
 [ext_resource type="Texture2D" uid="uid://dftc3x7vfop46" path="res://assets/textures/explosion/explosion_animation_6.png" id="6_llvbn"]
-[ext_resource type="AudioStream" uid="uid://c8e6a4uxb6qql" path="res://assets/audio/explosionCrunch_000.ogg" id="7_x5vbv"]
+[ext_resource type="AudioStream" uid="uid://8lflu2km62jc" path="res://assets/audio/explosion_1.wav" id="8_x0t21"]
 
 [sub_resource type="SpriteFrames" id="SpriteFrames_yqenh"]
 animations = [{
@@ -32,21 +32,100 @@ animations = [{
 }],
 "loop": false,
 "name": &"default",
-"speed": 10.0
+"speed": 20.0
 }]
 
+[sub_resource type="Animation" id="Animation_03hgi"]
+resource_name = "explosion"
+length = 0.6
+tracks/0/type = "audio"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("AudioStreamPlayer")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"clips": [{
+"end_offset": 0.9,
+"start_offset": 0.19,
+"stream": ExtResource("8_x0t21")
+}],
+"times": PackedFloat32Array(0)
+}
+tracks/0/use_blend = false
+tracks/1/type = "value"
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/path = NodePath("AnimatedSprite2D:frame")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/keys = {
+"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5),
+"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
+"update": 1,
+"values": [0, 1, 2, 3, 4, 5]
+}
+tracks/2/type = "value"
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/path = NodePath("AudioStreamPlayer:volume_db")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/keys = {
+"times": PackedFloat32Array(0, 0.6),
+"transitions": PackedFloat32Array(1, 1),
+"update": 0,
+"values": [0.0, -80.0]
+}
+
+[sub_resource type="Animation" id="Animation_3m7yr"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("AnimatedSprite2D:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [1]
+}
+tracks/1/type = "value"
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/path = NodePath("AudioStreamPlayer:volume_db")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [-80.0]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_opklp"]
+_data = {
+"RESET": SubResource("Animation_3m7yr"),
+"explosion": SubResource("Animation_03hgi")
+}
+
 [node name="Explosion" type="Node2D"]
 script = ExtResource("1_q2lxq")
 
 [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
 scale = Vector2(0.6, 0.6)
 sprite_frames = SubResource("SpriteFrames_yqenh")
-autoplay = "default"
-frame = 5
-frame_progress = 1.0
+frame = 1
 
 [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
-stream = ExtResource("7_x5vbv")
-autoplay = true
+volume_db = -80.0
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
+libraries = {
+"": SubResource("AnimationLibrary_opklp")
+}
+autoplay = "explosion"
 
-[connection signal="animation_finished" from="AnimatedSprite2D" to="." method="_animation_finished"]
+[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_animation_finished"]

+ 2 - 2
assets/scenes/health_bar.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=14 format=3 uid="uid://bnoxyhq2ha6r1"]
+[gd_scene load_steps=14 format=3 uid="uid://odwutyui6q5g"]
 
 [ext_resource type="Script" path="res://assets/scenes/health_bar.gd" id="1_pe8px"]
 [ext_resource type="Texture2D" uid="uid://edktycyiq13w" path="res://assets/textures/health_bar/hbtrue_11.png" id="2_yle5t"]
@@ -51,7 +51,7 @@ animations = [{
 "speed": 0.0
 }]
 
-[node name="HealthBar" type="Node2D"]
+[node name="HealthBar" type="Node2D" groups=["health_bar"]]
 scale = Vector2(0.5, 0.5)
 script = ExtResource("1_pe8px")
 

+ 20 - 0
assets/scenes/room.gd

@@ -0,0 +1,20 @@
+extends Node2D
+class_name Room
+
+const COLORS: Array[CompressedTexture2D] = [
+	preload("res://assets/textures/room/base_floor_red.png"),
+	preload("res://assets/textures/room/base_floor_orange.png"),
+	preload("res://assets/textures/room/base_floor_yellow.png"),
+	preload("res://assets/textures/room/base_floor_green.png"),
+	preload("res://assets/textures/room/base_floor_purple.png"),
+]
+
+@onready var base_floor: Sprite2D = $BaseFloor
+
+func _ready():
+	var health_bar: HealthBar = get_tree().get_first_node_in_group("health_bar")
+	if health_bar != null:
+		health_bar.health_changed.connect(_on_life_changed)
+
+func _on_life_changed(new_life: int):
+	base_floor.texture = COLORS[(new_life - 1) / 2]

+ 24 - 0
assets/scenes/room.tscn

@@ -0,0 +1,24 @@
+[gd_scene load_steps=5 format=3 uid="uid://c27ceu18q8eyr"]
+
+[ext_resource type="Texture2D" uid="uid://boslm7kvr428t" path="res://assets/textures/room/floor.png" id="1_c6dw2"]
+[ext_resource type="Script" path="res://assets/scenes/room.gd" id="1_jfu8v"]
+[ext_resource type="Texture2D" uid="uid://c5dkf0wijq3d" path="res://assets/textures/room/decoration.png" id="2_181l8"]
+[ext_resource type="Texture2D" uid="uid://d4nqjfqxlw3px" path="res://assets/textures/room/base_floor_purple.png" id="2_tiddr"]
+
+[node name="Room" type="Node2D"]
+script = ExtResource("1_jfu8v")
+
+[node name="Floor" type="Sprite2D" parent="."]
+position = Vector2(640, 360)
+scale = Vector2(0.5, 0.5)
+texture = ExtResource("1_c6dw2")
+
+[node name="BaseFloor" type="Sprite2D" parent="."]
+position = Vector2(640, 360)
+scale = Vector2(0.5, 0.5)
+texture = ExtResource("2_tiddr")
+
+[node name="Decoration" type="Sprite2D" parent="."]
+position = Vector2(640, 360)
+scale = Vector2(0.5, 0.5)
+texture = ExtResource("2_181l8")

BIN
assets/textures/game_background.jpg


BIN
assets/textures/just_storefront.jpg


+ 0 - 0
assets/textures/Light_Overlay.png → assets/textures/room/Light_Overlay.png


+ 4 - 4
assets/textures/just_storefront.jpg.import → assets/textures/room/Light_Overlay.png.import

@@ -2,16 +2,16 @@
 
 importer="texture"
 type="CompressedTexture2D"
-uid="uid://bsmaqakafb1h"
-path="res://.godot/imported/just_storefront.jpg-9fac345414e18e3b975a0e8a72b0b67e.ctex"
+uid="uid://ceelbowk0q0rl"
+path="res://.godot/imported/Light_Overlay.png-661d9a94f270a65e61813bcc1f222faa.ctex"
 metadata={
 "vram_texture": false
 }
 
 [deps]
 
-source_file="res://assets/textures/just_storefront.jpg"
-dest_files=["res://.godot/imported/just_storefront.jpg-9fac345414e18e3b975a0e8a72b0b67e.ctex"]
+source_file="res://assets/textures/room/Light_Overlay.png"
+dest_files=["res://.godot/imported/Light_Overlay.png-661d9a94f270a65e61813bcc1f222faa.ctex"]
 
 [params]
 

BIN
assets/textures/room/base_floor_green.png


+ 34 - 0
assets/textures/room/base_floor_green.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dpou5dexbku7q"
+path="res://.godot/imported/base_floor_green.png-e69be991170c0ad9b56ffbd843de8e86.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/room/base_floor_green.png"
+dest_files=["res://.godot/imported/base_floor_green.png-e69be991170c0ad9b56ffbd843de8e86.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1

BIN
assets/textures/room/base_floor_orange.png


+ 34 - 0
assets/textures/room/base_floor_orange.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bcqs8xhfptk6d"
+path="res://.godot/imported/base_floor_orange.png-4dced842fcbd16ca87ac1b04710660f9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/room/base_floor_orange.png"
+dest_files=["res://.godot/imported/base_floor_orange.png-4dced842fcbd16ca87ac1b04710660f9.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1

BIN
assets/textures/room/base_floor_purple.png


+ 34 - 0
assets/textures/room/base_floor_purple.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d4nqjfqxlw3px"
+path="res://.godot/imported/base_floor_purple.png-e1c2f1990d5d8704d2daa4eb00168b0a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/room/base_floor_purple.png"
+dest_files=["res://.godot/imported/base_floor_purple.png-e1c2f1990d5d8704d2daa4eb00168b0a.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1

BIN
assets/textures/room/base_floor_red.png


+ 34 - 0
assets/textures/room/base_floor_red.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d35iw7pyb173q"
+path="res://.godot/imported/base_floor_red.png-5f9bd79cbad79a465a566541a5158d0b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/room/base_floor_red.png"
+dest_files=["res://.godot/imported/base_floor_red.png-5f9bd79cbad79a465a566541a5158d0b.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1

BIN
assets/textures/room/base_floor_yellow.png


+ 34 - 0
assets/textures/room/base_floor_yellow.png.import

@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d2scy5jfymmwm"
+path="res://.godot/imported/base_floor_yellow.png-338112d4eb7d2776752b77d0bb1bbcba.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/textures/room/base_floor_yellow.png"
+dest_files=["res://.godot/imported/base_floor_yellow.png-338112d4eb7d2776752b77d0bb1bbcba.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1

BIN
assets/textures/room/decoration.png


+ 4 - 4
assets/textures/Light_Overlay.png.import → assets/textures/room/decoration.png.import

@@ -2,16 +2,16 @@
 
 importer="texture"
 type="CompressedTexture2D"
-uid="uid://r2ph4fobqo17"
-path="res://.godot/imported/Light_Overlay.png-c126c153354ab9ab26e1c0dded29affd.ctex"
+uid="uid://c5dkf0wijq3d"
+path="res://.godot/imported/decoration.png-031f59a8610a054f004fddc025eb2920.ctex"
 metadata={
 "vram_texture": false
 }
 
 [deps]
 
-source_file="res://assets/textures/Light_Overlay.png"
-dest_files=["res://.godot/imported/Light_Overlay.png-c126c153354ab9ab26e1c0dded29affd.ctex"]
+source_file="res://assets/textures/room/decoration.png"
+dest_files=["res://.godot/imported/decoration.png-031f59a8610a054f004fddc025eb2920.ctex"]
 
 [params]
 

BIN
assets/textures/room/floor.png


+ 4 - 4
assets/textures/game_background.jpg.import → assets/textures/room/floor.png.import

@@ -2,16 +2,16 @@
 
 importer="texture"
 type="CompressedTexture2D"
-uid="uid://djifkreeh0nb4"
-path="res://.godot/imported/game_background.jpg-a1756e58683dd66cf73724e4dedf1ebf.ctex"
+uid="uid://boslm7kvr428t"
+path="res://.godot/imported/floor.png-e1804e5f0ff635ae78351e277f3637d7.ctex"
 metadata={
 "vram_texture": false
 }
 
 [deps]
 
-source_file="res://assets/textures/game_background.jpg"
-dest_files=["res://.godot/imported/game_background.jpg-a1756e58683dd66cf73724e4dedf1ebf.ctex"]
+source_file="res://assets/textures/room/floor.png"
+dest_files=["res://.godot/imported/floor.png-e1804e5f0ff635ae78351e277f3637d7.ctex"]
 
 [params]
 

+ 4 - 0
project.godot

@@ -19,6 +19,10 @@ config/features=PackedStringArray("4.2", "GL Compatibility")
 GlobalInput="*res://assets/autoload/global_input.gd"
 Config="*res://assets/autoload/config.gd"
 
+[debug]
+
+gdscript/warnings/integer_division=0
+
 [display]
 
 window/size/viewport_width=1280

+ 4 - 2
screens/game.gd

@@ -1,9 +1,9 @@
 extends Node2D
 
 @onready var health_bar: HealthBar = $HealthBar
+@onready var overlay: CanvasLayer = $Overlay
 @onready var transition: Transition = $Overlay/Transition
 @onready var spawn_timer: Timer = $Timer
-@onready var base_hit_sound: AudioStreamPlayer = $BaseHitSound
 
 @onready var main_menu: PackedScene = load("res://screens/main_menu.tscn")
 @onready var bot_scene: PackedScene = load("res://assets/scenes/bot.tscn")
@@ -15,6 +15,7 @@ extends Node2D
 ]
 
 func _ready() -> void:
+	overlay.visible = true
 	transition.slide_out()
 	await transition.game_fully_visible
 	spawn_bot()
@@ -23,9 +24,11 @@ func _process(_delta: float) -> void:
 	if Input.is_action_pressed("ui_cancel"):
 		var tree = get_tree()
 		transition.text = ""
+		tree.paused = true
 		transition.slide_in()
 		await transition.game_fully_hidden
 		tree.change_scene_to_packed(main_menu)
+		tree.paused = false
 		
 func spawn_bot() -> void:
 	var spawn = spawn_points.pick_random()
@@ -37,7 +40,6 @@ func _on_timer_timeout() -> void:
 	spawn_bot()
 
 func base_hit() -> void:
-	base_hit_sound.play()
 	health_bar.health -= 1
 	if health_bar.health == 0:
 		spawn_timer.stop()

+ 12 - 18
screens/game.tscn

@@ -1,11 +1,10 @@
-[gd_scene load_steps=9 format=3 uid="uid://c483fkssc36s"]
+[gd_scene load_steps=8 format=3 uid="uid://c483fkssc36s"]
 
 [ext_resource type="Script" path="res://screens/game.gd" id="1_4dd0q"]
-[ext_resource type="Texture2D" uid="uid://djifkreeh0nb4" path="res://assets/textures/game_background.jpg" id="2_qk61j"]
-[ext_resource type="PackedScene" path="res://assets/scenes/health_bar.tscn" id="2_x77og"]
-[ext_resource type="Texture2D" uid="uid://r2ph4fobqo17" path="res://assets/textures/Light_Overlay.png" id="3_86s7d"]
+[ext_resource type="Texture2D" uid="uid://ceelbowk0q0rl" path="res://assets/textures/room/Light_Overlay.png" id="2_px5xi"]
+[ext_resource type="PackedScene" uid="uid://odwutyui6q5g" path="res://assets/scenes/health_bar.tscn" id="2_x77og"]
+[ext_resource type="PackedScene" uid="uid://c27ceu18q8eyr" path="res://assets/scenes/room.tscn" id="3_hm7l7"]
 [ext_resource type="PackedScene" uid="uid://ce8cu4romympf" path="res://assets/scenes/transition.tscn" id="4_yc6k4"]
-[ext_resource type="AudioStream" uid="uid://c8e6a4uxb6qql" path="res://assets/audio/explosionCrunch_000.ogg" id="6_ufcvu"]
 
 [sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_yhw6y"]
 blend_mode = 1
@@ -17,20 +16,17 @@ size = Vector2(472, 288)
 [node name="Game" type="Node2D"]
 script = ExtResource("1_4dd0q")
 
-[node name="Background" type="Sprite2D" parent="."]
-z_index = -10
-position = Vector2(640, 360)
-scale = Vector2(0.5, 0.5)
-texture = ExtResource("2_qk61j")
+[node name="Room" parent="." instance=ExtResource("3_hm7l7")]
 
 [node name="Light-Overlay" type="Sprite2D" parent="."]
+visible = false
 material = SubResource("CanvasItemMaterial_yhw6y")
 position = Vector2(640, 360)
 scale = Vector2(0.5, 0.5)
-texture = ExtResource("3_86s7d")
+texture = ExtResource("2_px5xi")
 
 [node name="HealthBar" parent="." instance=ExtResource("2_x77og")]
-position = Vector2(640, 58)
+position = Vector2(640, 73)
 
 [node name="Timer" type="Timer" parent="."]
 wait_time = 3.5
@@ -38,6 +34,7 @@ autostart = true
 
 [node name="Overlay" type="CanvasLayer" parent="."]
 layer = 10
+visible = false
 
 [node name="Transition" parent="Overlay" instance=ExtResource("4_yc6k4")]
 
@@ -49,16 +46,13 @@ position = Vector2(639, 509)
 shape = SubResource("RectangleShape2D_p2163")
 
 [node name="EnemySpawn_1" type="Marker2D" parent="." groups=["spawner"]]
-position = Vector2(63, 424)
+position = Vector2(48, 426)
 
 [node name="EnemySpawn_2" type="Marker2D" parent="." groups=["spawner"]]
-position = Vector2(1222, 424)
+position = Vector2(1234, 424)
 
 [node name="EnemySpawn_3" type="Marker2D" parent="." groups=["spawner"]]
-position = Vector2(641, 144)
-
-[node name="BaseHitSound" type="AudioStreamPlayer" parent="."]
-stream = ExtResource("6_ufcvu")
+position = Vector2(641, 207)
 
 [connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
 [connection signal="area_entered" from="Base" to="." method="_on_base_area_entered"]