diff --git a/assets/models/arena/stop_n_go/Active_ground 10.jpg b/assets/models/arena/stop_n_go/Active_ground 10.jpg new file mode 100644 index 0000000..06b3fc1 Binary files /dev/null and b/assets/models/arena/stop_n_go/Active_ground 10.jpg differ diff --git a/assets/models/arena/stop_n_go/Active_ground 10.jpg.import b/assets/models/arena/stop_n_go/Active_ground 10.jpg.import new file mode 100644 index 0000000..c4b4043 --- /dev/null +++ b/assets/models/arena/stop_n_go/Active_ground 10.jpg.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bv8hwsc2h586n" +path.s3tc="res://.godot/imported/Active_ground 10.jpg-042281519752a57c05c29f0d17ca57a5.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/models/arena/stop_n_go/Active_ground 10.jpg" +dest_files=["res://.godot/imported/Active_ground 10.jpg-042281519752a57c05c29f0d17ca57a5.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 diff --git a/assets/models/arena/stop_n_go/arena3.gltf b/assets/models/arena/stop_n_go/arena3.gltf index 8a19c69..f12afec 100644 --- a/assets/models/arena/stop_n_go/arena3.gltf +++ b/assets/models/arena/stop_n_go/arena3.gltf @@ -102,7 +102,22 @@ 87, 88, 89, - 90 + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105 ] } ], @@ -429,9 +444,9 @@ 0.005972830578684807 ], "translation":[ - -0.08269041031599045, - 0.007447271607816219, - -0.05818251520395279 + -0.08676587790250778, + -1.38808973133564e-05, + -0.04671066626906395 ] }, { @@ -550,7 +565,7 @@ ], "translation":[ 0.07523632794618607, - 0.006656754296272993, + -0.0005740257911384106, -0.08518262207508087 ] }, @@ -570,7 +585,7 @@ ], "translation":[ 0.014871690422296524, - 0.006656754296272993, + -0.0005740257911384106, -0.08443422615528107 ] }, @@ -591,7 +606,7 @@ "translation":[ -0.029131930321455002, 0.002036990597844124, - -0.07459437102079391 + -0.07124247401952744 ] }, { @@ -611,7 +626,7 @@ "translation":[ -0.013141944073140621, 0.0034445375204086304, - -0.07222942262887955 + -0.06887752562761307 ] }, { @@ -631,7 +646,7 @@ "translation":[ 0.040613725781440735, 0.004754998721182346, - -0.07906124740839005 + -0.07597747445106506 ] }, { @@ -651,7 +666,7 @@ "translation":[ 0.05421815812587738, 0.0025947140529751778, - -0.07787599414587021 + -0.07479222118854523 ] }, { @@ -691,7 +706,7 @@ "translation":[ 0.028093654662370682, 0.004464345518499613, - -0.07301106303930283 + -0.06992729008197784 ] }, { @@ -711,7 +726,7 @@ "translation":[ -0.044556908309459686, 0.00300344405695796, - -0.06013080105185509 + -0.05677890405058861 ] }, { @@ -731,7 +746,7 @@ "translation":[ 0.04875577241182327, 0.0025947140529751778, - -0.07432270050048828 + -0.0712389275431633 ] }, { @@ -771,7 +786,7 @@ "translation":[ -0.06296971440315247, 0.0025947140529751778, - -0.06111462041735649 + -0.05776272341609001 ] }, { @@ -908,12 +923,12 @@ 0.9863263368606567 ], "scale":[ - 0.004883195273578167, - 0.004883196670562029, - 0.004883195273578167 + 0.003991073928773403, + 0.003991075325757265, + 0.003991073928773403 ], "translation":[ - -0.01891900599002838, + -0.019923998042941093, -0.0001821359619498253, 0.02468346431851387 ] @@ -928,12 +943,12 @@ 0.9863263368606567 ], "scale":[ - 0.004809297621250153, - 0.004809298552572727, - 0.004809297621250153 + 0.0040076617151498795, + 0.004007662646472454, + 0.0040076617151498795 ], "translation":[ - 0.06013767421245575, + 0.06074105575680733, -0.0001821359619498253, -0.024954374879598618 ] @@ -1042,15 +1057,15 @@ "mesh":36, "name":"Forest_Tree.028", "rotation":[ - -0.6598230004310608, - -0.3566572964191437, - -0.3308103382587433, - 0.5727074146270752 + -0.8144026398658752, + -0.4473532736301422, + -0.190983384847641, + 0.31646281480789185 ], "scale":[ -0.003610247978940606, -0.003582216566428542, - -0.002201348775997758 + -0.0022013490088284016 ], "translation":[ -0.009595382958650589, @@ -1058,6 +1073,166 @@ -0.045792993158102036 ] }, + { + "mesh":25, + "name":"Sphere.001", + "rotation":[ + 0.7071068286895752, + 0, + 0, + 0.7071068286895752 + ], + "scale":[ + 0.0033437993843108416, + 0.0018933492247015238, + 0.0026772490236908197 + ], + "translation":[ + -0.01023787073791027, + 0.002657234901562333, + -0.0012814961373806 + ] + }, + { + "mesh":25, + "name":"Sphere.008", + "rotation":[ + 0.5, + 0.5, + -0.5, + 0.4999999701976776 + ], + "scale":[ + 0.0033437993843108416, + 0.0018933492247015238, + 0.0026772490236908197 + ], + "translation":[ + -0.044048383831977844, + 0.002657234901562333, + 0.03200124576687813 + ] + }, + { + "mesh":25, + "name":"Sphere.009", + "rotation":[ + 0.5, + 0.5, + -0.5, + 0.4999999701976776 + ], + "scale":[ + 0.0033437993843108416, + 0.0018933492247015238, + 0.0026772490236908197 + ], + "translation":[ + 0.004850704222917557, + 0.002657234901562333, + 0.01692376472055912 + ] + }, + { + "mesh":25, + "name":"Sphere.010", + "rotation":[ + 0.7071068286895752, + 0, + 0, + 0.7071068286895752 + ], + "scale":[ + 0.0033437993843108416, + 0.0018933492247015238, + 0.0026772490236908197 + ], + "translation":[ + 0.07054690271615982, + 0.002657234901562333, + -0.04978448897600174 + ] + }, + { + "mesh":25, + "name":"Sphere.011", + "rotation":[ + 0.5, + 0.5, + -0.5, + 0.4999999701976776 + ], + "scale":[ + 0.0033437993843108416, + 0.0018933492247015238, + 0.0026772490236908197 + ], + "translation":[ + 0.03449374809861183, + 0.002657234901562333, + -0.04158128798007965 + ] + }, + { + "mesh":25, + "name":"Sphere.012", + "rotation":[ + 0.5, + 0.5, + -0.5, + 0.4999999701976776 + ], + "scale":[ + 0.0033437993843108416, + 0.0018933492247015238, + 0.0026772490236908197 + ], + "translation":[ + 0.0856354832649231, + 0.002657234901562333, + -0.02710219845175743 + ] + }, + { + "mesh":25, + "name":"Sphere.013", + "rotation":[ + 0.7071068286895752, + 0, + 0, + 0.7071068286895752 + ], + "scale":[ + 0.0033437993843108416, + 0.0018933492247015238, + 0.0026772490236908197 + ], + "translation":[ + 0.07874570041894913, + 0.002657234901562333, + -0.00033884868025779724 + ] + }, + { + "mesh":25, + "name":"Sphere.014", + "rotation":[ + 0.5, + 0.5, + -0.5, + 0.4999999701976776 + ], + "scale":[ + 0.0033437993843108416, + 0.0018933492247015238, + 0.0026772490236908197 + ], + "translation":[ + 0.0856354832649231, + 0.002657234901562333, + -0.04287939518690109 + ] + }, { "mesh":37, "name":"Circle.002", @@ -1142,7 +1317,7 @@ 1 ], "translation":[ - 0.0839901715517044, + 0.08539150655269623, 0.0004999616649001837, -0.0214134082198143 ] @@ -1286,7 +1461,7 @@ ], "translation":[ -0.044300541281700134, - 0.005469377618283033, + 0.003274786053225398, 0.03818664327263832 ] }, @@ -1360,7 +1535,7 @@ ], "translation":[ 0.00538861146196723, - 0.005456879269331694, + 0.0020697901491075754, 0.0008814841858111322 ] }, @@ -1414,7 +1589,7 @@ ], "translation":[ -0.04402609169483185, - 0.005469372496008873, + 0.0020822833757847548, 0.00013192872575018555 ] }, @@ -1509,7 +1684,7 @@ "translation":[ 0.07345359772443771, 0.0027638087049126625, - -0.05261143296957016 + -0.05062336102128029 ] }, { @@ -1528,8 +1703,8 @@ ], "translation":[ 0.08524549007415771, - 0.005318331997841597, - -0.051953308284282684 + 0.0023972420021891594, + -0.04996523633599281 ] }, { @@ -1549,7 +1724,7 @@ "translation":[ 0.07182701677083969, 0.0005243827472440898, - -0.052252672612667084 + -0.05026460066437721 ] }, { @@ -1564,7 +1739,7 @@ "translation":[ 0.03458728641271591, 0.0029167381580919027, - -0.04451630637049675 + -0.04306700453162193 ] }, { @@ -1577,8 +1752,8 @@ ], "translation":[ 0.03583082556724548, - 0.005376724526286125, - -0.05042971298098564 + 0.0013983789831399918, + -0.048980411142110825 ] }, { @@ -1598,7 +1773,105 @@ "translation":[ 0.04634865000844002, 0.0010609966702759266, - -0.051983579993247986 + -0.05053427815437317 + ] + }, + { + "mesh":56, + "name":"Circle.012", + "scale":[ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929 + ], + "translation":[ + -0.04402609169483185, + 0.0006713897455483675, + 0.01722167618572712 + ] + }, + { + "mesh":49, + "name":"Circle.034", + "scale":[ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929 + ], + "translation":[ + -0.027252083644270897, + 0.003274786053225398, + 0.03818664327263832 + ] + }, + { + "mesh":49, + "name":"Circle.036", + "scale":[ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929 + ], + "translation":[ + -0.011415235698223114, + 0.003274786053225398, + 0.03818664327263832 + ] + }, + { + "mesh":56, + "name":"Circle.037", + "scale":[ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929 + ], + "translation":[ + -0.02775517851114273, + 0.0006713897455483675, + -0.00160285085439682 + ] + }, + { + "mesh":56, + "name":"Circle.014", + "scale":[ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929 + ], + "translation":[ + 0.03449495509266853, + 0.0006713897455483675, + -0.025325963273644447 + ] + }, + { + "mesh":49, + "name":"Circle.038", + "scale":[ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929 + ], + "translation":[ + 0.06272707879543304, + 0.003274786053225398, + -0.0008780453354120255 + ] + }, + { + "mesh":56, + "name":"Circle.040", + "scale":[ + 0.5869826674461365, + 0.5869826674461365, + 0.5869826674461365 + ], + "translation":[ + 0.05302959680557251, + 0.0006713897455483675, + -0.0497237890958786 ] }, { @@ -3214,8 +3487,8 @@ }, { "mimeType":"image/jpeg", - "name":"Active_ground 8", - "uri":"Active_ground%208.jpg" + "name":"Active_ground 10", + "uri":"Active_ground%2010.jpg" }, { "mimeType":"image/png", diff --git a/scenes/animation.tscn b/scenes/animation.tscn index f61c34e..a041caf 100644 --- a/scenes/animation.tscn +++ b/scenes/animation.tscn @@ -410,6 +410,7 @@ pivot_offset = Vector2(960, 477.5) texture = ExtResource("23_mfqh2") [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="StopPhase" unique_id=1499304863] +z_index = 100 position = Vector2(671, 364) sprite_frames = ExtResource("24_u10lt") animation = &"stop-phase" diff --git a/scenes/arena/stop_n_go.scn b/scenes/arena/stop_n_go.scn index fc7373f..b49ca85 100644 Binary files a/scenes/arena/stop_n_go.scn and b/scenes/arena/stop_n_go.scn differ diff --git a/scenes/main.tscn b/scenes/main.tscn index 185ef88..8e38f60 100644 --- a/scenes/main.tscn +++ b/scenes/main.tscn @@ -1366,10 +1366,7 @@ offset_bottom = 56.0 grow_horizontal = 0 text = "⚙" -[node name="TouchControls" type="CanvasLayer" parent="." unique_id=1390485948] -script = ExtResource("touch_manager") - -[node name="TouchControls" type="Control" parent="TouchControls" unique_id=1539594058] +[node name="TouchControls" type="Control" parent="." unique_id=1539594058] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 @@ -1379,8 +1376,9 @@ grow_horizontal = 2 grow_vertical = 2 mouse_filter = 2 theme = ExtResource("18_pm3ni") +script = ExtResource("touch_manager") -[node name="VirtualJoystick" type="Control" parent="TouchControls/TouchControls" unique_id=1983608919] +[node name="VirtualJoystick" type="Control" parent="TouchControls" unique_id=1983608919] visible = false layout_mode = 1 anchors_preset = 2 @@ -1393,7 +1391,7 @@ offset_bottom = -120.0 grow_vertical = 0 script = ExtResource("virtual_joystick") -[node name="PowerBarBtn" type="VBoxContainer" parent="TouchControls/TouchControls" unique_id=278736451] +[node name="PowerBarBtn" type="VBoxContainer" parent="TouchControls" unique_id=278736451] layout_mode = 0 offset_left = 47.858246 offset_top = 98.014656 @@ -1402,7 +1400,7 @@ offset_bottom = 265.01465 rotation = -0.10297442 theme_override_constants/separation = 10 -[node name="AttackModeBtn" type="Button" parent="TouchControls/TouchControls/PowerBarBtn" unique_id=1380511463] +[node name="AttackModeBtn" type="Button" parent="TouchControls/PowerBarBtn" unique_id=1380511463] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -1412,7 +1410,7 @@ flat = true icon_alignment = 1 expand_icon = true -[node name="TektonGrabBtn" type="Button" parent="TouchControls/TouchControls/PowerBarBtn" unique_id=2097928368] +[node name="TektonGrabBtn" type="Button" parent="TouchControls/PowerBarBtn" unique_id=2097928368] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -1421,7 +1419,7 @@ flat = true icon_alignment = 1 expand_icon = true -[node name="InteractionBtn" type="VBoxContainer" parent="TouchControls/TouchControls" unique_id=1738242916] +[node name="InteractionBtn" type="VBoxContainer" parent="TouchControls" unique_id=1738242916] layout_mode = 0 offset_left = 131.0 offset_top = 86.999985 @@ -1430,7 +1428,7 @@ offset_bottom = 254.0 rotation = -0.10297442 theme_override_constants/separation = 10 -[node name="GrabBtn" type="Button" parent="TouchControls/TouchControls/InteractionBtn" unique_id=914810452] +[node name="GrabBtn" type="Button" parent="TouchControls/InteractionBtn" unique_id=914810452] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -1440,7 +1438,7 @@ flat = true icon_alignment = 1 expand_icon = true -[node name="PutBtn" type="Button" parent="TouchControls/TouchControls/InteractionBtn" unique_id=1027790362] +[node name="PutBtn" type="Button" parent="TouchControls/InteractionBtn" unique_id=1027790362] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 diff --git a/scenes/player.tscn b/scenes/player.tscn index 9b63d96..1ef8a62 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -142,7 +142,7 @@ transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 1 visible = false billboard = 1 sprite_frames = ExtResource("10_y4r1p") -animation = &"stop-phase" +animation = &"wall-initiator" [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) diff --git a/scripts/managers/stop_n_go_manager.gd b/scripts/managers/stop_n_go_manager.gd index dba67a7..c917ce1 100644 --- a/scripts/managers/stop_n_go_manager.gd +++ b/scripts/managers/stop_n_go_manager.gd @@ -185,9 +185,9 @@ func _update_stop_timer_visuals(): stop_timer_node.visible = true if current_phase == Phase.GO: - # GO Phase: All dim unless in last 6 seconds (lights up 6, 4, 2s) + # GO Phase: All dim unless in last 3 seconds (lights up 3, 2, 1s) for i in range(stop_segments.size()): - var threshold = 6.0 - (i * 2.0) + var threshold = 3.0 - (i * 1.0) if phase_timer <= threshold: stop_segments[i].add_theme_stylebox_override("panel", lit_style) else: diff --git a/scripts/managers/touch_controls.gd b/scripts/managers/touch_controls.gd index 5e90b8f..7a2c79b 100644 --- a/scripts/managers/touch_controls.gd +++ b/scripts/managers/touch_controls.gd @@ -1,4 +1,4 @@ -extends CanvasLayer +extends Control # TouchControlsManager - Manages mobile touch controls including virtual joystick and action buttons @@ -102,20 +102,9 @@ func _on_player_child_to_find_powerup(node): func _create_touch_ui(): print("[TouchControls] Creating/Finding touch UI...") # Use layer 10 - above regular UI but below pause menu - layer = 10 # Check if container already exists (added in scene) - var container = get_node_or_null("TouchControls") - - if not container: - # Create main container if missing - container = Control.new() - container.name = "TouchControls" - container.set_anchors_preset(Control.PRESET_FULL_RECT) - container.mouse_filter = Control.MOUSE_FILTER_PASS # Pass input to children - add_child(container) - else: - print("[TouchControls] Found existing TouchControls container") + var container = self # Helper to find or create control var find_or_create_joystick = func(): @@ -149,29 +138,26 @@ func _create_touch_ui(): # --- Actions Containers --- power_bar_container = container.get_node_or_null("PowerBarBtn") - if not power_bar_container: - power_bar_container = container.get_node_or_null("ActionsBtn") # Fallback - interaction_container = container.get_node_or_null("InteractionBtn") # Create containers if missing (runtime dynamic creation) - if not power_bar_container: - power_bar_container = Control.new() - power_bar_container.name = "PowerBarBtn" - power_bar_container.set_anchors_preset(Control.PRESET_FULL_RECT) - power_bar_container.mouse_filter = Control.MOUSE_FILTER_PASS - container.add_child(power_bar_container) - else: - print("[TouchControls] Found existing PowerBarBtn container") - - if not interaction_container: - interaction_container = Control.new() - interaction_container.name = "InteractionBtn" - interaction_container.set_anchors_preset(Control.PRESET_FULL_RECT) - interaction_container.mouse_filter = Control.MOUSE_FILTER_PASS - container.add_child(interaction_container) - else: - print("[TouchControls] Found existing InteractionBtn container") + #if not power_bar_container: + #power_bar_container = Control.new() + #power_bar_container.name = "PowerBarBtn" + #power_bar_container.set_anchors_preset(Control.PRESET_FULL_RECT) + #power_bar_container.mouse_filter = Control.MOUSE_FILTER_PASS + #container.add_child(power_bar_container) + #else: + #print("[TouchControls] Found existing PowerBarBtn container") + # + #if not interaction_container: + #interaction_container = Control.new() + #interaction_container.name = "InteractionBtn" + #interaction_container.set_anchors_preset(Control.PRESET_FULL_RECT) + #interaction_container.mouse_filter = Control.MOUSE_FILTER_PASS + #container.add_child(interaction_container) + #else: + #print("[TouchControls] Found existing InteractionBtn container") # Style/Align Containers if power_bar_container is BoxContainer: