Compare commits
18 commits
Author | SHA1 | Date | |
---|---|---|---|
f1d89d2abf | |||
8fa547be1c | |||
d6d1c66eb6 | |||
9a9fdbde4e | |||
25d1dadded | |||
d4f1847f3b | |||
214cddded0 | |||
018d017255 | |||
a281d40bf5 | |||
bc72c1ef01 | |||
9501104d53 | |||
c2e571b70f | |||
e0e0841758 | |||
4600c279c7 | |||
bed5d875a8 | |||
9164dea2e5 | |||
9f63e8e152 | |||
946f211330 |
45 changed files with 1509 additions and 55 deletions
10
README.md
10
README.md
|
@ -4,14 +4,20 @@
|
|||
|
||||
|
||||
<p align="center">
|
||||
<a href="https://git.moe.team/moepoi/Frontier-of-Hell">
|
||||
<a href="https://frontier-of-hell.moe.team">
|
||||
<img src="https://telegra.ph/file/a918724e0cf06e890aeed.png" width="400" alt="Frontier of Hell">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
## Description
|
||||
|
||||
[Frontier of Hell](https://git.moe.team/moepoi/Frontier-of-Hell) is a tower defense game that requires players to protect the base from enemy attacks at each stage. To defend the base, players can build and upgrade towers that will attack the enemies as they approach the base.
|
||||
|
||||
## Trailer
|
||||
[![Watch the video](https://img.youtube.com/vi/IATxp1SUnLw/hqdefault.jpg)](https://www.youtube.com/embed/IATxp1SUnLw)
|
||||
|
||||
## Download
|
||||
- Windows, Linux, Android : [Github Release](https://github.com/moepoi/Frontier-of-Hell/releases)
|
||||
- Android : [ApkPure](https://apkpure.com/frontier-of-hell/dev.moepoi.frontierofhell) & [AppCenter](https://install.appcenter.ms/users/moepoi/apps/frontier-of-hell/distribution_groups/public)
|
||||
|
||||
## Contributors
|
||||
- Michael William Jonathan / [@moepoi](https://github.com/moepoi)
|
BIN
assets/icons/base-mark.png
Normal file
BIN
assets/icons/base-mark.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3 KiB |
34
assets/icons/base-mark.png.import
Normal file
34
assets/icons/base-mark.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dca4npsxwr1m3"
|
||||
path="res://.godot/imported/base-mark.png-b036609631a945409172277f06bf47e7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/icons/base-mark.png"
|
||||
dest_files=["res://.godot/imported/base-mark.png-b036609631a945409172277f06bf47e7.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
BIN
assets/icons/enemy-marker-arrow.png
Normal file
BIN
assets/icons/enemy-marker-arrow.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
34
assets/icons/enemy-marker-arrow.png.import
Normal file
34
assets/icons/enemy-marker-arrow.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://o2dc3vcnnd4t"
|
||||
path="res://.godot/imported/enemy-marker-arrow.png-44d7acc461ba0ceb888ccfca827d1199.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/icons/enemy-marker-arrow.png"
|
||||
dest_files=["res://.godot/imported/enemy-marker-arrow.png-44d7acc461ba0ceb888ccfca827d1199.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
BIN
assets/icons/enemy-marker-icon.png
Normal file
BIN
assets/icons/enemy-marker-icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
34
assets/icons/enemy-marker-icon.png.import
Normal file
34
assets/icons/enemy-marker-icon.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bdga2vyi2dpaw"
|
||||
path="res://.godot/imported/enemy-marker-icon.png-9ee0b010b56cd806a6adcd13a6bfd946.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/icons/enemy-marker-icon.png"
|
||||
dest_files=["res://.godot/imported/enemy-marker-icon.png-9ee0b010b56cd806a6adcd13a6bfd946.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
BIN
assets/icons/settings.png
Normal file
BIN
assets/icons/settings.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.7 KiB |
34
assets/icons/settings.png.import
Normal file
34
assets/icons/settings.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cgaqy7lcu4x78"
|
||||
path="res://.godot/imported/settings.png-9e60c86d9b162ed0f32eee17a57d027f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/icons/settings.png"
|
||||
dest_files=["res://.godot/imported/settings.png-9e60c86d9b162ed0f32eee17a57d027f.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
BIN
assets/spritesheets/explosion.png
Normal file
BIN
assets/spritesheets/explosion.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.4 MiB |
34
assets/spritesheets/explosion.png.import
Normal file
34
assets/spritesheets/explosion.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b8fdtvgaq5bo6"
|
||||
path="res://.godot/imported/explosion.png-886739e81fcc3dcfae2147b72459ccad.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spritesheets/explosion.png"
|
||||
dest_files=["res://.godot/imported/explosion.png-886739e81fcc3dcfae2147b72459ccad.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
|
@ -26,8 +26,8 @@ architectures/armeabi-v7a=true
|
|||
architectures/arm64-v8a=true
|
||||
architectures/x86=false
|
||||
architectures/x86_64=false
|
||||
version/code=3
|
||||
version/name="0.3.2"
|
||||
version/code=5
|
||||
version/name="0.5.0"
|
||||
package/unique_name="dev.moepoi.frontierofhell"
|
||||
package/name="Frontier of Hell"
|
||||
package/signed=true
|
||||
|
@ -237,8 +237,8 @@ application/modify_resources=true
|
|||
application/icon="res://assets/icons/app-logo.png"
|
||||
application/console_wrapper_icon=""
|
||||
application/icon_interpolation=4
|
||||
application/file_version="0.0.3.2"
|
||||
application/product_version="0.0.3.2"
|
||||
application/file_version="0.0.5.0"
|
||||
application/product_version="0.0.5.0"
|
||||
application/company_name="Moepoi"
|
||||
application/product_name="Frontier of Hell"
|
||||
application/file_description="~"
|
||||
|
|
|
@ -20,6 +20,10 @@ boot_splash/fullsize=false
|
|||
config/icon="res://assets/icons/logo.png"
|
||||
boot_splash/minimum_display_time=3
|
||||
|
||||
[autoload]
|
||||
|
||||
Global="*res://scripts/global.gd"
|
||||
|
||||
[display]
|
||||
|
||||
window/stretch/mode="viewport"
|
||||
|
|
|
@ -1,11 +1,72 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://dqa80ptcc8p70"]
|
||||
[gd_scene load_steps=14 format=3 uid="uid://dqa80ptcc8p70"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/bullets/bullet.gd" id="1_lacqw"]
|
||||
[ext_resource type="Texture2D" uid="uid://c57taqe4k3mi2" path="res://assets/spritesheets/bullet-1.png" id="2_o8iut"]
|
||||
[ext_resource type="Texture2D" uid="uid://b8fdtvgaq5bo6" path="res://assets/spritesheets/explosion.png" id="3_wtt2i"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_3cgpo"]
|
||||
radius = 6.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_dyohr"]
|
||||
radius = 88.0511
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5sdcd"]
|
||||
atlas = ExtResource("3_wtt2i")
|
||||
region = Rect2(0, 0, 1428, 2000)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5uq50"]
|
||||
atlas = ExtResource("3_wtt2i")
|
||||
region = Rect2(1428, 0, 1428, 2000)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8w3i0"]
|
||||
atlas = ExtResource("3_wtt2i")
|
||||
region = Rect2(2856, 0, 1428, 2000)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vq42n"]
|
||||
atlas = ExtResource("3_wtt2i")
|
||||
region = Rect2(4284, 0, 1428, 2000)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_r0vwq"]
|
||||
atlas = ExtResource("3_wtt2i")
|
||||
region = Rect2(5712, 0, 1428, 2000)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_011v7"]
|
||||
atlas = ExtResource("3_wtt2i")
|
||||
region = Rect2(7140, 0, 1428, 2000)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_viipg"]
|
||||
atlas = ExtResource("3_wtt2i")
|
||||
region = Rect2(8568, 0, 1428, 2000)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_88q0q"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5sdcd")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5uq50")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8w3i0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vq42n")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_r0vwq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_011v7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_viipg")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[node name="bullet" type="Area2D"]
|
||||
script = ExtResource("1_lacqw")
|
||||
|
||||
|
@ -19,5 +80,17 @@ shape = SubResource("CircleShape2D_3cgpo")
|
|||
|
||||
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
shape = SubResource("CircleShape2D_dyohr")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
visible = false
|
||||
scale = Vector2(0.15, 0.15)
|
||||
sprite_frames = SubResource("SpriteFrames_88q0q")
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_Bullet_body_entered"]
|
||||
[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="_on_VisibilityNotifier2D_screen_exited"]
|
||||
[connection signal="body_entered" from="Area2D" to="." method="_on_body_entered"]
|
||||
[connection signal="body_exited" from="Area2D" to="." method="_on_body_exited"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=21 format=3 uid="uid://dxqjsq73hbgd1"]
|
||||
[gd_scene load_steps=37 format=3 uid="uid://dxqjsq73hbgd1"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/enemies/enemy.gd" id="1_vqyfw"]
|
||||
[ext_resource type="Texture2D" uid="uid://cxkvhb7olncvm" path="res://assets/spritesheets/enemies/cyclops.png" id="2_tsimi"]
|
||||
|
@ -19,6 +19,22 @@ region = Rect2(512, 2560, 512, 512)
|
|||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(1024, 2560, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5yr04"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(0, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0vqdg"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(512, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lr853"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(1024, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jyf0d"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(1536, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ol8b7"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(1536, 0, 512, 512)
|
||||
|
@ -35,6 +51,22 @@ region = Rect2(512, 512, 512, 512)
|
|||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(1024, 512, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_spk7q"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(0, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7ssd3"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(512, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nspin"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(1024, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_rrkc6"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(1536, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lffse"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(1536, 4096, 512, 512)
|
||||
|
@ -51,6 +83,22 @@ region = Rect2(512, 4608, 512, 512)
|
|||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(1024, 4608, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2nfkt"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(0, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8fp8o"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(512, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lxlv8"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(1024, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qpspw"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(1536, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_i5q0p"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(1536, 6144, 512, 512)
|
||||
|
@ -67,6 +115,22 @@ region = Rect2(512, 6656, 512, 512)
|
|||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(1024, 6656, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_yrfms"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(0, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_sphuq"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(512, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vned8"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(1024, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ftvcv"]
|
||||
atlas = ExtResource("2_tsimi")
|
||||
region = Rect2(1536, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_2gjkv"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
|
@ -88,6 +152,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5yr04")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0vqdg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lr853")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jyf0d")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"back_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ol8b7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -105,6 +186,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_spk7q")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7ssd3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nspin")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_rrkc6")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"front_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lffse")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -122,6 +220,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2nfkt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8fp8o")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lxlv8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_qpspw")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"left_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_i5q0p")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -136,6 +251,23 @@ animations = [{
|
|||
"loop": true,
|
||||
"name": &"right",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_yrfms")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_sphuq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vned8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ftvcv")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"right_dead",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_5hy1j"]
|
||||
|
@ -154,7 +286,7 @@ script = ExtResource("1_vqyfw")
|
|||
position = Vector2(9.15527e-05, 0.00012207)
|
||||
scale = Vector2(0.09, 0.089)
|
||||
sprite_frames = SubResource("SpriteFrames_2gjkv")
|
||||
animation = &"right"
|
||||
animation = &"back"
|
||||
autoplay = "right"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="EnemyBody"]
|
||||
|
@ -173,4 +305,9 @@ show_percentage = false
|
|||
[node name="SlowTimer" type="Timer" parent="EnemyBody"]
|
||||
one_shot = true
|
||||
|
||||
[node name="DeadTimer" type="Timer" parent="EnemyBody"]
|
||||
wait_time = 3.0
|
||||
one_shot = true
|
||||
|
||||
[connection signal="timeout" from="EnemyBody/SlowTimer" to="." method="_on_slow_timer_timeout"]
|
||||
[connection signal="timeout" from="EnemyBody/DeadTimer" to="." method="_on_dead_timer_timeout"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=21 format=3 uid="uid://btaiqm84ygubk"]
|
||||
[gd_scene load_steps=37 format=3 uid="uid://btaiqm84ygubk"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/enemies/enemy.gd" id="1_7h4t3"]
|
||||
[ext_resource type="Texture2D" uid="uid://dfdhwhurk5fbm" path="res://assets/spritesheets/enemies/demon.png" id="2_kwsco"]
|
||||
|
@ -19,6 +19,22 @@ region = Rect2(512, 2560, 512, 512)
|
|||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(1024, 2560, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0f7aw"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(0, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xqlv7"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(512, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hpbcb"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(1024, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_erk8i"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(1536, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3mqix"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(1536, 0, 512, 512)
|
||||
|
@ -35,6 +51,22 @@ region = Rect2(512, 512, 512, 512)
|
|||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(1024, 512, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nuuhh"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(0, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uefol"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(512, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_grx1m"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(1024, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_gcbhh"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(1536, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_de3hb"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(1536, 4096, 512, 512)
|
||||
|
@ -51,6 +83,22 @@ region = Rect2(512, 4608, 512, 512)
|
|||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(1024, 4608, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hot4g"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(0, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kag5r"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(512, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_yyv1e"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(1024, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8djft"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(1536, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8x1s8"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(1536, 6144, 512, 512)
|
||||
|
@ -67,6 +115,22 @@ region = Rect2(512, 6656, 512, 512)
|
|||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(1024, 6656, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8j0ad"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(0, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_y41wk"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(512, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_biudf"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(1024, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mwimp"]
|
||||
atlas = ExtResource("2_kwsco")
|
||||
region = Rect2(1536, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_nh3e1"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
|
@ -88,6 +152,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0f7aw")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xqlv7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hpbcb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_erk8i")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"back_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3mqix")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -105,6 +186,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nuuhh")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uefol")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_grx1m")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_gcbhh")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"front_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_de3hb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -122,6 +220,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hot4g")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kag5r")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_yyv1e")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8djft")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"left_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8x1s8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -136,6 +251,23 @@ animations = [{
|
|||
"loop": true,
|
||||
"name": &"right",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8j0ad")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_y41wk")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_biudf")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_mwimp")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"right_dead",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_5hy1j"]
|
||||
|
@ -154,9 +286,8 @@ script = ExtResource("1_7h4t3")
|
|||
position = Vector2(9.15527e-05, 0.00012207)
|
||||
scale = Vector2(0.09, 0.089)
|
||||
sprite_frames = SubResource("SpriteFrames_nh3e1")
|
||||
animation = &"back"
|
||||
animation = &"back_dead"
|
||||
autoplay = "right"
|
||||
frame_progress = 0.853856
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="EnemyBody"]
|
||||
position = Vector2(-0.992983, 1.00696)
|
||||
|
@ -174,4 +305,9 @@ show_percentage = false
|
|||
[node name="SlowTimer" type="Timer" parent="EnemyBody"]
|
||||
one_shot = true
|
||||
|
||||
[node name="DeadTimer" type="Timer" parent="EnemyBody"]
|
||||
wait_time = 3.0
|
||||
one_shot = true
|
||||
|
||||
[connection signal="timeout" from="EnemyBody/SlowTimer" to="." method="_on_slow_timer_timeout"]
|
||||
[connection signal="timeout" from="EnemyBody/DeadTimer" to="." method="_on_dead_timer_timeout"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=21 format=3 uid="uid://bajs6ngory3qo"]
|
||||
[gd_scene load_steps=37 format=3 uid="uid://bajs6ngory3qo"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/enemies/enemy.gd" id="1_00y7u"]
|
||||
[ext_resource type="Texture2D" uid="uid://d1q5q70hng32n" path="res://assets/spritesheets/enemies/demon-boar.png" id="2_jti63"]
|
||||
|
@ -19,6 +19,22 @@ region = Rect2(512, 2560, 512, 512)
|
|||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(1024, 2560, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_s2ruk"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(0, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_afysb"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(512, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dytdt"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(1024, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3skrt"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(1536, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7uatc"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(1536, 0, 512, 512)
|
||||
|
@ -35,6 +51,22 @@ region = Rect2(512, 512, 512, 512)
|
|||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(1024, 512, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hfpvx"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(0, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_61kik"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(512, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ub2md"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(1024, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jskih"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(1536, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0bdj2"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(1536, 4096, 512, 512)
|
||||
|
@ -51,6 +83,22 @@ region = Rect2(512, 4608, 512, 512)
|
|||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(1024, 4608, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wjxql"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(0, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_g8t4f"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(512, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uguyf"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(1024, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_akp2h"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(1536, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hhppb"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(1536, 6144, 512, 512)
|
||||
|
@ -67,6 +115,22 @@ region = Rect2(512, 6656, 512, 512)
|
|||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(1024, 6656, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ic7nf"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(0, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_o5i6e"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(512, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_drpyn"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(1024, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_868x7"]
|
||||
atlas = ExtResource("2_jti63")
|
||||
region = Rect2(1536, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_ny71s"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
|
@ -88,6 +152,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_s2ruk")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_afysb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dytdt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3skrt")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"back_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7uatc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -105,6 +186,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hfpvx")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_61kik")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ub2md")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jskih")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"front_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0bdj2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -122,6 +220,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wjxql")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_g8t4f")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uguyf")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_akp2h")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"left_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hhppb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -136,6 +251,23 @@ animations = [{
|
|||
"loop": true,
|
||||
"name": &"right",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ic7nf")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_o5i6e")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_drpyn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_868x7")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"right_dead",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_5hy1j"]
|
||||
|
@ -154,7 +286,7 @@ script = ExtResource("1_00y7u")
|
|||
position = Vector2(9.15527e-05, 0.00012207)
|
||||
scale = Vector2(0.09, 0.089)
|
||||
sprite_frames = SubResource("SpriteFrames_ny71s")
|
||||
animation = &"right"
|
||||
animation = &"back_dead"
|
||||
autoplay = "right"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="EnemyBody"]
|
||||
|
@ -173,4 +305,9 @@ show_percentage = false
|
|||
[node name="SlowTimer" type="Timer" parent="EnemyBody"]
|
||||
one_shot = true
|
||||
|
||||
[node name="DeadTimer" type="Timer" parent="EnemyBody"]
|
||||
wait_time = 3.0
|
||||
one_shot = true
|
||||
|
||||
[connection signal="timeout" from="EnemyBody/SlowTimer" to="." method="_on_slow_timer_timeout"]
|
||||
[connection signal="timeout" from="EnemyBody/DeadTimer" to="." method="_on_dead_timer_timeout"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=21 format=3 uid="uid://sbr727jduiqw"]
|
||||
[gd_scene load_steps=37 format=3 uid="uid://sbr727jduiqw"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/enemies/enemy.gd" id="1_4wu2v"]
|
||||
[ext_resource type="Texture2D" uid="uid://bfyws0srbawxx" path="res://assets/spritesheets/enemies/demon-fungus.png" id="2_jkw1p"]
|
||||
|
@ -19,6 +19,22 @@ region = Rect2(512, 2560, 512, 512)
|
|||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(1024, 2560, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_i26da"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(0, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bfh4y"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(512, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mnffh"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(1024, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wbr8g"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(1536, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_pq10w"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(1536, 0, 512, 512)
|
||||
|
@ -35,6 +51,22 @@ region = Rect2(512, 512, 512, 512)
|
|||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(1024, 512, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nrtl5"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(0, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_f5fdb"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(512, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qmj20"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(1024, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_gpwgv"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(1536, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qlghv"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(1536, 4096, 512, 512)
|
||||
|
@ -51,6 +83,22 @@ region = Rect2(512, 4608, 512, 512)
|
|||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(1024, 4608, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hccyt"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(0, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2b72c"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(512, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6f40i"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(1024, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jn1cs"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(1536, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ibux8"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(1536, 6144, 512, 512)
|
||||
|
@ -67,6 +115,22 @@ region = Rect2(512, 6656, 512, 512)
|
|||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(1024, 6656, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1riw6"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(0, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3u45b"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(512, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_10r1v"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(1024, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lwnf4"]
|
||||
atlas = ExtResource("2_jkw1p")
|
||||
region = Rect2(1536, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_5yy3x"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
|
@ -88,6 +152,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_i26da")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bfh4y")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_mnffh")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wbr8g")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"back_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_pq10w")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -105,6 +186,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nrtl5")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_f5fdb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_qmj20")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_gpwgv")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"front_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_qlghv")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -122,6 +220,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hccyt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2b72c")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6f40i")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jn1cs")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"left_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ibux8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -136,6 +251,23 @@ animations = [{
|
|||
"loop": true,
|
||||
"name": &"right",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1riw6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3u45b")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_10r1v")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lwnf4")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"right_dead",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_5hy1j"]
|
||||
|
@ -154,10 +286,8 @@ script = ExtResource("1_4wu2v")
|
|||
position = Vector2(9.15527e-05, 0.00012207)
|
||||
scale = Vector2(0.09, 0.089)
|
||||
sprite_frames = SubResource("SpriteFrames_5yy3x")
|
||||
animation = &"right"
|
||||
animation = &"back_dead"
|
||||
autoplay = "right"
|
||||
frame = 2
|
||||
frame_progress = 0.287168
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="EnemyBody"]
|
||||
position = Vector2(-0.992983, 1.00696)
|
||||
|
@ -175,4 +305,9 @@ show_percentage = false
|
|||
[node name="SlowTimer" type="Timer" parent="EnemyBody"]
|
||||
one_shot = true
|
||||
|
||||
[node name="DeadTimer" type="Timer" parent="EnemyBody"]
|
||||
wait_time = 3.0
|
||||
one_shot = true
|
||||
|
||||
[connection signal="timeout" from="EnemyBody/SlowTimer" to="." method="_on_slow_timer_timeout"]
|
||||
[connection signal="timeout" from="EnemyBody/DeadTimer" to="." method="_on_dead_timer_timeout"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=21 format=3 uid="uid://dud7to2ncqrqe"]
|
||||
[gd_scene load_steps=37 format=3 uid="uid://dud7to2ncqrqe"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/enemies/enemy.gd" id="1_m5a36"]
|
||||
[ext_resource type="Texture2D" uid="uid://dgegmre1q57o5" path="res://assets/spritesheets/enemies/demon-shark.png" id="2_6ikdk"]
|
||||
|
@ -19,6 +19,22 @@ region = Rect2(512, 2560, 512, 512)
|
|||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(1024, 2560, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_348hq"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(0, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kiw65"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(512, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ga4qn"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(1024, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dtdui"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(1536, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uu6ue"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(1536, 0, 512, 512)
|
||||
|
@ -35,6 +51,22 @@ region = Rect2(512, 512, 512, 512)
|
|||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(1024, 512, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fplju"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(0, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_f8usi"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(512, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wr5e5"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(1024, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_g6dcp"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(1536, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_y6wen"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(1536, 4096, 512, 512)
|
||||
|
@ -51,6 +83,22 @@ region = Rect2(512, 4608, 512, 512)
|
|||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(1024, 4608, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8g5l7"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(0, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jyd5n"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(512, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1r6jd"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(1024, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dldss"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(1536, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_q8wo0"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(1536, 6144, 512, 512)
|
||||
|
@ -67,6 +115,22 @@ region = Rect2(512, 6656, 512, 512)
|
|||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(1024, 6656, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_o1ga7"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(0, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2ulxn"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(512, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3hoq3"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(1024, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_r0dp7"]
|
||||
atlas = ExtResource("2_6ikdk")
|
||||
region = Rect2(1536, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_3g1io"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
|
@ -88,6 +152,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_348hq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kiw65")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ga4qn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dtdui")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"back_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uu6ue")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -105,6 +186,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fplju")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_f8usi")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wr5e5")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_g6dcp")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"front_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_y6wen")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -122,6 +220,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8g5l7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jyd5n")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1r6jd")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dldss")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"left_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_q8wo0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -136,6 +251,23 @@ animations = [{
|
|||
"loop": true,
|
||||
"name": &"right",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_o1ga7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2ulxn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3hoq3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_r0dp7")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"right_dead",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_5hy1j"]
|
||||
|
@ -154,9 +286,8 @@ script = ExtResource("1_m5a36")
|
|||
position = Vector2(9.15527e-05, 0.00012207)
|
||||
scale = Vector2(0.09, 0.089)
|
||||
sprite_frames = SubResource("SpriteFrames_3g1io")
|
||||
animation = &"right"
|
||||
animation = &"back_dead"
|
||||
autoplay = "right"
|
||||
frame_progress = 0.720272
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="EnemyBody"]
|
||||
position = Vector2(-0.992983, 1.00696)
|
||||
|
@ -174,4 +305,9 @@ show_percentage = false
|
|||
[node name="SlowTimer" type="Timer" parent="EnemyBody"]
|
||||
one_shot = true
|
||||
|
||||
[node name="DeadTimer" type="Timer" parent="EnemyBody"]
|
||||
wait_time = 3.0
|
||||
one_shot = true
|
||||
|
||||
[connection signal="timeout" from="EnemyBody/SlowTimer" to="." method="_on_slow_timer_timeout"]
|
||||
[connection signal="timeout" from="EnemyBody/DeadTimer" to="." method="_on_dead_timer_timeout"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=21 format=3 uid="uid://dldnbqg4oc3my"]
|
||||
[gd_scene load_steps=37 format=3 uid="uid://dldnbqg4oc3my"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/enemies/enemy.gd" id="1_7wn36"]
|
||||
[ext_resource type="Texture2D" uid="uid://ddot33oyu6vlh" path="res://assets/spritesheets/enemies/orc.png" id="2_mmtjp"]
|
||||
|
@ -19,6 +19,22 @@ region = Rect2(512, 2560, 512, 512)
|
|||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(1024, 2560, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bs36l"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(0, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5p8cy"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(512, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qxkbm"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(1024, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2fno1"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(1536, 3584, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_oqxmm"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(1536, 0, 512, 512)
|
||||
|
@ -35,6 +51,22 @@ region = Rect2(512, 512, 512, 512)
|
|||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(1024, 512, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w1pot"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(0, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wp6uf"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(512, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_icb58"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(1024, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_yhpyg"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(1536, 1536, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xq474"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(1536, 4096, 512, 512)
|
||||
|
@ -51,6 +83,22 @@ region = Rect2(512, 4608, 512, 512)
|
|||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(1024, 4608, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lo0li"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(0, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5o1ee"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(512, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0qjdk"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(1024, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_77ryy"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(1536, 5632, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hiwr4"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(1536, 6144, 512, 512)
|
||||
|
@ -67,6 +115,22 @@ region = Rect2(512, 6656, 512, 512)
|
|||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(1024, 6656, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_cr865"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(0, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qt8u6"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(512, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ggbg6"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(1024, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4etrg"]
|
||||
atlas = ExtResource("2_mmtjp")
|
||||
region = Rect2(1536, 7680, 512, 512)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_ebg80"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
|
@ -88,6 +152,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bs36l")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5p8cy")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_qxkbm")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2fno1")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"back_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_oqxmm")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -105,6 +186,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_w1pot")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wp6uf")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_icb58")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_yhpyg")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"front_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xq474")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -122,6 +220,23 @@ animations = [{
|
|||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lo0li")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5o1ee")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0qjdk")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_77ryy")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"left_dead",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hiwr4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
|
@ -136,6 +251,23 @@ animations = [{
|
|||
"loop": true,
|
||||
"name": &"right",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_cr865")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_qt8u6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ggbg6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4etrg")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"right_dead",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_5hy1j"]
|
||||
|
@ -154,7 +286,7 @@ script = ExtResource("1_7wn36")
|
|||
position = Vector2(9.15527e-05, 0.00012207)
|
||||
scale = Vector2(0.09, 0.089)
|
||||
sprite_frames = SubResource("SpriteFrames_ebg80")
|
||||
animation = &"right"
|
||||
animation = &"back_dead"
|
||||
autoplay = "right"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="EnemyBody"]
|
||||
|
@ -173,4 +305,9 @@ show_percentage = false
|
|||
[node name="SlowTimer" type="Timer" parent="EnemyBody"]
|
||||
one_shot = true
|
||||
|
||||
[node name="DeadTimer" type="Timer" parent="EnemyBody"]
|
||||
wait_time = 3.0
|
||||
one_shot = true
|
||||
|
||||
[connection signal="timeout" from="EnemyBody/SlowTimer" to="." method="_on_slow_timer_timeout"]
|
||||
[connection signal="timeout" from="EnemyBody/DeadTimer" to="." method="_on_dead_timer_timeout"]
|
||||
|
|
46
scenes/marker/marker.tscn
Normal file
46
scenes/marker/marker.tscn
Normal file
|
@ -0,0 +1,46 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://p0lkipd6a5lu"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bdga2vyi2dpaw" path="res://assets/icons/enemy-marker-icon.png" id="1_j1bap"]
|
||||
[ext_resource type="Script" path="res://scripts/marker/marker.gd" id="1_tysk2"]
|
||||
[ext_resource type="Texture2D" uid="uid://o2dc3vcnnd4t" path="res://assets/icons/enemy-marker-arrow.png" id="2_f8i1v"]
|
||||
|
||||
[node name="marker" type="Node2D"]
|
||||
script = ExtResource("1_tysk2")
|
||||
|
||||
[node name="base" type="Sprite2D" parent="."]
|
||||
scale = Vector2(0.05, 0.05)
|
||||
texture = ExtResource("1_j1bap")
|
||||
|
||||
[node name="left" type="Sprite2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(-30, 0)
|
||||
scale = Vector2(0.04, 0.04)
|
||||
texture = ExtResource("2_f8i1v")
|
||||
|
||||
[node name="up" type="Sprite2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, -30)
|
||||
rotation = 1.5708
|
||||
scale = Vector2(0.04, 0.04)
|
||||
texture = ExtResource("2_f8i1v")
|
||||
|
||||
[node name="down" type="Sprite2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, 30)
|
||||
rotation = 4.71239
|
||||
scale = Vector2(0.04, 0.04)
|
||||
texture = ExtResource("2_f8i1v")
|
||||
|
||||
[node name="right" type="Sprite2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(30, 0)
|
||||
rotation = 3.14159
|
||||
scale = Vector2(0.04, 0.04)
|
||||
texture = ExtResource("2_f8i1v")
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 2.0
|
||||
one_shot = true
|
||||
autostart = true
|
||||
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
|
@ -1,8 +1,9 @@
|
|||
[gd_scene load_steps=18 format=3 uid="uid://btdewn34d67m"]
|
||||
[gd_scene load_steps=20 format=3 uid="uid://btdewn34d67m"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/stages/1/game_manager.gd" id="1_aosti"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnxj0mf3luxo" path="res://assets/tileset/ashlands/tf_A5_ashlands_3.png" id="2_bnj71"]
|
||||
[ext_resource type="Texture2D" uid="uid://danbfdqmqu23q" path="res://assets/tileset/ashlands/tf_B_ashlands_3.png" id="3_mc5mi"]
|
||||
[ext_resource type="Texture2D" uid="uid://dca4npsxwr1m3" path="res://assets/icons/base-mark.png" id="4_1ac5p"]
|
||||
[ext_resource type="Script" path="res://scripts/stages/1/summon.gd" id="4_gt08o"]
|
||||
[ext_resource type="PackedScene" uid="uid://bhnv1dsggssil" path="res://scenes/ui/pause_menu.tscn" id="5_0gif7"]
|
||||
[ext_resource type="PackedScene" uid="uid://cd5r1v6f8hahx" path="res://scenes/ui/tower_menu.tscn" id="5_3w5lp"]
|
||||
|
@ -13,6 +14,7 @@
|
|||
[ext_resource type="PackedScene" uid="uid://r8kq68v8iflb" path="res://scenes/ui/victory.tscn" id="8_wl8vl"]
|
||||
[ext_resource type="PackedScene" uid="uid://wywjvwp7ausj" path="res://scenes/ui/defeat.tscn" id="9_huvna"]
|
||||
[ext_resource type="AudioStream" uid="uid://bn6agbc77m0au" path="res://assets/audio/stage.mp3" id="12_2v5rl"]
|
||||
[ext_resource type="PackedScene" uid="uid://p0lkipd6a5lu" path="res://scenes/marker/marker.tscn" id="13_qa2m6"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_7yb1o"]
|
||||
texture = ExtResource("2_bnj71")
|
||||
|
@ -546,6 +548,12 @@ layer_1/y_sort_origin = 0
|
|||
layer_1/z_index = 0
|
||||
layer_1/tile_data = PackedInt32Array(196628, 262146, 6, 131089, 2, 13, 720899, 327682, 4, 655364, 196610, 4, 589826, 262146, 12, 589830, 196610, 12)
|
||||
|
||||
[node name="BaseMark" type="Sprite2D" parent="."]
|
||||
modulate = Color(1, 1, 1, 0.588235)
|
||||
position = Vector2(1099, 507)
|
||||
scale = Vector2(0.07, 0.07)
|
||||
texture = ExtResource("4_1ac5p")
|
||||
|
||||
[node name="Path2D" type="Path2D" parent="."]
|
||||
curve = SubResource("Curve2D_csucy")
|
||||
script = ExtResource("4_gt08o")
|
||||
|
@ -594,13 +602,16 @@ position = Vector2(1179, 543)
|
|||
[node name="base3" parent="Bases" instance=ExtResource("8_rsf1n")]
|
||||
position = Vector2(1178, 460)
|
||||
|
||||
[node name="marker" parent="." instance=ExtResource("13_qa2m6")]
|
||||
position = Vector2(117, 213)
|
||||
direction = "left"
|
||||
|
||||
[node name="Duration" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("12_2v5rl")
|
||||
volume_db = 1.0
|
||||
autoplay = true
|
||||
|
||||
[connection signal="timeout" from="Path2D/Timer" to="Path2D" method="_on_timer_timeout"]
|
||||
[connection signal="timeout" from="Duration" to="." method="_on_duration_timeout"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=17 format=3 uid="uid://bj5auw303w08w"]
|
||||
[gd_scene load_steps=19 format=3 uid="uid://bj5auw303w08w"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/stages/2/game_manager.gd" id="1_4r6ye"]
|
||||
[ext_resource type="Texture2D" uid="uid://bq6hnxbt4w37u" path="res://assets/tileset/snowland/Snowland@64x64.png" id="1_d077v"]
|
||||
|
@ -11,7 +11,9 @@
|
|||
[ext_resource type="PackedScene" uid="uid://bigsx1yvw0pvg" path="res://scenes/ui/game_duration.tscn" id="7_y7bof"]
|
||||
[ext_resource type="PackedScene" uid="uid://r8kq68v8iflb" path="res://scenes/ui/victory.tscn" id="8_o3n86"]
|
||||
[ext_resource type="PackedScene" uid="uid://wywjvwp7ausj" path="res://scenes/ui/defeat.tscn" id="9_kssjj"]
|
||||
[ext_resource type="PackedScene" uid="uid://p0lkipd6a5lu" path="res://scenes/marker/marker.tscn" id="12_unfps"]
|
||||
[ext_resource type="AudioStream" uid="uid://bn6agbc77m0au" path="res://assets/audio/stage.mp3" id="12_uwk7b"]
|
||||
[ext_resource type="Texture2D" uid="uid://dca4npsxwr1m3" path="res://assets/icons/base-mark.png" id="14_h1o0s"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_amj2r"]
|
||||
texture = ExtResource("1_d077v")
|
||||
|
@ -327,13 +329,22 @@ position = Vector2(552, 679)
|
|||
[node name="base4" parent="Bases" instance=ExtResource("6_e20hd")]
|
||||
position = Vector2(509, 680)
|
||||
|
||||
[node name="marker" parent="." instance=ExtResource("12_unfps")]
|
||||
position = Vector2(574, 98)
|
||||
direction = "up"
|
||||
|
||||
[node name="Duration" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("12_uwk7b")
|
||||
volume_db = 1.0
|
||||
autoplay = true
|
||||
|
||||
[node name="BaseMark" type="Sprite2D" parent="AudioStreamPlayer"]
|
||||
modulate = Color(1, 1, 1, 0.588235)
|
||||
position = Vector2(575, 604)
|
||||
scale = Vector2(0.07, 0.07)
|
||||
texture = ExtResource("14_h1o0s")
|
||||
|
||||
[connection signal="timeout" from="Path2D/Timer" to="Path2D" method="_on_timer_timeout"]
|
||||
[connection signal="timeout" from="Path2D2/Timer" to="Path2D2" method="_on_timer_timeout"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=16 format=3 uid="uid://bxk5llqn5csgu"]
|
||||
[gd_scene load_steps=18 format=3 uid="uid://bxk5llqn5csgu"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bq6hnxbt4w37u" path="res://assets/tileset/snowland/Snowland@64x64.png" id="1_l1d1t"]
|
||||
[ext_resource type="Script" path="res://scripts/stages/3/game_manager.gd" id="1_u4jwa"]
|
||||
|
@ -12,6 +12,8 @@
|
|||
[ext_resource type="PackedScene" uid="uid://wywjvwp7ausj" path="res://scenes/ui/defeat.tscn" id="9_4p6iy"]
|
||||
[ext_resource type="PackedScene" uid="uid://cikgeqqhctm7k" path="res://scenes/base/base.tscn" id="9_057um"]
|
||||
[ext_resource type="AudioStream" uid="uid://bn6agbc77m0au" path="res://assets/audio/stage.mp3" id="12_1fpbf"]
|
||||
[ext_resource type="PackedScene" uid="uid://p0lkipd6a5lu" path="res://scenes/marker/marker.tscn" id="12_wt6oj"]
|
||||
[ext_resource type="Texture2D" uid="uid://dca4npsxwr1m3" path="res://assets/icons/base-mark.png" id="14_w4pps"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_xqebe"]
|
||||
texture = ExtResource("1_l1d1t")
|
||||
|
@ -260,6 +262,12 @@ layer_1/y_sort_origin = 0
|
|||
layer_1/z_index = 0
|
||||
layer_1/tile_data = PackedInt32Array(65551, 327680, 11, 196624, 196608, 7, 196622, 196608, 7, 65549, 524288, 11, 196621, 720896, 12, 65537, 917504, 15, 589840, 786432, 5)
|
||||
|
||||
[node name="BaseMark" type="Sprite2D" parent="."]
|
||||
modulate = Color(1, 1, 1, 0.588235)
|
||||
position = Vector2(46, 547)
|
||||
scale = Vector2(0.07, 0.07)
|
||||
texture = ExtResource("14_w4pps")
|
||||
|
||||
[node name="Path2D" type="Path2D" parent="."]
|
||||
curve = SubResource("Curve2D_cwxcl")
|
||||
script = ExtResource("3_wyim2")
|
||||
|
@ -308,13 +316,16 @@ position = Vector2(-37, 541)
|
|||
[node name="base3" parent="Bases" instance=ExtResource("9_057um")]
|
||||
position = Vector2(-36, 587)
|
||||
|
||||
[node name="marker" parent="." instance=ExtResource("12_wt6oj")]
|
||||
position = Vector2(733, 82)
|
||||
direction = "up"
|
||||
|
||||
[node name="Duration" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("12_1fpbf")
|
||||
volume_db = 1.0
|
||||
autoplay = true
|
||||
|
||||
[connection signal="timeout" from="Path2D/Timer" to="Path2D" method="_on_timer_timeout"]
|
||||
[connection signal="timeout" from="Duration" to="." method="_on_duration_timeout"]
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
[gd_scene load_steps=17 format=3 uid="uid://cxo5fh50r6uxs"]
|
||||
[gd_scene load_steps=19 format=3 uid="uid://cxo5fh50r6uxs"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bq6hnxbt4w37u" path="res://assets/tileset/snowland/Snowland@64x64.png" id="1_436vn"]
|
||||
[ext_resource type="Script" path="res://scripts/stages/4/game_manager.gd" id="1_lhtrq"]
|
||||
[ext_resource type="Script" path="res://scripts/stages/4/summon.gd" id="3_iv4av"]
|
||||
[ext_resource type="Texture2D" uid="uid://dca4npsxwr1m3" path="res://assets/icons/base-mark.png" id="3_ksc7k"]
|
||||
[ext_resource type="PackedScene" uid="uid://bhnv1dsggssil" path="res://scenes/ui/pause_menu.tscn" id="4_ahd74"]
|
||||
[ext_resource type="PackedScene" uid="uid://cd5r1v6f8hahx" path="res://scenes/ui/tower_menu.tscn" id="5_31eq4"]
|
||||
[ext_resource type="PackedScene" uid="uid://cy88k4uxt1v37" path="res://scenes/ui/game_stats.tscn" id="6_hgjt3"]
|
||||
|
@ -12,6 +13,7 @@
|
|||
[ext_resource type="PackedScene" uid="uid://r8kq68v8iflb" path="res://scenes/ui/victory.tscn" id="8_x1qs2"]
|
||||
[ext_resource type="PackedScene" uid="uid://wywjvwp7ausj" path="res://scenes/ui/defeat.tscn" id="9_wmgvj"]
|
||||
[ext_resource type="AudioStream" uid="uid://bn6agbc77m0au" path="res://assets/audio/stage.mp3" id="12_8sjqs"]
|
||||
[ext_resource type="PackedScene" uid="uid://p0lkipd6a5lu" path="res://scenes/marker/marker.tscn" id="12_ko7mu"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_8oq7c"]
|
||||
texture = ExtResource("1_436vn")
|
||||
|
@ -259,6 +261,18 @@ tile_set = SubResource("TileSet_pcst7")
|
|||
format = 2
|
||||
layer_0/tile_data = PackedInt32Array(131084, 786432, 8, 131083, 786432, 8, 131082, 786432, 8, 131081, 786432, 8, 131080, 786432, 8, 196616, 786432, 8, 262152, 786432, 8, 327688, 786432, 8, 458752, 786432, 8, 458753, 786432, 8, 458754, 786432, 8, 458755, 786432, 8, 458756, 786432, 8, 458757, 786432, 8, 458758, 786432, 8, 458759, 786432, 8, 458760, 786432, 8, 458761, 786432, 8, 458763, 786432, 8, 524299, 786432, 8, 524300, 786432, 8, 524301, 786432, 8, 524302, 786432, 8, 524305, 786432, 8, 524304, 786432, 8, 524303, 786432, 8, 458762, 786432, 8, 393224, 786432, 8, 524306, 786432, 8, 524287, 786432, 8, -65522, 786432, 8, 14, 786432, 8, 65550, 786432, 8, 131086, 786432, 8, 131085, 786432, 8, 589842, 720896, 0, 589840, 720896, 0, 589841, 720896, 0, 589839, 720896, 0, 589838, 720896, 0, 589837, 720896, 0, 589836, 720896, 0, 589835, 720896, 0, 589834, 917504, 1, 524298, 851968, 0, 524297, 720896, 0, 524296, 720896, 0, 524295, 786432, 0, 524288, 786432, 0, 196620, 786432, 0, 524289, 720896, 0, 524290, 720896, 0, 524291, 720896, 0, 524292, 720896, 0, 524293, 720896, 0, 524294, 720896, 0, 589823, 720896, 0, 458766, 720896, 3, 458767, 786432, 3, 458768, 786432, 3, 458769, 786432, 3, 458770, 786432, 3, 458765, 786432, 3, 458764, 655360, 3, 393228, 983040, 0, 393226, 786432, 3, 393227, 786432, 3, 393225, 655360, 3, 262153, 655360, 2, 327689, 655360, 2, 196618, 720896, 0, 196619, 720896, 0, 196621, 720896, 0, 196622, 720896, 0, 196623, 983040, 1, -65521, 655360, 2, 15, 655360, 2, 65551, 655360, 2, 131087, 655360, 2, 196617, 655360, 0, 458751, 786432, 3, 393216, 786432, 3, 393217, 786432, 3, 393218, 786432, 3, 393219, 786432, 3, 393220, 786432, 3, 393221, 786432, 3, 393222, 786432, 3, 131079, 851968, 1, 196615, 851968, 1, 262151, 851968, 1, 327687, 851968, 1, 393223, 851968, 3, 65543, 917504, 0, 65544, 786432, 3, 65545, 786432, 3, 65546, 786432, 3, 65547, 786432, 3, 65548, 786432, 3, 65549, 851968, 3, -65523, 851968, 1, 13, 851968, 1, 589824, 720896, 2, 589825, 720896, 2, 589826, 720896, 2, 589827, 720896, 2, 589828, 720896, 2, 589829, 720896, 2, 589830, 720896, 2, 589831, 720896, 2, 589832, 786432, 2, 589833, 720896, 2, 393233, 720896, 2, 327697, 720896, 2, 262161, 720896, 2, 262160, 720896, 1, 196624, 720896, 2, 131088, 786432, 2, 65552, 720896, 2, 16, 720896, 2, 17, 720896, 2, 65553, 720896, 2, 131089, 720896, 2, 196625, 720896, 2, 327696, 720896, 2, 393232, 720896, 2, 393231, 720896, 2, 393230, 786432, 2, 393229, 720896, 2, 327693, 720896, 2, 327692, 720896, 2, 327691, 720896, 2, 327690, 786432, 2, 262154, 720896, 2, 262155, 720896, 2, 262156, 720896, 2, 262157, 720896, 2, 262158, 720896, 2, 262159, 720896, 2, 327680, 720896, 2, 262144, 720896, 2, 196608, 720896, 2, 131072, 720896, 2, 65536, 720896, 2, 0, 720896, 2, 1, 720896, 2, 2, 720896, 2, 3, 720896, 2, 4, 720896, 2, 5, 720896, 2, 6, 720896, 2, 7, 720896, 2, 8, 720896, 2, 9, 720896, 2, 10, 720896, 2, 12, 720896, 2, 65542, 720896, 2, 131078, 720896, 2, 196614, 786432, 2, 262150, 720896, 2, 327686, 720896, 2, 327685, 720896, 2, 327684, 720896, 2, 327683, 720896, 2, 327682, 720896, 2, 327681, 720896, 2, 262145, 720896, 2, 196609, 720896, 1, 131073, 720896, 2, 65537, 786432, 1, 65538, 720896, 2, 65539, 720896, 2, 65540, 720896, 2, 65541, 720896, 2, 131077, 720896, 2, 196613, 720896, 2, 262149, 720896, 2, 262148, 720896, 1, 262146, 720896, 1, 196610, 720896, 2, 131074, 720896, 2, 131075, 720896, 2, 131076, 786432, 1, 196612, 720896, 2, 196611, 720896, 2, 655378, 720896, 2, 655377, 720896, 2, 655376, 720896, 2, 655375, 720896, 2, 655374, 720896, 2, 655373, 720896, 2, 655372, 720896, 2, 655371, 720896, 2, 655370, 720896, 2, 655369, 720896, 2, 655368, 720896, 2, 655367, 720896, 2, 655366, 720896, 2, 655365, 720896, 2, 655364, 720896, 2, 655363, 720896, 2, 655362, 720896, 2, 655361, 720896, 2, 655360, 720896, 2, 327695, 720896, 2, 327694, 720896, 2, 262147, 720896, 2, 11, 786432, 1)
|
||||
|
||||
[node name="BaseMark" type="Sprite2D" parent="."]
|
||||
modulate = Color(1, 1, 1, 0.588235)
|
||||
position = Vector2(1106, 544)
|
||||
scale = Vector2(0.07, 0.07)
|
||||
texture = ExtResource("3_ksc7k")
|
||||
|
||||
[node name="BaseMark2" type="Sprite2D" parent="."]
|
||||
modulate = Color(1, 1, 1, 0.588235)
|
||||
position = Vector2(927, 41)
|
||||
scale = Vector2(0.07, 0.07)
|
||||
texture = ExtResource("3_ksc7k")
|
||||
|
||||
[node name="Path2D" type="Path2D" parent="."]
|
||||
curve = SubResource("Curve2D_jkmm5")
|
||||
script = ExtResource("3_iv4av")
|
||||
|
@ -324,13 +338,16 @@ position = Vector2(910, -44)
|
|||
[node name="base4" parent="Bases" instance=ExtResource("8_trc1r")]
|
||||
position = Vector2(951, -44)
|
||||
|
||||
[node name="marker" parent="." instance=ExtResource("12_ko7mu")]
|
||||
position = Vector2(99, 479)
|
||||
direction = "left"
|
||||
|
||||
[node name="Duration" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("12_8sjqs")
|
||||
volume_db = 1.0
|
||||
autoplay = true
|
||||
|
||||
[connection signal="timeout" from="Path2D/Timer" to="Path2D" method="_on_timer_timeout"]
|
||||
[connection signal="timeout" from="Path2D2/Timer" to="Path2D2" method="_on_timer_timeout"]
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
[gd_scene load_steps=17 format=3 uid="uid://i18iy1wmek4s"]
|
||||
[gd_scene load_steps=19 format=3 uid="uid://i18iy1wmek4s"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/stages/5/game_manager.gd" id="1_kectu"]
|
||||
[ext_resource type="Texture2D" uid="uid://bq6hnxbt4w37u" path="res://assets/tileset/snowland/Snowland@64x64.png" id="1_s0uo6"]
|
||||
[ext_resource type="PackedScene" uid="uid://bhnv1dsggssil" path="res://scenes/ui/pause_menu.tscn" id="2_tph65"]
|
||||
[ext_resource type="PackedScene" uid="uid://cd5r1v6f8hahx" path="res://scenes/ui/tower_menu.tscn" id="3_dwrfi"]
|
||||
[ext_resource type="Script" path="res://scripts/stages/5/summon.gd" id="3_h0a0o"]
|
||||
[ext_resource type="Texture2D" uid="uid://dca4npsxwr1m3" path="res://assets/icons/base-mark.png" id="3_ygwr3"]
|
||||
[ext_resource type="PackedScene" uid="uid://cy88k4uxt1v37" path="res://scenes/ui/game_stats.tscn" id="4_qm2yl"]
|
||||
[ext_resource type="PackedScene" uid="uid://bvoenhbaqiqj2" path="res://scenes/towers/placement/placement.tscn" id="5_vmpbi"]
|
||||
[ext_resource type="PackedScene" uid="uid://cikgeqqhctm7k" path="res://scenes/base/base.tscn" id="6_yj08v"]
|
||||
|
@ -12,6 +13,7 @@
|
|||
[ext_resource type="PackedScene" uid="uid://r8kq68v8iflb" path="res://scenes/ui/victory.tscn" id="8_j6swr"]
|
||||
[ext_resource type="PackedScene" uid="uid://wywjvwp7ausj" path="res://scenes/ui/defeat.tscn" id="9_m6s5a"]
|
||||
[ext_resource type="AudioStream" uid="uid://bn6agbc77m0au" path="res://assets/audio/stage.mp3" id="12_2xeuw"]
|
||||
[ext_resource type="PackedScene" uid="uid://p0lkipd6a5lu" path="res://scenes/marker/marker.tscn" id="12_c8uq2"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_pf042"]
|
||||
texture = ExtResource("1_s0uo6")
|
||||
|
@ -266,6 +268,12 @@ layer_1/y_sort_origin = 0
|
|||
layer_1/z_index = 0
|
||||
layer_1/tile_data = PackedInt32Array(589828, 786432, 9, 589831, 786432, 9, 196614, 786432, 9, 589834, 720896, 9, 65552, 720896, 9, 65541, 720896, 9, 458768, 786432, 9, 524289, 589824, 3, 589826, 655360, 4, 589824, 655360, 4, 262154, 589824, 13, 327681, 786432, 5)
|
||||
|
||||
[node name="BaseMark" type="Sprite2D" parent="."]
|
||||
modulate = Color(1, 1, 1, 0.588235)
|
||||
position = Vector2(929, 612)
|
||||
scale = Vector2(0.07, 0.07)
|
||||
texture = ExtResource("3_ygwr3")
|
||||
|
||||
[node name="Path2D" type="Path2D" parent="."]
|
||||
curve = SubResource("Curve2D_sq2la")
|
||||
script = ExtResource("3_h0a0o")
|
||||
|
@ -322,13 +330,20 @@ position = Vector2(902, 682)
|
|||
[node name="base2" parent="Bases" instance=ExtResource("6_yj08v")]
|
||||
position = Vector2(947, 681)
|
||||
|
||||
[node name="marker" parent="." instance=ExtResource("12_c8uq2")]
|
||||
position = Vector2(108, 159)
|
||||
direction = "left"
|
||||
|
||||
[node name="marker2" parent="." instance=ExtResource("12_c8uq2")]
|
||||
position = Vector2(674, 115)
|
||||
direction = "up"
|
||||
|
||||
[node name="Duration" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("12_2xeuw")
|
||||
volume_db = 1.0
|
||||
autoplay = true
|
||||
|
||||
[connection signal="timeout" from="Path2D/Timer" to="Path2D" method="_on_timer_timeout"]
|
||||
[connection signal="timeout" from="Path2D2/Timer" to="Path2D2" method="_on_timer_timeout"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=18 format=3 uid="uid://dcecwku0if8tg"]
|
||||
[gd_scene load_steps=20 format=3 uid="uid://dcecwku0if8tg"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/stages/6/game_manager.gd" id="1_04mdc"]
|
||||
[ext_resource type="Texture2D" uid="uid://d36b03p0hs8kw" path="res://assets/tileset/ashlands/ashlands-32x32.png" id="1_a4nl1"]
|
||||
|
@ -12,6 +12,8 @@
|
|||
[ext_resource type="PackedScene" uid="uid://r8kq68v8iflb" path="res://scenes/ui/victory.tscn" id="9_pc113"]
|
||||
[ext_resource type="PackedScene" uid="uid://wywjvwp7ausj" path="res://scenes/ui/defeat.tscn" id="10_fyg8a"]
|
||||
[ext_resource type="AudioStream" uid="uid://bn6agbc77m0au" path="res://assets/audio/stage.mp3" id="12_is64a"]
|
||||
[ext_resource type="PackedScene" uid="uid://p0lkipd6a5lu" path="res://scenes/marker/marker.tscn" id="12_xutrf"]
|
||||
[ext_resource type="Texture2D" uid="uid://dca4npsxwr1m3" path="res://assets/icons/base-mark.png" id="14_f4lh3"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ebym7"]
|
||||
texture = ExtResource("1_a4nl1")
|
||||
|
@ -648,6 +650,18 @@ layer_1/y_sort_origin = 0
|
|||
layer_1/z_index = 0
|
||||
layer_1/tile_data = PackedInt32Array(851979, 1507338, 16, 786444, 1376266, 16, 786452, 1310730, 16, 851989, 1441802, 16, 1245209, 1507338, 16, 1179678, 1638410, 14, 1114143, 1507338, 14, 1114140, 1441802, 14, 589827, 1638410, 14, 327698, 1507338, 16, 393246, 1376266, 16, 524319, 1310730, 16, 1179659, 1441802, 14, 1179660, 1376266, 14, 589853, 1703946, 12, 393238, 1703946, 12, 786450, 1703946, 12, 393227, 1703946, 12, 851974, 1703946, 12, 327713, 1638410, 14, 393247, 1507338, 14, 262174, 1441802, 14, 262157, 1376266, 14, 262158, 1310730, 15, 196624, 1507338, 14, 1114136, 1703946, 12)
|
||||
|
||||
[node name="BaseMark" type="Sprite2D" parent="."]
|
||||
modulate = Color(1, 1, 1, 0.588235)
|
||||
position = Vector2(704, 610)
|
||||
scale = Vector2(0.07, 0.07)
|
||||
texture = ExtResource("14_f4lh3")
|
||||
|
||||
[node name="BaseMark2" type="Sprite2D" parent="."]
|
||||
modulate = Color(1, 1, 1, 0.588235)
|
||||
position = Vector2(128, 610)
|
||||
scale = Vector2(0.07, 0.07)
|
||||
texture = ExtResource("14_f4lh3")
|
||||
|
||||
[node name="Path2D" type="Path2D" parent="."]
|
||||
curve = SubResource("Curve2D_iccfv")
|
||||
script = ExtResource("3_gvmm4")
|
||||
|
@ -724,13 +738,23 @@ position = Vector2(106, 667)
|
|||
[node name="base4" parent="Bases" instance=ExtResource("6_h3kdb")]
|
||||
position = Vector2(149, 667)
|
||||
|
||||
[node name="marker" parent="." instance=ExtResource("12_xutrf")]
|
||||
position = Vector2(135, 131)
|
||||
direction = "left"
|
||||
|
||||
[node name="marker2" parent="." instance=ExtResource("12_xutrf")]
|
||||
position = Vector2(799, 111)
|
||||
direction = "up"
|
||||
|
||||
[node name="marker3" parent="." instance=ExtResource("12_xutrf")]
|
||||
position = Vector2(1021, 388)
|
||||
|
||||
[node name="Duration" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("12_is64a")
|
||||
volume_db = 1.0
|
||||
autoplay = true
|
||||
|
||||
[connection signal="timeout" from="Path2D/Timer" to="Path2D" method="_on_timer_timeout"]
|
||||
[connection signal="timeout" from="Path2D2/Timer" to="Path2D2" method="_on_timer_timeout"]
|
||||
|
|
|
@ -72,7 +72,10 @@ text = "Developed By :
|
|||
|
||||
Supervisor :
|
||||
- Ir. Jeanny Pragantha, M. Eng
|
||||
- Darius Andana Haris, M. TI"
|
||||
- Darius Andana Haris, M. TI
|
||||
|
||||
|
||||
Version : 0.5.0"
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="Panel/MarginContainer/VBoxContainer/HBoxContainer2"]
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
[gd_scene load_steps=6 format=3 uid="uid://b8pdp1x331u5c"]
|
||||
[gd_scene load_steps=7 format=3 uid="uid://b8pdp1x331u5c"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://c1qbpse383sys" path="res://assets/backgrounds/main-bg.png" id="1_28cjd"]
|
||||
[ext_resource type="Script" path="res://scripts/ui/main_menu.gd" id="1_6741p"]
|
||||
[ext_resource type="Texture2D" uid="uid://dm8ug0o5361wn" path="res://assets/icons/logo.png" id="2_l26fo"]
|
||||
[ext_resource type="Theme" uid="uid://caw53lcko4jnt" path="res://themes/button.tres" id="4_4d3eq"]
|
||||
[ext_resource type="Texture2D" uid="uid://cgaqy7lcu4x78" path="res://assets/icons/settings.png" id="5_kbtiw"]
|
||||
[ext_resource type="AudioStream" uid="uid://dhydsnb0wpl7t" path="res://assets/audio/main.mp3" id="5_xkvpi"]
|
||||
|
||||
[node name="MainMenu" type="Control"]
|
||||
|
@ -88,6 +89,15 @@ size_flags_horizontal = 10
|
|||
theme = ExtResource("4_4d3eq")
|
||||
text = "Exit"
|
||||
|
||||
[node name="Settings" type="TextureButton" parent="TextureRect/Panel"]
|
||||
layout_mode = 0
|
||||
offset_left = 52.0
|
||||
offset_top = 51.0
|
||||
offset_right = 572.0
|
||||
offset_bottom = 571.0
|
||||
scale = Vector2(0.1, 0.1)
|
||||
texture_normal = ExtResource("5_kbtiw")
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 30.0
|
||||
one_shot = true
|
||||
|
@ -95,11 +105,13 @@ one_shot = true
|
|||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("5_xkvpi")
|
||||
volume_db = 1.0
|
||||
autoplay = true
|
||||
|
||||
[connection signal="pressed" from="TextureRect/Panel/MarginContainer/VBoxContainer/TextureButton" to="." method="_on_logo_pressed"]
|
||||
[connection signal="pressed" from="TextureRect/Panel/MarginContainer/VBoxContainer/VBoxContainer/StartGame" to="." method="_on_start_game_pressed"]
|
||||
[connection signal="pressed" from="TextureRect/Panel/MarginContainer/VBoxContainer/VBoxContainer/HowToPlay" to="." method="_on_how_to_play_pressed"]
|
||||
[connection signal="pressed" from="TextureRect/Panel/MarginContainer/VBoxContainer/HBoxContainer/About" to="." method="_on_about_pressed"]
|
||||
[connection signal="pressed" from="TextureRect/Panel/MarginContainer/VBoxContainer/HBoxContainer/Exit" to="." method="_on_exit_pressed"]
|
||||
[connection signal="mouse_entered" from="TextureRect/Panel/Settings" to="." method="_on_settings_hold"]
|
||||
[connection signal="mouse_exited" from="TextureRect/Panel/Settings" to="." method="_on_settings_release"]
|
||||
[connection signal="pressed" from="TextureRect/Panel/Settings" to="." method="_on_settings_pressed"]
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||
|
|
|
@ -223,7 +223,6 @@ text = "6"
|
|||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("11_1rv5g")
|
||||
volume_db = 1.0
|
||||
autoplay = true
|
||||
|
||||
[connection signal="pressed" from="Panel/MarginContainer/VBoxContainer/HBoxContainer/Back" to="." method="_on_back_pressed"]
|
||||
[connection signal="pressed" from="Panel/MarginContainer/VBoxContainer/HBoxContainer2/MarginContainer/Stage 1" to="." method="_on_stage_1_pressed"]
|
||||
|
|
108
scenes/ui/settings.tscn
Normal file
108
scenes/ui/settings.tscn
Normal file
|
@ -0,0 +1,108 @@
|
|||
[gd_scene load_steps=6 format=3 uid="uid://ons67oqg25vu"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/ui/settings.gd" id="1_kci63"]
|
||||
[ext_resource type="Theme" uid="uid://bt3yyqwlp4f7j" path="res://themes/title_text.tres" id="2_2enke"]
|
||||
[ext_resource type="Theme" uid="uid://caw53lcko4jnt" path="res://themes/button.tres" id="3_jiiby"]
|
||||
|
||||
[sub_resource type="Theme" id="Theme_ulpvq"]
|
||||
Label/font_sizes/font_size = 30
|
||||
|
||||
[sub_resource type="Theme" id="Theme_23erg"]
|
||||
|
||||
[node name="Settings" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_kci63")
|
||||
|
||||
[node name="Panel" type="Panel" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Panel"]
|
||||
layout_mode = 2
|
||||
offset_left = 20.0
|
||||
offset_top = 20.0
|
||||
offset_right = 1132.0
|
||||
offset_bottom = 82.0
|
||||
|
||||
[node name="Label" type="Label" parent="Panel/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
theme = ExtResource("2_2enke")
|
||||
text = "Settings"
|
||||
|
||||
[node name="Back" type="Button" parent="Panel/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 10
|
||||
size_flags_vertical = 0
|
||||
theme = ExtResource("3_jiiby")
|
||||
text = "Back"
|
||||
|
||||
[node name="Volume" type="Label" parent="Panel"]
|
||||
layout_mode = 0
|
||||
offset_left = 23.0
|
||||
offset_top = 173.0
|
||||
offset_right = 233.0
|
||||
offset_bottom = 218.0
|
||||
theme = SubResource("Theme_ulpvq")
|
||||
text = "Sound Volume"
|
||||
|
||||
[node name="VolumeSlider" type="HSlider" parent="Panel"]
|
||||
layout_mode = 0
|
||||
offset_left = 281.0
|
||||
offset_top = 181.0
|
||||
offset_right = 634.0
|
||||
offset_bottom = 197.0
|
||||
scale = Vector2(2, 2)
|
||||
min_value = -40.0
|
||||
max_value = 1.0
|
||||
value = 1.0
|
||||
|
||||
[node name="BGM" type="Label" parent="Panel"]
|
||||
layout_mode = 0
|
||||
offset_left = 23.0
|
||||
offset_top = 260.0
|
||||
offset_right = 233.0
|
||||
offset_bottom = 305.0
|
||||
theme = SubResource("Theme_ulpvq")
|
||||
text = "BGM"
|
||||
|
||||
[node name="BGMController" type="CheckButton" parent="Panel"]
|
||||
layout_mode = 0
|
||||
offset_left = 267.0
|
||||
offset_top = 256.0
|
||||
offset_right = 311.0
|
||||
offset_bottom = 280.0
|
||||
scale = Vector2(2, 2)
|
||||
theme = SubResource("Theme_23erg")
|
||||
|
||||
[node name="SFX" type="Label" parent="Panel"]
|
||||
layout_mode = 0
|
||||
offset_left = 24.0
|
||||
offset_top = 352.0
|
||||
offset_right = 234.0
|
||||
offset_bottom = 397.0
|
||||
theme = SubResource("Theme_ulpvq")
|
||||
text = "SFX"
|
||||
|
||||
[node name="SFXController" type="CheckButton" parent="Panel"]
|
||||
layout_mode = 0
|
||||
offset_left = 267.0
|
||||
offset_top = 347.0
|
||||
offset_right = 311.0
|
||||
offset_bottom = 371.0
|
||||
scale = Vector2(2, 2)
|
||||
|
||||
[connection signal="pressed" from="Panel/HBoxContainer/Back" to="." method="_on_back_pressed"]
|
||||
[connection signal="value_changed" from="Panel/VolumeSlider" to="." method="_on_volume_slider_value_changed"]
|
||||
[connection signal="toggled" from="Panel/BGMController" to="." method="_on_bgm_controller_toggled"]
|
||||
[connection signal="toggled" from="Panel/SFXController" to="." method="_on_sfx_controller_toggled"]
|
|
@ -6,10 +6,14 @@ var speed: int = 0
|
|||
var damage: int = 0
|
||||
var dir = 0
|
||||
var area_damage: bool = false
|
||||
var area_damage_target = []
|
||||
var slow_effect: bool = false
|
||||
|
||||
var enemies = []
|
||||
var stop: bool = false
|
||||
|
||||
func _physics_process(_delta):
|
||||
if stop:
|
||||
return
|
||||
var move_dir = Vector2(1,0).rotated(dir)
|
||||
global_position += (move_dir * speed)
|
||||
|
||||
|
@ -19,11 +23,23 @@ func _on_VisibilityNotifier2D_screen_exited():
|
|||
func _on_Bullet_body_entered(body):
|
||||
if body.is_in_group("Enemy"):
|
||||
if area_damage:
|
||||
for enemy in area_damage_target:
|
||||
$Sprite2D.hide()
|
||||
stop = true
|
||||
$AnimatedSprite2D.visible = true
|
||||
$AnimatedSprite2D.play("default")
|
||||
for enemy in enemies:
|
||||
enemy.hit(damage)
|
||||
await get_tree().create_timer(0.5).timeout
|
||||
elif slow_effect:
|
||||
body.get_parent().hit(damage)
|
||||
body.get_parent().slow()
|
||||
else:
|
||||
body.get_parent().hit(damage)
|
||||
queue_free()
|
||||
|
||||
func _on_body_entered(body):
|
||||
if body.is_in_group("Enemy"):
|
||||
enemies.append(body.get_parent())
|
||||
|
||||
func _on_body_exited(body):
|
||||
enemies.erase(body.get_parent())
|
|
@ -8,11 +8,13 @@ var speed: float = 0
|
|||
var reward: int = 0
|
||||
var direction_progress = []
|
||||
var direction = []
|
||||
var current_direction = ''
|
||||
|
||||
var enemy_vol = Vector2(1,1)
|
||||
var old_enemy_pos
|
||||
var max_health: int = 0
|
||||
var is_slow: bool = false
|
||||
var is_dead: bool = false
|
||||
|
||||
func set_config(config_path):
|
||||
config = load(config_path).new()
|
||||
|
@ -40,17 +42,25 @@ func _ready():
|
|||
func _process(delta):
|
||||
update_healthbar()
|
||||
change_direction(get_progress())
|
||||
if health < 1:
|
||||
get_tree().current_scene.on_enemy_reward(reward)
|
||||
queue_free()
|
||||
set_progress(get_progress() + speed * delta)
|
||||
enemy_vol = global_position - old_enemy_pos
|
||||
old_enemy_pos = global_position
|
||||
if !is_dead:
|
||||
if health < 1:
|
||||
is_dead = true
|
||||
$EnemyBody.remove_from_group("Enemy")
|
||||
$EnemyBody/AnimatedSprite2D.play("{direction}_dead".format({"direction": current_direction}))
|
||||
get_tree().current_scene.on_enemy_reward(reward)
|
||||
$EnemyBody/DeadTimer.start()
|
||||
|
||||
set_progress(get_progress() + speed * delta)
|
||||
enemy_vol = global_position - old_enemy_pos
|
||||
old_enemy_pos = global_position
|
||||
else:
|
||||
$EnemyBody/HealthBar.visible = false
|
||||
|
||||
func change_direction(current_progress):
|
||||
if !direction_progress.is_empty():
|
||||
if current_progress > direction_progress[0]:
|
||||
$EnemyBody/AnimatedSprite2D.play(direction[0])
|
||||
current_direction = direction[0]
|
||||
direction_progress.erase(direction_progress[0])
|
||||
direction.erase(direction[0])
|
||||
|
||||
|
@ -69,14 +79,19 @@ func slow():
|
|||
slowTimer.stop()
|
||||
slowTimer.start()
|
||||
else:
|
||||
$EnemyBody/AnimatedSprite2D.modulate = Color(0.0627, 0.3137, 0.4588, 1)
|
||||
speed = speed - (0.3 * speed)
|
||||
is_slow = true
|
||||
slowTimer.wait_time = 6.0
|
||||
slowTimer.start()
|
||||
|
||||
func _on_slow_timer_timeout():
|
||||
$EnemyBody/AnimatedSprite2D.modulate = Color(1, 1, 1, 1)
|
||||
speed = config.enemy[enemy_id]['speed']
|
||||
is_slow = false
|
||||
|
||||
func _on_dead_timer_timeout():
|
||||
destroy()
|
||||
|
||||
func destroy():
|
||||
queue_free()
|
||||
queue_free()
|
6
scripts/global.gd
Normal file
6
scripts/global.gd
Normal file
|
@ -0,0 +1,6 @@
|
|||
extends Node
|
||||
|
||||
|
||||
var sound_volume = 1
|
||||
var bgm_status = true
|
||||
var sfx_status = true
|
20
scripts/marker/marker.gd
Normal file
20
scripts/marker/marker.gd
Normal file
|
@ -0,0 +1,20 @@
|
|||
extends Node
|
||||
|
||||
|
||||
@export var direction = "right"
|
||||
|
||||
func _ready():
|
||||
match direction:
|
||||
"up":
|
||||
$up.visible = true
|
||||
"down":
|
||||
$down.visible = true
|
||||
"left":
|
||||
$left.visible = true
|
||||
"right":
|
||||
$right.visible = true
|
||||
_:
|
||||
$right.visible = true
|
||||
|
||||
func _on_timer_timeout():
|
||||
queue_free()
|
|
@ -23,6 +23,10 @@ func _ready():
|
|||
# Init Engine time scale
|
||||
Engine.time_scale = 1.0
|
||||
|
||||
# Check BGM Status
|
||||
if Global.bgm_status:
|
||||
$AudioStreamPlayer.play()
|
||||
|
||||
# Set Duration & Start Timer
|
||||
duration.wait_time = config.game['duration']
|
||||
duration.start()
|
||||
|
|
|
@ -22,6 +22,10 @@ func _ready():
|
|||
# Init Engine time scale
|
||||
Engine.time_scale = 1.0
|
||||
|
||||
# Check BGM Status
|
||||
if Global.bgm_status:
|
||||
$AudioStreamPlayer.play()
|
||||
|
||||
# Set Duration & Start Timer
|
||||
duration.wait_time = config.game['duration']
|
||||
duration.start()
|
||||
|
|
|
@ -21,6 +21,10 @@ func _ready():
|
|||
|
||||
# Init Engine time scale
|
||||
Engine.time_scale = 1.0
|
||||
|
||||
# Check BGM Status
|
||||
if Global.bgm_status:
|
||||
$AudioStreamPlayer.play()
|
||||
|
||||
# Set Duration & Start Timer
|
||||
duration.wait_time = config.game['duration']
|
||||
|
|
|
@ -21,6 +21,10 @@ func _ready():
|
|||
|
||||
# Init Engine time scale
|
||||
Engine.time_scale = 1.0
|
||||
|
||||
# Check BGM Status
|
||||
if Global.bgm_status:
|
||||
$AudioStreamPlayer.play()
|
||||
|
||||
# Set Duration & Start Timer
|
||||
duration.wait_time = config.game['duration']
|
||||
|
|
|
@ -22,6 +22,10 @@ func _ready():
|
|||
# Init Engine time scale
|
||||
Engine.time_scale = 1.0
|
||||
|
||||
# Check BGM Status
|
||||
if Global.bgm_status:
|
||||
$AudioStreamPlayer.play()
|
||||
|
||||
# Set Duration & Start Timer
|
||||
duration.wait_time = config.game['duration']
|
||||
duration.start()
|
||||
|
|
|
@ -21,6 +21,10 @@ func _ready():
|
|||
|
||||
# Init Engine time scale
|
||||
Engine.time_scale = 1.0
|
||||
|
||||
# Check BGM Status
|
||||
if Global.bgm_status:
|
||||
$AudioStreamPlayer.play()
|
||||
|
||||
# Set Duration & Start Timer
|
||||
duration.wait_time = config.game['duration']
|
||||
|
|
|
@ -51,15 +51,21 @@ func _physics_process(_delta):
|
|||
if enemies.is_empty():
|
||||
$AnimatedSprite2D.stop()
|
||||
else:
|
||||
var distance = global_position.distance_to(enemies[0].global_position)
|
||||
_update_look_at(enemies[0].global_position + enemies[0].enemy_vol * (distance / speed))
|
||||
if timer.is_stopped():
|
||||
$AnimatedSprite2D.play("default")
|
||||
_shoot()
|
||||
if !enemies[0].is_dead:
|
||||
var distance = global_position.distance_to(enemies[0].global_position)
|
||||
_update_look_at(enemies[0].global_position + enemies[0].enemy_vol * (distance / speed))
|
||||
if timer.is_stopped():
|
||||
$AnimatedSprite2D.play("default")
|
||||
_shoot()
|
||||
else:
|
||||
enemies.erase(enemies[0])
|
||||
|
||||
func _shoot():
|
||||
if bullet:
|
||||
shoot.play()
|
||||
# Check SFX Status
|
||||
if Global.sfx_status:
|
||||
shoot.play()
|
||||
|
||||
var bullet_instance: Node2D = bullet.instantiate()
|
||||
bullet_instance.dir = rotation
|
||||
bullet_instance.rotation = rotation
|
||||
|
@ -67,7 +73,6 @@ func _shoot():
|
|||
bullet_instance.speed = speed
|
||||
bullet_instance.damage = damage
|
||||
bullet_instance.area_damage = area_damage
|
||||
bullet_instance.area_damage_target = enemies
|
||||
bullet_instance.slow_effect = slow_effect
|
||||
get_tree().current_scene.add_child(bullet_instance)
|
||||
health -= durability_reduction
|
||||
|
|
|
@ -21,6 +21,10 @@ func _ready():
|
|||
if OS.get_name() == "Web":
|
||||
$TextureRect/Panel/MarginContainer/VBoxContainer/HBoxContainer/Exit.hide()
|
||||
|
||||
# Check BGM Status
|
||||
if Global.bgm_status:
|
||||
$AudioStreamPlayer.play()
|
||||
|
||||
func _on_logo_pressed():
|
||||
if timer.is_stopped():
|
||||
timer.start()
|
||||
|
@ -51,5 +55,14 @@ func _on_how_to_play_pressed():
|
|||
func _on_about_pressed():
|
||||
get_tree().change_scene_to_file("res://scenes/ui/about.tscn")
|
||||
|
||||
func _on_settings_pressed():
|
||||
get_tree().change_scene_to_file("res://scenes/ui/settings.tscn")
|
||||
|
||||
func _on_settings_hold():
|
||||
$TextureRect/Panel/Settings.modulate = Color(0.541176, 0.541176, 0.541176, 1)
|
||||
|
||||
func _on_settings_release():
|
||||
$TextureRect/Panel/Settings.modulate = Color(1, 1, 1, 1)
|
||||
|
||||
func _on_exit_pressed():
|
||||
get_tree().quit()
|
|
@ -36,6 +36,10 @@ func _ready():
|
|||
_:
|
||||
pass
|
||||
|
||||
# Check BGM Status
|
||||
if Global.bgm_status:
|
||||
$AudioStreamPlayer.play()
|
||||
|
||||
func _on_back_pressed():
|
||||
get_tree().change_scene_to_file("res://scenes/ui/main_menu.tscn")
|
||||
|
||||
|
|
23
scripts/ui/settings.gd
Normal file
23
scripts/ui/settings.gd
Normal file
|
@ -0,0 +1,23 @@
|
|||
extends Control
|
||||
|
||||
|
||||
var bus_master = AudioServer.get_bus_index("Master")
|
||||
|
||||
func _ready():
|
||||
$Panel/VolumeSlider.value = Global.sound_volume
|
||||
$Panel/BGMController.button_pressed = Global.bgm_status
|
||||
$Panel/SFXController.button_pressed = Global.sfx_status
|
||||
|
||||
func _on_back_pressed():
|
||||
get_tree().change_scene_to_file("res://scenes/ui/main_menu.tscn")
|
||||
|
||||
func _on_volume_slider_value_changed(value):
|
||||
AudioServer.set_bus_volume_db(bus_master, value)
|
||||
AudioServer.set_bus_mute(bus_master, value == $Panel/VolumeSlider.min_value)
|
||||
Global.sound_volume = value
|
||||
|
||||
func _on_bgm_controller_toggled(button_pressed):
|
||||
Global.bgm_status = button_pressed
|
||||
|
||||
func _on_sfx_controller_toggled(button_pressed):
|
||||
Global.sfx_status = button_pressed
|
Loading…
Reference in a new issue