Class Cartography
The one place the map subsystem asks how good the player's maps are.
public static class Cartography
- Inheritance
-
Cartography
- Inherited Members
Remarks
Why a seam rather than a number. Cartography is going to scale half a dozen unrelated things — how far the fog lifts as you walk, how much of the world map you can see at once, whether region names and coordinates are shown, how many notes you may keep. Each of those is a different formula in a different file, and hard-coding today's constants into them means finding all six again later. Every one of them reads a property here instead, so wiring up the real skill is a single registration.
Why the default is the maximum. The skill does not exist, so there is nothing for a player to level and no way to earn a better map. Shipping a crippled map that unlocks against a system nobody can interact with would be a bug, not a preview. When the profession arrives, the starting tier becomes whatever it grants a new character, and that change belongs in the provider — not here.
Where the skill must be earned. Not from the fog file. See FogOfWarStore: exploration progress is on the player's disk and is forgeable, so Cartography experience has to be awarded by the server from the positions it already receives. The fog file decides what the map looks like and nothing else.
Fields
MaximumDetailTier
The highest tier the map subsystem understands.
public const int MaximumDetailTier = 4
Field Value
Properties
DetailFraction
The tier as a fraction of the maximum, for anything that scales smoothly.
public static float DetailFraction { get; }
Property Value
DetailTier
The local character's Cartography tier, clamped into range.
public static int DetailTier { get; }
Property Value
MaximumWorldMapExtent
The largest fraction of a scene the world map will show at once.
public static float MaximumWorldMapExtent { get; }
Property Value
Remarks
One at full skill: the whole zone fits on screen. Below that the map is a window that has to be panned, which is the difference between owning a map of the province and owning a sketch of the road you are on.
MinimapResolution
The edge length, in pixels, the minimap's render texture is created at.
public static int MinimapResolution { get; }
Property Value
Remarks
Sharper maps at higher skill, and a real cost saved at low skill: the texture is re-rendered thirty times a second, so a quarter of the pixels is a quarter of the fill. Powers of two because the renderer rounds to one anyway.
NoteCapacity
How many notes the player may keep per scene.
public static int NoteCapacity { get; }
Property Value
Remarks
A cap at all because notes are written to disk and drawn every frame the map is open; a cap that grows because "room for more annotations" is a natural reward for a map-making profession.
RevealRadius
How far, in metres, walking reveals the fog around the character.
public static float RevealRadius { get; }
Property Value
Remarks
The most directly felt effect of the skill: a novice clears a narrow corridor along the path they walked, an expert clears the valley they walked through. Deliberately smaller than the minimap's own view at every tier, so the map always shows terrain the player has not yet permanently revealed — a fog radius larger than the view would make the mechanic invisible.
ShowsCoordinates
Whether the maps show numeric coordinates.
public static bool ShowsCoordinates { get; }
Property Value
ShowsGrid
Whether the world map draws a measured grid over the terrain.
public static bool ShowsGrid { get; }
Property Value
VisibleContentTier
The detail tier above which authored region labels and landmarks stay hidden.
public static int VisibleContentTier { get; }
Property Value
Remarks
Authored content carries its own tier — continents at zero, hamlets at three — so this is the cut-off the world map applies against it. A novice sees the provinces; an expert sees the farmsteads.
Methods
SetProvider(ICartographyProvider)
Installs the provider that answers for the local character.
public static void SetProvider(ICartographyProvider value)
Parameters
valueICartographyProviderThe provider, or null to fall back to the default.