feat: implement Stop N Go arena, animation system, and lobby manager features
This commit is contained in:
@@ -64,7 +64,7 @@ var disconnect_reason: String = ""
|
||||
# Stop N Go settings
|
||||
var sng_go_duration: int = 20
|
||||
var sng_stop_duration: int = 4
|
||||
var sng_required_goals: int = 8
|
||||
var sng_required_goals: int = 1
|
||||
|
||||
# Tekton Doors settings
|
||||
var doors_swap_time: int = 15
|
||||
|
||||
@@ -191,6 +191,12 @@ func spawn_boost_reward() -> bool:
|
||||
return false
|
||||
|
||||
if player.special_tiles_manager and player.special_tiles_manager.has_method("spawn_powerups_around"):
|
||||
# Trigger the synced floor spawn animation
|
||||
if player.has_method("rpc"):
|
||||
player.rpc("sync_floor_spawn_animation")
|
||||
elif player.has_method("play_floor_spawn"):
|
||||
player.play_floor_spawn()
|
||||
|
||||
# Spawn tiles (Stop N Go gets only common, Free Mode gets 60/40 ratio)
|
||||
player.special_tiles_manager.spawn_powerups_around(player.current_position, true, false, true)
|
||||
|
||||
|
||||
@@ -145,6 +145,13 @@ func _update_hud_visuals():
|
||||
var player_node = main.get_node_or_null(str(my_id))
|
||||
if player_node:
|
||||
NotificationManager.send_message(player_node, "ALL GOALS COMPLETE!", NotificationManager.MessageType.GOAL)
|
||||
|
||||
# Play looping "GoFinish" animation to signals the Go phase for this player
|
||||
if main and main.get("vfx_manager"):
|
||||
if main.vfx_manager.has_method("play_go_finish_animation"):
|
||||
main.vfx_manager.play_go_finish_animation()
|
||||
elif main.vfx_manager.has_method("play_go_animation"):
|
||||
main.vfx_manager.play_go_animation()
|
||||
else:
|
||||
mission_label.add_theme_color_override("font_color", Color.WHITE)
|
||||
_has_notified_mission_complete = false
|
||||
|
||||
Reference in New Issue
Block a user