feat: implement Stop N Go arena, animation system, and lobby manager features

This commit is contained in:
Yogi Wiguna
2026-03-30 15:06:21 +08:00
parent 52d9b4bffb
commit 42e96a7ed9
45 changed files with 1110 additions and 79 deletions
@@ -6,8 +6,11 @@
[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://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://bcyyxropbam50" path="res://assets/graphics/vfx/spawn_tiles_bottom.png" id="4_xd54h"]
[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://cjhatl26dafxx" path="res://assets/graphics/vfx/spawn_tiles_top.png" id="5_xd54h"]
[ext_resource type="Texture2D" uid="uid://dqdntrjuarixl" path="res://assets/graphics/vfx/gogo_sprite.png" id="6_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"] [sub_resource type="AtlasTexture" id="AtlasTexture_lfbm8"]
@@ -522,6 +525,246 @@ region = Rect2(2358, 0, 393, 408)
atlas = ExtResource("1_gjs0m") atlas = ExtResource("1_gjs0m")
region = Rect2(2751, 0, 393, 408) region = Rect2(2751, 0, 393, 408)
[sub_resource type="AtlasTexture" id="AtlasTexture_pfjl8"]
atlas = ExtResource("4_xd54h")
region = Rect2(0, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_6xsib"]
atlas = ExtResource("4_xd54h")
region = Rect2(500, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_vbb07"]
atlas = ExtResource("4_xd54h")
region = Rect2(1000, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_l8xtn"]
atlas = ExtResource("4_xd54h")
region = Rect2(1500, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_r8bp5"]
atlas = ExtResource("4_xd54h")
region = Rect2(2000, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_mlbks"]
atlas = ExtResource("4_xd54h")
region = Rect2(2500, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_dwn2k"]
atlas = ExtResource("4_xd54h")
region = Rect2(3000, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_86ba4"]
atlas = ExtResource("4_xd54h")
region = Rect2(3500, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_rfe3p"]
atlas = ExtResource("4_xd54h")
region = Rect2(4000, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_fgkky"]
atlas = ExtResource("4_xd54h")
region = Rect2(4500, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_yk5ks"]
atlas = ExtResource("4_xd54h")
region = Rect2(5000, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_tt1sy"]
atlas = ExtResource("4_xd54h")
region = Rect2(5500, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_ihxs7"]
atlas = ExtResource("4_xd54h")
region = Rect2(0, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_u6diu"]
atlas = ExtResource("4_xd54h")
region = Rect2(500, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_xvgj3"]
atlas = ExtResource("4_xd54h")
region = Rect2(1000, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_nn6v3"]
atlas = ExtResource("4_xd54h")
region = Rect2(1500, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_1qja4"]
atlas = ExtResource("4_xd54h")
region = Rect2(2000, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_s1ih8"]
atlas = ExtResource("4_xd54h")
region = Rect2(2500, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_1lb4f"]
atlas = ExtResource("4_xd54h")
region = Rect2(3000, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_1evi6"]
atlas = ExtResource("4_xd54h")
region = Rect2(3500, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_etlyi"]
atlas = ExtResource("4_xd54h")
region = Rect2(4000, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_c3uep"]
atlas = ExtResource("4_xd54h")
region = Rect2(4500, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_hchqc"]
atlas = ExtResource("4_xd54h")
region = Rect2(5000, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_k6s2b"]
atlas = ExtResource("4_xd54h")
region = Rect2(5500, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_wwuof"]
atlas = ExtResource("4_xd54h")
region = Rect2(0, 1000, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_vqenf"]
atlas = ExtResource("4_xd54h")
region = Rect2(500, 1000, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_hehw1"]
atlas = ExtResource("4_xd54h")
region = Rect2(1000, 1000, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_wmjgt"]
atlas = ExtResource("4_xd54h")
region = Rect2(1500, 1000, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_euieq"]
atlas = ExtResource("4_xd54h")
region = Rect2(2000, 1000, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_r7q5m"]
atlas = ExtResource("4_xd54h")
region = Rect2(2500, 1000, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_4dgeb"]
atlas = ExtResource("4_xd54h")
region = Rect2(3000, 1000, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_u3dcn"]
atlas = ExtResource("4_xd54h")
region = Rect2(3500, 1000, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_che85"]
atlas = ExtResource("4_xd54h")
region = Rect2(4000, 1000, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_gijbg"]
atlas = ExtResource("4_xd54h")
region = Rect2(4500, 1000, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_bh7f8"]
atlas = ExtResource("4_xd54h")
region = Rect2(5000, 1000, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_faulb"]
atlas = ExtResource("4_xd54h")
region = Rect2(5500, 1000, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_un3dc"]
atlas = ExtResource("5_xd54h")
region = Rect2(0, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_8sr10"]
atlas = ExtResource("5_xd54h")
region = Rect2(500, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_ypstt"]
atlas = ExtResource("5_xd54h")
region = Rect2(1000, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_d2dd0"]
atlas = ExtResource("5_xd54h")
region = Rect2(1500, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_i58aq"]
atlas = ExtResource("5_xd54h")
region = Rect2(2000, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_hmiye"]
atlas = ExtResource("5_xd54h")
region = Rect2(2500, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_vso81"]
atlas = ExtResource("5_xd54h")
region = Rect2(3000, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_lnmbb"]
atlas = ExtResource("5_xd54h")
region = Rect2(3500, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_446ra"]
atlas = ExtResource("5_xd54h")
region = Rect2(4000, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_7b8xi"]
atlas = ExtResource("5_xd54h")
region = Rect2(4500, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_wnf0q"]
atlas = ExtResource("5_xd54h")
region = Rect2(5000, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_0bfw8"]
atlas = ExtResource("5_xd54h")
region = Rect2(5500, 0, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_fdbu7"]
atlas = ExtResource("5_xd54h")
region = Rect2(0, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_k6tgf"]
atlas = ExtResource("5_xd54h")
region = Rect2(500, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_cia4j"]
atlas = ExtResource("5_xd54h")
region = Rect2(1000, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_2io1m"]
atlas = ExtResource("5_xd54h")
region = Rect2(1500, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_kgbvb"]
atlas = ExtResource("5_xd54h")
region = Rect2(2000, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_63o35"]
atlas = ExtResource("5_xd54h")
region = Rect2(2500, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_6u1kl"]
atlas = ExtResource("5_xd54h")
region = Rect2(3000, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_rvw7k"]
atlas = ExtResource("5_xd54h")
region = Rect2(3500, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_624a1"]
atlas = ExtResource("5_xd54h")
region = Rect2(4000, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_25g31"]
atlas = ExtResource("5_xd54h")
region = Rect2(4500, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_vw3km"]
atlas = ExtResource("5_xd54h")
region = Rect2(5000, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_v75he"]
atlas = ExtResource("5_xd54h")
region = Rect2(5500, 500, 500, 500)
[sub_resource type="AtlasTexture" id="AtlasTexture_4w45j"] [sub_resource type="AtlasTexture" id="AtlasTexture_4w45j"]
atlas = ExtResource("2_gsxsy") atlas = ExtResource("2_gsxsy")
region = Rect2(0, 0, 125, 125) region = Rect2(0, 0, 125, 125)
@@ -1722,6 +1965,246 @@ region = Rect2(1000, 1750, 125, 125)
atlas = ExtResource("3_hg3tj") atlas = ExtResource("3_hg3tj")
region = Rect2(1125, 1750, 125, 125) region = Rect2(1125, 1750, 125, 125)
[sub_resource type="AtlasTexture" id="AtlasTexture_grhe1"]
atlas = ExtResource("6_jmlpd")
region = Rect2(0, 0, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_8tna8"]
atlas = ExtResource("6_jmlpd")
region = Rect2(600, 0, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_drher"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1200, 0, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_b4pmj"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1800, 0, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_ypfjk"]
atlas = ExtResource("6_jmlpd")
region = Rect2(2400, 0, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_p2fjq"]
atlas = ExtResource("6_jmlpd")
region = Rect2(3000, 0, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_ng1vy"]
atlas = ExtResource("6_jmlpd")
region = Rect2(0, 250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_gajhs"]
atlas = ExtResource("6_jmlpd")
region = Rect2(600, 250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_p5aeu"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1200, 250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_82jg6"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1800, 250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_5t46r"]
atlas = ExtResource("6_jmlpd")
region = Rect2(2400, 250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_7m3k2"]
atlas = ExtResource("6_jmlpd")
region = Rect2(3000, 250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_0l14u"]
atlas = ExtResource("6_jmlpd")
region = Rect2(0, 500, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_akb50"]
atlas = ExtResource("6_jmlpd")
region = Rect2(600, 500, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_pnxos"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1200, 500, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_h7d16"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1800, 500, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_3j8ey"]
atlas = ExtResource("6_jmlpd")
region = Rect2(2400, 500, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_0nlds"]
atlas = ExtResource("6_jmlpd")
region = Rect2(3000, 500, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_0acym"]
atlas = ExtResource("6_jmlpd")
region = Rect2(0, 750, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_uluk0"]
atlas = ExtResource("6_jmlpd")
region = Rect2(600, 750, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_a5g33"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1200, 750, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_cm03s"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1800, 750, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_iqbln"]
atlas = ExtResource("6_jmlpd")
region = Rect2(2400, 750, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_kh0bu"]
atlas = ExtResource("6_jmlpd")
region = Rect2(3000, 750, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_1tpa7"]
atlas = ExtResource("6_jmlpd")
region = Rect2(0, 1000, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_giwcm"]
atlas = ExtResource("6_jmlpd")
region = Rect2(600, 1000, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_jkca7"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1200, 1000, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_rs5xd"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1800, 1000, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_yuvjh"]
atlas = ExtResource("6_jmlpd")
region = Rect2(2400, 1000, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_7tft7"]
atlas = ExtResource("6_jmlpd")
region = Rect2(3000, 1000, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_e260g"]
atlas = ExtResource("6_jmlpd")
region = Rect2(0, 1250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_a7ire"]
atlas = ExtResource("6_jmlpd")
region = Rect2(600, 1250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_6f17s"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1200, 1250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_fhmo4"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1800, 1250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_ee2nl"]
atlas = ExtResource("6_jmlpd")
region = Rect2(2400, 1250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_26uob"]
atlas = ExtResource("6_jmlpd")
region = Rect2(3000, 1250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_on0nh"]
atlas = ExtResource("6_jmlpd")
region = Rect2(0, 1500, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_x2cob"]
atlas = ExtResource("6_jmlpd")
region = Rect2(600, 1500, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_crrc2"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1200, 1500, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_6emol"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1800, 1500, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_odink"]
atlas = ExtResource("6_jmlpd")
region = Rect2(2400, 1500, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_wf0ps"]
atlas = ExtResource("6_jmlpd")
region = Rect2(3000, 1500, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_pp8wf"]
atlas = ExtResource("6_jmlpd")
region = Rect2(0, 1750, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_gm84p"]
atlas = ExtResource("6_jmlpd")
region = Rect2(600, 1750, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_kyla3"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1200, 1750, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_in7jp"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1800, 1750, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_8yy62"]
atlas = ExtResource("6_jmlpd")
region = Rect2(2400, 1750, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_f38ow"]
atlas = ExtResource("6_jmlpd")
region = Rect2(3000, 1750, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_pt11c"]
atlas = ExtResource("6_jmlpd")
region = Rect2(0, 2000, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_rjoqg"]
atlas = ExtResource("6_jmlpd")
region = Rect2(600, 2000, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_n5nfn"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1200, 2000, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_471pg"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1800, 2000, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_cm0qc"]
atlas = ExtResource("6_jmlpd")
region = Rect2(2400, 2000, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_nkqht"]
atlas = ExtResource("6_jmlpd")
region = Rect2(3000, 2000, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_8f22q"]
atlas = ExtResource("6_jmlpd")
region = Rect2(0, 2250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_3y8g5"]
atlas = ExtResource("6_jmlpd")
region = Rect2(600, 2250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_b136t"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1200, 2250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_chkug"]
atlas = ExtResource("6_jmlpd")
region = Rect2(1800, 2250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_o0igh"]
atlas = ExtResource("6_jmlpd")
region = Rect2(2400, 2250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_git6t"]
atlas = ExtResource("6_jmlpd")
region = Rect2(3000, 2250, 600, 250)
[sub_resource type="AtlasTexture" id="AtlasTexture_pj4gv"] [sub_resource type="AtlasTexture" id="AtlasTexture_pj4gv"]
atlas = ExtResource("4_8bjou") atlas = ExtResource("4_8bjou")
region = Rect2(0, 0, 125, 125) region = Rect2(0, 0, 125, 125)
@@ -3762,6 +4245,196 @@ animations = [{
}, { }, {
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_pfjl8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6xsib")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vbb07")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l8xtn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_r8bp5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mlbks")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dwn2k")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_86ba4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_rfe3p")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fgkky")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_yk5ks")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tt1sy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ihxs7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_u6diu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xvgj3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nn6v3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1qja4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_s1ih8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1lb4f")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1evi6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_etlyi")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_c3uep")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hchqc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_k6s2b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wwuof")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vqenf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hehw1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wmjgt")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_euieq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_r7q5m")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4dgeb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_u3dcn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_che85")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gijbg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bh7f8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_faulb")
}],
"loop": false,
"name": &"floor_spawn_bot",
"speed": 30.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_un3dc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8sr10")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ypstt")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_d2dd0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_i58aq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hmiye")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vso81")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lnmbb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_446ra")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7b8xi")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wnf0q")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0bfw8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fdbu7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_k6tgf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cia4j")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2io1m")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kgbvb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_63o35")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6u1kl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_rvw7k")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_624a1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_25g31")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vw3km")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_v75he")
}],
"loop": false,
"name": &"floor_spawn_top",
"speed": 30.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_4w45j") "texture": SubResource("AtlasTexture_4w45j")
}, { }, {
"duration": 1.0, "duration": 1.0,
@@ -4672,6 +5345,191 @@ animations = [{
}, { }, {
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_grhe1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8tna8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_drher")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_b4pmj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ypfjk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_p2fjq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ng1vy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gajhs")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_p5aeu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_82jg6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5t46r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7m3k2")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0l14u")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_akb50")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pnxos")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_h7d16")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3j8ey")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0nlds")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0acym")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uluk0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_a5g33")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cm03s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_iqbln")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kh0bu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1tpa7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_giwcm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jkca7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_rs5xd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_yuvjh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7tft7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_e260g")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_a7ire")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6f17s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fhmo4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ee2nl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_26uob")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_on0nh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x2cob")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_crrc2")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6emol")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_odink")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wf0ps")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pp8wf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gm84p")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kyla3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_in7jp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8yy62")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_f38ow")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pt11c")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_rjoqg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_n5nfn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_471pg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cm0qc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nkqht")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8f22q")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3y8g5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_b136t")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_chkug")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_o0igh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_git6t")
}],
"loop": true,
"name": &"go_animation",
"speed": 30.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_pj4gv") "texture": SubResource("AtlasTexture_pj4gv")
}, { }, {
"duration": 1.0, "duration": 1.0,
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

@@ -2,8 +2,8 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://d0raxtgk1uds1" uid="uid://bcyyxropbam50"
path.s3tc="res://.godot/imported/Active_ground 9.jpg-4238163e9f5ca6d541790db8ebd79710.s3tc.ctex" path.s3tc="res://.godot/imported/spawn_tiles_bottom.png-bf5af9b1f572105fde872edff38e8188.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
"vram_texture": true "vram_texture": true
@@ -11,8 +11,8 @@ metadata={
[deps] [deps]
source_file="res://assets/models/arena/stop_n_go/Active_ground 9.jpg" source_file="res://assets/graphics/vfx/spawn_tiles_bottom.png"
dest_files=["res://.godot/imported/Active_ground 9.jpg-4238163e9f5ca6d541790db8ebd79710.s3tc.ctex"] dest_files=["res://.godot/imported/spawn_tiles_bottom.png-bf5af9b1f572105fde872edff38e8188.s3tc.ctex"]
[params] [params]
Binary file not shown.

After

Width:  |  Height:  |  Size: 542 KiB

@@ -2,8 +2,8 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bv8hwsc2h586n" uid="uid://cjhatl26dafxx"
path.s3tc="res://.godot/imported/Active_ground 10.jpg-042281519752a57c05c29f0d17ca57a5.s3tc.ctex" path.s3tc="res://.godot/imported/spawn_tiles_top.png-361530dd5d936c810c9437577050ba76.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
"vram_texture": true "vram_texture": true
@@ -11,8 +11,8 @@ metadata={
[deps] [deps]
source_file="res://assets/models/arena/stop_n_go/Active_ground 10.jpg" source_file="res://assets/graphics/vfx/spawn_tiles_top.png"
dest_files=["res://.godot/imported/Active_ground 10.jpg-042281519752a57c05c29f0d17ca57a5.s3tc.ctex"] dest_files=["res://.godot/imported/spawn_tiles_top.png-361530dd5d936c810c9437577050ba76.s3tc.ctex"]
[params] [params]
Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cp20e3opoe4if"
path.s3tc="res://.godot/imported/2-floorblock_Shadow.png-1271c500d9a4eb84bcb96ec3f7b48bab.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/models/arena/stop_n_go/2-floorblock_Shadow.png"
dest_files=["res://.godot/imported/2-floorblock_Shadow.png-1271c500d9a4eb84bcb96ec3f7b48bab.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=true
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=0
Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 112 KiB

@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://dppiaaym3llgu" uid="uid://bals6morxvwrh"
path.s3tc="res://.godot/imported/3-floorblock_Shadow.png-33a90318154ba9a9c3e0cf299ab2776c.s3tc.ctex" path.s3tc="res://.godot/imported/3-floorblock_Shadow.png-33a90318154ba9a9c3e0cf299ab2776c.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://ckbbsf8cdfr2f" uid="uid://vrag241fa3ay"
path.s3tc="res://.godot/imported/Active_ground.png-86e908e005c83f87c0ba8c3cb855047b.s3tc.ctex" path.s3tc="res://.godot/imported/Active_ground.png-86e908e005c83f87c0ba8c3cb855047b.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 124 KiB

@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bxsmm2gyauw6h" uid="uid://pftn1buviuxq"
path.s3tc="res://.godot/imported/Cactus_shadow.png-690b271b393182435f3fee0dfffc853f.s3tc.ctex" path.s3tc="res://.godot/imported/Cactus_shadow.png-690b271b393182435f3fee0dfffc853f.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://dwrdamgx2mhot" uid="uid://br768fkkoujng"
path.s3tc="res://.godot/imported/Non-active grass 2.png-a9eb827bdc14401129c8b8585778a301.s3tc.ctex" path.s3tc="res://.godot/imported/Non-active grass 2.png-a9eb827bdc14401129c8b8585778a301.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 85 KiB

@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://d0pxlj3h62i0" uid="uid://bbppmte25u0wm"
path.s3tc="res://.godot/imported/Safezone_5x4_shadow_Uvtex.png-693c34970373fa2ab87b4b27a4706650.s3tc.ctex" path.s3tc="res://.godot/imported/Safezone_5x4_shadow_Uvtex.png-693c34970373fa2ab87b4b27a4706650.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 99 KiB

@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://yeuycwbol863" uid="uid://ce3yhmuk77mqx"
path.s3tc="res://.godot/imported/Safezone_5x5_shadow_Uvtex.png-7ff3038cda19d27f2e5b5251064ee7e7.s3tc.ctex" path.s3tc="res://.godot/imported/Safezone_5x5_shadow_Uvtex.png-7ff3038cda19d27f2e5b5251064ee7e7.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://cekmm3j3682kc" uid="uid://b0cbdhqrl2s0f"
path.s3tc="res://.godot/imported/Stone_block_long_Texture_png.png-50cb19d7be7f45e0f6609e09d26fbc64.s3tc.ctex" path.s3tc="res://.godot/imported/Stone_block_long_Texture_png.png-50cb19d7be7f45e0f6609e09d26fbc64.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bjmo2kco6ft2p" uid="uid://j8sl7p7gepsj"
path.s3tc="res://.godot/imported/Stone_block_small_Texture_png.png-fde94866b9317336ee602cac53ca35a7.s3tc.ctex" path.s3tc="res://.godot/imported/Stone_block_small_Texture_png.png-fde94866b9317336ee602cac53ca35a7.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://dfygdnwauwvwn" uid="uid://dimai4xd0j8h4"
path.s3tc="res://.godot/imported/Tekton_figure_2d_tex.png-1f88d41fc0891f79e53f326e7051e68c.s3tc.ctex" path.s3tc="res://.godot/imported/Tekton_figure_2d_tex.png-1f88d41fc0891f79e53f326e7051e68c.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://dbpx1xq1pouy5" uid="uid://cpol2gvu3bkrp"
path.s3tc="res://.godot/imported/Tekton_statue2_Tex.png-8e53922d65c255a5edef4735cc6eb46e.s3tc.ctex" path.s3tc="res://.godot/imported/Tekton_statue2_Tex.png-8e53922d65c255a5edef4735cc6eb46e.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bpw1x4ai6ts1y" uid="uid://fi8k5ljfkggs"
path.s3tc="res://.godot/imported/Tekton_statue3_Tex.png-04b63252da95a943a35a78f5164ce966.s3tc.ctex" path.s3tc="res://.godot/imported/Tekton_statue3_Tex.png-04b63252da95a943a35a78f5164ce966.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bw85sev104r07" uid="uid://ds5ptu1ef6hts"
path.s3tc="res://.godot/imported/Tekton_statue_Tex.png-e039548e0da9aaad432f803f599784b5.s3tc.ctex" path.s3tc="res://.godot/imported/Tekton_statue_Tex.png-e039548e0da9aaad432f803f599784b5.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
Binary file not shown.
+51 -46
View File
@@ -1872,19 +1872,19 @@
"name":"Plane.008", "name":"Plane.008",
"rotation":[ "rotation":[
0, 0,
0.30191779136657715, -0.0002886206202674657,
0, 0,
0.9533339738845825 1
], ],
"scale":[ "scale":[
0.9011867046356201,
0.9011867642402649, 0.9011867642402649,
0.9011867046356201 0.9011867642402649,
0.9011867642402649
], ],
"translation":[ "translation":[
-0.07086901366710663, -0.07084201276302338,
5.9076352044939995e-05, 5.9076352044939995e-05,
-0.015665093436837196 -0.0156555213034153
] ]
}, },
{ {
@@ -1892,9 +1892,9 @@
"name":"Plane.009", "name":"Plane.009",
"rotation":[ "rotation":[
0, 0,
0.44032320380210876, 0.0028690812177956104,
0, 0,
0.897839367389679 0.9999958872795105
], ],
"scale":[ "scale":[
0.9011867642402649, 0.9011867642402649,
@@ -1911,14 +1911,14 @@
"mesh":66, "mesh":66,
"name":"Plane.010", "name":"Plane.010",
"scale":[ "scale":[
1.1639001369476318, 1.2116822004318237,
1.1639001369476318, 1.2116822004318237,
1.1639001369476318 1.2116822004318237
], ],
"translation":[ "translation":[
-0.0056150867603719234, -0.0056150867603719234,
0.0004899398190900683, 0.0004899398190900683,
-0.04012444242835045 -0.0380040742456913
] ]
}, },
{ {
@@ -2347,7 +2347,7 @@
{ {
"alphaMode":"BLEND", "alphaMode":"BLEND",
"doubleSided":true, "doubleSided":true,
"name":"Material.006", "name":"Material.009",
"pbrMetallicRoughness":{ "pbrMetallicRoughness":{
"baseColorTexture":{ "baseColorTexture":{
"index":26 "index":26
@@ -3697,10 +3697,6 @@
"sampler":0, "sampler":0,
"source":18 "source":18
}, },
{
"sampler":0,
"source":17
},
{ {
"sampler":0, "sampler":0,
"source":19 "source":19
@@ -3708,6 +3704,10 @@
{ {
"sampler":0, "sampler":0,
"source":20 "source":20
},
{
"sampler":0,
"source":21
} }
], ],
"images":[ "images":[
@@ -3806,6 +3806,11 @@
"name":"3-floorblock_Shadow", "name":"3-floorblock_Shadow",
"uri":"3-floorblock_Shadow.png" "uri":"3-floorblock_Shadow.png"
}, },
{
"mimeType":"image/png",
"name":"2-floorblock_Shadow",
"uri":"2-floorblock_Shadow.png"
},
{ {
"mimeType":"image/png", "mimeType":"image/png",
"name":"Safezone_5x4_shadow_Uvtex", "name":"Safezone_5x4_shadow_Uvtex",
@@ -6529,14 +6534,14 @@
{ {
"bufferView":303, "bufferView":303,
"componentType":5126, "componentType":5126,
"count":43, "count":49,
"max":[ "max":[
0.01608099974691868, 0.01608099974691868,
0.04568300023674965, 0.04568300023674965,
-0.00012199999764561653 -0.00012199999764561653
], ],
"min":[ "min":[
-0.04794900119304657, -0.0568748414516449,
-0.018962999805808067, -0.018962999805808067,
-0.00012199999764561653 -0.00012199999764561653
], ],
@@ -6545,53 +6550,53 @@
{ {
"bufferView":304, "bufferView":304,
"componentType":5126, "componentType":5126,
"count":43, "count":49,
"type":"VEC3" "type":"VEC3"
}, },
{ {
"bufferView":305, "bufferView":305,
"componentType":5126, "componentType":5126,
"count":43, "count":49,
"type":"VEC2" "type":"VEC2"
}, },
{ {
"bufferView":306, "bufferView":306,
"componentType":5123, "componentType":5123,
"count":180, "count":210,
"type":"SCALAR" "type":"SCALAR"
}, },
{ {
"bufferView":307, "bufferView":307,
"componentType":5126, "componentType":5126,
"count":46, "count":50,
"max":[ "max":[
0.09660600125789642, 0.09662924706935883,
0.011013000272214413, 0.011096816509962082,
-0.0002899999963119626 -0.0002899993269238621
], ],
"min":[ "min":[
0.013220000080764294, 0.013220000080764294,
-0.060791000723838806, -0.060791000723838806,
-0.0002899999963119626 -0.00029963802080601454
], ],
"type":"VEC3" "type":"VEC3"
}, },
{ {
"bufferView":308, "bufferView":308,
"componentType":5126, "componentType":5126,
"count":46, "count":50,
"type":"VEC3" "type":"VEC3"
}, },
{ {
"bufferView":309, "bufferView":309,
"componentType":5126, "componentType":5126,
"count":46, "count":50,
"type":"VEC2" "type":"VEC2"
}, },
{ {
"bufferView":310, "bufferView":310,
"componentType":5123, "componentType":5123,
"count":192, "count":216,
"type":"SCALAR" "type":"SCALAR"
} }
], ],
@@ -8416,50 +8421,50 @@
}, },
{ {
"buffer":0, "buffer":0,
"byteLength":516, "byteLength":588,
"byteOffset":3481800, "byteOffset":3481800,
"target":34962 "target":34962
}, },
{ {
"buffer":0, "buffer":0,
"byteLength":516, "byteLength":588,
"byteOffset":3482316, "byteOffset":3482388,
"target":34962 "target":34962
}, },
{ {
"buffer":0, "buffer":0,
"byteLength":344, "byteLength":392,
"byteOffset":3482832, "byteOffset":3482976,
"target":34962 "target":34962
}, },
{ {
"buffer":0, "buffer":0,
"byteLength":360, "byteLength":420,
"byteOffset":3483176, "byteOffset":3483368,
"target":34963 "target":34963
}, },
{ {
"buffer":0, "buffer":0,
"byteLength":552, "byteLength":600,
"byteOffset":3483536, "byteOffset":3483788,
"target":34962 "target":34962
}, },
{ {
"buffer":0, "buffer":0,
"byteLength":552, "byteLength":600,
"byteOffset":3484088, "byteOffset":3484388,
"target":34962 "target":34962
}, },
{ {
"buffer":0, "buffer":0,
"byteLength":368, "byteLength":400,
"byteOffset":3484640, "byteOffset":3484988,
"target":34962 "target":34962
}, },
{ {
"buffer":0, "buffer":0,
"byteLength":384, "byteLength":432,
"byteOffset":3485008, "byteOffset":3485388,
"target":34963 "target":34963
} }
], ],
@@ -8477,7 +8482,7 @@
], ],
"buffers":[ "buffers":[
{ {
"byteLength":3485392, "byteLength":3485820,
"uri":"Terrain.bin" "uri":"Terrain.bin"
} }
] ]
@@ -3,7 +3,7 @@
importer="scene" importer="scene"
importer_version=1 importer_version=1
type="PackedScene" type="PackedScene"
uid="uid://dvwfdg65ocrm2" uid="uid://b6rxgumia8qy5"
path="res://.godot/imported/Terrain.gltf-c727a544f574f1f4cd0808dd390e94ae.scn" path="res://.godot/imported/Terrain.gltf-c727a544f574f1f4cd0808dd390e94ae.scn"
[deps] [deps]
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://cr8jelxsoe75p" uid="uid://djwasnb8cugwk"
path.s3tc="res://.godot/imported/Vine_Tex.png-46f3a8f0feac17fc75227a06463ad329.s3tc.ctex" path.s3tc="res://.godot/imported/Vine_Tex.png-46f3a8f0feac17fc75227a06463ad329.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bposxti7gl8i4" uid="uid://baqud1gak550v"
path.s3tc="res://.godot/imported/forest_flower_1_tex.png-87bc2c1fa7ec42b6cb91f92c484c026d.s3tc.ctex" path.s3tc="res://.godot/imported/forest_flower_1_tex.png-87bc2c1fa7ec42b6cb91f92c484c026d.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://qrr4num8pg7d" uid="uid://0n5u70vnhk5v"
path.s3tc="res://.godot/imported/forest_flower_1_tex_png.png-48b458af1c6dc6e99b18eac81c146bed.s3tc.ctex" path.s3tc="res://.godot/imported/forest_flower_1_tex_png.png-48b458af1c6dc6e99b18eac81c146bed.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://lt4s567fcd8e" uid="uid://dtqya3j3yueoi"
path.s3tc="res://.godot/imported/forest_paving_1_tex_png.png-ffb53d7c7db1d11019196409d717c282.s3tc.ctex" path.s3tc="res://.godot/imported/forest_paving_1_tex_png.png-ffb53d7c7db1d11019196409d717c282.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bdgjjlcv3fprs" uid="uid://dmw5jc664c4bw"
path.s3tc="res://.godot/imported/forest_tekton_statue_UV_tex_png.png-a9a7a2968f1ab188f9f91d130a7897b0.s3tc.ctex" path.s3tc="res://.godot/imported/forest_tekton_statue_UV_tex_png.png-a9a7a2968f1ab188f9f91d130a7897b0.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bsebybtnml1op" uid="uid://ccx1qhdpm8q8y"
path.s3tc="res://.godot/imported/stoneblock_Medium_Tex.png-4ac9becbaa5496ee77c6b9de06450e4b.s3tc.ctex" path.s3tc="res://.godot/imported/stoneblock_Medium_Tex.png-4ac9becbaa5496ee77c6b9de06450e4b.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bet4casb047cl" uid="uid://bsmbbf7rvg0ts"
path.s3tc="res://.godot/imported/stoneblock_Tex.png-07d71993d7d5d26e8dcb9bb86db3302d.s3tc.ctex" path.s3tc="res://.godot/imported/stoneblock_Tex.png-07d71993d7d5d26e8dcb9bb86db3302d.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://duybcgpjglhbr" uid="uid://wxa672ddultu"
path.s3tc="res://.godot/imported/tree_1_tex_png.png-9006580ce942db47cded1f814495a9d2.s3tc.ctex" path.s3tc="res://.godot/imported/tree_1_tex_png.png-9006580ce942db47cded1f814495a9d2.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
@@ -2,7 +2,7 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://nhschlvaccl8" uid="uid://d3msqawmgckgw"
path.s3tc="res://.godot/imported/tree_2_tex_png.png-648f504466a6ff68a21caecac64966a3.s3tc.ctex" path.s3tc="res://.godot/imported/tree_2_tex_png.png-648f504466a6ff68a21caecac64966a3.s3tc.ctex"
metadata={ metadata={
"imported_formats": ["s3tc_bptc"], "imported_formats": ["s3tc_bptc"],
+11
View File
@@ -3,6 +3,8 @@ 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 @onready var count_down_animation: AnimatedSprite2D = $CountDown/CountDownAnimation
@onready var go_finish: Control = $GoFinish
@onready var go_animation_2d: AnimatedSprite2D = $GoFinish/GoAnimation2D
#func _input(event: InputEvent) -> void: #func _input(event: InputEvent) -> void:
#if event.is_action_pressed("grab_item"): #if event.is_action_pressed("grab_item"):
@@ -28,3 +30,12 @@ func play_countdown_30s():
func play_countdown_15s(): func play_countdown_15s():
count_down_animation.play("15s") count_down_animation.play("15s")
func play_go_animation():
animation_player.play("go_animation")
func play_go_finish_animation():
if go_finish:
go_finish.visible = true
if go_animation_2d:
go_animation_2d.play("go_animation")
+72 -1
View File
@@ -156,6 +156,58 @@ tracks/11/keys = {
"values": [true] "values": [true]
} }
[sub_resource type="Animation" id="Animation_go_loop"]
resource_name = "go_animation"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("ReadyGo/TextureRect:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(0.75, 0.75), Vector2(0.9, 0.9), Vector2(0.75, 0.75)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("ReadyGo/TextureRect:texture")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [ExtResource("27_t05ex")]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("ReadyGo/TextureRect:pivot_offset")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(375, 231)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("ReadyGo:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/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"
length = 4.0 length = 4.0
@@ -332,6 +384,7 @@ tracks/4/keys = {
[sub_resource type="AnimationLibrary" id="AnimationLibrary_emg7w"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_emg7w"]
_data = { _data = {
&"RESET": SubResource("Animation_pfi5j"), &"RESET": SubResource("Animation_pfi5j"),
&"go_animation": SubResource("Animation_go_loop"),
&"ready-go": SubResource("Animation_bbp28"), &"ready-go": SubResource("Animation_bbp28"),
&"safe-zone-appear": SubResource("Animation_2hrhd"), &"safe-zone-appear": SubResource("Animation_2hrhd"),
&"stop-phase": SubResource("Animation_i0235") &"stop-phase": SubResource("Animation_i0235")
@@ -457,12 +510,30 @@ anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
mouse_filter = 2
[node name="CountDownAnimation" type="AnimatedSprite2D" parent="CountDown" unique_id=1053910485] [node name="CountDownAnimation" type="AnimatedSprite2D" parent="CountDown" unique_id=1053910485]
position = Vector2(683, 360) position = Vector2(683, 360)
scale = Vector2(0.75, 0.75) scale = Vector2(0.75, 0.75)
sprite_frames = ExtResource("24_u10lt") sprite_frames = ExtResource("24_u10lt")
animation = &"15s" animation = &"go_animation"
[node name="GoFinish" type="Control" parent="." unique_id=1244747969]
visible = false
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="GoAnimation2D" type="AnimatedSprite2D" parent="GoFinish" unique_id=1419741041]
position = Vector2(927, 360)
scale = Vector2(0.78, 0.59833336)
sprite_frames = ExtResource("24_u10lt")
animation = &"go_animation"
frame_progress = 0.30336955
[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")
Binary file not shown.
+17
View File
@@ -350,6 +350,18 @@ func _ready():
if LobbyManager.get_randomize_spawn() and not spawn_point_selected: if LobbyManager.get_randomize_spawn() and not spawn_point_selected:
visible = false visible = false
@onready var floor_spawn_bot: AnimatedSprite3D = $floor_spawn_bot
@onready var floor_spawn_top: AnimatedSprite3D = $floor_spawn_top
func _input(event: InputEvent) -> void:
if event.is_action_pressed("grab_item"):
floor_spawn_bot.play("floor_spawn_bot")
floor_spawn_top.play("floor_spawn_top")
func play_floor_spawn():
floor_spawn_bot.play("floor_spawn_bot")
floor_spawn_top.play("floor_spawn_top")
func _init_managers(): func _init_managers():
movement_manager = load("res://scripts/managers/player_movement_manager.gd").new() movement_manager = load("res://scripts/managers/player_movement_manager.gd").new()
movement_manager.name = "MovementManager" movement_manager.name = "MovementManager"
@@ -549,6 +561,11 @@ func sync_special_animation() -> void:
"""Sync special ability animation across network.""" """Sync special ability animation across network."""
play_special_animation() play_special_animation()
@rpc("any_peer", "call_local", "reliable")
func sync_floor_spawn_animation() -> void:
"""Sync floor spawn animation across network."""
play_floor_spawn()
# ============================================================================= # =============================================================================
# Skill VFX # Skill VFX
# ============================================================================= # =============================================================================
+16 -1
View File
@@ -76,7 +76,7 @@ uppercase = true
autowrap_mode = 2 autowrap_mode = 2
[node name="Position" type="Label3D" parent="." unique_id=482425681] [node name="Position" type="Label3D" parent="." unique_id=482425681]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.83275956, 1.5372815, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.537, 0)
billboard = 1 billboard = 1
modulate = Color(0.32, 0.614667, 1, 1) modulate = Color(0.32, 0.614667, 1, 1)
text = "1st" text = "1st"
@@ -144,6 +144,21 @@ billboard = 1
sprite_frames = ExtResource("10_y4r1p") sprite_frames = ExtResource("10_y4r1p")
animation = &"wall-initiator" animation = &"wall-initiator"
[node name="floor_spawn_top" type="AnimatedSprite3D" parent="." unique_id=248195140]
transform = Transform3D(0.5, 0, 0, 0, -0.5, -7.54979e-08, 0, 7.54979e-08, -0.5, 0, 1.4714267, 0.02553294)
visible = false
billboard = 1
sprite_frames = ExtResource("10_y4r1p")
animation = &"floor_spawn_top"
frame = 23
frame_progress = 1.0
[node name="floor_spawn_bot" type="AnimatedSprite3D" parent="." unique_id=169253263]
transform = Transform3D(1.2, 0, 0, 0, -5.2453668e-08, -1.2, 0, 1.2, -5.2453668e-08, 0, -0.506722, -4.4299043e-08)
visible = false
sprite_frames = ExtResource("10_y4r1p")
animation = &"floor_spawn_bot"
[node name="receiver_skill_stunned" type="AnimatedSprite3D" parent="." unique_id=56953581] [node name="receiver_skill_stunned" type="AnimatedSprite3D" parent="." unique_id=56953581]
transform = Transform3D(0.5, 0, 0, 0, -2.1855694e-08, -0.5, 0, 0.5, -2.1855694e-08, 0, 1.5653763, 0) transform = Transform3D(0.5, 0, 0, 0, -2.1855694e-08, -0.5, 0, 0.5, -2.1855694e-08, 0, 1.5653763, 0)
visible = false visible = false
+1 -1
View File
@@ -64,7 +64,7 @@ var disconnect_reason: String = ""
# Stop N Go settings # Stop N Go settings
var sng_go_duration: int = 20 var sng_go_duration: int = 20
var sng_stop_duration: int = 4 var sng_stop_duration: int = 4
var sng_required_goals: int = 8 var sng_required_goals: int = 1
# Tekton Doors settings # Tekton Doors settings
var doors_swap_time: int = 15 var doors_swap_time: int = 15
+6
View File
@@ -191,6 +191,12 @@ func spawn_boost_reward() -> bool:
return false return false
if player.special_tiles_manager and player.special_tiles_manager.has_method("spawn_powerups_around"): if player.special_tiles_manager and player.special_tiles_manager.has_method("spawn_powerups_around"):
# Trigger the synced floor spawn animation
if player.has_method("rpc"):
player.rpc("sync_floor_spawn_animation")
elif player.has_method("play_floor_spawn"):
player.play_floor_spawn()
# Spawn tiles (Stop N Go gets only common, Free Mode gets 60/40 ratio) # Spawn tiles (Stop N Go gets only common, Free Mode gets 60/40 ratio)
player.special_tiles_manager.spawn_powerups_around(player.current_position, true, false, true) player.special_tiles_manager.spawn_powerups_around(player.current_position, true, false, true)
+7
View File
@@ -145,6 +145,13 @@ func _update_hud_visuals():
var player_node = main.get_node_or_null(str(my_id)) var player_node = main.get_node_or_null(str(my_id))
if player_node: if player_node:
NotificationManager.send_message(player_node, "ALL GOALS COMPLETE!", NotificationManager.MessageType.GOAL) NotificationManager.send_message(player_node, "ALL GOALS COMPLETE!", NotificationManager.MessageType.GOAL)
# Play looping "GoFinish" animation to signals the Go phase for this player
if main and main.get("vfx_manager"):
if main.vfx_manager.has_method("play_go_finish_animation"):
main.vfx_manager.play_go_finish_animation()
elif main.vfx_manager.has_method("play_go_animation"):
main.vfx_manager.play_go_animation()
else: else:
mission_label.add_theme_color_override("font_color", Color.WHITE) mission_label.add_theme_color_override("font_color", Color.WHITE)
_has_notified_mission_complete = false _has_notified_mission_complete = false