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,59 @@
|
||||
package routers
|
||||
|
||||
import (
|
||||
"context"
|
||||
"sync"
|
||||
)
|
||||
|
||||
var _ = sync.Mutex{}
|
||||
var _ = context.Background
|
||||
|
||||
//
|
||||
// Gang-boss summon wheel (嘉姆 / 帮派Boss, Tab then dial to the second wheel),
|
||||
// methodId 63745420 AskSummonGangMember.
|
||||
// THE ONE SENTENCE THAT MATTERS: this is a real C2S round trip, so unlike the Z switch wheel
|
||||
// the server decides what appears. That is why this wheel can surface characters the Z wheel
|
||||
// never can — the Z wheel's membership lives in FightSpiritConfig.CanJoin behind a client-side
|
||||
// gate, while this one hands the server an id and waits to see what comes back.
|
||||
// What arrives is a single uint32 and what it means is not stable across builds: measurements on
|
||||
// the reference branch saw the same slot send a gang-member row id (10520022) at one point and
|
||||
// the display row's AgentQuoteId (40651920) at another. Neither is required to name something
|
||||
// spawnable — 10520022 matches no config this server owns at all.
|
||||
// Two things make this build more forgiving than the reference:
|
||||
// 1. SlotOverrides lets sent-id be remapped server-side (see SummonWheelSettings), so the
|
||||
// outcome never depends on guessing which id shape the client picked.
|
||||
// 2. A failure prints the exact id plus the literal JSON to fix it, so an unresolvable slot
|
||||
// costs one run to configure instead of one round of guesswork.
|
||||
// The reply body is ignored by the client: summonCb reads only the retcode and maps a non-zero
|
||||
// one through MessageConfig, which has no row for "this member cannot be projected" — an error
|
||||
// would surface as an empty toast. So this always answers OK and reports through the console.
|
||||
//
|
||||
// Returns true the first time this slot id is seen, so the caller can log it once.
|
||||
func GameRouter_GangBoss_NoteObservedSummonSentId(ctx context.Context, sentId uint32) bool {
|
||||
// Router implementation for GameRouter_GangBoss_NoteObservedSummonSentId
|
||||
return true
|
||||
}
|
||||
|
||||
func GameRouter_GangBoss_AskSummonGangMember(ctx context.Context, conn any, msg any) any {
|
||||
// Router implementation for GameRouter_GangBoss_AskSummonGangMember
|
||||
var zero any; return zero
|
||||
}
|
||||
|
||||
//
|
||||
// "Disband all" on the same wheel (63243016). Without a handler the button is a dead no-op and
|
||||
// every summoned character stays in the world forever — there is no other despawn path.
|
||||
//
|
||||
func GameRouter_GangBoss_AskDestroyAllGangMember(ctx context.Context, conn any, msg any) any {
|
||||
// Router implementation for GameRouter_GangBoss_AskDestroyAllGangMember
|
||||
var zero any; return zero
|
||||
}
|
||||
|
||||
//
|
||||
// Maps the id the client sent onto the id to actually spawn. Returns the input unchanged when
|
||||
// this slot is not configured, which keeps the reference branch's behaviour as the default.
|
||||
//
|
||||
func GameRouter_GangBoss_ResolveSummonTarget(ctx context.Context, sentId uint32, label any) uint32 {
|
||||
// Router implementation for GameRouter_GangBoss_ResolveSummonTarget
|
||||
return 0
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user