Licence
A Licence is a permission slip from a Faction — typically for docking, trading, or building. The player acquires licences by raising relations or paying. NPC factions hold licences with each other based on faction logic.
Inheritance: None — licence is its own root datatype.
Properties
Section titled “Properties”| Property | Type | Description |
|---|---|---|
.exists | bool | Licence exists |
.name | string | Display name |
.rawname | string | Raw text entry reference |
.description | string | Description text |
.minrelation | float | Min relation needed to acquire |
.precursor | string | Licence type required as precursor |
.price | money | Purchase price |
.issellable | bool | Sellable via traders |
.faction | faction | Granting faction |
.type | string | Licence type (e.g. "buildplot", "dock") |
Faction-side accessors
Section titled “Faction-side accessors”| Faction property | Description |
|---|---|
.licences | List of own licences |
.heldlicences | List of held licences (from other factions) |
.haslicence.<type>.{faction} | Has licence of type from faction |
.canholdlicence.{licence} | Currently eligible to hold |
.canholdlicence.<type>.{faction} | Eligible for type from faction |
.licence.<type> | Licence value of type (may not .exists) |
These let you query “does X hold a licence with Y” without iterating licence objects directly.
Common patterns
Section titled “Common patterns””Player has trading licence with Argon?"
Section titled “”Player has trading licence with Argon?"”<do_if value="faction.player.haslicence.trade.{faction.argon}"> <!-- can trade freely with Argon --></do_if>"Check if a build plot is acquirable”
Section titled “"Check if a build plot is acquirable””<do_if value="@$Station.buildplot and faction.player.canholdlicence.{$Station.buildplot}"> <write_to_logbook text="'Player can buy build plot for: ' + $Station.buildplot.price + 'Cr'"/></do_if>Common gotchas
Section titled “Common gotchas”- ⚠ Licence is FACTION-PAIR data. “Player holds licence with Argon” is different from “player holds licence with Teladi”. Always specify the issuing faction.
- ⚠
.minrelationis a float, not UI value. Same as elsewhere — float -1..+1, NOT -30..+30. Use range edges viaFaction.relation.<range>.min/mid/max. - ⚠
.issellablecontrols trader availability. A non-sellable licence is acquired only by hitting.minrelation. Player can’t shortcut via credits. - ⚠
.precursorchains licences. Some licences require holding a precursor first. Read.precursorrecursively for the full acquisition path. - ⚠ DLC content gates some licences. Influence-system licences require Tides of Avarice. Check existence (
.exists) before referencing.
Related
Section titled “Related”- Faction — issuer; licences are faction-scoped permissions.
- Station —
.buildplot.pricefor build-plot licences. - Ware —
.buyrestriction/.sellrestrictionper faction (related notoriety mechanic).