Zum Inhalt

company_util

Quelle: base/tealdef/game_mechanics/company/company_util.d.tl

Hinweise

Zählen von Genehmigungen, Sperrgründe und Zugriff auf den Zustand des Unternehmens.

CompanyUtil

record global base/tealdef/game_mechanics/company/company_util.d.tl:3

global record CompanyUtil

Laden: local company_util = ug_require "::/game_mechanics/company/company_util.tl" as CompanyUtil

Hinweise

Zählen von Genehmigungen, Sperrgründe und Zugriff auf den Zustand des Unternehmens.

Felder

Name Typ Beschreibung
prospectionTimeMs number Höchstdauer einer Prospektion, sechs Spielmonate in ms. 2-mal im Basisspiel verwendet
prospectionIntervalTimeMs number Abstand zwischen zwei Versuchen einer Prospektion, ein Spielmonat in ms.
prospectionStartChance number Erfolgschance des ersten Versuchs (0,2).
prospectionEndChance number Erfolgschance des letzten Versuchs (0,6). Dazwischen steigt die Chance linear.

Funktionen

getActualPermitKey(constructionRes : ResName, metadata : ConstructionDescMetadata) : ResName base/tealdef/game_mechanics/company/company_util.d.tl:9

Aufruf: company_util.getActualPermitKey(…)

Hinweise

Gibt den Genehmigungsschlüssel einer Konstruktion zurück. Das ist permitKey oder die Konstruktionsdatei, wenn die Metadaten rankAndPermits oder companyRank enthalten.

Parameter Typ Beschreibung
constructionRes ResName Konstruktionsdatei.
metadata ConstructionDescMetadata Metadaten der Konstruktionsressource.

Rückgabe ResName: Genehmigungsschlüssel, oder nil, wenn die Konstruktion keine Genehmigung braucht.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/company/company_react_util.tl:14

local actualPermitKey = company_util.getActualPermitKey(constructionFile, perk.metadata)

getMaximumNumberOfPermits(companyProgress : CompaniesGrowthState.CompanyData, actualPermitKey : ResName, metadata : ConstructionDescMetadata) : integer, boolean base/tealdef/game_mechanics/company/company_util.d.tl:10

Aufruf: company_util.getMaximumNumberOfPermits(…)

Hinweise

Gibt zurück, wie viele Genehmigungen eines Schlüssels das Unternehmen hat. Gezählt werden die Einträge von rankAndPermits der Konstruktion bis zum Rang des Unternehmens plus die zusätzlichen Genehmigungen des Schlüssels.

Parameter Typ Beschreibung
companyProgress CompaniesGrowthState.CompanyData Fortschritt des Unternehmens.
actualPermitKey ResName Genehmigungsschlüssel.
metadata ConstructionDescMetadata Metadaten der Konstruktionsressource.

Rückgabe integer, boolean: Anzahl Genehmigungen, dazu true, wenn die Metadaten rankAndPermits und permitKey mischen.

getNumberOfPermitsForRank(companyProgress : CompaniesGrowthState.CompanyData, metadata : ConstructionDescMetadata) : integer, boolean base/tealdef/game_mechanics/company/company_util.d.tl:11

Aufruf: company_util.getNumberOfPermitsForRank(…)

Hinweise

Gibt die Genehmigungen zurück, die eine Konstruktion genau beim Rang des Unternehmens dazubekommt.

Parameter Typ Beschreibung
companyProgress CompaniesGrowthState.CompanyData Fortschritt (nur level wird gelesen).
metadata ConstructionDescMetadata Metadaten der Konstruktionsressource.

Rückgabe integer, boolean: Anzahl Genehmigungen und das Warnflag für gemischte Metadaten.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/company/company_react_util.tl:51

permits = company_util.getNumberOfPermitsForRank({level = rank.level}, perk.metadata)

getConstructionDisableCacheData(allDefs : {{ResName, ConstructionDescMetadata, string}}) : ConstructionDisableCacheData base/tealdef/game_mechanics/company/company_util.d.tl:36

Aufruf: company_util.getConstructionDisableCacheData(…)

Hinweise

Berechnet für eine Liste von Konstruktionen Rang, Genehmigungen, verbrauchte Genehmigungen, Abklingzeiten und Anzahl der Bauten des Spielers.

Parameter Typ Beschreibung
allDefs {{ResName, ConstructionDescMetadata, string}} Liste von {Konstruktionsdatei, Metadaten, Name}.

Rückgabe ConstructionDisableCacheData: Cache-Daten.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/gui/gui/construction/construction_react_util.tl:1171

cache.company = company_util.getConstructionDisableCacheData(allDefs)

getConstructionDisableReason(constructionRes : ResName, metadata : ConstructionDescMetadata, cache : ConstructionDisableCacheData) : ItemDisableReason base/tealdef/game_mechanics/company/company_util.d.tl:37

Aufruf: company_util.getConstructionDisableReason(…)

Hinweise

Gibt an, warum eine Konstruktion nicht gebaut werden kann (Rang, Abklingzeit, keine Genehmigungen mehr).

Im Spiel Freigeschaltet ab Karrierestufe: {rank} · Abklingzeit: {remainingTime} · Bereits gebautIm Code: Unlocked at Rank: {rank} · Cooldown: {remainingTime} · Already Built

Parameter Typ Beschreibung
constructionRes ResName Konstruktionsdatei.
metadata ConstructionDescMetadata Metadaten der Konstruktionsressource.
cache ConstructionDisableCacheData Ergebnis von getConstructionDisableCacheData.

Rückgabe ItemDisableReason: Grund mit verbleibenden Genehmigungen, oder nil, wenn für die Konstruktion keine Unternehmensgrenzen gelten.

Im Basisspiel verwendet: 2-mal in 1 Datei

base/content/gui/gui/construction/construction_react_util.tl:1176

local companyReason = company_util.getConstructionDisableReason(def.resName, def.metadata, cache.company)

findStateIndex(CompaniesState, EntityUtil.EntityAndRevision) : integer base/tealdef/game_mechanics/company/company_util.d.tl:39

Aufruf: company_util.findStateIndex(…)

Hinweise

Sucht den Index eines Unternehmens im Zustand.

Parameter Typ Beschreibung
#1 CompaniesState Zustand aller Unternehmen.
#2 EntityUtil.EntityAndRevision Unternehmens-Entität mit Revision.

Rückgabe integer: Index oder -1.

getCompanyState(CompaniesState, Engine.Entity) : CompanyState base/tealdef/game_mechanics/company/company_util.d.tl:40

Aufruf: company_util.getCompanyState(…)

Hinweise

Gibt den Zustand eines Unternehmens zurück, bei einem Spieler ohne Zustand einen neuen, leeren.

Parameter Typ Beschreibung
#1 CompaniesState Zustand aller Unternehmen.
#2 Engine.Entity Spieler-Entität.

Rückgabe CompanyState: Zustand des Unternehmens, oder nil, wenn die Entität kein Spieler ist.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/notifications/notifications.script.tl:326

local companyState : CompanyState = company_util.getCompanyState(company_util.externalGetCompaniesState(), companyEntity)

setCompanyState(CompaniesState, Engine.Entity, CompanyState) : CompanyState base/tealdef/game_mechanics/company/company_util.d.tl:41

Aufruf: company_util.setCompanyState(…)

Hinweise

Speichert den Zustand eines Unternehmens und legt ihn an, falls er fehlt.

Parameter Typ Beschreibung
#1 CompaniesState Zustand aller Unternehmen.
#2 Engine.Entity Spieler-Entität.
#3 CompanyState Zustand des Unternehmens.

Rückgabe CompanyState

externalGetCompanyState(Engine.Entity) : CompanyState base/tealdef/game_mechanics/company/company_util.d.tl:42

Aufruf: company_util.externalGetCompanyState(…)

Hinweise

Liest den Zustand eines Unternehmens aus dem Unternehmens-Game-Script.

Parameter Typ Beschreibung
#1 Engine.Entity Spieler-Entität.

Rückgabe CompanyState: Zustand des Unternehmens.

Im Basisspiel verwendet: 3-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/company/company_react_util.tl:211

local companyState = company_util.externalGetCompanyState(companyEntity)
base/content/gui/gui/construction/construction_react_util.tl:1468
local companyState = company_util.externalGetCompanyState(api.engine.util.getPlayer())

externalGetCompaniesState() : CompaniesState base/tealdef/game_mechanics/company/company_util.d.tl:43

Aufruf: company_util.externalGetCompaniesState(…)

Hinweise

Liest den Zustand des Unternehmens-Game-Scripts.

Rückgabe CompaniesState: Zustand aller Unternehmen.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/notifications/notifications.script.tl:326

local companyState : CompanyState = company_util.getCompanyState(company_util.externalGetCompaniesState(), companyEntity)

getNeededPermitsForProposal(Proposal, ProposalData) : {ResName : integer}, {ResName : ConstructionDescMetadata} base/tealdef/game_mechanics/company/company_util.d.tl:44

Aufruf: company_util.getNeededPermitsForProposal(…)

Hinweise

Zählt die Genehmigungen, die die neuen Konstruktionen eines Bauvorschlags brauchen (ersetzte Konstruktionen zählen nicht).

Parameter Typ Beschreibung
#1 Proposal Bauvorschlag.
#2 ProposalData Daten des Bauvorschlags (ungenutzt).

Rückgabe {ResName : integer}, {ResName : ConstructionDescMetadata}: Genehmigungsschlüssel -> Anzahl und Genehmigungsschlüssel -> Metadaten.

countUsedConstructionPermits(permitKeys : {ResName : any}) : {ResName : integer} base/tealdef/game_mechanics/company/company_util.d.tl:45

Aufruf: company_util.countUsedConstructionPermits(…)

Hinweise

Zählt die gebauten Konstruktionen pro Genehmigungsschlüssel.

Parameter Typ Beschreibung
permitKeys {ResName : any} Ungenutzt.

Rückgabe {ResName : integer}: Genehmigungsschlüssel -> Anzahl gebaut.

getCompanyMetadataFromConstructionResource(constructionEntity : Engine.Entity) : CompanyMetadata.ConstructionDesc base/tealdef/game_mechanics/company/company_util.d.tl:47

Aufruf: company_util.getCompanyMetadataFromConstructionResource(…)

Hinweise

Gibt die Unternehmens-Metadaten der Ressource einer gebauten Konstruktion zurück.

Parameter Typ Beschreibung
constructionEntity Engine.Entity Konstruktions-Entität.

Rückgabe CompanyMetadata.ConstructionDesc: Unternehmens-Metadaten oder nil.

Im Basisspiel verwendet: 4-mal in 3 Dateien

base/content/game_mechanics/game_mechanics/emission/pollution_cleanup_facility_hud.script.tl:39

local companyMetaFromRes = company_util.getCompanyMetadataFromConstructionResource(entity)
base/content/gui/gui/entity_window/entity_window_hud.tl:199
companyMeta = company_util.getCompanyMetadataFromConstructionResource(owningConstructionEntity)
base/content/landmarks/landmark_hud.script.tl:31
local companyMetaFromRes = company_util.getCompanyMetadataFromConstructionResource(entity)

getCurrentCompanyState() : CurrentCompanyState base/tealdef/game_mechanics/company/company_util.d.tl:54

Aufruf: company_util.getCurrentCompanyState(…)

Hinweise

Gibt Rang und Erfahrung des Spielers zurück (Nullen, wenn unbekannt).

Rückgabe CurrentCompanyState: Aktueller Unternehmenszustand.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/company/company.tl:677

return company_util.getCurrentCompanyState()

getBasePopulation() : integer base/tealdef/game_mechanics/company/company_util.d.tl:55

Aufruf: company_util.getBasePopulation(…)

note: This will never change during play

Rückgabe integer

Im Basisspiel verwendet: 4-mal in 4 Dateien

base/content/game_mechanics/game_mechanics/company/company_growth.script.tl:81

local basePopulation = company_util.getBasePopulation()
base/content/game_mechanics/game_mechanics/company/company_react_util.tl:80
local basePopulation = company_util.getBasePopulation()
base/content/game_mechanics/game_mechanics/subventions/subventions.script.tl:247
local basePopulation = company_util.getBasePopulation()
base/content/gui/gui/game_bar/game_bar.tl:392
local basePopulation = company_util.getBasePopulation()

computeWorldPopulation() : integer base/tealdef/game_mechanics/company/company_util.d.tl:56

Aufruf: company_util.computeWorldPopulation(…)

Hinweise

Summiert die Wohnkapazität aller Städte.

Rückgabe integer: Weltbevölkerung.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/company/company_growth.script.tl:86

local numResidents = company_util.computeWorldPopulation()

isConstructionLandmark(constructionEntity : Engine.Entity) : boolean base/tealdef/game_mechanics/company/company_util.d.tl:58

Aufruf: company_util.isConstructionLandmark(…)

Hinweise

Gibt an, ob die Bonus-Kategorie einer Konstruktion LANDMARK ist.

Parameter Typ Beschreibung
constructionEntity Engine.Entity Konstruktions-Entität.

Rückgabe boolean: true bei Wahrzeichen.

Im Basisspiel verwendet: 2-mal in 1 Datei

mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:120

if company_util.isConstructionLandmark(entity) then

CompanyUtil.ItemDisableReason

record base/tealdef/game_mechanics/company/company_util.d.tl:13

record ItemDisableReason

Hinweise

Warum eine Konstruktion nicht gebaut werden kann (oder wie viele Genehmigungen übrig sind).

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/company/company_util.tl:171

function company_util.getConstructionDisableReason(constructionRes : ResName, metadata : ConstructionDescMetadata, cache : CompanyUtil.ConstructionDisableCacheD

Felder

Name Typ Beschreibung
reason string Text wie „Freigeschaltet ab Karrierestufe“, „Abklingzeit“, „Bereits gebaut“ oder „Bereits verwendet“; nil, wenn sie gebaut werden kann.
elapsedCooldownFraction number Abgelaufener Teil der Abklingzeit (0 bis 1).
category string company-rank, wenn der Rang zu niedrig oder zu hoch ist.
numRemaining integer Verbleibende Genehmigungen.

CompanyUtil.ConstructionDisableCacheData

record base/tealdef/game_mechanics/company/company_util.d.tl:19

record ConstructionDisableCacheData

Hinweise

Vorberechnete Genehmigungsdaten für getConstructionDisableReason.

Im Basisspiel verwendet: 3-mal in 1 Datei

base/content/game_mechanics/game_mechanics/company/company_util.tl:83

function company_util.getConstructionDisableCacheData(allDefs : {{ResName, ConstructionDescMetadata, string}}) : CompanyUtil.ConstructionDisableCacheData

Felder

Name Typ Beschreibung
companyRank integer Übernommener Unternehmensrang.
extraPermits {ResName : integer} Genehmigungsschlüssel -> zusätzliche Genehmigungen über den Rang.
maximumPermits {ResName : integer} contains extra permits
consumedPermits {ResName : integer} Genehmigungsschlüssel -> verbrauchte Genehmigungen, deren Abklingzeit noch läuft.
remainingPermitCooldown {ResName : CooldownState} Genehmigungsschlüssel -> Abklingzeit der ältesten verbrauchten Genehmigung.
data {ResName : ItemDisableCacheData} Konstruktionsdatei oder Genehmigungsschlüssel -> Anzahl der Bauten.

CompanyUtil.ConstructionDisableCacheData.CooldownState

record base/tealdef/game_mechanics/company/company_util.d.tl:20

record CooldownState

Hinweise

Abklingzeit eines Genehmigungsschlüssels.

Felder

Name Typ Beschreibung
remainingMs number Verbleibende Abklingzeit in Spielzeit (ms).
elapsedFraction number Abgelaufener Teil der Abklingzeit (0 bis 1).

CompanyUtil.ConstructionDisableCacheData.ItemDisableCacheData

record base/tealdef/game_mechanics/company/company_util.d.tl:31

record ItemDisableCacheData

Hinweise

Anzahl der Bauten zu einem Genehmigungsschlüssel.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/company/company_util.tl:144

local data : {ResName : CompanyUtil.ConstructionDisableCacheData.ItemDisableCacheData} = {}

Felder

Name Typ Beschreibung
numBuilt integer Konstruktionen, die mit dieser Datei oder diesem Genehmigungsschlüssel gebaut wurden.

CompanyUtil.CurrentCompanyState

record base/tealdef/game_mechanics/company/company_util.d.tl:49

record CurrentCompanyState

Hinweise

Rang und Erfahrung des Spielers.

Im Basisspiel verwendet: 6-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/company/company.tl:20

companyState : CompanyUtil.CurrentCompanyState
base/content/game_mechanics/game_mechanics/company/company_util.tl:373
function company_util.getCurrentCompanyState() : CompanyUtil.CurrentCompanyState

Felder

Name Typ Beschreibung
level integer Übernommener Rang.
potentialLevel integer Rang, der nach Erfahrung erreicht ist.
experience integer Erfahrungspunkte.