multi levels; closed loop; custom resources; character stats; enemy attacks; player attacks; enemy movement started
This commit is contained in:
parent
0d6ffa22df
commit
1e24e0a59a
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/Player Idle 48x48.png-febc6ee73b16c6ae56feb25
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/player jump 48x48.png-53153cc022c0f5f1a72bef8
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/player new jump 48x48.png-085528a4cee6917e773
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/player land 48x48.png-73bf83889efcd0c346ed730
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/Player Punch 64x64(1).png-30d66d61ef3a1f371d6
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/player run 48x48.png-e4bb17293a9ce0c0c03376a7
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/Player Running Shooting 48x48.png-3d2df69d2a4
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/player shoot 2H 48x48.png-6d3782d73196ec488a7
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/25-10-17-sky-background-godot-course-.png-685
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/25-10-17-trees-background-godot-course-v1.png
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/forestbackground.png-c62d472b3b61aefff531c569
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/14.png-b80bda9481eb03b9296615b658f23b86.ctex"
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/explosion.png-67838f4909472368e8b1165eafa79d8
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/orb_red.png-96d2144e68a7a46da9f571d0443165d8.
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/slime_green(1).png-681a56605c941b0b260c890dc1
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/25-10-27-small-crate.png-2ac8da16d97759b258fc
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/mushroom_32x64.png-ae0508fa0fd752d4aa1446b33c
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/veg_32x32.png-742a28d4fd61b9f915a41209e1c7450
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/coin(1).png-19d802c455c83c490b6727491bcbe9e7.
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/25-10-18-godot-course-Terrain (32x32).png-1ec
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/25-10-26-godot-course-Terrain (32x32)-color-e
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/crate-100-custom.png-5420ee27cb0ee861df6e7629
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -18,6 +18,8 @@ dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.cte
|
||||
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
|
||||
@ -25,6 +27,10 @@ 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
|
||||
|
||||
@ -13,9 +13,13 @@ config_version=5
|
||||
config/name="September Game AB"
|
||||
config/tags=PackedStringArray("2d", "lesson", "platformer")
|
||||
run/main_scene="uid://cueixogtk70go"
|
||||
config/features=PackedStringArray("4.4", "Forward Plus")
|
||||
config/features=PackedStringArray("4.5", "Forward Plus")
|
||||
config/icon="res://icon.svg"
|
||||
|
||||
[autoload]
|
||||
|
||||
GameController="*res://scripts/game_controller.gd"
|
||||
|
||||
[display]
|
||||
|
||||
window/size/viewport_width=320
|
||||
@ -58,7 +62,7 @@ jump={
|
||||
}
|
||||
shove={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":3,"pressure":0.0,"pressed":true,"script":null)
|
||||
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":true,"script":null)
|
||||
]
|
||||
}
|
||||
shoot={
|
||||
@ -68,7 +72,7 @@ shoot={
|
||||
}
|
||||
throw={
|
||||
"deadzone": 0.2,
|
||||
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":4,"pressure":0.0,"pressed":true,"script":null)
|
||||
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":3,"pressure":0.0,"pressed":true,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
11
resources/character_stats.gd
Normal file
11
resources/character_stats.gd
Normal file
@ -0,0 +1,11 @@
|
||||
class_name CharacterStats
|
||||
extends Resource
|
||||
|
||||
@export_category("Health")
|
||||
@export var health : int = 100
|
||||
@export var max_health : int = 100
|
||||
@export var starting_health : int = 100
|
||||
|
||||
@export_category("Damage")
|
||||
@export var melee_damage : int = 10
|
||||
@export var ranged_damage : int = 0
|
||||
1
resources/character_stats.gd.uid
Normal file
1
resources/character_stats.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://dseptumqu6tok
|
||||
8
resources/player_stats.tres
Normal file
8
resources/player_stats.tres
Normal file
@ -0,0 +1,8 @@
|
||||
[gd_resource type="Resource" script_class="CharacterStats" load_steps=2 format=3 uid="uid://b4honm56f7ui"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dseptumqu6tok" path="res://resources/character_stats.gd" id="1_wld0n"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_wld0n")
|
||||
ranged_damage = 10
|
||||
metadata/_custom_type_script = "uid://dseptumqu6tok"
|
||||
11
resources/slime_stats.tres
Normal file
11
resources/slime_stats.tres
Normal file
@ -0,0 +1,11 @@
|
||||
[gd_resource type="Resource" script_class="CharacterStats" load_steps=2 format=3 uid="uid://cuqjljjdqplsj"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dseptumqu6tok" path="res://resources/character_stats.gd" id="1_sbyxr"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_sbyxr")
|
||||
health = 50
|
||||
max_health = 50
|
||||
starting_health = 50
|
||||
melee_damage = 5
|
||||
metadata/_custom_type_script = "uid://dseptumqu6tok"
|
||||
@ -4,12 +4,12 @@
|
||||
[ext_resource type="Texture2D" uid="uid://rejfd2gqjk7w" path="res://graphics/effects/14.png" id="2_y25gk"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_h1aey"]
|
||||
size = Vector2(16, 2)
|
||||
size = Vector2(16, 20)
|
||||
|
||||
[node name="Bullet" type="Area2D"]
|
||||
z_index = 100
|
||||
collision_layer = 8
|
||||
collision_mask = 6
|
||||
collision_mask = 22
|
||||
script = ExtResource("1_mkf8s")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
@ -20,3 +20,5 @@ debug_color = Color(1, 0, 0, 1)
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
scale = Vector2(0.1, 0.1)
|
||||
texture = ExtResource("2_y25gk")
|
||||
|
||||
[connection signal="area_entered" from="." to="." method="_on_area_entered"]
|
||||
|
||||
@ -100,6 +100,8 @@ radius = 4.0
|
||||
height = 10.0
|
||||
|
||||
[node name="Coin" type="Area2D"]
|
||||
collision_layer = 4
|
||||
collision_mask = 9
|
||||
script = ExtResource("1_i64fm")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
[gd_scene load_steps=22 format=4 uid="uid://cueixogtk70go"]
|
||||
[gd_scene load_steps=21 format=4 uid="uid://cueixogtk70go"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d0ca3jbhe8le3" path="res://scripts/game_controller.gd" id="1_lbhrr"]
|
||||
[ext_resource type="Script" uid="uid://b84pdw14l6gb6" path="res://scripts/scene_manager.gd" id="2_iywne"]
|
||||
[ext_resource type="PackedScene" uid="uid://2pp1gtlflav8" path="res://scenes/trigger.tscn" id="2_yqjtg"]
|
||||
[ext_resource type="PackedScene" uid="uid://d3y1iqmpknpyo" path="res://scenes/player.tscn" id="3_lnu2h"]
|
||||
@ -432,10 +431,10 @@ cellular_return_type = 0
|
||||
domain_warp_enabled = true
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_u5sy4"]
|
||||
in_3d_space = true
|
||||
seamless = true
|
||||
color_ramp = SubResource("Gradient_iywne")
|
||||
noise = SubResource("FastNoiseLite_p57ef")
|
||||
color_ramp = SubResource("Gradient_iywne")
|
||||
seamless = true
|
||||
in_3d_space = true
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_p57ef"]
|
||||
offsets = PackedFloat32Array(0.513333, 0.846667, 0.926667)
|
||||
@ -446,14 +445,13 @@ noise_type = 5
|
||||
frequency = 0.02
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_iywne"]
|
||||
seamless = true
|
||||
color_ramp = SubResource("Gradient_p57ef")
|
||||
noise = SubResource("FastNoiseLite_u5sy4")
|
||||
color_ramp = SubResource("Gradient_p57ef")
|
||||
seamless = true
|
||||
|
||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_8cj0n"]
|
||||
|
||||
[node name="Game" type="Node2D"]
|
||||
script = ExtResource("1_lbhrr")
|
||||
|
||||
[node name="SceneManager" type="Node2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
@ -534,26 +532,6 @@ position = Vector2(-7, -210)
|
||||
z_index = 5
|
||||
position = Vector2(-49, 84)
|
||||
|
||||
[node name="Coin2" parent="Coins" instance=ExtResource("9_0tnpc")]
|
||||
z_index = 5
|
||||
position = Vector2(-266, -76)
|
||||
|
||||
[node name="Coin3" parent="Coins" instance=ExtResource("9_0tnpc")]
|
||||
z_index = 5
|
||||
position = Vector2(-18, -140)
|
||||
|
||||
[node name="Coin4" parent="Coins" instance=ExtResource("9_0tnpc")]
|
||||
z_index = 5
|
||||
position = Vector2(203, -105)
|
||||
|
||||
[node name="Coin5" parent="Coins" instance=ExtResource("9_0tnpc")]
|
||||
z_index = 5
|
||||
position = Vector2(381, -169)
|
||||
|
||||
[node name="Coin6" parent="Coins" instance=ExtResource("9_0tnpc")]
|
||||
z_index = 5
|
||||
position = Vector2(402, 21)
|
||||
|
||||
[node name="Enemies" type="Node" parent="."]
|
||||
|
||||
[node name="Slimer" parent="Enemies" instance=ExtResource("10_vtaks")]
|
||||
|
||||
554
scenes/level_2.tscn
Normal file
554
scenes/level_2.tscn
Normal file
@ -0,0 +1,554 @@
|
||||
[gd_scene load_steps=21 format=4 uid="uid://y34miorfoath"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b84pdw14l6gb6" path="res://scripts/scene_manager.gd" id="1_6cvei"]
|
||||
[ext_resource type="Texture2D" uid="uid://dkco6bp2yelei" path="res://graphics/tiles/25-10-26-godot-course-Terrain (32x32)-color-exchange-1.png" id="2_que50"]
|
||||
[ext_resource type="Texture2D" uid="uid://bpf0sbb3o6rch" path="res://graphics/objects/veg_32x32.png" id="3_hey2k"]
|
||||
[ext_resource type="Texture2D" uid="uid://ctrmx80fc52bt" path="res://graphics/objects/mushroom_32x64.png" id="4_172wr"]
|
||||
[ext_resource type="PackedScene" uid="uid://d3y1iqmpknpyo" path="res://scenes/player.tscn" id="5_g2hoc"]
|
||||
[ext_resource type="PackedScene" uid="uid://2pp1gtlflav8" path="res://scenes/trigger.tscn" id="6_fldb1"]
|
||||
[ext_resource type="PackedScene" uid="uid://yr1iqtid2ihb" path="res://scenes/small_crate.tscn" id="7_guvtl"]
|
||||
[ext_resource type="PackedScene" uid="uid://31idmjadvk3t" path="res://scenes/coin.tscn" id="8_igmy8"]
|
||||
[ext_resource type="PackedScene" uid="uid://bts74sqcd7k7h" path="res://scenes/slimer.tscn" id="9_wdtqu"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_gee14"]
|
||||
texture = ExtResource("2_que50")
|
||||
texture_region_size = Vector2i(32, 32)
|
||||
0:0/0 = 0
|
||||
0:0/0/terrain_set = 0
|
||||
0:0/0/terrain = 0
|
||||
0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
0:0/0/terrains_peering_bit/right_side = 0
|
||||
0:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
0:0/0/terrains_peering_bit/bottom_side = 0
|
||||
1:0/0 = 0
|
||||
1:0/0/terrain_set = 0
|
||||
1:0/0/terrain = 0
|
||||
1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
1:0/0/terrains_peering_bit/right_side = 0
|
||||
1:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
1:0/0/terrains_peering_bit/bottom_side = 0
|
||||
1:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
1:0/0/terrains_peering_bit/left_side = 0
|
||||
2:0/0 = 0
|
||||
2:0/0/terrain_set = 0
|
||||
2:0/0/terrain = 0
|
||||
2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
2:0/0/terrains_peering_bit/bottom_side = 0
|
||||
2:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
2:0/0/terrains_peering_bit/left_side = 0
|
||||
4:0/0 = 0
|
||||
4:0/0/terrain_set = 0
|
||||
4:0/0/terrain = 0
|
||||
4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
4:0/0/terrains_peering_bit/bottom_side = 0
|
||||
6:0/0 = 0
|
||||
6:0/0/terrain_set = 0
|
||||
6:0/0/terrain = 0
|
||||
6:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
6:0/0/terrains_peering_bit/right_side = 0
|
||||
6:0/0/terrains_peering_bit/bottom_side = 0
|
||||
6:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
6:0/0/terrains_peering_bit/left_side = 0
|
||||
6:0/0/terrains_peering_bit/top_left_corner = 0
|
||||
6:0/0/terrains_peering_bit/top_side = 0
|
||||
6:0/0/terrains_peering_bit/top_right_corner = 0
|
||||
7:0/0 = 0
|
||||
7:0/0/terrain_set = 0
|
||||
7:0/0/terrain = 0
|
||||
7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
7:0/0/terrains_peering_bit/right_side = 0
|
||||
7:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
7:0/0/terrains_peering_bit/bottom_side = 0
|
||||
7:0/0/terrains_peering_bit/left_side = 0
|
||||
7:0/0/terrains_peering_bit/top_left_corner = 0
|
||||
7:0/0/terrains_peering_bit/top_side = 0
|
||||
7:0/0/terrains_peering_bit/top_right_corner = 0
|
||||
9:0/0 = 0
|
||||
9:0/0/terrain_set = 0
|
||||
9:0/0/terrain = 0
|
||||
9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
9:0/0/terrains_peering_bit/right_side = 0
|
||||
9:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
9:0/0/terrains_peering_bit/bottom_side = 0
|
||||
9:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
9:0/0/terrains_peering_bit/left_side = 0
|
||||
9:0/0/terrains_peering_bit/top_side = 0
|
||||
10:0/0 = 0
|
||||
10:0/0/terrain_set = 0
|
||||
10:0/0/terrain = 0
|
||||
10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
10:0/0/terrains_peering_bit/right_side = 0
|
||||
10:0/0/terrains_peering_bit/bottom_side = 0
|
||||
10:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
10:0/0/terrains_peering_bit/left_side = 0
|
||||
10:0/0/terrains_peering_bit/top_left_corner = 0
|
||||
10:0/0/terrains_peering_bit/top_side = 0
|
||||
12:0/0 = 0
|
||||
12:0/0/terrain_set = 0
|
||||
12:0/0/terrain = 0
|
||||
12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
12:0/0/terrains_peering_bit/right_side = 0
|
||||
12:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
12:0/0/terrains_peering_bit/bottom_side = 0
|
||||
12:0/0/terrains_peering_bit/left_side = 0
|
||||
12:0/0/terrains_peering_bit/top_side = 0
|
||||
13:0/0 = 0
|
||||
13:0/0/terrain_set = 0
|
||||
13:0/0/terrain = 0
|
||||
13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
13:0/0/terrains_peering_bit/right_side = 0
|
||||
13:0/0/terrains_peering_bit/bottom_side = 0
|
||||
13:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
13:0/0/terrains_peering_bit/left_side = 0
|
||||
13:0/0/terrains_peering_bit/top_side = 0
|
||||
15:0/0 = 0
|
||||
15:0/0/terrain_set = 0
|
||||
15:0/0/terrain = 0
|
||||
15:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
15:0/0/terrains_peering_bit/right_side = 0
|
||||
15:0/0/terrains_peering_bit/bottom_side = 0
|
||||
15:0/0/terrains_peering_bit/left_side = 0
|
||||
15:0/0/terrains_peering_bit/top_side = 0
|
||||
0:1/0 = 0
|
||||
0:1/0/terrain_set = 0
|
||||
0:1/0/terrain = 0
|
||||
0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
0:1/0/terrains_peering_bit/right_side = 0
|
||||
0:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
0:1/0/terrains_peering_bit/bottom_side = 0
|
||||
0:1/0/terrains_peering_bit/top_side = 0
|
||||
0:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
1:1/0 = 0
|
||||
1:1/0/terrain_set = 0
|
||||
1:1/0/terrain = 0
|
||||
1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
1:1/0/terrains_peering_bit/right_side = 0
|
||||
1:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
1:1/0/terrains_peering_bit/bottom_side = 0
|
||||
1:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
1:1/0/terrains_peering_bit/left_side = 0
|
||||
1:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
1:1/0/terrains_peering_bit/top_side = 0
|
||||
1:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
2:1/0 = 0
|
||||
2:1/0/terrain_set = 0
|
||||
2:1/0/terrain = 0
|
||||
2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
2:1/0/terrains_peering_bit/bottom_side = 0
|
||||
2:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
2:1/0/terrains_peering_bit/left_side = 0
|
||||
2:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
2:1/0/terrains_peering_bit/top_side = 0
|
||||
4:1/0 = 0
|
||||
4:1/0/terrain_set = 0
|
||||
4:1/0/terrain = 0
|
||||
4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
4:1/0/terrains_peering_bit/bottom_side = 0
|
||||
4:1/0/terrains_peering_bit/top_side = 0
|
||||
6:1/0 = 0
|
||||
6:1/0/terrain_set = 0
|
||||
6:1/0/terrain = 0
|
||||
6:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
6:1/0/terrains_peering_bit/right_side = 0
|
||||
6:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
6:1/0/terrains_peering_bit/bottom_side = 0
|
||||
6:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
6:1/0/terrains_peering_bit/left_side = 0
|
||||
6:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
6:1/0/terrains_peering_bit/top_side = 0
|
||||
7:1/0 = 0
|
||||
7:1/0/terrain_set = 0
|
||||
7:1/0/terrain = 0
|
||||
7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
7:1/0/terrains_peering_bit/right_side = 0
|
||||
7:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
7:1/0/terrains_peering_bit/bottom_side = 0
|
||||
7:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
7:1/0/terrains_peering_bit/left_side = 0
|
||||
7:1/0/terrains_peering_bit/top_side = 0
|
||||
7:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
9:1/0 = 0
|
||||
9:1/0/terrain_set = 0
|
||||
9:1/0/terrain = 0
|
||||
9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
9:1/0/terrains_peering_bit/right_side = 0
|
||||
9:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
9:1/0/terrains_peering_bit/bottom_side = 0
|
||||
9:1/0/terrains_peering_bit/left_side = 0
|
||||
9:1/0/terrains_peering_bit/top_side = 0
|
||||
9:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
10:1/0 = 0
|
||||
10:1/0/terrain_set = 0
|
||||
10:1/0/terrain = 0
|
||||
10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
10:1/0/terrains_peering_bit/right_side = 0
|
||||
10:1/0/terrains_peering_bit/bottom_side = 0
|
||||
10:1/0/terrains_peering_bit/left_side = 0
|
||||
10:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
10:1/0/terrains_peering_bit/top_side = 0
|
||||
10:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
12:1/0 = 0
|
||||
12:1/0/terrain_set = 0
|
||||
12:1/0/terrain = 0
|
||||
12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
12:1/0/terrains_peering_bit/right_side = 0
|
||||
12:1/0/terrains_peering_bit/bottom_side = 0
|
||||
12:1/0/terrains_peering_bit/left_side = 0
|
||||
12:1/0/terrains_peering_bit/top_side = 0
|
||||
12:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
13:1/0 = 0
|
||||
13:1/0/terrain_set = 0
|
||||
13:1/0/terrain = 0
|
||||
13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
13:1/0/terrains_peering_bit/right_side = 0
|
||||
13:1/0/terrains_peering_bit/bottom_side = 0
|
||||
13:1/0/terrains_peering_bit/left_side = 0
|
||||
13:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
13:1/0/terrains_peering_bit/top_side = 0
|
||||
15:1/0 = 0
|
||||
15:1/0/terrain_set = 0
|
||||
15:1/0/terrain = 0
|
||||
15:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
15:1/0/terrains_peering_bit/right_side = 0
|
||||
15:1/0/terrains_peering_bit/bottom_side = 0
|
||||
15:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
15:1/0/terrains_peering_bit/left_side = 0
|
||||
15:1/0/terrains_peering_bit/top_side = 0
|
||||
15:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
16:1/0 = 0
|
||||
16:1/0/terrain_set = 0
|
||||
16:1/0/terrain = 0
|
||||
16:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
16:1/0/terrains_peering_bit/right_side = 0
|
||||
16:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
16:1/0/terrains_peering_bit/bottom_side = 0
|
||||
16:1/0/terrains_peering_bit/left_side = 0
|
||||
16:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
16:1/0/terrains_peering_bit/top_side = 0
|
||||
0:2/0 = 0
|
||||
0:2/0/terrain_set = 0
|
||||
0:2/0/terrain = 0
|
||||
0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 7.96577, -13.0639, 12.7452, -9.24029, 16, 16, 16)
|
||||
0:2/0/terrains_peering_bit/right_side = 0
|
||||
0:2/0/terrains_peering_bit/top_side = 0
|
||||
0:2/0/terrains_peering_bit/top_right_corner = 0
|
||||
1:2/0 = 0
|
||||
1:2/0/terrain_set = 0
|
||||
1:2/0/terrain = 0
|
||||
1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
1:2/0/terrains_peering_bit/right_side = 0
|
||||
1:2/0/terrains_peering_bit/left_side = 0
|
||||
1:2/0/terrains_peering_bit/top_left_corner = 0
|
||||
1:2/0/terrains_peering_bit/top_side = 0
|
||||
1:2/0/terrains_peering_bit/top_right_corner = 0
|
||||
2:2/0 = 0
|
||||
2:2/0/terrain_set = 0
|
||||
2:2/0/terrain = 0
|
||||
2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 7.96577, 13.0639, 12.7452, 9.24029, 16, -16, 16)
|
||||
2:2/0/terrains_peering_bit/left_side = 0
|
||||
2:2/0/terrains_peering_bit/top_left_corner = 0
|
||||
2:2/0/terrains_peering_bit/top_side = 0
|
||||
4:2/0 = 0
|
||||
4:2/0/terrain_set = 0
|
||||
4:2/0/terrain = 0
|
||||
4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 7.96577, -13.0639, 12.7452, -9.24029, 16, 7.64714, 16, 13.3825, 12.7452, 16, 7.64714)
|
||||
4:2/0/terrains_peering_bit/top_side = 0
|
||||
6:3/0 = 0
|
||||
6:3/0/terrain_set = 0
|
||||
6:3/0/terrain = 0
|
||||
6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
6:3/0/terrains_peering_bit/right_side = 0
|
||||
6:3/0/terrains_peering_bit/bottom_side = 0
|
||||
6:3/0/terrains_peering_bit/top_side = 0
|
||||
6:3/0/terrains_peering_bit/top_right_corner = 0
|
||||
7:3/0 = 0
|
||||
7:3/0/terrain_set = 0
|
||||
7:3/0/terrain = 0
|
||||
7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
7:3/0/terrains_peering_bit/bottom_side = 0
|
||||
7:3/0/terrains_peering_bit/left_side = 0
|
||||
7:3/0/terrains_peering_bit/top_left_corner = 0
|
||||
7:3/0/terrains_peering_bit/top_side = 0
|
||||
9:3/0 = 0
|
||||
9:3/0/terrain_set = 0
|
||||
9:3/0/terrain = 0
|
||||
9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
9:3/0/terrains_peering_bit/right_side = 0
|
||||
9:3/0/terrains_peering_bit/bottom_side = 0
|
||||
9:3/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
9:3/0/terrains_peering_bit/left_side = 0
|
||||
10:3/0 = 0
|
||||
10:3/0/terrain_set = 0
|
||||
10:3/0/terrain = 0
|
||||
10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
10:3/0/terrains_peering_bit/right_side = 0
|
||||
10:3/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
10:3/0/terrains_peering_bit/bottom_side = 0
|
||||
10:3/0/terrains_peering_bit/left_side = 0
|
||||
12:3/0 = 0
|
||||
12:3/0/terrain_set = 0
|
||||
12:3/0/terrain = 0
|
||||
12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
12:3/0/terrains_peering_bit/right_side = 0
|
||||
12:3/0/terrains_peering_bit/bottom_side = 0
|
||||
12:3/0/terrains_peering_bit/top_side = 0
|
||||
13:3/0 = 0
|
||||
13:3/0/terrain_set = 0
|
||||
13:3/0/terrain = 0
|
||||
13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
13:3/0/terrains_peering_bit/right_side = 0
|
||||
13:3/0/terrains_peering_bit/bottom_side = 0
|
||||
13:3/0/terrains_peering_bit/left_side = 0
|
||||
15:3/0 = 0
|
||||
15:3/0/terrain_set = 0
|
||||
15:3/0/terrain = 0
|
||||
15:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
15:3/0/terrains_peering_bit/right_side = 0
|
||||
15:3/0/terrains_peering_bit/bottom_side = 0
|
||||
16:3/0 = 0
|
||||
16:3/0/terrain_set = 0
|
||||
16:3/0/terrain = 0
|
||||
16:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
16:3/0/terrains_peering_bit/bottom_side = 0
|
||||
16:3/0/terrains_peering_bit/left_side = 0
|
||||
0:4/0 = 0
|
||||
0:4/0/terrain_set = 0
|
||||
0:4/0/terrain = 0
|
||||
0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -7.64714, 16, -13.3825, 12.7452, -16, 7.64714)
|
||||
0:4/0/terrains_peering_bit/right_side = 0
|
||||
1:4/0 = 0
|
||||
1:4/0/terrain_set = 0
|
||||
1:4/0/terrain = 0
|
||||
1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
1:4/0/terrains_peering_bit/right_side = 0
|
||||
1:4/0/terrains_peering_bit/left_side = 0
|
||||
2:4/0 = 0
|
||||
2:4/0/terrain_set = 0
|
||||
2:4/0/terrain = 0
|
||||
2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 7.64714, 16, 13.3825, 12.7452, 16, 7.64714)
|
||||
2:4/0/terrains_peering_bit/left_side = 0
|
||||
4:4/0 = 0
|
||||
4:4/0/terrain_set = 0
|
||||
4:4/0/terrain = 0
|
||||
4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 7.96577, -13.0639, 12.7452, -9.24029, 16, 7.64714, 16, 13.3825, 12.7452, 16, 7.64714)
|
||||
6:4/0 = 0
|
||||
6:4/0/terrain_set = 0
|
||||
6:4/0/terrain = 0
|
||||
6:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
6:4/0/terrains_peering_bit/right_side = 0
|
||||
6:4/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
6:4/0/terrains_peering_bit/bottom_side = 0
|
||||
6:4/0/terrains_peering_bit/top_side = 0
|
||||
7:4/0 = 0
|
||||
7:4/0/terrain_set = 0
|
||||
7:4/0/terrain = 0
|
||||
7:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
7:4/0/terrains_peering_bit/bottom_side = 0
|
||||
7:4/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
7:4/0/terrains_peering_bit/left_side = 0
|
||||
7:4/0/terrains_peering_bit/top_side = 0
|
||||
9:4/0 = 0
|
||||
9:4/0/terrain_set = 0
|
||||
9:4/0/terrain = 0
|
||||
9:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
9:4/0/terrains_peering_bit/right_side = 0
|
||||
9:4/0/terrains_peering_bit/left_side = 0
|
||||
9:4/0/terrains_peering_bit/top_left_corner = 0
|
||||
9:4/0/terrains_peering_bit/top_side = 0
|
||||
10:4/0 = 0
|
||||
10:4/0/terrain_set = 0
|
||||
10:4/0/terrain = 0
|
||||
10:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
10:4/0/terrains_peering_bit/right_side = 0
|
||||
10:4/0/terrains_peering_bit/left_side = 0
|
||||
10:4/0/terrains_peering_bit/top_side = 0
|
||||
10:4/0/terrains_peering_bit/top_right_corner = 0
|
||||
12:4/0 = 0
|
||||
12:4/0/terrain_set = 0
|
||||
12:4/0/terrain = 0
|
||||
12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
12:4/0/terrains_peering_bit/right_side = 0
|
||||
12:4/0/terrains_peering_bit/left_side = 0
|
||||
12:4/0/terrains_peering_bit/top_side = 0
|
||||
13:4/0 = 0
|
||||
13:4/0/terrain_set = 0
|
||||
13:4/0/terrain = 0
|
||||
13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
13:4/0/terrains_peering_bit/bottom_side = 0
|
||||
13:4/0/terrains_peering_bit/left_side = 0
|
||||
13:4/0/terrains_peering_bit/top_side = 0
|
||||
15:4/0 = 0
|
||||
15:4/0/terrain_set = 0
|
||||
15:4/0/terrain = 0
|
||||
15:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 7.96577, -13.0639, 12.7452, -9.24029, 16, 16, 16)
|
||||
15:4/0/terrains_peering_bit/right_side = 0
|
||||
15:4/0/terrains_peering_bit/top_side = 0
|
||||
16:4/0 = 0
|
||||
16:4/0/terrain_set = 0
|
||||
16:4/0/terrain = 0
|
||||
16:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 7.96577, 13.0639, 12.7452, 9.24029, 16, -16, 16)
|
||||
16:4/0/terrains_peering_bit/left_side = 0
|
||||
16:4/0/terrains_peering_bit/top_side = 0
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0tnpc"]
|
||||
texture = ExtResource("3_hey2k")
|
||||
texture_region_size = Vector2i(32, 32)
|
||||
0:0/0 = 0
|
||||
0:0/0/terrain_set = 0
|
||||
0:0/0/terrain = 1
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_vtaks"]
|
||||
texture = ExtResource("4_172wr")
|
||||
texture_region_size = Vector2i(32, 32)
|
||||
0:0/0 = 0
|
||||
0:0/0/terrain_set = 0
|
||||
0:0/0/terrains_peering_bit/bottom_side = 1
|
||||
0:1/0 = 0
|
||||
0:1/0/terrain_set = 0
|
||||
0:1/0/terrain = 1
|
||||
0:1/0/terrains_peering_bit/top_side = 1
|
||||
|
||||
[sub_resource type="TileSet" id="TileSet_gee14"]
|
||||
tile_size = Vector2i(32, 32)
|
||||
physics_layer_0/collision_layer = 2
|
||||
physics_layer_0/collision_mask = 13
|
||||
terrain_set_0/mode = 0
|
||||
terrain_set_0/terrain_0/name = "Main Terrain"
|
||||
terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1)
|
||||
terrain_set_0/terrain_1/name = "Vegetation"
|
||||
terrain_set_0/terrain_1/color = Color(0.5, 0.4375, 0.25, 1)
|
||||
sources/0 = SubResource("TileSetAtlasSource_gee14")
|
||||
sources/1 = SubResource("TileSetAtlasSource_0tnpc")
|
||||
sources/2 = SubResource("TileSetAtlasSource_vtaks")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_iywne"]
|
||||
offsets = PackedFloat32Array(0.206667, 0.66, 0.966667)
|
||||
colors = PackedColorArray(0, 0, 0, 1, 0.192157, 0.188235, 0.227451, 1, 0.270588, 0.235294, 0.368627, 1)
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_p57ef"]
|
||||
noise_type = 2
|
||||
cellular_return_type = 0
|
||||
domain_warp_enabled = true
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_u5sy4"]
|
||||
noise = SubResource("FastNoiseLite_p57ef")
|
||||
color_ramp = SubResource("Gradient_iywne")
|
||||
seamless = true
|
||||
in_3d_space = true
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_p57ef"]
|
||||
offsets = PackedFloat32Array(0.513333, 0.846667, 0.926667)
|
||||
colors = PackedColorArray(0, 0, 0, 0, 0.5525, 0.85, 0.58225, 0.360784, 0.992333, 1, 0.54, 0.270588)
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_u5sy4"]
|
||||
noise_type = 5
|
||||
frequency = 0.02
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_iywne"]
|
||||
noise = SubResource("FastNoiseLite_u5sy4")
|
||||
color_ramp = SubResource("Gradient_p57ef")
|
||||
seamless = true
|
||||
|
||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_8cj0n"]
|
||||
|
||||
[node name="Game" type="Node2D"]
|
||||
|
||||
[node name="SceneManager" type="Node2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("1_6cvei")
|
||||
|
||||
[node name="TileMapLayer" type="TileMapLayer" parent="."]
|
||||
position = Vector2(0, 1)
|
||||
tile_map_data = PackedByteArray("AADy/wMAAAABAAEAAADy/wQAAAABAAIAAADz/wQAAAABAAIAAADz/wMAAAABAAEAAAD0/wMAAAABAAEAAAD0/wQAAAABAAIAAADx/wQAAAAAAAIAAADx/wMAAAAAAAEAAAD4/wMAAAABAAAAAAD4/wQAAAABAAIAAAD5/wQAAAABAAIAAAD6/wQAAAABAAIAAAD7/wQAAAABAAIAAAD8/wQAAAABAAIAAAD9/wQAAAABAAIAAAD+/wQAAAAHAAAAAAD+/wMAAAABAAAAAAD9/wMAAAABAAAAAAD8/wMAAAABAAAAAAD7/wMAAAABAAAAAAD6/wMAAAABAAAAAAD5/wMAAAABAAAAAAABAAMAAAABAAAAAAABAAQAAAABAAEAAAABAAUAAAABAAIAAAACAAUAAAABAAIAAAADAAUAAAABAAIAAAAEAAUAAAABAAIAAAAEAAQAAAAGAAEAAAAEAAMAAAACAAAAAAADAAMAAAABAAAAAAACAAMAAAABAAAAAAACAAQAAAABAAEAAAADAAQAAAABAAEAAAD3/wMAAAABAAAAAAD2/wMAAAAGAAEAAAD1/wMAAAABAAEAAAD1/wQAAAABAAIAAAD2/wQAAAABAAIAAAD3/wQAAAABAAIAAAAKAAIAAAABAAAAAAAJAAIAAAAAAAAAAAAJAAMAAAAAAAEAAAAMAAEAAAABAAAAAAAMAAIAAAABAAEAAAAMAAMAAAABAAEAAAAMAAQAAAABAAEAAAANAAQAAAABAAEAAAANAAUAAAABAAIAAAAOAAUAAAABAAIAAAAPAAUAAAABAAIAAAAMAAUAAAABAAIAAAANAAEAAAABAAAAAAAOAAEAAAABAAAAAAANAAIAAAABAAEAAAANAAMAAAABAAEAAAAOAAQAAAABAAEAAAAPAAQAAAABAAEAAAAPAAMAAAABAAEAAAAPAAIAAAAGAAEAAAAPAAEAAAACAAAAAAAOAAIAAAABAAEAAAAOAAMAAAABAAEAAAARAAIAAAABAAAAAAARAAMAAAABAAEAAAARAAQAAAABAAEAAAARAAUAAAABAAIAAAASAAUAAAABAAIAAAATAAUAAAABAAIAAAAUAAUAAAABAAIAAAAVAAUAAAABAAIAAAAWAAUAAAABAAIAAAAWAAQAAAABAAEAAAAWAAMAAAAGAAEAAAAVAAMAAAABAAEAAAAVAAIAAAABAAAAAAAUAAIAAAABAAAAAAATAAIAAAABAAAAAAASAAIAAAABAAAAAAASAAMAAAABAAEAAAASAAQAAAABAAEAAAATAAQAAAABAAEAAAAUAAQAAAABAAEAAAAUAAMAAAABAAEAAAATAAMAAAABAAEAAAAVAAQAAAABAAEAAAAWAAIAAAACAAAAAAD4//7/AAABAAQAAAD5//7/AAAKAAMAAAD6//7/AAAHAAEAAAD7//7/AAACAAEAAAD9//3/AAAKAAQAAAD+//3/AAABAAIAAAD///3/AAABAAIAAAAAAP3/AAABAAIAAAAAAPz/AAABAAAAAAD+//z/AAABAAAAAAD///z/AAABAAAAAAACAP3/AAACAAQAAAABAP3/AAAJAAQAAAD5////AAAAAAIAAAD6////AAABAAIAAAD7////AAACAAIAAADx////AAAAAAAAAADy////AAABAAAAAADz////AAACAAAAAADx/wAAAAAAAAEAAADx/wEAAAAAAAEAAADy/wEAAAABAAEAAADz/wEAAAAGAAEAAADz/wAAAAACAAEAAADy/wAAAAABAAEAAADx/wIAAAAAAAEAAADy/wIAAAABAAEAAADz/wIAAAABAAEAAAD0/wIAAAABAAEAAAD1/wIAAAABAAEAAAD2/wIAAAACAAEAAAD3//7/AAAAAAQAAAD6//3/AAAAAAAAAAD7//3/AAAJAAMAAAABAPz/AAACAAAAAAD9//z/AAAAAAAAAAD8//3/AAABAAQAAAAHAAQAAAABAAAAAAAGAAQAAAABAAAAAAAFAAQAAAABAAAAAAALAAIAAAAHAAEAAAAQAAIAAAABAAAAAAAQAAMAAAABAAEAAAAQAAQAAAABAAEAAAAQAAUAAAABAAIAAAALAAMAAAABAAEAAAAKAAMAAAABAAEAAAAKAAQAAAABAAEAAAAKAAUAAAABAAIAAAAJAAUAAAABAAIAAAAJAAQAAAAHAAEAAAAIAAQAAAABAAAAAAAGAAUAAAABAAIAAAAFAAUAAAABAAIAAAAHAAUAAAABAAIAAAAIAAUAAAABAAIAAAALAAUAAAABAAIAAAALAAQAAAABAAEAAAAAAAQAAAABAAEAAAD//wQAAAABAAEAAAD+/wUAAAAAAAIAAAD//wUAAAABAAIAAAAAAAUAAAABAAIAAAD//wMAAAABAAAAAAAAAAMAAAABAAAAAAALAAEAAAAAAAAAAAD0/wEAAAABAAAAAAD1/wEAAAABAAAAAAALAPv/AAAAAAAAAAALAPz/AAAAAAEAAAALAP3/AAAAAAIAAAAMAPz/AAABAAEAAAANAPz/AAABAAEAAAAOAPz/AAABAAEAAAAOAPv/AAABAAAAAAANAPv/AAABAAAAAAAMAPv/AAABAAAAAAAMAP3/AAABAAIAAAANAP3/AAABAAIAAAAOAP3/AAABAAIAAAAPAPz/AAACAAEAAAAPAPv/AAACAAAAAAAPAP3/AAACAAIAAAAYAAMAAAACAAAAAAAXAAMAAAABAAAAAAAXAAQAAAABAAEAAAAXAAUAAAABAAIAAAAYAAUAAAACAAIAAAAYAAQAAAACAAEAAAAGAP3/AAAAAAQAAAAHAP3/AAACAAQAAADx//3/AAAAAAIAAADy//3/AAABAAIAAADz//3/AAACAAIAAADz//z/AAACAAAAAADy//z/AAABAAAAAADx//z/AAAAAAAAAAD2/wEAAAACAAAAAAD9/wIAAQAAAAAAAAD//wIAAQAAAAAAAAAFAAMAAQAAAAAAAAAIAAMAAQAAAAAAAAAJAAEAAQAAAAAAAAANAAAAAQAAAAAAAAD4/wIAAQAAAAAAAAD1/wAAAQAAAAAAAAD4//3/AQAAAAAAAAD8//z/AQAAAAAAAAACAPz/AQAAAAAAAAAGAPz/AQAAAAAAAAAXAAIAAQAAAAAAAAAHAAMAAgAAAAEAAAAHAAIAAgAAAAAAAAAOAAAAAgAAAAEAAAAOAP//AgAAAAAAAAASAAEAAgAAAAEAAAASAAAAAgAAAAAAAAAAAAIAAgAAAAEAAAAAAAEAAgAAAAAAAAD5/wIAAgAAAAEAAAD5/wEAAgAAAAAAAAALAPr/AgAAAAEAAAALAPn/AgAAAAAAAAD+//v/AgAAAAEAAAD+//r/AgAAAAAAAAAAAPv/AQAAAAAAAADx//v/AQAAAAAAAADy//v/AgAAAAEAAADy//r/AgAAAAAAAAD5//3/AgAAAAEAAAD5//z/AgAAAAAAAAD7//z/AgAAAAEAAAD7//v/AgAAAAAAAAD0/wAAAgAAAAEAAAD0////AgAAAAAAAAAHAPz/AgAAAAEAAAAHAPv/AgAAAAAAAAA=")
|
||||
tile_set = SubResource("TileSet_gee14")
|
||||
|
||||
[node name="Background" type="Parallax2D" parent="."]
|
||||
z_index = -100
|
||||
scroll_scale = Vector2(0.5, 0.5)
|
||||
repeat_size = Vector2(512, 512)
|
||||
repeat_times = 3
|
||||
metadata/_edit_lock_ = true
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="BackgroundSprite" type="Sprite2D" parent="Background"]
|
||||
texture = SubResource("NoiseTexture2D_u5sy4")
|
||||
|
||||
[node name="Foreground" type="Parallax2D" parent="."]
|
||||
z_index = 10
|
||||
repeat_size = Vector2(512, 512)
|
||||
autoscroll = Vector2(-10, 0)
|
||||
repeat_times = 4
|
||||
metadata/_edit_group_ = true
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="ForegroundSprite" type="Sprite2D" parent="Foreground"]
|
||||
texture = SubResource("NoiseTexture2D_iywne")
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("5_g2hoc")]
|
||||
z_index = 100
|
||||
position = Vector2(-201, 51)
|
||||
|
||||
[node name="WorldBoundary" type="Area2D" parent="."]
|
||||
position = Vector2(0, 360)
|
||||
collision_layer = 2
|
||||
collision_mask = 5
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="WorldBoundary"]
|
||||
shape = SubResource("WorldBoundaryShape2D_8cj0n")
|
||||
debug_color = Color(0, 0.509804, 0.00392157, 1)
|
||||
|
||||
[node name="Triggers" type="Node" parent="."]
|
||||
|
||||
[node name="Trigger" parent="Triggers" instance=ExtResource("6_fldb1")]
|
||||
position = Vector2(104, 47)
|
||||
scale = Vector2(0.485519, 0.332699)
|
||||
|
||||
[node name="Trigger2" parent="Triggers" instance=ExtResource("6_fldb1")]
|
||||
position = Vector2(532, 62)
|
||||
scale = Vector2(0.594276, 0.546575)
|
||||
intent = "powerup"
|
||||
|
||||
[node name="Crates" type="Node" parent="."]
|
||||
|
||||
[node name="SmallCrate" parent="Crates" groups=["explodable", "pushable"] instance=ExtResource("7_guvtl")]
|
||||
z_index = 10
|
||||
position = Vector2(-146, -162)
|
||||
|
||||
[node name="SmallCrate2" parent="Crates" groups=["explodable", "pushable"] instance=ExtResource("7_guvtl")]
|
||||
z_index = 10
|
||||
position = Vector2(226, 60)
|
||||
|
||||
[node name="SmallCrate3" parent="Crates" groups=["explodable", "pushable"] instance=ExtResource("7_guvtl")]
|
||||
z_index = 10
|
||||
position = Vector2(623, 7)
|
||||
|
||||
[node name="SmallCrate4" parent="Crates" groups=["explodable", "pushable"] instance=ExtResource("7_guvtl")]
|
||||
z_index = 10
|
||||
position = Vector2(-433, -201)
|
||||
|
||||
[node name="Coins" type="Node" parent="."]
|
||||
|
||||
[node name="Coin" parent="Coins" instance=ExtResource("8_igmy8")]
|
||||
z_index = 5
|
||||
position = Vector2(-49, 84)
|
||||
|
||||
[node name="Coin2" parent="Coins" instance=ExtResource("8_igmy8")]
|
||||
z_index = 5
|
||||
position = Vector2(-266, -76)
|
||||
|
||||
[node name="Coin3" parent="Coins" instance=ExtResource("8_igmy8")]
|
||||
z_index = 5
|
||||
position = Vector2(-18, -140)
|
||||
|
||||
[node name="Enemies" type="Node" parent="."]
|
||||
|
||||
[node name="Slimer" parent="Enemies" instance=ExtResource("9_wdtqu")]
|
||||
position = Vector2(-123, 85)
|
||||
|
||||
[node name="Slimer2" parent="Enemies" instance=ExtResource("9_wdtqu")]
|
||||
position = Vector2(53, 86)
|
||||
|
||||
[connection signal="body_entered" from="WorldBoundary" to="SceneManager" method="_on_world_boundary_body_entered"]
|
||||
[connection signal="trigger_fired" from="Triggers/Trigger" to="." method="_on_trigger_fired"]
|
||||
[connection signal="trigger_fired" from="Triggers/Trigger2" to="." method="_on_trigger_fired"]
|
||||
565
scenes/level_3.tscn
Normal file
565
scenes/level_3.tscn
Normal file
@ -0,0 +1,565 @@
|
||||
[gd_scene load_steps=21 format=4 uid="uid://csmari5rsi31l"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b84pdw14l6gb6" path="res://scripts/scene_manager.gd" id="1_ha73p"]
|
||||
[ext_resource type="Texture2D" uid="uid://dkco6bp2yelei" path="res://graphics/tiles/25-10-26-godot-course-Terrain (32x32)-color-exchange-1.png" id="2_vcx5n"]
|
||||
[ext_resource type="Texture2D" uid="uid://bpf0sbb3o6rch" path="res://graphics/objects/veg_32x32.png" id="3_56dhn"]
|
||||
[ext_resource type="Texture2D" uid="uid://ctrmx80fc52bt" path="res://graphics/objects/mushroom_32x64.png" id="4_ax3dk"]
|
||||
[ext_resource type="PackedScene" uid="uid://d3y1iqmpknpyo" path="res://scenes/player.tscn" id="5_q2dsb"]
|
||||
[ext_resource type="PackedScene" uid="uid://2pp1gtlflav8" path="res://scenes/trigger.tscn" id="6_p3r0x"]
|
||||
[ext_resource type="PackedScene" uid="uid://yr1iqtid2ihb" path="res://scenes/small_crate.tscn" id="7_5xqnf"]
|
||||
[ext_resource type="PackedScene" uid="uid://31idmjadvk3t" path="res://scenes/coin.tscn" id="8_una4e"]
|
||||
[ext_resource type="PackedScene" uid="uid://bts74sqcd7k7h" path="res://scenes/slimer.tscn" id="9_ema3p"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_gee14"]
|
||||
texture = ExtResource("2_vcx5n")
|
||||
texture_region_size = Vector2i(32, 32)
|
||||
0:0/0 = 0
|
||||
0:0/0/terrain_set = 0
|
||||
0:0/0/terrain = 0
|
||||
0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
0:0/0/terrains_peering_bit/right_side = 0
|
||||
0:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
0:0/0/terrains_peering_bit/bottom_side = 0
|
||||
1:0/0 = 0
|
||||
1:0/0/terrain_set = 0
|
||||
1:0/0/terrain = 0
|
||||
1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
1:0/0/terrains_peering_bit/right_side = 0
|
||||
1:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
1:0/0/terrains_peering_bit/bottom_side = 0
|
||||
1:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
1:0/0/terrains_peering_bit/left_side = 0
|
||||
2:0/0 = 0
|
||||
2:0/0/terrain_set = 0
|
||||
2:0/0/terrain = 0
|
||||
2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
2:0/0/terrains_peering_bit/bottom_side = 0
|
||||
2:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
2:0/0/terrains_peering_bit/left_side = 0
|
||||
4:0/0 = 0
|
||||
4:0/0/terrain_set = 0
|
||||
4:0/0/terrain = 0
|
||||
4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
4:0/0/terrains_peering_bit/bottom_side = 0
|
||||
6:0/0 = 0
|
||||
6:0/0/terrain_set = 0
|
||||
6:0/0/terrain = 0
|
||||
6:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
6:0/0/terrains_peering_bit/right_side = 0
|
||||
6:0/0/terrains_peering_bit/bottom_side = 0
|
||||
6:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
6:0/0/terrains_peering_bit/left_side = 0
|
||||
6:0/0/terrains_peering_bit/top_left_corner = 0
|
||||
6:0/0/terrains_peering_bit/top_side = 0
|
||||
6:0/0/terrains_peering_bit/top_right_corner = 0
|
||||
7:0/0 = 0
|
||||
7:0/0/terrain_set = 0
|
||||
7:0/0/terrain = 0
|
||||
7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
7:0/0/terrains_peering_bit/right_side = 0
|
||||
7:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
7:0/0/terrains_peering_bit/bottom_side = 0
|
||||
7:0/0/terrains_peering_bit/left_side = 0
|
||||
7:0/0/terrains_peering_bit/top_left_corner = 0
|
||||
7:0/0/terrains_peering_bit/top_side = 0
|
||||
7:0/0/terrains_peering_bit/top_right_corner = 0
|
||||
9:0/0 = 0
|
||||
9:0/0/terrain_set = 0
|
||||
9:0/0/terrain = 0
|
||||
9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
9:0/0/terrains_peering_bit/right_side = 0
|
||||
9:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
9:0/0/terrains_peering_bit/bottom_side = 0
|
||||
9:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
9:0/0/terrains_peering_bit/left_side = 0
|
||||
9:0/0/terrains_peering_bit/top_side = 0
|
||||
10:0/0 = 0
|
||||
10:0/0/terrain_set = 0
|
||||
10:0/0/terrain = 0
|
||||
10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
10:0/0/terrains_peering_bit/right_side = 0
|
||||
10:0/0/terrains_peering_bit/bottom_side = 0
|
||||
10:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
10:0/0/terrains_peering_bit/left_side = 0
|
||||
10:0/0/terrains_peering_bit/top_left_corner = 0
|
||||
10:0/0/terrains_peering_bit/top_side = 0
|
||||
12:0/0 = 0
|
||||
12:0/0/terrain_set = 0
|
||||
12:0/0/terrain = 0
|
||||
12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
12:0/0/terrains_peering_bit/right_side = 0
|
||||
12:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
12:0/0/terrains_peering_bit/bottom_side = 0
|
||||
12:0/0/terrains_peering_bit/left_side = 0
|
||||
12:0/0/terrains_peering_bit/top_side = 0
|
||||
13:0/0 = 0
|
||||
13:0/0/terrain_set = 0
|
||||
13:0/0/terrain = 0
|
||||
13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
13:0/0/terrains_peering_bit/right_side = 0
|
||||
13:0/0/terrains_peering_bit/bottom_side = 0
|
||||
13:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
13:0/0/terrains_peering_bit/left_side = 0
|
||||
13:0/0/terrains_peering_bit/top_side = 0
|
||||
15:0/0 = 0
|
||||
15:0/0/terrain_set = 0
|
||||
15:0/0/terrain = 0
|
||||
15:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
15:0/0/terrains_peering_bit/right_side = 0
|
||||
15:0/0/terrains_peering_bit/bottom_side = 0
|
||||
15:0/0/terrains_peering_bit/left_side = 0
|
||||
15:0/0/terrains_peering_bit/top_side = 0
|
||||
0:1/0 = 0
|
||||
0:1/0/terrain_set = 0
|
||||
0:1/0/terrain = 0
|
||||
0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
0:1/0/terrains_peering_bit/right_side = 0
|
||||
0:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
0:1/0/terrains_peering_bit/bottom_side = 0
|
||||
0:1/0/terrains_peering_bit/top_side = 0
|
||||
0:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
1:1/0 = 0
|
||||
1:1/0/terrain_set = 0
|
||||
1:1/0/terrain = 0
|
||||
1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
1:1/0/terrains_peering_bit/right_side = 0
|
||||
1:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
1:1/0/terrains_peering_bit/bottom_side = 0
|
||||
1:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
1:1/0/terrains_peering_bit/left_side = 0
|
||||
1:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
1:1/0/terrains_peering_bit/top_side = 0
|
||||
1:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
2:1/0 = 0
|
||||
2:1/0/terrain_set = 0
|
||||
2:1/0/terrain = 0
|
||||
2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
2:1/0/terrains_peering_bit/bottom_side = 0
|
||||
2:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
2:1/0/terrains_peering_bit/left_side = 0
|
||||
2:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
2:1/0/terrains_peering_bit/top_side = 0
|
||||
4:1/0 = 0
|
||||
4:1/0/terrain_set = 0
|
||||
4:1/0/terrain = 0
|
||||
4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
4:1/0/terrains_peering_bit/bottom_side = 0
|
||||
4:1/0/terrains_peering_bit/top_side = 0
|
||||
6:1/0 = 0
|
||||
6:1/0/terrain_set = 0
|
||||
6:1/0/terrain = 0
|
||||
6:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
6:1/0/terrains_peering_bit/right_side = 0
|
||||
6:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
6:1/0/terrains_peering_bit/bottom_side = 0
|
||||
6:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
6:1/0/terrains_peering_bit/left_side = 0
|
||||
6:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
6:1/0/terrains_peering_bit/top_side = 0
|
||||
7:1/0 = 0
|
||||
7:1/0/terrain_set = 0
|
||||
7:1/0/terrain = 0
|
||||
7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
7:1/0/terrains_peering_bit/right_side = 0
|
||||
7:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
7:1/0/terrains_peering_bit/bottom_side = 0
|
||||
7:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
7:1/0/terrains_peering_bit/left_side = 0
|
||||
7:1/0/terrains_peering_bit/top_side = 0
|
||||
7:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
9:1/0 = 0
|
||||
9:1/0/terrain_set = 0
|
||||
9:1/0/terrain = 0
|
||||
9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
9:1/0/terrains_peering_bit/right_side = 0
|
||||
9:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
9:1/0/terrains_peering_bit/bottom_side = 0
|
||||
9:1/0/terrains_peering_bit/left_side = 0
|
||||
9:1/0/terrains_peering_bit/top_side = 0
|
||||
9:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
10:1/0 = 0
|
||||
10:1/0/terrain_set = 0
|
||||
10:1/0/terrain = 0
|
||||
10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
10:1/0/terrains_peering_bit/right_side = 0
|
||||
10:1/0/terrains_peering_bit/bottom_side = 0
|
||||
10:1/0/terrains_peering_bit/left_side = 0
|
||||
10:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
10:1/0/terrains_peering_bit/top_side = 0
|
||||
10:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
12:1/0 = 0
|
||||
12:1/0/terrain_set = 0
|
||||
12:1/0/terrain = 0
|
||||
12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
12:1/0/terrains_peering_bit/right_side = 0
|
||||
12:1/0/terrains_peering_bit/bottom_side = 0
|
||||
12:1/0/terrains_peering_bit/left_side = 0
|
||||
12:1/0/terrains_peering_bit/top_side = 0
|
||||
12:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
13:1/0 = 0
|
||||
13:1/0/terrain_set = 0
|
||||
13:1/0/terrain = 0
|
||||
13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
13:1/0/terrains_peering_bit/right_side = 0
|
||||
13:1/0/terrains_peering_bit/bottom_side = 0
|
||||
13:1/0/terrains_peering_bit/left_side = 0
|
||||
13:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
13:1/0/terrains_peering_bit/top_side = 0
|
||||
15:1/0 = 0
|
||||
15:1/0/terrain_set = 0
|
||||
15:1/0/terrain = 0
|
||||
15:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
15:1/0/terrains_peering_bit/right_side = 0
|
||||
15:1/0/terrains_peering_bit/bottom_side = 0
|
||||
15:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
15:1/0/terrains_peering_bit/left_side = 0
|
||||
15:1/0/terrains_peering_bit/top_side = 0
|
||||
15:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
16:1/0 = 0
|
||||
16:1/0/terrain_set = 0
|
||||
16:1/0/terrain = 0
|
||||
16:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
16:1/0/terrains_peering_bit/right_side = 0
|
||||
16:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
16:1/0/terrains_peering_bit/bottom_side = 0
|
||||
16:1/0/terrains_peering_bit/left_side = 0
|
||||
16:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
16:1/0/terrains_peering_bit/top_side = 0
|
||||
0:2/0 = 0
|
||||
0:2/0/terrain_set = 0
|
||||
0:2/0/terrain = 0
|
||||
0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 7.96577, -13.0639, 12.7452, -9.24029, 16, 16, 16)
|
||||
0:2/0/terrains_peering_bit/right_side = 0
|
||||
0:2/0/terrains_peering_bit/top_side = 0
|
||||
0:2/0/terrains_peering_bit/top_right_corner = 0
|
||||
1:2/0 = 0
|
||||
1:2/0/terrain_set = 0
|
||||
1:2/0/terrain = 0
|
||||
1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
1:2/0/terrains_peering_bit/right_side = 0
|
||||
1:2/0/terrains_peering_bit/left_side = 0
|
||||
1:2/0/terrains_peering_bit/top_left_corner = 0
|
||||
1:2/0/terrains_peering_bit/top_side = 0
|
||||
1:2/0/terrains_peering_bit/top_right_corner = 0
|
||||
2:2/0 = 0
|
||||
2:2/0/terrain_set = 0
|
||||
2:2/0/terrain = 0
|
||||
2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 7.96577, 13.0639, 12.7452, 9.24029, 16, -16, 16)
|
||||
2:2/0/terrains_peering_bit/left_side = 0
|
||||
2:2/0/terrains_peering_bit/top_left_corner = 0
|
||||
2:2/0/terrains_peering_bit/top_side = 0
|
||||
4:2/0 = 0
|
||||
4:2/0/terrain_set = 0
|
||||
4:2/0/terrain = 0
|
||||
4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 7.96577, -13.0639, 12.7452, -9.24029, 16, 7.64714, 16, 13.3825, 12.7452, 16, 7.64714)
|
||||
4:2/0/terrains_peering_bit/top_side = 0
|
||||
6:3/0 = 0
|
||||
6:3/0/terrain_set = 0
|
||||
6:3/0/terrain = 0
|
||||
6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
6:3/0/terrains_peering_bit/right_side = 0
|
||||
6:3/0/terrains_peering_bit/bottom_side = 0
|
||||
6:3/0/terrains_peering_bit/top_side = 0
|
||||
6:3/0/terrains_peering_bit/top_right_corner = 0
|
||||
7:3/0 = 0
|
||||
7:3/0/terrain_set = 0
|
||||
7:3/0/terrain = 0
|
||||
7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
7:3/0/terrains_peering_bit/bottom_side = 0
|
||||
7:3/0/terrains_peering_bit/left_side = 0
|
||||
7:3/0/terrains_peering_bit/top_left_corner = 0
|
||||
7:3/0/terrains_peering_bit/top_side = 0
|
||||
9:3/0 = 0
|
||||
9:3/0/terrain_set = 0
|
||||
9:3/0/terrain = 0
|
||||
9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
9:3/0/terrains_peering_bit/right_side = 0
|
||||
9:3/0/terrains_peering_bit/bottom_side = 0
|
||||
9:3/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
9:3/0/terrains_peering_bit/left_side = 0
|
||||
10:3/0 = 0
|
||||
10:3/0/terrain_set = 0
|
||||
10:3/0/terrain = 0
|
||||
10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
10:3/0/terrains_peering_bit/right_side = 0
|
||||
10:3/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
10:3/0/terrains_peering_bit/bottom_side = 0
|
||||
10:3/0/terrains_peering_bit/left_side = 0
|
||||
12:3/0 = 0
|
||||
12:3/0/terrain_set = 0
|
||||
12:3/0/terrain = 0
|
||||
12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
12:3/0/terrains_peering_bit/right_side = 0
|
||||
12:3/0/terrains_peering_bit/bottom_side = 0
|
||||
12:3/0/terrains_peering_bit/top_side = 0
|
||||
13:3/0 = 0
|
||||
13:3/0/terrain_set = 0
|
||||
13:3/0/terrain = 0
|
||||
13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
13:3/0/terrains_peering_bit/right_side = 0
|
||||
13:3/0/terrains_peering_bit/bottom_side = 0
|
||||
13:3/0/terrains_peering_bit/left_side = 0
|
||||
15:3/0 = 0
|
||||
15:3/0/terrain_set = 0
|
||||
15:3/0/terrain = 0
|
||||
15:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
15:3/0/terrains_peering_bit/right_side = 0
|
||||
15:3/0/terrains_peering_bit/bottom_side = 0
|
||||
16:3/0 = 0
|
||||
16:3/0/terrain_set = 0
|
||||
16:3/0/terrain = 0
|
||||
16:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
16:3/0/terrains_peering_bit/bottom_side = 0
|
||||
16:3/0/terrains_peering_bit/left_side = 0
|
||||
0:4/0 = 0
|
||||
0:4/0/terrain_set = 0
|
||||
0:4/0/terrain = 0
|
||||
0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -7.64714, 16, -13.3825, 12.7452, -16, 7.64714)
|
||||
0:4/0/terrains_peering_bit/right_side = 0
|
||||
1:4/0 = 0
|
||||
1:4/0/terrain_set = 0
|
||||
1:4/0/terrain = 0
|
||||
1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
1:4/0/terrains_peering_bit/right_side = 0
|
||||
1:4/0/terrains_peering_bit/left_side = 0
|
||||
2:4/0 = 0
|
||||
2:4/0/terrain_set = 0
|
||||
2:4/0/terrain = 0
|
||||
2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 16, 7.64714, 16, 13.3825, 12.7452, 16, 7.64714)
|
||||
2:4/0/terrains_peering_bit/left_side = 0
|
||||
4:4/0 = 0
|
||||
4:4/0/terrain_set = 0
|
||||
4:4/0/terrain = 0
|
||||
4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 7.96577, -13.0639, 12.7452, -9.24029, 16, 7.64714, 16, 13.3825, 12.7452, 16, 7.64714)
|
||||
6:4/0 = 0
|
||||
6:4/0/terrain_set = 0
|
||||
6:4/0/terrain = 0
|
||||
6:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
6:4/0/terrains_peering_bit/right_side = 0
|
||||
6:4/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
6:4/0/terrains_peering_bit/bottom_side = 0
|
||||
6:4/0/terrains_peering_bit/top_side = 0
|
||||
7:4/0 = 0
|
||||
7:4/0/terrain_set = 0
|
||||
7:4/0/terrain = 0
|
||||
7:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
7:4/0/terrains_peering_bit/bottom_side = 0
|
||||
7:4/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
7:4/0/terrains_peering_bit/left_side = 0
|
||||
7:4/0/terrains_peering_bit/top_side = 0
|
||||
9:4/0 = 0
|
||||
9:4/0/terrain_set = 0
|
||||
9:4/0/terrain = 0
|
||||
9:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
9:4/0/terrains_peering_bit/right_side = 0
|
||||
9:4/0/terrains_peering_bit/left_side = 0
|
||||
9:4/0/terrains_peering_bit/top_left_corner = 0
|
||||
9:4/0/terrains_peering_bit/top_side = 0
|
||||
10:4/0 = 0
|
||||
10:4/0/terrain_set = 0
|
||||
10:4/0/terrain = 0
|
||||
10:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
10:4/0/terrains_peering_bit/right_side = 0
|
||||
10:4/0/terrains_peering_bit/left_side = 0
|
||||
10:4/0/terrains_peering_bit/top_side = 0
|
||||
10:4/0/terrains_peering_bit/top_right_corner = 0
|
||||
12:4/0 = 0
|
||||
12:4/0/terrain_set = 0
|
||||
12:4/0/terrain = 0
|
||||
12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
12:4/0/terrains_peering_bit/right_side = 0
|
||||
12:4/0/terrains_peering_bit/left_side = 0
|
||||
12:4/0/terrains_peering_bit/top_side = 0
|
||||
13:4/0 = 0
|
||||
13:4/0/terrain_set = 0
|
||||
13:4/0/terrain = 0
|
||||
13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
13:4/0/terrains_peering_bit/bottom_side = 0
|
||||
13:4/0/terrains_peering_bit/left_side = 0
|
||||
13:4/0/terrains_peering_bit/top_side = 0
|
||||
15:4/0 = 0
|
||||
15:4/0/terrain_set = 0
|
||||
15:4/0/terrain = 0
|
||||
15:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, 7.96577, -13.0639, 12.7452, -9.24029, 16, 16, 16)
|
||||
15:4/0/terrains_peering_bit/right_side = 0
|
||||
15:4/0/terrains_peering_bit/top_side = 0
|
||||
16:4/0 = 0
|
||||
16:4/0/terrain_set = 0
|
||||
16:4/0/terrain = 0
|
||||
16:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 7.96577, 13.0639, 12.7452, 9.24029, 16, -16, 16)
|
||||
16:4/0/terrains_peering_bit/left_side = 0
|
||||
16:4/0/terrains_peering_bit/top_side = 0
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0tnpc"]
|
||||
texture = ExtResource("3_56dhn")
|
||||
texture_region_size = Vector2i(32, 32)
|
||||
0:0/0 = 0
|
||||
0:0/0/terrain_set = 0
|
||||
0:0/0/terrain = 1
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_vtaks"]
|
||||
texture = ExtResource("4_ax3dk")
|
||||
texture_region_size = Vector2i(32, 32)
|
||||
0:0/0 = 0
|
||||
0:0/0/terrain_set = 0
|
||||
0:0/0/terrains_peering_bit/bottom_side = 1
|
||||
0:1/0 = 0
|
||||
0:1/0/terrain_set = 0
|
||||
0:1/0/terrain = 1
|
||||
0:1/0/terrains_peering_bit/top_side = 1
|
||||
|
||||
[sub_resource type="TileSet" id="TileSet_gee14"]
|
||||
tile_size = Vector2i(32, 32)
|
||||
physics_layer_0/collision_layer = 2
|
||||
physics_layer_0/collision_mask = 13
|
||||
terrain_set_0/mode = 0
|
||||
terrain_set_0/terrain_0/name = "Main Terrain"
|
||||
terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1)
|
||||
terrain_set_0/terrain_1/name = "Vegetation"
|
||||
terrain_set_0/terrain_1/color = Color(0.5, 0.4375, 0.25, 1)
|
||||
sources/0 = SubResource("TileSetAtlasSource_gee14")
|
||||
sources/1 = SubResource("TileSetAtlasSource_0tnpc")
|
||||
sources/2 = SubResource("TileSetAtlasSource_vtaks")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_iywne"]
|
||||
offsets = PackedFloat32Array(0.206667, 0.66, 0.966667)
|
||||
colors = PackedColorArray(0, 0, 0, 1, 0.192157, 0.188235, 0.227451, 1, 0.270588, 0.235294, 0.368627, 1)
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_p57ef"]
|
||||
noise_type = 2
|
||||
cellular_return_type = 0
|
||||
domain_warp_enabled = true
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_u5sy4"]
|
||||
noise = SubResource("FastNoiseLite_p57ef")
|
||||
color_ramp = SubResource("Gradient_iywne")
|
||||
seamless = true
|
||||
in_3d_space = true
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_p57ef"]
|
||||
offsets = PackedFloat32Array(0.513333, 0.846667, 0.926667)
|
||||
colors = PackedColorArray(0, 0, 0, 0, 0.5525, 0.85, 0.58225, 0.360784, 0.992333, 1, 0.54, 0.270588)
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_u5sy4"]
|
||||
noise_type = 5
|
||||
frequency = 0.02
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_iywne"]
|
||||
noise = SubResource("FastNoiseLite_u5sy4")
|
||||
color_ramp = SubResource("Gradient_p57ef")
|
||||
seamless = true
|
||||
|
||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_8cj0n"]
|
||||
|
||||
[node name="Game" type="Node2D"]
|
||||
|
||||
[node name="SceneManager" type="Node2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("1_ha73p")
|
||||
|
||||
[node name="TileMapLayer" type="TileMapLayer" parent="."]
|
||||
position = Vector2(0, 1)
|
||||
tile_map_data = PackedByteArray("AADy/wMAAAABAAEAAADy/wQAAAABAAIAAADz/wQAAAABAAIAAADz/wMAAAABAAEAAAD0/wMAAAABAAEAAAD0/wQAAAABAAIAAADx/wQAAAAAAAIAAADx/wMAAAAAAAEAAAD4/wMAAAABAAAAAAD4/wQAAAABAAIAAAD5/wQAAAABAAIAAAD6/wQAAAABAAIAAAD7/wQAAAABAAIAAAD8/wQAAAABAAIAAAD9/wQAAAABAAIAAAD+/wQAAAAHAAAAAAD+/wMAAAABAAAAAAD9/wMAAAABAAAAAAD8/wMAAAABAAAAAAD7/wMAAAABAAAAAAD6/wMAAAABAAAAAAD5/wMAAAABAAAAAAABAAMAAAABAAAAAAABAAQAAAABAAEAAAABAAUAAAABAAIAAAACAAUAAAABAAIAAAADAAUAAAABAAIAAAAEAAUAAAABAAIAAAAEAAQAAAAGAAEAAAAEAAMAAAACAAAAAAADAAMAAAABAAAAAAACAAMAAAABAAAAAAACAAQAAAABAAEAAAADAAQAAAABAAEAAAD3/wMAAAABAAAAAAD2/wMAAAAGAAEAAAD1/wMAAAABAAEAAAD1/wQAAAABAAIAAAD2/wQAAAABAAIAAAD3/wQAAAABAAIAAAAKAAIAAAABAAAAAAAJAAIAAAAAAAAAAAAJAAMAAAAAAAEAAAAMAAEAAAABAAAAAAAMAAIAAAABAAEAAAAMAAMAAAABAAEAAAAMAAQAAAABAAEAAAANAAQAAAABAAEAAAANAAUAAAABAAIAAAAOAAUAAAABAAIAAAAPAAUAAAABAAIAAAAMAAUAAAABAAIAAAANAAEAAAABAAAAAAAOAAEAAAABAAAAAAANAAIAAAABAAEAAAANAAMAAAABAAEAAAAOAAQAAAABAAEAAAAPAAQAAAABAAEAAAAPAAMAAAABAAEAAAAPAAIAAAAGAAEAAAAPAAEAAAACAAAAAAAOAAIAAAABAAEAAAAOAAMAAAABAAEAAAARAAIAAAABAAAAAAARAAMAAAABAAEAAAARAAQAAAABAAEAAAARAAUAAAABAAIAAAASAAUAAAABAAIAAAATAAUAAAABAAIAAAAUAAUAAAABAAIAAAAVAAUAAAABAAIAAAAWAAUAAAABAAIAAAAWAAQAAAABAAEAAAAWAAMAAAAGAAEAAAAVAAMAAAABAAEAAAAVAAIAAAABAAAAAAAUAAIAAAABAAAAAAATAAIAAAABAAAAAAASAAIAAAABAAAAAAASAAMAAAABAAEAAAASAAQAAAABAAEAAAATAAQAAAABAAEAAAAUAAQAAAABAAEAAAAUAAMAAAABAAEAAAATAAMAAAABAAEAAAAVAAQAAAABAAEAAAAWAAIAAAACAAAAAAD4//7/AAABAAQAAAD5//7/AAAKAAMAAAD6//7/AAAHAAEAAAD7//7/AAACAAEAAAD9//3/AAAKAAQAAAD+//3/AAABAAIAAAD///3/AAABAAIAAAAAAP3/AAABAAIAAAAAAPz/AAABAAAAAAD+//z/AAABAAAAAAD///z/AAABAAAAAAACAP3/AAACAAQAAAABAP3/AAAJAAQAAAD5////AAAAAAIAAAD6////AAABAAIAAAD7////AAACAAIAAADx////AAAAAAAAAADy////AAABAAAAAADz////AAACAAAAAADx/wAAAAAAAAEAAADx/wEAAAAAAAEAAADy/wEAAAABAAEAAADz/wEAAAAGAAEAAADz/wAAAAACAAEAAADy/wAAAAABAAEAAADx/wIAAAAAAAEAAADy/wIAAAABAAEAAADz/wIAAAABAAEAAAD0/wIAAAABAAEAAAD1/wIAAAABAAEAAAD2/wIAAAACAAEAAAD3//7/AAAAAAQAAAD6//3/AAAAAAAAAAD7//3/AAAJAAMAAAABAPz/AAACAAAAAAD9//z/AAAAAAAAAAD8//3/AAABAAQAAAAHAAQAAAABAAAAAAAGAAQAAAABAAAAAAAFAAQAAAABAAAAAAALAAIAAAAHAAEAAAAQAAIAAAABAAAAAAAQAAMAAAABAAEAAAAQAAQAAAABAAEAAAAQAAUAAAABAAIAAAALAAMAAAABAAEAAAAKAAMAAAABAAEAAAAKAAQAAAABAAEAAAAKAAUAAAABAAIAAAAJAAUAAAABAAIAAAAJAAQAAAAHAAEAAAAIAAQAAAABAAAAAAAGAAUAAAABAAIAAAAFAAUAAAABAAIAAAAHAAUAAAABAAIAAAAIAAUAAAABAAIAAAALAAUAAAABAAIAAAALAAQAAAABAAEAAAAAAAQAAAABAAEAAAD//wQAAAABAAEAAAD+/wUAAAAAAAIAAAD//wUAAAABAAIAAAAAAAUAAAABAAIAAAD//wMAAAABAAAAAAAAAAMAAAABAAAAAAALAAEAAAAAAAAAAAD0/wEAAAABAAAAAAD1/wEAAAABAAAAAAALAPv/AAAAAAAAAAALAPz/AAAAAAEAAAALAP3/AAAAAAIAAAAMAPz/AAABAAEAAAANAPz/AAABAAEAAAAOAPz/AAABAAEAAAAOAPv/AAABAAAAAAANAPv/AAABAAAAAAAMAPv/AAABAAAAAAAMAP3/AAABAAIAAAANAP3/AAABAAIAAAAOAP3/AAABAAIAAAAPAPz/AAACAAEAAAAPAPv/AAACAAAAAAAPAP3/AAACAAIAAAAYAAMAAAACAAAAAAAXAAMAAAABAAAAAAAXAAQAAAABAAEAAAAXAAUAAAABAAIAAAAYAAUAAAACAAIAAAAYAAQAAAACAAEAAAAGAP3/AAAAAAQAAAAHAP3/AAACAAQAAADx//3/AAAAAAIAAADy//3/AAABAAIAAADz//3/AAACAAIAAADz//z/AAACAAAAAADy//z/AAABAAAAAADx//z/AAAAAAAAAAD2/wEAAAACAAAAAAD9/wIAAQAAAAAAAAD//wIAAQAAAAAAAAAFAAMAAQAAAAAAAAAIAAMAAQAAAAAAAAAJAAEAAQAAAAAAAAANAAAAAQAAAAAAAAD4/wIAAQAAAAAAAAD1/wAAAQAAAAAAAAD4//3/AQAAAAAAAAD8//z/AQAAAAAAAAACAPz/AQAAAAAAAAAGAPz/AQAAAAAAAAAXAAIAAQAAAAAAAAAHAAMAAgAAAAEAAAAHAAIAAgAAAAAAAAAOAAAAAgAAAAEAAAAOAP//AgAAAAAAAAASAAEAAgAAAAEAAAASAAAAAgAAAAAAAAAAAAIAAgAAAAEAAAAAAAEAAgAAAAAAAAD5/wIAAgAAAAEAAAD5/wEAAgAAAAAAAAALAPr/AgAAAAEAAAALAPn/AgAAAAAAAAD+//v/AgAAAAEAAAD+//r/AgAAAAAAAAAAAPv/AQAAAAAAAADx//v/AQAAAAAAAADy//v/AgAAAAEAAADy//r/AgAAAAAAAAD5//3/AgAAAAEAAAD5//z/AgAAAAAAAAD7//z/AgAAAAEAAAD7//v/AgAAAAAAAAD0/wAAAgAAAAEAAAD0////AgAAAAAAAAAHAPz/AgAAAAEAAAAHAPv/AgAAAAAAAAA=")
|
||||
tile_set = SubResource("TileSet_gee14")
|
||||
|
||||
[node name="Background" type="Parallax2D" parent="."]
|
||||
z_index = -100
|
||||
scroll_scale = Vector2(0.5, 0.5)
|
||||
repeat_size = Vector2(512, 512)
|
||||
repeat_times = 3
|
||||
metadata/_edit_lock_ = true
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="BackgroundSprite" type="Sprite2D" parent="Background"]
|
||||
texture = SubResource("NoiseTexture2D_u5sy4")
|
||||
|
||||
[node name="Foreground" type="Parallax2D" parent="."]
|
||||
z_index = 10
|
||||
repeat_size = Vector2(512, 512)
|
||||
autoscroll = Vector2(-10, 0)
|
||||
repeat_times = 4
|
||||
metadata/_edit_group_ = true
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="ForegroundSprite" type="Sprite2D" parent="Foreground"]
|
||||
texture = SubResource("NoiseTexture2D_iywne")
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("5_q2dsb")]
|
||||
z_index = 100
|
||||
position = Vector2(-201, 51)
|
||||
|
||||
[node name="WorldBoundary" type="Area2D" parent="."]
|
||||
position = Vector2(0, 360)
|
||||
collision_layer = 2
|
||||
collision_mask = 5
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="WorldBoundary"]
|
||||
shape = SubResource("WorldBoundaryShape2D_8cj0n")
|
||||
debug_color = Color(0, 0.509804, 0.00392157, 1)
|
||||
|
||||
[node name="Triggers" type="Node" parent="."]
|
||||
|
||||
[node name="Trigger" parent="Triggers" instance=ExtResource("6_p3r0x")]
|
||||
position = Vector2(104, 47)
|
||||
scale = Vector2(0.485519, 0.332699)
|
||||
|
||||
[node name="Trigger2" parent="Triggers" instance=ExtResource("6_p3r0x")]
|
||||
position = Vector2(532, 62)
|
||||
scale = Vector2(0.594276, 0.546575)
|
||||
intent = "powerup"
|
||||
|
||||
[node name="Crates" type="Node" parent="."]
|
||||
|
||||
[node name="SmallCrate" parent="Crates" groups=["explodable", "pushable"] instance=ExtResource("7_5xqnf")]
|
||||
z_index = 10
|
||||
|
||||
[node name="SmallCrate2" parent="Crates" groups=["explodable", "pushable"] instance=ExtResource("7_5xqnf")]
|
||||
z_index = 10
|
||||
position = Vector2(216, 52)
|
||||
|
||||
[node name="SmallCrate3" parent="Crates" groups=["explodable", "pushable"] instance=ExtResource("7_5xqnf")]
|
||||
z_index = 10
|
||||
position = Vector2(-253, 10)
|
||||
|
||||
[node name="SmallCrate4" parent="Crates" groups=["explodable", "pushable"] instance=ExtResource("7_5xqnf")]
|
||||
z_index = 10
|
||||
position = Vector2(-82, -5)
|
||||
|
||||
[node name="Coins" type="Node" parent="."]
|
||||
|
||||
[node name="Coin" parent="Coins" instance=ExtResource("8_una4e")]
|
||||
z_index = 5
|
||||
position = Vector2(-49, 84)
|
||||
|
||||
[node name="Coin2" parent="Coins" instance=ExtResource("8_una4e")]
|
||||
z_index = 5
|
||||
position = Vector2(-266, -76)
|
||||
|
||||
[node name="Coin3" parent="Coins" instance=ExtResource("8_una4e")]
|
||||
z_index = 5
|
||||
position = Vector2(-18, -140)
|
||||
|
||||
[node name="Coin4" parent="Coins" instance=ExtResource("8_una4e")]
|
||||
z_index = 5
|
||||
position = Vector2(203, -105)
|
||||
|
||||
[node name="Coin5" parent="Coins" instance=ExtResource("8_una4e")]
|
||||
z_index = 5
|
||||
position = Vector2(381, -169)
|
||||
|
||||
[node name="Coin6" parent="Coins" instance=ExtResource("8_una4e")]
|
||||
z_index = 5
|
||||
position = Vector2(402, 21)
|
||||
|
||||
[node name="Enemies" type="Node" parent="."]
|
||||
|
||||
[node name="Slimer" parent="Enemies" instance=ExtResource("9_ema3p")]
|
||||
position = Vector2(-123, 85)
|
||||
|
||||
[node name="Slimer2" parent="Enemies" instance=ExtResource("9_ema3p")]
|
||||
position = Vector2(53, 86)
|
||||
|
||||
[connection signal="body_entered" from="WorldBoundary" to="SceneManager" method="_on_world_boundary_body_entered"]
|
||||
[connection signal="trigger_fired" from="Triggers/Trigger" to="." method="_on_trigger_fired"]
|
||||
[connection signal="trigger_fired" from="Triggers/Trigger2" to="." method="_on_trigger_fired"]
|
||||
@ -43,6 +43,8 @@ animations = [{
|
||||
size = Vector2(14, 15)
|
||||
|
||||
[node name="Slimer" type="Area2D"]
|
||||
collision_layer = 16
|
||||
collision_mask = 15
|
||||
script = ExtResource("1_4oill")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
@ -55,4 +57,18 @@ frame_progress = 0.901815
|
||||
position = Vector2(0, 4.5)
|
||||
shape = SubResource("RectangleShape2D_02r3y")
|
||||
|
||||
[node name="RightCast" type="RayCast2D" parent="."]
|
||||
target_position = Vector2(20, 0)
|
||||
|
||||
[node name="LeftCast" type="RayCast2D" parent="."]
|
||||
target_position = Vector2(-20, 0)
|
||||
|
||||
[node name="RightDownCast" type="RayCast2D" parent="."]
|
||||
position = Vector2(7, 0)
|
||||
target_position = Vector2(0, 20)
|
||||
|
||||
[node name="LeftDownCast" type="RayCast2D" parent="."]
|
||||
position = Vector2(-7, 0)
|
||||
target_position = Vector2(0, 20)
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
|
||||
@ -1,11 +1,10 @@
|
||||
class_name Bullet
|
||||
extends Area2D
|
||||
## Bang bang!
|
||||
|
||||
@export var speed : float = 700
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
signal bullet_damaged(thing_damaged, bullet)
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
@ -13,3 +12,7 @@ func _process(delta: float) -> void:
|
||||
|
||||
func set_speed(value) -> void:
|
||||
speed = value
|
||||
|
||||
|
||||
func _on_area_entered(area: Area2D) -> void:
|
||||
bullet_damaged.emit(area, self) # Replace with function body.
|
||||
|
||||
@ -7,3 +7,8 @@ func _on_body_entered(body: Node2D) -> void:
|
||||
print_debug("body connected with coin")
|
||||
if body is Player:
|
||||
coin_collected.emit(body, self)
|
||||
if body is Grenade:
|
||||
self.visible = false
|
||||
body.explode()
|
||||
await body.animated_sprite_2d.animation_finished
|
||||
self.queue_free()
|
||||
|
||||
@ -2,6 +2,48 @@ extends Node2D
|
||||
|
||||
var coins_collected : int = 0
|
||||
var total_coins : int = 0
|
||||
var levels = ["res://scenes/game.tscn", "res://scenes/level_2.tscn", "res://scenes/level_3.tscn"]
|
||||
var timers = [10, 15, 20]
|
||||
var time_available : int = 0
|
||||
var current_level = 0
|
||||
var timer = Timer.new()
|
||||
|
||||
## Signals
|
||||
signal level_changed(level)
|
||||
signal destroyed(body)
|
||||
signal player_damaged(health, max_health)
|
||||
signal player_death
|
||||
|
||||
var enemy_stats : CharacterStats
|
||||
var player_stats : CharacterStats
|
||||
var enemies_dict : Dictionary = {}
|
||||
var player_current_health : int = 0
|
||||
|
||||
func _ready() -> void:
|
||||
# load in characters
|
||||
enemy_stats = load("res://resources/slime_stats.tres")
|
||||
player_stats = load("res://resources/player_stats.tres")
|
||||
player_current_health = player_stats.starting_health
|
||||
add_child(timer)
|
||||
timer.wait_time = 1.0
|
||||
timer.one_shot = false
|
||||
timer.connect("timeout", second_counter)
|
||||
timer.start()
|
||||
|
||||
func second_counter() -> void:
|
||||
time_available -= 1
|
||||
if time_available <= 0:
|
||||
print_debug("You ran out of time! Emitting level_changed signal")
|
||||
#get_tree().call_deferred("change_scene_to_file", levels[current_level])
|
||||
#await get_tree().create_timer(1.0).timeout
|
||||
level_changed.emit(levels[current_level])
|
||||
|
||||
func reset() -> void:
|
||||
print_debug("Resetting the level")
|
||||
enemies_dict.clear()
|
||||
player_current_health = player_stats["starting_health"]
|
||||
time_available = timers[current_level]
|
||||
print_debug("You have %s seconds to find all the coins" % str(time_available))
|
||||
|
||||
func _on_trigger_fired(intent: Variant, body: PhysicsBody2D) -> void:
|
||||
print("Game controller knows %s trigger fired " % intent)
|
||||
@ -9,7 +51,7 @@ func _on_trigger_fired(intent: Variant, body: PhysicsBody2D) -> void:
|
||||
"destroy":
|
||||
print("Destroy this thing!")
|
||||
if body is RigidBody2D:
|
||||
body.queue_free()
|
||||
destroyed.emit(body)
|
||||
"powerup":
|
||||
print("Power this thing up!")
|
||||
|
||||
@ -18,15 +60,52 @@ func on_coin_collected(_body, coin) -> void:
|
||||
coins_collected += 1
|
||||
print_debug("Coins collected: %s" % str(coins_collected))
|
||||
print_debug("There are %s coins remaining" % str(total_coins - coins_collected))
|
||||
coin.queue_free()
|
||||
if coins_collected >= total_coins:
|
||||
print_debug("You win!")
|
||||
await get_tree().create_timer(1.0).timeout
|
||||
get_tree().call_deferred("reload_current_scene")
|
||||
|
||||
func on_player_slimed(body, slime) -> void:
|
||||
print_debug("GC knows player slimed")
|
||||
destroyed.emit(coin)
|
||||
|
||||
func set_total_coins(value) -> void:
|
||||
total_coins = value
|
||||
print_debug("There are %s coins in the level" % str(total_coins))
|
||||
print_debug("Setting coin total to %s" % str(value))
|
||||
if value == 0:
|
||||
# You won!
|
||||
current_level += 1
|
||||
if current_level >= levels.size():
|
||||
current_level = 0
|
||||
#await get_tree().create_timer(1.0).timeout
|
||||
level_changed.emit(levels[current_level])
|
||||
#total_coins = value
|
||||
print_debug("There are %s coins in the level" % str(value))
|
||||
|
||||
func on_player_slimed(_body, slime) -> void:
|
||||
print_debug("GC knows player slimed")
|
||||
print_debug("Damage: " + str(enemies_dict[slime]["damage"]))
|
||||
player_current_health -= enemies_dict[slime]["damage"]
|
||||
if player_current_health <= 0:
|
||||
print_debug("Player dead!")
|
||||
player_death.emit()
|
||||
else:
|
||||
print_debug("Taking damage")
|
||||
player_damaged.emit(player_current_health, player_stats.starting_health)
|
||||
print_debug("Player Health: " + str(player_current_health) + " of " + str(player_stats.starting_health))
|
||||
|
||||
func add_enemy_to_level(enemy) -> void:
|
||||
print_debug("GC adding %s to level" % enemy.name)
|
||||
var rand_damage : int = randi() % 10
|
||||
var this_enemy_stats : Dictionary = {
|
||||
"health": enemy_stats.health,
|
||||
"damage": enemy_stats.melee_damage + rand_damage
|
||||
}
|
||||
enemies_dict[enemy] = this_enemy_stats
|
||||
|
||||
func bullet_damage(thing_damaged, _bullet) -> void:
|
||||
print_debug("Bullet has hit %s" % thing_damaged.name)
|
||||
if thing_damaged is Slimer:
|
||||
print_debug("Hitting a slime!")
|
||||
enemies_dict[thing_damaged]["health"] -= player_stats.ranged_damage
|
||||
if enemies_dict[thing_damaged]["health"] <= 0:
|
||||
print("Enemy killed")
|
||||
remove_enemy_from_level(thing_damaged)
|
||||
destroyed.emit(thing_damaged)
|
||||
else:
|
||||
print_debug("Slime health is %s" % enemies_dict[thing_damaged]["health"])
|
||||
|
||||
func remove_enemy_from_level(enemy) -> void:
|
||||
enemies_dict.erase(enemy)
|
||||
|
||||
@ -6,27 +6,45 @@ var grenade = preload("res://scenes/grenade.tscn")
|
||||
var bullet_array = []
|
||||
var total_allowed_bullets : int = 7
|
||||
|
||||
@onready var game: Node2D = $".."
|
||||
@onready var coins: Node = $"../Coins"
|
||||
@onready var enemies: Node = $"../Enemies"
|
||||
|
||||
func _ready() -> void:
|
||||
GameController.reset()
|
||||
build_level()
|
||||
|
||||
func build_level() -> void:
|
||||
var total_coins : int = 0
|
||||
if coins:
|
||||
for coin in coins.get_children():
|
||||
if coin is Coin:
|
||||
total_coins += 1
|
||||
coin.coin_collected.connect(game.on_coin_collected)
|
||||
game.set_total_coins(total_coins)
|
||||
var total_enemies : int = 0
|
||||
update_coins()
|
||||
|
||||
var _total_enemies : int = 0
|
||||
if enemies:
|
||||
update_enemies()
|
||||
# Wire up signals from GameController
|
||||
GameController.level_changed.connect(change_scene)
|
||||
GameController.destroyed.connect(destroy)
|
||||
|
||||
func update_enemies() -> void:
|
||||
var total_enemies : int = 0
|
||||
for enemy in enemies.get_children():
|
||||
if enemy is Slimer:
|
||||
total_enemies += 1
|
||||
enemy.player_slimed.connect(game.on_player_slimed)
|
||||
if not enemy.player_slimed.is_connected(GameController.on_player_slimed):
|
||||
enemy.player_slimed.connect(GameController.on_player_slimed)
|
||||
GameController.add_enemy_to_level(enemy)
|
||||
|
||||
func update_coins() -> void:
|
||||
var total_coins : int = 0
|
||||
for coin in coins.get_children():
|
||||
if coin is Coin:
|
||||
print_debug("Adding %s to the total" % str(coin))
|
||||
if not coin.coin_collected.is_connected(GameController.on_coin_collected):
|
||||
coin.coin_collected.connect(GameController.on_coin_collected)
|
||||
print_debug("There are %s coins in the total" % str(total_coins))
|
||||
if not coin.tree_exited.is_connected(update_coins):
|
||||
coin.tree_exited.connect(update_coins)
|
||||
total_coins += 1
|
||||
GameController.set_total_coins(total_coins)
|
||||
|
||||
func make_bullet(_bullet_position, _bullet_speed) -> void:
|
||||
print("make a bullet; put it in the world")
|
||||
@ -37,7 +55,7 @@ func make_bullet(_bullet_position, _bullet_speed) -> void:
|
||||
func make_grenade(_grenade_position, _grenade_direction) -> void:
|
||||
print("SM make a grenade")
|
||||
var my_grenade : Grenade = grenade.instantiate()
|
||||
game.add_child(my_grenade)
|
||||
GameController.add_child(my_grenade)
|
||||
my_grenade.transform = _grenade_position
|
||||
my_grenade.apply_central_impulse(Vector2(_grenade_direction, -1) * 200)
|
||||
|
||||
@ -46,7 +64,8 @@ func bullet_factory() -> Bullet:
|
||||
if bullet_array.size() < total_allowed_bullets:
|
||||
# make a new bullet
|
||||
my_bullet = bullet.instantiate()
|
||||
game.add_child(my_bullet)
|
||||
my_bullet.bullet_damaged.connect(GameController.bullet_damage)
|
||||
owner.add_child(my_bullet)
|
||||
else:
|
||||
my_bullet = bullet_array.pop_back()
|
||||
bullet_array.push_front(my_bullet)
|
||||
@ -56,3 +75,10 @@ func _on_world_boundary_body_entered(body: Node2D) -> void:
|
||||
if body is Player:
|
||||
var current_scene = get_tree()
|
||||
current_scene.call_deferred("reload_current_scene")
|
||||
|
||||
func change_scene(level) -> void:
|
||||
print_debug("Changing scene to level %s" % level)
|
||||
get_tree().call_deferred("change_scene_to_file", level)
|
||||
|
||||
func destroy(body) -> void:
|
||||
body.queue_free()
|
||||
|
||||
@ -1,8 +1,19 @@
|
||||
class_name Slimer
|
||||
extends Area2D
|
||||
|
||||
@onready var right_cast: RayCast2D = $RightCast
|
||||
@onready var left_cast: RayCast2D = $LeftCast
|
||||
@onready var right_down_cast: RayCast2D = $RightDownCast
|
||||
@onready var left_down_cast: RayCast2D = $LeftDownCast
|
||||
|
||||
var speed : int = 100
|
||||
var direction : int = 1
|
||||
|
||||
signal player_slimed(body, slime)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
position.x += direction * speed * delta
|
||||
|
||||
func _on_body_entered(body: Node2D) -> void:
|
||||
if body is Player:
|
||||
print_debug("Player hit Slimer")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user