feat: implement the new "Stop N Go" game mode, including phase management, dynamic safe zones, player missions, and dedicated UI with visual effects.
This commit is contained in:
+3
-3
@@ -92,6 +92,9 @@ current = true
|
||||
fov = 21.0
|
||||
size = 15.0
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=12971344]
|
||||
environment = ExtResource("4_ky38j")
|
||||
|
||||
[node name="PlayerboardPanel" type="PanelContainer" parent="." unique_id=1098203639]
|
||||
material = SubResource("ShaderMaterial_j8jky")
|
||||
anchors_preset = 4
|
||||
@@ -1140,9 +1143,6 @@ theme_override_styles/focus = SubResource("StyleBoxFlat_1cewu")
|
||||
placeholder_text = "Chat"
|
||||
alignment = 1
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=12971344]
|
||||
environment = ExtResource("4_ky38j")
|
||||
|
||||
[node name="MessageBar" type="PanelContainer" parent="." unique_id=142729129]
|
||||
visible = false
|
||||
anchors_preset = 2
|
||||
|
||||
+7
-4
@@ -621,10 +621,13 @@ func receive_spawn_positions_update(occupied_positions: Array):
|
||||
highlighted_spawn_points.erase(pos)
|
||||
if enhanced_gridmap:
|
||||
# Clear the highlight from Layer 2 (Overlay) instead of overwriting Floor 0
|
||||
enhanced_gridmap.set_cell_item(
|
||||
Vector3i(pos.x, 2, pos.y),
|
||||
-1
|
||||
)
|
||||
# PROTECTION: Never clear if it's a Safe Zone (ID 2)
|
||||
var current_l2 = enhanced_gridmap.get_cell_item(Vector3i(pos.x, 2, pos.y))
|
||||
if current_l2 != 2:
|
||||
enhanced_gridmap.set_cell_item(
|
||||
Vector3i(pos.x, 2, pos.y),
|
||||
-1
|
||||
)
|
||||
|
||||
# Now highlight available positions
|
||||
highlight_available_spawn_points()
|
||||
|
||||
+2
-13
@@ -31,17 +31,8 @@ spacing_glyph = 5
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.5, 0)
|
||||
collision_layer = 2
|
||||
script = ExtResource("1_qecr4")
|
||||
is_bot = null
|
||||
enhanced_gridmap_path = null
|
||||
current_position = null
|
||||
cell_size = Vector3(1, 1, 1)
|
||||
cell_offset = null
|
||||
goals = null
|
||||
playerboard = null
|
||||
movement_range = null
|
||||
use_diagonal_movement = true
|
||||
is_my_turn = null
|
||||
has_moved_this_turn = null
|
||||
|
||||
[node name="Masbro" parent="." unique_id=1585899496 instance=ExtResource("2_mjsl8")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.485, 0)
|
||||
@@ -151,9 +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 = &"wall-initiator"
|
||||
frame = 149
|
||||
frame_progress = 1.0
|
||||
animation = &"stop-phase"
|
||||
|
||||
[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)
|
||||
@@ -168,7 +157,7 @@ frame_progress = 1.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
|
||||
sprite_frames = ExtResource("10_y4r1p")
|
||||
animation = &"freeze-initiator"
|
||||
animation = &"attack-mode-receiver-top"
|
||||
|
||||
[node name="attack_mode_bot" type="AnimatedSprite3D" parent="." unique_id=1320274503]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, -0.6701627, 0)
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
[gd_scene format=3 uid="uid://dbqj67js76fa5"]
|
||||
|
||||
[node name="StopNGoAnimation" type="Control" unique_id=257399947]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1614214519]
|
||||
Reference in New Issue
Block a user