feat: Add new sprite animation assets, including 15sec and 30sec sprites, and initial animation and main scenes with supporting scripts.

This commit is contained in:
Yogi Wiguna
2026-03-25 11:23:16 +08:00
parent a99297dd65
commit f482909df5
10 changed files with 793 additions and 30 deletions
@@ -14,7 +14,7 @@
[ext_resource type="Texture2D" uid="uid://dpkx1a780pvwv" path="res://assets/textures/tile_diamond.png" id="10_sx8rm"] [ext_resource type="Texture2D" uid="uid://dpkx1a780pvwv" path="res://assets/textures/tile_diamond.png" id="10_sx8rm"]
[ext_resource type="BoxMesh" uid="uid://fy4bhoeii40c" path="res://addons/enhanced_gridmap/meshlibrary/tile_safe_zone.tres" id="10_uwjsj"] [ext_resource type="BoxMesh" uid="uid://fy4bhoeii40c" path="res://addons/enhanced_gridmap/meshlibrary/tile_safe_zone.tres" id="10_uwjsj"]
[ext_resource type="BoxMesh" uid="uid://b5cc3prem52r6" path="res://addons/enhanced_gridmap/meshlibrary/tile_freeze.tres" id="11_pgnbl"] [ext_resource type="BoxMesh" uid="uid://b5cc3prem52r6" path="res://addons/enhanced_gridmap/meshlibrary/tile_freeze.tres" id="11_pgnbl"]
[ext_resource type="BoxMesh" path="res://addons/enhanced_gridmap/meshlibrary/tile_non_walkable.tres" id="11_uwjsj"] [ext_resource type="BoxMesh" uid="uid://dcjdwbffgtutt" path="res://addons/enhanced_gridmap/meshlibrary/tile_non_walkable.tres" id="11_uwjsj"]
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_5d0gc"] [sub_resource type="CompressedTexture2D" id="CompressedTexture2D_5d0gc"]
load_path = "res://.godot/imported/tile_heart.png-deeef50755ca225f028608dfd16900e6.s3tc.ctex" load_path = "res://.godot/imported/tile_heart.png-deeef50755ca225f028608dfd16900e6.s3tc.ctex"
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 MiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c0nfjpd7r32bv"
path.s3tc="res://.godot/imported/15sec_sprite.png-7972b797d36f0fc578edbd7437577e89.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/graphics/vfx/effects/15sec_sprite.png"
dest_files=["res://.godot/imported/15sec_sprite.png-7972b797d36f0fc578edbd7437577e89.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b3yv677a4qidp"
path.s3tc="res://.godot/imported/30sec_sprite.png-cd6b2707cdc48c06eab0bd7e3258dd32.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/graphics/vfx/effects/30sec_sprite.png"
dest_files=["res://.godot/imported/30sec_sprite.png-cd6b2707cdc48c06eab0bd7e3258dd32.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
@@ -1,13 +1,367 @@
[gd_resource type="SpriteFrames" format=3 uid="uid://7r0qbbm88vfy"] [gd_resource type="SpriteFrames" format=3 uid="uid://7r0qbbm88vfy"]
[ext_resource type="Texture2D" uid="uid://c0nfjpd7r32bv" path="res://assets/graphics/vfx/effects/15sec_sprite.png" id="1_8bjou"]
[ext_resource type="Texture2D" uid="uid://n04470xevmqh" path="res://assets/graphics/vfx/effects/attack-mode.png" id="1_gjs0m"] [ext_resource type="Texture2D" uid="uid://n04470xevmqh" path="res://assets/graphics/vfx/effects/attack-mode.png" id="1_gjs0m"]
[ext_resource type="Texture2D" uid="uid://d2t23a885h1i0" path="res://assets/graphics/vfx/effects/freeze.png" id="2_gsxsy"] [ext_resource type="Texture2D" uid="uid://d2t23a885h1i0" path="res://assets/graphics/vfx/effects/freeze.png" id="2_gsxsy"]
[ext_resource type="Texture2D" uid="uid://b3yv677a4qidp" path="res://assets/graphics/vfx/effects/30sec_sprite.png" id="2_jmlpd"]
[ext_resource type="Texture2D" uid="uid://lykg7d54qrof" path="res://assets/graphics/vfx/effects/ghost.png" id="3_hg3tj"] [ext_resource type="Texture2D" uid="uid://lykg7d54qrof" path="res://assets/graphics/vfx/effects/ghost.png" id="3_hg3tj"]
[ext_resource type="Texture2D" uid="uid://45twcoribm0b" path="res://assets/graphics/vfx/effects/speed.png" id="4_8bjou"] [ext_resource type="Texture2D" uid="uid://45twcoribm0b" path="res://assets/graphics/vfx/effects/speed.png" id="4_8bjou"]
[ext_resource type="Texture2D" uid="uid://c718e7y7qm03x" path="res://assets/graphics/vfx/effects/bullrun_ui.png" id="5_gsxsy"] [ext_resource type="Texture2D" uid="uid://c718e7y7qm03x" path="res://assets/graphics/vfx/effects/bullrun_ui.png" id="5_gsxsy"]
[ext_resource type="Texture2D" uid="uid://dun5j8mrxpumo" path="res://assets/graphics/vfx/effects/stunned.png" id="5_jmlpd"] [ext_resource type="Texture2D" uid="uid://dun5j8mrxpumo" path="res://assets/graphics/vfx/effects/stunned.png" id="5_jmlpd"]
[ext_resource type="Texture2D" uid="uid://mnsqay5hs0jh" path="res://assets/graphics/vfx/effects/wall.png" id="6_q227o"] [ext_resource type="Texture2D" uid="uid://mnsqay5hs0jh" path="res://assets/graphics/vfx/effects/wall.png" id="6_q227o"]
[sub_resource type="AtlasTexture" id="AtlasTexture_lfbm8"]
atlas = ExtResource("1_8bjou")
region = Rect2(0, 0, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_1y0y5"]
atlas = ExtResource("1_8bjou")
region = Rect2(700, 0, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_g1m6t"]
atlas = ExtResource("1_8bjou")
region = Rect2(1400, 0, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_xtx5b"]
atlas = ExtResource("1_8bjou")
region = Rect2(2100, 0, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_ow3fw"]
atlas = ExtResource("1_8bjou")
region = Rect2(0, 600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_c68w8"]
atlas = ExtResource("1_8bjou")
region = Rect2(700, 600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_0wyss"]
atlas = ExtResource("1_8bjou")
region = Rect2(1400, 600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_351po"]
atlas = ExtResource("1_8bjou")
region = Rect2(2100, 600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_guhtn"]
atlas = ExtResource("1_8bjou")
region = Rect2(0, 1200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_6t1jb"]
atlas = ExtResource("1_8bjou")
region = Rect2(700, 1200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_yfemh"]
atlas = ExtResource("1_8bjou")
region = Rect2(1400, 1200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_khyso"]
atlas = ExtResource("1_8bjou")
region = Rect2(2100, 1200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_r22su"]
atlas = ExtResource("1_8bjou")
region = Rect2(0, 1800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_vl7d6"]
atlas = ExtResource("1_8bjou")
region = Rect2(700, 1800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_gp6ca"]
atlas = ExtResource("1_8bjou")
region = Rect2(1400, 1800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_re86r"]
atlas = ExtResource("1_8bjou")
region = Rect2(2100, 1800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_fqc34"]
atlas = ExtResource("1_8bjou")
region = Rect2(0, 2400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_j1k0k"]
atlas = ExtResource("1_8bjou")
region = Rect2(700, 2400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_mj4h4"]
atlas = ExtResource("1_8bjou")
region = Rect2(1400, 2400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_vllfe"]
atlas = ExtResource("1_8bjou")
region = Rect2(2100, 2400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_u34ys"]
atlas = ExtResource("1_8bjou")
region = Rect2(0, 3000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_djd5t"]
atlas = ExtResource("1_8bjou")
region = Rect2(700, 3000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_6vbce"]
atlas = ExtResource("1_8bjou")
region = Rect2(1400, 3000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_86rok"]
atlas = ExtResource("1_8bjou")
region = Rect2(2100, 3000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_56605"]
atlas = ExtResource("1_8bjou")
region = Rect2(0, 3600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_xylq6"]
atlas = ExtResource("1_8bjou")
region = Rect2(700, 3600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_afuft"]
atlas = ExtResource("1_8bjou")
region = Rect2(1400, 3600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_axhe1"]
atlas = ExtResource("1_8bjou")
region = Rect2(2100, 3600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_wq2nk"]
atlas = ExtResource("1_8bjou")
region = Rect2(0, 4200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_jg6ac"]
atlas = ExtResource("1_8bjou")
region = Rect2(700, 4200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_2m634"]
atlas = ExtResource("1_8bjou")
region = Rect2(1400, 4200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_gnsgc"]
atlas = ExtResource("1_8bjou")
region = Rect2(2100, 4200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_l6ctg"]
atlas = ExtResource("1_8bjou")
region = Rect2(0, 4800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_dbr20"]
atlas = ExtResource("1_8bjou")
region = Rect2(700, 4800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_0evgi"]
atlas = ExtResource("1_8bjou")
region = Rect2(1400, 4800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_l57j4"]
atlas = ExtResource("1_8bjou")
region = Rect2(2100, 4800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_g8de7"]
atlas = ExtResource("1_8bjou")
region = Rect2(0, 5400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_gmurl"]
atlas = ExtResource("1_8bjou")
region = Rect2(700, 5400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_5kkxd"]
atlas = ExtResource("1_8bjou")
region = Rect2(1400, 5400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_1uttf"]
atlas = ExtResource("1_8bjou")
region = Rect2(2100, 5400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_as3dl"]
atlas = ExtResource("1_8bjou")
region = Rect2(0, 6000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_yfgxk"]
atlas = ExtResource("1_8bjou")
region = Rect2(700, 6000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_7vby1"]
atlas = ExtResource("1_8bjou")
region = Rect2(1400, 6000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_l8kiw"]
atlas = ExtResource("1_8bjou")
region = Rect2(2100, 6000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_lhh5f"]
atlas = ExtResource("2_jmlpd")
region = Rect2(0, 0, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_6g2ax"]
atlas = ExtResource("2_jmlpd")
region = Rect2(700, 0, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_xa4ow"]
atlas = ExtResource("2_jmlpd")
region = Rect2(1400, 0, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_batwc"]
atlas = ExtResource("2_jmlpd")
region = Rect2(2100, 0, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_qkqfo"]
atlas = ExtResource("2_jmlpd")
region = Rect2(0, 600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_obxro"]
atlas = ExtResource("2_jmlpd")
region = Rect2(700, 600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_da0yn"]
atlas = ExtResource("2_jmlpd")
region = Rect2(1400, 600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_w01p2"]
atlas = ExtResource("2_jmlpd")
region = Rect2(2100, 600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_x2ib0"]
atlas = ExtResource("2_jmlpd")
region = Rect2(0, 1200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_5ycwk"]
atlas = ExtResource("2_jmlpd")
region = Rect2(700, 1200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_eisje"]
atlas = ExtResource("2_jmlpd")
region = Rect2(1400, 1200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_cllbk"]
atlas = ExtResource("2_jmlpd")
region = Rect2(2100, 1200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_paae1"]
atlas = ExtResource("2_jmlpd")
region = Rect2(0, 1800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_dufuu"]
atlas = ExtResource("2_jmlpd")
region = Rect2(700, 1800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_f5e1n"]
atlas = ExtResource("2_jmlpd")
region = Rect2(1400, 1800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_2b8eg"]
atlas = ExtResource("2_jmlpd")
region = Rect2(2100, 1800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_64uik"]
atlas = ExtResource("2_jmlpd")
region = Rect2(0, 2400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_2cv5v"]
atlas = ExtResource("2_jmlpd")
region = Rect2(700, 2400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_gbjfc"]
atlas = ExtResource("2_jmlpd")
region = Rect2(1400, 2400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_hsiqm"]
atlas = ExtResource("2_jmlpd")
region = Rect2(2100, 2400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_2yumw"]
atlas = ExtResource("2_jmlpd")
region = Rect2(0, 3000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_v8tup"]
atlas = ExtResource("2_jmlpd")
region = Rect2(700, 3000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_alte4"]
atlas = ExtResource("2_jmlpd")
region = Rect2(1400, 3000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_omv16"]
atlas = ExtResource("2_jmlpd")
region = Rect2(2100, 3000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_8felc"]
atlas = ExtResource("2_jmlpd")
region = Rect2(0, 3600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_265w1"]
atlas = ExtResource("2_jmlpd")
region = Rect2(700, 3600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_keylo"]
atlas = ExtResource("2_jmlpd")
region = Rect2(1400, 3600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_nxnna"]
atlas = ExtResource("2_jmlpd")
region = Rect2(2100, 3600, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_mba8w"]
atlas = ExtResource("2_jmlpd")
region = Rect2(0, 4200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_kmn6u"]
atlas = ExtResource("2_jmlpd")
region = Rect2(700, 4200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_cv4s4"]
atlas = ExtResource("2_jmlpd")
region = Rect2(1400, 4200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_2b0af"]
atlas = ExtResource("2_jmlpd")
region = Rect2(2100, 4200, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_43su7"]
atlas = ExtResource("2_jmlpd")
region = Rect2(0, 4800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_sia5r"]
atlas = ExtResource("2_jmlpd")
region = Rect2(700, 4800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_uq011"]
atlas = ExtResource("2_jmlpd")
region = Rect2(1400, 4800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_t4kkd"]
atlas = ExtResource("2_jmlpd")
region = Rect2(2100, 4800, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_n6td1"]
atlas = ExtResource("2_jmlpd")
region = Rect2(0, 5400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_c7rp6"]
atlas = ExtResource("2_jmlpd")
region = Rect2(700, 5400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_onuep"]
atlas = ExtResource("2_jmlpd")
region = Rect2(1400, 5400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_mkgki"]
atlas = ExtResource("2_jmlpd")
region = Rect2(2100, 5400, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_3xmoi"]
atlas = ExtResource("2_jmlpd")
region = Rect2(0, 6000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_1d58k"]
atlas = ExtResource("2_jmlpd")
region = Rect2(700, 6000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_t2wsw"]
atlas = ExtResource("2_jmlpd")
region = Rect2(1400, 6000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_itb21"]
atlas = ExtResource("2_jmlpd")
region = Rect2(2100, 6000, 700, 600)
[sub_resource type="AtlasTexture" id="AtlasTexture_xd54h"] [sub_resource type="AtlasTexture" id="AtlasTexture_xd54h"]
atlas = ExtResource("1_gjs0m") atlas = ExtResource("1_gjs0m")
region = Rect2(0, 408, 393, 408) region = Rect2(0, 408, 393, 408)
@@ -3004,6 +3358,280 @@ region = Rect2(1125, 1750, 125, 125)
animations = [{ animations = [{
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_lfbm8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1y0y5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_g1m6t")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xtx5b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ow3fw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_c68w8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0wyss")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_351po")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_guhtn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6t1jb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_yfemh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_khyso")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_r22su")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vl7d6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gp6ca")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_re86r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fqc34")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_j1k0k")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mj4h4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vllfe")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_u34ys")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_djd5t")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6vbce")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_86rok")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_56605")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xylq6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_afuft")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_axhe1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wq2nk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jg6ac")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2m634")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gnsgc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l6ctg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dbr20")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0evgi")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l57j4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_g8de7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gmurl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5kkxd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1uttf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_as3dl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_yfgxk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7vby1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l8kiw")
}],
"loop": false,
"name": &"15s",
"speed": 30.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_lhh5f")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6g2ax")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xa4ow")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_batwc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qkqfo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_obxro")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_da0yn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_w01p2")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x2ib0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5ycwk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_eisje")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cllbk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_paae1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dufuu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_f5e1n")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2b8eg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_64uik")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2cv5v")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gbjfc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hsiqm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2yumw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_v8tup")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_alte4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_omv16")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8felc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_265w1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_keylo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nxnna")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mba8w")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kmn6u")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cv4s4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2b0af")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_43su7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_sia5r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uq011")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_t4kkd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_n6td1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_c7rp6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_onuep")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mkgki")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3xmoi")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1d58k")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_t2wsw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_itb21")
}],
"loop": false,
"name": &"30s",
"speed": 30.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_xd54h") "texture": SubResource("AtlasTexture_xd54h")
}, { }, {
"duration": 1.0, "duration": 1.0,
+7
View File
@@ -2,6 +2,7 @@ extends Control
@onready var animated_sprite_2d: AnimatedSprite2D = $StopPhase/AnimatedSprite2D @onready var animated_sprite_2d: AnimatedSprite2D = $StopPhase/AnimatedSprite2D
@onready var animation_player: AnimationPlayer = $AnimationPlayer @onready var animation_player: AnimationPlayer = $AnimationPlayer
@onready var count_down_animation: AnimatedSprite2D = $CountDown/CountDownAnimation
#func _input(event: InputEvent) -> void: #func _input(event: InputEvent) -> void:
#if event.is_action_pressed("grab_item"): #if event.is_action_pressed("grab_item"):
@@ -21,3 +22,9 @@ func stop_phase_anim_play():
func stop_phase_anim_stop(): func stop_phase_anim_stop():
animated_sprite_2d.stop() animated_sprite_2d.stop()
func play_countdown_30s():
count_down_animation.play("30s")
func play_countdown_15s():
count_down_animation.play("15s")
+49
View File
@@ -143,6 +143,18 @@ tracks/10/keys = {
"update": 1, "update": 1,
"values": [false] "values": [false]
} }
tracks/11/type = "value"
tracks/11/imported = false
tracks/11/enabled = true
tracks/11/path = NodePath("StopPhase/ColorRect:visible")
tracks/11/interp = 1
tracks/11/loop_wrap = true
tracks/11/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="Animation" id="Animation_bbp28"] [sub_resource type="Animation" id="Animation_bbp28"]
resource_name = "ready-go" resource_name = "ready-go"
@@ -304,6 +316,18 @@ tracks/3/keys = {
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
} }
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("StopPhase/ColorRect:visible")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 4),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_emg7w"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_emg7w"]
_data = { _data = {
@@ -391,6 +415,17 @@ anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
[node name="ColorRect" type="ColorRect" parent="StopPhase" unique_id=1569614215]
modulate = Color(1, 1, 1, 0.1764706)
z_index = -1
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(1, 0.7294118, 0.09019608, 1)
[node name="TextureRect" type="TextureRect" parent="StopPhase" unique_id=159562463] [node name="TextureRect" type="TextureRect" parent="StopPhase" unique_id=159562463]
z_index = -1 z_index = -1
layout_mode = 1 layout_mode = 1
@@ -415,5 +450,19 @@ position = Vector2(671, 364)
sprite_frames = ExtResource("24_u10lt") sprite_frames = ExtResource("24_u10lt")
animation = &"stop-phase" animation = &"stop-phase"
[node name="CountDown" type="Control" parent="." unique_id=247940669]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="CountDownAnimation" type="AnimatedSprite2D" parent="CountDown" unique_id=1053910485]
position = Vector2(683, 360)
scale = Vector2(0.75, 0.75)
sprite_frames = ExtResource("24_u10lt")
animation = &"15s"
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1614214519] [node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1614214519]
libraries/ = SubResource("AnimationLibrary_emg7w") libraries/ = SubResource("AnimationLibrary_emg7w")
+9
View File
@@ -1916,6 +1916,15 @@ func _on_global_timer_updated(time_remaining: float):
var minutes = int(time_remaining) / 60 var minutes = int(time_remaining) / 60
var seconds = int(time_remaining) % 60 var seconds = int(time_remaining) % 60
timer_label.text = "%d:%02d" % [minutes, seconds] timer_label.text = "%d:%02d" % [minutes, seconds]
# Trigger countdown animations (30s and 15s)
if int(time_remaining) == 30 and int(time_remaining + 0.1) > 30:
if vfx_manager and vfx_manager.has_method("play_countdown_30s"):
vfx_manager.play_countdown_30s()
elif int(time_remaining) == 15 and int(time_remaining + 0.1) > 15:
if vfx_manager and vfx_manager.has_method("play_countdown_15s"):
vfx_manager.play_countdown_15s()
@rpc("any_peer", "call_local", "reliable") @rpc("any_peer", "call_local", "reliable")
func sync_game_end_stop_n_go(winner_id: int): func sync_game_end_stop_n_go(winner_id: int):
print("[STOP n GO] Game ended! Winner: ", winner_id) print("[STOP n GO] Game ended! Winner: ", winner_id)
+17 -29
View File
@@ -118,9 +118,9 @@ material = SubResource("ShaderMaterial_j8jky")
anchors_preset = 4 anchors_preset = 4
anchor_top = 0.5 anchor_top = 0.5
anchor_bottom = 0.5 anchor_bottom = 0.5
offset_left = 63.731766 offset_left = 29.731762
offset_top = -200.62561 offset_top = -200.62561
offset_right = 214.42894 offset_right = 180.42894
offset_bottom = -15.877472 offset_bottom = -15.877472
grow_vertical = 2 grow_vertical = 2
rotation = -0.10297442 rotation = -0.10297442
@@ -131,9 +131,8 @@ clip_contents = true
anchors_preset = 4 anchors_preset = 4
anchor_top = 0.5 anchor_top = 0.5
anchor_bottom = 0.5 anchor_bottom = 0.5
offset_left = 34.000004
offset_top = -190.23553 offset_top = -190.23553
offset_right = 250.0 offset_right = 216.0
offset_bottom = 25.764465 offset_bottom = 25.764465
grow_vertical = 2 grow_vertical = 2
rotation = -0.10297442 rotation = -0.10297442
@@ -1031,9 +1030,9 @@ texture = ExtResource("9_6gcb6")
[node name="PlayeBoardPanelName" type="PanelContainer" parent="." unique_id=1458381676] [node name="PlayeBoardPanelName" type="PanelContainer" parent="." unique_id=1458381676]
material = SubResource("ShaderMaterial_j8jky") material = SubResource("ShaderMaterial_j8jky")
offset_left = 44.0 offset_left = 9.999996
offset_top = 113.710526 offset_top = 113.710526
offset_right = 216.29385 offset_right = 182.29385
offset_bottom = 153.37068 offset_bottom = 153.37068
rotation = -0.10297442 rotation = -0.10297442
theme_override_styles/panel = SubResource("StyleBoxFlat_playerboard") theme_override_styles/panel = SubResource("StyleBoxFlat_playerboard")
@@ -1042,9 +1041,9 @@ theme_override_styles/panel = SubResource("StyleBoxFlat_playerboard")
anchors_preset = 4 anchors_preset = 4
anchor_top = 0.5 anchor_top = 0.5
anchor_bottom = 0.5 anchor_bottom = 0.5
offset_left = 50.718987 offset_left = 16.718983
offset_top = -244.58023 offset_top = -244.58023
offset_right = 133.719 offset_right = 99.718994
offset_bottom = -208.58023 offset_bottom = -208.58023
grow_vertical = 2 grow_vertical = 2
rotation = -0.10297442 rotation = -0.10297442
@@ -1056,9 +1055,9 @@ text = "Guest"
anchors_preset = 4 anchors_preset = 4
anchor_top = 0.5 anchor_top = 0.5
anchor_bottom = 0.5 anchor_bottom = 0.5
offset_left = 170.71896 offset_left = 136.71896
offset_top = -258.02036 offset_top = -258.02036
offset_right = 210.71896 offset_right = 176.71896
offset_bottom = -222.02036 offset_bottom = -222.02036
grow_vertical = 2 grow_vertical = 2
rotation = -0.10297442 rotation = -0.10297442
@@ -1097,10 +1096,10 @@ layout_mode = 2
anchors_preset = 4 anchors_preset = 4
anchor_top = 0.5 anchor_top = 0.5
anchor_bottom = 0.5 anchor_bottom = 0.5
offset_left = 84.0 offset_left = 32.0
offset_top = -7.0 offset_top = 2.241272
offset_right = 229.0 offset_right = 177.0
offset_bottom = 29.0 offset_bottom = 38.241272
grow_vertical = 2 grow_vertical = 2
rotation = -0.10297442 rotation = -0.10297442
theme_override_styles/panel = SubResource("StyleBoxTexture_tel4y") theme_override_styles/panel = SubResource("StyleBoxTexture_tel4y")
@@ -1131,10 +1130,10 @@ layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxTexture_j8jky") theme_override_styles/panel = SubResource("StyleBoxTexture_j8jky")
[node name="GoalsTimer" type="PanelContainer" parent="." unique_id=2106663301] [node name="GoalsTimer" type="PanelContainer" parent="." unique_id=2106663301]
offset_left = 235.8717 offset_left = 183.8717
offset_top = 338.0481 offset_top = 347.28937
offset_right = 267.8717 offset_right = 215.8717
offset_bottom = 371.04816 offset_bottom = 380.28943
rotation = -0.10297442 rotation = -0.10297442
[node name="TimerLabel" type="Label" parent="GoalsTimer" unique_id=466345203] [node name="TimerLabel" type="Label" parent="GoalsTimer" unique_id=466345203]
@@ -1879,17 +1878,6 @@ custom_minimum_size = Vector2(0, 40)
layout_mode = 2 layout_mode = 2
text = "Back" text = "Back"
[node name="SettingsBtn" type="Button" parent="." unique_id=1964422444]
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -78.0
offset_top = 8.0
offset_right = -30.0
offset_bottom = 56.0
grow_horizontal = 0
text = "⚙"
[connection signal="text_submitted" from="MessageInput" to="." method="_on_message_input_text_submitted"] [connection signal="text_submitted" from="MessageInput" to="." method="_on_message_input_text_submitted"]
[connection signal="pressed" from="PauseMenu/Panel/VBox/ResumeBtn" to="." method="_on_resume_pressed"] [connection signal="pressed" from="PauseMenu/Panel/VBox/ResumeBtn" to="." method="_on_resume_pressed"]
[connection signal="pressed" from="PauseMenu/Panel/VBox/HowToPlayBtn" to="." method="_on_how_to_play_pressed"] [connection signal="pressed" from="PauseMenu/Panel/VBox/HowToPlayBtn" to="." method="_on_how_to_play_pressed"]