Files
tekton/_daily_basis/report_2025-12-21.md
T

3.4 KiB

[ ADT's Daily Report - 2025-12-21 ]

Updated the tekton-enet ( Armageddon Multiplayer ) on branch launcher

you can test also, if theres any bug, please report it to me, also try build the project on android to see if theres any bug on touch controls

General Fixes

Fixed "Invalid packet received" Errors - The error Failed to get path from RPC: Main/1 was caused by player.rpc() calls trying to find the same node path on clients. Fixed by routing all sync calls through main.gd RPCs which look up players by ID.

sync_playerboard RPC Fix - Updated main.gd sync_playerboard(player_id, new_playerboard) to actually update player.playerboard data, not just UI.

sync_player_goals RPC Fix - Changed goals_cycle_manager.gd regenerate_goals_for_player() to use main_scene.rpc("sync_player_goals", peer_id, int_goals) instead of player.rpc("sync_goals").

Randomized Spawn System Fixes

Spawn Rollback Fix - Restructured _setup_host_game() in main.gd to add all players synchronously first, then call _assign_random_spawn_positions() BEFORE the 0.3s await. This ensures spawn positions are set before player _ready() runs position initialization.

Client-Side Spawn Init - Modified player.gd (lines 200, 212) to check LobbyManager.get_randomize_spawn() before running position initialization. When random spawn is enabled, clients skip position init entirely and wait for host RPC.

RPC Node Path Fixes

Fixed "Invalid packet received" Errors - The error Failed to get path from RPC: Main/1 was caused by player.rpc() calls trying to find the same node path on clients. Fixed by routing all sync calls through main.gd RPCs which look up players by ID.

sync_playerboard RPC Fix - Updated main.gd sync_playerboard(player_id, new_playerboard) to actually update player.playerboard data, not just UI.

sync_player_goals RPC Fix - Changed goals_cycle_manager.gd regenerate_goals_for_player() to use main_scene.rpc("sync_player_goals", peer_id, int_goals) instead of player.rpc("sync_goals").

Goal Completion Sync

Client Goal Completion Detection - Added _check_goal_completion() call to server-side _execute_grab() in playerboard_manager.gd. This was the missing piece - client grabs were validated by server but goal check was never called server-side, so client goal completions weren't triggering regeneration.

Special Ability Cooldown

4-Second Cooldown for F Key - Added SPECIAL_COOLDOWN = 4.0 constant, special_cooldown_timer variable, and _process() to tick down cooldown in powerup_manager.gd. Shows "Special on cooldown! (X.Xs)" message if trying to use too soon.

Animation

AnimationTimeline - added animation for player movement
AnimationTimeline - added animation for player special ability
AnimationTimeline - added animation for pickup, put

Character selection
Character selection - added character selection for player

Message Display Improvements

Player Names in Messages - Updated add_message_to_bar() in main.gd to display messages in format: [PlayerName] message (e.g., " [Player1] Power-up bar filled!").

Touch Controls

Settings Button Functionality - Implemented _on_settings_pressed() in touch_controls.gd to open SettingsPanel from main.tscn when pressed.