fix(candy-survival): resolve persistent candy color bugs, sync HUD scores and counts, bypass Mekton face delivery requirement, and correct STAR/COIN color switch
This commit is contained in:
+3
-1
@@ -1409,7 +1409,7 @@ func _on_peer_connected(new_peer_id: int):
|
||||
var player_goals = GoalManager.preset_goals[player_index].duplicate()
|
||||
player.goals = player_goals
|
||||
# Update goals UI for all clients
|
||||
call_deferred("_deferred_set_player_goals", new_peer_id, player_goals)
|
||||
rpc("sync_player_goals", new_peer_id, player_goals)
|
||||
|
||||
@rpc
|
||||
func add_newly_connected_player_character(new_peer_id: int):
|
||||
@@ -2041,6 +2041,8 @@ func request_full_grid_sync():
|
||||
if stop_n_go_manager.player_missions.has(sender_id):
|
||||
var mission_dict = {sender_id: stop_n_go_manager.player_missions[sender_id]}
|
||||
stop_n_go_manager.rpc_id(sender_id, "sync_missions", mission_dict)
|
||||
elif LobbyManager.game_mode == "Candy Survival" and candy_survival_manager:
|
||||
candy_survival_manager.sync_state_to_player(sender_id)
|
||||
|
||||
# For all modes, only sync Floor 1 (Items) to prevent MTU packet overflow.
|
||||
# Floor 0 logic is deterministic and generated locally on level load.
|
||||
|
||||
+3
-3
@@ -624,12 +624,12 @@ func sync_candy_stack(colors: Array) -> void:
|
||||
var candy_colors = {
|
||||
0: Color(1.0, 0.3, 0.3), # HEART = red
|
||||
1: Color(0.3, 0.6, 1.0), # DIAMOND = blue
|
||||
2: Color(1.0, 0.8, 0.0), # STAR = gold
|
||||
3: Color(0.0, 1.0, 0.4), # COIN = green
|
||||
2: Color(0.0, 1.0, 0.4), # STAR = green
|
||||
3: Color(1.0, 0.8, 0.0), # COIN = gold
|
||||
}
|
||||
|
||||
for i in range(colors.size()):
|
||||
var color_id = colors[i]
|
||||
var color_id = int(colors[i])
|
||||
var base_color = candy_colors.get(color_id, Color.WHITE)
|
||||
var candy = _candy_scene.instantiate()
|
||||
candy.position = Vector3(0, i * 0.35, 0)
|
||||
|
||||
Reference in New Issue
Block a user