feat: Implement core playerboard management including item grabbing, power-up handling, goal completion, and grid refilling, alongside new Tekton entity and various game managers.

This commit is contained in:
2026-03-02 03:10:38 +08:00
parent 1c5c3d47f6
commit a7442bb1a6
17 changed files with 78 additions and 42 deletions
+3 -2
View File
@@ -315,7 +315,7 @@ func _execute_area_freeze(center_pos: Vector2i = Vector2i.ZERO):
hit_count += 1
if hit_count > 0 and player.is_multiplayer_authority():
var is_sng = LobbyManager.game_mode == "Stop n Go"
var is_sng = LobbyManager.is_game_mode(GameMode.Mode.STOP_N_GO)
if not is_sng:
var points = hit_count * 50
var main = player.get_tree().get_root().get_node_or_null("Main")
@@ -462,7 +462,8 @@ func spawn_powerups_around(center: Vector2i, force_powerups: bool = true):
item_id = rng.randi_range(7, 10)
else:
# 30% Chance for PowerUp (Speed 11, Freeze 12, Ghost 14 - Exclude Wall 13 in restricted modes)
var is_restricted = LobbyManager.game_mode == "Stop n Go" or LobbyManager.game_mode == "Tekton Doors"
var mode = LobbyManager.get_game_mode()
var is_restricted = GameMode.is_restricted(mode)
if is_restricted:
item_id = [11, 12, 14].pick_random()
else: