freemode fishing tekton autoplay + static tekton throw fix

- Added tekton_fishing_autoplay.gd: plays both GLB animations simultaneously, looped
- Attached autoplay script to 3 fishing tekton instances in freemode.tscn
- Fixed static tekton throw: faces throw direction + plays throw animation
- Fixed AnimationPlayer path in tekton.gd for static turrets
- Fixed animation names (tekton_throw_tile -> ted_bones_001|Tekton Throwing Tiles|Anima_Layer)
- Fixed static_tekton_controller.gd idle resume
- Rebuilt animation-pack.res with new animations (holding_1, put_1, stun_1, etc.)
- Fixed GutBottomPanel.tscn broken UID
This commit is contained in:
2026-06-15 18:15:39 +08:00
parent 844ec194cb
commit 5354d8b30f
25 changed files with 242 additions and 156 deletions
+9 -5
View File
@@ -20,8 +20,9 @@ func _ready():
enhanced_gridmap = main.get_node_or_null("EnhancedGridMap")
# Initial State
if tekton.has_method("play_animation"):
tekton.play_animation("tekton_idle")
# No idle anim for static tekton mesh, just ensure stopped
var ap = tekton.get_node_or_null("Visuals/tekton/AnimationPlayer")
if ap: ap.stop()
# Setup Timer
timer = Timer.new()
@@ -69,7 +70,7 @@ func _attempt_throw():
# 2. Play Animation
if tekton.has_method("play_animation_rpc") and tekton.has_method("can_rpc") and tekton.can_rpc():
tekton.rpc("play_animation_rpc", "tekton_throw_tile")
tekton.rpc("play_animation_rpc", "ted_bones_001|Tekton Throwing Tiles|Anima_Layer")
# 3. Create Projectile Visual (Synced)
if tekton.has_method("spawn_projectile_rpc") and tekton.has_method("can_rpc") and tekton.can_rpc():
@@ -86,8 +87,11 @@ func _attempt_throw():
# 5. Resume Idle
await get_tree().create_timer(0.5).timeout # Small delay after throw
if tekton.has_method("play_animation_rpc") and tekton.has_method("can_rpc") and tekton.can_rpc():
tekton.rpc("play_animation_rpc", "tekton_idle")
# No idle anim for static tekton mesh, just stop
if tekton.has_method("can_rpc") and tekton.can_rpc():
# Stop animation on all peers via a direct call (AnimationPlayer.stop is visual-only, safe)
var ap = tekton.get_node_or_null("Visuals/tekton/AnimationPlayer")
if ap: ap.stop()
_start_timer()