Commit of existing data.
|
After Width: | Height: | Size: 3.5 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://4js1bkdv4ind"
|
||||
path="res://.godot/imported/lab-background.png-af2585ad1cd88c2453fe08aa1aeecb61.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://backgrounds/lab-background.png"
|
||||
dest_files=["res://.godot/imported/lab-background.png-af2585ad1cd88c2453fe08aa1aeecb61.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bluwleimw435s"
|
||||
path="res://.godot/imported/lab-foreground.png-f458ead3de93179b0e34957b179f35b3.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://backgrounds/lab-foreground.png"
|
||||
dest_files=["res://.godot/imported/lab-foreground.png-f458ead3de93179b0e34957b179f35b3.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 375 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://drdifw86rleq3"
|
||||
path="res://.godot/imported/demon_cg.png-35e296c7adfd3427d083b30af37884f6.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://cg/demon_cg.png"
|
||||
dest_files=["res://.godot/imported/demon_cg.png-35e296c7adfd3427d083b30af37884f6.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 574 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dm7br2lt50ndq"
|
||||
path="res://.godot/imported/doc_cg.png-9a6c378f49d87eb756740781ddbe9a4a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://cg/doc_cg.png"
|
||||
dest_files=["res://.godot/imported/doc_cg.png-9a6c378f49d87eb756740781ddbe9a4a.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 260 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dujs0317iwo80"
|
||||
path="res://.godot/imported/generic_cg.png-501538e97bf67c2cb2f5fe0c8213656d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://cg/generic_cg.png"
|
||||
dest_files=["res://.godot/imported/generic_cg.png-501538e97bf67c2cb2f5fe0c8213656d.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ba4o7x0jwxk4w"
|
||||
path="res://.godot/imported/guard_cg.png-9352a28d7dc4ebafe834e3738d008e6a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://cg/guard_cg.png"
|
||||
dest_files=["res://.godot/imported/guard_cg.png-9352a28d7dc4ebafe834e3738d008e6a.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
|
||||
|
After Width: | Height: | Size: 830 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://wgpcep5qsvdp"
|
||||
path="res://.godot/imported/lb_cg.png-d8d979a315f5353f5704b56dc05c43c1.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://cg/lb_cg.png"
|
||||
dest_files=["res://.godot/imported/lb_cg.png-d8d979a315f5353f5704b56dc05c43c1.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 785 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://hodqfba330d7"
|
||||
path="res://.godot/imported/met_cg.png-c570dff39e1f4010d05a8f2d025e92dd.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://cg/met_cg.png"
|
||||
dest_files=["res://.godot/imported/met_cg.png-c570dff39e1f4010d05a8f2d025e92dd.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://brn82jyieuv27"
|
||||
path="res://.godot/imported/plant_cg.png-d1d9960eb3450a8737e951504f20f91a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://cg/plant_cg.png"
|
||||
dest_files=["res://.godot/imported/plant_cg.png-d1d9960eb3450a8737e951504f20f91a.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 583 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dpvqijspkhod"
|
||||
path="res://.godot/imported/spid_cg.png-7ba8afaaa950ec3f2d82473935743524.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://cg/spid_cg.png"
|
||||
dest_files=["res://.godot/imported/spid_cg.png-7ba8afaaa950ec3f2d82473935743524.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
|
After Width: | Height: | Size: 336 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bb16y2ft2ntgr"
|
||||
path="res://.godot/imported/suc_cg.png-a6bafc5dbdfa314a931c84da0ebf177c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://cg/suc_cg.png"
|
||||
dest_files=["res://.godot/imported/suc_cg.png-a6bafc5dbdfa314a931c84da0ebf177c.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bmq2b8sb5ut84"
|
||||
path="res://.godot/imported/wi_cg.png-3c68005b309bee99f75ee884b08de1ea.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://cg/wi_cg.png"
|
||||
dest_files=["res://.godot/imported/wi_cg.png-3c68005b309bee99f75ee884b08de1ea.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
|
||||
@@ -0,0 +1,15 @@
|
||||
[gd_resource type="AudioBusLayout" format=3 uid="uid://b8s368qu8qi6t"]
|
||||
|
||||
[resource]
|
||||
bus/1/name = &"Music"
|
||||
bus/1/solo = false
|
||||
bus/1/mute = false
|
||||
bus/1/bypass_fx = false
|
||||
bus/1/volume_db = 0.0
|
||||
bus/1/send = &"Master"
|
||||
bus/2/name = &"SFX"
|
||||
bus/2/solo = false
|
||||
bus/2/mute = false
|
||||
bus/2/bypass_fx = false
|
||||
bus/2/volume_db = 0.0
|
||||
bus/2/send = &"Master"
|
||||
@@ -0,0 +1,77 @@
|
||||
[preset.0]
|
||||
|
||||
name="Linux/X11"
|
||||
platform="Linux/X11"
|
||||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path=""
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
|
||||
[preset.0.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_wrapper=1
|
||||
binary_format/embed_pck=true
|
||||
texture_format/bptc=true
|
||||
texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
texture_format/etc2=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}\""
|
||||
|
||||
[preset.1]
|
||||
|
||||
name="Web"
|
||||
platform="Web"
|
||||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path=""
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
|
||||
[preset.1.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
variant/extensions_support=false
|
||||
vram_texture_compression/for_desktop=true
|
||||
vram_texture_compression/for_mobile=false
|
||||
html/export_icon=true
|
||||
html/custom_html_shell=""
|
||||
html/head_include=""
|
||||
html/canvas_resize_policy=2
|
||||
html/focus_canvas_on_start=true
|
||||
html/experimental_virtual_keyboard=false
|
||||
progressive_web_app/enabled=false
|
||||
progressive_web_app/offline_page=""
|
||||
progressive_web_app/display=1
|
||||
progressive_web_app/orientation=0
|
||||
progressive_web_app/icon_144x144=""
|
||||
progressive_web_app/icon_180x180=""
|
||||
progressive_web_app/icon_512x512=""
|
||||
progressive_web_app/background_color=Color(0, 0, 0, 1)
|
||||
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://2u55t02l6vq8"
|
||||
path="res://.godot/imported/Kenney Mini Square.ttf-1f4c1a99a59ae08657fdeadcb5ed3ee0.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://fonts/Kenney Mini Square.ttf"
|
||||
dest_files=["res://.godot/imported/Kenney Mini Square.ttf-1f4c1a99a59ae08657fdeadcb5ed3ee0.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=0
|
||||
generate_mipmaps=false
|
||||
disable_embedded_bitmaps=true
|
||||
multichannel_signed_distance_field=false
|
||||
msdf_pixel_range=8
|
||||
msdf_size=48
|
||||
allow_system_fallback=true
|
||||
force_autohinter=false
|
||||
hinting=1
|
||||
subpixel_positioning=0
|
||||
keep_rounding_remainders=true
|
||||
oversampling=0.0
|
||||
Fallbacks=null
|
||||
fallbacks=[]
|
||||
Compress=null
|
||||
compress=true
|
||||
preload=[]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
||||
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://qga7hxbgghco"
|
||||
path="res://.godot/imported/Kenney Mini.ttf-7e07372b7d2e719119d99587e44ddefb.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://fonts/Kenney Mini.ttf"
|
||||
dest_files=["res://.godot/imported/Kenney Mini.ttf-7e07372b7d2e719119d99587e44ddefb.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=0
|
||||
generate_mipmaps=false
|
||||
disable_embedded_bitmaps=true
|
||||
multichannel_signed_distance_field=false
|
||||
msdf_pixel_range=8
|
||||
msdf_size=48
|
||||
allow_system_fallback=true
|
||||
force_autohinter=false
|
||||
hinting=1
|
||||
subpixel_positioning=0
|
||||
keep_rounding_remainders=true
|
||||
oversampling=0.0
|
||||
Fallbacks=null
|
||||
fallbacks=[]
|
||||
Compress=null
|
||||
compress=true
|
||||
preload=[]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
||||
@@ -0,0 +1,52 @@
|
||||
extends CanvasLayer
|
||||
|
||||
var config: Config = Config.new()
|
||||
var save: Save = Save.new(1)
|
||||
var timestamp: int
|
||||
|
||||
var player: Player
|
||||
var player_offset: Vector2
|
||||
var player_velocity: Vector2
|
||||
var player_target: String
|
||||
|
||||
@onready var overlay: ColorRect = $ColorRect
|
||||
@onready var animation_player: AnimationPlayer = $AnimationPlayer
|
||||
@onready var music_player: AudioStreamPlayer = $MusicPlayer
|
||||
|
||||
func _ready() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func goto_scene(scene: PackedScene, fade: bool = true):
|
||||
if fade:
|
||||
await fade_out()
|
||||
_deferred_goto_scene.call_deferred(scene)
|
||||
|
||||
|
||||
func _deferred_goto_scene(scene: PackedScene):
|
||||
if !scene:
|
||||
return
|
||||
get_tree().current_scene.free()
|
||||
var inst_scene := scene.instantiate()
|
||||
get_tree().root.add_child(inst_scene)
|
||||
get_tree().current_scene = inst_scene
|
||||
|
||||
|
||||
func fade_in() -> void:
|
||||
animation_player.play("fade_in")
|
||||
await animation_player.animation_finished
|
||||
overlay.hide()
|
||||
|
||||
|
||||
func fade_out() -> void:
|
||||
overlay.show()
|
||||
animation_player.play("fade_out")
|
||||
await animation_player.animation_finished
|
||||
|
||||
|
||||
func set_music(audio_stream: AudioStream):
|
||||
if music_player.stream == audio_stream:
|
||||
return
|
||||
music_player.stream = audio_stream
|
||||
music_player.play()
|
||||
pass
|
||||
@@ -0,0 +1 @@
|
||||
uid://c5828brdwf0ef
|
||||
@@ -0,0 +1,82 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://cf6hsqscvsk42"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c5828brdwf0ef" path="res://global.gd" id="1_o7u50"]
|
||||
[ext_resource type="AudioStream" uid="uid://crgyul2o4b36b" path="res://music/area_0.ogg" id="2_pjt3s"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_2jx0t"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("ColorRect:modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_tsy5r"]
|
||||
resource_name = "fade_in"
|
||||
length = 0.25
|
||||
step = 0.01
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("ColorRect:modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.24),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_wrddv"]
|
||||
resource_name = "fade_out"
|
||||
length = 0.25
|
||||
step = 0.01
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("ColorRect:modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.24),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_nsh7t"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_2jx0t"),
|
||||
&"fade_in": SubResource("Animation_tsy5r"),
|
||||
&"fade_out": SubResource("Animation_wrddv")
|
||||
}
|
||||
|
||||
[node name="Global" type="CanvasLayer"]
|
||||
script = ExtResource("1_o7u50")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_nsh7t")
|
||||
}
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="."]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0, 0, 0, 1)
|
||||
|
||||
[node name="MusicPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("2_pjt3s")
|
||||
autoplay = true
|
||||
mix_target = 1
|
||||
bus = &"Music"
|
||||
@@ -0,0 +1 @@
|
||||
<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="2" width="124" height="124" rx="14" fill="#363d52" stroke="#212532" stroke-width="4"/><g transform="scale(.101) translate(122 122)"><g fill="#fff"><path d="M105 673v33q407 354 814 0v-33z"/><path d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z" fill="#478cbf"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 949 B |
@@ -0,0 +1,37 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://367or7daq7rw"
|
||||
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://icon.svg"
|
||||
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.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
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
||||
@@ -0,0 +1,9 @@
|
||||
[gd_scene format=3 uid="uid://cte8keoftyqt3"]
|
||||
|
||||
[node name="ContinueGameMenu" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
@@ -0,0 +1,31 @@
|
||||
extends TextureRect
|
||||
|
||||
func _ready() -> void:
|
||||
$VBoxContainer/Btn_NewGame.grab_focus()
|
||||
global.set_music(load("res://music/area_0.ogg"))
|
||||
await global.fade_in()
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if Input.is_action_just_pressed("ui_cancel"):
|
||||
$VBoxContainer/Btn_Quit.emit_signal("pressed")
|
||||
|
||||
|
||||
func _on_btn_new_game_pressed():
|
||||
var scene = load("res://menus/new_game_menu.tscn")
|
||||
global.goto_scene(scene)
|
||||
|
||||
|
||||
func _on_btn_continue_pressed():
|
||||
var scene = load("res://menus/continue_game_menu.tscn")
|
||||
global.goto_scene(scene)
|
||||
|
||||
|
||||
func _on_btn_options_pressed():
|
||||
var scene = load("res://menus/options_menu.tscn")
|
||||
global.goto_scene(scene)
|
||||
|
||||
|
||||
func _on_btn_quit_pressed():
|
||||
await global.fade_out()
|
||||
get_tree().quit()
|
||||
@@ -0,0 +1 @@
|
||||
uid://3bfn7lgm1s3h
|
||||
@@ -0,0 +1,54 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://cq6uwsye435dr"]
|
||||
|
||||
[ext_resource type="Theme" uid="uid://d01fm68pwgnvc" path="res://ui/default_theme.tres" id="1_6mtu4"]
|
||||
[ext_resource type="Texture2D" uid="uid://w7m2ybuqy1bw" path="res://ui/background.png" id="2_bhgnh"]
|
||||
[ext_resource type="Script" uid="uid://3bfn7lgm1s3h" path="res://menus/main_menu.gd" id="3_3kxo1"]
|
||||
[ext_resource type="PackedScene" uid="uid://bqlbo0yh111fw" path="res://objects/ui/sound_button.tscn" id="5_511f8"]
|
||||
[ext_resource type="AudioStream" uid="uid://3p3r68ntjf4u" path="res://sounds/ui/menu_click.wav" id="5_h8vgu"]
|
||||
[ext_resource type="AudioStream" uid="uid://cs58kp03yj1kf" path="res://sounds/ui/menu_confirm.wav" id="6_su02e"]
|
||||
|
||||
[node name="Main_Menu" type="TextureRect"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme = ExtResource("1_6mtu4")
|
||||
texture = ExtResource("2_bhgnh")
|
||||
script = ExtResource("3_3kxo1")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||
layout_mode = 0
|
||||
offset_top = 144.0
|
||||
offset_right = 320.0
|
||||
offset_bottom = 240.0
|
||||
theme_override_constants/separation = 2
|
||||
|
||||
[node name="Btn_NewGame" parent="VBoxContainer" instance=ExtResource("5_511f8")]
|
||||
layout_mode = 2
|
||||
text = "New Game"
|
||||
FocusSound = ExtResource("5_h8vgu")
|
||||
PressSound = ExtResource("6_su02e")
|
||||
|
||||
[node name="Btn_Continue" parent="VBoxContainer" instance=ExtResource("5_511f8")]
|
||||
layout_mode = 2
|
||||
text = "Continue"
|
||||
FocusSound = ExtResource("5_h8vgu")
|
||||
PressSound = ExtResource("6_su02e")
|
||||
|
||||
[node name="Btn_Options" parent="VBoxContainer" instance=ExtResource("5_511f8")]
|
||||
layout_mode = 2
|
||||
text = "Options"
|
||||
FocusSound = ExtResource("5_h8vgu")
|
||||
PressSound = ExtResource("6_su02e")
|
||||
|
||||
[node name="Btn_Quit" parent="VBoxContainer" instance=ExtResource("5_511f8")]
|
||||
layout_mode = 2
|
||||
text = "Quit"
|
||||
FocusSound = ExtResource("5_h8vgu")
|
||||
PressSound = ExtResource("6_su02e")
|
||||
|
||||
[connection signal="pressed" from="VBoxContainer/Btn_NewGame" to="." method="_on_btn_new_game_pressed"]
|
||||
[connection signal="pressed" from="VBoxContainer/Btn_Continue" to="." method="_on_btn_continue_pressed"]
|
||||
[connection signal="pressed" from="VBoxContainer/Btn_Options" to="." method="_on_btn_options_pressed"]
|
||||
[connection signal="pressed" from="VBoxContainer/Btn_Quit" to="." method="_on_btn_quit_pressed"]
|
||||
@@ -0,0 +1,127 @@
|
||||
extends Control
|
||||
|
||||
const PROTAG_IMAGE = preload("res://ui/protag_image.tres")
|
||||
const GRAYSCALE = preload("res://shaders/grayscale.material")
|
||||
|
||||
var slot: int
|
||||
var save1: Save
|
||||
var save2: Save
|
||||
var save3: Save
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
save1 = Save.load(1)
|
||||
save2 = Save.load(2)
|
||||
save3 = Save.load(3)
|
||||
|
||||
set_slot(1, save1)
|
||||
set_slot(2, save2)
|
||||
set_slot(3, save3)
|
||||
|
||||
$HBoxContainer/Btn_Slot1.grab_focus()
|
||||
await global.fade_in()
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if Input.is_action_just_pressed("ui_cancel"):
|
||||
if $DifficultyDialog.visible:
|
||||
$DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyBack.emit_signal("pressed")
|
||||
elif $OverwriteDialog.visible:
|
||||
$OverwriteDialog.get_cancel_button().emit_signal("pressed")
|
||||
else:
|
||||
_on_btn_back_pressed()
|
||||
|
||||
|
||||
func _on_btn_back_pressed() -> void:
|
||||
var scene = load("res://menus/main_menu.tscn")
|
||||
global.goto_scene(scene)
|
||||
|
||||
|
||||
func _on_btn_slot_1_pressed() -> void:
|
||||
global.save = Save.new(1)
|
||||
$Overlay.show()
|
||||
if save1:
|
||||
$OverwriteDialog.show()
|
||||
else:
|
||||
$DifficultyDialog.show()
|
||||
$DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy.grab_focus()
|
||||
|
||||
|
||||
func _on_btn_slot_2_pressed() -> void:
|
||||
global.save = Save.new(2)
|
||||
$Overlay.show()
|
||||
if save2:
|
||||
$OverwriteDialog.show()
|
||||
else:
|
||||
$DifficultyDialog.show()
|
||||
$DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy.grab_focus()
|
||||
|
||||
|
||||
func _on_btn_slot_3_pressed() -> void:
|
||||
global.save = Save.new(3)
|
||||
$Overlay.show()
|
||||
if save3:
|
||||
$OverwriteDialog.show()
|
||||
else:
|
||||
$DifficultyDialog.show()
|
||||
$DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy.grab_focus()
|
||||
|
||||
|
||||
func _on_overwrite_dialog_confirmed() -> void:
|
||||
$DifficultyDialog.show()
|
||||
$DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy.grab_focus()
|
||||
|
||||
|
||||
func _on_overwrite_dialog_canceled() -> void:
|
||||
global.save = null
|
||||
$Overlay.hide()
|
||||
|
||||
|
||||
func _on_btn_difficulty_easy_pressed() -> void:
|
||||
global.save.difficulty = Save.Difficulty.EASY
|
||||
global.save.save_to_disk()
|
||||
var scene = load("res://rooms/%s.tscn" % global.save.room)
|
||||
$DifficultyDialog.hide()
|
||||
global.goto_scene(scene)
|
||||
|
||||
|
||||
func _on_btn_difficulty_normal_pressed() -> void:
|
||||
global.save.difficulty = Save.Difficulty.NORMAL
|
||||
global.save.save_to_disk()
|
||||
var scene = load("res://rooms/%s.tscn" % global.save.room)
|
||||
$DifficultyDialog.hide()
|
||||
global.goto_scene(scene)
|
||||
|
||||
|
||||
func _on_btn_difficulty_hard_pressed() -> void:
|
||||
global.save.difficulty = Save.Difficulty.HARD
|
||||
global.save.save_to_disk()
|
||||
var scene = load("res://rooms/%s.tscn" % global.save.room)
|
||||
$DifficultyDialog.hide()
|
||||
global.goto_scene(scene)
|
||||
|
||||
|
||||
func _on_btn_difficulty_back_pressed() -> void:
|
||||
global.save = null
|
||||
$DifficultyDialog.hide()
|
||||
$Overlay.hide()
|
||||
|
||||
|
||||
func set_slot(save_slot: int, save: Save) -> void:
|
||||
var basePath = "HBoxContainer/Btn_Slot%s" % save_slot
|
||||
if save:
|
||||
var ts = Timespan.new(save.playtime)
|
||||
get_node(basePath + "/VBoxContainer/Lab_Playtime").text = "%dH %dM %dS" % [floori(ts.TotalHours()), ts.Minutes(), ts.Seconds()]
|
||||
get_node(basePath + "/VBoxContainer/SlotImage").texture = PROTAG_IMAGE
|
||||
|
||||
get_node(basePath + "/VBoxContainer/Box_Abilities").show()
|
||||
if !save.fire: get_node(basePath + "/VBoxContainer/Box_Abilities/Tex_Fire").material = GRAYSCALE
|
||||
if !save.ice: get_node(basePath + "/VBoxContainer/Box_Abilities/Tex_Ice").material = GRAYSCALE
|
||||
if !save.laser: get_node(basePath + "/VBoxContainer/Box_Abilities/Tex_Laser").material = GRAYSCALE
|
||||
|
||||
get_node(basePath + "/VBoxContainer/Grid_Stats").show()
|
||||
get_node(basePath + "/VBoxContainer/Grid_Stats/Lab_AtkValue").text = "%s" % save.atk
|
||||
get_node(basePath + "/VBoxContainer/Grid_Stats/Lab_DefValue").text = "%s" % save.def
|
||||
get_node(basePath + "/VBoxContainer/Grid_Stats/Lab_ConValue").text = "%s" % save.con
|
||||
get_node(basePath + "/VBoxContainer/Grid_Stats/Lab_ChgValue").text = "%s" % save.chg
|
||||
@@ -0,0 +1 @@
|
||||
uid://nbqru7pv7cxc
|
||||
@@ -0,0 +1,510 @@
|
||||
[gd_scene load_steps=13 format=3 uid="uid://cddg48xuodm4s"]
|
||||
|
||||
[ext_resource type="Theme" uid="uid://d01fm68pwgnvc" path="res://ui/default_theme.tres" id="1_g6v0u"]
|
||||
[ext_resource type="Script" uid="uid://nbqru7pv7cxc" path="res://menus/new_game_menu.gd" id="2_ysy8u"]
|
||||
[ext_resource type="PackedScene" uid="uid://bqlbo0yh111fw" path="res://objects/ui/sound_button.tscn" id="3_4w7h3"]
|
||||
[ext_resource type="Texture2D" uid="uid://beomt8bs2wra2" path="res://ui/empty_ico.png" id="3_cjw05"]
|
||||
[ext_resource type="AudioStream" uid="uid://3p3r68ntjf4u" path="res://sounds/ui/menu_click.wav" id="4_cgk43"]
|
||||
[ext_resource type="Texture2D" uid="uid://kwsk0b5ff8k1" path="res://ui/fire_ico.png" id="4_eltv3"]
|
||||
[ext_resource type="Texture2D" uid="uid://dh8ike5vblov0" path="res://ui/ice_ico.png" id="5_5ypbk"]
|
||||
[ext_resource type="AudioStream" uid="uid://cs58kp03yj1kf" path="res://sounds/ui/menu_confirm.wav" id="5_sr5rb"]
|
||||
[ext_resource type="Texture2D" uid="uid://v0wt3up1lrkm" path="res://ui/laser_ico.png" id="6_vchad"]
|
||||
[ext_resource type="Texture2D" uid="uid://pk0b46lb6tmo" path="res://ui/cryo_image.tres" id="8_d3r81"]
|
||||
[ext_resource type="Script" uid="uid://h6prwf5a5wwr" path="res://objects/ui/sound_button.gd" id="11_qvsy4"]
|
||||
|
||||
[sub_resource type="StyleBoxLine" id="StyleBoxLine_3e3iv"]
|
||||
color = Color(1, 1, 1, 1)
|
||||
|
||||
[node name="NewGameMenu" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme = ExtResource("1_g6v0u")
|
||||
script = ExtResource("2_ysy8u")
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -39.0
|
||||
offset_top = 18.0
|
||||
offset_right = 46.0
|
||||
offset_bottom = 41.0
|
||||
grow_horizontal = 2
|
||||
text = "New Game"
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -150.0
|
||||
offset_top = -61.0
|
||||
offset_right = 150.0
|
||||
offset_bottom = 61.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/separation = 7
|
||||
alignment = 1
|
||||
|
||||
[node name="Btn_Slot1" parent="HBoxContainer" instance=ExtResource("3_4w7h3")]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
focus_neighbor_left = NodePath("../Btn_Slot3")
|
||||
focus_neighbor_right = NodePath("../Btn_Slot2")
|
||||
theme_type_variation = &"SaveSlotButton"
|
||||
FocusSound = ExtResource("4_cgk43")
|
||||
PressSound = ExtResource("5_sr5rb")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/Btn_Slot1"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/separation = 1
|
||||
|
||||
[node name="SlotLabel" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Slot 1"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Lab_Playtime" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "Empty"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="SlotImage" type="TextureRect" parent="HBoxContainer/Btn_Slot1/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(42, 42)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("8_d3r81")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="Box_Abilities" type="HBoxContainer" parent="HBoxContainer/Btn_Slot1/VBoxContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 1
|
||||
alignment = 1
|
||||
|
||||
[node name="Tex_Blast" type="TextureRect" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Box_Abilities"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("3_cjw05")
|
||||
|
||||
[node name="Tex_Fire" type="TextureRect" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Box_Abilities"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("4_eltv3")
|
||||
|
||||
[node name="Tex_Ice" type="TextureRect" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Box_Abilities"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("5_5ypbk")
|
||||
|
||||
[node name="Tex_Laser" type="TextureRect" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Box_Abilities"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("6_vchad")
|
||||
|
||||
[node name="Grid_Stats" type="GridContainer" parent="HBoxContainer/Btn_Slot1/VBoxContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
columns = 4
|
||||
|
||||
[node name="Lab_Atk" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "Atk"
|
||||
|
||||
[node name="Lab_AtkValue" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "1"
|
||||
|
||||
[node name="Lab_Def" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "Def"
|
||||
|
||||
[node name="Lab_DefValue" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "1"
|
||||
|
||||
[node name="Lab_Con" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "Con"
|
||||
|
||||
[node name="Lab_ConValue" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "1"
|
||||
|
||||
[node name="Lab_Chg" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "Chg"
|
||||
|
||||
[node name="Lab_ChgValue" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "1"
|
||||
|
||||
[node name="Btn_Slot2" parent="HBoxContainer" instance=ExtResource("3_4w7h3")]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
focus_neighbor_left = NodePath("../Btn_Slot1")
|
||||
focus_neighbor_right = NodePath("../Btn_Slot3")
|
||||
theme_type_variation = &"SaveSlotButton"
|
||||
FocusSound = ExtResource("4_cgk43")
|
||||
PressSound = ExtResource("5_sr5rb")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/Btn_Slot2"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/separation = 1
|
||||
|
||||
[node name="SlotLabel" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Slot 2"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Lab_Playtime" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "Empty"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="SlotImage" type="TextureRect" parent="HBoxContainer/Btn_Slot2/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(42, 42)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("8_d3r81")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="Box_Abilities" type="HBoxContainer" parent="HBoxContainer/Btn_Slot2/VBoxContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 1
|
||||
alignment = 1
|
||||
|
||||
[node name="Tex_Blast" type="TextureRect" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Box_Abilities"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("3_cjw05")
|
||||
|
||||
[node name="Tex_Fire" type="TextureRect" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Box_Abilities"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("4_eltv3")
|
||||
|
||||
[node name="Tex_Ice" type="TextureRect" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Box_Abilities"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("5_5ypbk")
|
||||
|
||||
[node name="Tex_Laser" type="TextureRect" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Box_Abilities"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("6_vchad")
|
||||
|
||||
[node name="Grid_Stats" type="GridContainer" parent="HBoxContainer/Btn_Slot2/VBoxContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
columns = 4
|
||||
|
||||
[node name="Lab_Atk" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "Atk"
|
||||
|
||||
[node name="Lab_AtkValue" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "1"
|
||||
|
||||
[node name="Lab_Def" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "Def"
|
||||
|
||||
[node name="Lab_DefValue" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "1"
|
||||
|
||||
[node name="Lab_Con" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "Con"
|
||||
|
||||
[node name="Lab_ConValue" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "1"
|
||||
|
||||
[node name="Lab_Chg" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "Chg"
|
||||
|
||||
[node name="Lab_ChgValue" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "1"
|
||||
|
||||
[node name="Btn_Slot3" parent="HBoxContainer" instance=ExtResource("3_4w7h3")]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
focus_neighbor_left = NodePath("../Btn_Slot2")
|
||||
focus_neighbor_right = NodePath("../Btn_Slot1")
|
||||
theme_type_variation = &"SaveSlotButton"
|
||||
FocusSound = ExtResource("4_cgk43")
|
||||
PressSound = ExtResource("5_sr5rb")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/Btn_Slot3"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/separation = 1
|
||||
|
||||
[node name="SlotLabel" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Slot 3"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Lab_Playtime" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "Empty"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="SlotImage" type="TextureRect" parent="HBoxContainer/Btn_Slot3/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(42, 42)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("8_d3r81")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="Box_Abilities" type="HBoxContainer" parent="HBoxContainer/Btn_Slot3/VBoxContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 1
|
||||
alignment = 1
|
||||
|
||||
[node name="Tex_Blast" type="TextureRect" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Box_Abilities"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("3_cjw05")
|
||||
|
||||
[node name="Tex_Fire" type="TextureRect" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Box_Abilities"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("4_eltv3")
|
||||
|
||||
[node name="Tex_Ice" type="TextureRect" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Box_Abilities"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("5_5ypbk")
|
||||
|
||||
[node name="Tex_Laser" type="TextureRect" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Box_Abilities"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("6_vchad")
|
||||
|
||||
[node name="Grid_Stats" type="GridContainer" parent="HBoxContainer/Btn_Slot3/VBoxContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
columns = 4
|
||||
|
||||
[node name="Lab_Atk" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "Atk"
|
||||
|
||||
[node name="Lab_AtkValue" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "1"
|
||||
|
||||
[node name="Lab_Def" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "Def"
|
||||
|
||||
[node name="Lab_DefValue" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "1"
|
||||
|
||||
[node name="Lab_Con" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "Con"
|
||||
|
||||
[node name="Lab_ConValue" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "1"
|
||||
|
||||
[node name="Lab_Chg" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "Chg"
|
||||
|
||||
[node name="Lab_ChgValue" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_type_variation = &"SaveSlotBodyLabel"
|
||||
text = "1"
|
||||
|
||||
[node name="Btn_Back" parent="." instance=ExtResource("3_4w7h3")]
|
||||
layout_mode = 1
|
||||
anchors_preset = 3
|
||||
anchor_left = 1.0
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -48.0
|
||||
offset_top = -28.0
|
||||
offset_right = -8.0
|
||||
offset_bottom = -8.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
text = "Back"
|
||||
FocusSound = ExtResource("4_cgk43")
|
||||
PressSound = ExtResource("5_sr5rb")
|
||||
|
||||
[node name="Overlay" type="ColorRect" parent="."]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0, 0, 0, 0.501961)
|
||||
|
||||
[node name="OverwriteDialog" type="ConfirmationDialog" parent="."]
|
||||
initial_position = 2
|
||||
size = Vector2i(200, 97)
|
||||
unresizable = true
|
||||
ok_button_text = "Overwrite"
|
||||
dialog_text = "Are you sure you want to overwrite this save?"
|
||||
dialog_autowrap = true
|
||||
|
||||
[node name="DifficultyDialog" type="Window" parent="."]
|
||||
title = "Select Difficulty"
|
||||
initial_position = 2
|
||||
size = Vector2i(165, 92)
|
||||
visible = false
|
||||
|
||||
[node name="Panel" type="Panel" parent="DifficultyDialog"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxLine_3e3iv")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="DifficultyDialog/Panel"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Btn_DifficultyEasy" type="Button" parent="DifficultyDialog/Panel/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Easy"
|
||||
script = ExtResource("11_qvsy4")
|
||||
|
||||
[node name="Btn_DifficultyNormal" type="Button" parent="DifficultyDialog/Panel/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Normal"
|
||||
script = ExtResource("11_qvsy4")
|
||||
|
||||
[node name="Btn_DifficultyHard" type="Button" parent="DifficultyDialog/Panel/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Hard"
|
||||
script = ExtResource("11_qvsy4")
|
||||
|
||||
[node name="Btn_DifficultyBack" type="Button" parent="DifficultyDialog/Panel/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Back"
|
||||
script = ExtResource("11_qvsy4")
|
||||
|
||||
[connection signal="pressed" from="HBoxContainer/Btn_Slot1" to="." method="_on_btn_slot_1_pressed"]
|
||||
[connection signal="pressed" from="HBoxContainer/Btn_Slot2" to="." method="_on_btn_slot_2_pressed"]
|
||||
[connection signal="pressed" from="HBoxContainer/Btn_Slot3" to="." method="_on_btn_slot_3_pressed"]
|
||||
[connection signal="pressed" from="Btn_Back" to="." method="_on_btn_back_pressed"]
|
||||
[connection signal="canceled" from="OverwriteDialog" to="." method="_on_overwrite_dialog_canceled"]
|
||||
[connection signal="confirmed" from="OverwriteDialog" to="." method="_on_overwrite_dialog_confirmed"]
|
||||
[connection signal="focus_entered" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy" method="_on_focus_entered"]
|
||||
[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy" to="." method="_on_btn_difficulty_easy_pressed"]
|
||||
[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy" method="_on_pressed"]
|
||||
[connection signal="focus_entered" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyNormal" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyNormal" method="_on_focus_entered"]
|
||||
[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyNormal" to="." method="_on_btn_difficulty_normal_pressed"]
|
||||
[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyNormal" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyNormal" method="_on_pressed"]
|
||||
[connection signal="focus_entered" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyHard" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyHard" method="_on_focus_entered"]
|
||||
[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyHard" to="." method="_on_btn_difficulty_hard_pressed"]
|
||||
[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyHard" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyHard" method="_on_pressed"]
|
||||
[connection signal="focus_entered" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyBack" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyBack" method="_on_focus_entered"]
|
||||
[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyBack" to="." method="_on_btn_difficulty_back_pressed"]
|
||||
[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyBack" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyBack" method="_on_pressed"]
|
||||
@@ -0,0 +1,8 @@
|
||||
extends Control
|
||||
|
||||
var timestart: int
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
timestart = Time.get_ticks_msec()
|
||||
await global.fade_in()
|
||||
@@ -0,0 +1 @@
|
||||
uid://b4i745jtfepbh
|
||||
@@ -0,0 +1,101 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://cvdf5q8evdylc"]
|
||||
|
||||
[ext_resource type="Theme" uid="uid://d01fm68pwgnvc" path="res://ui/default_theme.tres" id="1_5uhqc"]
|
||||
[ext_resource type="Script" uid="uid://b4i745jtfepbh" path="res://menus/options_menu.gd" id="2_aogii"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_xwmny"]
|
||||
script/source = "extends Button
|
||||
|
||||
|
||||
func _on_pressed():
|
||||
var scene = load(\"res://scenes/main_menu.tscn\")
|
||||
global.goto_scene(scene)
|
||||
"
|
||||
|
||||
[node name="OptionsMenu" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme = ExtResource("1_5uhqc")
|
||||
script = ExtResource("2_aogii")
|
||||
|
||||
[node name="Lab_Options" type="Label" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 5
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
offset_left = -30.0
|
||||
offset_top = 10.0
|
||||
offset_right = 32.0
|
||||
offset_bottom = 30.0
|
||||
grow_horizontal = 2
|
||||
text = "Options"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Btn_Confirm" type="Button" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 3
|
||||
anchor_left = 1.0
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -87.0
|
||||
offset_top = -28.0
|
||||
offset_right = -8.0
|
||||
offset_bottom = -8.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
text = "Confirm"
|
||||
|
||||
[node name="Btn_Cancel" type="Button" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 3
|
||||
anchor_left = 1.0
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -158.0
|
||||
offset_top = -28.0
|
||||
offset_right = -87.0
|
||||
offset_bottom = -8.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
text = "Cancel"
|
||||
script = SubResource("GDScript_xwmny")
|
||||
|
||||
[node name="GridContainer" type="GridContainer" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 10.0
|
||||
offset_top = 40.0
|
||||
offset_right = 310.0
|
||||
offset_bottom = 212.0
|
||||
columns = 2
|
||||
|
||||
[node name="Lab_MusicVolume" type="Label" parent="GridContainer"]
|
||||
layout_mode = 2
|
||||
text = "Music Volume"
|
||||
|
||||
[node name="Slider_MusicVolume" type="HSlider" parent="GridContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 1
|
||||
max_value = 1.0
|
||||
step = 0.1
|
||||
value = 0.5
|
||||
|
||||
[node name="Lab_SFXVolume" type="Label" parent="GridContainer"]
|
||||
layout_mode = 2
|
||||
text = "SFX Volume"
|
||||
|
||||
[node name="Slider_SFXVolume" type="HSlider" parent="GridContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 1
|
||||
max_value = 1.0
|
||||
step = 0.1
|
||||
value = 0.5
|
||||
|
||||
[connection signal="pressed" from="Btn_Cancel" to="Btn_Cancel" method="_on_pressed"]
|
||||
@@ -0,0 +1,17 @@
|
||||
extends TextureRect
|
||||
|
||||
var timer: SceneTreeTimer
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
global.fade_in()
|
||||
timer = get_tree().create_timer(5)
|
||||
await timer.timeout
|
||||
var scene = load("res://menus/main_menu.tscn")
|
||||
global.goto_scene(scene)
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(_delta: float) -> void:
|
||||
if Input.is_action_just_pressed("ui_accept") || Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT):
|
||||
timer.emit_signal("timeout")
|
||||
@@ -0,0 +1 @@
|
||||
uid://dujq1ojabysqj
|
||||
@@ -0,0 +1,13 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://deismap4eyt3"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dl708xax0net7" path="res://ui/splash.png" id="1_486j6"]
|
||||
[ext_resource type="Script" uid="uid://dujq1ojabysqj" path="res://menus/splash_screen.gd" id="2_mehmw"]
|
||||
|
||||
[node name="SplashScreen" type="TextureRect"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("1_486j6")
|
||||
script = ExtResource("2_mehmw")
|
||||
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://crgyul2o4b36b"
|
||||
path="res://.godot/imported/area_0.ogg-698a37b00e191da3849aacf81b06191a.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://music/area_0.ogg"
|
||||
dest_files=["res://.godot/imported/area_0.ogg-698a37b00e191da3849aacf81b06191a.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=70.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://bh5u0c6vyq74q"
|
||||
path="res://.godot/imported/area_1.ogg-0e4736dd73553438db5039531904b03b.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://music/area_1.ogg"
|
||||
dest_files=["res://.godot/imported/area_1.ogg-0e4736dd73553438db5039531904b03b.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=71.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://ckeguo5mqu73o"
|
||||
path="res://.godot/imported/area_2.ogg-f5a90f1530ed9ee4e755d08f5fe609b8.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://music/area_2.ogg"
|
||||
dest_files=["res://.godot/imported/area_2.ogg-f5a90f1530ed9ee4e755d08f5fe609b8.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=70.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://cqgpwqj85gdxp"
|
||||
path="res://.godot/imported/area_3.ogg-696854ba5bbb5873d0759cf7aef40d43.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://music/area_3.ogg"
|
||||
dest_files=["res://.godot/imported/area_3.ogg-696854ba5bbb5873d0759cf7aef40d43.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=70.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://bxg44fooc13uw"
|
||||
path="res://.godot/imported/area_4.ogg-20ed11af33d4f9581ca42f87b4758bcd.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://music/area_4.ogg"
|
||||
dest_files=["res://.godot/imported/area_4.ogg-20ed11af33d4f9581ca42f87b4758bcd.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=70.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://1co7qa5u5xac"
|
||||
path="res://.godot/imported/ending_music.ogg-d4fce01ab1e3374353771c26db2bf3ca.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://music/ending_music.ogg"
|
||||
dest_files=["res://.godot/imported/ending_music.ogg-d4fce01ab1e3374353771c26db2bf3ca.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=75.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -0,0 +1,19 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://chcw8lggq7vj1"
|
||||
path="res://.godot/imported/game_over_music.ogg-9a91a773036c7879e3fca3c22c46a438.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://music/game_over_music.ogg"
|
||||
dest_files=["res://.godot/imported/game_over_music.ogg-9a91a773036c7879e3fca3c22c46a438.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=70.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -0,0 +1,39 @@
|
||||
class_name DoorZone
|
||||
extends Area2D
|
||||
|
||||
@export_category("Outgoing")
|
||||
@export_file("*.tscn") var TargetRoomPath: String
|
||||
@export var TargetDoor: String
|
||||
@export var PreserveX: bool = false
|
||||
@export var PreserveY: bool = false
|
||||
@export var PreserveVelocity: bool = false
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(_delta: float) -> void:
|
||||
pass
|
||||
|
||||
|
||||
func _on_body_entered(body: Node2D) -> void:
|
||||
if body is Player:
|
||||
if self.name == global.player_target:
|
||||
return
|
||||
var offset := Vector2(0., 0.);
|
||||
if PreserveX:
|
||||
offset.x = body.position.x - self.position.x
|
||||
if PreserveY:
|
||||
offset.y = body.position.y - self.position.y
|
||||
global.player_offset = offset
|
||||
global.player_velocity = Vector2(0., 0.)
|
||||
if PreserveVelocity:
|
||||
global.player_velocity = body.velocity
|
||||
global.player_target = TargetDoor
|
||||
global.goto_scene(load(TargetRoomPath))
|
||||
|
||||
|
||||
func _on_body_exited(body: Node2D) -> void:
|
||||
global.player_target = ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://c027jkwb3uac4
|
||||
@@ -0,0 +1,8 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://dh5xmwhdwobev"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c027jkwb3uac4" path="res://objects/door_zone.gd" id="1_cm4xy"]
|
||||
|
||||
[node name="DoorZone" type="Area2D"]
|
||||
script = ExtResource("1_cm4xy")
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cs262sxemhpum"
|
||||
path="res://.godot/imported/jump_dust.png-341779febee3ef098cb2627403b1ea29.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://objects/fx/jump_dust.png"
|
||||
dest_files=["res://.godot/imported/jump_dust.png-341779febee3ef098cb2627403b1ea29.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
@@ -0,0 +1,63 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://c4h1cj75b5sry"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cs262sxemhpum" path="res://objects/fx/jump_dust.png" id="1_aj8qq"]
|
||||
[ext_resource type="Script" uid="uid://dgo1wtjored0j" path="res://scripts/dust_particle.gd" id="2_d1aoh"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_71pl7"]
|
||||
atlas = ExtResource("1_aj8qq")
|
||||
region = Rect2(0, 0, 23, 22)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kwppy"]
|
||||
atlas = ExtResource("1_aj8qq")
|
||||
region = Rect2(23, 0, 23, 22)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_h54gx"]
|
||||
atlas = ExtResource("1_aj8qq")
|
||||
region = Rect2(46, 0, 23, 22)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5nx71"]
|
||||
atlas = ExtResource("1_aj8qq")
|
||||
region = Rect2(69, 0, 23, 22)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ifxkf"]
|
||||
atlas = ExtResource("1_aj8qq")
|
||||
region = Rect2(92, 0, 23, 22)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0eeae"]
|
||||
atlas = ExtResource("1_aj8qq")
|
||||
region = Rect2(115, 0, 23, 22)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_dyqnt"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_71pl7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kwppy")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_h54gx")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5nx71")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ifxkf")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0eeae")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"default",
|
||||
"speed": 24.0
|
||||
}]
|
||||
|
||||
[node name="JumpDust" type="AnimatedSprite2D"]
|
||||
sprite_frames = SubResource("SpriteFrames_dyqnt")
|
||||
autoplay = "default"
|
||||
frame_progress = 1.0
|
||||
offset = Vector2(0, -9)
|
||||
script = ExtResource("2_d1aoh")
|
||||
|
||||
[connection signal="animation_finished" from="." to="." method="_on_animation_finished"]
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dkyfo8335hwnv"
|
||||
path="res://.godot/imported/roll_dust.png-f921e62c1104c1a75294133942b0d92b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://objects/fx/roll_dust.png"
|
||||
dest_files=["res://.godot/imported/roll_dust.png-f921e62c1104c1a75294133942b0d92b.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
@@ -0,0 +1,77 @@
|
||||
[gd_scene load_steps=12 format=3 uid="uid://botc600n5fcgt"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dkyfo8335hwnv" path="res://objects/fx/roll_dust.png" id="1_ocmkx"]
|
||||
[ext_resource type="Script" uid="uid://dgo1wtjored0j" path="res://scripts/dust_particle.gd" id="2_ny4y2"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_j223t"]
|
||||
atlas = ExtResource("1_ocmkx")
|
||||
region = Rect2(0, 0, 38, 39)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_15ql1"]
|
||||
atlas = ExtResource("1_ocmkx")
|
||||
region = Rect2(38, 0, 38, 39)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_byoxk"]
|
||||
atlas = ExtResource("1_ocmkx")
|
||||
region = Rect2(76, 0, 38, 39)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_m3d4f"]
|
||||
atlas = ExtResource("1_ocmkx")
|
||||
region = Rect2(114, 0, 38, 39)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6nm25"]
|
||||
atlas = ExtResource("1_ocmkx")
|
||||
region = Rect2(152, 0, 38, 39)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tqo4n"]
|
||||
atlas = ExtResource("1_ocmkx")
|
||||
region = Rect2(190, 0, 38, 39)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ur0hm"]
|
||||
atlas = ExtResource("1_ocmkx")
|
||||
region = Rect2(228, 0, 38, 39)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uuuyy"]
|
||||
atlas = ExtResource("1_ocmkx")
|
||||
region = Rect2(266, 0, 38, 39)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_dyqnt"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_j223t")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_15ql1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_byoxk")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_m3d4f")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6nm25")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tqo4n")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ur0hm")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uuuyy")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"default",
|
||||
"speed": 24.0
|
||||
}]
|
||||
|
||||
[node name="RollDust" type="AnimatedSprite2D"]
|
||||
sprite_frames = SubResource("SpriteFrames_dyqnt")
|
||||
autoplay = "default"
|
||||
frame_progress = 1.0
|
||||
offset = Vector2(0, -9)
|
||||
script = ExtResource("2_ny4y2")
|
||||
|
||||
[connection signal="animation_finished" from="." to="." method="_on_animation_finished"]
|
||||
@@ -0,0 +1,26 @@
|
||||
class_name Zombie
|
||||
extends CharacterBody2D
|
||||
|
||||
|
||||
const SPEED = 300.0
|
||||
const JUMP_VELOCITY = -400.0
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
# Add the gravity.
|
||||
if not is_on_floor():
|
||||
velocity += get_gravity() * delta
|
||||
|
||||
# Handle jump.
|
||||
if Input.is_action_just_pressed("ui_accept") and is_on_floor():
|
||||
velocity.y = JUMP_VELOCITY
|
||||
|
||||
# Get the input direction and handle the movement/deceleration.
|
||||
# As good practice, you should replace UI actions with custom gameplay actions.
|
||||
var direction := Input.get_axis("ui_left", "ui_right")
|
||||
if direction:
|
||||
velocity.x = direction * SPEED
|
||||
else:
|
||||
velocity.x = move_toward(velocity.x, 0, SPEED)
|
||||
|
||||
move_and_slide()
|
||||
@@ -0,0 +1 @@
|
||||
uid://bw8t7n771m0b4
|
||||
|
After Width: | Height: | Size: 6.3 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c8v7mt7kbv7k5"
|
||||
path="res://.godot/imported/zombie.png-cd8c3c30f31f1b01ad0e7564be92c691.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://objects/npcs/zombie.png"
|
||||
dest_files=["res://.godot/imported/zombie.png-cd8c3c30f31f1b01ad0e7564be92c691.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
@@ -0,0 +1,203 @@
|
||||
[gd_scene load_steps=28 format=3 uid="uid://enj7slqj7o2o"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://c8v7mt7kbv7k5" path="res://objects/npcs/zombie.png" id="1_8psf6"]
|
||||
[ext_resource type="Script" uid="uid://bw8t7n771m0b4" path="res://objects/npcs/zombie.gd" id="1_qml1x"]
|
||||
[ext_resource type="Script" uid="uid://bsveyr6o3li86" path="res://objects/npcs/zombie_sprite.gd" id="3_8bxsl"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qml1x"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(0, 122, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8bxsl"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(52, 122, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nyp6s"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(104, 122, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_knvin"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(156, 122, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0k1nj"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(208, 122, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4k8tf"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(260, 122, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fljd2"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(312, 122, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hci6t"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(364, 122, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_apr15"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(416, 122, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_gigwc"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(0, 0, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5qsks"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(52, 0, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ys0de"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(0, 183, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kni6o"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(52, 183, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8lesc"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(104, 183, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ai73t"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(156, 183, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hmrhp"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(208, 183, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_reymy"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(260, 183, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wifnu"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(0, 61, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_frsw6"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(52, 61, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8n4lj"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(104, 61, 52, 61)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_sqw4r"]
|
||||
atlas = ExtResource("1_8psf6")
|
||||
region = Rect2(156, 61, 52, 61)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_4jgel"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_qml1x")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8bxsl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nyp6s")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_knvin")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0k1nj")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4k8tf")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fljd2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hci6t")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_apr15")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"attack",
|
||||
"speed": 12.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_gigwc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5qsks")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 3.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ys0de")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kni6o")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8lesc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ai73t")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hmrhp")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_reymy")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"die",
|
||||
"speed": 24.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wifnu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_frsw6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8n4lj")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_sqw4r")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"walk",
|
||||
"speed": 6.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_8psf6"]
|
||||
radius = 6.0
|
||||
height = 24.0
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_8bxsl"]
|
||||
size = Vector2(8, 13)
|
||||
|
||||
[node name="Zombie" type="CharacterBody2D"]
|
||||
script = ExtResource("1_qml1x")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -10.5)
|
||||
sprite_frames = SubResource("SpriteFrames_4jgel")
|
||||
animation = &"attack"
|
||||
frame = 5
|
||||
script = ExtResource("3_8bxsl")
|
||||
|
||||
[node name="Collision" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -12)
|
||||
shape = SubResource("CapsuleShape2D_8psf6")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
|
||||
[node name="CollisionAttack" type="CollisionShape2D" parent="Area2D"]
|
||||
position = Vector2(10, -11.5)
|
||||
shape = SubResource("RectangleShape2D_8bxsl")
|
||||
debug_color = Color(0.9942227, 0, 0.23271917, 0.41960785)
|
||||
@@ -0,0 +1,11 @@
|
||||
extends AnimatedSprite2D
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
@@ -0,0 +1 @@
|
||||
uid://bsveyr6o3li86
|
||||
@@ -0,0 +1,152 @@
|
||||
class_name Player
|
||||
extends CharacterBody2D
|
||||
|
||||
@onready var sprite := $Sprite as AnimatedSprite2D
|
||||
@onready var audio_player := $AudioPlayer as AudioStreamPlayer
|
||||
|
||||
signal state_change(old: States, new: States)
|
||||
|
||||
enum States {IDLE, RUN_START, RUN, ROLL, JUMP_START, JUMP, FALL, LAND, DAMAGE, RAGDOLL, BOUNCE, LAY, SHOOT, JAB, STRAIGHT, KICK, POUND}
|
||||
|
||||
const STATES_IMMOBILE = [States.ROLL, States.DAMAGE, States.RAGDOLL, States.BOUNCE, States.LAY, States.SHOOT, States.JAB, States.STRAIGHT, States.KICK, States.POUND]
|
||||
const STATES_AIRBORNE = [States.JUMP_START, States.JUMP, States.FALL]
|
||||
|
||||
const ROLL_DUST = preload("uid://botc600n5fcgt")
|
||||
const JUMP_DUST = preload("uid://c4h1cj75b5sry")
|
||||
const JUMP_SOUND = preload("uid://d1hwunwdel6sy")
|
||||
const HIT_GROUND = preload("uid://ciglwfq0vua8i")
|
||||
|
||||
const SPEED = 90.0
|
||||
const ACCEL = 450
|
||||
const JUMP_VELOCITY = -312.0
|
||||
const ROLL_VELOCITY = 150.0
|
||||
const ROLL_DECEL = 1080
|
||||
|
||||
# Get the gravity from the project settings to be synced with RigidBody nodes.
|
||||
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
|
||||
|
||||
var state: States = States.IDLE: set = _set_state
|
||||
|
||||
var direction: float
|
||||
var grounded: bool
|
||||
var running: bool
|
||||
var rolling: bool
|
||||
var ragdoll: bool
|
||||
var bounce: bool
|
||||
var lay: bool
|
||||
var shooting: bool
|
||||
var melee: bool
|
||||
|
||||
func _set_state(s: States):
|
||||
state_change.emit(state, s)
|
||||
state = s
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
$State.text = States.keys()[state]
|
||||
|
||||
func _physics_process(delta):
|
||||
# Add the gravity.
|
||||
if not is_on_floor():
|
||||
velocity.y += gravity * delta
|
||||
|
||||
# Jumping
|
||||
if state not in STATES_IMMOBILE and state not in STATES_AIRBORNE and Input.is_action_just_pressed("jump") and is_on_floor():
|
||||
state = States.JUMP_START
|
||||
|
||||
audio_player.stream = JUMP_SOUND
|
||||
audio_player.play()
|
||||
|
||||
var jump_dust = JUMP_DUST.instantiate()
|
||||
jump_dust.position = position
|
||||
add_sibling(jump_dust)
|
||||
|
||||
velocity.y = JUMP_VELOCITY
|
||||
|
||||
# Short hops
|
||||
if Input.is_action_just_released("jump") && !is_on_floor():
|
||||
velocity.y = velocity.y / 2
|
||||
|
||||
# Falling
|
||||
if state not in [States.ROLL, States.RAGDOLL, States.BOUNCE] and velocity.y > 0:
|
||||
state = States.FALL
|
||||
|
||||
if state in [States.FALL] and is_zero_approx(velocity.y):
|
||||
if direction:
|
||||
state = States.RUN
|
||||
else:
|
||||
state = States.LAND
|
||||
|
||||
# Rolls
|
||||
if state not in STATES_IMMOBILE and state != States.ROLL and \
|
||||
(Input.is_action_just_pressed("roll_jump") or Input.is_action_just_pressed("roll")):
|
||||
state = States.ROLL
|
||||
|
||||
if is_on_floor():
|
||||
var roll_dust = ROLL_DUST.instantiate()
|
||||
roll_dust.position = position
|
||||
roll_dust.flip_h = !sprite.flip_h
|
||||
add_sibling(roll_dust)
|
||||
|
||||
if !sprite.flip_h:
|
||||
velocity.x = ROLL_VELOCITY
|
||||
else:
|
||||
velocity.x = -ROLL_VELOCITY
|
||||
|
||||
if velocity.y >= 0 && Input.is_action_just_pressed("roll_jump"):
|
||||
velocity.y = -120
|
||||
|
||||
# Melee
|
||||
if state not in STATES_IMMOBILE and Input.is_action_just_pressed("melee"):
|
||||
state = States.MELEE
|
||||
if Input.is_action_pressed("roll"):
|
||||
# Pound
|
||||
pass
|
||||
|
||||
# Shooting
|
||||
if state not in STATES_IMMOBILE and Input.is_action_just_pressed("shoot"):
|
||||
state = States.SHOOT
|
||||
match global.save.projectile:
|
||||
global.save.Projectile.BLAST:
|
||||
pass
|
||||
|
||||
# Ragdoll
|
||||
if state not in [States.RAGDOLL, States.BOUNCE, States.LAY] and Input.is_action_just_pressed("ragdoll"):
|
||||
state = States.RAGDOLL
|
||||
|
||||
if state in [States.RAGDOLL] and is_on_floor():
|
||||
state = States.BOUNCE
|
||||
|
||||
var roll_dust = ROLL_DUST.instantiate()
|
||||
roll_dust.position = position
|
||||
roll_dust.flip_h = !sprite.flip_h
|
||||
add_sibling(roll_dust)
|
||||
|
||||
velocity.y = -120
|
||||
audio_player.stream = HIT_GROUND
|
||||
audio_player.play()
|
||||
|
||||
if state in [States.BOUNCE] and is_on_floor() and velocity.y >= 0:
|
||||
state = States.LAY
|
||||
|
||||
audio_player.stream = HIT_GROUND
|
||||
audio_player.play()
|
||||
|
||||
if state in [States.LAY] and is_on_floor():
|
||||
velocity.x = move_toward(velocity.x, 0, ACCEL * delta)
|
||||
|
||||
# Overall physics
|
||||
direction = Input.get_axis("move_left", "move_right")
|
||||
if state == States.ROLL and sprite.frame > 7:
|
||||
# Slow down if in the later roll frames.
|
||||
velocity.x = move_toward(velocity.x, 0, ROLL_DECEL * delta)
|
||||
elif state not in [States.ROLL, States.DAMAGE, States.RAGDOLL, States.BOUNCE, States.LAY, States.SHOOT, States.MELEE]:
|
||||
# Apply velocity changes if not in a restricted movement state.
|
||||
velocity.x = move_toward(velocity.x, direction * SPEED, ACCEL * delta)
|
||||
if direction:
|
||||
if state not in [States.JUMP_START, States.JUMP, States.FALL, States.RUN_START, States.RUN]:
|
||||
state = States.RUN_START
|
||||
else:
|
||||
if state not in [States.JUMP_START, States.JUMP, States.FALL, States.LAND]:
|
||||
state = States.IDLE
|
||||
|
||||
move_and_slide()
|
||||
@@ -0,0 +1 @@
|
||||
uid://drpdjfp0o7bbv
|
||||
|
After Width: | Height: | Size: 28 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ci24lybfsaxd0"
|
||||
path="res://.godot/imported/player.png-ce2a37186354540f2edbb662bd1e85b2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://objects/player.png"
|
||||
dest_files=["res://.godot/imported/player.png-ce2a37186354540f2edbb662bd1e85b2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
@@ -0,0 +1,693 @@
|
||||
[gd_scene load_steps=88 format=3 uid="uid://2f3x4fcr0os6"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://ci24lybfsaxd0" path="res://objects/player.png" id="1_2mhpo"]
|
||||
[ext_resource type="Script" uid="uid://drpdjfp0o7bbv" path="res://objects/player.gd" id="1_c7kgv"]
|
||||
[ext_resource type="Script" uid="uid://e6q7q0ljb34u" path="res://scripts/state_collision.gd" id="1_uxov2"]
|
||||
[ext_resource type="Script" uid="uid://cgeaq15vi0bnd" path="res://objects/player_sprite.gd" id="3_uxov2"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ykyjo"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(0, 602, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uxov2"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(35, 602, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nmc1l"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(70, 602, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_f46kd"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(105, 602, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3rerk"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(140, 602, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_i825w"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(175, 602, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3rfka"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(210, 602, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_i8sra"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(0, 344, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4vq5b"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(35, 344, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3nfmf"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(70, 344, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_42cpl"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(105, 344, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vqq2l"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(140, 344, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_r673r"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(175, 344, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mqnmn"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(210, 344, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5esnd"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(245, 344, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w1o2u"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(0, 0, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_s4hvt"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(35, 0, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2sux5"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(70, 0, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_iqfnf"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(105, 0, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bhqug"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(0, 258, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_cyhxw"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(0, 473, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wq66c"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(35, 473, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_183dw"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(70, 473, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nflk0"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(105, 473, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uqwil"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(140, 473, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ggel1"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(175, 473, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_d8ffw"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(210, 473, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2ve04"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(0, 215, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0rhe2"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(0, 172, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6ypbn"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(0, 387, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7rsoo"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(35, 387, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lywsn"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(70, 387, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_cvk82"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(105, 387, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_77i28"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(140, 387, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mle5l"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(175, 387, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_i4kk0"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(210, 387, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_s854h"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(245, 387, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tj211"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(0, 301, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kqdjh"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(35, 301, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_a5pfi"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(70, 301, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_f2hc5"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(0, 430, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_sktdc"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(0, 559, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ghhh6"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(35, 559, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dibtv"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(70, 559, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_d4anp"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(105, 559, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ct16p"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(140, 559, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_arub5"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(175, 559, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4g3oa"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(210, 559, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_r7a5p"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(0, 129, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kmthn"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(35, 129, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_775wt"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(70, 129, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dsdn8"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(105, 129, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_q7t1j"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(140, 129, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_f0f2d"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(175, 129, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jxo55"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(210, 129, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jilkr"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(245, 129, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uyug2"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(280, 129, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4jwck"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(315, 129, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_07yoj"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(0, 86, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fhocf"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(35, 86, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_78ho2"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(70, 86, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8ch2p"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(105, 86, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_f4byu"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(140, 86, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_b5c7i"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(175, 86, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_evbvi"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(210, 86, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ye2nl"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(245, 86, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_l3yn6"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(0, 43, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1crfk"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(35, 43, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7lcwi"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(70, 43, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_g8y8i"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(105, 43, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bb8rj"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(140, 43, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_il2j7"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(175, 43, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_p2pxn"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(0, 516, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e728x"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(35, 516, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wmx0i"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(70, 516, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_llth5"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(105, 516, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4wu0g"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(140, 516, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_isejg"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(175, 516, 35, 43)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_cebk3"]
|
||||
atlas = ExtResource("1_2mhpo")
|
||||
region = Rect2(210, 516, 35, 43)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_blchw"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ykyjo")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uxov2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nmc1l")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_f46kd")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3rerk")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_i825w")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3rfka")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"air_kick",
|
||||
"speed": 24.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_i8sra")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4vq5b")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3nfmf")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_42cpl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vqq2l")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_r673r")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_mqnmn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5esnd")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"damage",
|
||||
"speed": 12.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_w1o2u")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_s4hvt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2sux5")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_iqfnf")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 6.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bhqug")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"fall",
|
||||
"speed": 1.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_cyhxw")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wq66c")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_183dw")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nflk0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uqwil")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ggel1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_d8ffw")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"jab",
|
||||
"speed": 36.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2ve04")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"jump",
|
||||
"speed": 12.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0rhe2")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"jump_start",
|
||||
"speed": 12.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6ypbn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7rsoo")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lywsn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_cvk82")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_77i28")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_mle5l")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_i4kk0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_s854h")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"knockdown",
|
||||
"speed": 18.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tj211")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kqdjh")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_a5pfi")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"land",
|
||||
"speed": 12.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_f2hc5")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"lay",
|
||||
"speed": 0.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_sktdc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ghhh6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dibtv")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_d4anp")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ct16p")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_arub5")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4g3oa")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"pound",
|
||||
"speed": 18.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_r7a5p")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kmthn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_775wt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dsdn8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_q7t1j")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_f0f2d")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jxo55")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jilkr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uyug2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4jwck")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"roll",
|
||||
"speed": 18.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_07yoj")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fhocf")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_78ho2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8ch2p")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_f4byu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_b5c7i")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_evbvi")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ye2nl")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"run",
|
||||
"speed": 15.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l3yn6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1crfk")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7lcwi")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_g8y8i")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bb8rj")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_il2j7")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"run_start",
|
||||
"speed": 18.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_p2pxn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e728x")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wmx0i")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_llth5")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4wu0g")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_isejg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_cebk3")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"straight",
|
||||
"speed": 24.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_f46kd"]
|
||||
radius = 8.0
|
||||
height = 16.0
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_uxov2"]
|
||||
script/source = "extends CollisionState2D
|
||||
|
||||
func _on_player_state_change(_old: Player.States, new: Player.States) -> void:
|
||||
change_shape(Player.States.keys()[new])
|
||||
"
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_nmc1l"]
|
||||
radius = 6.0
|
||||
height = 22.0
|
||||
|
||||
[node name="Player" type="CharacterBody2D"]
|
||||
z_index = 10
|
||||
floor_constant_speed = true
|
||||
floor_snap_length = 2.0
|
||||
script = ExtResource("1_c7kgv")
|
||||
|
||||
[node name="AudioPlayer" type="AudioStreamPlayer" parent="."]
|
||||
max_polyphony = 2
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(0, -11)
|
||||
sprite_frames = SubResource("SpriteFrames_blchw")
|
||||
animation = &"roll"
|
||||
frame = 4
|
||||
offset = Vector2(0, -0.5)
|
||||
script = ExtResource("3_uxov2")
|
||||
|
||||
[node name="Hitbox" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(0, -11)
|
||||
shape = SubResource("CapsuleShape2D_f46kd")
|
||||
script = SubResource("GDScript_uxov2")
|
||||
Shapes = Dictionary[String, Shape2D]({
|
||||
"IDLE": SubResource("CapsuleShape2D_nmc1l")
|
||||
})
|
||||
metadata/_custom_type_script = "uid://e6q7q0ljb34u"
|
||||
|
||||
[node name="State" type="Label" parent="."]
|
||||
offset_left = -40.0
|
||||
offset_top = -56.0
|
||||
offset_right = 40.0
|
||||
offset_bottom = -24.0
|
||||
|
||||
[node name="Attackbox" type="Area2D" parent="."]
|
||||
|
||||
[node name="CollisionState2D" type="CollisionShape2D" parent="Attackbox"]
|
||||
script = ExtResource("1_uxov2")
|
||||
metadata/_custom_type_script = "uid://e6q7q0ljb34u"
|
||||
|
||||
[connection signal="state_change" from="." to="Hitbox" method="_on_player_state_change"]
|
||||
[connection signal="animation_finished" from="Sprite" to="Sprite" method="_on_animation_finished"]
|
||||
@@ -0,0 +1,12 @@
|
||||
class_name PlayerCamera2D
|
||||
extends Camera2D
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(_delta: float) -> void:
|
||||
if global.player:
|
||||
position = global.player.position
|
||||
@@ -0,0 +1 @@
|
||||
uid://dtdbkfoaaejw0
|
||||
@@ -0,0 +1,54 @@
|
||||
extends AnimatedSprite2D
|
||||
|
||||
@onready var player := $".." as Player
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
play("default")
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(_delta):
|
||||
match player.state:
|
||||
Player.States.IDLE:
|
||||
play("default")
|
||||
Player.States.RUN_START:
|
||||
play("run_start")
|
||||
Player.States.RUN:
|
||||
play("run")
|
||||
Player.States.ROLL:
|
||||
play("roll")
|
||||
Player.States.JUMP_START:
|
||||
play("jump_start")
|
||||
Player.States.JUMP:
|
||||
play("jump")
|
||||
Player.States.FALL:
|
||||
play("fall")
|
||||
Player.States.LAND:
|
||||
play("land")
|
||||
Player.States.DAMAGE:
|
||||
play("damage")
|
||||
Player.States.RAGDOLL:
|
||||
play("knockdown")
|
||||
Player.States.BOUNCE:
|
||||
play("knockdown")
|
||||
if player.is_on_floor():
|
||||
frame = 4
|
||||
Player.States.LAY:
|
||||
play("lay")
|
||||
if player.direction:
|
||||
flip_h = player.direction < 0
|
||||
|
||||
func _on_animation_finished():
|
||||
match animation:
|
||||
"run_start":
|
||||
player.state = Player.States.RUN
|
||||
"land":
|
||||
player.state = Player.States.IDLE
|
||||
"jump_start":
|
||||
player.state = Player.States.JUMP
|
||||
"roll":
|
||||
player.state = Player.States.IDLE
|
||||
"damage":
|
||||
player.state = Player.States.IDLE
|
||||
@@ -0,0 +1 @@
|
||||
uid://cgeaq15vi0bnd
|
||||
|
After Width: | Height: | Size: 863 B |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cs21plpjp5lle"
|
||||
path="res://.godot/imported/blast.png-1e5c9a58118096a1044ef4f96ebba846.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://objects/projectiles/blast.png"
|
||||
dest_files=["res://.godot/imported/blast.png-1e5c9a58118096a1044ef4f96ebba846.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
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/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
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
|
||||
@@ -0,0 +1,3 @@
|
||||
[gd_scene format=3 uid="uid://bcjnrngre63n4"]
|
||||
|
||||
[node name="Blast" type="Node2D"]
|
||||
@@ -0,0 +1,33 @@
|
||||
extends Button
|
||||
|
||||
@onready var audio_player: AudioStreamPlayer = $AudioPlayer
|
||||
|
||||
@export var FocusSound: AudioStream
|
||||
@export var PressSound: AudioStream
|
||||
|
||||
var flash: bool
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(_delta: float) -> void:
|
||||
pass
|
||||
|
||||
|
||||
func _on_pressed() -> void:
|
||||
if !PressSound:
|
||||
return
|
||||
audio_player.stream = PressSound
|
||||
audio_player.play()
|
||||
|
||||
|
||||
func _on_focus_entered() -> void:
|
||||
if !PressSound:
|
||||
return
|
||||
if Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT):
|
||||
return
|
||||
audio_player.stream = FocusSound
|
||||
audio_player.play()
|
||||
@@ -0,0 +1 @@
|
||||
uid://h6prwf5a5wwr
|
||||
@@ -0,0 +1,13 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://bqlbo0yh111fw"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://h6prwf5a5wwr" path="res://objects/ui/sound_button.gd" id="1_f827h"]
|
||||
|
||||
[node name="SoundButton" type="Button"]
|
||||
script = ExtResource("1_f827h")
|
||||
|
||||
[node name="AudioPlayer" type="AudioStreamPlayer" parent="."]
|
||||
max_polyphony = 2
|
||||
bus = &"SFX"
|
||||
|
||||
[connection signal="focus_entered" from="." to="." method="_on_focus_entered"]
|
||||
[connection signal="pressed" from="." to="." method="_on_pressed"]
|
||||
@@ -0,0 +1,88 @@
|
||||
; Engine configuration file.
|
||||
; It's best edited using the editor UI and not directly,
|
||||
; since the parameters that go here are not all obvious.
|
||||
;
|
||||
; Format:
|
||||
; [section] ; section goes between []
|
||||
; param=value ; assign values to parameters
|
||||
|
||||
config_version=5
|
||||
|
||||
[application]
|
||||
|
||||
config/name="Kurovadis"
|
||||
run/main_scene="uid://deismap4eyt3"
|
||||
config/use_custom_user_dir=true
|
||||
config/features=PackedStringArray("4.5", "GL Compatibility")
|
||||
config/icon="res://icon.svg"
|
||||
|
||||
[autoload]
|
||||
|
||||
global="*res://global.tscn"
|
||||
|
||||
[debug]
|
||||
|
||||
gdscript/warnings/integer_division=0
|
||||
|
||||
[display]
|
||||
|
||||
window/size/viewport_width=320
|
||||
window/size/viewport_height=240
|
||||
window/size/window_width_override=960
|
||||
window/size/window_height_override=720
|
||||
window/stretch/mode="viewport"
|
||||
|
||||
[input]
|
||||
|
||||
move_left={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
move_right={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
roll={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
jump={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":88,"key_label":0,"unicode":120,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
roll_jump={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
melee={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":67,"key_label":0,"unicode":99,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
shoot={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":90,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
ragdoll={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":72,"key_label":0,"unicode":104,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[physics]
|
||||
|
||||
2d/default_gravity=720.0
|
||||
|
||||
[rendering]
|
||||
|
||||
textures/canvas_textures/default_texture_filter=0
|
||||
renderer/rendering_method="gl_compatibility"
|
||||
renderer/rendering_method.mobile="gl_compatibility"
|
||||
textures/vram_compression/import_etc2_astc=true
|
||||
environment/defaults/default_clear_color=Color(0, 0, 0, 1)
|
||||
@@ -0,0 +1,18 @@
|
||||
extends Node2D
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
global.set_music(load("res://music/area_1.ogg"))
|
||||
if !global.player:
|
||||
global.player = load("res://objects/player.tscn").instantiate()
|
||||
global.player.position = $PlayerSpawn.position
|
||||
get_tree().root.add_child.call_deferred(global.player)
|
||||
if global.player && global.player_target:
|
||||
global.player.position = global.offset + get_node(global.player_target).position
|
||||
print("setting player location: ", global.player.position)
|
||||
await global.fade_in()
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(_delta: float) -> void:
|
||||
pass
|
||||
@@ -0,0 +1 @@
|
||||
uid://mb2mnfri0ti
|
||||
@@ -0,0 +1,13 @@
|
||||
extends Node2D
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
global.set_music(load("res://music/area_1.ogg"))
|
||||
if global.player && global.player_target:
|
||||
global.player.position = global.offset + get_node(global.player_target).position
|
||||
await global.fade_in()
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(_delta: float) -> void:
|
||||
pass
|
||||
@@ -0,0 +1 @@
|
||||
uid://sgn85l66sax
|
||||
@@ -0,0 +1,446 @@
|
||||
[gd_scene load_steps=51 format=3 uid="uid://dg3jjeldcoi0k"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://sgn85l66sax" path="res://rooms/labs.gd" id="1_iavkr"]
|
||||
[ext_resource type="Texture2D" uid="uid://cuk2cxty66cah" path="res://sprites/lab/map_screen.png" id="2_eoaps"]
|
||||
[ext_resource type="Texture2D" uid="uid://4js1bkdv4ind" path="res://backgrounds/lab-background.png" id="2_f46rw"]
|
||||
[ext_resource type="Texture2D" uid="uid://bi5xvp1dfm0d7" path="res://sprites/lab/map_blip.png" id="3_in351"]
|
||||
[ext_resource type="Texture2D" uid="uid://dyg5mvl45r1vy" path="res://sprites/lab/emptypod.png" id="5_bqlgj"]
|
||||
[ext_resource type="Texture2D" uid="uid://ffk8oj1bo227" path="res://sprites/player/ pod_1_strip8.png" id="6_fbufv"]
|
||||
[ext_resource type="Texture2D" uid="uid://chtee26rjbrcp" path="res://sprites/player/pod_2_strip17.png" id="7_fohy5"]
|
||||
[ext_resource type="Texture2D" uid="uid://bluwleimw435s" path="res://backgrounds/lab-foreground.png" id="8_wsopf"]
|
||||
[ext_resource type="Script" uid="uid://dtdbkfoaaejw0" path="res://objects/player_camera_2d.gd" id="9_2rv37"]
|
||||
[ext_resource type="Script" uid="uid://c027jkwb3uac4" path="res://objects/door_zone.gd" id="9_wsopf"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xjmo1"]
|
||||
atlas = ExtResource("2_eoaps")
|
||||
region = Rect2(0, 0, 140, 123)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_51cmo"]
|
||||
atlas = ExtResource("2_eoaps")
|
||||
region = Rect2(140, 0, 140, 123)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_pxlcb"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xjmo1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_51cmo")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 1.0
|
||||
}]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_faxci"]
|
||||
atlas = ExtResource("3_in351")
|
||||
region = Rect2(0, 0, 6, 6)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_628yu"]
|
||||
atlas = ExtResource("3_in351")
|
||||
region = Rect2(6, 0, 6, 6)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wl3ii"]
|
||||
atlas = ExtResource("3_in351")
|
||||
region = Rect2(12, 0, 6, 6)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_u8gks"]
|
||||
atlas = ExtResource("3_in351")
|
||||
region = Rect2(18, 0, 6, 6)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_u081k"]
|
||||
atlas = ExtResource("3_in351")
|
||||
region = Rect2(24, 0, 6, 6)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_rst00"]
|
||||
atlas = ExtResource("3_in351")
|
||||
region = Rect2(30, 0, 6, 6)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_m3ku0"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_faxci")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_628yu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wl3ii")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_u8gks")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_u081k")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_rst00")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3k7vi"]
|
||||
atlas = ExtResource("6_fbufv")
|
||||
region = Rect2(0, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8ha45"]
|
||||
atlas = ExtResource("6_fbufv")
|
||||
region = Rect2(47, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_q3c3o"]
|
||||
atlas = ExtResource("6_fbufv")
|
||||
region = Rect2(94, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_28owg"]
|
||||
atlas = ExtResource("6_fbufv")
|
||||
region = Rect2(141, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bcdm1"]
|
||||
atlas = ExtResource("6_fbufv")
|
||||
region = Rect2(188, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_l0bue"]
|
||||
atlas = ExtResource("6_fbufv")
|
||||
region = Rect2(235, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_70cxa"]
|
||||
atlas = ExtResource("6_fbufv")
|
||||
region = Rect2(282, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_06e2c"]
|
||||
atlas = ExtResource("6_fbufv")
|
||||
region = Rect2(329, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_pe6ie"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(0, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_t2qkp"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(47, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lmgna"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(94, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_y3n6i"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(141, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uklon"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(188, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_y8xpd"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(235, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1pqg6"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(282, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4riov"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(329, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7ah1s"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(376, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_pngi5"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(423, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_utexj"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(470, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lea3s"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(517, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_s1mgi"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(564, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dpm1s"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(611, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_i0dht"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(658, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_u8kyf"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(705, 0, 47, 38)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uobmh"]
|
||||
atlas = ExtResource("7_fohy5")
|
||||
region = Rect2(752, 0, 47, 38)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_c8d2d"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3k7vi")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8ha45")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_q3c3o")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_28owg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bcdm1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l0bue")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_70cxa")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_06e2c")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"default",
|
||||
"speed": 24.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_pe6ie")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_t2qkp")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lmgna")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_y3n6i")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uklon")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_y8xpd")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1pqg6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4riov")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7ah1s")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_pngi5")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_utexj")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lea3s")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_s1mgi")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dpm1s")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_i0dht")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_u8kyf")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uobmh")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"leave",
|
||||
"speed": 6.0
|
||||
}]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_ciu2s"]
|
||||
script/source = "extends AnimatedSprite2D
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
if global.save.room == \"labs\":
|
||||
await get_tree().create_timer(5).timeout
|
||||
play(\"default\")
|
||||
else:
|
||||
self.hide()
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(_delta: float) -> void:
|
||||
pass
|
||||
|
||||
|
||||
func _on_animation_finished() -> void:
|
||||
if animation == \"default\":
|
||||
play(\"leave\")
|
||||
elif animation == \"leave\":
|
||||
self.hide()
|
||||
global.player = load(\"res://objects/player.tscn\").instantiate()
|
||||
global.player.position = $\"../PlayerPodSpawn\".position
|
||||
get_tree().root.add_child(global.player)
|
||||
"
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_fxqk7"]
|
||||
offsets = PackedFloat32Array(0, 0.83219177)
|
||||
colors = PackedColorArray(0.8732977, 0.8732989, 0.87329775, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_fm2l1"]
|
||||
gradient = SubResource("Gradient_fxqk7")
|
||||
fill = 1
|
||||
fill_from = Vector2(0.5, 0.5)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_wsopf"]
|
||||
size = Vector2(64, 9)
|
||||
|
||||
[node name="Labs" type="Node2D"]
|
||||
script = ExtResource("1_iavkr")
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="."]
|
||||
z_index = 50
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="StaticBody2D"]
|
||||
polygon = PackedVector2Array(6, 0, 6, 182, 99, 182, 101, 184, 115, 184, 119, 188, 448, 188, 448, 240, 0, 240, 0, 0)
|
||||
|
||||
[node name="CollisionPolygon2D2" type="CollisionPolygon2D" parent="StaticBody2D"]
|
||||
polygon = PackedVector2Array(512, 188, 512, 240, 640, 240, 640, 0, 635, 0, 635, 188)
|
||||
|
||||
[node name="CollisionPolygon2D3" type="CollisionPolygon2D" parent="StaticBody2D"]
|
||||
polygon = PackedVector2Array(315, 119, 325, 119, 325, 0, 315, 0)
|
||||
|
||||
[node name="TextureBackground" type="TextureRect" parent="."]
|
||||
offset_right = 640.0
|
||||
offset_bottom = 240.0
|
||||
texture = ExtResource("2_f46rw")
|
||||
|
||||
[node name="MapScreen" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(90, 12)
|
||||
sprite_frames = SubResource("SpriteFrames_pxlcb")
|
||||
autoplay = "default"
|
||||
centered = false
|
||||
|
||||
[node name="MapBlip1" type="AnimatedSprite2D" parent="MapScreen"]
|
||||
position = Vector2(21, 50)
|
||||
sprite_frames = SubResource("SpriteFrames_m3ku0")
|
||||
autoplay = "default"
|
||||
frame = 1
|
||||
|
||||
[node name="MapBlip2" type="AnimatedSprite2D" parent="MapScreen"]
|
||||
position = Vector2(45, 74)
|
||||
sprite_frames = SubResource("SpriteFrames_m3ku0")
|
||||
autoplay = "default"
|
||||
frame = 1
|
||||
|
||||
[node name="MapBlip3" type="AnimatedSprite2D" parent="MapScreen"]
|
||||
position = Vector2(68, 47)
|
||||
sprite_frames = SubResource("SpriteFrames_m3ku0")
|
||||
autoplay = "default"
|
||||
frame = 3
|
||||
|
||||
[node name="MapBlip4" type="AnimatedSprite2D" parent="MapScreen"]
|
||||
position = Vector2(69, 58)
|
||||
sprite_frames = SubResource("SpriteFrames_m3ku0")
|
||||
autoplay = "default"
|
||||
frame = 2
|
||||
|
||||
[node name="MapBlip5" type="AnimatedSprite2D" parent="MapScreen"]
|
||||
position = Vector2(90, 40)
|
||||
sprite_frames = SubResource("SpriteFrames_m3ku0")
|
||||
autoplay = "default"
|
||||
frame = 2
|
||||
|
||||
[node name="MapBlip6" type="AnimatedSprite2D" parent="MapScreen"]
|
||||
position = Vector2(97, 54)
|
||||
sprite_frames = SubResource("SpriteFrames_m3ku0")
|
||||
autoplay = "default"
|
||||
frame = 1
|
||||
|
||||
[node name="MapBlip7" type="AnimatedSprite2D" parent="MapScreen"]
|
||||
position = Vector2(121, 86)
|
||||
sprite_frames = SubResource("SpriteFrames_m3ku0")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.166665
|
||||
|
||||
[node name="PodEmpty1" type="Sprite2D" parent="."]
|
||||
position = Vector2(63, 155)
|
||||
texture = ExtResource("5_bqlgj")
|
||||
centered = false
|
||||
|
||||
[node name="PodEmpty2" type="Sprite2D" parent="."]
|
||||
position = Vector2(38, 155)
|
||||
texture = ExtResource("5_bqlgj")
|
||||
centered = false
|
||||
|
||||
[node name="PodPlayerEmpty" type="Sprite2D" parent="."]
|
||||
position = Vector2(13, 155)
|
||||
texture = ExtResource("5_bqlgj")
|
||||
centered = false
|
||||
|
||||
[node name="PodPlayer" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(8, 150)
|
||||
sprite_frames = SubResource("SpriteFrames_c8d2d")
|
||||
centered = false
|
||||
script = SubResource("GDScript_ciu2s")
|
||||
|
||||
[node name="PointLight2D" type="PointLight2D" parent="."]
|
||||
position = Vector2(162, 77)
|
||||
scale = Vector2(4.04688, 4.04688)
|
||||
color = Color(0.43118694, 0.70823646, 0.9334883, 1)
|
||||
energy = 0.75
|
||||
texture = SubResource("GradientTexture2D_fm2l1")
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="TextureForeground" type="TextureRect" parent="."]
|
||||
z_index = 20
|
||||
z_as_relative = false
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
texture = ExtResource("8_wsopf")
|
||||
|
||||
[node name="PlayerPodSpawn" type="Marker2D" parent="."]
|
||||
position = Vector2(36, 182)
|
||||
|
||||
[node name="CanvasModulate" type="CanvasModulate" parent="."]
|
||||
color = Color(0.62510306, 0.65990686, 0.6903145, 1)
|
||||
|
||||
[node name="PlayerCamera2D" type="Camera2D" parent="."]
|
||||
limit_left = 0
|
||||
limit_top = 0
|
||||
limit_right = 640
|
||||
limit_bottom = 240
|
||||
script = ExtResource("9_2rv37")
|
||||
metadata/_custom_type_script = "uid://dtdbkfoaaejw0"
|
||||
|
||||
[node name="DoorCaves" type="Area2D" parent="."]
|
||||
position = Vector2(480, 231)
|
||||
script = ExtResource("9_wsopf")
|
||||
TargetRoomPath = "uid://dx7otbnngehj2"
|
||||
TargetDoor = "DoorLabs"
|
||||
PreserveX = true
|
||||
PreserveVelocity = true
|
||||
metadata/_custom_type_script = "uid://c027jkwb3uac4"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="DoorCaves"]
|
||||
position = Vector2(0, 4.5)
|
||||
shape = SubResource("RectangleShape2D_wsopf")
|
||||
|
||||
[connection signal="animation_finished" from="PodPlayer" to="PodPlayer" method="_on_animation_finished"]
|
||||
[connection signal="body_entered" from="DoorCaves" to="DoorCaves" method="_on_body_entered"]
|
||||
@@ -0,0 +1,25 @@
|
||||
@tool
|
||||
class_name Config
|
||||
extends Resource
|
||||
|
||||
|
||||
@export var music_volume: float = 0
|
||||
@export var sfx_volume: float = 0
|
||||
@export var fullscreen: bool = false
|
||||
@export var vsync: bool = true
|
||||
|
||||
|
||||
func save() -> Error:
|
||||
return ResourceSaver.save(self, "user://config.tres")
|
||||
|
||||
|
||||
static func exists() -> bool:
|
||||
return ResourceLoader.exists("user://config.tres")
|
||||
|
||||
|
||||
static func load() -> Save:
|
||||
if exists():
|
||||
var config_data = ResourceLoader.load("user://config.tres")
|
||||
if config_data is Config:
|
||||
return config_data
|
||||
return null
|
||||
@@ -0,0 +1 @@
|
||||
uid://g5y7ghm6kw72
|
||||