Files
Ananta-ps/pkg/protocol/methods/traversal_methods4229938.go

27 lines
1.8 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package methods
//
// S2C SyncPaokuLimitChange(68974941) —— 主角原生飞索(C 键定点飞跃)能力门。
// 契约来源:C# LX6.Service.GameSceneToClientImpl.SyncPaokuLimitChange(ulong unitId, List<uint> limitId, bool isAdd)
// (dump.cs:171412,RVA 0x127CF0E0 真实现;MethodId 见 MethodId.cs:3816)。
// 字段顺序已用我们自己的 dump 逐字复核(规则 174 第二道自检)。
// ⛑ 极性 CSharpOnly(Drmk.Proxy/proxy/lua/RPCDeserializeAuto.lua:1265)
// ⇒ lua 侧没有 reader,只有 C# 收。lua_full 里只有
// lua/LuaGen/AutoGen/RPCMethodIdToName.lua:3542 的名字条目、没有 handler —— 这是正常的,
// 不能据此判定「客户端不需要」(规则 14 眼界教训)。
// 线格式:与同为 CSharpOnly、同为 (ulong, List<uint>) 的 SyncAgentCrimes4229938
// 完全一致 ⇒ [u64 定长 8B][0xFF 有值][Int7 count+1][u32 × count][bool 1B]。
// ★ 为什么非发不可:
// AbilityLimitConfig.HasFeisuoAbility = 3013(dump.cs:1026235)这一行带
// GamePlayTags[](挂 State_HasFeisuoAbility = 2318,dump.cs:1226889)、
// ButtonEnum[](C 键)和 QueryId(有效目标查询)
// ⇒ 它是能力开关,不是「限制」。
// 客户端 PlayerParkourLimitModule(dump.cs:585090-585135)收到后走
// SetParkourLimitConfigState → SetGamePlayTagState,飞索蹲伏与 C 键才启用。
// 只发飞索 buff(persistentGrappleBuffId 52853760)是不够的 —— 本服日志里
// AskEnterFeiSuoCrouch 命中恒为 0,即客户端从来没进过飞索蹲伏态。
// ★ 后面那一半(白圈)不用服务端管:LX6.PaoKu.FeiSuoJobManager(dump.cs:242164)
// 每帧在本地跑静态/动态扫点 ⇒ 门一开白圈自己出现。不要去画假准星,
// 不要把任意墙面改成可飞跃目标。
//