Zum Inhalt

town_util

Quelle: base/tealdef/game_mechanics/towns/town_util.d.tl

Hinweise

Stadtbewertungen, Buchführung über den Ruf und Hilfsfunktionen (game_mechanics/towns/town_util.tl).

TownRatingKey

enum global base/tealdef/game_mechanics/towns/town_util.d.tl:3

global enum TownRatingKey

Hinweise

Schlüssel der sechs Stadtbewertungen (TownUtil.Rating.key).

Wert Beschreibung
"urban_care" Rufbewertung.Im Spiel RufIm Code: Reputation
"traffic_congestion" Verkehrsbewertung.Im Spiel VerkehrIm Code: Traffic
"people_happiness" Zufriedenheitsbewertung.Im Spiel ZufriedenheitIm Code: Happiness
"cargo_delivery" Lieferzeitbewertung.Im Spiel LieferungIm Code: Delivery
"noise" Lärmbewertung.Im Spiel LärmIm Code: Noise
"pollution" Verschmutzungsbewertung.Im Spiel VerschmutzungIm Code: Pollution

TownUtil

record global base/tealdef/game_mechanics/towns/town_util.d.tl:12

global record TownUtil

Laden: local town_util = ug_require "::/game_mechanics/towns/town_util.tl" as TownUtil

Hinweise

Stadtbewertungen, Ruf und Hilfsfunktionen (game_mechanics/towns/town_util.tl).

Beispiel

local town_util = ug_require "/game_mechanics/towns/town_util.tl" as TownUtil
local townState = town_util.externalGetTownState(townEntity)
local level = town_util.getFactorRatingLevel(townState.authorityScore)

Felder

Name Typ Beschreibung
SeveredConnectionPenalty number Rufabzug pro unterbrochener Hauptverbindung (1/3). 2-mal im Basisspiel verwendet
NumLinesForHappinessStats integer Anzahl der Linien in der Zufriedenheitsstatistik (5). 1-mal im Basisspiel verwendet
GrowthLevelCacheKey string Schlüssel ("growth_level") in TownState.cachedRatings, unter dem die Wachstumsstufe der Stadt liegt. calcAuthorityScore speichert sie, getGrowthLevelMult liest sie, statt neu zu rechnen, und ein neues Spiel aus einer Karte (initNewGameFromMap) löscht sie.
LineUsageRatingMultiplier number Faktor auf die Liniennutzung der Stadt bei der Berechnung der Passagierversorgung (2.0).

Funktionen

GetRatings() : {Rating} base/tealdef/game_mechanics/towns/town_util.d.tl:30

Aufruf: town_util.GetRatings(…)

Hinweise

Die sechs Stadtbewertungen in der Reihenfolge Ruf, Verkehr, Zufriedenheit, Lieferzeit, Lärm, Verschmutzung.

Rückgabe {Rating}: Liste der Bewertungen.

Im Basisspiel verwendet: 10-mal in 8 Dateien

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

local ratings = town_util.GetRatings()
base/content/game_mechanics/game_mechanics/notifications/types/town_rating_warning.script.tl:20
for __, rating in ipairs(town_util.GetRatings()) do
base/content/game_mechanics/game_mechanics/notifications/types/town_rating_warning_nonperistent.script.tl:27
for __, rating in ipairs(town_util.GetRatings()) do
base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:643
local rating = town_util.GetRatings()[params.ratingIndex]
base/content/gui/gui/debug_panel/make_entity_debug_panel.tl:437
for __, v in ipairs(town_util.GetRatings()) do
base/content/gui/gui/entity_window/town/town_eow.script.tl:479
for __, rating in ipairs(town_util.GetRatings()) do
… und 2 weitere Dateien.

GetRating(key : string) : Rating base/tealdef/game_mechanics/towns/town_util.d.tl:31

Aufruf: town_util.GetRating(…)

Hinweise

Beschreibung der Bewertung zu einem Bewertungsschlüssel.

Im Spiel Ruf · Verkehr · ZufriedenheitIm Code: Reputation · Traffic · Happiness

Parameter Typ Beschreibung
key string Ein TownRatingKey.

Rückgabe Rating: Die Bewertung oder nil bei einem unbekannten Schlüssel.

Im Basisspiel verwendet: 3-mal in 2 Dateien

base/content/gui/gui/statistics/statistic_towns.tl:277

local staticRating = town_util.GetRating(key)
base/content/mission/mission/mission_framework/mission_framework_react_util.tl:150
local staticRating = town_util.GetRating(progress.townRatingKey)

GetRatingsToLog() : {Rating} base/tealdef/game_mechanics/towns/town_util.d.tl:32

Aufruf: town_util.GetRatingsToLog(…)

Hinweise

Bewertungen, die ins Stadt-Journal geschrieben werden. Das sind die aus GetRatings und dazu die Versorgungsbewertungen supplies_cargo_0 bis supplies_cargo_2 und supplies_passenger.

Rückgabe {Rating}: Liste der Bewertungen.

getMultiplierToRankClass(multiplier : number) : string base/tealdef/game_mechanics/towns/town_util.d.tl:56

Aufruf: town_util.getMultiplierToRankClass(…)

Hinweise

CSS-Klasse für einen Wachstumsmultiplikator, von town-growth-rank-1 (unter 0,15) bis town-growth-rank-6 (ab 0,8).

Parameter Typ Beschreibung
multiplier number Multiplikator zwischen 0 und 1.

Rückgabe string: Name der CSS-Klasse.

Im Basisspiel verwendet: 3-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:842

class = "font-scale-body,last-year-multiplier-icon," .. town_util.getMultiplierToRankClass(multiplier),
base/content/mission/mission/tasks/town_rating/town_rating.tl:75
local rank = town_util.getMultiplierToRankClass(rating)

getRatingSensitivityOptionName(ratingName : TownRatingKey) : string base/tealdef/game_mechanics/towns/town_util.d.tl:57

Aufruf: town_util.getRatingSensitivityOptionName(…)

Hinweise

Name der Script-Option, die die Empfindlichkeit einer Bewertung enthält, zum Beispiel townConfig.sensitivityNoise.

Parameter Typ Beschreibung
ratingName TownRatingKey Bewertungsschlüssel.

Rückgabe string: Name der Option oder ein leerer String bei einem unbekannten Schlüssel.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/gui/gui/entity_window/town/town_eow.script.tl:906

local optionName = town_util.getRatingSensitivityOptionName(params.rating)

getRatingLabel(RatingLevel) : string base/tealdef/game_mechanics/towns/town_util.d.tl:58

Aufruf: town_util.getRatingLabel(…)

Hinweise

Übersetztes Label einer Bewertungsstufe, etwa „Very Poor“ (deutsch „Sehr schlecht“).

Im Spiel Sehr schlecht · Mittelmässig · AusgezeichnetIm Code: Very Poor · Mediocre · Excellent

Parameter Typ Beschreibung
#1 RatingLevel Bewertungsstufe.

Rückgabe string: Übersetztes Label.

Im Basisspiel verwendet: 11-mal in 3 Dateien

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:75

text = town_util.getRatingLabel(ratingLevel),
base/content/gui/gui/entity_window/town_building/town_building.tl:180
getRatingLabel = town_util.getRatingLabel,
base/content/gui/gui/statistics/statistic_towns.tl:567
local reputationLabel = town_util.getRatingLabel(reputationRatingLevel)

getRatingNameFromKey(name : TownRatingKey) : string base/tealdef/game_mechanics/towns/town_util.d.tl:59

Aufruf: town_util.getRatingNameFromKey(…)

Hinweise

Übersetzter Anzeigename einer Bewertung.

Parameter Typ Beschreibung
name TownRatingKey Bewertungsschlüssel.

Rückgabe string: Anzeigename oder nil bei einem unbekannten Schlüssel.

Im Basisspiel verwendet: 7-mal in 2 Dateien

base/content/gui/gui/statistics/statistic_towns.tl:507

{ path = getRatingIconFromKey("urban_care"), tooltip = town_util.getRatingNameFromKey("urban_care"), recipe = TownUrbanCareCell, getCompareValue = getUrbanCareC
base/content/mission/mission/mission_framework/mission_framework_react_util.tl:149
local ratingName = town_util.getRatingNameFromKey(progress.townRatingKey)

getRatingUrbanCare(entity : Engine.Entity, townState : TownState) : number base/tealdef/game_mechanics/towns/town_util.d.tl:60

Aufruf: town_util.getRatingUrbanCare(…)

Hinweise

Rufbewertung einer Stadt. Jede unterbrochene Hauptverbindung zählt als Abzug von SeveredConnectionPenalty.

Parameter Typ Beschreibung
entity Engine.Entity Stadt-Entität.
townState TownState Zustand der Stadt.

Rückgabe number: Ruf zwischen 0 und 1; 1, wenn die Empfindlichkeit 0 ist.

Im Basisspiel verwendet: 6-mal in 6 Dateien

base/content/game_mechanics/game_mechanics/celebrations/celebrations.script.tl:81

local ratingUrbanCare = town_util.getRatingUrbanCare(townEntity, townState)
base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:1039
local ratingUrbanCare = town_util.getRatingUrbanCare(params.entity, townState)
base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:235
return town_util.getFactorRatingLevel(town_util.getRatingUrbanCare(param.townEntity, townState))
base/content/gui/gui/entity_window/town/town_eow.script.tl:256
return town_util.getRatingUrbanCare(params.entityId, townState) * 1000
base/content/gui/gui/statistics/statistic_towns.tl:447
return town_util.getRatingUrbanCare(townEntity, town_util.externalGetTownState(townEntity))
base/content/mission/mission/tasks/town_rating/town_rating.tl:10
return town_util.getRatingUrbanCare(townEntity, town_util.externalGetTownState(townEntity))

getRatingNoise(entity : Engine.Entity, townState : TownState) : number base/tealdef/game_mechanics/towns/town_util.d.tl:61

Aufruf: town_util.getRatingNoise(…)

Hinweise

Lärmbewertung einer Stadt. Der Lärm der Stadt in dB wird um einen Zufallsversatz pro Stadt und um 10 * log10(sensitivity) erhöht und dann linear zwischen den Lärmgrenzen aus emission_config abgebildet.

Parameter Typ Beschreibung
entity Engine.Entity Stadt-Entität.
townState TownState Zustand der Stadt.

Rückgabe number: Bewertung zwischen 0 und 1 (1 ist ruhig); 1, wenn die Empfindlichkeit 0 ist.

Im Basisspiel verwendet: 5-mal in 4 Dateien

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:1790

local noiseRating = town_util.getRatingNoise(params.entity, townState)
base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:80
local emissionRating = params.pollution and town_util.getRatingPollution(params.townEntity, townState) or town_util.getRatingNoise(params.townEntity, townState)
base/content/gui/gui/statistics/statistic_towns.tl:453
return town_util.getRatingNoise(townEntity, town_util.externalGetTownState(townEntity))
base/content/mission/mission/tasks/town_rating/town_rating.tl:22
return town_util.getRatingNoise(townEntity, town_util.externalGetTownState(townEntity))

getRatingPollution(entity : Engine.Entity, townState : TownState) : number base/tealdef/game_mechanics/towns/town_util.d.tl:62

Aufruf: town_util.getRatingPollution(…)

Hinweise

Verschmutzungsbewertung einer Stadt. Die mittlere Verschmutzung pro Zelle von 16 m mal 16 m im Siedlungsgebiet wird in dB umgerechnet, an die Empfindlichkeit angepasst und zwischen den Verschmutzungsgrenzen aus emission_config abgebildet.

Parameter Typ Beschreibung
entity Engine.Entity Stadt-Entität.
townState TownState Zustand der Stadt.

Rückgabe number: Bewertung zwischen 0 und 1 (1 ist sauber); 1, wenn die Empfindlichkeit 0 ist.

Im Basisspiel verwendet: 4-mal in 3 Dateien

base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:80

local emissionRating = params.pollution and town_util.getRatingPollution(params.townEntity, townState) or town_util.getRatingNoise(params.townEntity, townState)
base/content/gui/gui/statistics/statistic_towns.tl:450
return town_util.getRatingPollution(townEntity, town_util.externalGetTownState(townEntity))
base/content/mission/mission/tasks/town_rating/town_rating.tl:25
return town_util.getRatingPollution(townEntity, town_util.externalGetTownState(townEntity))

getRatingTraffic(entity : Engine.Entity, townState : TownState) : number base/tealdef/game_mechanics/towns/town_util.d.tl:63

Aufruf: town_util.getRatingTraffic(…)

Hinweise

Verkehrsbewertung einer Stadt. Die Verkehrsgeschwindigkeits-Bewertung der Engine wird mit der Empfindlichkeit potenziert, dann kommt constructionBoni.trafficRatingIncrease dazu.

Parameter Typ Beschreibung
entity Engine.Entity Stadt-Entität.
townState TownState Zustand der Stadt.

Rückgabe number: Bewertung zwischen 0 und 1; 1, wenn die Empfindlichkeit 0 ist.

Im Basisspiel verwendet: 3-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:35

local ratingTraffic = town_util.getRatingTraffic(townEntity, townState)
base/content/mission/mission/tasks/town_rating/town_rating.tl:13
return town_util.getRatingTraffic(townEntity, town_util.externalGetTownState(townEntity))

getRatingTrafficAllTowns(townStates : {TownState}) : {Engine.Entity : number} base/tealdef/game_mechanics/towns/town_util.d.tl:64

Aufruf: town_util.getRatingTrafficAllTowns(…)

Hinweise

Verkehrsbewertungen mehrerer Städte aus einem einzigen Engine-Aufruf. Anders als getRatingTraffic ignoriert die Funktion die Empfindlichkeit der einzelnen Städte.

Parameter Typ Beschreibung
townStates {TownState} Zustände der Städte.

Rückgabe {Engine.Entity : number}: Bewertung zwischen 0 und 1 pro Stadt-Entität.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/gui/gui/statistics/statistic_towns.tl:479

local allTrafficRatings = town_util.getRatingTrafficAllTowns(townsState.townStates or {})

getRatingHappiness(entity : Engine.Entity, townState : TownState) : number base/tealdef/game_mechanics/towns/town_util.d.tl:65

Aufruf: town_util.getRatingHappiness(…)

Hinweise

Zufriedenheitsbewertung einer Stadt aus api.engine.util.town.getTownHappinessStats; siehe getRatingHappinessFromStats.

Parameter Typ Beschreibung
entity Engine.Entity Stadt-Entität.
townState TownState Zustand der Stadt.

Rückgabe number: Bewertung zwischen 0 und 1.

Im Basisspiel verwendet: 3-mal in 3 Dateien

base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:243

return town_util.getFactorRatingLevel(town_util.getRatingHappiness(param.townEntity, townState))
base/content/gui/gui/statistics/statistic_towns.tl:456
return town_util.getRatingHappiness(townEntity, town_util.externalGetTownState(townEntity))
base/content/mission/mission/tasks/town_rating/town_rating.tl:16
return town_util.getRatingHappiness(townEntity, town_util.externalGetTownState(townEntity))

getRatingCargoDelivery(entity : Engine.Entity, townState : TownState) : number base/tealdef/game_mechanics/towns/town_util.d.tl:66

Aufruf: town_util.getRatingCargoDelivery(…)

Hinweise

Lieferzeitbewertung einer Stadt. Der Anteil der pünktlich gelieferten Güter im letzten halben Spieljahr (angenommen werden mindestens 10 Güter) wird zwischen Grenzen abgebildet, die von der Empfindlichkeit abhängen.

Parameter Typ Beschreibung
entity Engine.Entity Stadt-Entität.
townState TownState Zustand der Stadt.

Rückgabe number: Bewertung zwischen 0 und 1; 1, wenn die Empfindlichkeit 0 ist.

Im Basisspiel verwendet: 5-mal in 3 Dateien

base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:139

local cargoDeliveryRating = town_util.getRatingCargoDelivery(townEntity, townState)
base/content/gui/gui/statistics/statistic_towns.tl:459
return town_util.getRatingCargoDelivery(townEntity, town_util.externalGetTownState(townEntity))
base/content/mission/mission/tasks/town_rating/town_rating.tl:19
return town_util.getRatingCargoDelivery(townEntity, town_util.externalGetTownState(townEntity))

getRatingDeliveriesLegacy(entity : Engine.Entity) : number base/tealdef/game_mechanics/towns/town_util.d.tl:67

Aufruf: town_util.getRatingDeliveriesLegacy(…)

Hinweise

Alte Versorgungsbewertung, der Mittelwert der Güter- und der Passagierversorgung. Kein Script des Basisspiels ruft sie auf.

Parameter Typ Beschreibung
entity Engine.Entity Stadt-Entität.

Rückgabe number: Bewertung zwischen 0 und 1; 0, wenn die Stadt keine Nachfrage hat.

getRatingDeliveries(entity : Engine.Entity) : TownUtil.RatingDeliveries base/tealdef/game_mechanics/towns/town_util.d.tl:68

Aufruf: town_util.getRatingDeliveries(…)

Hinweise

Bewertungsstufe der Versorgung einer Stadt. Die Stufennummern der Güter- und der Passagierversorgung werden gemittelt und aufgerundet.

Parameter Typ Beschreibung
entity Engine.Entity Stadt-Entität.

Rückgabe TownUtil.RatingDeliveries: Stufennummer und ein Flag für „keine Lieferungen“. Eine Stadt ganz ohne Nachfrage bekommt Stufe 5.

Im Basisspiel verwendet: 3-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:872

local ratingDeliveries = town_util.getRatingDeliveries(params.entity)
base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:26
result.suppliesRating = town_util.getRatingLevel(town_util.getRatingDeliveries(townEntity).ratingLevelNumber)

getGrowthLevelMult(entity : Engine.Entity, townState : TownState) : RatingLevel base/tealdef/game_mechanics/towns/town_util.d.tl:69

Aufruf: town_util.getGrowthLevelMult(…)

Hinweise

Wachstumsstufe einer Stadt aus dem Produkt ihrer Bewertungsstufe (authorityScore) und ihrer Versorgungsstufe. Höhere Stufen brauchen ein größeres Produkt. Liegt unter GrowthLevelCacheKey ein Wert im Cache, wird dieser verwendet.

Parameter Typ Beschreibung
entity Engine.Entity Stadt-Entität.
townState TownState Zustand der Stadt.

Rückgabe RatingLevel: Wachstumsstufe. TownCargoUtil.authority2xpFactor macht daraus den Erfahrungsfaktor.

Im Basisspiel verwendet: 2-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:282

local growthLevel = town_util.getGrowthLevelMult(townEntity, townState)
base/content/gui/gui/main/town_hud_react_util.tl:84
growthLevel = town_util.getGrowthLevelMult(params.entity, townState)

getRatingBonuses(entity : Engine.Entity, townState : TownState) : number base/tealdef/game_mechanics/towns/town_util.d.tl:70

Aufruf: town_util.getRatingBonuses(…)

Hinweise

Bonusbewertung, die das Stadtfenster anzeigt.

Parameter Typ Beschreibung
entity Engine.Entity Stadt-Entität (wird nicht verwendet).
townState TownState Zustand der Stadt.

Rückgabe number: 1.0, wenn die Stadt durch Konstruktionen einen Erfahrungsbonus hat, sonst 0.5.

Im Basisspiel verwendet: 2-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:1186

local ratingBonuses = town_util.getRatingBonuses(params.entity, townState)
base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:260
return town_util.getFactorRatingLevel(town_util.getRatingBonuses(param.townEntity, townState))

getRatingDeliveriesCargo(entity : Engine.Entity) : number base/tealdef/game_mechanics/towns/town_util.d.tl:72

Aufruf: town_util.getRatingDeliveriesCargo(…)

Hinweise

Güterversorgung einer Stadt, die beste der drei Gebiete.

Parameter Typ Beschreibung
entity Engine.Entity Stadt-Entität.

Rückgabe number: Versorgung geteilt durch Nachfrage (0 bis 1) oder nil, wenn kein Gebiet Güter nachfragt.

getRatingDeliveriesCargoLandUse(entity : Engine.Entity, landUse : LandUseType) : number base/tealdef/game_mechanics/towns/town_util.d.tl:73

Aufruf: town_util.getRatingDeliveriesCargoLandUse(…)

Hinweise

Güterversorgung eines Gebiets, gesamte Versorgung geteilt durch gesamte Nachfrage.

Parameter Typ Beschreibung
entity Engine.Entity Stadt-Entität.
landUse LandUseType Gebietstyp.

Rückgabe number: Bewertung zwischen 0 und 1 oder nil, wenn das Gebiet keine Güter nachfragt.

Im Basisspiel verwendet: 3-mal in 1 Datei

base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:17

local cargoRatingResidential = town_util.getRatingDeliveriesCargoLandUse(townEntity, api.type["enum"].LandUseType.RESIDENTIAL)

getRatingDeliveriesPassenger(entity : Engine.Entity) : number base/tealdef/game_mechanics/towns/town_util.d.tl:74

Aufruf: town_util.getRatingDeliveriesPassenger(…)

Hinweise

Passagierversorgung einer Stadt, das Doppelte ihrer Liniennutzung.

Parameter Typ Beschreibung
entity Engine.Entity Stadt-Entität.

Rückgabe number: Bewertung zwischen 0 und 1 oder nil, wenn die Stadt keine Wohnkapazität hat.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:14

local passengerRating = town_util.getRatingDeliveriesPassenger(townEntity)

getCargoSupplyDemandsLandUse(Engine.Entity, LandUseType) : {CargoTypeSupplyDemand} base/tealdef/game_mechanics/towns/town_util.d.tl:76

Aufruf: town_util.getCargoSupplyDemandsLandUse(…)

Hinweise

Versorgung und Nachfrage pro Güterart in einem Gebiet, aus api.engine.system.townBuildingSystem.getCargoSupplyAndLimit.

Parameter Typ Beschreibung
#1 Engine.Entity Stadt-Entität.
#2 LandUseType Gebietstyp.

Rückgabe {CargoTypeSupplyDemand}: Liste, sortiert nach Nachfrage (höchste zuerst) und dann nach der ID der Güterart.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/gui/gui/layers/layer_cargo_flow.tl:75

districtSupplyDemand = town_util.getCargoSupplyDemandsLandUse(param.entity, townSelectionDetails.districtType)

getCargoSupplyDemandsLandUseWithResidentialLineUsage(townEntity : Engine.Entity, landUse : LandUseType) : {CargoTypeSupplyDemand} base/tealdef/game_mechanics/towns/town_util.d.tl:77

Aufruf: town_util.getCargoSupplyDemandsLandUseWithResidentialLineUsage(…)

Hinweise

Wie getCargoSupplyDemandsLandUse. Für das Wohngebiet steht vorne ein Passagiereintrag. Seine Nachfrage ist die Personenkapazität des Wohngebiets, seine Versorgung diese Kapazität mal lineUsage * LineUsageRatingMultiplier (höchstens 1).

Parameter Typ Beschreibung
townEntity Engine.Entity Stadt-Entität.
landUse LandUseType Gebietstyp.

Rückgabe {CargoTypeSupplyDemand}: Liste der Einträge zu Versorgung und Nachfrage.

Im Basisspiel verwendet: 2-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:8

local result = town_util.getCargoSupplyDemandsLandUseWithResidentialLineUsage(param.townEntity, param.landUse)
base/content/gui/gui/layers/layer_cargo_flow.tl:73
districtSupplyDemand = town_util.getCargoSupplyDemandsLandUseWithResidentialLineUsage(param.entity, townSelectionDetails.districtType)

getCargoSupplyDemands(Engine.Entity) : CargoTypeSupplyDemands base/tealdef/game_mechanics/towns/town_util.d.tl:78

Aufruf: town_util.getCargoSupplyDemands(…)

Hinweise

Güterversorgung und -nachfrage aller drei Gebiete einer Stadt.

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

Rückgabe CargoTypeSupplyDemands: Versorgung und Nachfrage pro Gebiet.

Im Basisspiel verwendet: 12-mal in 4 Dateien

base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:138

local cargoSupplyDemands : CargoTypeSupplyDemands = town_util.getCargoSupplyDemands(townEntity)
base/content/gui/gui/layers/layer_react_util.tl:160
state.demands = town_util.getCargoSupplyDemands(entity)
base/content/gui/gui/statistics/statistic_towns.tl:176
return town_util.getCargoSupplyDemands(entity)
base/content/mission/mission/tasks/town_rating/town_rating.tl:64
local supplyDemands = town_util.getCargoSupplyDemands(ctx.params.entity)

getLandUseCapacities(Engine.Entity) : TownCapacities base/tealdef/game_mechanics/towns/town_util.d.tl:79

Aufruf: town_util.getLandUseCapacities(…)

Hinweise

Personenkapazität jedes Gebiets einer Stadt.

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

Rückgabe TownCapacities: Kapazität pro Gebiet.

getTownCapacityUsages(Engine.Entity) : TownCapacityUsages base/tealdef/game_mechanics/towns/town_util.d.tl:80

Aufruf: town_util.getTownCapacityUsages(…)

Hinweise

Belegte und gesamte Kapazität jedes Gebiets einer Stadt, aus api.engine.util.town.getTownCapacityUsage.

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

Rückgabe TownCapacityUsages: Kapazitätsauslastung pro Gebiet.

Im Basisspiel verwendet: 7-mal in 5 Dateien

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:869

local townCapacityUsages : TownCapacityUsages = town_util.getTownCapacityUsages(params.entity)
base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:299
local userdataResult = town_util.getTownCapacityUsages(townEntity)
base/content/gui/gui/statistics/statistic_towns.tl:40
state.capacities = town_util.getTownCapacityUsages(entity)
base/content/mission/mission/tasks/town_size/town_size_task_util.tl:9
ctx.state.size = town_util.getTownCapacityUsages(ctx.params.entity).residential.capacity
mods/release/urbangames_campaign_mission_04/content/mission/mission/mission_story.tl:1250
local townCapacityUsages : TownCapacityUsages = town_util.getTownCapacityUsages(params.entity_camping)

getReachability(Engine.Entity) : UtilTown.TownReachability base/tealdef/game_mechanics/towns/town_util.d.tl:81

Aufruf: town_util.getReachability(…)

Hinweise

Erreichbarkeitsdaten einer Stadt. Ruft api.engine.util.town.getTownReachability auf.

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

Rückgabe UtilTown.TownReachability: Erreichbarkeit der Stadt.

Im Basisspiel verwendet: 4-mal in 1 Datei

base/content/gui/gui/statistics/statistic_towns.tl:84

local reachability : UtilTown.TownReachability = town_util.getReachability(entity)

getTownEmissionDB(Engine.Entity) : UtilTown.TownEmission base/tealdef/game_mechanics/towns/town_util.d.tl:82

Aufruf: town_util.getTownEmissionDB(…)

Hinweise

Lärm und Verschmutzung einer Stadt in dB, einschließlich des Zufallsversatzes pro Stadt aus getTownEmissionRandomOffsetDB.

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

Rückgabe UtilTown.TownEmission: Emission der Stadt.

getTownEmissionRandomOffsetDB(Engine.Entity) : UtilTown.TownEmission base/tealdef/game_mechanics/towns/town_util.d.tl:83

Aufruf: town_util.getTownEmissionRandomOffsetDB(…)

Hinweise

Fester Zufallsversatz in dB, den jede Stadt zu ihrem Lärm und ihrer Verschmutzung addiert. Der Zufallsgenerator wird mit der ID der Stadt-Entität initialisiert, deshalb bleibt der Versatz gleich.

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

Rückgabe UtilTown.TownEmission: Versatz für Lärm und Verschmutzung, innerhalb von emission_config.noiseRatingRandomOffsetMinMax und pollutionRatingRandomOffsetMinMax.

Details

Ruft math.randomseed mit der ID der Stadt-Entität auf.

roundRatingPrecision(number) : integer base/tealdef/game_mechanics/towns/town_util.d.tl:84

Aufruf: town_util.roundRatingPrecision(…)

Hinweise

Rundet einen Bewertungswert auf eine ganze Zahl ab.

Parameter Typ Beschreibung
#1 number Wert.

Rückgabe integer: math.floor des Werts.

getReachabilityRating(integer, number) : integer base/tealdef/game_mechanics/towns/town_util.d.tl:85

Aufruf: town_util.getReachabilityRating(…)

Hinweise

Bewertung aus der Zahl erreichbarer Ziele, floor(destinations^0.65 * 0.55 * scale). Kein Script des Basisspiels ruft sie auf.

Parameter Typ Beschreibung
#1 integer Zahl der Ziele.
#2 number Skalierung.

Rückgabe integer: Bewertung als ganze Zahl.

getTownCapacityUsageRating(UtilTown.TownCapacityUsage, number) : integer base/tealdef/game_mechanics/towns/town_util.d.tl:86

Aufruf: town_util.getTownCapacityUsageRating(…)

Hinweise

Kapazitätsauslastung in Prozent, used * scale * 100 / capacity, abgerundet. Kein Script des Basisspiels ruft sie auf.

Parameter Typ Beschreibung
#1 UtilTown.TownCapacityUsage Kapazitätsauslastung.
#2 number Skalierung.

Rückgabe integer: Prozentwert; 0, wenn die Kapazität 0 ist.

getCargoTypeSupplyDemandRating(CargoTypeSupplyDemand, number) : integer base/tealdef/game_mechanics/towns/town_util.d.tl:87

Aufruf: town_util.getCargoTypeSupplyDemandRating(…)

Hinweise

Versorgung in Prozent der Nachfrage, supply * 100 * scale / demand, abgerundet. Kein Script des Basisspiels ruft sie auf.

Parameter Typ Beschreibung
#1 CargoTypeSupplyDemand Versorgung und Nachfrage einer Güterart.
#2 number Skalierung.

Rückgabe integer: Prozentwert; 0, wenn die Nachfrage 0 ist.

findStateIndex(TownsState, EntityUtil.EntityAndRevision) : integer base/tealdef/game_mechanics/towns/town_util.d.tl:88

Aufruf: town_util.findStateIndex(…)

Hinweise

Index des Zustands einer Stadt in townStates.

Parameter Typ Beschreibung
#1 TownsState Zustand des Stadt-Scripts.
#2 EntityUtil.EntityAndRevision Stadt-Entität mit Revision.

Rückgabe integer: Index oder -1, wenn für die Stadt kein Zustand gespeichert ist.

getTownState(TownsState, Engine.Entity) : TownState base/tealdef/game_mechanics/towns/town_util.d.tl:89

Aufruf: town_util.getTownState(…)

Hinweise

Zustand einer Stadt. Fehlende Felder eines gespeicherten Zustands werden mit Standardwerten gefüllt. Hat eine Stadt keinen gespeicherten Zustand, bekommt sie einen neuen Standardzustand, der nicht in townsState eingetragen wird.

Parameter Typ Beschreibung
#1 TownsState Zustand des Stadt-Scripts.
#2 Engine.Entity Stadt-Entität.

Rückgabe TownState: Zustand der Stadt oder nil, wenn die Entität keine Stadt ist.

Im Basisspiel verwendet: 1-mal in 1 Datei

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

local sanitizedTownState = town_util.getTownState(townsState, townState.townEntity.entity)

setTownState(TownsState, Engine.Entity, TownState) : TownState base/tealdef/game_mechanics/towns/town_util.d.tl:90

Aufruf: town_util.setTownState(…)

Hinweise

Speichert den Zustand einer Stadt im Script-Zustand. Ein vorhandener Eintrag wird ersetzt, sonst wird ein neuer angehängt.

Parameter Typ Beschreibung
#1 TownsState Zustand des Stadt-Scripts; wird direkt geändert.
#2 Engine.Entity Stadt-Entität.
#3 TownState Zustand der Stadt.

Rückgabe TownState: Als Stadtzustand deklariert, die Implementierung gibt aber nichts zurück.

externalGetTownState(Engine.Entity) : TownState base/tealdef/game_mechanics/towns/town_util.d.tl:91

Aufruf: town_util.externalGetTownState(…)

Hinweise

Zustand einer Stadt, gelesen aus der Komponente des Game-Scripts town.gs. Verwende die Funktion außerhalb des Stadt-Scripts.

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

Rückgabe TownState: Zustand der Stadt.

Im Basisspiel verwendet: 38-mal in 10 Dateien

base/content/game_mechanics/game_mechanics/celebrations/celebrations.script.tl:80

local townState = town_util.externalGetTownState(townEntity)
base/content/game_mechanics/game_mechanics/fun_elements/blimp_util.tl:186
local townState = town_util.externalGetTownState(blimpData.townEntity.entity)
base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:645
local townState = town_util.externalGetTownState(params.entity)
base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:32
local townState = town_util.externalGetTownState(townEntity)
base/content/gui/gui/debug_panel/make_entity_debug_panel.tl:432
local townState = town_util.externalGetTownState(entityId)
base/content/gui/gui/entity_window/town/town_eow.script.tl:255
local townState = town_util.externalGetTownState(params.entityId)
… und 4 weitere Dateien.

externalGetTownsState() : TownsState base/tealdef/game_mechanics/towns/town_util.d.tl:92

Aufruf: town_util.externalGetTownsState(…)

Hinweise

Gesamter Zustand des Game-Scripts town.gs, gelesen aus seiner Komponente.

Rückgabe TownsState: Zustand des Stadt-Scripts.

Im Basisspiel verwendet: 4-mal in 3 Dateien

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

local townsState = town_util.externalGetTownsState()
base/content/gui/gui/hud/marketing_display.script.tl:88
local townsStates = town_util.externalGetTownsState()
base/content/gui/gui/statistics/statistic_towns.tl:478
local townsState = town_util.externalGetTownsState()

getTrafficSpeedRating(Engine.Entity, number) : {number, {integer}} base/tealdef/game_mechanics/towns/town_util.d.tl:93

Aufruf: town_util.getTrafficSpeedRating(…)

Hinweise

Rohe Verkehrsdaten einer Stadt aus api.engine.util.town.computeTownsTrafficSpeedMap.

Parameter Typ Beschreibung
#1 Engine.Entity Stadt-Entität.
#2 number Stichprobenkoeffizient, der an die Engine geht.

Rückgabe {number, {integer}}: Die rohe Verkehrsbewertung und die Zahl der Straßen pro Verkehrsstufe oder nil ohne Daten.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:34

local rating = town_util.getTrafficSpeedRating(townEntity, advancedOptions.trafficSpeedSensitivityScale)

getItemsAtDestinationPerYear(Engine.Entity, CargoTypeId) : integer base/tealdef/game_mechanics/towns/town_util.d.tl:96

Aufruf: town_util.getItemsAtDestinationPerYear(…)

Die Spieldateien enthalten hierzu noch keine Beschreibung.

Rückgabe integer

Im Basisspiel verwendet: 3-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:142

return town_util.getItemsAtDestinationPerYear(townEntity, cargoTypeId)
base/content/gui/gui/debug_panel/make_entity_debug_panel.tl:449
local amount = town_util.getItemsAtDestinationPerYear(entityAndRevisionState:old().entity, cargoTypeId)

getRatingFromCache(TownUtil.Rating, Engine.Entity, TownState) : TownState.CachedRating base/tealdef/game_mechanics/towns/town_util.d.tl:97

Aufruf: town_util.getRatingFromCache(…)

Hinweise

Wert einer Bewertung aus townState.cachedRatings. Fehlt er dort, wird er mit rating.getRating berechnet.

Parameter Typ Beschreibung
#1 TownUtil.Rating Bewertung.
#2 Engine.Entity Stadt-Entität.
#3 TownState Zustand der Stadt.

Rückgabe TownState.CachedRating: Wert und Kritisch-Flag der Bewertung.

Im Basisspiel verwendet: 1-mal in 1 Datei

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

local cachedRating = town_util.getRatingFromCache(rating, townState.townEntity.entity, sanitizedTownState)

calcAuthorityScore(Engine.Entity, TownState) : number base/tealdef/game_mechanics/towns/town_util.d.tl:98

Aufruf: town_util.calcAuthorityScore(…)

Hinweise

Gesamtbewertung einer Stadt, der niedrigste Wert der sechs Bewertungen. Aktualisiert dabei auch townState.cachedRatings und deren Kritisch-Flags.

Parameter Typ Beschreibung
#1 Engine.Entity Stadt-Entität.
#2 TownState Zustand der Stadt; cachedRatings wird geändert.

Rückgabe number: Punktestand zwischen 0 und 1.

logAuthorityRatings(Engine.Entity, TownState) : number base/tealdef/game_mechanics/towns/town_util.d.tl:99

Aufruf: town_util.logAuthorityRatings(…)

Hinweise

Schreibt die Werte aus GetRatingsToLog (mal 1000) ins Journal der Stadt.

Parameter Typ Beschreibung
#1 Engine.Entity Stadt-Entität.
#2 TownState Zustand der Stadt.

Rückgabe number: Wird vom Basisspiel nicht verwendet.

calculateProposalImpact(ProposalStats.TownProposalStats) : TownProposalImpact base/tealdef/game_mechanics/towns/town_util.d.tl:100

Aufruf: town_util.calculateProposalImpact(…)

Hinweise

Rufabzüge einer Stadt aus den Statistiken eines Vorschlags.

Parameter Typ Beschreibung
#1 ProposalStats.TownProposalStats Vorschlagsstatistik der Stadt.

Rückgabe TownProposalImpact: Abzug pro Grund.

Im Basisspiel verwendet: 1-mal in 1 Datei

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

local impact = town_util.calculateProposalImpact(townStats)

applyEventDecay(TownAuthorityEventFactors, integer, integer, number) : TownAuthorityEventFactors base/tealdef/game_mechanics/towns/town_util.d.tl:101

Aufruf: town_util.applyEventDecay(…)

Hinweise

Schreibt den Ruf-Zustand einer Stadt um die Zeit seit dem letzten Update fort. Beendet eine abgelaufene Marketingkampagne, aktualisiert den gleitenden Mittelwert der Güter und führt itemDelivery und onTimeItemDelivery wieder in Richtung 1.

Parameter Typ Beschreibung
#1 TownAuthorityEventFactors Bisheriger Ruf-Zustand.
#2 integer Zeit seit dem letzten Update in ms.
#3 integer Aktuelle Spielzeit in ms.
#4 number Erholungsbonus; 1 + bonus skaliert die Erholungsrate von itemDelivery.

Rückgabe TownAuthorityEventFactors: Neuer Ruf-Zustand. score und reasonToPenalty werden unverändert übernommen.

applyEventStats(TownAuthorityEventFactors, ProposalStats.TownProposalStats) : TownAuthorityEventFactors base/tealdef/game_mechanics/towns/town_util.d.tl:102

Aufruf: town_util.applyEventStats(…)

Hinweise

Addiert die Abzüge eines Vorschlags (Bäume, Felsen, Geländeänderung, abgerissene Gebäude) zu einer Kopie des Ruf-Zustands.

Parameter Typ Beschreibung
#1 TownAuthorityEventFactors Bisheriger Ruf-Zustand.
#2 ProposalStats.TownProposalStats Vorschlagsstatistik der Stadt.

Rückgabe TownAuthorityEventFactors: Neuer Ruf-Zustand.

applyMarketingCamaign(TownAuthorityEventFactors, params : TownMarketingMetadata.ConstructionDesc) : TownAuthorityEventFactors base/tealdef/game_mechanics/towns/town_util.d.tl:103

Aufruf: town_util.applyMarketingCamaign(…)

Hinweise

Startet in einer Kopie des Ruf-Zustands eine Marketingkampagne zur aktuellen Spielzeit.

Parameter Typ Beschreibung
#1 TownAuthorityEventFactors Bisheriger Ruf-Zustand.
params TownMarketingMetadata.ConstructionDesc Einstellungen der Kampagne.

Rückgabe TownAuthorityEventFactors: Neuer Ruf-Zustand oder der bisherige, wenn params nil ist.

applyItemDelivered(TownAuthorityEventFactors, boolean, Engine.Entity) : TownAuthorityEventFactors base/tealdef/game_mechanics/towns/town_util.d.tl:104

Aufruf: town_util.applyItemDelivered(…)

Hinweise

Zählt in einer Kopie des Ruf-Zustands ein geliefertes Gut und aktualisiert den Pünktlichkeitsanteil als laufenden Mittelwert über mindestens 50 Güter.

Parameter Typ Beschreibung
#1 TownAuthorityEventFactors Bisheriger Ruf-Zustand.
#2 boolean Ob das Gut pünktlich ankam.
#3 Engine.Entity Stadt-Entität (wird nicht verwendet).

Rückgabe TownAuthorityEventFactors: Neuer Ruf-Zustand.

getXpFactor(Engine.Entity) : number base/tealdef/game_mechanics/towns/town_util.d.tl:105

Aufruf: town_util.getXpFactor(…)

Hinweise

Erfahrungsfaktor einer Stadt, authority2xpFactor[growthLevel] * (1 + constructionBoni.xpIncrease).

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

Rückgabe number: Faktor auf die Erfahrung, die die Stadt gewinnt.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:876

result.currentMultiplier = town_util.getXpFactor(params.entity)

getSeveredMainConnections(townEntity : Engine.Entity) : {Engine.Entity} base/tealdef/game_mechanics/towns/town_util.d.tl:106

Aufruf: town_util.getSeveredMainConnections(…)

Hinweise

Städte, deren Hauptverbindung zu dieser Stadt unterbrochen oder zu lang ist (Stadtprobleme Disconnected und Overlength).

Parameter Typ Beschreibung
townEntity Engine.Entity Stadt-Entität.

Rückgabe {Engine.Entity}: Entitäten der anderen Städte.

Im Basisspiel verwendet: 2-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/celebrations/celebrations.script.tl:88

local numSeveredConnections = #town_util.getSeveredMainConnections(townEntity)
base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:1048
local numSeveredConnections = #town_util.getSeveredMainConnections(params.entity)

getTownEmissionEmitters(Engine.Entity, boolean, byLine? : {Engine.Entity : number}) : {EmitterCategory : number} base/tealdef/game_mechanics/towns/town_util.d.tl:107

Aufruf: town_util.getTownEmissionEmitters(…)

Hinweise

Anteil jeder Quellenkategorie am Lärm oder an der Verschmutzung einer Stadt. Beim Lärm zählen die Quellen im Umkreis von 150 m um die betroffenen Gebiete (getNoiseLandUseTypes).

Parameter Typ Beschreibung
#1 Engine.Entity Stadt-Entität.
#2 boolean Wahr für Verschmutzung, falsch für Lärm.
byLine? {Engine.Entity : number} Optionale Tabelle, die den Anteil pro Linie der Spielerfahrzeuge aufnimmt.

Rückgabe {EmitterCategory : number}: Anteil pro Kategorie (die Anteile ergeben zusammen 1) oder eine leere Tabelle ohne Emission.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:79

local emissionSources = town_util.getTownEmissionEmitters(params.townEntity, params.pollution, params.byLine and pollutionPerLine or nil)

getNoiseLandUseTypes() : {LandUseType} base/tealdef/game_mechanics/towns/town_util.d.tl:108

Aufruf: town_util.getNoiseLandUseTypes(…)

Hinweise

Gebietstypen, die von Lärm betroffen sind, aus townNoiseResidentialAffected, townNoiseCommercialAffected und townNoiseIndustrialAffected in den Emissionseinstellungen der Basiskonfiguration.

Rückgabe {LandUseType}: Liste der Gebietstypen.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:1796

local noisePerDistrict = api.engine.util.town.getTownNoisePerDistrict(params.entity, town_util.getNoiseLandUseTypes())

getRatingHappinessFromStats(unhappyAndTotal : UtilTown.TownHappinessStats, townState : TownState) : number base/tealdef/game_mechanics/towns/town_util.d.tl:109

Aufruf: town_util.getRatingHappinessFromStats(…)

Hinweise

Zufriedenheitsbewertung aus der Zufriedenheitsstatistik. Personen, die innerhalb der Stadt reisen, zählen doppelt, und es werden mindestens 15 Personen angenommen. Der Anteil zufriedener Personen wird zwischen Grenzen abgebildet, die von der Empfindlichkeit abhängen.

Parameter Typ Beschreibung
unhappyAndTotal UtilTown.TownHappinessStats Zufriedenheitsstatistik der Stadt.
townState TownState Zustand der Stadt.

Rückgabe number: Bewertung zwischen 0 und 1; 1, wenn die Empfindlichkeit 0 ist.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:1566

local rating = town_util.getRatingHappinessFromStats(value.stats, townState)

getFactorLevelNumber(number) : integer base/tealdef/game_mechanics/towns/town_util.d.tl:111

Aufruf: town_util.getFactorLevelNumber(…)

Hinweise

Stufennummer eines Bewertungswerts, floor(value * 6), begrenzt auf 0 bis 5.

Parameter Typ Beschreibung
#1 number Bewertungswert zwischen 0 und 1.

Rückgabe integer: Stufennummer.

Im Basisspiel verwendet: 5-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:648

local ratingValueShort : integer = town_util.getFactorLevelNumber(ratingValue)
base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:15
result.passengerRating = passengerRating and town_util.getFactorLevelNumber(passengerRating)

getRatingLevel(integer) : RatingLevel base/tealdef/game_mechanics/towns/town_util.d.tl:112

Aufruf: town_util.getRatingLevel(…)

Hinweise

Bewertungsstufe zu einer Stufennummer. 0 ist VeryPoor, 5 und mehr ist Excellent.

Parameter Typ Beschreibung
#1 integer Stufennummer.

Rückgabe RatingLevel: Bewertungsstufe.

Im Basisspiel verwendet: 9-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:267

local passengerRatingLevel = town_util.getRatingLevel(state:old().passengerRating)
base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:26
result.suppliesRating = town_util.getRatingLevel(town_util.getRatingDeliveries(townEntity).ratingLevelNumber)

getFactorRatingLevel(number) : RatingLevel base/tealdef/game_mechanics/towns/town_util.d.tl:113

Aufruf: town_util.getFactorRatingLevel(…)

Hinweise

Bewertungsstufe eines Bewertungswerts.

Parameter Typ Beschreibung
#1 number Bewertungswert zwischen 0 und 1.

Rückgabe RatingLevel: Bewertungsstufe.

Im Basisspiel verwendet: 22-mal in 6 Dateien

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

local ratingLevel = town_util.getFactorRatingLevel(ratingValue)
base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:98
local ratingLevel = town_util.getFactorRatingLevel(params.value)
base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:39
ratingLevel = town_util.getFactorRatingLevel(ratingTraffic)
base/content/gui/gui/debug_panel/make_entity_debug_panel.tl:468
local authorityLevel = town_util.getFactorRatingLevel(townState.authorityScore)
base/content/gui/gui/entity_window/entity_window_util.tl:118
or (param.getRatingLabel ~= nil) and param.getRatingLabel(town_util.getFactorRatingLevel(value))
base/content/gui/gui/statistics/statistic_towns.tl:278
local ratingLevelName = town_util.getFactorRatingLevel(ratingLevel)

isValidRating(Rating, RatingLevel) : boolean base/tealdef/game_mechanics/towns/town_util.d.tl:114

Aufruf: town_util.isValidRating(…)

Hinweise

Ob für eine Bewertung eine Bewertungsstufe angezeigt wird. Ungültig ist nur eine versteckte Bewertung auf Mediocre.

Parameter Typ Beschreibung
#1 Rating Bewertung.
#2 RatingLevel Bewertungsstufe.

Rückgabe boolean: Falsch für eine versteckte Bewertung auf Mediocre, sonst wahr.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/gui/gui/statistics/statistic_towns.tl:279

if town_util.isValidRating(staticRating, ratingLevelName) and key ~= "station_demand" then

getRatingSensitivity(TownState, ratingName : TownRatingKey) : number base/tealdef/game_mechanics/towns/town_util.d.tl:115

Aufruf: town_util.getRatingSensitivity(…)

Hinweise

Empfindlichkeit einer Bewertung für eine Stadt. Das ist der eigene Wert der Stadt aus ratingSensitivity, sonst der Standardwert aus town_ratings_sensitivity.res, skaliert über die Script-Option.

Parameter Typ Beschreibung
#1 TownState Zustand der Stadt.
ratingName TownRatingKey Bewertungsschlüssel.

Rückgabe number: Empfindlichkeit. Bei 0 oder weniger ist die Bewertung abgeschaltet (sie liefert 1).

Im Basisspiel verwendet: 3-mal in 3 Dateien

base/content/game_mechanics/game_mechanics/celebrations/celebrations.script.tl:83

local sensitivity = town_util.getRatingSensitivity(townState, "urban_care")
base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:1043
local sensitivity = town_util.getRatingSensitivity(townState, "urban_care")
base/content/gui/gui/entity_window/town/town_eow.script.tl:889
local sensitivity = town_util.getRatingSensitivity(townState, params.rating)

getTownsToPositions() : {Engine.Entity : Vec3f} base/tealdef/game_mechanics/towns/town_util.d.tl:117

Aufruf: town_util.getTownsToPositions(…)

Hinweise

Position jeder Stadt.

Rückgabe {Engine.Entity : Vec3f}: Position pro Stadt-Entität.

makeGetClosestTownAndDistanceFunction() : function(Vec3f) : {Engine.Entity, number} base/tealdef/game_mechanics/towns/town_util.d.tl:118

Aufruf: town_util.makeGetClosestTownAndDistanceFunction(…)

Hinweise

Baut eine Funktion, die die nächstgelegene Stadt zu einer Position findet. Die Stadtpositionen werden einmal gelesen, beim Aufruf dieser Funktion.

Rückgabe function(Vec3f) : {Engine.Entity, number}: Funktion, die die nächstgelegene Stadt und ihre Entfernung in Metern liefert, oder nil, wenn es keine Städte gibt.

makeGetAffectedTownsFunction() : function(Vec3f, number) : {Engine.Entity} base/tealdef/game_mechanics/towns/town_util.d.tl:119

Aufruf: town_util.makeGetAffectedTownsFunction(…)

Hinweise

Baut eine Funktion, die die von einem Kreis (Position und Radius) betroffenen Städte findet. Die Stadtpositionen werden einmal gelesen, beim Aufruf dieser Funktion.

Rückgabe function(Vec3f, number) : {Engine.Entity}: Funktion, die die nächstgelegene Stadt liefert und alle Städte, die höchstens deren Entfernung plus zwei Radien entfernt liegen.

getProposalStats(Type.Proposal, Type.ProposalData, boolean) : ProposalStats base/tealdef/game_mechanics/towns/town_util.d.tl:120

Aufruf: town_util.getProposalStats(…)

Hinweise

Auswirkungen eines Bauvorschlags auf Städte in der Nähe, also entfernte und platzierte Bäume und Felsen, abgerissene Stadtgebäude, Gelände- und Tunnelvolumen.

Parameter Typ Beschreibung
#1 Type.Proposal Vorschlag.
#2 Type.ProposalData Vorschlagsdaten.
#3 boolean Ob der Spieler den Vorschlag ausgelöst hat.

Rückgabe ProposalStats: Statistik pro betroffener Stadt; leer, wenn der Vorschlag nicht vom Spieler stammt.

Im Basisspiel verwendet: 1-mal in 1 Datei

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

local proposalStats : ProposalStats = town_util.getProposalStats(proposal, proposalData, true)

getProposalActions(Proposal, data : ProposalData) : TownProposalActions base/tealdef/game_mechanics/towns/town_util.d.tl:121

Aufruf: town_util.getProposalActions(…)

Hinweise

Aktionen eines Vorschlags, die eine Mindestbewertung der Stadt brauchen (Station, Flughafen, Abriss), und die Städte, die sie betreffen.

Parameter Typ Beschreibung
#1 Proposal Vorschlag.
data ProposalData Vorschlagsdaten.

Rückgabe TownProposalActions: Aktionen pro betroffener Stadt.

getActionAllowed(TownState, TownProposalActions.Action) : boolean base/tealdef/game_mechanics/towns/town_util.d.tl:122

Aufruf: town_util.getActionAllowed(…)

Hinweise

Ob die Bewertung einer Stadt eine Aktion erlaubt.

Parameter Typ Beschreibung
#1 TownState Zustand der Stadt.
#2 TownProposalActions.Action Aktion.

Rückgabe boolean: Wahr, wenn die Bewertungsstufe von authorityScore für die Aktion hoch genug ist.

getTownName(Engine.Entity) : string base/tealdef/game_mechanics/towns/town_util.d.tl:123

Aufruf: town_util.getTownName(…)

Hinweise

Name einer Stadt.

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

Rückgabe string: Name der Stadt.

getTownSize(Engine.Entity) : integer base/tealdef/game_mechanics/towns/town_util.d.tl:124

Aufruf: town_util.getTownSize(…)

Hinweise

Durchschnittliche Personenkapazität der drei Gebiete einer Stadt, gerundet. Kein Script des Basisspiels ruft sie auf.

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

Rückgabe integer: Durchschnittliche Kapazität; 0 für eine unbekannte Stadt.

getSubventionsEnabled(Engine.Entity) : boolean base/tealdef/game_mechanics/towns/town_util.d.tl:125

Aufruf: town_util.getSubventionsEnabled(…)

Hinweise

Ob eine Stadt Subventionen anbietet. Die Subventions-Scripts prüfen das.

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

Rückgabe boolean: Wahr, wenn die Bewertungsstufe der Stadt VeryGood ist.

changeTownAuthorityPenalty(TownAuthorityEventFactors, TownAuthorityEventFactors.EventType, number, ?number) : number base/tealdef/game_mechanics/towns/town_util.d.tl:126

Aufruf: town_util.changeTownAuthorityPenalty(…)

Hinweise

Ändert den gespeicherten Abzug eines Grundes. Der neue Abzug bleibt zwischen 0 und dem größeren Wert aus Maximum und aktuellem Abzug. Der Punktestand ändert sich nicht.

Parameter Typ Beschreibung
#1 TownAuthorityEventFactors Ruf-Zustand; wird direkt geändert.
#2 TownAuthorityEventFactors.EventType Grund.
#3 number Änderung des Abzugs.
#4 ?number Maximaler Abzug, Standard 1.

Rückgabe number: Tatsächliche Änderung des Abzugs.

addTownAuthorityPenalties(TownAuthorityEventFactors, {TownAuthorityEventFactors.EventType : number}) base/tealdef/game_mechanics/towns/town_util.d.tl:127

Aufruf: town_util.addTownAuthorityPenalties(…)

Hinweise

Ändert die Abzüge mehrerer Gründe und senkt oder erhöht score um die gesamte Änderung.

Parameter Typ Beschreibung
#1 TownAuthorityEventFactors Ruf-Zustand; wird direkt geändert.
#2 {TownAuthorityEventFactors.EventType : number} Änderung des Abzugs pro Grund.
Im Basisspiel verwendet: 1-mal in 1 Datei

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

town_util.addTownAuthorityPenalties(

recoverReputation(TownAuthorityEventFactors, number, {TownAuthorityEventFactors.EventType : number}) base/tealdef/game_mechanics/towns/town_util.d.tl:128

Aufruf: town_util.recoverReputation(…)

Hinweise

Erhöht score um höchstens einen Betrag und verkleinert die gespeicherten Abzüge im gleichen Verhältnis. Abzüge aus den Overrides bleiben mindestens auf ihrem Override-Wert.

Parameter Typ Beschreibung
#1 TownAuthorityEventFactors Ruf-Zustand; wird direkt geändert.
#2 number Betrag, um den sich der Punktestand erholen soll.
#3 {TownAuthorityEventFactors.EventType : number} Abzüge pro Grund, die sich nicht erholen können (das Basisspiel übergibt die unterbrochenen Verbindungen).

getReputation(TownAuthorityEventFactors, ?{TownAuthorityEventFactors.EventType : number}) : number base/tealdef/game_mechanics/towns/town_util.d.tl:129

Aufruf: town_util.getReputation(…)

Hinweise

Ruf-Punktestand einer Stadt. Override-Abzüge, die über den gespeicherten liegen, werden abgezogen.

Parameter Typ Beschreibung
#1 TownAuthorityEventFactors Ruf-Zustand.
#2 ?{TownAuthorityEventFactors.EventType : number} Optionale Abzüge pro Grund, die mindestens gelten.

Rückgabe number: Punktestand zwischen 0 und 1; 1 ohne Ruf-Zustand.

getReputationBreakdown(TownAuthorityEventFactors, ?{TownAuthorityEventFactors.EventType : number}) : {TownAuthorityEventFactors.EventType : number} base/tealdef/game_mechanics/towns/town_util.d.tl:130

Aufruf: town_util.getReputationBreakdown(…)

Hinweise

Verlorener Ruf, aufgeteilt nach Grund im Verhältnis zum Abzug des jeweiligen Grundes.

Parameter Typ Beschreibung
#1 TownAuthorityEventFactors Ruf-Zustand.
#2 ?{TownAuthorityEventFactors.EventType : number} Optionale Abzüge pro Grund, die mindestens gelten.

Rückgabe {TownAuthorityEventFactors.EventType : number}: Anteil am verlorenen Ruf pro Grund. Die Anteile ergeben zusammen 1 - reputation.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:1050

local penalties = town_util.getReputationBreakdown(townState.eventFactors, { SeveredConnection = targetPenalty })

level2name(integer) : string base/tealdef/game_mechanics/towns/town_util.d.tl:132

Aufruf: town_util.level2name(…)

Hinweise

Übersetzter Name eines Stadtlevels, von „Small Hamlet“ („Kleiner Weiler“) auf Level 1 bis „Large Metropolis“ („Grosse Metropole“) auf Level 18.

Im Spiel Kleiner Weiler · Städtchen · Grosse MetropoleIm Code: Small Hamlet · Town · Large Metropolis

Parameter Typ Beschreibung
#1 integer Stadtlevel. Werte außerhalb von 1 bis 18 werden begrenzt.

Rückgabe string: Übersetzter Levelname.

Im Basisspiel verwendet: 7-mal in 5 Dateien

base/content/game_mechanics/game_mechanics/celebrations/celebration_react_util.tl:50

townType = town_util.level2name(value),
base/content/game_mechanics/game_mechanics/towns/town_notification.script.tl:23
townType = town_util.level2name(notificationParams.level),
base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:891
local currentRankTownName = town_util.level2name(level)
base/content/gui/gui/entity_window/town/town_eow.script.tl:61
text = town_util.level2name(level),
base/content/gui/gui/statistics/statistic_towns.tl:68
return createCell(town_util.level2name(levelState:old()))

getTownForSimEntity(simEntity : Engine.Entity, direction : boolean) : Engine.Entity base/tealdef/game_mechanics/towns/town_util.d.tl:134

Aufruf: town_util.getTownForSimEntity(…)

Hinweise

Stadt der Station an der Start- oder Endhaltestelle der aktuellen Linienfahrt einer Sim-Person oder eines Sim-Guts.

Parameter Typ Beschreibung
simEntity Engine.Entity Sim-Entität in einem Fahrzeug oder an einem Terminal.
direction boolean Wahr für die Starthaltestelle (lineStop0), falsch für die Endhaltestelle (lineStop1).

Rückgabe Engine.Entity: Stadt-Entität oder nil, wenn die Stationsgruppe keine Stationen hat.

Im Basisspiel verwendet: 6-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:268

local fromTown = town_util.getTownForSimEntity(simEntity, true)
base/content/mission/mission/tasks/transport_cargo/transport_passengers.tl:45
local fromTown = town_util.getTownForSimEntity(simEntity, true)

isMarketingActive(atTimestamp : integer, factors : TownAuthorityEventFactors) : boolean base/tealdef/game_mechanics/towns/town_util.d.tl:135

Aufruf: town_util.isMarketingActive(…)

Hinweise

Ob zu einem bestimmten Zeitpunkt eine Marketingkampagne läuft.

Parameter Typ Beschreibung
atTimestamp integer Spielzeit in ms.
factors TownAuthorityEventFactors Ruf-Zustand der Stadt.

Rückgabe boolean: Wahr, wenn atTimestamp vor dem Kampagnenstart plus durationMs liegt.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:1065

local hasMarketingCampaign = town_util.isMarketingActive(now, townState.eventFactors)

forEachMatchingStocklist(stockList : Engine.Component.StockList, callback : function(Engine.Entity, CargoTypeId)) : {CargoTypeId : boolean} base/tealdef/game_mechanics/towns/town_util.d.tl:138

Aufruf: town_util.forEachMatchingStocklist(…)

return input/output cargo types (depending on argument stockListType)

Rückgabe {CargoTypeId : boolean}

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/gui/gui/entity_window/industry/industry.tl:240

town_util.forEachMatchingStocklist(stockList,

isCapital(townEntity : Engine.Entity) : boolean base/tealdef/game_mechanics/towns/town_util.d.tl:141

Aufruf: town_util.isCapital(…)

Hinweise

Ob eine Stadt die Hauptstadt des Spielers ist, also die Stadt, die seinem Hauptquartier am nächsten liegt.

Parameter Typ Beschreibung
townEntity Engine.Entity Stadt-Entität.

Rückgabe boolean: Wahr für die Hauptstadt.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/gui/gui/main/town_hud_react_util.tl:63

local isHQTown = town_util.isCapital(params.entity)

TownUtil.Rating

record base/tealdef/game_mechanics/towns/town_util.d.tl:13

record Rating

Hinweise

Beschreibung einer Stadtbewertung mit Name, Icons und den Funktionen, die sie berechnen.

Im Basisspiel verwendet: 6-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:2150

town_react_util.GetRatingsDashboard = function() : {town_react_util.TownInfoTabType : {TownUtil.Rating, Recipe<TownReactUtil.TownDetailsParam>, string}}
base/content/game_mechanics/game_mechanics/towns/town_util.tl:643
town_util.GetRating = function(key : string) : TownUtil.Rating

Felder

Name Typ Beschreibung
name string Übersetzter Anzeigename.
icon string Pfad des kleinen Icons.
iconLarge string Pfad des 32-px-Icons.
range {integer, integer}
added boolean Wenn wahr, addiert calcAuthorityScore den Wert (value - 0.5) * 2 zum Punktestand, statt das Minimum zu nehmen. Keine Bewertung des Basisspiels setzt das Feld.
hidden boolean Wenn wahr, behandelt isValidRating die Stufe Mediocre als ungültig.
getRatingFnName ResName Script-Pfad der passenden TownUtilParallel-Funktion. Die GUI ruft sie mit engine_react_util.useStepStateParallel auf.
getRatingFnExtraParam any Wird als extraParam an die in getRatingFnName genannte Funktion übergeben.
key string Bewertungsschlüssel, zugleich der Schlüssel in TownState.cachedRatings.
onClickEvent {string, any} Name und Parameter des GUI-Ereignisses, das ein Klick auf die Bewertung auslöst, zum Beispiel {"openLayerRidge", { layer = "menu.layers.noiseButton", stack = true }}.

Funktionen

getRating(Engine.Entity, TownState) : number base/tealdef/game_mechanics/towns/town_util.d.tl:21

Hinweise

Berechnet den Bewertungswert.

Parameter Typ Beschreibung
#1 Engine.Entity Stadt-Entität.
#2 TownState Zustand der Stadt.

Rückgabe number: Bewertungswert zwischen 0 und 1.

debugGetInfo(Engine.Entity, TownState) : string base/tealdef/game_mechanics/towns/town_util.d.tl:26

Hinweise

Debug-Text zur Bewertung. Die Lärm- und die Verschmutzungsbewertung geben ihren Zufallsversatz in dB zurück.

Parameter Typ Beschreibung
#1 Engine.Entity Stadt-Entität.
#2 TownState Zustand der Stadt.

Rückgabe string: Debug-Text.

TownUtil.RatingDeliveries

record base/tealdef/game_mechanics/towns/town_util.d.tl:37

record RatingDeliveries

Hinweise

Zusammengefasste Versorgungsbewertung einer Stadt (getRatingDeliveries).

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/towns/town_util.tl:560

town_util.getRatingDeliveries = function(entity : Engine.Entity) : TownUtil.RatingDeliveries

Felder

Name Typ Beschreibung
ratingLevelNumber integer Stufennummer von 0 (VeryPoor) bis 5 (Excellent).
noDeliveries boolean Wahr, wenn die Stadt Nachfrage hat, aber nichts geliefert wird.

TownUtil.EmitterCategory

enum base/tealdef/game_mechanics/towns/town_util.d.tl:42

enum EmitterCategory

Hinweise

Kategorien von Lärm- und Verschmutzungsquellen (getTownEmissionEmitters).

Im Basisspiel verwendet: 7-mal in 3 Dateien

base/content/game_mechanics/game_mechanics/towns/town_react_util.tl:1920

local function EmitterCategoryToString(category : TownUtil.EmitterCategory) : string
base/content/game_mechanics/game_mechanics/towns/town_util.tl:1764
town_util.getTownEmissionEmitters = function(townEntity : Engine.Entity, pollution : boolean, byLine? :{Engine.Entity : number}) : {TownUtil.EmitterCategory : n
base/content/game_mechanics/game_mechanics/towns/town_util_parallel.script.tl:92
table.sort(result.emissionPerSource, function(a : {TownUtil.EmitterCategory, integer}, b : {TownUtil.EmitterCategory, integer}) : boolean

Wert Beschreibung
"company_vehicles" Fahrzeuge auf den Linien des Spielers.Im Spiel UnternehmensfahrzeugeIm Code: Company Vehicles
"residents_vehicles" Andere Fahrzeuge, etwa die Autos der Einwohner.Im Spiel EinwohnerfahrzeugeIm Code: Residents' Vehicles
"industries" Industrien und Felder.Im Spiel IndustrienIm Code: Industries
"depots" Fahrzeugdepots mit Gleis- oder Straßenanschluss.Im Spiel DepotsIm Code: Depots
"maintenance_buildings" Fahrzeugdepots ohne Ein- oder Ausfahrtsknoten.Im Spiel WartungsgebäudeIm Code: Maintenance Buildings
"stations" Stationen und Stationsgruppen.Im Spiel StationenIm Code: Stations
"tracks" Gleise und Straßen (Basiskanten).Im Spiel GleiseIm Code: Tracks
"warehouses" Lagerhäuser.Im Spiel LagerIm Code: Warehouses
"other" Jede andere Quelle.Im Spiel SonstigesIm Code: Other