company_progression_util¶
Source: base/tealdef/game_mechanics/company/company_progression_util.d.tl
Notes
Company experience and rank, read from the ::game_mechanics/company/company_progression.gs game script.
CompaniesGrowthState¶
record global base/tealdef/game_mechanics/company/company_progression_util.d.tl:3
global record CompaniesGrowthState
Notes
State of the company progression game script.
Fields
| Name | Type | Description |
|---|---|---|
companyState |
{Engine.Entity : CompanyData} |
Player entity -> progression. |
CompaniesGrowthState.CompanyData¶
record base/tealdef/game_mechanics/company/company_progression_util.d.tl:4
record CompanyData
Notes
Progression of one company.
Used in the base game: 8 times in 3 files
base/content/game_mechanics/game_mechanics/company/company.tl:865
local companyProgressionState = engine_react_util.useStepState(function() : CompaniesGrowthState.CompanyData
base/content/game_mechanics/game_mechanics/company/company_util.tl:33
local calculateNumberOfPermits = function(companyProgress : CompaniesGrowthState.CompanyData, metadata : ConstructionDescMetadata, accumulate : boolean) : integ
base/content/game_mechanics/game_mechanics/company/company_progression_util.tl:42
Fields
CompanyProgressionUtil¶
record global base/tealdef/game_mechanics/company/company_progression_util.d.tl:13
global record CompanyProgressionUtil
Load: local company_progression_util = ug_require "/game_mechanics/company/company_progression_util.tl"
Notes
Company experience and rank.
Functions
getXpNeededForRank(basePopulation : integer, rank : integer) : integer base/tealdef/game_mechanics/company/company_progression_util.d.tl:14
Call as company_progression_util.getXpNeededForRank
Notes
Returns the experience needed for a rank.
| Parameter | Type | Description |
|---|---|---|
basePopulation |
integer |
World population at game start. |
rank |
integer |
Rank. |
Returns integer: Experience (0 for ranks below 1).
getMaxRank() : integer base/tealdef/game_mechanics/company/company_progression_util.d.tl:15
Call as company_progression_util.getMaxRank
Notes
Returns the highest rank.
Returns integer: 15.
Used in the base game: 5 times in 4 files
base/content/gui/gui/game_bar/game_bar.tl:397
base/content/game_mechanics/game_mechanics/company/company_react_util.tl:84
base/content/game_mechanics/game_mechanics/subventions/subvention_util.tl:19
base/content/game_mechanics/game_mechanics/achievements/achievements.script.tl:285
getTicketPriceMultiplierForLevel(level : integer) : number base/tealdef/game_mechanics/company/company_progression_util.d.tl:16
Call as company_progression_util.getTicketPriceMultiplierForLevel
Notes
Returns the ticket price multiplier of a rank, linear from 1 at rank 1 to ticketPriceMultiplierAtMaxLevel at the highest rank.
| Parameter | Type | Description |
|---|---|---|
level |
integer |
Rank. |
Returns number: Multiplier, or nil at rank 1 or when the config multiplier is 1.
getExtraPermits(companyData : CompaniesGrowthState.CompanyData) : {ResName : integer} base/tealdef/game_mechanics/company/company_progression_util.d.tl:17
Call as company_progression_util.getExtraPermits
Notes
Returns the permits of every permit key that the company has gained by rank.
| Parameter | Type | Description |
|---|---|---|
companyData |
CompaniesGrowthState.CompanyData |
Progression of the company. |
Returns {ResName : integer}: Permit key -> number of permits.
getNumberOfExtraPermits(companyData : CompaniesGrowthState.CompanyData, permitKey : ResName) : integer base/tealdef/game_mechanics/company/company_progression_util.d.tl:18
Call as company_progression_util.getNumberOfExtraPermits
Notes
Returns the permits of one permit key that the company has gained by rank.
| Parameter | Type | Description |
|---|---|---|
companyData |
CompaniesGrowthState.CompanyData |
Progression of the company. |
permitKey |
ResName |
Permit key. |
Returns integer: Number of permits.
Used in the base game: 2 times in 2 files
base/content/game_mechanics/game_mechanics/company/company_react_util.tl:53
permits = (permits or 0) + company_progression_util.getNumberOfExtraPermits({level = rank.level}, actualPermitKey)
base/content/game_mechanics/game_mechanics/company/company_util.tl:78
getCompanyProgressionState(entity : Engine.Entity) : CompaniesGrowthState.CompanyData base/tealdef/game_mechanics/company/company_progression_util.d.tl:19
Call as company_progression_util.getCompanyProgressionState
Notes
Reads the progression of a company; the rank is replaced by enforcedLevel from the growth config if set.
| Parameter | Type | Description |
|---|---|---|
entity |
Engine.Entity |
Player entity. |
Returns CompaniesGrowthState.CompanyData: Progression, or nil.
Used in the base game: 8 times in 6 files
base/content/gui/gui/game_bar/game_bar.tl:389
local companyProgressionState = company_progression_util.getCompanyProgressionState(api.engine.util.getPlayer())
base/content/gui/gui/construction/construction.tl:210
local companyProgress = company_progression_util.getCompanyProgressionState(api.engine.util.getPlayer())
base/content/game_mechanics/game_mechanics/company/company.tl:866
base/content/game_mechanics/game_mechanics/company/company_react_util.tl:212
base/content/game_mechanics/game_mechanics/company/company_util.tl:87
base/content/game_mechanics/game_mechanics/subventions/subventions.script.tl:245
getLevelAndFraction(basePopulation : integer, exp : integer) : integer, number, integer, integer base/tealdef/game_mechanics/company/company_progression_util.d.tl:22
Call as company_progression_util.getLevelAndFraction
return: current level, fraction/percentage reached of current level, experience needed for current level, experience needed for next level
Returns integer, number, integer, integer
Used in the base game: 3 times in 3 files
base/content/gui/gui/game_bar/game_bar.tl:393
local _level, _fraction, expForCurrLevel, expForNextLevel : integer, number, integer, integer = company_progression_util.getLevelAndFraction(basePopulation, exp
base/content/game_mechanics/game_mechanics/company/company_growth.script.tl:39
base/content/game_mechanics/game_mechanics/subventions/subventions.script.tl:250
CompanyGrowthConfig¶
record global base/tealdef/game_mechanics/company/company_progression_util.d.tl:25
global record CompanyGrowthConfig
Notes
Config of company growth (game_script_config resource ::/game_mechanics/company/company_growth_config.res).
Fields
| Name | Type | Description |
|---|---|---|
enforcedLevel |
integer |
default/vanilla is nil |
ticketPriceMultiplierAtMaxLevel |
number |
Ticket price multiplier at the highest rank (0.5 in the base game). |