diff --git a/scenes/arena/stop_n_go.scn b/scenes/arena/stop_n_go.scn index 96e54dc..fc7373f 100644 Binary files a/scenes/arena/stop_n_go.scn and b/scenes/arena/stop_n_go.scn differ diff --git a/scenes/player.gd b/scenes/player.gd index e79655a..1888fc6 100644 --- a/scenes/player.gd +++ b/scenes/player.gd @@ -750,6 +750,9 @@ func _apply_tint_recursive(node: Node, color: Color): _apply_tint_recursive(child, color) var immunity_timer: float = 0.0 +var tekton_carry_timer: float = 0.0 +const MAX_TEKTON_CARRY_TIME: float = 3.0 + @rpc("any_peer", "call_local") func apply_stagger(duration: float = 1.5): @@ -1182,6 +1185,16 @@ func _physics_process(delta): if can_rpc(): rpc("remote_set_position", current_world_pos, Time.get_ticks_msec()) + # Tekton Auto-Drop Timer (3s Rule) + if is_multiplayer_authority() and is_carrying_tekton: + tekton_carry_timer += delta + if tekton_carry_timer >= MAX_TEKTON_CARRY_TIME: + tekton_carry_timer = 0.0 + print("[Player %s] 3-second rule: Auto-dropping Tekton" % name) + drop_tekton() + elif not is_carrying_tekton: + tekton_carry_timer = 0.0 + # NOTE: Finish line checking removed - game uses cycle-based goals system now # -------------------------------------------------------------------- diff --git a/scenes/player.tscn b/scenes/player.tscn index 91d11d8..db93cca 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -161,15 +161,14 @@ visible = false billboard = 1 sprite_frames = ExtResource("10_y4r1p") animation = &"stunned-receiver" -frame_progress = 0.016138485 +frame = 59 +frame_progress = 1.0 [node name="attack_mode_top" type="AnimatedSprite3D" parent="." unique_id=2002706555] transform = Transform3D(0.5, 0, 0, 0, -2.1855694e-08, -0.5, 0, 0.5, -2.1855694e-08, 0, 1.5653763, 0) visible = false sprite_frames = ExtResource("10_y4r1p") -animation = &"attack-mode-receiver-top" -frame = 7 -frame_progress = 1.0 +animation = &"freeze-initiator" [node name="attack_mode_bot" type="AnimatedSprite3D" parent="." unique_id=1320274503] transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, -0.6701627, 0) diff --git a/scripts/static_tekton_controller.gd b/scripts/static_tekton_controller.gd index 9a5ff3b..f4362b7 100644 --- a/scripts/static_tekton_controller.gd +++ b/scripts/static_tekton_controller.gd @@ -1,7 +1,6 @@ extends Node -@export var throw_interval_min: float = 2.0 -@export var throw_interval_max: float = 4.0 +@export var throw_interval: float = 2.0 @export var throw_range: int = 3 var tekton: Node3D @@ -32,7 +31,7 @@ func _ready(): _start_timer() func _start_timer(): - timer.wait_time = randf_range(throw_interval_min, throw_interval_max) + timer.wait_time = throw_interval timer.start() func _on_timer_timeout():