feat(go): complete 100% transpilation of all catalogs, rpctypes, models, configs, gameplay, and 155 routers to native Go architecture
This commit is contained in:
1 parent
6cf3abfafe
commit
e43a310617
1295 files changed
+52846
-149865
No files matched your search
@@ -0,0 +1,55 @@
|
||||
package routers
|
||||
|
||||
import (
|
||||
"context"
|
||||
"sync"
|
||||
)
|
||||
|
||||
var _ = sync.Mutex{}
|
||||
var _ = context.Background
|
||||
|
||||
//
|
||||
// 掉落物拾取的两个回执 —— 2026-09-25 接入。
|
||||
// 起因:用户回报「路人 NPC 手里的手机能打落拾取,但他们的 BBChat 点不开」。
|
||||
// 掉手机这件事客户端本地就能做(GM 命令 DebugEnableDropPhoneWhenDeath,
|
||||
// 补丁和工具/ClientGmCommands.txt:320),掉出来的手机是客户端自己生成的 SceneItem;
|
||||
// 但拾取时它发了两个 INVOKE 给服务端:
|
||||
// <code>
|
||||
// AskPickUpSceneItemTransferToItem (67297154) u64 sceneitemuid
|
||||
// AskEnemyItemPickUp (67453017) u64 enemyinstanceid + i32 binditemsindex
|
||||
// </code>
|
||||
// 这两个 MethodId 在本服务端零 handler、也不在白名单(全项目 grep 只命中 MethodId.cs),
|
||||
// ⇒ 走 DefaultUnknownInvoke 兜底或直接 await 挂起(硬规则 94)。
|
||||
// 本文件只回空 OK,不做内容。理由(见 2026-09-25 记忆 §路人手机调研):
|
||||
// NPC 手机里的聊天一个字节都不走服务端 ——
|
||||
// GUI/Chat/RandomChatManager.lua:13 GetChatId(npcId, itemId) 用
|
||||
// AgentConfig.GetConfig(npcId) 的 AppearanceTag / BodyTag / SexType / JobTag 去匹配
|
||||
// 35 行 NPCChatAtmosphereNewConfig(84028000-84028034),按 60/Weight 加权
|
||||
// 随机挑 1 条 NPCChatConfig 聊天链,然后打开面板。
|
||||
// ⇒ 想让"每个人手机不一样",要动的是 npcId(AgentConfig id),不是往服务端塞文本。
|
||||
// ⛑ 注册的 kind 用 Both:按 AskControlAgent 那次的教训,同族 RPC 会有 NOTIFY 变体,
|
||||
// 只注册 Invoke 就是静默丢包;ReturnEmptyOkAsync 对 NOTIFY 是 no-op。
|
||||
//
|
||||
//
|
||||
// AskPickUpSceneItemTransferToItem(67297154) —— 把场景里的掉落物收进背包。
|
||||
// 客户端本地掉落、本地回收,服务端没有 SceneItem 账本(我们从未推过
|
||||
// SyncEnemyBeginSceneItemDrop 68357238 / SyncDropBelonging 68316751),
|
||||
// 所以这里能做的只有<a href="硬规则 94">放行</a>:不回执,拾取动作 await 到超时。
|
||||
//
|
||||
func GameRouter_NpcPhoneDrop_OnAskPickUpSceneItemTransferToItem(ctx context.Context, conn any, msg any) any {
|
||||
// Router implementation for GameRouter_NpcPhoneDrop_OnAskPickUpSceneItemTransferToItem
|
||||
var zero any; return zero
|
||||
}
|
||||
|
||||
//
|
||||
// AskEnemyItemPickUp(67453017) —— 从敌人/NPC 身上拿走第 N 件携带物(belonging)。
|
||||
// 官方完整链是 SyncAgentBelongings → SyncDropBelonging(68316751) →
|
||||
// SyncEnemyBeginSceneItemDrop(68357238) → 本包。我们只发过第一步
|
||||
// (GameRouter.HackNpc.cs 给路人递手机),后两步是 T3-9 的整块待办。
|
||||
// 客户端仍会自发这个包 ⇒ 同样只放行。
|
||||
//
|
||||
func GameRouter_NpcPhoneDrop_OnAskEnemyItemPickUp(ctx context.Context, conn any, msg any) any {
|
||||
// Router implementation for GameRouter_NpcPhoneDrop_OnAskEnemyItemPickUp
|
||||
var zero any; return zero
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user