97 lines
4.9 KiB
Go
97 lines
4.9 KiB
Go
package routers
|
||
|
||
import (
|
||
"context"
|
||
"sync"
|
||
)
|
||
|
||
var _ = sync.Mutex{}
|
||
var _ = context.Background
|
||
|
||
//
|
||
// T2 单发杂项(2026-10-02 自 7k-v0.6 捐赠端移植)。
|
||
// <para>★ 这一批的共同点:捐赠端每条背后都有它自己的一套 runtime(Garm 随从账本 /
|
||
// 骇入装置 / 简化配送 runtime / 装置武器),主线没有等价物。
|
||
// 所以这里按「能不能诚实实现」分成两类,逐条在下面写清理由。</para>
|
||
// <list type="number">
|
||
// <item>只记账的 Notify:AskHackerBetray、SyncTrackGPS ——
|
||
// 客户端只是上报「发生了什么」,本来就没有回包。接住的收益是
|
||
// ① 不再灌 unknown-methods.log;② 日志里能看见玩家真的触发了这些原生动作。
|
||
// 行为零变化(NOTIFY 兜底本来就是接受 + 打日志)。</item>
|
||
// <item>明确回绝的 Invoke:AskDestroyGangMember、AskAgentChangeWeaponByTemplateId、
|
||
// AskResetTruckOrderGoods —— 回 error=1。
|
||
// ⛑ 为什么不沿用兜底:DefaultReturnCatalog4229938(478 条)里没有这三个 id
|
||
// ⇒ 兜底 = ReturnEmptyOkAsync = error=0 = 告诉客户端「删了 / 换了 / 重置了」,
|
||
// 而我们什么都没做。与 GameRouter.NpcShopTrades.cs 同一条原则
|
||
// (捐赠端原话:"must not fall back to an empty success reply, which would falsely
|
||
// claim a purchase/sale occurred")。
|
||
// 副作用要提前说:客户端可能弹一次失败提示 —— 这比静默假装成功更接近真相。</item>
|
||
// </list>
|
||
// <para>⛑ 回滚:把下面 5 个 MethodId.* 从 GameRouter.cs 的
|
||
// Enabled4229938MethodIds 里删掉即可。INVOKE 回到兜底(error=0),
|
||
// NOTIFY 回到 DefaultUnknownNotify4229938(接受 + 打日志)。</para>
|
||
//
|
||
// ======================================================================================
|
||
// ① 纯记账的 Notify
|
||
// ======================================================================================
|
||
//
|
||
// AskHackerBetray(67145924) —— 玩家对已被骇入的单位触发「反水 / 背叛」。
|
||
// <para>捐赠端是 ExecuteEnemyHackAsync(session, id, betray: true),依赖它自己的
|
||
// 骇入 runtime;主线没有这套执行逻辑(主线在 spawn 时下发
|
||
// AgentSyncClientInfo.HackerBetray 标记,并有 ReportBeHacked 记账,
|
||
// 见 GameRouter.HackNpc.cs:290)。所以这里按 ReportBeHacked 同款处理:
|
||
// 只解析 + 打日志,不做状态变更。</para>
|
||
// <para>⛑ DefaultReturnCatalog4229938.cs:1542 的注释也把它定性为
|
||
// "Atmosphere-NPC 'rebel' action" ⇒ 属于氛围演出,不是核心玩法。</para>
|
||
//
|
||
func GameRouter_T2Misc_AskHackerBetray(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_T2Misc_AskHackerBetray
|
||
var zero any; return zero
|
||
}
|
||
|
||
//
|
||
// SyncTrackGPS(63861463) —— 客户端地图里选中「追踪」后上报,用来确认
|
||
// 原生追踪动作真的跑了(捐赠端注释:"it is not a map-pin request")。
|
||
// 只打日志,不回状态。
|
||
//
|
||
func GameRouter_T2Misc_SyncTrackGps4229938(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_T2Misc_SyncTrackGps4229938
|
||
var zero any; return zero
|
||
}
|
||
|
||
// ======================================================================================
|
||
// ② 没有等价 runtime ⇒ 明确回绝,不假装成功
|
||
// ======================================================================================
|
||
//
|
||
// AskDestroyGangMember(63555197) —— 移除一个帮派随从。
|
||
// 捐赠端走 RemoveGarmCompanion4229938(ctx, args.templateId)(GarmGang.cs:371),
|
||
// 主线没有 Garm 随从移除通道(随从走 CompanionAssist / FactionInvasion 的
|
||
// 生成路径,没有按 templateId 反查移除的 API)⇒ 回绝。
|
||
//
|
||
func GameRouter_T2Misc_AskDestroyGangMember4229938(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_T2Misc_AskDestroyGangMember4229938
|
||
var zero any; return zero
|
||
}
|
||
|
||
//
|
||
// AskAgentChangeWeaponByTemplateId(63182186) —— 给骇入装置 / 炮台换武器。
|
||
// 捐赠端走 GameRouter.DeviceWeapons.cs 的 HackerDeviceRuntime
|
||
// (装置模板 + 槽位白名单 + 装备态推送),主线没有 DeviceWeapons ⇒ 回绝。
|
||
//
|
||
func GameRouter_T2Misc_AskAgentChangeWeaponByTemplateId4229938(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_T2Misc_AskAgentChangeWeaponByTemplateId4229938
|
||
var zero any; return zero
|
||
}
|
||
|
||
//
|
||
// AskResetTruckOrderGoods(63383400) —— 重置配送货物并重新下发目的地。
|
||
// 捐赠端走它自己的 DeliveryApps runtime(GameRouter.Delivery.cs:318);
|
||
// 主线配送是另一套(UberSim 系列,GameRouter.cs:459-471 那批 truck 接口),
|
||
// 两条 runtime 不通用 ⇒ 回绝而不是瞎推一个目的地。
|
||
//
|
||
func GameRouter_T2Misc_AskResetTruckOrderGoods4229938(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_T2Misc_AskResetTruckOrderGoods4229938
|
||
var zero any; return zero
|
||
}
|
||
|