|
|
|
|
@ -87,6 +87,7 @@ type adminHeroDetailResponse struct {
|
|
|
|
|
model.Hero
|
|
|
|
|
TownPause *model.TownPausePersisted `json:"townPause,omitempty"`
|
|
|
|
|
AdminLiveMovement *adminLiveMovementJSON `json:"adminLiveMovement,omitempty"`
|
|
|
|
|
HeroMovement *game.HeroMovement `json:"heroMovement,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// adminWSSnapshot is the admin live WebSocket payload: hero detail + last hero_move (client WS) sample.
|
|
|
|
|
@ -160,6 +161,9 @@ func (h *AdminHandler) buildAdminHeroDetail(hero *model.Hero) (adminHeroDetailRe
|
|
|
|
|
out.Hero.RefreshDerivedCombatStats(now)
|
|
|
|
|
out.TownPause = hm.Hero.TownPause
|
|
|
|
|
out.AdminLiveMovement = buildAdminLiveMovementSnap(hm)
|
|
|
|
|
out.HeroMovement = hm
|
|
|
|
|
} else if rg := h.engine.RoadGraph(); rg != nil {
|
|
|
|
|
out.HeroMovement = game.NewHeroMovement(hero, rg, now)
|
|
|
|
|
}
|
|
|
|
|
return out, nil
|
|
|
|
|
}
|
|
|
|
|
|