Skip to content

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.

PropertyTypeDescription
.existsboolLicence exists
.namestringDisplay name
.rawnamestringRaw text entry reference
.descriptionstringDescription text
.minrelationfloatMin relation needed to acquire
.precursorstringLicence type required as precursor
.pricemoneyPurchase price
.issellableboolSellable via traders
.factionfactionGranting faction
.typestringLicence type (e.g. "buildplot", "dock")
Faction propertyDescription
.licencesList of own licences
.heldlicencesList 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.

”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>
<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>
  • Licence is FACTION-PAIR data. “Player holds licence with Argon” is different from “player holds licence with Teladi”. Always specify the issuing faction.
  • .minrelation is a float, not UI value. Same as elsewhere — float -1..+1, NOT -30..+30. Use range edges via Faction.relation.<range>.min/mid/max.
  • .issellable controls trader availability. A non-sellable licence is acquired only by hitting .minrelation. Player can’t shortcut via credits.
  • .precursor chains licences. Some licences require holding a precursor first. Read .precursor recursively for the full acquisition path.
  • DLC content gates some licences. Influence-system licences require Tides of Avarice. Check existence (.exists) before referencing.
  • Faction — issuer; licences are faction-scoped permissions.
  • Station.buildplot.price for build-plot licences.
  • Ware.buyrestriction / .sellrestriction per faction (related notoriety mechanic).