add enemies, autoload, multilevels, coins
This commit is contained in:
parent
f20d4a2703
commit
84efe0ff37
BIN
assets/graphics/enemies/slime_green.png
Normal file
BIN
assets/graphics/enemies/slime_green.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 908 B |
40
assets/graphics/enemies/slime_green.png.import
Normal file
40
assets/graphics/enemies/slime_green.png.import
Normal file
@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c00c0x1qv83o1"
|
||||
path="res://.godot/imported/slime_green.png-5261ffd1254c816fe62b35227a9aa11d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/enemies/slime_green.png"
|
||||
dest_files=["res://.godot/imported/slime_green.png-5261ffd1254c816fe62b35227a9aa11d.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
|
||||
BIN
assets/graphics/environment/terrain/mushroom2.png
Normal file
BIN
assets/graphics/environment/terrain/mushroom2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.1 KiB |
40
assets/graphics/environment/terrain/mushroom2.png.import
Normal file
40
assets/graphics/environment/terrain/mushroom2.png.import
Normal file
@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c5al5emuqsd65"
|
||||
path="res://.godot/imported/mushroom2.png-608f3e649684b6403ee46b5c51e0a32c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/environment/terrain/mushroom2.png"
|
||||
dest_files=["res://.godot/imported/mushroom2.png-608f3e649684b6403ee46b5c51e0a32c.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
|
||||
BIN
assets/graphics/pickups/coin.png
Normal file
BIN
assets/graphics/pickups/coin.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 500 B |
40
assets/graphics/pickups/coin.png.import
Normal file
40
assets/graphics/pickups/coin.png.import
Normal file
@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://chiso4pse86ou"
|
||||
path="res://.godot/imported/coin.png-f0b33289d8d72c34d5a0c76da4c0f19c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/pickups/coin.png"
|
||||
dest_files=["res://.godot/imported/coin.png-f0b33289d8d72c34d5a0c76da4c0f19c.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
|
||||
@ -15,6 +15,10 @@ run/main_scene="uid://c2f5v136bbqod"
|
||||
config/features=PackedStringArray("4.6", "Forward Plus")
|
||||
config/icon="res://icon.svg"
|
||||
|
||||
[autoload]
|
||||
|
||||
Gamecontroller="*uid://dxubdt7nh5s1j"
|
||||
|
||||
[display]
|
||||
|
||||
window/size/viewport_width=480
|
||||
|
||||
@ -6,7 +6,6 @@
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_rtl8c"]
|
||||
|
||||
[node name="Bullet" type="Area2D" unique_id=1567847193]
|
||||
scale = Vector2(1, 0.5)
|
||||
script = ExtResource("1_mkf8s")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=492684522]
|
||||
@ -15,10 +14,11 @@ debug_color = Color(0.5263991, 0.42294088, 0.98291093, 0.41960785)
|
||||
|
||||
[node name="bulletGraphic" type="Sprite2D" parent="." unique_id=1977135539]
|
||||
texture_filter = 1
|
||||
position = Vector2(0.54708874, -2.4242325)
|
||||
position = Vector2(1.9999999, -0.9999999)
|
||||
rotation = 3.1390445
|
||||
scale = Vector2(0.24526763, 0.4321305)
|
||||
scale = Vector2(0.25, 0.441)
|
||||
texture = ExtResource("2_y25gk")
|
||||
offset = Vector2(34.748413, 22.20977)
|
||||
|
||||
[connection signal="area_entered" from="." to="." method="_on_area_entered"]
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
|
||||
114
scenes/coin.tscn
Normal file
114
scenes/coin.tscn
Normal file
@ -0,0 +1,114 @@
|
||||
[gd_scene format=3 uid="uid://dowh0cdyuldlp"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bojml668gpamd" path="res://scripts/coin.gd" id="1_i64fm"]
|
||||
[ext_resource type="Texture2D" uid="uid://chiso4pse86ou" path="res://assets/graphics/pickups/coin.png" id="1_rwqht"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_i64fm"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_11l1o"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_d14el"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1ikuy"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wnlwo"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(64, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jig8b"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(80, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xmuha"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(96, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kfxoj"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(112, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jsmju"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(128, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_s0mny"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(144, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7cc30"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(160, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_rojmm"]
|
||||
atlas = ExtResource("1_rwqht")
|
||||
region = Rect2(176, 0, 16, 16)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_ls27i"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_i64fm")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_11l1o")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_d14el")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1ikuy")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wnlwo")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jig8b")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xmuha")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kfxoj")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jsmju")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_s0mny")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7cc30")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_rojmm")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 12.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_ssuvv"]
|
||||
radius = 3.1622777
|
||||
|
||||
[node name="Coin" type="Area2D" unique_id=1558332439]
|
||||
script = ExtResource("1_i64fm")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=311224823]
|
||||
texture_filter = 1
|
||||
sprite_frames = SubResource("SpriteFrames_ls27i")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.19983049
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1300418811]
|
||||
shape = SubResource("CircleShape2D_ssuvv")
|
||||
debug_color = Color(0.2738139, 0.62764406, 0.23142225, 0.41960785)
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
@ -1,6 +1,5 @@
|
||||
[gd_scene format=4 uid="uid://c2f5v136bbqod"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dxubdt7nh5s1j" path="res://scripts/gameController.gd" id="1_lnu2h"]
|
||||
[ext_resource type="Script" uid="uid://qa1q5a2swlfc" path="res://scripts/scene_manager.gd" id="2_iywne"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6lw2go5mwk3h" path="res://scenes/crate.tscn" id="2_lbhrr"]
|
||||
[ext_resource type="Texture2D" uid="uid://c54wxruqqye2h" path="res://assets/graphics/environment/terrain/Terrain (32x32).png" id="3_gee14"]
|
||||
@ -13,6 +12,8 @@
|
||||
[ext_resource type="Texture2D" uid="uid://buoh8285vq3hr" path="res://assets/graphics/bg/trees.png" id="5_kvuet"]
|
||||
[ext_resource type="PackedScene" uid="uid://cp6dv18imsngd" path="res://scenes/bullet.tscn" id="6_p57ef"]
|
||||
[ext_resource type="PackedScene" uid="uid://bgi18lbutp5ui" path="res://scenes/npc_character.tscn" id="7_u5sy4"]
|
||||
[ext_resource type="PackedScene" uid="uid://dowh0cdyuldlp" path="res://scenes/coin.tscn" id="13_kvuet"]
|
||||
[ext_resource type="PackedScene" uid="uid://dkht2dvm4ob7d" path="res://scenes/slime.tscn" id="14_trtic"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0tnpc"]
|
||||
texture = ExtResource("3_gee14")
|
||||
@ -416,36 +417,37 @@ sources/3 = SubResource("TileSetAtlasSource_kvuet")
|
||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_iywne"]
|
||||
|
||||
[node name="Game" type="Node2D" unique_id=863075634]
|
||||
script = ExtResource("1_lnu2h")
|
||||
|
||||
[node name="SceneManager" type="Node2D" parent="." unique_id=1880010886]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("2_iywne")
|
||||
[node name="Background" type="Node2D" parent="." unique_id=31398946]
|
||||
|
||||
[node name="sky" type="Parallax2D" parent="." unique_id=1140695532]
|
||||
[node name="sky" type="Parallax2D" parent="Background" unique_id=1140695532]
|
||||
repeat_size = Vector2(480, 270)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="sky" unique_id=1206243069]
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Background/sky" unique_id=1206243069]
|
||||
texture = ExtResource("3_kvpfn")
|
||||
offset = Vector2(240, 135)
|
||||
|
||||
[node name="midground" type="Parallax2D" parent="." unique_id=1551602388]
|
||||
[node name="midground" type="Parallax2D" parent="Background" unique_id=1551602388]
|
||||
scroll_scale = Vector2(1.2, 1)
|
||||
repeat_size = Vector2(420, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="midground" unique_id=201876078]
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Background/midground" unique_id=201876078]
|
||||
position = Vector2(25, -139)
|
||||
texture = ExtResource("4_dinhu")
|
||||
offset = Vector2(240, 400)
|
||||
|
||||
[node name="trees" type="Parallax2D" parent="." unique_id=67746282]
|
||||
[node name="trees" type="Parallax2D" parent="Background" unique_id=67746282]
|
||||
repeat_size = Vector2(290, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="trees" unique_id=252675994]
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Background/trees" unique_id=252675994]
|
||||
position = Vector2(-140, -30)
|
||||
texture = ExtResource("5_kvuet")
|
||||
offset = Vector2(480, 270)
|
||||
|
||||
[node name="SceneManager" type="Node2D" parent="." unique_id=1880010886]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("2_iywne")
|
||||
|
||||
[node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=1424394379]
|
||||
texture_filter = 1
|
||||
tile_map_data = PackedByteArray("AAAOAAIAAQAAAAQAAAAPAAIAAQACAAQAAAAQAAIAAQABAAQAAAARAAIAAQACAAQAAAAUAAMAAQAAAAAAAAAUAAQAAQAAAAEAAAAUAAUAAQAAAAEAAAAUAAYAAQAAAAIAAAAVAAMAAQABAAAAAAAVAAQAAQABAAEAAAAVAAUAAQABAAEAAAAVAAYAAQAKAAQAAAAWAAMAAQABAAAAAAAWAAQAAQABAAEAAAAWAAUAAQABAAEAAAAWAAYAAQABAAIAAAAXAAMAAQABAAAAAAAXAAQAAQABAAEAAAAXAAUAAQACAAEAAAAXAAYAAQACAAIAAAAYAAMAAQABAAAAAAAYAAQAAQABAAIAAAAZAAMAAQABAAAAAAAZAAQAAQABAAIAAAAaAAMAAQACAAAAAAAaAAQAAQACAAIAAAD//wEAAQAEAAAAAAD//wIAAQAEAAEAAAD//wMAAQAEAAEAAAD//wQAAQAEAAEAAAD//wUAAQAEAAEAAAD//wYAAQAEAAEAAAD//wcAAQAEAAEAAAD//wgAAQAEAAEAAAD//wkAAQAEAAIAAAAQAAUAAQAEAAQAAAAIAAYAAQAEAAQAAAAJAAYAAQAEAAQAAAAKAAYAAQAEAAQAAAALAAYAAQAEAAQAAAAMAAYAAQAEAAQAAAANAAYAAQAEAAAAAAAMAAUAAwAAAAAAAAAQAAQAAwAAAAAAAAAOAAEAAwAAAAAAAAAPAAEAAwAAAAAAAAAUAAIAAwAAAAAAAAAVAAIAAwAAAAAAAAAWAAIAAwAAAAAAAAAXAAIAAwAAAAAAAAAaAAIAAgAAAAEAAAAaAAEAAgAAAAAAAAA=")
|
||||
@ -470,15 +472,15 @@ effect = "powerup"
|
||||
[node name="Crates" type="Node2D" parent="." unique_id=670229137]
|
||||
|
||||
[node name="Crate" parent="Crates" unique_id=289536100 instance=ExtResource("2_lbhrr")]
|
||||
position = Vector2(526, 120)
|
||||
position = Vector2(529, 115)
|
||||
scale = Vector2(0.99999994, 0.99999994)
|
||||
|
||||
[node name="Crate2" parent="Crates" unique_id=1758294520 instance=ExtResource("2_lbhrr")]
|
||||
position = Vector2(382, 96.999985)
|
||||
position = Vector2(389, 274)
|
||||
scale = Vector2(0.99999994, 0.99999994)
|
||||
|
||||
[node name="Crate3" parent="Crates" unique_id=161286893 instance=ExtResource("2_lbhrr")]
|
||||
position = Vector2(354, 114)
|
||||
position = Vector2(328, 282)
|
||||
scale = Vector2(0.99999994, 0.99999994)
|
||||
|
||||
[node name="Level" type="Node2D" parent="." unique_id=2000617151]
|
||||
@ -496,3 +498,22 @@ position = Vector2(256, 130)
|
||||
|
||||
[node name="NPCCharacter" parent="." unique_id=832040226 instance=ExtResource("7_u5sy4")]
|
||||
position = Vector2(219, 169)
|
||||
|
||||
[node name="Coins" type="Node2D" parent="." unique_id=847273755]
|
||||
|
||||
[node name="Coin" parent="Coins" unique_id=1558332439 instance=ExtResource("13_kvuet")]
|
||||
position = Vector2(418, 171)
|
||||
|
||||
[node name="Coin2" parent="Coins" unique_id=1894415990 instance=ExtResource("13_kvuet")]
|
||||
position = Vector2(478, 375)
|
||||
|
||||
[node name="Coin3" parent="Coins" unique_id=1671838530 instance=ExtResource("13_kvuet")]
|
||||
position = Vector2(536, 373)
|
||||
|
||||
[node name="Slimes" type="Node2D" parent="." unique_id=2025156789]
|
||||
|
||||
[node name="Slime" parent="Slimes" unique_id=305880172 instance=ExtResource("14_trtic")]
|
||||
position = Vector2(421, 180)
|
||||
|
||||
[node name="Slime2" parent="Slimes" unique_id=1749452870 instance=ExtResource("14_trtic")]
|
||||
position = Vector2(528, 143)
|
||||
|
||||
498
scenes/level2.tscn
Normal file
498
scenes/level2.tscn
Normal file
@ -0,0 +1,498 @@
|
||||
[gd_scene format=4 uid="uid://b55m034wxs2j0"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://qa1q5a2swlfc" path="res://scripts/scene_manager.gd" id="1_8g4ke"]
|
||||
[ext_resource type="Texture2D" uid="uid://2ahc27bncin6" path="res://assets/graphics/bg/sky.png" id="2_56gwk"]
|
||||
[ext_resource type="Texture2D" uid="uid://bew07kdk0d27g" path="res://assets/graphics/bg/mountain.png" id="3_ve5ok"]
|
||||
[ext_resource type="Texture2D" uid="uid://buoh8285vq3hr" path="res://assets/graphics/bg/trees.png" id="4_cleqw"]
|
||||
[ext_resource type="Texture2D" uid="uid://c54wxruqqye2h" path="res://assets/graphics/environment/terrain/Terrain (32x32).png" id="5_wvb8j"]
|
||||
[ext_resource type="Texture2D" uid="uid://ssc8drrfnu72" path="res://assets/graphics/environment/terrain/mushroom_32x64.png" id="6_g8vcy"]
|
||||
[ext_resource type="Texture2D" uid="uid://6jv2l35y03f" path="res://assets/graphics/environment/terrain/veg_32x32.png" id="7_cqal4"]
|
||||
[ext_resource type="PackedScene" uid="uid://s0utas3jmhjk" path="res://scenes/player.tscn" id="8_o3sye"]
|
||||
[ext_resource type="PackedScene" uid="uid://bf50mxdma8wq4" path="res://scenes/trigger.tscn" id="9_24ks5"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6lw2go5mwk3h" path="res://scenes/crate.tscn" id="10_s4es8"]
|
||||
[ext_resource type="PackedScene" uid="uid://cp6dv18imsngd" path="res://scenes/bullet.tscn" id="11_63e4f"]
|
||||
[ext_resource type="PackedScene" uid="uid://bgi18lbutp5ui" path="res://scenes/npc_character.tscn" id="12_y6lc1"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0tnpc"]
|
||||
texture = ExtResource("5_wvb8j")
|
||||
texture_region_size = Vector2i(32, 32)
|
||||
0:0/0 = 0
|
||||
0:0/0/terrain_set = 0
|
||||
0:0/0/terrain = 0
|
||||
0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
0:0/0/terrains_peering_bit/right_side = 0
|
||||
0:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
0:0/0/terrains_peering_bit/bottom_side = 0
|
||||
1:0/0 = 0
|
||||
1:0/0/terrain_set = 0
|
||||
1:0/0/terrain = 0
|
||||
1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
1:0/0/terrains_peering_bit/right_side = 0
|
||||
1:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
1:0/0/terrains_peering_bit/bottom_side = 0
|
||||
1:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
1:0/0/terrains_peering_bit/left_side = 0
|
||||
2:0/0 = 0
|
||||
2:0/0/terrain_set = 0
|
||||
2:0/0/terrain = 0
|
||||
2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
2:0/0/terrains_peering_bit/bottom_side = 0
|
||||
2:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
2:0/0/terrains_peering_bit/left_side = 0
|
||||
4:0/0 = 0
|
||||
4:0/0/terrain_set = 0
|
||||
4:0/0/terrain = 0
|
||||
4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
4:0/0/terrains_peering_bit/bottom_side = 0
|
||||
6:0/0 = 0
|
||||
6:0/0/terrain_set = 0
|
||||
6:0/0/terrain = 0
|
||||
6:0/0/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
|
||||
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.63726044, -16, 0.31863022, 16, -16, 16)
|
||||
0:1/0/terrains_peering_bit/right_side = 0
|
||||
0:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
0:1/0/terrains_peering_bit/bottom_side = 0
|
||||
0:1/0/terrains_peering_bit/top_side = 0
|
||||
0:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
1:1/0 = 0
|
||||
1:1/0/terrain_set = 0
|
||||
1:1/0/terrain = 0
|
||||
1:1/0/terrains_peering_bit/right_side = 0
|
||||
1:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
1:1/0/terrains_peering_bit/bottom_side = 0
|
||||
1:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
1:1/0/terrains_peering_bit/left_side = 0
|
||||
1:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
1:1/0/terrains_peering_bit/top_side = 0
|
||||
1:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
2:1/0 = 0
|
||||
2:1/0/terrain_set = 0
|
||||
2:1/0/terrain = 0
|
||||
2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(0.63726044, -16, 16, -16, 16, 16, 0.31863022, 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, 16)
|
||||
0:2/0/terrains_peering_bit/right_side = 0
|
||||
0:2/0/terrains_peering_bit/top_side = 0
|
||||
0:2/0/terrains_peering_bit/top_right_corner = 0
|
||||
1:2/0 = 0
|
||||
1:2/0/terrain_set = 0
|
||||
1:2/0/terrain = 0
|
||||
1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 0.31863022, 16, 0, 16, 16, -16, 16)
|
||||
1:2/0/terrains_peering_bit/right_side = 0
|
||||
1:2/0/terrains_peering_bit/left_side = 0
|
||||
1:2/0/terrains_peering_bit/top_left_corner = 0
|
||||
1:2/0/terrains_peering_bit/top_side = 0
|
||||
1:2/0/terrains_peering_bit/top_right_corner = 0
|
||||
2:2/0 = 0
|
||||
2:2/0/terrain_set = 0
|
||||
2:2/0/terrain = 0
|
||||
2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
2:2/0/terrains_peering_bit/left_side = 0
|
||||
2:2/0/terrains_peering_bit/top_left_corner = 0
|
||||
2:2/0/terrains_peering_bit/top_side = 0
|
||||
4:2/0 = 0
|
||||
4:2/0/terrain_set = 0
|
||||
4:2/0/terrain = 0
|
||||
4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 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, -1.2745247, -16, -1.2745247, 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, -4.1422005, -16, -3.8235683)
|
||||
9:3/0/terrains_peering_bit/right_side = 0
|
||||
9:3/0/terrains_peering_bit/bottom_right_corner = 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, -4.1422005, -16, -3.8235683)
|
||||
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/bottom_left_corner = 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/bottom_right_corner = 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, 13.701122, -13.382492, 16)
|
||||
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, -1.2745247, -16, -1.2745247, 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, 1.9117851, 16, 2.2304153, 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
|
||||
9:4/0/terrains_peering_bit/top_right_corner = 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, 1.9117851, 16, 2.2304153, 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_left_corner = 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, -13.382492, 13.063862)
|
||||
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_dinhu"]
|
||||
texture = ExtResource("6_g8vcy")
|
||||
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_kvuet"]
|
||||
texture = ExtResource("7_cqal4")
|
||||
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_vtaks"]
|
||||
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"
|
||||
terrain_set_0/terrain_1/color = Color(0.5, 0.4375, 0.25, 1)
|
||||
sources/1 = SubResource("TileSetAtlasSource_0tnpc")
|
||||
sources/2 = SubResource("TileSetAtlasSource_dinhu")
|
||||
sources/3 = SubResource("TileSetAtlasSource_kvuet")
|
||||
|
||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_iywne"]
|
||||
|
||||
[node name="Game" type="Node2D" unique_id=863075634]
|
||||
|
||||
[node name="Background" type="Node2D" parent="." unique_id=31398946]
|
||||
|
||||
[node name="sky" type="Parallax2D" parent="Background" unique_id=1140695532]
|
||||
repeat_size = Vector2(480, 270)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Background/sky" unique_id=1206243069]
|
||||
texture = ExtResource("2_56gwk")
|
||||
offset = Vector2(240, 135)
|
||||
|
||||
[node name="midground" type="Parallax2D" parent="Background" unique_id=1551602388]
|
||||
scroll_scale = Vector2(1.2, 1)
|
||||
repeat_size = Vector2(420, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Background/midground" unique_id=201876078]
|
||||
position = Vector2(25, -139)
|
||||
texture = ExtResource("3_ve5ok")
|
||||
offset = Vector2(240, 400)
|
||||
|
||||
[node name="trees" type="Parallax2D" parent="Background" unique_id=67746282]
|
||||
repeat_size = Vector2(290, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Background/trees" unique_id=252675994]
|
||||
position = Vector2(-140, -30)
|
||||
texture = ExtResource("4_cleqw")
|
||||
offset = Vector2(480, 270)
|
||||
|
||||
[node name="SceneManager" type="Node2D" parent="." unique_id=1880010886]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("1_8g4ke")
|
||||
|
||||
[node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=1424394379]
|
||||
texture_filter = 1
|
||||
tile_map_data = PackedByteArray("AAAOAAIAAQAAAAQAAAAPAAIAAQACAAQAAAAQAAIAAQABAAQAAAARAAIAAQACAAQAAAAUAAMAAQAAAAAAAAAUAAQAAQAAAAEAAAAUAAUAAQAAAAEAAAAUAAYAAQAAAAIAAAAVAAMAAQABAAAAAAAVAAQAAQABAAEAAAAVAAUAAQABAAEAAAAVAAYAAQAKAAQAAAAWAAMAAQABAAAAAAAWAAQAAQABAAEAAAAWAAUAAQABAAEAAAAWAAYAAQABAAIAAAAXAAMAAQABAAAAAAAXAAQAAQABAAEAAAAXAAUAAQACAAEAAAAXAAYAAQACAAIAAAAYAAMAAQABAAAAAAAYAAQAAQABAAIAAAAZAAMAAQABAAAAAAAZAAQAAQABAAIAAAAaAAMAAQACAAAAAAAaAAQAAQACAAIAAAD//wEAAQAEAAAAAAD//wIAAQAEAAEAAAD//wMAAQAEAAEAAAD//wQAAQAEAAEAAAD//wUAAQAEAAEAAAD//wYAAQAEAAEAAAD//wcAAQAEAAEAAAD//wgAAQAEAAEAAAD//wkAAQAEAAIAAAAQAAUAAQAEAAQAAAAIAAYAAQAEAAQAAAAJAAYAAQAEAAQAAAAKAAYAAQAEAAQAAAALAAYAAQAEAAQAAAAMAAYAAQAEAAQAAAANAAYAAQAEAAAAAAAMAAUAAwAAAAAAAAAQAAQAAwAAAAAAAAAOAAEAAwAAAAAAAAAPAAEAAwAAAAAAAAAUAAIAAwAAAAAAAAAVAAIAAwAAAAAAAAAWAAIAAwAAAAAAAAAXAAIAAwAAAAAAAAAaAAIAAgAAAAEAAAAaAAEAAgAAAAAAAAAZAAIAAgAAAAEAAAAZAAEAAgAAAAAAAAA=")
|
||||
tile_set = SubResource("TileSet_vtaks")
|
||||
|
||||
[node name="Player" parent="." unique_id=1109630338 instance=ExtResource("8_o3sye")]
|
||||
position = Vector2(326, 174)
|
||||
|
||||
[node name="Triggers" type="Node2D" parent="." unique_id=824433282]
|
||||
|
||||
[node name="Trigger" parent="Triggers" unique_id=1432397495 instance=ExtResource("9_24ks5")]
|
||||
position = Vector2(500, 295)
|
||||
|
||||
[node name="Trigger2" parent="Triggers" unique_id=528038205 instance=ExtResource("9_24ks5")]
|
||||
position = Vector2(196, 297)
|
||||
effect = "teleport"
|
||||
|
||||
[node name="Trigger3" parent="Triggers" unique_id=516097243 instance=ExtResource("9_24ks5")]
|
||||
position = Vector2(287, 54)
|
||||
effect = "powerup"
|
||||
|
||||
[node name="Crates" type="Node2D" parent="." unique_id=670229137]
|
||||
|
||||
[node name="Crate" parent="Crates" unique_id=289536100 instance=ExtResource("10_s4es8")]
|
||||
position = Vector2(526, 120)
|
||||
scale = Vector2(0.99999994, 0.99999994)
|
||||
|
||||
[node name="Crate2" parent="Crates" unique_id=1758294520 instance=ExtResource("10_s4es8")]
|
||||
position = Vector2(382, 96.999985)
|
||||
scale = Vector2(0.99999994, 0.99999994)
|
||||
|
||||
[node name="Crate3" parent="Crates" unique_id=161286893 instance=ExtResource("10_s4es8")]
|
||||
position = Vector2(354, 114)
|
||||
scale = Vector2(0.99999994, 0.99999994)
|
||||
|
||||
[node name="Level" type="Node2D" parent="." unique_id=2000617151]
|
||||
|
||||
[node name="StaticBody2D2" type="StaticBody2D" parent="Level" unique_id=531572601]
|
||||
position = Vector2(363, 399)
|
||||
scale = Vector2(1.4, 2.2)
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Level/StaticBody2D2" unique_id=237256227]
|
||||
shape = SubResource("WorldBoundaryShape2D_iywne")
|
||||
|
||||
[node name="Bullet" parent="." unique_id=1567847193 instance=ExtResource("11_63e4f")]
|
||||
position = Vector2(256, 130)
|
||||
|
||||
[node name="NPCCharacter" parent="." unique_id=832040226 instance=ExtResource("12_y6lc1")]
|
||||
position = Vector2(219, 169)
|
||||
498
scenes/level3.tscn
Normal file
498
scenes/level3.tscn
Normal file
@ -0,0 +1,498 @@
|
||||
[gd_scene format=4 uid="uid://cjbgll66453s"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://qa1q5a2swlfc" path="res://scripts/scene_manager.gd" id="1_qewby"]
|
||||
[ext_resource type="Texture2D" uid="uid://2ahc27bncin6" path="res://assets/graphics/bg/sky.png" id="2_bradm"]
|
||||
[ext_resource type="Texture2D" uid="uid://bew07kdk0d27g" path="res://assets/graphics/bg/mountain.png" id="3_got4s"]
|
||||
[ext_resource type="Texture2D" uid="uid://buoh8285vq3hr" path="res://assets/graphics/bg/trees.png" id="4_e40mx"]
|
||||
[ext_resource type="Texture2D" uid="uid://c54wxruqqye2h" path="res://assets/graphics/environment/terrain/Terrain (32x32).png" id="5_a114e"]
|
||||
[ext_resource type="Texture2D" uid="uid://ssc8drrfnu72" path="res://assets/graphics/environment/terrain/mushroom_32x64.png" id="6_y1e0c"]
|
||||
[ext_resource type="Texture2D" uid="uid://6jv2l35y03f" path="res://assets/graphics/environment/terrain/veg_32x32.png" id="7_s4dsi"]
|
||||
[ext_resource type="PackedScene" uid="uid://s0utas3jmhjk" path="res://scenes/player.tscn" id="8_07lh1"]
|
||||
[ext_resource type="PackedScene" uid="uid://bf50mxdma8wq4" path="res://scenes/trigger.tscn" id="9_6uuvf"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6lw2go5mwk3h" path="res://scenes/crate.tscn" id="10_x008a"]
|
||||
[ext_resource type="PackedScene" uid="uid://cp6dv18imsngd" path="res://scenes/bullet.tscn" id="11_atr84"]
|
||||
[ext_resource type="PackedScene" uid="uid://bgi18lbutp5ui" path="res://scenes/npc_character.tscn" id="12_qyu38"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0tnpc"]
|
||||
texture = ExtResource("5_a114e")
|
||||
texture_region_size = Vector2i(32, 32)
|
||||
0:0/0 = 0
|
||||
0:0/0/terrain_set = 0
|
||||
0:0/0/terrain = 0
|
||||
0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
0:0/0/terrains_peering_bit/right_side = 0
|
||||
0:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
0:0/0/terrains_peering_bit/bottom_side = 0
|
||||
1:0/0 = 0
|
||||
1:0/0/terrain_set = 0
|
||||
1:0/0/terrain = 0
|
||||
1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
1:0/0/terrains_peering_bit/right_side = 0
|
||||
1:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
1:0/0/terrains_peering_bit/bottom_side = 0
|
||||
1:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
1:0/0/terrains_peering_bit/left_side = 0
|
||||
2:0/0 = 0
|
||||
2:0/0/terrain_set = 0
|
||||
2:0/0/terrain = 0
|
||||
2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
2:0/0/terrains_peering_bit/bottom_side = 0
|
||||
2:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
2:0/0/terrains_peering_bit/left_side = 0
|
||||
4:0/0 = 0
|
||||
4:0/0/terrain_set = 0
|
||||
4:0/0/terrain = 0
|
||||
4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
4:0/0/terrains_peering_bit/bottom_side = 0
|
||||
6:0/0 = 0
|
||||
6:0/0/terrain_set = 0
|
||||
6:0/0/terrain = 0
|
||||
6:0/0/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
|
||||
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.63726044, -16, 0.31863022, 16, -16, 16)
|
||||
0:1/0/terrains_peering_bit/right_side = 0
|
||||
0:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
0:1/0/terrains_peering_bit/bottom_side = 0
|
||||
0:1/0/terrains_peering_bit/top_side = 0
|
||||
0:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
1:1/0 = 0
|
||||
1:1/0/terrain_set = 0
|
||||
1:1/0/terrain = 0
|
||||
1:1/0/terrains_peering_bit/right_side = 0
|
||||
1:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
1:1/0/terrains_peering_bit/bottom_side = 0
|
||||
1:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
1:1/0/terrains_peering_bit/left_side = 0
|
||||
1:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
1:1/0/terrains_peering_bit/top_side = 0
|
||||
1:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
2:1/0 = 0
|
||||
2:1/0/terrain_set = 0
|
||||
2:1/0/terrain = 0
|
||||
2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(0.63726044, -16, 16, -16, 16, 16, 0.31863022, 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, 16)
|
||||
0:2/0/terrains_peering_bit/right_side = 0
|
||||
0:2/0/terrains_peering_bit/top_side = 0
|
||||
0:2/0/terrains_peering_bit/top_right_corner = 0
|
||||
1:2/0 = 0
|
||||
1:2/0/terrain_set = 0
|
||||
1:2/0/terrain = 0
|
||||
1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 0.31863022, 16, 0, 16, 16, -16, 16)
|
||||
1:2/0/terrains_peering_bit/right_side = 0
|
||||
1:2/0/terrains_peering_bit/left_side = 0
|
||||
1:2/0/terrains_peering_bit/top_left_corner = 0
|
||||
1:2/0/terrains_peering_bit/top_side = 0
|
||||
1:2/0/terrains_peering_bit/top_right_corner = 0
|
||||
2:2/0 = 0
|
||||
2:2/0/terrain_set = 0
|
||||
2:2/0/terrain = 0
|
||||
2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
2:2/0/terrains_peering_bit/left_side = 0
|
||||
2:2/0/terrains_peering_bit/top_left_corner = 0
|
||||
2:2/0/terrains_peering_bit/top_side = 0
|
||||
4:2/0 = 0
|
||||
4:2/0/terrain_set = 0
|
||||
4:2/0/terrain = 0
|
||||
4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 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, -1.2745247, -16, -1.2745247, 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, -4.1422005, -16, -3.8235683)
|
||||
9:3/0/terrains_peering_bit/right_side = 0
|
||||
9:3/0/terrains_peering_bit/bottom_right_corner = 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, -4.1422005, -16, -3.8235683)
|
||||
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/bottom_left_corner = 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/bottom_right_corner = 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, 13.701122, -13.382492, 16)
|
||||
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, -1.2745247, -16, -1.2745247, 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, 1.9117851, 16, 2.2304153, 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
|
||||
9:4/0/terrains_peering_bit/top_right_corner = 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, 1.9117851, 16, 2.2304153, 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_left_corner = 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, -13.382492, 13.063862)
|
||||
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_dinhu"]
|
||||
texture = ExtResource("6_y1e0c")
|
||||
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_kvuet"]
|
||||
texture = ExtResource("7_s4dsi")
|
||||
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_vtaks"]
|
||||
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"
|
||||
terrain_set_0/terrain_1/color = Color(0.5, 0.4375, 0.25, 1)
|
||||
sources/1 = SubResource("TileSetAtlasSource_0tnpc")
|
||||
sources/2 = SubResource("TileSetAtlasSource_dinhu")
|
||||
sources/3 = SubResource("TileSetAtlasSource_kvuet")
|
||||
|
||||
[sub_resource type="WorldBoundaryShape2D" id="WorldBoundaryShape2D_iywne"]
|
||||
|
||||
[node name="Game" type="Node2D" unique_id=863075634]
|
||||
|
||||
[node name="Background" type="Node2D" parent="." unique_id=31398946]
|
||||
|
||||
[node name="sky" type="Parallax2D" parent="Background" unique_id=1140695532]
|
||||
repeat_size = Vector2(480, 270)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Background/sky" unique_id=1206243069]
|
||||
texture = ExtResource("2_bradm")
|
||||
offset = Vector2(240, 135)
|
||||
|
||||
[node name="midground" type="Parallax2D" parent="Background" unique_id=1551602388]
|
||||
scroll_scale = Vector2(1.2, 1)
|
||||
repeat_size = Vector2(420, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Background/midground" unique_id=201876078]
|
||||
position = Vector2(25, -139)
|
||||
texture = ExtResource("3_got4s")
|
||||
offset = Vector2(240, 400)
|
||||
|
||||
[node name="trees" type="Parallax2D" parent="Background" unique_id=67746282]
|
||||
repeat_size = Vector2(290, 0)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Background/trees" unique_id=252675994]
|
||||
position = Vector2(-140, -30)
|
||||
texture = ExtResource("4_e40mx")
|
||||
offset = Vector2(480, 270)
|
||||
|
||||
[node name="SceneManager" type="Node2D" parent="." unique_id=1880010886]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("1_qewby")
|
||||
|
||||
[node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=1424394379]
|
||||
texture_filter = 1
|
||||
tile_map_data = PackedByteArray("AAAOAAIAAQAAAAQAAAAPAAIAAQACAAQAAAAQAAIAAQABAAQAAAARAAIAAQACAAQAAAAUAAMAAQAAAAAAAAAUAAQAAQAAAAEAAAAUAAUAAQAAAAEAAAAUAAYAAQAAAAIAAAAVAAMAAQABAAAAAAAVAAQAAQABAAEAAAAVAAUAAQABAAEAAAAVAAYAAQAKAAQAAAAWAAMAAQABAAAAAAAWAAQAAQABAAEAAAAWAAUAAQABAAEAAAAWAAYAAQABAAIAAAAXAAMAAQABAAAAAAAXAAQAAQABAAEAAAAXAAUAAQACAAEAAAAXAAYAAQACAAIAAAAYAAMAAQABAAAAAAAYAAQAAQABAAIAAAAZAAMAAQABAAAAAAAZAAQAAQABAAIAAAAaAAMAAQACAAAAAAAaAAQAAQACAAIAAAD//wEAAQAEAAAAAAD//wIAAQAEAAEAAAD//wMAAQAEAAEAAAD//wQAAQAEAAEAAAD//wUAAQAEAAEAAAD//wYAAQAEAAEAAAD//wcAAQAEAAEAAAD//wgAAQAEAAEAAAD//wkAAQAEAAIAAAAQAAUAAQAEAAQAAAAIAAYAAQAEAAQAAAAJAAYAAQAEAAQAAAAKAAYAAQAEAAQAAAALAAYAAQAEAAQAAAAMAAYAAQAEAAQAAAANAAYAAQAEAAAAAAAMAAUAAwAAAAAAAAAQAAQAAwAAAAAAAAAOAAEAAwAAAAAAAAAPAAEAAwAAAAAAAAAUAAIAAwAAAAAAAAAVAAIAAwAAAAAAAAAWAAIAAwAAAAAAAAAXAAIAAwAAAAAAAAAaAAIAAgAAAAEAAAAaAAEAAgAAAAAAAAAZAAIAAgAAAAEAAAAZAAEAAgAAAAAAAAAYAAIAAgAAAAEAAAAYAAEAAgAAAAAAAAA=")
|
||||
tile_set = SubResource("TileSet_vtaks")
|
||||
|
||||
[node name="Player" parent="." unique_id=1109630338 instance=ExtResource("8_07lh1")]
|
||||
position = Vector2(326, 174)
|
||||
|
||||
[node name="Triggers" type="Node2D" parent="." unique_id=824433282]
|
||||
|
||||
[node name="Trigger" parent="Triggers" unique_id=1432397495 instance=ExtResource("9_6uuvf")]
|
||||
position = Vector2(500, 295)
|
||||
|
||||
[node name="Trigger2" parent="Triggers" unique_id=528038205 instance=ExtResource("9_6uuvf")]
|
||||
position = Vector2(196, 297)
|
||||
effect = "teleport"
|
||||
|
||||
[node name="Trigger3" parent="Triggers" unique_id=516097243 instance=ExtResource("9_6uuvf")]
|
||||
position = Vector2(287, 54)
|
||||
effect = "powerup"
|
||||
|
||||
[node name="Crates" type="Node2D" parent="." unique_id=670229137]
|
||||
|
||||
[node name="Crate" parent="Crates" unique_id=289536100 instance=ExtResource("10_x008a")]
|
||||
position = Vector2(526, 120)
|
||||
scale = Vector2(0.99999994, 0.99999994)
|
||||
|
||||
[node name="Crate2" parent="Crates" unique_id=1758294520 instance=ExtResource("10_x008a")]
|
||||
position = Vector2(382, 96.999985)
|
||||
scale = Vector2(0.99999994, 0.99999994)
|
||||
|
||||
[node name="Crate3" parent="Crates" unique_id=161286893 instance=ExtResource("10_x008a")]
|
||||
position = Vector2(354, 114)
|
||||
scale = Vector2(0.99999994, 0.99999994)
|
||||
|
||||
[node name="Level" type="Node2D" parent="." unique_id=2000617151]
|
||||
|
||||
[node name="StaticBody2D2" type="StaticBody2D" parent="Level" unique_id=531572601]
|
||||
position = Vector2(363, 399)
|
||||
scale = Vector2(1.4, 2.2)
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Level/StaticBody2D2" unique_id=237256227]
|
||||
shape = SubResource("WorldBoundaryShape2D_iywne")
|
||||
|
||||
[node name="Bullet" parent="." unique_id=1567847193 instance=ExtResource("11_atr84")]
|
||||
position = Vector2(256, 130)
|
||||
|
||||
[node name="NPCCharacter" parent="." unique_id=832040226 instance=ExtResource("12_qyu38")]
|
||||
position = Vector2(219, 169)
|
||||
@ -200,5 +200,6 @@ animation = &"jumping"
|
||||
autoplay = "idle"
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="." unique_id=796536564]
|
||||
zoom = Vector2(0.6, 0.6)
|
||||
|
||||
[connection signal="animation_finished" from="PlayerGraphic" to="." method="_on_animation_finished"]
|
||||
|
||||
78
scenes/slime.tscn
Normal file
78
scenes/slime.tscn
Normal file
@ -0,0 +1,78 @@
|
||||
[gd_scene format=3 uid="uid://dkht2dvm4ob7d"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://c00c0x1qv83o1" path="res://assets/graphics/enemies/slime_green.png" id="1_371uh"]
|
||||
[ext_resource type="Script" uid="uid://8iya0pgh6sfe" path="res://scripts/slime.gd" id="1_p2gj0"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_p2gj0"]
|
||||
radius = 4.8021874
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_n6pvg"]
|
||||
atlas = ExtResource("1_371uh")
|
||||
region = Rect2(0, 24, 24, 24)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_pjw23"]
|
||||
atlas = ExtResource("1_371uh")
|
||||
region = Rect2(24, 24, 24, 24)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2npkn"]
|
||||
atlas = ExtResource("1_371uh")
|
||||
region = Rect2(48, 24, 24, 24)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fd6lc"]
|
||||
atlas = ExtResource("1_371uh")
|
||||
region = Rect2(72, 24, 24, 24)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_gstla"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_n6pvg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_pjw23")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2npkn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fd6lc")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 12.0
|
||||
}]
|
||||
|
||||
[node name="Slime" type="Area2D" unique_id=305880172]
|
||||
script = ExtResource("1_p2gj0")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=647585054]
|
||||
position = Vector2(0, 3)
|
||||
scale = Vector2(1.0655605, -0.97931033)
|
||||
shape = SubResource("CircleShape2D_p2gj0")
|
||||
|
||||
[node name="SlimeGraphic" type="AnimatedSprite2D" parent="." unique_id=1679150105]
|
||||
texture_filter = 1
|
||||
position = Vector2(-1, -1)
|
||||
sprite_frames = SubResource("SpriteFrames_gstla")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.7351196
|
||||
|
||||
[node name="RightCast" type="RayCast2D" parent="." unique_id=575609518]
|
||||
visible = false
|
||||
target_position = Vector2(14, 0)
|
||||
|
||||
[node name="LeftCast" type="RayCast2D" parent="." unique_id=821553577]
|
||||
visible = false
|
||||
target_position = Vector2(-15, 1)
|
||||
|
||||
[node name="RightDownCast" type="RayCast2D" parent="." unique_id=673145016]
|
||||
visible = false
|
||||
position = Vector2(6, 1)
|
||||
target_position = Vector2(0, 11)
|
||||
|
||||
[node name="LeftDownCast" type="RayCast2D" parent="." unique_id=1253465642]
|
||||
visible = false
|
||||
position = Vector2(-8, 0)
|
||||
target_position = Vector2(0, 12)
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
@ -24,3 +24,7 @@ func _process(delta: float) -> void:
|
||||
|
||||
func _on_body_entered(body: Node2D) -> void:
|
||||
bulletDamageSignal.emit(body,self)
|
||||
|
||||
|
||||
func _on_area_entered(area: Area2D) -> void:
|
||||
bulletDamageSignal.emit(area,self)
|
||||
|
||||
12
scripts/coin.gd
Normal file
12
scripts/coin.gd
Normal file
@ -0,0 +1,12 @@
|
||||
class_name Coin extends Area2D
|
||||
|
||||
signal coinCollectedSignal(body, coin)
|
||||
|
||||
|
||||
|
||||
func _on_body_entered(body: Node2D) -> void:
|
||||
if body is Player:
|
||||
coinCollectedSignal.emit(body,self)
|
||||
|
||||
|
||||
|
||||
1
scripts/coin.gd.uid
Normal file
1
scripts/coin.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://bojml668gpamd
|
||||
@ -8,6 +8,18 @@ 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 playerHealth=100
|
||||
var playerStartingHealth =100
|
||||
|
||||
var enemiesDict={}
|
||||
|
||||
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
@ -17,12 +29,16 @@ func _ready() -> void:
|
||||
timer.one_shot=false
|
||||
timer.connect("timeout", secondCounter)
|
||||
timer.start()
|
||||
|
||||
func reset() -> void:
|
||||
timeAvailable =timers[currentLevel]
|
||||
playerHealth=playerStartingHealth
|
||||
|
||||
func secondCounter()-> void:
|
||||
timeAvailable -=1
|
||||
if timeAvailable <=0:
|
||||
print("YOU LOSE!!")
|
||||
levelChangeSignal.emit(currentScene)
|
||||
levelChangeSignal.emit(levels[currentLevel])
|
||||
|
||||
|
||||
|
||||
@ -59,19 +75,53 @@ func crateUpdate(cratesAmount) ->void:
|
||||
print("GC updated crates: " +str(crateTotal))
|
||||
if crateTotal <=0:
|
||||
print("you win")
|
||||
levelChangeSignal.emit(currentScene)
|
||||
currentLevel +=1
|
||||
if currentLevel >= levels.size():
|
||||
currentLevel=0
|
||||
levelChangeSignal.emit(levels[currentLevel])
|
||||
|
||||
func bulletDamage(body:Node2D,bullet:Bullet) -> void:
|
||||
if body is Crate:
|
||||
# destroy Crate
|
||||
destroySignal.emit(body)
|
||||
destroySignal.emit(bullet)
|
||||
if body is Slime:
|
||||
enemiesDict[body]["health"] -=10
|
||||
if enemiesDict[body]["health"] <=0:
|
||||
destroySignal.emit(body)
|
||||
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 coin remaining " + str(value))
|
||||
if value <=0:
|
||||
# no coins left in level
|
||||
levelChangeSignal.emit(levels[currentLevel])
|
||||
|
||||
func _on_slime_damage(body:Node2D, slime:Slime) -> void:
|
||||
playerHealth -=enemiesDict[slime]["damage"]
|
||||
print("GC knows damage "+str(enemiesDict[slime]["damage"]))
|
||||
print("GC knows slime damage to player "+ str(playerHealth))
|
||||
if playerHealth <=0:
|
||||
print("You are dead")
|
||||
levelChangeSignal.emit(levels[currentLevel])
|
||||
|
||||
|
||||
func addEnemyToLevel(slime:Slime)-> void:
|
||||
var randDamage:int=randi()%10
|
||||
var enemyStat ={
|
||||
"health": 50,
|
||||
"damage": randDamage
|
||||
}
|
||||
|
||||
#put it in dictionary
|
||||
enemiesDict[slime]=enemyStat
|
||||
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,9 @@ class_name SceneManager extends Node2D
|
||||
@onready var triggers: Node2D = $"../Triggers"
|
||||
@onready var level: Node2D = $"../Level"
|
||||
@onready var crates: Node2D = $"../Crates"
|
||||
@onready var game: GameController = $".."
|
||||
@onready var coins: Node2D = $"../Coins"
|
||||
@onready var slimes: Node2D = $"../Slimes"
|
||||
|
||||
# has the recepies
|
||||
var bullet = preload("res://scenes/bullet.tscn")
|
||||
var bulletArray:Array[Bullet] = []
|
||||
@ -11,6 +13,9 @@ var totalAllowedBullets:int=7
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
# resets the timer
|
||||
# player health
|
||||
Gamecontroller.reset()
|
||||
buildLevel()
|
||||
|
||||
|
||||
@ -23,18 +28,51 @@ func buildLevel() -> void:
|
||||
print("building level")
|
||||
updatesCrates()
|
||||
updateTriggers()
|
||||
updateCoins()
|
||||
updateEnemies()
|
||||
|
||||
#wire up signals from gamecontrollerd
|
||||
game.destroySignal.connect(destroy)
|
||||
game.teleportSignal.connect(teleport)
|
||||
game.levelChangeSignal.connect(loadLevel)
|
||||
Gamecontroller.destroySignal.connect(destroy)
|
||||
Gamecontroller.teleportSignal.connect(teleport)
|
||||
Gamecontroller.levelChangeSignal.connect(loadLevel)
|
||||
|
||||
func updateEnemies() -> void:
|
||||
if slimes:
|
||||
var totalSlimes =0
|
||||
for obj in slimes.get_children():
|
||||
if obj is Slime:
|
||||
totalSlimes +=1
|
||||
Gamecontroller.addEnemyToLevel(obj)
|
||||
#hook up to game controller
|
||||
if not obj.slimeDamageSignal.is_connected(Gamecontroller._on_slime_damage):
|
||||
obj.slimeDamageSignal.connect(Gamecontroller._on_slime_damage)
|
||||
|
||||
|
||||
|
||||
func updateCoins() -> void:
|
||||
if coins:
|
||||
var totalCoins=0
|
||||
for obj in coins.get_children():
|
||||
if obj is Coin:
|
||||
totalCoins +=1
|
||||
# hook up coin to gamecontrollerd
|
||||
if not obj.coinCollectedSignal.is_connected(Gamecontroller._on_coin_collected):
|
||||
obj.coinCollectedSignal.connect(Gamecontroller._on_coin_collected)
|
||||
# any time coin destroyed update game controller
|
||||
if not obj.tree_exited.is_connected(updateCoins):
|
||||
obj.tree_exited.connect(updateCoins)
|
||||
|
||||
# tell game controller!
|
||||
Gamecontroller.totalCoins(totalCoins)
|
||||
|
||||
|
||||
|
||||
func updateTriggers()->void:
|
||||
if triggers:
|
||||
for obj in triggers.get_children():
|
||||
if obj is Trigger:
|
||||
if not obj.AreaTrigger.is_connected(game._on_trigger):
|
||||
obj.AreaTrigger.connect(game._on_trigger)
|
||||
if not obj.AreaTrigger.is_connected(Gamecontroller._on_trigger):
|
||||
obj.AreaTrigger.connect(Gamecontroller._on_trigger)
|
||||
|
||||
|
||||
func updatesCrates() -> void:
|
||||
@ -47,7 +85,7 @@ func updatesCrates() -> void:
|
||||
obj.tree_exited.connect(updatesCrates)
|
||||
totalCrates+=1
|
||||
print("Total crates: "+str(totalCrates))
|
||||
game.crateUpdate(totalCrates)
|
||||
Gamecontroller.crateUpdate(totalCrates)
|
||||
|
||||
|
||||
func destroy(body)->void:
|
||||
@ -79,10 +117,9 @@ func bulletFactory()-> Bullet:
|
||||
# how many bullets have been made?
|
||||
if bulletArray.size() <=totalAllowedBullets:
|
||||
myBullet=bullet.instantiate()
|
||||
if not myBullet.bulletDamageSignal.is_connected(game.bulletDamage):
|
||||
myBullet.bulletDamageSignal.connect(game.bulletDamage)
|
||||
|
||||
game.add_child(myBullet)
|
||||
if not myBullet.bulletDamageSignal.is_connected(Gamecontroller.bulletDamage):
|
||||
myBullet.bulletDamageSignal.connect(Gamecontroller.bulletDamage)
|
||||
add_sibling(myBullet)
|
||||
else:
|
||||
myBullet=bulletArray.pop_back()
|
||||
bulletArray.push_front(myBullet)
|
||||
@ -97,7 +134,3 @@ func makebullet(targetPosition,speed) -> void:
|
||||
myBullet.setSpeed(speed)
|
||||
myBullet.set_process(true)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
34
scripts/slime.gd
Normal file
34
scripts/slime.gd
Normal file
@ -0,0 +1,34 @@
|
||||
class_name Slime extends Area2D
|
||||
@onready var right_cast: RayCast2D = $RightCast
|
||||
@onready var left_cast: RayCast2D = $LeftCast
|
||||
@onready var right_down_cast: RayCast2D = $RightDownCast
|
||||
@onready var left_down_cast: RayCast2D = $LeftDownCast
|
||||
@onready var slime_graphic: AnimatedSprite2D = $SlimeGraphic
|
||||
|
||||
|
||||
|
||||
var speed:int=100
|
||||
var direction =1
|
||||
signal slimeDamageSignal(body,slime)
|
||||
|
||||
#animation code
|
||||
func _process(delta: float) -> void:
|
||||
if not right_down_cast.is_colliding():
|
||||
direction =-1
|
||||
slime_graphic.flip_h=true
|
||||
if not left_down_cast.is_colliding():
|
||||
direction =1
|
||||
slime_graphic.flip_h=true
|
||||
if right_cast.is_colliding() && not right_cast.get_collider() is Player:
|
||||
direction =-1
|
||||
slime_graphic.flip_h=true
|
||||
if left_cast.is_colliding() && not left_cast.get_collider() is Player:
|
||||
direction =1
|
||||
slime_graphic.flip_h=false
|
||||
position.x += direction*speed*delta
|
||||
|
||||
|
||||
|
||||
func _on_body_entered(body: Node2D) -> void:
|
||||
if body is Player:
|
||||
slimeDamageSignal.emit(body,self)
|
||||
1
scripts/slime.gd.uid
Normal file
1
scripts/slime.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://8iya0pgh6sfe
|
||||
Loading…
Reference in New Issue
Block a user