Compare commits

..

2 Commits

Author SHA1 Message Date
64e0b3a510 small updates to prep 2026-03-30 17:50:14 -04:00
3b23e7b50d week 5 prep, multi-levels, coins, enemies, stats 2026-03-30 17:35:07 -04:00
29 changed files with 188 additions and 1158 deletions

View File

@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://c1ydrfhyonp4h" uid="uid://c00c0x1qv83o1"
path="res://.godot/imported/slime_green.png-5261ffd1254c816fe62b35227a9aa11d.ctex" path="res://.godot/imported/slime_green.png-5261ffd1254c816fe62b35227a9aa11d.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false

View File

@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://btxe8qx2d5pbm" uid="uid://chiso4pse86ou"
path="res://.godot/imported/coin.png-f0b33289d8d72c34d5a0c76da4c0f19c.ctex" path="res://.godot/imported/coin.png-f0b33289d8d72c34d5a0c76da4c0f19c.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dgj6nq2pnxgho"
path="res://.godot/imported/Player Death 64x64.png-0c6ff54e7d9aad74b66dce47376541f8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/player/death/Player Death 64x64.png"
dest_files=["res://.godot/imported/Player Death 64x64.png-0c6ff54e7d9aad74b66dce47376541f8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cdsu1cetxa45b"
path="res://.godot/imported/Player Hurt 48x48.png-a720e51cb19103e76b22ab6c1b81302d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/player/hurt/Player Hurt 48x48.png"
dest_files=["res://.godot/imported/Player Hurt 48x48.png-a720e51cb19103e76b22ab6c1b81302d.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@ -1,46 +0,0 @@
[preset.0]
name="Linux"
platform="Linux"
runnable=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../../godotexport/MarchGame.arm64"
patches=PackedStringArray()
patch_delta_encoding=false
patch_delta_compression_level_zstd=19
patch_delta_min_reduction=0.1
patch_delta_include_filters="*"
patch_delta_exclude_filters=""
encryption_include_filters=""
encryption_exclude_filters=""
seed=0
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.0.options]
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
binary_format/embed_pck=false
texture_format/s3tc_bptc=true
texture_format/etc2_astc=false
shader_baker/enabled=false
binary_format/architecture="arm64"
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
ssh_remote_deploy/port="22"
ssh_remote_deploy/extra_args_ssh=""
ssh_remote_deploy/extra_args_scp=""
ssh_remote_deploy/run_script="#!/usr/bin/env bash
export DISPLAY=:0
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
\"{temp_dir}/{exe_name}\" {cmd_args}"
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
pkill -x -f \"{temp_dir}/{exe_name} {cmd_args}\"
rm -rf \"{temp_dir}\""

View File

@ -42,16 +42,6 @@ shoot={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":90,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":90,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null)
] ]
} }
save={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":78,"key_label":0,"unicode":110,"location":0,"echo":false,"script":null)
]
}
load={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":77,"key_label":0,"unicode":109,"location":0,"echo":false,"script":null)
]
}
[physics] [physics]

View File

@ -21,5 +21,5 @@ scale = Vector2(0.10053524, 0.115774006)
texture = ExtResource("2_y25gk") texture = ExtResource("2_y25gk")
offset = Vector2(37.789795, 25.590113) offset = Vector2(37.789795, 25.590113)
[connection signal="area_entered" from="." to="." method="_on_area_entered"] [connection signal="area_entered" from="." to="." method="_on_body_entered"]
[connection signal="body_entered" from="." to="." method="_on_body_entered"] [connection signal="body_entered" from="." to="." method="_on_body_entered"]

View File

@ -1,66 +1,63 @@
[gd_scene format=3 uid="uid://dowh0cdyuldlp"] [gd_scene format=3 uid="uid://dowh0cdyuldlp"]
[ext_resource type="Script" uid="uid://xi6t77dsj108" path="res://scripts/coin.gd" id="1_i64fm"] [ext_resource type="Script" uid="uid://b3dvuwq5c8l4h" path="res://scripts/coin.gd" id="1_i64fm"]
[ext_resource type="Texture2D" uid="uid://btxe8qx2d5pbm" path="res://assets/graphics/pickups/coin.png" id="1_rwqht"] [ext_resource type="Texture2D" uid="uid://chiso4pse86ou" path="res://assets/graphics/pickups/coin.png" id="1_rwqht"]
[sub_resource type="AtlasTexture" id="AtlasTexture_rwqht"] [sub_resource type="CircleShape2D" id="CircleShape2D_i64fm"]
atlas = ExtResource("1_rwqht") radius = 6.0
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_i64fm"]
atlas = ExtResource("1_rwqht")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_11l1o"] [sub_resource type="AtlasTexture" id="AtlasTexture_11l1o"]
atlas = ExtResource("1_rwqht") atlas = ExtResource("1_rwqht")
region = Rect2(32, 0, 16, 16) region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_d14el"] [sub_resource type="AtlasTexture" id="AtlasTexture_d14el"]
atlas = ExtResource("1_rwqht") atlas = ExtResource("1_rwqht")
region = Rect2(48, 0, 16, 16) region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_1ikuy"] [sub_resource type="AtlasTexture" id="AtlasTexture_1ikuy"]
atlas = ExtResource("1_rwqht") atlas = ExtResource("1_rwqht")
region = Rect2(64, 0, 16, 16) region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_wnlwo"] [sub_resource type="AtlasTexture" id="AtlasTexture_wnlwo"]
atlas = ExtResource("1_rwqht") atlas = ExtResource("1_rwqht")
region = Rect2(80, 0, 16, 16) region = Rect2(48, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_jig8b"] [sub_resource type="AtlasTexture" id="AtlasTexture_jig8b"]
atlas = ExtResource("1_rwqht") atlas = ExtResource("1_rwqht")
region = Rect2(96, 0, 16, 16) region = Rect2(64, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_xmuha"] [sub_resource type="AtlasTexture" id="AtlasTexture_xmuha"]
atlas = ExtResource("1_rwqht") atlas = ExtResource("1_rwqht")
region = Rect2(112, 0, 16, 16) region = Rect2(80, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_kfxoj"] [sub_resource type="AtlasTexture" id="AtlasTexture_kfxoj"]
atlas = ExtResource("1_rwqht") atlas = ExtResource("1_rwqht")
region = Rect2(128, 0, 16, 16) region = Rect2(96, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_jsmju"] [sub_resource type="AtlasTexture" id="AtlasTexture_jsmju"]
atlas = ExtResource("1_rwqht") atlas = ExtResource("1_rwqht")
region = Rect2(144, 0, 16, 16) region = Rect2(112, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_s0mny"] [sub_resource type="AtlasTexture" id="AtlasTexture_s0mny"]
atlas = ExtResource("1_rwqht") atlas = ExtResource("1_rwqht")
region = Rect2(160, 0, 16, 16) region = Rect2(128, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_7cc30"] [sub_resource type="AtlasTexture" id="AtlasTexture_7cc30"]
atlas = ExtResource("1_rwqht") atlas = ExtResource("1_rwqht")
region = Rect2(144, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_rojmm"]
atlas = ExtResource("1_rwqht")
region = Rect2(160, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_ls27i"]
atlas = ExtResource("1_rwqht")
region = Rect2(176, 0, 16, 16) region = Rect2(176, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_rojmm"] [sub_resource type="SpriteFrames" id="SpriteFrames_ssuvv"]
animations = [{ animations = [{
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_rwqht")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_i64fm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_11l1o") "texture": SubResource("AtlasTexture_11l1o")
}, { }, {
"duration": 1.0, "duration": 1.0,
@ -89,24 +86,27 @@ animations = [{
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_7cc30") "texture": SubResource("AtlasTexture_7cc30")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_rojmm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ls27i")
}], }],
"loop": true, "loop": true,
"name": &"default", "name": &"default",
"speed": 12.0 "speed": 12.0
}] }]
[sub_resource type="CircleShape2D" id="CircleShape2D_ls27i"] [node name="Coin" type="Area2D" unique_id=1684921412]
radius = 6.0
[node name="Coin" type="Area2D" unique_id=1955680851]
script = ExtResource("1_i64fm") script = ExtResource("1_i64fm")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=667635678] [node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=708565392]
shape = SubResource("CircleShape2D_i64fm")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=21383429]
texture_filter = 1 texture_filter = 1
sprite_frames = SubResource("SpriteFrames_rojmm") sprite_frames = SubResource("SpriteFrames_ssuvv")
autoplay = "default" autoplay = "default"
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=539016279]
shape = SubResource("CircleShape2D_ls27i")
[connection signal="body_entered" from="." to="." method="_on_body_entered"] [connection signal="body_entered" from="." to="." method="_on_body_entered"]

View File

@ -14,7 +14,6 @@
[ext_resource type="Texture2D" uid="uid://cufqer3a7texm" path="res://assets/graphics/environment/terrain/bg/background B layer4.png" id="13_kvuet"] [ext_resource type="Texture2D" uid="uid://cufqer3a7texm" path="res://assets/graphics/environment/terrain/bg/background B layer4.png" id="13_kvuet"]
[ext_resource type="PackedScene" uid="uid://dowh0cdyuldlp" path="res://scenes/coin.tscn" id="13_trtic"] [ext_resource type="PackedScene" uid="uid://dowh0cdyuldlp" path="res://scenes/coin.tscn" id="13_trtic"]
[ext_resource type="PackedScene" uid="uid://dkht2dvm4ob7d" path="res://scenes/slime.tscn" id="14_trtic"] [ext_resource type="PackedScene" uid="uid://dkht2dvm4ob7d" path="res://scenes/slime.tscn" id="14_trtic"]
[ext_resource type="PackedScene" uid="uid://6cde4fo65rig" path="res://scenes/ui.tscn" id="15_ir15t"]
[sub_resource type="TileMapPattern" id="TileMapPattern_u5sy4"] [sub_resource type="TileMapPattern" id="TileMapPattern_u5sy4"]
tile_data = PackedInt32Array(0, 1, 0, 65536, 1, 1, 131072, 1, 1, 196608, 1, 2, 1, 65537, 0, 65537, 65537, 1, 131073, 131073, 1, 196609, 65537, 2, 2, 65537, 0, 65538, 131073, 1, 131074, 65537, 1, 196610, 65537, 2, 3, 131073, 0, 65539, 262145, 1, 131075, 131073, 1, 196611, 131073, 2) tile_data = PackedInt32Array(0, 1, 0, 65536, 1, 1, 131072, 1, 1, 196608, 1, 2, 1, 65537, 0, 65537, 65537, 1, 131073, 131073, 1, 196609, 65537, 2, 2, 65537, 0, 65538, 131073, 1, 131074, 65537, 1, 196610, 65537, 2, 3, 131073, 0, 65539, 262145, 1, 131075, 131073, 1, 196611, 131073, 2)
@ -413,38 +412,38 @@ pattern_1 = SubResource("TileMapPattern_gee14")
[node name="Game" type="Node2D" unique_id=239599901] [node name="Game" type="Node2D" unique_id=239599901]
[node name="Background" type="Node2D" parent="." unique_id=1387211953] [node name="ParallaxBG" type="Node2D" parent="." unique_id=87624809]
[node name="sky" type="Parallax2D" parent="Background" unique_id=1954892357] [node name="sky" type="Parallax2D" parent="ParallaxBG" unique_id=1954892357]
repeat_size = Vector2(1440, 270) repeat_size = Vector2(1440, 270)
[node name="Sprite2D" type="Sprite2D" parent="Background/sky" unique_id=1505289323] [node name="Sprite2D" type="Sprite2D" parent="ParallaxBG/sky" unique_id=1505289323]
texture = ExtResource("3_dinhu") texture = ExtResource("3_dinhu")
offset = Vector2(720, 240) offset = Vector2(720, 240)
[node name="midground" type="Parallax2D" parent="Background" unique_id=493444824] [node name="midground" type="Parallax2D" parent="ParallaxBG" unique_id=493444824]
scroll_scale = Vector2(1.05, 1) scroll_scale = Vector2(1.05, 1)
repeat_size = Vector2(1440, 0) repeat_size = Vector2(1440, 0)
[node name="Sprite2D" type="Sprite2D" parent="Background/midground" unique_id=1705346727] [node name="Sprite2D" type="Sprite2D" parent="ParallaxBG/midground" unique_id=1705346727]
texture_filter = 1 texture_filter = 1
texture = ExtResource("4_kvuet") texture = ExtResource("4_kvuet")
offset = Vector2(720, 240) offset = Vector2(720, 240)
[node name="foreground" type="Parallax2D" parent="Background" unique_id=1286814424] [node name="foreground" type="Parallax2D" parent="ParallaxBG" unique_id=1286814424]
scroll_scale = Vector2(1.1, 1) scroll_scale = Vector2(1.1, 1)
repeat_size = Vector2(1440, 0) repeat_size = Vector2(1440, 0)
[node name="Sprite2D" type="Sprite2D" parent="Background/foreground" unique_id=1649009743] [node name="Sprite2D" type="Sprite2D" parent="ParallaxBG/foreground" unique_id=1649009743]
texture_filter = 1 texture_filter = 1
texture = ExtResource("5_dinhu") texture = ExtResource("5_dinhu")
offset = Vector2(720, 240) offset = Vector2(720, 240)
[node name="front" type="Parallax2D" parent="Background" unique_id=1280848753] [node name="front" type="Parallax2D" parent="ParallaxBG" unique_id=1280848753]
scroll_scale = Vector2(1.2, 1) scroll_scale = Vector2(1.2, 1)
repeat_size = Vector2(1440, 0) repeat_size = Vector2(1440, 0)
[node name="Sprite2D" type="Sprite2D" parent="Background/front" unique_id=1850475926] [node name="Sprite2D" type="Sprite2D" parent="ParallaxBG/front" unique_id=1850475926]
texture_filter = 1 texture_filter = 1
texture = ExtResource("13_kvuet") texture = ExtResource("13_kvuet")
offset = Vector2(720, 240) offset = Vector2(720, 240)
@ -458,9 +457,6 @@ texture_filter = 1
tile_map_data = PackedByteArray("AAAVAAwAAQAAAAQAAAAWAAwAAQABAAQAAAAXAAwAAQACAAQAAAAIAA0AAQAEAAEAAAAIAAwAAQAGAAMAAAAIAAsAAQAAAAAAAAAJAAsAAQABAAAAAAAJAAwAAQABAAIAAAAKAAwAAQAHAAAAAAAKAAsAAQABAAAAAAALAAsAAQACAAAAAAALAAwAAQACAAEAAAALAA0AAQACAAIAAAAKAA0AAQAAAAIAAAAOAAoAAQAAAAQAAAAPAAoAAQABAAQAAAAQAAoAAQACAAQAAAAVAAsAAwAAAAAAAAAXAAsAAgAAAAEAAAAXAAoAAgAAAAAAAAAWAAsAAgAAAAEAAAAWAAoAAgAAAAAAAAAIAA4AAQAEAAEAAAApAA4AAQAAAAAAAAAqAA4AAQABAAAAAAArAA4AAQABAAAAAAAsAA4AAQABAAAAAAAsAA8AAQABAAIAAAAtAA8AAQABAAIAAAAtAA4AAQABAAAAAAAuAA4AAQACAAAAAAACAA8AAQAAAAQAAAADAA8AAQABAAQAAAAEAA8AAQABAAQAAAAFAA8AAQABAAQAAAAGAA8AAQABAAQAAAAHAA8AAQABAAQAAAAIAA8AAQAMAAAAAAAJAA8AAQABAAAAAAAKAA8AAQABAAAAAAALAA8AAQABAAAAAAAMAA8AAQABAAAAAAANAA8AAQABAAAAAAAOAA8AAQABAAAAAAAPAA8AAQABAAAAAAAQAA8AAQABAAAAAAARAA8AAQABAAAAAAASAA8AAQABAAAAAAATAA8AAQABAAAAAAAUAA8AAQABAAAAAAAVAA8AAQABAAAAAAAWAA8AAQABAAAAAAAXAA8AAQABAAAAAAAYAA8AAQABAAAAAAAZAA8AAQABAAAAAAAaAA8AAQABAAAAAAAbAA8AAQABAAAAAAAcAA8AAQABAAAAAAAdAA8AAQABAAAAAAAeAA8AAQABAAAAAAAfAA8AAQABAAAAAAAgAA8AAQABAAAAAAAhAA8AAQABAAAAAAAiAA8AAQAJAAMAAAAjAA8AAQABAAQAAAAkAA8AAQABAAQAAAAlAA8AAQABAAQAAAAmAA8AAQABAAQAAAAnAA8AAQABAAQAAAAoAA8AAQABAAQAAAApAA8AAQAKAAQAAAAqAA8AAQABAAIAAAArAA8AAQABAAIAAAAuAA8AAQAJAAQAAAAvAA8AAQABAAQAAAAwAA8AAQABAAQAAAAxAA8AAQABAAQAAAAyAA8AAQABAAQAAAAzAA8AAQABAAQAAAA0AA8AAQABAAQAAAA1AA8AAQABAAQAAAA2AA8AAQABAAQAAAA3AA8AAQABAAQAAAA4AA8AAQABAAQAAAA5AA8AAQABAAQAAAA6AA8AAQABAAQAAAA7AA8AAQABAAQAAAA8AA8AAQABAAQAAAA9AA8AAQABAAQAAAA+AA8AAQABAAQAAAA/AA8AAQABAAQAAABAAA8AAQABAAQAAABBAA8AAQABAAQAAABCAA8AAQABAAQAAABDAA8AAQABAAQAAABEAA8AAQABAAQAAABFAA8AAQABAAQAAABGAA8AAQABAAQAAABHAA8AAQACAAQAAAAZAAoAAQAAAAQAAAAaAAoAAQABAAQAAAAbAAoAAQAQAAQAAAAbAAkAAQAPAAMAAAAcAAkAAQACAAQAAAAdAAcAAQAAAAQAAAAeAAcAAQABAAQAAAAfAAcAAQABAAQAAAAgAAcAAQACAAQAAAAaAAUAAQACAAQAAAAZAAUAAQAPAAQAAAAZAAQAAQAQAAMAAAAYAAQAAQABAAQAAAAXAAQAAQAAAAQAAAAiABMAAQACAAIAAAAiABIAAQACAAEAAAAiABEAAQACAAEAAAAiABAAAQACAAEAAAAhABMAAQABAAIAAAAhABIAAQABAAEAAAAhABEAAQABAAEAAAAhABAAAQABAAEAAAAgABMAAQABAAIAAAAgABIAAQABAAEAAAAgABEAAQABAAEAAAAgABAAAQABAAEAAAAfABMAAQABAAIAAAAfABIAAQABAAEAAAAfABEAAQABAAEAAAAfABAAAQABAAEAAAAeABMAAQABAAIAAAAeABIAAQABAAEAAAAeABEAAQABAAEAAAAeABAAAQABAAEAAAAdABMAAQABAAIAAAAdABIAAQABAAEAAAAdABEAAQABAAEAAAAdABAAAQABAAEAAAAcABMAAQABAAIAAAAcABIAAQABAAEAAAAcABEAAQABAAEAAAAcABAAAQABAAEAAAAbABMAAQABAAIAAAAbABIAAQABAAEAAAAbABEAAQABAAEAAAAbABAAAQABAAEAAAAaABMAAQABAAIAAAAaABIAAQABAAEAAAAaABEAAQABAAEAAAAaABAAAQABAAEAAAAZABMAAQABAAIAAAAZABIAAQABAAEAAAAZABEAAQABAAEAAAAZABAAAQABAAEAAAAYABMAAQABAAIAAAAYABIAAQABAAEAAAAYABEAAQABAAEAAAAYABAAAQABAAEAAAAXABMAAQABAAIAAAAXABIAAQABAAEAAAAXABEAAQABAAEAAAAXABAAAQABAAEAAAAWABMAAQABAAIAAAAWABIAAQABAAEAAAAWABEAAQABAAEAAAAWABAAAQABAAEAAAAVABMAAQABAAIAAAAVABIAAQABAAEAAAAVABEAAQABAAEAAAAVABAAAQABAAEAAAAUABMAAQABAAIAAAAUABIAAQABAAEAAAAUABEAAQABAAEAAAAUABAAAQABAAEAAAATABMAAQABAAIAAAATABIAAQABAAEAAAATABEAAQABAAEAAAATABAAAQABAAEAAAASABMAAQABAAIAAAASABIAAQABAAEAAAASABEAAQABAAEAAAASABAAAQABAAEAAAARABMAAQABAAIAAAARABIAAQABAAEAAAARABEAAQABAAEAAAARABAAAQABAAEAAAAQABMAAQABAAIAAAAQABIAAQABAAEAAAAQABEAAQABAAEAAAAQABAAAQABAAEAAAAPABMAAQABAAIAAAAPABIAAQABAAEAAAAPABEAAQABAAEAAAAPABAAAQABAAEAAAAOABMAAQABAAIAAAAOABIAAQABAAEAAAAOABEAAQABAAEAAAAOABAAAQABAAEAAAANABMAAQABAAIAAAANABIAAQABAAEAAAANABEAAQABAAEAAAANABAAAQABAAEAAAAMABMAAQABAAIAAAAMABIAAQABAAEAAAAMABEAAQABAAEAAAAMABAAAQABAAEAAAALABMAAQABAAIAAAALABIAAQABAAEAAAALABEAAQABAAEAAAALABAAAQABAAEAAAAKABMAAQABAAIAAAAKABIAAQABAAEAAAAKABEAAQABAAEAAAAKABAAAQABAAEAAAAJABMAAQABAAIAAAAJABIAAQABAAEAAAAJABEAAQABAAEAAAAJABAAAQABAAEAAAAIABMAAQAAAAIAAAAIABIAAQAAAAEAAAAIABEAAQAAAAEAAAAIABAAAQAAAAEAAAA=") tile_map_data = PackedByteArray("AAAVAAwAAQAAAAQAAAAWAAwAAQABAAQAAAAXAAwAAQACAAQAAAAIAA0AAQAEAAEAAAAIAAwAAQAGAAMAAAAIAAsAAQAAAAAAAAAJAAsAAQABAAAAAAAJAAwAAQABAAIAAAAKAAwAAQAHAAAAAAAKAAsAAQABAAAAAAALAAsAAQACAAAAAAALAAwAAQACAAEAAAALAA0AAQACAAIAAAAKAA0AAQAAAAIAAAAOAAoAAQAAAAQAAAAPAAoAAQABAAQAAAAQAAoAAQACAAQAAAAVAAsAAwAAAAAAAAAXAAsAAgAAAAEAAAAXAAoAAgAAAAAAAAAWAAsAAgAAAAEAAAAWAAoAAgAAAAAAAAAIAA4AAQAEAAEAAAApAA4AAQAAAAAAAAAqAA4AAQABAAAAAAArAA4AAQABAAAAAAAsAA4AAQABAAAAAAAsAA8AAQABAAIAAAAtAA8AAQABAAIAAAAtAA4AAQABAAAAAAAuAA4AAQACAAAAAAACAA8AAQAAAAQAAAADAA8AAQABAAQAAAAEAA8AAQABAAQAAAAFAA8AAQABAAQAAAAGAA8AAQABAAQAAAAHAA8AAQABAAQAAAAIAA8AAQAMAAAAAAAJAA8AAQABAAAAAAAKAA8AAQABAAAAAAALAA8AAQABAAAAAAAMAA8AAQABAAAAAAANAA8AAQABAAAAAAAOAA8AAQABAAAAAAAPAA8AAQABAAAAAAAQAA8AAQABAAAAAAARAA8AAQABAAAAAAASAA8AAQABAAAAAAATAA8AAQABAAAAAAAUAA8AAQABAAAAAAAVAA8AAQABAAAAAAAWAA8AAQABAAAAAAAXAA8AAQABAAAAAAAYAA8AAQABAAAAAAAZAA8AAQABAAAAAAAaAA8AAQABAAAAAAAbAA8AAQABAAAAAAAcAA8AAQABAAAAAAAdAA8AAQABAAAAAAAeAA8AAQABAAAAAAAfAA8AAQABAAAAAAAgAA8AAQABAAAAAAAhAA8AAQABAAAAAAAiAA8AAQAJAAMAAAAjAA8AAQABAAQAAAAkAA8AAQABAAQAAAAlAA8AAQABAAQAAAAmAA8AAQABAAQAAAAnAA8AAQABAAQAAAAoAA8AAQABAAQAAAApAA8AAQAKAAQAAAAqAA8AAQABAAIAAAArAA8AAQABAAIAAAAuAA8AAQAJAAQAAAAvAA8AAQABAAQAAAAwAA8AAQABAAQAAAAxAA8AAQABAAQAAAAyAA8AAQABAAQAAAAzAA8AAQABAAQAAAA0AA8AAQABAAQAAAA1AA8AAQABAAQAAAA2AA8AAQABAAQAAAA3AA8AAQABAAQAAAA4AA8AAQABAAQAAAA5AA8AAQABAAQAAAA6AA8AAQABAAQAAAA7AA8AAQABAAQAAAA8AA8AAQABAAQAAAA9AA8AAQABAAQAAAA+AA8AAQABAAQAAAA/AA8AAQABAAQAAABAAA8AAQABAAQAAABBAA8AAQABAAQAAABCAA8AAQABAAQAAABDAA8AAQABAAQAAABEAA8AAQABAAQAAABFAA8AAQABAAQAAABGAA8AAQABAAQAAABHAA8AAQACAAQAAAAZAAoAAQAAAAQAAAAaAAoAAQABAAQAAAAbAAoAAQAQAAQAAAAbAAkAAQAPAAMAAAAcAAkAAQACAAQAAAAdAAcAAQAAAAQAAAAeAAcAAQABAAQAAAAfAAcAAQABAAQAAAAgAAcAAQACAAQAAAAaAAUAAQACAAQAAAAZAAUAAQAPAAQAAAAZAAQAAQAQAAMAAAAYAAQAAQABAAQAAAAXAAQAAQAAAAQAAAAiABMAAQACAAIAAAAiABIAAQACAAEAAAAiABEAAQACAAEAAAAiABAAAQACAAEAAAAhABMAAQABAAIAAAAhABIAAQABAAEAAAAhABEAAQABAAEAAAAhABAAAQABAAEAAAAgABMAAQABAAIAAAAgABIAAQABAAEAAAAgABEAAQABAAEAAAAgABAAAQABAAEAAAAfABMAAQABAAIAAAAfABIAAQABAAEAAAAfABEAAQABAAEAAAAfABAAAQABAAEAAAAeABMAAQABAAIAAAAeABIAAQABAAEAAAAeABEAAQABAAEAAAAeABAAAQABAAEAAAAdABMAAQABAAIAAAAdABIAAQABAAEAAAAdABEAAQABAAEAAAAdABAAAQABAAEAAAAcABMAAQABAAIAAAAcABIAAQABAAEAAAAcABEAAQABAAEAAAAcABAAAQABAAEAAAAbABMAAQABAAIAAAAbABIAAQABAAEAAAAbABEAAQABAAEAAAAbABAAAQABAAEAAAAaABMAAQABAAIAAAAaABIAAQABAAEAAAAaABEAAQABAAEAAAAaABAAAQABAAEAAAAZABMAAQABAAIAAAAZABIAAQABAAEAAAAZABEAAQABAAEAAAAZABAAAQABAAEAAAAYABMAAQABAAIAAAAYABIAAQABAAEAAAAYABEAAQABAAEAAAAYABAAAQABAAEAAAAXABMAAQABAAIAAAAXABIAAQABAAEAAAAXABEAAQABAAEAAAAXABAAAQABAAEAAAAWABMAAQABAAIAAAAWABIAAQABAAEAAAAWABEAAQABAAEAAAAWABAAAQABAAEAAAAVABMAAQABAAIAAAAVABIAAQABAAEAAAAVABEAAQABAAEAAAAVABAAAQABAAEAAAAUABMAAQABAAIAAAAUABIAAQABAAEAAAAUABEAAQABAAEAAAAUABAAAQABAAEAAAATABMAAQABAAIAAAATABIAAQABAAEAAAATABEAAQABAAEAAAATABAAAQABAAEAAAASABMAAQABAAIAAAASABIAAQABAAEAAAASABEAAQABAAEAAAASABAAAQABAAEAAAARABMAAQABAAIAAAARABIAAQABAAEAAAARABEAAQABAAEAAAARABAAAQABAAEAAAAQABMAAQABAAIAAAAQABIAAQABAAEAAAAQABEAAQABAAEAAAAQABAAAQABAAEAAAAPABMAAQABAAIAAAAPABIAAQABAAEAAAAPABEAAQABAAEAAAAPABAAAQABAAEAAAAOABMAAQABAAIAAAAOABIAAQABAAEAAAAOABEAAQABAAEAAAAOABAAAQABAAEAAAANABMAAQABAAIAAAANABIAAQABAAEAAAANABEAAQABAAEAAAANABAAAQABAAEAAAAMABMAAQABAAIAAAAMABIAAQABAAEAAAAMABEAAQABAAEAAAAMABAAAQABAAEAAAALABMAAQABAAIAAAALABIAAQABAAEAAAALABEAAQABAAEAAAALABAAAQABAAEAAAAKABMAAQABAAIAAAAKABIAAQABAAEAAAAKABEAAQABAAEAAAAKABAAAQABAAEAAAAJABMAAQABAAIAAAAJABIAAQABAAEAAAAJABEAAQABAAEAAAAJABAAAQABAAEAAAAIABMAAQAAAAIAAAAIABIAAQAAAAEAAAAIABEAAQAAAAEAAAAIABAAAQAAAAEAAAA=")
tile_set = SubResource("TileSet_0tnpc") tile_set = SubResource("TileSet_0tnpc")
[node name="Player" parent="." unique_id=161143934 instance=ExtResource("3_iywne")]
position = Vector2(316, 342)
[node name="Triggers" type="Node2D" parent="." unique_id=1411399015] [node name="Triggers" type="Node2D" parent="." unique_id=1411399015]
[node name="Trigger" parent="Triggers" unique_id=1908774248 instance=ExtResource("4_lbhrr")] [node name="Trigger" parent="Triggers" unique_id=1908774248 instance=ExtResource("4_lbhrr")]
@ -498,31 +494,24 @@ metadata/_edit_group_ = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="Level/StaticBody2D2" unique_id=895098891] [node name="CollisionShape2D" type="CollisionShape2D" parent="Level/StaticBody2D2" unique_id=895098891]
shape = SubResource("WorldBoundaryShape2D_lbhrr") shape = SubResource("WorldBoundaryShape2D_lbhrr")
[node name="Player" parent="." unique_id=161143934 instance=ExtResource("3_iywne")]
position = Vector2(503, 290)
[node name="NPCCharacter" parent="." unique_id=597270257 instance=ExtResource("6_u5sy4")] [node name="NPCCharacter" parent="." unique_id=597270257 instance=ExtResource("6_u5sy4")]
position = Vector2(103, 417) position = Vector2(-74, 277)
[node name="Coins" type="Node2D" parent="." unique_id=1168180087] [node name="Coins" type="Node2D" parent="." unique_id=935250051]
[node name="Coin" parent="Coins" unique_id=716723108 instance=ExtResource("13_trtic")] [node name="Coin" parent="Coins" unique_id=1684921412 instance=ExtResource("13_trtic")]
position = Vector2(501, 461) position = Vector2(362, 342)
[node name="Coin2" parent="Coins" unique_id=63477808 instance=ExtResource("13_trtic")] [node name="Coin2" parent="Coins" unique_id=1619880767 instance=ExtResource("13_trtic")]
position = Vector2(574, 459) position = Vector2(457, 467)
[node name="Coin3" parent="Coins" unique_id=440274531 instance=ExtResource("13_trtic")] [node name="Enemies" type="Node2D" parent="." unique_id=566614095]
position = Vector2(513, 308)
[node name="Slimes" type="Node2D" parent="." unique_id=48874920] [node name="Slime" parent="Enemies" unique_id=1858169899 instance=ExtResource("14_trtic")]
position = Vector2(468, 311)
[node name="Slime" parent="Slimes" unique_id=525177366 instance=ExtResource("14_trtic")] [node name="Slime2" parent="Enemies" unique_id=107350283 instance=ExtResource("14_trtic")]
position = Vector2(270, 344) position = Vector2(536, 310)
[node name="Slime3" parent="Slimes" unique_id=957608778 instance=ExtResource("14_trtic")]
position = Vector2(494, 311)
[node name="Slime2" parent="Slimes" unique_id=141676046 instance=ExtResource("14_trtic")]
position = Vector2(461, 311)
[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1721503250]
[node name="ui" parent="CanvasLayer" unique_id=1523689629 instance=ExtResource("15_ir15t")]

View File

@ -12,7 +12,6 @@
[ext_resource type="PackedScene" uid="uid://bf50mxdma8wq4" path="res://scenes/trigger.tscn" id="10_s4es8"] [ext_resource type="PackedScene" uid="uid://bf50mxdma8wq4" path="res://scenes/trigger.tscn" id="10_s4es8"]
[ext_resource type="PackedScene" uid="uid://b6lw2go5mwk3h" path="res://scenes/crate.tscn" id="11_63e4f"] [ext_resource type="PackedScene" uid="uid://b6lw2go5mwk3h" path="res://scenes/crate.tscn" id="11_63e4f"]
[ext_resource type="PackedScene" uid="uid://bgi18lbutp5ui" path="res://scenes/npc_character.tscn" id="12_y6lc1"] [ext_resource type="PackedScene" uid="uid://bgi18lbutp5ui" path="res://scenes/npc_character.tscn" id="12_y6lc1"]
[ext_resource type="PackedScene" uid="uid://6cde4fo65rig" path="res://scenes/ui.tscn" id="13_56gwk"]
[sub_resource type="TileMapPattern" id="TileMapPattern_u5sy4"] [sub_resource type="TileMapPattern" id="TileMapPattern_u5sy4"]
tile_data = PackedInt32Array(0, 1, 0, 65536, 1, 1, 131072, 1, 1, 196608, 1, 2, 1, 65537, 0, 65537, 65537, 1, 131073, 131073, 1, 196609, 65537, 2, 2, 65537, 0, 65538, 131073, 1, 131074, 65537, 1, 196610, 65537, 2, 3, 131073, 0, 65539, 262145, 1, 131075, 131073, 1, 196611, 131073, 2) tile_data = PackedInt32Array(0, 1, 0, 65536, 1, 1, 131072, 1, 1, 196608, 1, 2, 1, 65537, 0, 65537, 65537, 1, 131073, 131073, 1, 196609, 65537, 2, 2, 65537, 0, 65538, 131073, 1, 131074, 65537, 1, 196610, 65537, 2, 3, 131073, 0, 65539, 262145, 1, 131075, 131073, 1, 196611, 131073, 2)
@ -411,38 +410,38 @@ pattern_1 = SubResource("TileMapPattern_gee14")
[node name="Game" type="Node2D" unique_id=239599901] [node name="Game" type="Node2D" unique_id=239599901]
[node name="Background" type="Node2D" parent="." unique_id=1387211953] [node name="ParallaxBG" type="Node2D" parent="." unique_id=87624809]
[node name="sky" type="Parallax2D" parent="Background" unique_id=1954892357] [node name="sky" type="Parallax2D" parent="ParallaxBG" unique_id=1954892357]
repeat_size = Vector2(1440, 270) repeat_size = Vector2(1440, 270)
[node name="Sprite2D" type="Sprite2D" parent="Background/sky" unique_id=1505289323] [node name="Sprite2D" type="Sprite2D" parent="ParallaxBG/sky" unique_id=1505289323]
texture = ExtResource("2_56gwk") texture = ExtResource("2_56gwk")
offset = Vector2(720, 240) offset = Vector2(720, 240)
[node name="midground" type="Parallax2D" parent="Background" unique_id=493444824] [node name="midground" type="Parallax2D" parent="ParallaxBG" unique_id=493444824]
scroll_scale = Vector2(1.05, 1) scroll_scale = Vector2(1.05, 1)
repeat_size = Vector2(1440, 0) repeat_size = Vector2(1440, 0)
[node name="Sprite2D" type="Sprite2D" parent="Background/midground" unique_id=1705346727] [node name="Sprite2D" type="Sprite2D" parent="ParallaxBG/midground" unique_id=1705346727]
texture_filter = 1 texture_filter = 1
texture = ExtResource("3_ve5ok") texture = ExtResource("3_ve5ok")
offset = Vector2(720, 240) offset = Vector2(720, 240)
[node name="foreground" type="Parallax2D" parent="Background" unique_id=1286814424] [node name="foreground" type="Parallax2D" parent="ParallaxBG" unique_id=1286814424]
scroll_scale = Vector2(1.1, 1) scroll_scale = Vector2(1.1, 1)
repeat_size = Vector2(1440, 0) repeat_size = Vector2(1440, 0)
[node name="Sprite2D" type="Sprite2D" parent="Background/foreground" unique_id=1649009743] [node name="Sprite2D" type="Sprite2D" parent="ParallaxBG/foreground" unique_id=1649009743]
texture_filter = 1 texture_filter = 1
texture = ExtResource("4_cleqw") texture = ExtResource("4_cleqw")
offset = Vector2(720, 240) offset = Vector2(720, 240)
[node name="front" type="Parallax2D" parent="Background" unique_id=1280848753] [node name="front" type="Parallax2D" parent="ParallaxBG" unique_id=1280848753]
scroll_scale = Vector2(1.2, 1) scroll_scale = Vector2(1.2, 1)
repeat_size = Vector2(1440, 0) repeat_size = Vector2(1440, 0)
[node name="Sprite2D" type="Sprite2D" parent="Background/front" unique_id=1850475926] [node name="Sprite2D" type="Sprite2D" parent="ParallaxBG/front" unique_id=1850475926]
texture_filter = 1 texture_filter = 1
texture = ExtResource("5_wvb8j") texture = ExtResource("5_wvb8j")
offset = Vector2(720, 240) offset = Vector2(720, 240)
@ -453,7 +452,7 @@ script = ExtResource("1_8g4ke")
[node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=55809753] [node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=55809753]
texture_filter = 1 texture_filter = 1
tile_map_data = PackedByteArray("AAAVAAwAAQAAAAIAAAAWAAwAAQAHAAAAAAAXAAwAAQACAAEAAAAIAA0AAQAEAAEAAAAIAAwAAQAGAAMAAAAIAAsAAQAAAAAAAAAJAAsAAQABAAAAAAAJAAwAAQABAAIAAAAKAAwAAQAHAAAAAAAKAAsAAQABAAAAAAALAAsAAQACAAAAAAALAAwAAQACAAEAAAALAA0AAQACAAIAAAAKAA0AAQAAAAIAAAAOAAoAAQAAAAQAAAAPAAoAAQABAAQAAAAQAAoAAQACAAQAAAAVAAsAAQAAAAAAAAAXAAsAAQACAAAAAAAWAAsAAQABAAAAAAAIAA4AAQAEAAEAAAApAA4AAQAAAAAAAAAqAA4AAQABAAAAAAArAA4AAQABAAAAAAAsAA4AAQABAAAAAAAsAA8AAQABAAIAAAAtAA8AAQABAAIAAAAtAA4AAQABAAAAAAAuAA4AAQACAAAAAAACAA8AAQAAAAQAAAADAA8AAQABAAQAAAAEAA8AAQABAAQAAAAFAA8AAQABAAQAAAAGAA8AAQABAAQAAAAHAA8AAQABAAQAAAAIAA8AAQAMAAAAAAAJAA8AAQABAAAAAAAKAA8AAQABAAAAAAALAA8AAQABAAAAAAAMAA8AAQABAAAAAAANAA8AAQABAAAAAAAOAA8AAQABAAAAAAAPAA8AAQABAAAAAAAQAA8AAQAHAAEAAAARAA8AAQAGAAAAAAASAA8AAQAGAAAAAAATAA8AAQAGAAAAAAAUAA8AAQAGAAAAAAAVAA8AAQAGAAAAAAAWAA8AAQAGAAAAAAAXAA8AAQAGAAAAAAAYAA8AAQAGAAEAAAAZAA8AAQABAAAAAAAaAA8AAQABAAAAAAAbAA8AAQABAAAAAAAcAA8AAQABAAAAAAAdAA8AAQABAAAAAAAeAA8AAQABAAAAAAAfAA8AAQABAAAAAAAgAA8AAQABAAAAAAAhAA8AAQABAAAAAAAiAA8AAQAJAAMAAAAjAA8AAQABAAQAAAAkAA8AAQABAAQAAAAlAA8AAQABAAQAAAAmAA8AAQABAAQAAAAnAA8AAQABAAQAAAAoAA8AAQABAAQAAAApAA8AAQAKAAQAAAAqAA8AAQABAAIAAAArAA8AAQABAAIAAAAuAA8AAQAJAAQAAAAvAA8AAQABAAQAAAAwAA8AAQABAAQAAAAxAA8AAQABAAQAAAAyAA8AAQABAAQAAAAzAA8AAQABAAQAAAA0AA8AAQABAAQAAAA1AA8AAQABAAQAAAA2AA8AAQABAAQAAAA3AA8AAQABAAQAAAA4AA8AAQABAAQAAAA5AA8AAQABAAQAAAA6AA8AAQABAAQAAAA7AA8AAQABAAQAAAA8AA8AAQABAAQAAAA9AA8AAQABAAQAAAA+AA8AAQABAAQAAAA/AA8AAQABAAQAAABAAA8AAQABAAQAAABBAA8AAQABAAQAAABCAA8AAQABAAQAAABDAA8AAQABAAQAAABEAA8AAQABAAQAAABFAA8AAQABAAQAAABGAA8AAQABAAQAAABHAA8AAQACAAQAAAAZAAoAAQAAAAQAAAAaAAoAAQABAAQAAAAbAAoAAQAQAAQAAAAbAAkAAQAPAAMAAAAcAAkAAQACAAQAAAAdAAcAAQAAAAQAAAAeAAcAAQABAAQAAAAfAAcAAQABAAQAAAAgAAcAAQACAAQAAAAaAAUAAQACAAQAAAAZAAUAAQAPAAQAAAAZAAQAAQAQAAMAAAAYAAQAAQABAAQAAAAXAAQAAQAAAAQAAAAiABMAAQACAAIAAAAiABIAAQACAAEAAAAiABEAAQACAAEAAAAiABAAAQACAAEAAAAhABMAAQABAAIAAAAhABIAAQABAAEAAAAhABEAAQABAAEAAAAhABAAAQABAAEAAAAgABMAAQABAAIAAAAgABIAAQABAAEAAAAgABEAAQABAAEAAAAgABAAAQABAAEAAAAfABMAAQABAAIAAAAfABIAAQABAAEAAAAfABEAAQABAAEAAAAfABAAAQABAAEAAAAeABMAAQABAAIAAAAeABIAAQABAAEAAAAeABEAAQABAAEAAAAeABAAAQABAAEAAAAdABMAAQABAAIAAAAdABIAAQABAAEAAAAdABEAAQABAAEAAAAdABAAAQABAAEAAAAcABMAAQABAAIAAAAcABIAAQABAAEAAAAcABEAAQABAAEAAAAcABAAAQABAAEAAAAbABMAAQABAAIAAAAbABIAAQABAAEAAAAbABEAAQABAAEAAAAbABAAAQABAAEAAAAaABMAAQABAAIAAAAaABIAAQABAAEAAAAaABEAAQABAAEAAAAaABAAAQABAAEAAAAZABMAAQABAAIAAAAZABIAAQABAAEAAAAZABEAAQABAAEAAAAZABAAAQABAAEAAAAYABMAAQABAAIAAAAYABIAAQABAAEAAAAYABEAAQABAAEAAAAYABAAAQABAAEAAAAXABMAAQABAAIAAAAXABIAAQABAAEAAAAXABEAAQABAAEAAAAXABAAAQABAAEAAAAWABMAAQABAAIAAAAWABIAAQABAAEAAAAWABEAAQABAAEAAAAWABAAAQABAAEAAAAVABMAAQABAAIAAAAVABIAAQABAAEAAAAVABEAAQABAAEAAAAVABAAAQABAAEAAAAUABMAAQABAAIAAAAUABIAAQABAAEAAAAUABEAAQABAAEAAAAUABAAAQABAAEAAAATABMAAQABAAIAAAATABIAAQABAAEAAAATABEAAQABAAEAAAATABAAAQABAAEAAAASABMAAQABAAIAAAASABIAAQABAAEAAAASABEAAQABAAEAAAASABAAAQABAAEAAAARABMAAQABAAIAAAARABIAAQABAAEAAAARABEAAQABAAEAAAARABAAAQABAAEAAAAQABMAAQABAAIAAAAQABIAAQABAAEAAAAQABEAAQABAAEAAAAQABAAAQABAAEAAAAPABMAAQABAAIAAAAPABIAAQABAAEAAAAPABEAAQABAAEAAAAPABAAAQABAAEAAAAOABMAAQABAAIAAAAOABIAAQABAAEAAAAOABEAAQABAAEAAAAOABAAAQABAAEAAAANABMAAQABAAIAAAANABIAAQABAAEAAAANABEAAQABAAEAAAANABAAAQABAAEAAAAMABMAAQABAAIAAAAMABIAAQABAAEAAAAMABEAAQABAAEAAAAMABAAAQABAAEAAAALABMAAQABAAIAAAALABIAAQABAAEAAAALABEAAQABAAEAAAALABAAAQABAAEAAAAKABMAAQABAAIAAAAKABIAAQABAAEAAAAKABEAAQABAAEAAAAKABAAAQABAAEAAAAJABMAAQABAAIAAAAJABIAAQABAAEAAAAJABEAAQABAAEAAAAJABAAAQABAAEAAAAIABMAAQAAAAIAAAAIABIAAQAAAAEAAAAIABEAAQAAAAEAAAAIABAAAQAAAAEAAAAQAA4AAQAAAAAAAAARAA4AAQABAAAAAAASAA4AAQABAAAAAAATAA4AAQABAAAAAAAUAA4AAQABAAAAAAAVAA4AAQABAAAAAAAWAA4AAQAHAAEAAAAXAA4AAQAGAAAAAAAYAA4AAQACAAEAAAAWAA0AAQAAAAEAAAAXAA0AAQAGAAEAAAAYAA0AAQACAAAAAAA=") tile_map_data = PackedByteArray("AAAXAAwAAQAEAAQAAAAIAA0AAQAEAAEAAAAIAAwAAQAGAAMAAAAIAAsAAQAAAAAAAAAJAAsAAQABAAAAAAAJAAwAAQABAAIAAAAKAAwAAQAHAAAAAAAKAAsAAQABAAAAAAALAAsAAQABAAAAAAALAAwAAQAGAAAAAAALAA0AAQABAAIAAAAKAA0AAQAAAAIAAAAVAAsAAwAAAAAAAAAIAA4AAQAEAAEAAAApAA4AAQAAAAAAAAAqAA4AAQABAAAAAAArAA4AAQABAAAAAAAsAA4AAQABAAAAAAAsAA8AAQABAAIAAAAtAA8AAQABAAIAAAAtAA4AAQABAAAAAAAuAA4AAQACAAAAAAACAA8AAQAAAAQAAAADAA8AAQABAAQAAAAEAA8AAQABAAQAAAAFAA8AAQABAAQAAAAGAA8AAQABAAQAAAAHAA8AAQABAAQAAAAIAA8AAQAMAAAAAAAJAA8AAQABAAAAAAAKAA8AAQABAAAAAAALAA8AAQABAAAAAAAMAA8AAQABAAAAAAANAA8AAQABAAAAAAAOAA8AAQABAAAAAAAPAA8AAQAHAAEAAAAQAA8AAQAGAAAAAAARAA8AAQAGAAAAAAASAA8AAQAGAAAAAAATAA8AAQAGAAAAAAAUAA8AAQAGAAAAAAAVAA8AAQAGAAAAAAAWAA8AAQAGAAEAAAAXAA8AAQABAAAAAAAYAA8AAQABAAAAAAAZAA8AAQABAAAAAAAaAA8AAQABAAAAAAAbAA8AAQABAAAAAAAcAA8AAQABAAAAAAAdAA8AAQABAAAAAAAeAA8AAQABAAAAAAAfAA8AAQABAAAAAAAgAA8AAQABAAAAAAAhAA8AAQABAAAAAAAiAA8AAQAJAAMAAAAjAA8AAQABAAQAAAAkAA8AAQABAAQAAAAlAA8AAQABAAQAAAAmAA8AAQABAAQAAAAnAA8AAQABAAQAAAAoAA8AAQABAAQAAAApAA8AAQAKAAQAAAAqAA8AAQABAAIAAAArAA8AAQABAAIAAAAuAA8AAQAJAAQAAAAvAA8AAQABAAQAAAAwAA8AAQABAAQAAAAxAA8AAQABAAQAAAAyAA8AAQABAAQAAAAzAA8AAQABAAQAAAA0AA8AAQABAAQAAAA1AA8AAQABAAQAAAA2AA8AAQABAAQAAAA3AA8AAQABAAQAAAA4AA8AAQABAAQAAAA5AA8AAQABAAQAAAA6AA8AAQABAAQAAAA7AA8AAQABAAQAAAA8AA8AAQABAAQAAAA9AA8AAQABAAQAAAA+AA8AAQABAAQAAAA/AA8AAQABAAQAAABAAA8AAQABAAQAAABBAA8AAQABAAQAAABCAA8AAQABAAQAAABDAA8AAQABAAQAAABEAA8AAQABAAQAAABFAA8AAQABAAQAAABGAA8AAQABAAQAAABHAA8AAQACAAQAAAAZAAoAAQAAAAQAAAAaAAoAAQABAAQAAAAbAAoAAQAQAAQAAAAbAAkAAQAPAAMAAAAcAAkAAQACAAQAAAAdAAcAAQAAAAQAAAAeAAcAAQABAAQAAAAfAAcAAQABAAQAAAAgAAcAAQACAAQAAAAaAAUAAQACAAQAAAAZAAUAAQAPAAQAAAAZAAQAAQAQAAMAAAAYAAQAAQABAAQAAAAXAAQAAQAAAAQAAAAiABMAAQACAAIAAAAiABIAAQACAAEAAAAiABEAAQACAAEAAAAiABAAAQACAAEAAAAhABMAAQABAAIAAAAhABIAAQABAAEAAAAhABEAAQABAAEAAAAhABAAAQABAAEAAAAgABMAAQABAAIAAAAgABIAAQABAAEAAAAgABEAAQABAAEAAAAgABAAAQABAAEAAAAfABMAAQABAAIAAAAfABIAAQABAAEAAAAfABEAAQABAAEAAAAfABAAAQABAAEAAAAeABMAAQABAAIAAAAeABIAAQABAAEAAAAeABEAAQABAAEAAAAeABAAAQABAAEAAAAdABMAAQABAAIAAAAdABIAAQABAAEAAAAdABEAAQABAAEAAAAdABAAAQABAAEAAAAcABMAAQABAAIAAAAcABIAAQABAAEAAAAcABEAAQABAAEAAAAcABAAAQABAAEAAAAbABMAAQABAAIAAAAbABIAAQABAAEAAAAbABEAAQABAAEAAAAbABAAAQABAAEAAAAaABMAAQABAAIAAAAaABIAAQABAAEAAAAaABEAAQABAAEAAAAaABAAAQABAAEAAAAZABMAAQABAAIAAAAZABIAAQABAAEAAAAZABEAAQABAAEAAAAZABAAAQABAAEAAAAYABMAAQABAAIAAAAYABIAAQABAAEAAAAYABEAAQABAAEAAAAYABAAAQABAAEAAAAXABMAAQABAAIAAAAXABIAAQABAAEAAAAXABEAAQABAAEAAAAXABAAAQABAAEAAAAWABMAAQABAAIAAAAWABIAAQABAAEAAAAWABEAAQABAAEAAAAWABAAAQABAAEAAAAVABMAAQABAAIAAAAVABIAAQABAAEAAAAVABEAAQABAAEAAAAVABAAAQABAAEAAAAUABMAAQABAAIAAAAUABIAAQABAAEAAAAUABEAAQABAAEAAAAUABAAAQABAAEAAAATABMAAQABAAIAAAATABIAAQABAAEAAAATABEAAQABAAEAAAATABAAAQABAAEAAAASABMAAQABAAIAAAASABIAAQABAAEAAAASABEAAQABAAEAAAASABAAAQABAAEAAAARABMAAQABAAIAAAARABIAAQABAAEAAAARABEAAQABAAEAAAARABAAAQABAAEAAAAQABMAAQABAAIAAAAQABIAAQABAAEAAAAQABEAAQABAAEAAAAQABAAAQABAAEAAAAPABMAAQABAAIAAAAPABIAAQABAAEAAAAPABEAAQABAAEAAAAPABAAAQABAAEAAAAOABMAAQABAAIAAAAOABIAAQABAAEAAAAOABEAAQABAAEAAAAOABAAAQABAAEAAAANABMAAQABAAIAAAANABIAAQABAAEAAAANABEAAQABAAEAAAANABAAAQABAAEAAAAMABMAAQABAAIAAAAMABIAAQABAAEAAAAMABEAAQABAAEAAAAMABAAAQABAAEAAAALABMAAQABAAIAAAALABIAAQABAAEAAAALABEAAQABAAEAAAALABAAAQABAAEAAAAKABMAAQABAAIAAAAKABIAAQABAAEAAAAKABEAAQABAAEAAAAKABAAAQABAAEAAAAJABMAAQABAAIAAAAJABIAAQABAAEAAAAJABEAAQABAAEAAAAJABAAAQABAAEAAAAIABMAAQAAAAIAAAAIABIAAQAAAAEAAAAIABEAAQAAAAEAAAAIABAAAQAAAAEAAAAPAA4AAQAAAAAAAAAQAA4AAQABAAAAAAARAA4AAQABAAAAAAASAA4AAQABAAAAAAATAA4AAQABAAAAAAAUAA4AAQABAAAAAAAVAA4AAQABAAAAAAAWAA4AAQACAAAAAAAMAA0AAQACAAIAAAAMAAwAAQACAAEAAAAMAAsAAQACAAAAAAARAAkAAQAAAAQAAAASAAkAAQABAAQAAAATAAkAAQABAAQAAAAUAAkAAQACAAQAAAA=")
tile_set = SubResource("TileSet_0tnpc") tile_set = SubResource("TileSet_0tnpc")
[node name="Player" parent="." unique_id=161143934 instance=ExtResource("9_24ks5")] [node name="Player" parent="." unique_id=161143934 instance=ExtResource("9_24ks5")]
@ -498,7 +497,3 @@ shape = SubResource("WorldBoundaryShape2D_lbhrr")
[node name="NPCCharacter" parent="." unique_id=597270257 instance=ExtResource("12_y6lc1")] [node name="NPCCharacter" parent="." unique_id=597270257 instance=ExtResource("12_y6lc1")]
position = Vector2(103, 417) position = Vector2(103, 417)
[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=161671243]
[node name="ui" parent="CanvasLayer" unique_id=1523689629 instance=ExtResource("13_56gwk")]

View File

@ -1,504 +0,0 @@
[gd_scene format=4 uid="uid://cjbgll66453s"]
[ext_resource type="Script" uid="uid://ch2id76i14srx" path="res://scripts/scene_manager.gd" id="1_qewby"]
[ext_resource type="Texture2D" uid="uid://c7e3bo3gav3ou" path="res://assets/graphics/environment/terrain/bg/background B layer1.png" id="2_bradm"]
[ext_resource type="Texture2D" uid="uid://c1j311070sb45" path="res://assets/graphics/environment/terrain/bg/background B layer2.png" id="3_got4s"]
[ext_resource type="Texture2D" uid="uid://ct213btxq11pv" path="res://assets/graphics/environment/terrain/bg/background B layer3.png" id="4_e40mx"]
[ext_resource type="Texture2D" uid="uid://cufqer3a7texm" path="res://assets/graphics/environment/terrain/bg/background B layer4.png" id="5_a114e"]
[ext_resource type="Texture2D" uid="uid://c54wxruqqye2h" path="res://assets/graphics/environment/terrain/Terrain (32x32).png" id="6_y1e0c"]
[ext_resource type="Texture2D" uid="uid://ssc8drrfnu72" path="res://assets/graphics/environment/terrain/mushroom_32x64.png" id="7_s4dsi"]
[ext_resource type="Texture2D" uid="uid://6jv2l35y03f" path="res://assets/graphics/environment/terrain/veg_32x32.png" id="8_07lh1"]
[ext_resource type="PackedScene" uid="uid://s0utas3jmhjk" path="res://scenes/player.tscn" id="9_6uuvf"]
[ext_resource type="PackedScene" uid="uid://bf50mxdma8wq4" path="res://scenes/trigger.tscn" id="10_x008a"]
[ext_resource type="PackedScene" uid="uid://b6lw2go5mwk3h" path="res://scenes/crate.tscn" id="11_atr84"]
[ext_resource type="PackedScene" uid="uid://bgi18lbutp5ui" path="res://scenes/npc_character.tscn" id="12_qyu38"]
[ext_resource type="PackedScene" uid="uid://6cde4fo65rig" path="res://scenes/ui.tscn" id="13_bradm"]
[sub_resource type="TileMapPattern" id="TileMapPattern_u5sy4"]
tile_data = PackedInt32Array(0, 1, 0, 65536, 1, 1, 131072, 1, 1, 196608, 1, 2, 1, 65537, 0, 65537, 65537, 1, 131073, 131073, 1, 196609, 65537, 2, 2, 65537, 0, 65538, 131073, 1, 131074, 65537, 1, 196610, 65537, 2, 3, 131073, 0, 65539, 262145, 1, 131075, 131073, 1, 196611, 131073, 2)
[sub_resource type="TileMapPattern" id="TileMapPattern_gee14"]
tile_data = PackedInt32Array(65536, 1, 0, 131072, 1, 1, 196608, 1, 2, 65537, 65537, 0, 131073, 65537, 1, 196609, 65537, 2, 2, 1, 0, 65538, 65537, 1, 131074, 65537, 1, 196610, 65537, 1, 262146, 1, 1, 327682, 1, 2, 3, 65537, 0, 65539, 65537, 1, 131075, 65537, 1, 196611, 131073, 1, 262147, 131073, 1, 327683, 131073, 2, 4, 131073, 0, 65540, 131073, 1, 131076, 131073, 2)
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_gee14"]
texture = ExtResource("6_y1e0c")
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, 15.294277)
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, 15.294277)
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, 15.294277)
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/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/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/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/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/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/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/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
15:0/0/terrains_peering_bit/top_right_corner = 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, -0.31863022, -16, 0, 16, -16, 15.294277)
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
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(1.5931549, -16, 16, -16, 16, 16, 2.2304153, 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/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/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/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/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/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/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/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/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, 16, -16, 15.294277)
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, -1.9117851, 16, -1.2745228, 16, 16, -16, 15.294277)
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, 16, -16, 15.294277)
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, 16, -16, 16)
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, -2.8676777, -16, -1.9117851, 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(1.2745209, -16, 16, -16, 16, 16, 0.63726044, 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, 0.95589066, -16, 0.63726044)
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, 0.95589066, -16, 0.63726044)
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, -16, 16)
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, -16, 16)
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.6471367, 10.196182, 16, -7.3285084, 16, -16, 6.691246)
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, -2.8676777, -16, -1.9117851, 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(1.2745209, -16, 16, -16, 16, 16, 0.63726044, 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, 0, 16, 0, 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, 0, 16, 0, 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, 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, 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_kvuet"]
texture = ExtResource("7_s4dsi")
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="TileSetAtlasSource" id="TileSetAtlasSource_trtic"]
texture = ExtResource("8_07lh1")
texture_region_size = Vector2i(32, 32)
0:0/0 = 0
0:0/0/terrain_set = 0
0:0/0/terrain = 1
[sub_resource type="TileSet" id="TileSet_0tnpc"]
tile_size = Vector2i(32, 32)
physics_layer_0/collision_layer = 1
terrain_set_0/mode = 0
terrain_set_0/terrain_0/name = "LeafyDirt"
terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1)
terrain_set_0/terrain_1/name = "Veg 1"
terrain_set_0/terrain_1/color = Color(0.5, 0.4375, 0.25, 1)
sources/1 = SubResource("TileSetAtlasSource_gee14")
sources/2 = SubResource("TileSetAtlasSource_kvuet")
sources/3 = SubResource("TileSetAtlasSource_trtic")
pattern_0 = SubResource("TileMapPattern_u5sy4")
pattern_1 = SubResource("TileMapPattern_gee14")
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_lbhrr"]
[node name="Game" type="Node2D" unique_id=239599901]
[node name="Background" type="Node2D" parent="." unique_id=1387211953]
[node name="sky" type="Parallax2D" parent="Background" unique_id=1954892357]
repeat_size = Vector2(1440, 270)
[node name="Sprite2D" type="Sprite2D" parent="Background/sky" unique_id=1505289323]
texture = ExtResource("2_bradm")
offset = Vector2(720, 240)
[node name="midground" type="Parallax2D" parent="Background" unique_id=493444824]
scroll_scale = Vector2(1.05, 1)
repeat_size = Vector2(1440, 0)
[node name="Sprite2D" type="Sprite2D" parent="Background/midground" unique_id=1705346727]
texture_filter = 1
texture = ExtResource("3_got4s")
offset = Vector2(720, 240)
[node name="foreground" type="Parallax2D" parent="Background" unique_id=1286814424]
scroll_scale = Vector2(1.1, 1)
repeat_size = Vector2(1440, 0)
[node name="Sprite2D" type="Sprite2D" parent="Background/foreground" unique_id=1649009743]
texture_filter = 1
texture = ExtResource("4_e40mx")
offset = Vector2(720, 240)
[node name="front" type="Parallax2D" parent="Background" unique_id=1280848753]
scroll_scale = Vector2(1.2, 1)
repeat_size = Vector2(1440, 0)
[node name="Sprite2D" type="Sprite2D" parent="Background/front" unique_id=1850475926]
texture_filter = 1
texture = ExtResource("5_a114e")
offset = Vector2(720, 240)
[node name="SceneManager" type="Node2D" parent="." unique_id=195147007]
unique_name_in_owner = true
script = ExtResource("1_qewby")
[node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=55809753]
texture_filter = 1
tile_map_data = PackedByteArray("AAAVAAwAAQAPAAMAAAAWAAwAAQABAAQAAAAXAAwAAQACAAQAAAAIAA0AAQAEAAEAAAAIAAwAAQAGAAMAAAAIAAsAAQAAAAAAAAAJAAsAAQABAAAAAAAJAAwAAQABAAIAAAAKAAwAAQAHAAAAAAAKAAsAAQABAAAAAAALAAsAAQABAAAAAAALAAwAAQAGAAAAAAALAA0AAQABAAIAAAAKAA0AAQAAAAIAAAAVAAsAAwAAAAAAAAAXAAsAAgAAAAEAAAAXAAoAAgAAAAAAAAAWAAsAAgAAAAEAAAAWAAoAAgAAAAAAAAAIAA4AAQAEAAEAAAApAA4AAQAAAAAAAAAqAA4AAQABAAAAAAArAA4AAQABAAAAAAAsAA4AAQABAAAAAAAsAA8AAQABAAIAAAAtAA8AAQABAAIAAAAtAA4AAQABAAAAAAAuAA4AAQACAAAAAAACAA8AAQAAAAQAAAADAA8AAQABAAQAAAAEAA8AAQABAAQAAAAFAA8AAQABAAQAAAAGAA8AAQABAAQAAAAHAA8AAQABAAQAAAAIAA8AAQAMAAAAAAAJAA8AAQABAAAAAAAKAA8AAQABAAAAAAALAA8AAQABAAAAAAAMAA8AAQABAAAAAAANAA8AAQABAAAAAAAOAA8AAQABAAAAAAAPAA8AAQABAAAAAAAQAA8AAQAHAAEAAAARAA8AAQAGAAAAAAASAA8AAQAGAAEAAAATAA8AAQABAAAAAAAUAA8AAQABAAAAAAAVAA8AAQAJAAAAAAAWAA8AAQABAAAAAAAXAA8AAQABAAAAAAAYAA8AAQABAAAAAAAZAA8AAQABAAAAAAAaAA8AAQABAAAAAAAbAA8AAQABAAAAAAAcAA8AAQABAAAAAAAdAA8AAQABAAAAAAAeAA8AAQABAAAAAAAfAA8AAQABAAAAAAAgAA8AAQABAAAAAAAhAA8AAQABAAAAAAAiAA8AAQAJAAMAAAAjAA8AAQABAAQAAAAkAA8AAQABAAQAAAAlAA8AAQABAAQAAAAmAA8AAQABAAQAAAAnAA8AAQABAAQAAAAoAA8AAQABAAQAAAApAA8AAQAKAAQAAAAqAA8AAQABAAIAAAArAA8AAQABAAIAAAAuAA8AAQAJAAQAAAAvAA8AAQABAAQAAAAwAA8AAQABAAQAAAAxAA8AAQABAAQAAAAyAA8AAQABAAQAAAAzAA8AAQABAAQAAAA0AA8AAQABAAQAAAA1AA8AAQABAAQAAAA2AA8AAQABAAQAAAA3AA8AAQABAAQAAAA4AA8AAQABAAQAAAA5AA8AAQABAAQAAAA6AA8AAQABAAQAAAA7AA8AAQABAAQAAAA8AA8AAQABAAQAAAA9AA8AAQABAAQAAAA+AA8AAQABAAQAAAA/AA8AAQABAAQAAABAAA8AAQABAAQAAABBAA8AAQABAAQAAABCAA8AAQABAAQAAABDAA8AAQABAAQAAABEAA8AAQABAAQAAABFAA8AAQABAAQAAABGAA8AAQABAAQAAABHAA8AAQACAAQAAAAZAAoAAQAAAAQAAAAaAAoAAQABAAQAAAAbAAoAAQAQAAQAAAAbAAkAAQAPAAMAAAAcAAkAAQACAAQAAAAdAAcAAQAAAAQAAAAeAAcAAQABAAQAAAAfAAcAAQABAAQAAAAgAAcAAQACAAQAAAAaAAUAAQACAAQAAAAZAAUAAQAPAAQAAAAZAAQAAQAQAAMAAAAYAAQAAQABAAQAAAAXAAQAAQAAAAQAAAAiABMAAQACAAIAAAAiABIAAQACAAEAAAAiABEAAQACAAEAAAAiABAAAQACAAEAAAAhABMAAQABAAIAAAAhABIAAQABAAEAAAAhABEAAQABAAEAAAAhABAAAQABAAEAAAAgABMAAQABAAIAAAAgABIAAQABAAEAAAAgABEAAQABAAEAAAAgABAAAQABAAEAAAAfABMAAQABAAIAAAAfABIAAQABAAEAAAAfABEAAQABAAEAAAAfABAAAQABAAEAAAAeABMAAQABAAIAAAAeABIAAQABAAEAAAAeABEAAQABAAEAAAAeABAAAQABAAEAAAAdABMAAQABAAIAAAAdABIAAQABAAEAAAAdABEAAQABAAEAAAAdABAAAQABAAEAAAAcABMAAQABAAIAAAAcABIAAQABAAEAAAAcABEAAQABAAEAAAAcABAAAQABAAEAAAAbABMAAQABAAIAAAAbABIAAQABAAEAAAAbABEAAQABAAEAAAAbABAAAQABAAEAAAAaABMAAQABAAIAAAAaABIAAQABAAEAAAAaABEAAQABAAEAAAAaABAAAQABAAEAAAAZABMAAQABAAIAAAAZABIAAQABAAEAAAAZABEAAQABAAEAAAAZABAAAQABAAEAAAAYABMAAQABAAIAAAAYABIAAQABAAEAAAAYABEAAQABAAEAAAAYABAAAQABAAEAAAAXABMAAQABAAIAAAAXABIAAQABAAEAAAAXABEAAQABAAEAAAAXABAAAQABAAEAAAAWABMAAQABAAIAAAAWABIAAQABAAEAAAAWABEAAQABAAEAAAAWABAAAQABAAEAAAAVABMAAQABAAIAAAAVABIAAQABAAEAAAAVABEAAQABAAEAAAAVABAAAQABAAEAAAAUABMAAQABAAIAAAAUABIAAQABAAEAAAAUABEAAQABAAEAAAAUABAAAQABAAEAAAATABMAAQABAAIAAAATABIAAQABAAEAAAATABEAAQABAAEAAAATABAAAQABAAEAAAASABMAAQABAAIAAAASABIAAQABAAEAAAASABEAAQABAAEAAAASABAAAQABAAEAAAARABMAAQABAAIAAAARABIAAQABAAEAAAARABEAAQABAAEAAAARABAAAQABAAEAAAAQABMAAQABAAIAAAAQABIAAQABAAEAAAAQABEAAQABAAEAAAAQABAAAQABAAEAAAAPABMAAQABAAIAAAAPABIAAQABAAEAAAAPABEAAQABAAEAAAAPABAAAQABAAEAAAAOABMAAQABAAIAAAAOABIAAQABAAEAAAAOABEAAQABAAEAAAAOABAAAQABAAEAAAANABMAAQABAAIAAAANABIAAQABAAEAAAANABEAAQABAAEAAAANABAAAQABAAEAAAAMABMAAQABAAIAAAAMABIAAQABAAEAAAAMABEAAQABAAEAAAAMABAAAQABAAEAAAALABMAAQABAAIAAAALABIAAQABAAEAAAALABEAAQABAAEAAAALABAAAQABAAEAAAAKABMAAQABAAIAAAAKABIAAQABAAEAAAAKABEAAQABAAEAAAAKABAAAQABAAEAAAAJABMAAQABAAIAAAAJABIAAQABAAEAAAAJABEAAQABAAEAAAAJABAAAQABAAEAAAAIABMAAQAAAAIAAAAIABIAAQAAAAEAAAAIABEAAQAAAAEAAAAIABAAAQAAAAEAAAAQAA4AAQAAAAAAAAARAA4AAQABAAAAAAASAA4AAQAHAAQAAAASAA0AAQAPAAMAAAATAA0AAQABAAQAAAAUAA0AAQABAAQAAAAVAA0AAQANAAQAAAAVAA4AAQAEAAEAAAAOAA0AAQACAAQAAAANAA0AAQABAAQAAAAMAA0AAQAJAAQAAAAMAAwAAQACAAEAAAAMAAsAAQACAAAAAAANAAwAAwAAAAAAAAAMAAoAAwAAAAAAAAALAAoAAgAAAAEAAAALAAkAAgAAAAAAAAAZAA4AAwAAAAAAAAAaAA4AAwAAAAAAAAAbAA4AAgAAAAEAAAAbAA0AAgAAAAAAAAAOAA4AAwAAAAAAAAA=")
tile_set = SubResource("TileSet_0tnpc")
[node name="Player" parent="." unique_id=161143934 instance=ExtResource("9_6uuvf")]
position = Vector2(534, 405)
[node name="Triggers" type="Node2D" parent="." unique_id=1411399015]
[node name="Trigger" parent="Triggers" unique_id=1908774248 instance=ExtResource("10_x008a")]
position = Vector2(-139, 444)
effect = "destroy"
[node name="Trigger2" parent="Triggers" unique_id=1627494044 instance=ExtResource("10_x008a")]
position = Vector2(-152, 261)
effect = "teleport"
[node name="Trigger3" parent="Triggers" unique_id=1618797258 instance=ExtResource("10_x008a")]
position = Vector2(-96, 142)
effect = "powerup"
[node name="Crates" type="Node2D" parent="." unique_id=1983554973]
[node name="Crate" parent="Crates" unique_id=1307809047 instance=ExtResource("11_atr84")]
position = Vector2(690, 346)
[node name="Crate2" parent="Crates" unique_id=1988562966 instance=ExtResource("11_atr84")]
position = Vector2(580, 400)
[node name="Crate3" parent="Crates" unique_id=1771442258 instance=ExtResource("11_atr84")]
position = Vector2(575, 255)
[node name="Crate4" parent="Crates" unique_id=34543093 instance=ExtResource("11_atr84")]
position = Vector2(609, 394)
[node name="Level" type="Node2D" parent="." unique_id=1225714734]
[node name="StaticBody2D2" type="StaticBody2D" parent="Level" unique_id=426786591]
position = Vector2(597, 636)
metadata/_edit_group_ = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="Level/StaticBody2D2" unique_id=895098891]
shape = SubResource("WorldBoundaryShape2D_lbhrr")
[node name="NPCCharacter" parent="." unique_id=597270257 instance=ExtResource("12_qyu38")]
position = Vector2(103, 417)
[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1454087989]
[node name="ui" parent="CanvasLayer" unique_id=1523689629 instance=ExtResource("13_bradm")]

View File

@ -3,72 +3,14 @@
[ext_resource type="Script" uid="uid://c17de7vvtri1e" path="res://scripts/player.gd" id="1_3vyb7"] [ext_resource type="Script" uid="uid://c17de7vvtri1e" path="res://scripts/player.gd" id="1_3vyb7"]
[ext_resource type="Texture2D" uid="uid://bihghvekq435s" path="res://assets/graphics/player/jump_fall/player jump 48x48.png" id="2_dqkch"] [ext_resource type="Texture2D" uid="uid://bihghvekq435s" path="res://assets/graphics/player/jump_fall/player jump 48x48.png" id="2_dqkch"]
[ext_resource type="Texture2D" uid="uid://dyus25iplw8ei" path="res://assets/graphics/player/idle/Player Idle 48x48.png" id="2_g2els"] [ext_resource type="Texture2D" uid="uid://dyus25iplw8ei" path="res://assets/graphics/player/idle/Player Idle 48x48.png" id="2_g2els"]
[ext_resource type="Texture2D" uid="uid://dgj6nq2pnxgho" path="res://assets/graphics/player/death/Player Death 64x64.png" id="2_tuyoq"]
[ext_resource type="Texture2D" uid="uid://3c7ngirfyrkh" path="res://assets/graphics/player/running/player run 48x48.png" id="3_qhqgy"] [ext_resource type="Texture2D" uid="uid://3c7ngirfyrkh" path="res://assets/graphics/player/running/player run 48x48.png" id="3_qhqgy"]
[ext_resource type="Texture2D" uid="uid://cdsu1cetxa45b" path="res://assets/graphics/player/hurt/Player Hurt 48x48.png" id="4_fjrip"]
[sub_resource type="CircleShape2D" id="CircleShape2D_uwrxv"] [sub_resource type="CircleShape2D" id="CircleShape2D_uwrxv"]
[sub_resource type="AtlasTexture" id="AtlasTexture_l71n6"]
atlas = ExtResource("2_tuyoq")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ke2ow"]
atlas = ExtResource("2_tuyoq")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ujl30"]
atlas = ExtResource("2_tuyoq")
region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_31cv2"]
atlas = ExtResource("2_tuyoq")
region = Rect2(144, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_pf23h"]
atlas = ExtResource("2_tuyoq")
region = Rect2(192, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_dt7fs"]
atlas = ExtResource("2_tuyoq")
region = Rect2(240, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_wqfne"]
atlas = ExtResource("2_tuyoq")
region = Rect2(288, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_wnwbv"]
atlas = ExtResource("2_tuyoq")
region = Rect2(336, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_gl8cc"]
atlas = ExtResource("2_tuyoq")
region = Rect2(384, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_487ah"]
atlas = ExtResource("2_tuyoq")
region = Rect2(432, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_i4ail"] [sub_resource type="AtlasTexture" id="AtlasTexture_i4ail"]
atlas = ExtResource("2_dqkch") atlas = ExtResource("2_dqkch")
region = Rect2(96, 0, 48, 48) region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_md1ol"]
atlas = ExtResource("4_fjrip")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_bj30b"]
atlas = ExtResource("4_fjrip")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_jc3p3"]
atlas = ExtResource("4_fjrip")
region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_hax0n"]
atlas = ExtResource("4_fjrip")
region = Rect2(144, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_qhqgy"] [sub_resource type="AtlasTexture" id="AtlasTexture_qhqgy"]
atlas = ExtResource("2_g2els") atlas = ExtResource("2_g2els")
region = Rect2(0, 0, 48, 48) region = Rect2(0, 0, 48, 48)
@ -149,85 +91,10 @@ region = Rect2(288, 0, 48, 48)
atlas = ExtResource("3_qhqgy") atlas = ExtResource("3_qhqgy")
region = Rect2(336, 0, 48, 48) region = Rect2(336, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_t4otl"]
atlas = ExtResource("2_tuyoq")
region = Rect2(432, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_j2b1d"]
atlas = ExtResource("2_tuyoq")
region = Rect2(384, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_cs1tg"]
atlas = ExtResource("2_tuyoq")
region = Rect2(336, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_2dvfe"]
atlas = ExtResource("2_tuyoq")
region = Rect2(288, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_giy8y"]
atlas = ExtResource("2_tuyoq")
region = Rect2(240, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_fdfoy"]
atlas = ExtResource("2_tuyoq")
region = Rect2(192, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_hhpqf"]
atlas = ExtResource("2_tuyoq")
region = Rect2(144, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_g5jhy"]
atlas = ExtResource("2_tuyoq")
region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_holxr"]
atlas = ExtResource("2_tuyoq")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_mx1m4"]
atlas = ExtResource("2_tuyoq")
region = Rect2(0, 0, 48, 48)
[sub_resource type="SpriteFrames" id="SpriteFrames_jej6c"] [sub_resource type="SpriteFrames" id="SpriteFrames_jej6c"]
animations = [{ animations = [{
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_l71n6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ke2ow")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ujl30")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_31cv2")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pf23h")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dt7fs")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wqfne")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wnwbv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gl8cc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_487ah")
}],
"loop": false,
"name": &"death",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_i4ail") "texture": SubResource("AtlasTexture_i4ail")
}], }],
"loop": false, "loop": false,
@ -236,23 +103,6 @@ animations = [{
}, { }, {
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_md1ol")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bj30b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jc3p3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hax0n")
}],
"loop": false,
"name": &"hurt",
"speed": 12.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_qhqgy") "texture": SubResource("AtlasTexture_qhqgy")
}, { }, {
"duration": 1.0, "duration": 1.0,
@ -325,41 +175,6 @@ animations = [{
"loop": true, "loop": true,
"name": &"running", "name": &"running",
"speed": 12.0 "speed": 12.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_t4otl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_j2b1d")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cs1tg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2dvfe")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_giy8y")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fdfoy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hhpqf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_g5jhy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_holxr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mx1m4")
}],
"loop": true,
"name": &"spawn",
"speed": 12.0
}] }]
[node name="Player" type="CharacterBody2D" unique_id=161143934] [node name="Player" type="CharacterBody2D" unique_id=161143934]
@ -380,7 +195,7 @@ position = Vector2(-15, -3)
texture_filter = 1 texture_filter = 1
position = Vector2(1, -7) position = Vector2(1, -7)
sprite_frames = SubResource("SpriteFrames_jej6c") sprite_frames = SubResource("SpriteFrames_jej6c")
animation = &"death" animation = &"falling"
autoplay = "idle" autoplay = "idle"
[node name="Camera2D" type="Camera2D" parent="." unique_id=453583176] [node name="Camera2D" type="Camera2D" parent="." unique_id=453583176]

View File

@ -1,10 +1,9 @@
[gd_scene format=3 uid="uid://dkht2dvm4ob7d"] [gd_scene format=3 uid="uid://dkht2dvm4ob7d"]
[ext_resource type="Texture2D" uid="uid://c1ydrfhyonp4h" path="res://assets/graphics/enemies/slime_green.png" id="1_371uh"] [ext_resource type="Texture2D" uid="uid://c00c0x1qv83o1" path="res://assets/graphics/enemies/slime_green.png" id="1_371uh"]
[ext_resource type="Script" uid="uid://c8o8u4tesokv5" path="res://scripts/slime.gd" id="1_p2gj0"] [ext_resource type="Script" uid="uid://c8o8u4tesokv5" path="res://scripts/slime.gd" id="1_p2gj0"]
[sub_resource type="CircleShape2D" id="CircleShape2D_p2gj0"] [sub_resource type="CircleShape2D" id="CircleShape2D_p2gj0"]
radius = 9.0
[sub_resource type="AtlasTexture" id="AtlasTexture_n6pvg"] [sub_resource type="AtlasTexture" id="AtlasTexture_n6pvg"]
atlas = ExtResource("1_371uh") atlas = ExtResource("1_371uh")
@ -39,34 +38,34 @@ animations = [{
}], }],
"loop": true, "loop": true,
"name": &"default", "name": &"default",
"speed": 12.0 "speed": 5.0
}] }]
[node name="Slime" type="Area2D" unique_id=525177366] [node name="Slime" type="Area2D" unique_id=1858169899]
script = ExtResource("1_p2gj0") script = ExtResource("1_p2gj0")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=2092451959] [node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1326300520]
position = Vector2(0, -1)
shape = SubResource("CircleShape2D_p2gj0") shape = SubResource("CircleShape2D_p2gj0")
debug_color = Color(0.32381785, 0.6223806, 0.15175426, 0.41960785)
[node name="SlimeGraphic" type="AnimatedSprite2D" parent="." unique_id=462589101] [node name="SlimeGraphic" type="AnimatedSprite2D" parent="." unique_id=1596575911]
texture_filter = 1 texture_filter = 1
position = Vector2(0, -3) position = Vector2(0, -2)
sprite_frames = SubResource("SpriteFrames_gstla") sprite_frames = SubResource("SpriteFrames_gstla")
autoplay = "default" autoplay = "default"
[node name="RightCast" type="RayCast2D" parent="." unique_id=1271083121] [node name="RightCast" type="RayCast2D" parent="." unique_id=1564439268]
target_position = Vector2(14, 0) target_position = Vector2(16, 0)
[node name="LeftCast" type="RayCast2D" parent="." unique_id=2103860158] [node name="LeftCast" type="RayCast2D" parent="." unique_id=1316242758]
target_position = Vector2(-15, 0) target_position = Vector2(-16, 0)
[node name="LeftDownCast" type="RayCast2D" parent="." unique_id=1062605570] [node name="LeftDownCast" type="RayCast2D" parent="." unique_id=1465075999]
position = Vector2(-8, 0) position = Vector2(-9, 0)
target_position = Vector2(0, 11) target_position = Vector2(0, 12)
[node name="RightDownCast" type="RayCast2D" parent="." unique_id=74407653] [node name="RightDownCast" type="RayCast2D" parent="." unique_id=1510899118]
position = Vector2(8, 0) position = Vector2(10, 0)
target_position = Vector2(0, 11) target_position = Vector2(0, 12)
[connection signal="body_entered" from="." to="." method="_on_body_entered"] [connection signal="body_entered" from="." to="." method="_on_body_entered"]

View File

@ -1,47 +0,0 @@
[gd_scene format=3 uid="uid://6cde4fo65rig"]
[ext_resource type="Script" uid="uid://6tbvoaj20pws" path="res://scripts/ui.gd" id="1_nt7q6"]
[node name="ui" type="Control" unique_id=1523689629]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_nt7q6")
[node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=860304686]
layout_mode = 1
anchors_preset = 10
anchor_right = 1.0
grow_horizontal = 2
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer" unique_id=815365890]
layout_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer" unique_id=1206394048]
layout_mode = 2
size_flags_horizontal = 3
[node name="health" type="Label" parent="VBoxContainer/HBoxContainer/MarginContainer" unique_id=1839745909]
layout_mode = 2
text = "HEALTH"
[node name="MarginContainer2" type="MarginContainer" parent="VBoxContainer/HBoxContainer" unique_id=1606638895]
layout_mode = 2
size_flags_horizontal = 3
[node name="timer" type="Label" parent="VBoxContainer/HBoxContainer/MarginContainer2" unique_id=1053612937]
layout_mode = 2
text = "TIMER"
horizontal_alignment = 1
[node name="MarginContainer3" type="MarginContainer" parent="VBoxContainer/HBoxContainer" unique_id=85183065]
layout_mode = 2
size_flags_horizontal = 3
[node name="coiins" type="Label" parent="VBoxContainer/HBoxContainer/MarginContainer3" unique_id=827757901]
layout_mode = 2
text = "COINS"
horizontal_alignment = 2

View File

@ -21,7 +21,3 @@ func _process(delta: float) -> void:
func _on_body_entered(body: Node2D) -> void: func _on_body_entered(body: Node2D) -> void:
bulletDamageSignal.emit(body, self) bulletDamageSignal.emit(body, self)
func _on_area_entered(area: Area2D) -> void:
bulletDamageSignal.emit(area, self)

View File

@ -5,4 +5,5 @@ signal coinCollectedSignal(body,coin)
func _on_body_entered(body: Node2D) -> void: func _on_body_entered(body: Node2D) -> void:
if body is Player: if body is Player:
print("Player hit coin")
coinCollectedSignal.emit(body, self) coinCollectedSignal.emit(body, self)

View File

@ -1 +1 @@
uid://xi6t77dsj108 uid://b3dvuwq5c8l4h

View File

@ -4,59 +4,60 @@ var crateTotal = 0
signal destroySignal(body) signal destroySignal(body)
signal teleportSignal(body) signal teleportSignal(body)
signal levelChangeSignal(level) signal levelChangeSignal(level)
signal playerDamageSignal(health, maxHealth)
signal playerDeathSignal
signal countDownSignal(timeRemaining)
signal coinCollectedSignal(totalCoinsCollected, coinsRemaining)
var currentScene:String = "res://scenes/game.tscn"
var timer := Timer.new()
var timeAvailable := 10
var levels=["res://scenes/game.tscn","res://scenes/level2.tscn","res://scenes/level3.tscn"]
var timers=[15,10,8]
var currentLevel=0
var coinsCollected = 0 var coinsCollected = 0
var playerHealth = 100 var timer := Timer.new()
var playerStartingHealth = 100
#Level Handling
var levels=["res://scenes/game.tscn","res://scenes/level2.tscn"]
var timers=[16,10]
var currentLevel = 0
var timeAvailable = timers[currentLevel]
var enemiesDict={} var enemiesDict={}
var playerStartingHealth = 50
var enemy:CharacterStats var playerHealth = 50
var player:CharacterStats
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready() -> void: func _ready() -> void:
get_window().grab_focus() get_window().grab_focus()
enemy = load("res://scripts/rscs/slimeStats.tres")
player = load("res://scripts/rscs/playerStats.tres")
add_child(timer) add_child(timer)
timer.wait_time = 1 timer.wait_time = 1
timer.one_shot= false timer.one_shot= false
timer.connect("timeout", secondCounter) timer.connect("timeout", secondCounter)
timer.start() timer.start()
#Scene Handling
# called by the scenemanager upon scene load
func reset()->void: func reset()->void:
# reset the time
timeAvailable = timers[currentLevel] timeAvailable = timers[currentLevel]
playerHealth = player.starting_health enemiesDict.clear()
coinsCollected = 0 playerHealth = playerStartingHealth
#Time Handling
func secondCounter()->void: func secondCounter()->void:
timeAvailable -=1 timeAvailable -=1
countDownSignal.emit(timeAvailable)
if timeAvailable <=0: if timeAvailable <=0:
print("YOU LOSE BABY!!") print("YOU LOSE BABY!!")
levelChangeSignal.emit(levels[currentLevel]) levelChangeSignal.emit(levels[currentLevel])
# Called every frame. 'delta' is the elapsed time since the previous frame. #Coin Handling
func _process(delta: float) -> void: func _on_coin_collected(body:Player, coin:Coin)-> void:
pass coinsCollected +=1
destroySignal.emit(coin)
#Any time coins are destroyed, game controller is informed how many left
func totalCoins(value)-> void:
if value <=0:
print("You WON!!!")
currentLevel +=1
if currentLevel >= levels.size():
currentLevel = 0
levelChangeSignal.emit(levels[currentLevel])
#Triggers are area traps
func _on_trigger(body: Variant, effect, trigger) -> void: func _on_trigger(body: Variant, effect, trigger) -> void:
print("GC knows trigger...."+effect) print("GC knows trigger...."+effect)
if body is Crate: if body is Crate:
@ -74,6 +75,28 @@ func _on_trigger(body: Variant, effect, trigger) -> void:
timeAvailable +=5 timeAvailable +=5
destroySignal.emit(trigger) destroySignal.emit(trigger)
#Enemy Handling
func _on_slime_damage(body, slime)->void:
# print("Slime attacked player for "+str(enemiesDict[slime]["damage"]))
playerHealth -= enemiesDict[slime]["damage"]
if playerHealth<=0:
print("PLAYER KILLED!")
#reload current level
levelChangeSignal.emit(levels[currentLevel])
func totalEnemies(value)->void:
print("Number of Enemies: "+str(value))
func addEnemyToLevel(slime:Slime)->void:
#random number up to 10
var randDamage:int = randi()%10
var enemyStat = {
"health":50,
"damage":randDamage
}
#store in the enemy Dictionary
enemiesDict[slime]=enemyStat
func removeEnemyFromLevel(slime)->void:
enemiesDict.erase(slime)
func crateUpdate(cratesAmount)->void: func crateUpdate(cratesAmount)->void:
crateTotal = cratesAmount crateTotal = cratesAmount
print("GC updated crates: "+str(crateTotal)) print("GC updated crates: "+str(crateTotal))
@ -83,53 +106,16 @@ func crateUpdate(cratesAmount)->void:
if currentLevel >= levels.size(): if currentLevel >= levels.size():
currentLevel = 0 currentLevel = 0
levelChangeSignal.emit(levels[currentLevel]) levelChangeSignal.emit(levels[currentLevel])
func bulletDamage(body:Node2D, bullet:Bullet)->void: func bulletDamage(body:Node2D, bullet:Bullet)->void:
if body is Crate: if body is Crate:
#destroy crate #destroy crate
destroySignal.emit(body) destroySignal.emit(body)
destroySignal.emit(bullet) destroySignal.emit(bullet)
#Update to damage Slime Enemies
if body is Slime: if body is Slime:
enemiesDict[body]["health"] -= player.rangeDamage #damage the slime
enemiesDict[body]["health"] -= 10
if enemiesDict[body]["health"] <=0: if enemiesDict[body]["health"] <=0:
removeEnemyFromLevel(body)
destroySignal.emit(body) destroySignal.emit(body)
destroySignal.emit(bullet) destroySignal.emit(bullet)
func _on_coin_collected(body:Node2D, coin:Coin)->void:
print("GC knows coin collected")
coinsCollected +=1
destroySignal.emit(coin)
func totalCoins(value)->void:
print("GC knows coins remaining "+str(value))
coinCollectedSignal.emit(coinsCollected, value)
if value <=0:
#no coins left in level
currentLevel +=1
if currentLevel >= levels.size():
currentLevel = 0
levelChangeSignal.emit(levels[currentLevel])
func _on_slime_damage(body:Node2D, slime:Slime)->void:
playerHealth -= enemiesDict[slime]["damage"]
print("GC knows damage from slime "+str(enemiesDict[slime]["damage"]))
print("GC knows slime damage to player "+str(playerHealth))
if playerHealth <=0:
print("YOU DED")
playerDeathSignal.emit()
else:
#damage
playerDamageSignal.emit(playerHealth, player.max_health)
func addEnemyToLevel(slime:Slime)->void:
# var randDamage:int = randi()%10
var enemyStat = {
"health":enemy.starting_health,
"damage":enemy.meleeDamage
}
#put it in dictionary
enemiesDict[slime]=enemyStat
func loadLevel()->void:
levelChangeSignal.emit(levels[currentLevel])

View File

@ -11,15 +11,12 @@ const BUMP_POWER = 50
enum FaceDirection{LEFT, RIGHT} enum FaceDirection{LEFT, RIGHT}
var facing:FaceDirection = FaceDirection.RIGHT var facing:FaceDirection = FaceDirection.RIGHT
var direction var direction
enum PlayerState{IDLE,RUNNING, JUMPING, FALLING, HURT, DEAD} enum PlayerState{IDLE,RUNNING, JUMPING, FALLING}
var current_player_state:PlayerState = PlayerState.IDLE var current_player_state:PlayerState = PlayerState.IDLE
var jumpUp:bool = false var jumpUp:bool = false
signal deathAnimationCompleteSignal
func _physics_process(delta: float) -> void: func _physics_process(delta: float) -> void:
if current_player_state != PlayerState.DEAD:
handle_input() handle_input()
handle_movement(delta) handle_movement(delta)
handle_state() handle_state()
@ -39,7 +36,6 @@ func handle_input()->void:
velocity.y = JUMP_VELOCITY velocity.y = JUMP_VELOCITY
current_player_state = PlayerState.JUMPING current_player_state = PlayerState.JUMPING
jumpUp = true jumpUp = true
# Handle Shoot # Handle Shoot
if Input.is_action_just_pressed("shoot"): if Input.is_action_just_pressed("shoot"):
print("Player wants to shoot") print("Player wants to shoot")
@ -75,10 +71,6 @@ func handle_animation()->void:
player_graphic.play("jumping") player_graphic.play("jumping")
PlayerState.FALLING: PlayerState.FALLING:
player_graphic.play("falling") player_graphic.play("falling")
PlayerState.HURT:
player_graphic.play("hurt")
PlayerState.DEAD:
player_graphic.play("death")
func handle_movement(delta)->void: func handle_movement(delta)->void:
# Add the gravity. # Add the gravity.
@ -106,13 +98,3 @@ func _on_animation_finished() -> void:
match current_player_state: match current_player_state:
PlayerState.JUMPING: PlayerState.JUMPING:
jumpUp = false jumpUp = false
PlayerState.HURT:
current_player_state = PlayerState.IDLE
PlayerState.DEAD:
deathAnimationCompleteSignal.emit()
func playerDamage(health, maxHealth) ->void:
current_player_state = PlayerState.HURT
func playerDead()->void:
print("Player should die")
current_player_state = PlayerState.DEAD

View File

@ -1,11 +0,0 @@
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
# damage"
@export_category("damage")
@export var meleeDamage: int = 10
@export var rangeDamage: int =5

View File

@ -1 +0,0 @@
uid://jdmo742f5t43

View File

@ -1,7 +0,0 @@
[gd_resource type="Resource" script_class="CharacterStats" format=3 uid="uid://b6qxf7j8kcw7f"]
[ext_resource type="Script" uid="uid://jdmo742f5t43" path="res://scripts/rscs/characterStats.gd" id="1_sqkfu"]
[resource]
script = ExtResource("1_sqkfu")
metadata/_custom_type_script = "uid://jdmo742f5t43"

View File

@ -1,12 +0,0 @@
[gd_resource type="Resource" script_class="CharacterStats" format=3 uid="uid://qpkg5xp8sk1a"]
[ext_resource type="Script" uid="uid://jdmo742f5t43" path="res://scripts/rscs/characterStats.gd" id="1_ppipo"]
[resource]
script = ExtResource("1_ppipo")
health = 20
max_health = 30
starting_health = 20
meleeDamage = 20
rangeDamage = 0
metadata/_custom_type_script = "uid://jdmo742f5t43"

View File

@ -3,9 +3,7 @@ class_name SceneManager extends Node2D
@onready var crates: Node2D = $"../Crates" @onready var crates: Node2D = $"../Crates"
@onready var level: Node2D = $"../Level" @onready var level: Node2D = $"../Level"
@onready var coins: Node2D = $"../Coins" @onready var coins: Node2D = $"../Coins"
@onready var slimes: Node2D = $"../Slimes" @onready var enemies: Node2D = $"../Enemies"
@onready var player: Player = $"../Player"
@onready var ui: UI = $"../CanvasLayer/ui"
var bullet = preload("res://scenes/bullet.tscn") var bullet = preload("res://scenes/bullet.tscn")
var bulletArray:Array[Bullet] = [] var bulletArray:Array[Bullet] = []
@ -13,61 +11,54 @@ var totalAllowedBullets:int = 7
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready() -> void: func _ready() -> void:
#resets the timer # Reset all the stuff in the level
#player health?
Gamecontroller.reset() Gamecontroller.reset()
buildLevel() buildLevel()
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void: func _process(delta: float) -> void:
if Input.is_action_just_pressed("save"): pass
print("Save the game!")
if Input.is_action_just_pressed("load"):
print("Load the game!")
func buildLevel()->void: func buildLevel()->void:
print("building level") print("building level")
updateCoins()
updateCrates() updateCrates()
updateTriggers() updateTriggers()
updateCoins()
updateEnemies() updateEnemies()
#wire up signals from GameController #wire up signals from GameController
Gamecontroller.destroySignal.connect(destroy) Gamecontroller.destroySignal.connect(destroy)
Gamecontroller.teleportSignal.connect(teleport) Gamecontroller.teleportSignal.connect(teleport)
Gamecontroller.levelChangeSignal.connect(loadLevel) Gamecontroller.levelChangeSignal.connect(loadLevel)
Gamecontroller.playerDamageSignal.connect(player.playerDamage)
Gamecontroller.playerDamageSignal.connect(ui.updateHealth)
Gamecontroller.playerDeathSignal.connect(player.playerDead)
Gamecontroller.countDownSignal.connect(ui.updateTimer)
Gamecontroller.coinCollectedSignal.connect(ui.updateCoins)
player.deathAnimationCompleteSignal.connect(Gamecontroller.loadLevel)
func updateEnemies()->void: func updateEnemies()->void:
if slimes: if enemies:
var totalSlimes = 0 var totalEnemies = 0
for obj in slimes.get_children(): for obj in enemies.get_children():
if obj is Slime: if obj is Slime:
totalSlimes +=1 totalEnemies +=1
Gamecontroller.addEnemyToLevel(obj)
#hook up to game controller
if not obj.slimeDamageSignal.is_connected(Gamecontroller._on_slime_damage): if not obj.slimeDamageSignal.is_connected(Gamecontroller._on_slime_damage):
print("Hooking up slime")
obj.slimeDamageSignal.connect(Gamecontroller._on_slime_damage) obj.slimeDamageSignal.connect(Gamecontroller._on_slime_damage)
Gamecontroller.addEnemyToLevel(obj)
if not obj.tree_exited.is_connected(updateEnemies):
obj.tree_exited.connect(updateEnemies)
Gamecontroller.totalEnemies(totalEnemies)
func updateCoins()->void: func updateCoins()->void:
if coins: if coins:
var totalCoins = 0 var totalCoins = 0
for obj in coins.get_children(): for obj in coins.get_children():
if obj is Coin: if obj is Coin:
totalCoins +=1 totalCoins +=1
#hook up coin to gamecontroller print("coin found")
if not obj.coinCollectedSignal.is_connected(Gamecontroller._on_coin_collected): if not obj.coinCollectedSignal.is_connected(Gamecontroller._on_coin_collected):
obj.coinCollectedSignal.connect(Gamecontroller._on_coin_collected) obj.coinCollectedSignal.connect(Gamecontroller._on_coin_collected)
#Any time coin destroyed update game controller #Any time a coin is destroyed, let game controller know how many remain
if not obj.tree_exited.is_connected(updateCoins): if not obj.tree_exited.is_connected(updateCoins):
obj.tree_exited.connect(updateCoins) obj.tree_exited.connect(updateCoins)
#tell game controller!
Gamecontroller.totalCoins(totalCoins) Gamecontroller.totalCoins(totalCoins)
func updateTriggers()->void: func updateTriggers()->void:
@ -116,6 +107,8 @@ func bulletFactory()->Bullet :
myBullet = bullet.instantiate() myBullet = bullet.instantiate()
if not myBullet.bulletDamageSignal.is_connected(Gamecontroller.bulletDamage): if not myBullet.bulletDamageSignal.is_connected(Gamecontroller.bulletDamage):
myBullet.bulletDamageSignal.connect(Gamecontroller.bulletDamage) myBullet.bulletDamageSignal.connect(Gamecontroller.bulletDamage)
#Gamecontroller.add_child(myBullet)
#Gamecontroller is pure code now, so switch to add_sibling
add_sibling(myBullet) add_sibling(myBullet)
else: else:
myBullet = bulletArray.pop_back() myBullet = bulletArray.pop_back()

View File

@ -9,24 +9,33 @@ var speed:int = 100
var direction = 1 var direction = 1
signal slimeDamageSignal(body, slime) signal slimeDamageSignal(body, slime)
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
#Animation code
func _process(delta: float) -> void: # Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
#raycast detection
if not right_down_cast.is_colliding(): if not right_down_cast.is_colliding():
direction = -1 direction = -1
slime_graphic.flip_h = true slime_graphic.flip_h = true
if not left_down_cast.is_colliding(): if not left_down_cast.is_colliding():
direction = 1 direction = 1
slime_graphic.flip_h = false slime_graphic.flip_h = false
if right_cast.is_colliding() && not right_cast.get_collider() is Player: if right_cast.is_colliding() && not right_cast.get_collider() is Player:
direction = -1 direction = -1
slime_graphic.flip_h = true slime_graphic.flip_h = true
if left_cast.is_colliding() && not left_cast.get_collider() is Player: if left_cast.is_colliding() && not left_cast.get_collider() is Player:
direction = 1 direction = 1
slime_graphic.flip_h = false slime_graphic.flip_h = false
position.x += direction * speed * delta position.x += direction * speed * delta
func _on_body_entered(body: Node2D) -> void: func _on_body_entered(body):
if body is Player: if body is Player:
slimeDamageSignal.emit(body, self) slimeDamageSignal.emit(body, self)

View File

@ -1,16 +0,0 @@
class_name UI extends Control
@onready var health: Label = $VBoxContainer/HBoxContainer/MarginContainer/health
@onready var timer: Label = $VBoxContainer/HBoxContainer/MarginContainer2/timer
@onready var coins: Label = $VBoxContainer/HBoxContainer/MarginContainer3/coiins
func _ready() -> void:
health.text = "Hi MOM!"
func updateTimer(timerValue)->void:
timer.text = str(timerValue)
func updateHealth(healthValue, maxHealth)->void:
health.text = str(healthValue)
func updateCoins(collectedCoins, coinsRemaining)->void:
coins.text= str(collectedCoins)+" of "+str(coinsRemaining+collectedCoins)

View File

@ -1 +0,0 @@
uid://6tbvoaj20pws