This repository has been archived on 2026-10-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Ananta-ps/internal/gameserver/routers/game_router_world.go
T

120 lines
5.5 KiB
Go
Raw Normal View History

package routers
import (
"context"
"sync"
)
var _ = sync.Mutex{}
var _ = context.Background
// World entry and client-driven scene loading barriers.
func GameRouter_World_GetWorldState(ctx context.Context, rpcCtx *RpcContext) any {
// Router implementation for GameRouter_World_GetWorldState
var zero any; return zero
}
func GameRouter_World_ArmWorldEntry4229938(ctx context.Context, state any) any {
// Router implementation for GameRouter_World_ArmWorldEntry4229938
var zero any; return zero
}
func GameRouter_World_SendInitialGameState(ctx context.Context, rpcCtx *RpcContext) any {
// Router implementation for GameRouter_World_SendInitialGameState
var zero any; return zero
}
func GameRouter_World_SendEnterSceneIfNeeded(ctx context.Context, rpcCtx *RpcContext) any {
// Router implementation for GameRouter_World_SendEnterSceneIfNeeded
var zero any; return zero
}
//
// 把存档里的 raid 补成一组能进的 (instance, universe)。
// 2026-09-27:存档现在直接带 instance/universe;旧存档(06-27 之前写的)只有 raid,
// 这里按「主城用配置、其余查场景 preset」补齐。查不到 ⇒ false ⇒ 调用方放弃恢复,
// 走配置出生点 —— 宁可回出生点,也不要拿一个错误的 instance 进图。
//
func GameRouter_World_TryResolveSavedScene(ctx context.Context, raidId uint32, instanceId uint64, universeId uint32, resolvedInstance uint64, resolvedUniverse uint32) bool {
// Router implementation for GameRouter_World_TryResolveSavedScene
return true
}
func GameRouter_World_CommitWorldEntryCreateHeroData4229938(ctx context.Context, rpcCtx *RpcContext, generation int32) bool {
// Router implementation for GameRouter_World_CommitWorldEntryCreateHeroData4229938
return true
}
func GameRouter_World_OnLoadSceneCompleted(ctx context.Context, rpcCtx *RpcContext, sceneId uint64, sessionId uint64) any {
// Router implementation for GameRouter_World_OnLoadSceneCompleted
var zero any; return zero
}
func GameRouter_World_OnLoadGameResourcesCompleted(ctx context.Context, rpcCtx *RpcContext, sceneId uint64) any {
// Router implementation for GameRouter_World_OnLoadGameResourcesCompleted
var zero any; return zero
}
func GameRouter_World_OnLoadingFinished(ctx context.Context, rpcCtx *RpcContext, sceneId uint64, sessionId uint64) any {
// Router implementation for GameRouter_World_OnLoadingFinished
var zero any; return zero
}
//
// 潜水解锁(gameplay.divingMode == "on")—— 让所有角色能下潜,而不只是水面游泳。
// 只负责门控那一半:通过 SyncRunGmUtils(66042045) 让客户端反射执行
// LX6.Utils.GmUtils 的潜水开关(默认 EnableDive,可配 ForceDive /
// SetUnderWaterFilter)。客户端实现是 GameGMToClientImpl.SyncRunGmUtils
// (RVA 0x12752F10,真实现),按 methodName 反射解析,执行全程在客户端进程内。
// 服务端没有专用 S2C 能代替它 —— DiveManager.CheckIsEnableDiving() 读的是
// 客户端静态字段 enableInGamePlay。
// 氧气那一半不在这里:由 CharacterCapabilities.GlobalCapabilityBuffIds 挂的
// 52606233「潜水服buff」(不会掉氧气且更快恢复)随角色 buff 快照下发,切角色会自动重发。
//
func GameRouter_World_PublishDivingUnlockAsync(ctx context.Context, rpcCtx *RpcContext) any {
// Router implementation for GameRouter_World_PublishDivingUnlockAsync
var zero any; return zero
}
//
// 官方远程 GM 反射通道的公共推送口 —— SyncRunGmUtils(66042045)。
// 客户端 GameGMToClientImpl(RVA 0x12752F10 真实现)按 methodName 反射调用
// LX6.Utils.GmUtils 的静态方法,执行全程在客户端进程内,服务端只发一次 Notify。
//
func GameRouter_World_PublishGmCommandsAsync(ctx context.Context, rpcCtx *RpcContext, tag string, methods []any, args []any) any {
// Router implementation for GameRouter_World_PublishGmCommandsAsync
var zero any; return zero
}
//
// Re-apply the landing pose for a scene switch into the raid/instance the client was already
// running.
// When both ends of a switch are the same raid+instance the client reloads the level but keeps
// the avatar at its current coordinates — SyncEnterScene's position only seeds a hero spawn,
// and no spawn happens because the level is already there. Sending SetPositionType.Teleport
// after the entry flow reached ready is what actually moves the player, and doing it here
// (rather than next to SyncEnterScene) guarantees the freshly respawned unit already exists.
//
func GameRouter_World_PublishSceneLandingAsync(ctx context.Context, rpcCtx *RpcContext) any {
// Router implementation for GameRouter_World_PublishSceneLandingAsync
var zero any; return zero
}
//
// Reveal the whole world map by unlocking fog on every scene the config knows about.
// The login payload field PlayerClientInfoAchievement.SceneFogMaps is a dead end: no client
// code reads it for fog state (MapSystem_FogMap asks MapFogDataMgr, which is fed exclusively
// by the S2C below). Verified in-game — 212 fog entries at login changed nothing.
// The S2C's first argument is a **sceneId** (RaidConfig.SceneId, e.g. 20001222), not a raid
// id: MapFogDataMgr.IsInFog(sceneId, x, z) is the only lookup the fog view performs.
//
func GameRouter_World_PublishMapFogUnlockAsync(ctx context.Context, rpcCtx *RpcContext) any {
// Router implementation for GameRouter_World_PublishMapFogUnlockAsync
var zero any; return zero
}
func GameRouter_World_OnLoadedInSameScene(ctx context.Context, rpcCtx *RpcContext) any {
// Router implementation for GameRouter_World_OnLoadedInSameScene
var zero any; return zero
}