Skip to main content

B1CityTravelData

  • State of a single in-progress city travel. It is saved, so fields are kept minimal.
    * The same-city flag, number of nights, fare, etc. are not stored; they are derived or deferred to a later phase.
PropertyTypeDescriptionMetadata
TravelCityNameFNameTravel destination city.
PossessedHomeCityFNameHomecoming target = departure city.
PossessedEntityIdFB1EntityIdThe possessed (representative) character at departure. Basis for restoring possession after arrival.
CompanionsTArrayUp to 8 members, including the possessed representative.
PseudoSimulatedCarryEntityIdsTArrayPseudo-simulated characters carried for this travel, tracked per travel so teardown does not depend on the cumulative AlwaysLoaded set.
LodgingSiteIdFNameReserved lodging site (Site table row id). This is the check-in argument plus a record for arrival spawning,
not the source for residence routing (routing is handled by the accommodation buff -> GetHomeSite).
At reservation time the destination city is unloaded so no Site entity exists; hence referenced by FName, not EntityId.
RoomPurposeIdFNameReserved room within the lodging site. With LodgingSiteId it forms the accommodation RoomKey
{AccommodationDtId=LodgingSiteId, RoomPurposeId}. Set by the lodging-room selection UI; EntireSite means the whole site.
CheckOutTicksint64Absolute time of automatic check-out (homecoming). The only time field; basis for re-registering the timer on save restore.
bIsNewCityboolWhether the destination was a first-visit (new) city, captured at departure (CheckNewCity). On revisit arrival the first-visit
game-start wake (InduceGameStartForCityTransfer) is skipped, so this is used to force-realize the possessed character there. (BL-59215)
Nightsint32Total booked nights (updated on stay extension). Basis for the extension cap: max stay days - current nights.