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.