feat: bullrush branch - mekton bulls arena, HUD, NPC managers, godot_ai updates
This commit is contained in:
+29
-4
@@ -17,6 +17,7 @@ var is_match_ended: bool = false
|
||||
var obstacle_manager
|
||||
var portal_mode_manager
|
||||
var gauntlet_manager
|
||||
var mekton_bulls_manager
|
||||
var vfx_manager
|
||||
|
||||
# Minimal local state
|
||||
@@ -258,7 +259,14 @@ func _init_managers():
|
||||
gauntlet_manager.name = "GauntletManager"
|
||||
add_child(gauntlet_manager)
|
||||
gauntlet_manager.initialize(self, $EnhancedGridMap)
|
||||
|
||||
|
||||
# Mekton Bulls manager
|
||||
if LobbyManager.game_mode == "Mekton Bulls":
|
||||
mekton_bulls_manager = load("res://scripts/managers/mekton_bulls_manager.gd").new()
|
||||
mekton_bulls_manager.name = "MektonBullsManager"
|
||||
add_child(mekton_bulls_manager)
|
||||
mekton_bulls_manager.initialize(self, $EnhancedGridMap)
|
||||
|
||||
# Screen shake manager for impact feedback
|
||||
screen_shake_manager = load("res://scripts/managers/screen_shake.gd").new()
|
||||
screen_shake_manager.name = "ScreenShakeManager"
|
||||
@@ -623,6 +631,8 @@ func _setup_host_game():
|
||||
portal_mode_manager.setup_arena_locally()
|
||||
elif LobbyManager.game_mode == "Candy Pump Survival" and gauntlet_manager:
|
||||
gauntlet_manager._setup_arena()
|
||||
elif LobbyManager.game_mode == "Mekton Bulls" and mekton_bulls_manager:
|
||||
mekton_bulls_manager._setup_arena()
|
||||
else:
|
||||
# Randomize grid first to ensure Floor 0 is walkable for pre-calculation
|
||||
randomize_game_grid()
|
||||
@@ -728,10 +738,20 @@ func _setup_client_game():
|
||||
# Initialize arena locally for Tekton Doors
|
||||
if LobbyManager.game_mode == "Tekton Doors" and portal_mode_manager:
|
||||
portal_mode_manager.setup_arena_locally()
|
||||
|
||||
# Initialize arena locally for Candy Pump Survival
|
||||
|
||||
# Special initialization for Gauntlet mode
|
||||
if LobbyManager.game_mode == "Candy Pump Survival" and gauntlet_manager:
|
||||
gauntlet_manager._apply_arena_setup()
|
||||
|
||||
if LobbyManager.game_mode == "Mekton Bulls" and mekton_bulls_manager:
|
||||
mekton_bulls_manager.hud_node = load("res://scenes/ui/mekton_bulls_hud.tscn").instantiate()
|
||||
mekton_bulls_manager.hud_node.name = "MektonBullsHUD"
|
||||
add_child(mekton_bulls_manager.hud_node)
|
||||
if mekton_bulls_manager.hud_node.has_method("initialize"):
|
||||
mekton_bulls_manager.hud_node.initialize(mekton_bulls_manager)
|
||||
if mekton_bulls_manager.hud_node.has_method("set_local_player"):
|
||||
mekton_bulls_manager.hud_node.set_local_player(multiplayer.get_unique_id())
|
||||
mekton_bulls_manager._apply_arena_setup()
|
||||
|
||||
# Ensure local player setup (UI, controls) is verified
|
||||
var player_character = get_node_or_null(str(my_id))
|
||||
@@ -876,10 +896,15 @@ func _start_game():
|
||||
elif LobbyManager.game_mode == "Candy Pump Survival":
|
||||
if gauntlet_manager:
|
||||
gauntlet_manager.start_game_mode()
|
||||
|
||||
if goals_cycle_manager:
|
||||
var match_duration = LobbyManager.get_match_duration()
|
||||
goals_cycle_manager.start_match(float(match_duration), true) # Enable cycles for 3x3 pattern missions
|
||||
elif LobbyManager.game_mode == "Mekton Bulls":
|
||||
if mekton_bulls_manager:
|
||||
mekton_bulls_manager.start_game_mode()
|
||||
if goals_cycle_manager:
|
||||
var match_duration = LobbyManager.get_match_duration()
|
||||
goals_cycle_manager.start_match(float(match_duration))
|
||||
elif goals_cycle_manager:
|
||||
var match_duration = LobbyManager.get_match_duration()
|
||||
goals_cycle_manager.start_match(float(match_duration))
|
||||
|
||||
Reference in New Issue
Block a user