You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
2.2 KiB
Go
43 lines
2.2 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
// TownPausePersisted mirrors HeroMovement fields needed to resume resting, an in-town NPC tour,
|
|
// or a mid-adventure excursion after reconnect or during offline catch-up.
|
|
// Stored in heroes.town_pause (JSONB).
|
|
type TownPausePersisted struct {
|
|
RestUntil *time.Time `json:"restUntil,omitempty"`
|
|
RestKind RestKind `json:"restKind,omitempty"`
|
|
TownRestHealRemainder float64 `json:"townRestHealRemainder,omitempty"`
|
|
RestHealRemainder float64 `json:"restHealRemainder,omitempty"`
|
|
|
|
NPCQueue []int64 `json:"npcQueue,omitempty"`
|
|
NextTownNPCRollAt *time.Time `json:"nextTownNPCRollAt,omitempty"`
|
|
TownLeaveAt *time.Time `json:"townLeaveAt,omitempty"`
|
|
TownVisitNPCName string `json:"townVisitNPCName,omitempty"`
|
|
TownVisitNPCType string `json:"townVisitNPCType,omitempty"`
|
|
TownVisitStartedAt *time.Time `json:"townVisitStartedAt,omitempty"`
|
|
TownVisitLogsEmitted int `json:"townVisitLogsEmitted,omitempty"`
|
|
|
|
// Walk-to-NPC: hero is mid-walk toward an NPC inside the town.
|
|
NPCWalkTargetID int64 `json:"npcWalkTargetId,omitempty"`
|
|
NPCWalkFromX float64 `json:"npcWalkFromX,omitempty"`
|
|
NPCWalkFromY float64 `json:"npcWalkFromY,omitempty"`
|
|
NPCWalkToX float64 `json:"npcWalkToX,omitempty"`
|
|
NPCWalkToY float64 `json:"npcWalkToY,omitempty"`
|
|
NPCWalkStart *time.Time `json:"npcWalkStart,omitempty"`
|
|
NPCWalkArrive *time.Time `json:"npcWalkArrive,omitempty"`
|
|
|
|
// Plaza: walk to town center after NPC tour, then wait/rest before leaving.
|
|
TownPlazaHealActive bool `json:"townPlazaHealActive,omitempty"`
|
|
CenterWalkFromX float64 `json:"centerWalkFromX,omitempty"`
|
|
CenterWalkFromY float64 `json:"centerWalkFromY,omitempty"`
|
|
CenterWalkToX float64 `json:"centerWalkToX,omitempty"`
|
|
CenterWalkToY float64 `json:"centerWalkToY,omitempty"`
|
|
CenterWalkStart *time.Time `json:"centerWalkStart,omitempty"`
|
|
CenterWalkArrive *time.Time `json:"centerWalkArrive,omitempty"`
|
|
|
|
// Excursion (mini-adventure) session persisted for reconnect / offline resume.
|
|
Excursion *ExcursionPersisted `json:"excursion,omitempty"`
|
|
}
|