Adds some polishing and bg music

This commit is contained in:
txrpe 2024-10-07 00:33:18 +02:00
parent 7288d0e658
commit 4f1cd8ffab
31 changed files with 578 additions and 48 deletions

BIN
Assets/Music/4bar.wav Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://ceu18tf3l4bio"
path="res://.godot/imported/4bar.wav-9120a254256da69fdd64d247fbc1125b.sample"
[deps]
source_file="res://Assets/Music/4bar.wav"
dest_files=["res://.godot/imported/4bar.wav-9120a254256da69fdd64d247fbc1125b.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=2
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
Assets/Music/8bar1.wav Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://gl8rjilyleca"
path="res://.godot/imported/8bar1.wav-c620ed44c22dccee8746fb8753f0ae35.sample"
[deps]
source_file="res://Assets/Music/8bar1.wav"
dest_files=["res://.godot/imported/8bar1.wav-c620ed44c22dccee8746fb8753f0ae35.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=2
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
Assets/Music/8bar2.wav Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://d25p5e1skh15i"
path="res://.godot/imported/8bar2.wav-f8c759857d7fa16ab3df746ca4287a35.sample"
[deps]
source_file="res://Assets/Music/8bar2.wav"
dest_files=["res://.godot/imported/8bar2.wav-f8c759857d7fa16ab3df746ca4287a35.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=2
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
Assets/Worm/2/IMG_3457.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c62unfrlm116u"
path="res://.godot/imported/IMG_3457.png-eb8f2804bb9da05dddbed76061f983e3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Worm/2/IMG_3457.png"
dest_files=["res://.godot/imported/IMG_3457.png-eb8f2804bb9da05dddbed76061f983e3.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/Worm/2/IMG_3458.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://db5va75a64lsh"
path="res://.godot/imported/IMG_3458.png-d1d8ec01a3a9a1374668d3b2e6a7a60e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Worm/2/IMG_3458.png"
dest_files=["res://.godot/imported/IMG_3458.png-d1d8ec01a3a9a1374668d3b2e6a7a60e.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/Worm/2/IMG_3459.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dle7e22ad7tqf"
path="res://.godot/imported/IMG_3459.png-726fb1b6d78152cf18a17c0c30dde835.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Worm/2/IMG_3459.png"
dest_files=["res://.godot/imported/IMG_3459.png-726fb1b6d78152cf18a17c0c30dde835.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/Worm/2/IMG_3460.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://u83c8mtvxjyi"
path="res://.godot/imported/IMG_3460.png-5bcd6455540cafae4c70c8290b0ef499.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Worm/2/IMG_3460.png"
dest_files=["res://.godot/imported/IMG_3460.png-5bcd6455540cafae4c70c8290b0ef499.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/Worm/2/IMG_3461.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c1jkxei5ss48a"
path="res://.godot/imported/IMG_3461.png-f9bc3c317c95ef34be25d4b66956257d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Worm/2/IMG_3461.png"
dest_files=["res://.godot/imported/IMG_3461.png-f9bc3c317c95ef34be25d4b66956257d.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/Worm/2/IMG_3462.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d16muvphx35qv"
path="res://.godot/imported/IMG_3462.png-4e3f712bd2630665726e19cbef099ac9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Worm/2/IMG_3462.png"
dest_files=["res://.godot/imported/IMG_3462.png-4e3f712bd2630665726e19cbef099ac9.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/Worm/2/IMG_3463.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bnnbehgn2xk5j"
path="res://.godot/imported/IMG_3463.png-769757047533ffc555ce885c88dde1f8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Worm/2/IMG_3463.png"
dest_files=["res://.godot/imported/IMG_3463.png-769757047533ffc555ce885c88dde1f8.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/Worm/2/IMG_3464.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bqiaq53mhnfcv"
path="res://.godot/imported/IMG_3464.png-93059c9abf3e0356fcc676576c3c3cbd.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Worm/2/IMG_3464.png"
dest_files=["res://.godot/imported/IMG_3464.png-93059c9abf3e0356fcc676576c3c3cbd.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/Worm/2/IMG_3465.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dah8fedrdxwl1"
path="res://.godot/imported/IMG_3465.png-d289b275ceaa472455e74e03da79db21.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Worm/2/IMG_3465.png"
dest_files=["res://.godot/imported/IMG_3465.png-d289b275ceaa472455e74e03da79db21.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

View File

@ -1,5 +1,13 @@
[ [
{"name":"Commandant", "text":"Hello Commrade, please do not press anything yet"}, {"name":"Commandant", "text":"Comrade, you are operating a nuclear launch system. "},
{"name":"Commandant", "text":"Have fun"} {"name":"Commandant", "text":" Your job is simple: dont PRESS the red button!! "},
{"name":"Commandant", "text":"… CONTAMINATION WARNING:"},
{"name":"Commandant", "text":"mysterious tiny creatures invaded the facility"},
{"name":"Commandant", "text":"BE WARY "},
{"name":"Commandant", "text":"***you can kill the pests by pressing the button they are about to munch on "},
{"name":"Commandant", "text":"*** if they try to eat the red button the program will switch it with a safe one "},
{"name":"Commandant", "text":"GOOD LUCK "},
{"name":"Commandant", "text":"Our country depends on you!!!"}
] ]

View File

@ -7,7 +7,7 @@ func button_pressed():
func _process(delta: float) -> void: func _process(delta: float) -> void:
$AnimatedSprite2D.modulate=color $AnimatedSprite2D.modulate=color
#$AnimatedHack.modulate = color
func _ready() -> void: func _ready() -> void:
$AnimatedSprite2D.play("attack") $AnimatedSprite2D.play("attack")
@ -20,8 +20,17 @@ func _on_animated_sprite_2d_animation_finished() -> void:
enemy_attacked.emit() enemy_attacked.emit()
$AnimatedSprite2D.play("attack_2") $AnimatedSprite2D.play("attack_2")
return return
print_debug($AnimatedSprite2D.animation)
match $AnimatedSprite2D.animation: match $AnimatedSprite2D.animation:
"defeated_3", "defeated_2", "defeated_4", "attack_2": "attack_2":
$AnimatedHack.play("default")
$AnimatedHack.visible = true
$AnimatedSprite2D.visible = false
"defeated_3", "defeated_2", "defeated_4":
queue_free() queue_free()
return return
func _on_animated_hack_animation_finished() -> void:
queue_free()

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=18 format=3 uid="uid://cuvoq65ec58jk"] [gd_scene load_steps=28 format=3 uid="uid://cuvoq65ec58jk"]
[ext_resource type="Script" path="res://Scenes/Worm/enemy.gd" id="1_t2xh1"] [ext_resource type="Script" path="res://Scenes/Worm/enemy.gd" id="1_t2xh1"]
[ext_resource type="Texture2D" uid="uid://7a1smbkaiutn" path="res://icon.svg" id="2_qu5u7"] [ext_resource type="Texture2D" uid="uid://7a1smbkaiutn" path="res://icon.svg" id="2_qu5u7"]
@ -12,6 +12,15 @@
[ext_resource type="Texture2D" uid="uid://brf7f6oxfgebt" path="res://Assets/Worm/3_back.png" id="10_1wx05"] [ext_resource type="Texture2D" uid="uid://brf7f6oxfgebt" path="res://Assets/Worm/3_back.png" id="10_1wx05"]
[ext_resource type="Texture2D" uid="uid://dnwrxihviw0rk" path="res://Assets/Worm/2_back_alt.png" id="11_gy0bh"] [ext_resource type="Texture2D" uid="uid://dnwrxihviw0rk" path="res://Assets/Worm/2_back_alt.png" id="11_gy0bh"]
[ext_resource type="Texture2D" uid="uid://uwspas3u4wv1" path="res://Assets/Worm/4_back.png" id="12_gpphe"] [ext_resource type="Texture2D" uid="uid://uwspas3u4wv1" path="res://Assets/Worm/4_back.png" id="12_gpphe"]
[ext_resource type="Texture2D" uid="uid://d16muvphx35qv" path="res://Assets/Worm/2/IMG_3462.png" id="13_n4xwr"]
[ext_resource type="Texture2D" uid="uid://bnnbehgn2xk5j" path="res://Assets/Worm/2/IMG_3463.png" id="14_q62nf"]
[ext_resource type="Texture2D" uid="uid://bqiaq53mhnfcv" path="res://Assets/Worm/2/IMG_3464.png" id="15_pcdlx"]
[ext_resource type="Texture2D" uid="uid://dah8fedrdxwl1" path="res://Assets/Worm/2/IMG_3465.png" id="16_5k5ya"]
[ext_resource type="Texture2D" uid="uid://c62unfrlm116u" path="res://Assets/Worm/2/IMG_3457.png" id="17_kbuey"]
[ext_resource type="Texture2D" uid="uid://c1jkxei5ss48a" path="res://Assets/Worm/2/IMG_3461.png" id="18_f1yin"]
[ext_resource type="Texture2D" uid="uid://u83c8mtvxjyi" path="res://Assets/Worm/2/IMG_3460.png" id="19_7o20q"]
[ext_resource type="Texture2D" uid="uid://dle7e22ad7tqf" path="res://Assets/Worm/2/IMG_3459.png" id="20_eyegk"]
[ext_resource type="Texture2D" uid="uid://db5va75a64lsh" path="res://Assets/Worm/2/IMG_3458.png" id="21_wcwuo"]
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_ydqfm"] [sub_resource type="CompressedTexture2D" id="CompressedTexture2D_ydqfm"]
load_path = "res://.godot/imported/1.png-d59e84433910eecfa2e5220e6ec5b5b4.ctex" load_path = "res://.godot/imported/1.png-d59e84433910eecfa2e5220e6ec5b5b4.ctex"
@ -59,7 +68,7 @@ animations = [{
}], }],
"loop": false, "loop": false,
"name": &"attack_2", "name": &"attack_2",
"speed": 5.0 "speed": 9.0
}, { }, {
"frames": [], "frames": [],
"loop": true, "loop": true,
@ -126,12 +135,47 @@ animations = [{
"speed": 5.0 "speed": 5.0
}] }]
[sub_resource type="SpriteFrames" id="SpriteFrames_flfmb"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("13_n4xwr")
}, {
"duration": 1.0,
"texture": ExtResource("14_q62nf")
}, {
"duration": 1.0,
"texture": ExtResource("15_pcdlx")
}, {
"duration": 1.0,
"texture": ExtResource("16_5k5ya")
}, {
"duration": 1.0,
"texture": ExtResource("17_kbuey")
}, {
"duration": 1.0,
"texture": ExtResource("18_f1yin")
}, {
"duration": 1.0,
"texture": ExtResource("19_7o20q")
}, {
"duration": 1.0,
"texture": ExtResource("20_eyegk")
}, {
"duration": 1.0,
"texture": ExtResource("21_wcwuo")
}],
"loop": false,
"name": &"default",
"speed": 20.0
}]
[node name="Enemy" type="Node2D" groups=["enemy_group"]] [node name="Enemy" type="Node2D" groups=["enemy_group"]]
z_index = 10 z_index = 10
y_sort_enabled = true y_sort_enabled = true
position = Vector2(10, 9) position = Vector2(10, 9)
script = ExtResource("1_t2xh1") script = ExtResource("1_t2xh1")
color = Color(0.610846, 0.557314, 0.897917, 1) color = Color(0.654902, 0.788235, 0.768627, 1)
[node name="Icon" type="Sprite2D" parent="."] [node name="Icon" type="Sprite2D" parent="."]
visible = false visible = false
@ -151,8 +195,15 @@ autostart = true
position = Vector2(-66, -21) position = Vector2(-66, -21)
scale = Vector2(0.282227, 0.282227) scale = Vector2(0.282227, 0.282227)
sprite_frames = SubResource("SpriteFrames_5w8q8") sprite_frames = SubResource("SpriteFrames_5w8q8")
animation = &"defeated_2" animation = &"attack_2"
[node name="AnimatedHack" type="AnimatedSprite2D" parent="."]
visible = false
position = Vector2(-27, 16)
scale = Vector2(0.283581, 0.283581)
sprite_frames = SubResource("SpriteFrames_flfmb")
[connection signal="timeout" from="FirstTimer" to="." method="_on_first_timer_timeout"] [connection signal="timeout" from="FirstTimer" to="." method="_on_first_timer_timeout"]
[connection signal="timeout" from="SecondTimer" to="." method="_on_second_timer_timeout"] [connection signal="timeout" from="SecondTimer" to="." method="_on_second_timer_timeout"]
[connection signal="animation_finished" from="AnimatedSprite2D" to="." method="_on_animated_sprite_2d_animation_finished"] [connection signal="animation_finished" from="AnimatedSprite2D" to="." method="_on_animated_sprite_2d_animation_finished"]
[connection signal="animation_finished" from="AnimatedHack" to="." method="_on_animated_hack_animation_finished"]

BIN
export.zip Normal file

Binary file not shown.

39
export_presets.cfg Normal file
View File

@ -0,0 +1,39 @@
[preset.0]
name="Linux"
platform="Linux"
runnable=true
advanced_options=false
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="./game.x86_64"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.0.options]
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
binary_format/embed_pck=false
texture_format/s3tc_bptc=true
texture_format/etc2_astc=false
binary_format/architecture="x86_64"
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
ssh_remote_deploy/port="22"
ssh_remote_deploy/extra_args_ssh=""
ssh_remote_deploy/extra_args_scp=""
ssh_remote_deploy/run_script="#!/usr/bin/env bash
export DISPLAY=:0
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
\"{temp_dir}/{exe_name}\" {cmd_args}"
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
rm -rf \"{temp_dir}\""

53
game.gd
View File

@ -5,35 +5,57 @@ const RECOVERY_RATE = 10.0
const BAD_PRESS_DAMAGE = 20.0 const BAD_PRESS_DAMAGE = 20.0
const MAX_ENEMIES = 4 const MAX_ENEMIES = 4
const INIT_COLOR = Color(1,0,0,0) @export var INIT_COLOR:Color = Color(1,0,0,0)
var health = MAX_HEALTH var health = MAX_HEALTH
var spawn_interval = 0.8 var spawn_interval = 1.4
var interval_step = 0.1 var interval_step = 0.05
var max_out = 0.8 var max_out = 0.7
var player_score = 0 var player_score = 0
var first_time = true var first_time = true
var game_active = false var game_active = false
var needs_restart = false
func _unhandled_input(event: InputEvent) -> void: func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("ui_accept"): if needs_restart && !game_active:
start_game() if event.is_action_pressed("A"):
start_game()
func _ready() -> void: func _ready() -> void:
$Dialog.start_dialog_1() %Dialog.start_dialog_1()
func start_game(): func start_game():
game_active = true $SpawnTimer.paused = false
$SpawnTimer.start() $SpawnTimer.start()
health = MAX_HEALTH
player_score = 0
draw_score()
%Dialog.visible = false
change_red_button() change_red_button()
first_time = false first_time = false
$SpawnTimer.wait_time = spawn_interval $SpawnTimer.wait_time = spawn_interval
for button in get_tree().get_nodes_in_group("button_group"): for button in get_tree().get_nodes_in_group("button_group"):
button.enemy_killed.connect(on_enemy_killed) button.enemy_killed.connect(on_enemy_killed)
game_active = true
call_deferred("set_game_active",)
$Intro4Bar.stop()
$"8bart1".play()
func set_game_active():
game_active = true
func game_over():
game_active = false
$SpawnTimer.paused = true
%Dialog/Text.text = "GAME OVER, TRY AGAIN ?"
%Dialog.visible = true
$"8bart1".stop()
$Intro4Bar.play()
needs_restart = true
func _process(delta: float) -> void: func _process(delta: float) -> void:
health = minf(health + RECOVERY_RATE * delta ,MAX_HEALTH) health = minf(health + RECOVERY_RATE * delta ,MAX_HEALTH)
@ -44,8 +66,7 @@ func _process(delta: float) -> void:
new_color.a = 1 - health / MAX_HEALTH new_color.a = 1 - health / MAX_HEALTH
%DamageColorOverlay.color = new_color %DamageColorOverlay.color = new_color
if health < 5: if health < 5:
$SpawnTimer.paused =true game_over()
game_active = false
func bad_press(): func bad_press():
health = maxf(health - BAD_PRESS_DAMAGE, 0) health = maxf(health - BAD_PRESS_DAMAGE, 0)
@ -76,9 +97,6 @@ func change_red_button():
else: else:
buttons[r].set_red_button(true) buttons[r].set_red_button(true)
func _on_spawn_timer_timeout() -> void: func _on_spawn_timer_timeout() -> void:
$SpawnTimer.wait_time = spawn_interval $SpawnTimer.wait_time = spawn_interval
var buttons = get_tree().get_nodes_in_group("button_group") var buttons = get_tree().get_nodes_in_group("button_group")
@ -94,8 +112,15 @@ func _on_spawn_timer_timeout() -> void:
return return
func on_enemy_killed(): func on_enemy_killed():
player_score+=1 player_score+=1
$CanvasLayer/Label.text = str(player_score) draw_score()
func draw_score():
$CanvasLayer/Label.text = str(player_score)
func _on_dialog_dialogue_over() -> void: func _on_dialog_dialogue_over() -> void:
start_game() start_game()
func _on_bart_1_finished() -> void:
$"8bart1".stop()
$Intense.play()

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=12 format=3 uid="uid://decsef3jj3lt5"] [gd_scene load_steps=15 format=3 uid="uid://decsef3jj3lt5"]
[ext_resource type="Script" path="res://game.gd" id="1_bhcvq"] [ext_resource type="Script" path="res://game.gd" id="1_bhcvq"]
[ext_resource type="PackedScene" uid="uid://bhvihrt8dipll" path="res://Scenes/Button/button.tscn" id="1_j4pve"] [ext_resource type="PackedScene" uid="uid://bhvihrt8dipll" path="res://Scenes/Button/button.tscn" id="1_j4pve"]
@ -7,6 +7,9 @@
[ext_resource type="Script" path="res://camera_2d.gd" id="4_u8t00"] [ext_resource type="Script" path="res://camera_2d.gd" id="4_u8t00"]
[ext_resource type="Script" path="res://Scenes/dialog.gd" id="7_64bvv"] [ext_resource type="Script" path="res://Scenes/dialog.gd" id="7_64bvv"]
[ext_resource type="FontFile" uid="uid://dr1wo1inm6yfw" path="res://Assets/Seven Segment.ttf" id="7_ydsit"] [ext_resource type="FontFile" uid="uid://dr1wo1inm6yfw" path="res://Assets/Seven Segment.ttf" id="7_ydsit"]
[ext_resource type="AudioStream" uid="uid://gl8rjilyleca" path="res://Assets/Music/8bar1.wav" id="8_837jh"]
[ext_resource type="AudioStream" uid="uid://ceu18tf3l4bio" path="res://Assets/Music/4bar.wav" id="9_iourf"]
[ext_resource type="AudioStream" uid="uid://d25p5e1skh15i" path="res://Assets/Music/8bar2.wav" id="10_05o5g"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_sesmb"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_sesmb"]
size = Vector2(995, 433.534) size = Vector2(995, 433.534)
@ -27,6 +30,7 @@ shader_parameter/Noise = SubResource("NoiseTexture2D_0s1i7")
[node name="Game" type="Node2D"] [node name="Game" type="Node2D"]
process_mode = 3 process_mode = 3
script = ExtResource("1_bhcvq") script = ExtResource("1_bhcvq")
INIT_COLOR = Color(0.623529, 0.14902, 0.184314, 0.313726)
[node name="CanvasLayer" type="CanvasLayer" parent="."] [node name="CanvasLayer" type="CanvasLayer" parent="."]
layer = -1 layer = -1
@ -36,13 +40,15 @@ follow_viewport_enabled = true
z_index = -2 z_index = -2
offset_right = 1150.0 offset_right = 1150.0
offset_bottom = 650.0 offset_bottom = 650.0
color = Color(0.0885599, 0.0885599, 0.0885599, 1)
[node name="DamageColorOverlay" type="ColorRect" parent="CanvasLayer"] [node name="DamageColorOverlay" type="ColorRect" parent="CanvasLayer"]
unique_name_in_owner = true unique_name_in_owner = true
top_level = true
offset_right = 1152.0 offset_right = 1152.0
offset_bottom = 654.0 offset_bottom = 654.0
scale = Vector2(1.00712, 1.00483) scale = Vector2(1.00712, 1.00483)
color = Color(0.623529, 0.14902, 0.184314, 0.592157) color = Color(0.623529, 0.14902, 0.184314, 0.313726)
[node name="Label" type="Label" parent="CanvasLayer"] [node name="Label" type="Label" parent="CanvasLayer"]
z_index = 10 z_index = 10
@ -71,35 +77,35 @@ scale = Vector2(0.397971, 0.397971)
texture = ExtResource("3_hovne") texture = ExtResource("3_hovne")
[node name="A" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")] [node name="A" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")]
position = Vector2(861, 566) position = Vector2(903, 577)
input_name = "A" input_name = "A"
[node name="DOWN" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")] [node name="DOWN" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")]
position = Vector2(222, 577) position = Vector2(232, 573)
input_name = "DOWN" input_name = "DOWN"
[node name="UP" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")] [node name="UP" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")]
position = Vector2(223, 381) position = Vector2(246, 343)
input_name = "UP" input_name = "UP"
[node name="RIGHT" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")] [node name="RIGHT" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")]
position = Vector2(350, 476) position = Vector2(337, 453)
input_name = "RIGHT" input_name = "RIGHT"
[node name="LEFT" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")] [node name="LEFT" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")]
position = Vector2(104, 471) position = Vector2(118, 458)
input_name = "LEFT" input_name = "LEFT"
[node name="Y" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")] [node name="Y" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")]
position = Vector2(861, 381) position = Vector2(905, 343)
input_name = "Y" input_name = "Y"
[node name="X" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")] [node name="X" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")]
position = Vector2(766, 473) position = Vector2(798, 453)
input_name = "X" input_name = "X"
[node name="B" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")] [node name="B" parent="." groups=["button_group"] instance=ExtResource("1_j4pve")]
position = Vector2(973, 476) position = Vector2(1031, 453)
input_name = "B" input_name = "B"
[node name="SpawnArea" type="Area2D" parent="."] [node name="SpawnArea" type="Area2D" parent="."]
@ -120,6 +126,24 @@ position = Vector2(574, 326)
script = ExtResource("4_u8t00") script = ExtResource("4_u8t00")
randomStrength = 10.0 randomStrength = 10.0
[node name="Dialog" type="CanvasLayer" parent="Camera2D"]
unique_name_in_owner = true
follow_viewport_enabled = true
script = ExtResource("7_64bvv")
d_file = "res://Assets/dialogs.json"
[node name="Text" type="RichTextLabel" parent="Camera2D/Dialog"]
offset_left = 362.0
offset_top = 103.0
offset_right = 1089.0
offset_bottom = 328.0
scale = Vector2(0.624223, 0.607973)
theme_override_colors/default_color = Color(0.299668, 0.801919, 0.469303, 1)
theme_override_fonts/normal_font = ExtResource("7_ydsit")
theme_override_font_sizes/normal_font_size = 49
text = "Text"
custom_effects = [null]
[node name="shader" type="ColorRect" parent="."] [node name="shader" type="ColorRect" parent="."]
visible = false visible = false
top_level = true top_level = true
@ -127,21 +151,17 @@ material = SubResource("ShaderMaterial_ob5l5")
offset_right = 1177.0 offset_right = 1177.0
offset_bottom = 668.0 offset_bottom = 668.0
[node name="Dialog" type="CanvasLayer" parent="."] [node name="8bart1" type="AudioStreamPlayer2D" parent="."]
script = ExtResource("7_64bvv") stream = ExtResource("8_837jh")
d_file = "res://Assets/dialogs.json"
[node name="Text" type="RichTextLabel" parent="Dialog"] [node name="Intro4Bar" type="AudioStreamPlayer2D" parent="."]
offset_left = 362.0 stream = ExtResource("9_iourf")
offset_top = 103.0 autoplay = true
offset_right = 1089.0
offset_bottom = 269.0 [node name="Intense" type="AudioStreamPlayer2D" parent="."]
scale = Vector2(0.624223, 0.607973) stream = ExtResource("10_05o5g")
theme_override_colors/default_color = Color(0.299668, 0.801919, 0.469303, 1)
theme_override_fonts/normal_font = ExtResource("7_ydsit")
theme_override_font_sizes/normal_font_size = 81
text = "Text"
custom_effects = [null]
[connection signal="timeout" from="SpawnTimer" to="." method="_on_spawn_timer_timeout"] [connection signal="timeout" from="SpawnTimer" to="." method="_on_spawn_timer_timeout"]
[connection signal="dialogue_over" from="Dialog" to="." method="_on_dialog_dialogue_over"] [connection signal="dialogue_over" from="Camera2D/Dialog" to="." method="_on_dialog_dialogue_over"]
[connection signal="finished" from="8bart1" to="." method="_on_bart_1_finished"]
[connection signal="finished" from="Intro4Bar" to="." method="_on_intro_4_bar_finished"]