Zum Inhalt

subvention

Quelle: base/tealdef/game_mechanics/subventions/subvention.d.tl

Hinweise

Typen des Subventionssystems, sein gespeicherter Zustand und das Interface, das jedes Script eines Subventionstyps implementiert.

SubventionBonusMalus

record global base/tealdef/game_mechanics/subventions/subvention.d.tl:3

global record SubventionBonusMalus

Hinweise

Eine Belohnung oder Strafe einer Subvention. SubventionUtil.applyBonusMalus wendet sie beim Annehmen, beim Erfüllen oder beim Scheitern an.

Details

Erzeuge sie mit SubventionUtil.makeBonusMalusMoney, makeBonusMalusReputation oder makeBonusMalusTownExp. params hat die Felder des Records, den type angibt.

Felder

Name Typ Beschreibung
type Type Art dieses Eintrags.
params Param Werte dieses Eintrags. Caste sie auf den Record, den type angibt.

SubventionBonusMalus.Type

enum base/tealdef/game_mechanics/subventions/subvention.d.tl:4

enum Type

Hinweise

Art der Belohnung oder Strafe.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/subventions/subvention_util.tl:177

subvention_util.makeBonusMalus = function(t : SubventionBonusMalus.Type, params : SubventionBonusMalus.Param) : SubventionBonusMalus

Wert Beschreibung
"Money" Zahlung oder Strafe in Spielwährung.Im Spiel {amount} Zahlung · {amount} StrafeIm Code: {amount} Payment · {amount} Fine
"Reputation" Änderung des Rufs des Spielers in einer Stadt.
"TownExperience" Levelfortschritt einer Stadt.Im Spiel {amount} Level-Fortschritt in {townName}Im Code: {amount} Level Progress in {townName}

SubventionBonusMalus.Money

record base/tealdef/game_mechanics/subventions/subvention.d.tl:9

record Money

Hinweise

Parameter eines Money-Eintrags.

Im Basisspiel verwendet: 2-mal in 1 Datei

base/content/game_mechanics/game_mechanics/subventions/subvention_util.tl:127

local data = bonusMalus.params as SubventionBonusMalus.Money

Felder

Name Typ Beschreibung
amount integer Betrag in Spielwährung. Wird der Eintrag positiv angewendet, wird er ausgezahlt, sonst abgebucht.

SubventionBonusMalus.Reputation

record base/tealdef/game_mechanics/subventions/subvention.d.tl:12

record Reputation

Hinweise

Parameter eines Reputation-Eintrags.

Im Basisspiel verwendet: 2-mal in 1 Datei

base/content/game_mechanics/game_mechanics/subventions/subvention_util.tl:137

local data = bonusMalus.params as SubventionBonusMalus.Reputation

Felder

Name Typ Beschreibung
townEntity EntityUtil.EntityAndRevision Stadt, deren Ruf sich ändert.
amount number Änderung des Rufs als Bruchteil (angezeigt in Prozent).

SubventionBonusMalus.TownExperience

record base/tealdef/game_mechanics/subventions/subvention.d.tl:16

record TownExperience

Hinweise

Parameter eines TownExperience-Eintrags.

Im Basisspiel verwendet: 2-mal in 1 Datei

base/content/game_mechanics/game_mechanics/subventions/subvention_util.tl:145

local data = bonusMalus.params as SubventionBonusMalus.TownExperience

Felder

Name Typ Beschreibung
townEntity EntityUtil.EntityAndRevision Stadt, die Levelfortschritt bekommt.
amount number Levelfortschritt als Bruchteil (angezeigt in Prozent).

SubventionBonusMalus.Param

record base/tealdef/game_mechanics/subventions/subvention.d.tl:20

record Param

Hinweise

Vereinigung der Parameter-Records, der deklarierte Typ von params.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/subventions/subvention_util.tl:177

subvention_util.makeBonusMalus = function(t : SubventionBonusMalus.Type, params : SubventionBonusMalus.Param) : SubventionBonusMalus

Felder

Name Typ Beschreibung
amount integer Betrag. Was er bedeutet, hängt von type ab.
townEntity EntityUtil.EntityAndRevision Stadt bei Reputation- und TownExperience-Einträgen.

SubventionBonusMalus.Data

record base/tealdef/game_mechanics/subventions/subvention.d.tl:28

record Data

Hinweise

Anzeigezeile für eine Belohnung oder Strafe, wie SubventionUtil.getData sie erzeugt.

Im Basisspiel verwendet: 2-mal in 2 Dateien

base/content/game_mechanics/game_mechanics/subventions/subvention_util.tl:186

subvention_util.getData = function(upfront : {SubventionBonusMalus}, positive : boolean) : {SubventionBonusMalus.Data}
base/content/game_mechanics/game_mechanics/subventions/subventions_gui.tl:30
data : {SubventionBonusMalus.Data}

Felder

Name Typ Beschreibung
text string Übersetzter Text, etwa „$1,000,000 Payment“ oder „10% Reputation in Davao“ (deutsch „… Zahlung“ und „… Ruf in Davao“).

ISubvention

interface global base/tealdef/game_mechanics/subventions/subvention.d.tl:33

global interface ISubvention

Hinweise

Eine Subventionsinstanz, wie sie in SubventionState gespeichert ist.

Details

Das Subventions-Game-Script verschiebt eine Instanz beim Subvention-Ereignis onAccept von proposedSubventions nach activeSubventions. Gibt isComplete des Typs wahr zurück, kommt sie nach completedSubventions. Gibt shouldDespawn während der aktiven Phase einen Grund zurück, kommt sie nach failedSubventions.

Felder

Name Typ Beschreibung
data ISubventionData Daten der Subvention. Caste sie auf den eigenen Record des Typs.
id string Res-Name des Subventionstyps, etwa ::/game_mechanics/subventions/deliver_cargo/deliver_cargo.res.
acceptedTime number Spielzeit (ms), zu der der Spieler das Angebot angenommen hat. nil, solange es nur angeboten ist.
spawnTime number Spielzeit (ms), zu der das Angebot erzeugt wurde.
completedTime number Spielzeit (ms), zu der die Subvention erfüllt wurde, bis dahin nil.
uid number Eindeutige ID der Subvention innerhalb ihres Typs. Ereignisse zum Annehmen und Ablehnen und die Benachrichtigungen beziehen sich darauf.

ISubvention.ISubventionData

interface base/tealdef/game_mechanics/subventions/subvention.d.tl:34

interface ISubventionData

Hinweise

Datenteil einer Subvention. Jeder Subventionstyp erweitert ihn um eigene Felder, etwa die Ziel-Entität.

Details

Beginne mit SubventionUtil.makeDefaultSubventionTemplate. Die Funktion setzt name und die drei Zeitdauern.

Im Basisspiel verwendet: 20-mal in 8 Dateien

base/content/game_mechanics/game_mechanics/subventions/deliver_cargo/deliver_cargo.script.tl:40

local record DeliverCargoState is ISubvention.ISubventionData
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:44
local record DeliverCargoTownState is ISubvention.ISubventionData
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:48
local record DeliverPassengersState is ISubvention.ISubventionData
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:40
local record DeliverWorkersState is ISubvention.ISubventionData
base/content/game_mechanics/game_mechanics/subventions/subvention_util.tl:272
subvention_util.defaultTimeout = function<T is ISubvention.ISubventionData>(state : Subvention<T>,  currentGameTime : number) : ISubvention.FailReason
base/content/game_mechanics/game_mechanics/subventions/subventions.script.tl:95
local spawnSubvention = function(state : SubventionState, currentGameTime : number, subventionName : string, data : ISubvention.ISubventionData, uid: number) : 
… und 2 weitere Dateien.

Felder

Name Typ Beschreibung
upfront {SubventionBonusMalus} Belohnungen, die angewendet werden, wenn der Spieler das Angebot annimmt.
complete {SubventionBonusMalus} Belohnungen, die angewendet werden, wenn die Subvention erfüllt ist.
failure {SubventionBonusMalus} Strafen, die angewendet werden, wenn die Subvention scheitert. Die Typen des Basisspiels wiederholen hier die Vorauszahlung, damit sie zurückgezahlt wird.
name string Übersetzter Titel der Subvention, etwa „Supply Industry“ („Industrie beliefern“).
expireDurationProposed number Zeit (ms), die das Angebot offen bleibt, bevor es zurückgezogen wird. -1 heißt, es läuft nie ab.
expireDuration number Zeit (ms) nach dem Annehmen, in der die Subvention erfüllt sein muss.
effectDuration integer Zeit (ms), die die Belohnung nach dem Erfüllen wirkt. Danach wird die Subvention entfernt. Die Güter- und Passagiertypen zeigen die Wirkung als „2x Income“ an.
toDeliver integer Menge, die der Spieler liefern muss. Bei den Gütersubventionen zählt jedes gelieferte Gut als eine Einheit.
delivered integer Bisher gelieferte Menge.

ISubvention.ISpecificSubventionParam

interface base/tealdef/game_mechanics/subventions/subvention.d.tl:46

interface ISpecificSubventionParam

Hinweise

Parameter, mit denen das Subvention-Script-Ereignis subventionSpawn einen bestimmten Subventionstyp erzeugt. spawnSpecific des Typs bekommt sie.

Beispiel

-- urbangames_campaign_mission_06
local subvention : DeliverCargoSubventionParam = {
    target = entity,
    expireDurationProposed = -1,
}
api.cmd.sendCommand(api.cmd.makeScriptingSendEventCmd("", "Subvention", "subventionSpawn", {
    name = "::/game_mechanics/subventions/deliver_cargo/deliver_cargo.res",
    specific = subvention,
}))
Im Basisspiel verwendet: 31-mal in 5 Dateien

base/content/game_mechanics/game_mechanics/subventions/subventions.script.tl:123

local spawnSpecific = function(state: SubventionState, currentGameTime: number, subventionName: string, param: ISubvention.ISpecificSubventionParam) : boolean
base/content/mission/mission/tasks/subsidies/subsidies.tl:34
local spawnSubsidies = function(subsidiesRes: {{ResName, ISubvention.ISpecificSubventionParam}}, guiTimeSeconds : number) : {{number, MissionTaskSubsidies.Statu
mods/release/urbangames_campaign_mission_06/content/mission/mission/mission_story.tl:41
local record DeliverVisitorsSubventionParam is ISubvention.ISpecificSubventionParam
mods/release/urbangames_campaign_mission_06/content/mission/mission/mission_story_cutscene_only.tl:41
local record DeliverVisitorsSubventionParam is ISubvention.ISpecificSubventionParam
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:47
local record DeliverVisitorsSubventionParam is ISubvention.ISpecificSubventionParam

Felder

Name Typ Beschreibung
expireDurationProposed number -1 means, does not expire
uid number Eindeutige ID der neuen Subvention. Bei nil leitet der Typ eine aus seinem Ziel ab. MissionTaskSubsidies setzt sie aus einem Zähler.

ISubvention.Status

enum base/tealdef/game_mechanics/subventions/subvention.d.tl:58

enum Status

Hinweise

Phase einer Subvention.

Im Basisspiel verwendet: 15-mal in 7 Dateien

base/content/game_mechanics/game_mechanics/notifications/types/subvention.script.tl:24

local scriptGetNotificationData = util.useFn(subventionDesc.scriptFile .. ".getNotificationData") as function(string, any, ISubvention.Status, ISubvention.FailR
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo/deliver_cargo.script.tl:244
getNotificationData = function(subventionId : string, params : DeliverCargoNotificationParams, status : ISubvention.Status, reason : ISubvention.FailReason, ent
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:341
getNotificationData = function(subventionId : string, params : DeliverCargoTownNotificationParams, status : ISubvention.Status, reason : ISubvention.FailReason,
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:316
getNotificationData = function(subventionId : string, params : DeliverPassengersNotificationParams, status : ISubvention.Status, reason : ISubvention.FailReason
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:200
getNotificationData = function(subventionId : string, params : DeliverWorkersNotificationParams, status : ISubvention.Status, reason : ISubvention.FailReason, e
base/content/game_mechanics/game_mechanics/subventions/subvention_util.tl:379
subvention_util.makeDefaultNotificationData = function(status : ISubvention.Status, failReason : ISubvention.FailReason, icon : string,
… und 1 weitere Dateien.

Wert Beschreibung
"Proposed" Angeboten, noch nicht angenommen.Im Spiel Neue Subvention verfügbarIm Code: New Subsidy Available
"Active" Angenommen und laufend.Im Spiel Subvention läuftIm Code: Subsidy in Progress
"Complete" Erfüllt, die Belohnung wirkt.Im Spiel Subvention erfülltIm Code: Subsidy Fulfilled
"Failed" Nicht rechtzeitig erfüllt.Im Spiel Subvention gescheitertIm Code: Subsidy Failed

ISubvention.FailReason

enum base/tealdef/game_mechanics/subventions/subvention.d.tl:65

enum FailReason

Hinweise

Warum eine Subvention endete, ohne erfüllt zu sein.

Im Basisspiel verwendet: 23-mal in 9 Dateien

base/content/game_mechanics/game_mechanics/notifications/types/subvention.script.tl:24

local scriptGetNotificationData = util.useFn(subventionDesc.scriptFile .. ".getNotificationData") as function(string, any, ISubvention.Status, ISubvention.FailR
base/content/game_mechanics/game_mechanics/notifications/types/subvention_missed.script.tl:25
local scriptGetNotificationMissedData = util.useFn(subventionDesc.scriptFile .. ".getNotificationMissedData") as function(string, any, ISubvention.FailReason, {
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo/deliver_cargo.script.tl:244
getNotificationData = function(subventionId : string, params : DeliverCargoNotificationParams, status : ISubvention.Status, reason : ISubvention.FailReason, ent
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:341
getNotificationData = function(subventionId : string, params : DeliverCargoTownNotificationParams, status : ISubvention.Status, reason : ISubvention.FailReason,
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:316
getNotificationData = function(subventionId : string, params : DeliverPassengersNotificationParams, status : ISubvention.Status, reason : ISubvention.FailReason
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:200
getNotificationData = function(subventionId : string, params : DeliverWorkersNotificationParams, status : ISubvention.Status, reason : ISubvention.FailReason, e
… und 3 weitere Dateien.

Wert Beschreibung
"None" Kein Scheitern.
"Timeout" Eine Frist ist abgelaufen (siehe SubventionUtil.defaultTimeout).
"InvalidEntity" Eine Ziel-Entität wurde entfernt oder ersetzt.Im Spiel Subvention entfernt · Das Subventionsangebot wurde zurückgezogen, da seine Bedingungen nicht mehr erfüllt sind.Im Code: Subsidy Removed · The subsidy offer has been rescinded, as its conditions are no longer met.

Subvention

record global base/tealdef/game_mechanics/subventions/subvention.d.tl:72

global record Subvention<T is ISubvention.ISubventionData> is ISubvention

Hinweise

Subventionsinstanz, deren Daten als T typisiert sind.

Felder

Name Typ Beschreibung
data T Daten der Subvention.

SubventionState

record global base/tealdef/game_mechanics/subventions/subvention.d.tl:76

global record SubventionState

Hinweise

Gespeicherter Zustand des Subventions-Game-Scripts ::/game_mechanics/subventions/subventions.gs.

Details

Lies ihn mit api.engine.system.gameScriptSystem.getEntityForGameScript("::/game_mechanics/subventions/subventions.gs") und der Komponente GAME_SCRIPT, so wie SubventionUtil.getSubventionAndStatusFromGameScript es tut. Ein zufälliges Angebot entsteht, wenn seit lastSpawnTime das Spawn-Intervall vergangen ist und weniger als 5 Subventionen aktiv sind.

Felder

Name Typ Beschreibung
lastSpawnTime number Spielzeit (ms) des zuletzt erzeugten Angebots; -1 vor dem ersten.
proposedSubventions {ISubvention} Offene Angebote.
activeSubventions {ISubvention} Angenommene Subventionen, die laufen.
completedSubventions {ISubvention} Erfüllte Subventionen, deren Belohnung noch wirkt.
failedSubventions {ISubvention} Subventionen, die in der aktiven Phase gescheitert sind.
usedUids {string : {string : boolean}} Pro Res-Name eines Subventionstyps die bereits erzeugten UIDs (Schlüssel ist die UID als String). true, solange die Subvention existiert, false, nachdem sie geendet hat.
version integer Zustandsversion. SubventionLegacyUtil.updateLegacyState aktualisiert Zustände, die älter als SubventionLegacyUtil.CurrentVersion sind.
spawnIntervalModifier number 1.0 is "neutral" (doing nothing)
pause boolean Solange der Wert wahr ist, entstehen keine Subventionen und keine wird aktualisiert. Gesetzt wird er mit dem Subvention-Ereignis setPause (Parameter ist ein Boolean).

SubventionIcons

record global base/tealdef/game_mechanics/subventions/subvention.d.tl:88

global record SubventionIcons

Hinweise

Icon-Pfade eines Subventionstyps für jeden Status, gelesen von SubventionUtil.getIcon.

Felder

Name Typ Beschreibung
fallback string Icon für einen Status ohne eigenes Icon.
proposed string Icon eines offenen Angebots.
active string Icon einer laufenden Subvention.
complete string Icon einer erfüllten Subvention.
failed string Icon einer gescheiterten oder verpassten Subvention.

SubventionDesc

record global base/tealdef/game_mechanics/subventions/subvention.d.tl:96

global record SubventionDesc

Hinweise

Daten einer generischen Res vom Typ subvention, eine pro Subventionstyp.

Beispiel

-- ::/game_mechanics/subventions/deliver_cargo/deliver_cargo.res.lua
function data()
return {
    type = "subvention",
    data = {
        scriptFile = "::/game_mechanics/subventions/deliver_cargo/deliver_cargo.script@deliver_cargo",
        icons = {
            fallback = "::/game_mechanics/subventions/deliver_cargo/deliver_cargo.tga",
        }
    }
}
end

Felder

Name Typ Beschreibung
scriptFile string Script-Tabelle des Typs (<script file>@<table name>), die SubventionScript implementiert. Das Game-Script sucht jede Funktion als scriptFile .. ".canSpawn" und so weiter.
icons SubventionIcons Icons pro Status.

SubventionCardData

record global base/tealdef/game_mechanics/subventions/subvention.d.tl:101

global record SubventionCardData

Hinweise

Inhalt der Karte und des Fensters einer Subvention, geliefert von getCardData des Typs.

Details

Beginne mit SubventionUtil.makeDefaultCardData und ergänze location, progress, description und die Güterfelder.

Felder

Name Typ Beschreibung
title Entry Icon und Titel der Subvention.
deadline Entry Kalender-Icon und die formatierte Zeit, in der die Subvention erfüllt sein muss. Im Fenster ausgeblendet, sobald die Frist abgelaufen ist.
description string Übersetzte Beschreibung für den aktuellen Status.
expireDuration Expiration Restzeit. Nur gesetzt, solange die Subvention aktiv ist.
progress Progress Lieferfortschritt. Die Gütersubventionen setzen ihn, solange sie aktiv sind.
location Location Quelle und Ziel der Subvention.
cargoIcons {string} Icon-Pfade der zu liefernden Güterarten.
cargoToDeliver integer Zu liefernde Menge, angezeigt hinter den Güter-Icons.
upfront {SubventionBonusMalus.Data} Anzeigezeilen der Vorab-Belohnungen.
failure {SubventionBonusMalus.Data} Anzeigezeilen der Strafen.
complete {SubventionBonusMalus.Data} Anzeigezeilen der Belohnungen fürs Erfüllen.
status ISubvention.Status Status, für den die Karte erzeugt wurde.
layerConfig LayerConfig Karten-Layer, der mit dem Fenster angezeigt wird, etwa Güterfluss-Pfeile von den Lieferanten zum Ziel.

SubventionCardData.Entry

record base/tealdef/game_mechanics/subventions/subvention.d.tl:102

record Entry

Hinweise

Icon mit Text.

Felder

Name Typ Beschreibung
icon string Icon-Pfad.
name string Text neben dem Icon.

SubventionCardData.Expiration

record base/tealdef/game_mechanics/subventions/subvention.d.tl:110

record Expiration

Hinweise

Restzeit einer laufenden Subvention.

Im Basisspiel verwendet: 1-mal in 1 Datei

base/content/game_mechanics/game_mechanics/subventions/subventions_gui.tl:76

expiration : SubventionCardData.Expiration

Felder

Name Typ Beschreibung
value number Verbleibender Anteil von expireDuration, von 1 (gerade angenommen) bis 0.
name string Restzeit, formatiert für die aktuelle Kalendergeschwindigkeit.

SubventionCardData.Progress

record base/tealdef/game_mechanics/subventions/subvention.d.tl:116

record Progress

Hinweise

Lieferfortschritt.

Felder

Name Typ Beschreibung
value number Fortschritt von 0 bis 1.
text string Fortschritt als Text, etwa „12 / 50“.

SubventionCardData.Location

record base/tealdef/game_mechanics/subventions/subvention.d.tl:122

record Location

Hinweise

Quelle und Ziel, die das Fenster anzeigt, jeweils mit einem Button zum Anzeigen auf der Karte und einem zum Auswählen.

Felder

Name Typ Beschreibung
from {Engine.Entity, string} Quell-Entität und ihr Anzeigename.
to {Engine.Entity, string} Ziel-Entität und ihr Anzeigename.

SubventionScript

record global base/tealdef/game_mechanics/subventions/subvention.d.tl:139

global record SubventionScript<T>

Hinweise

Funktionen, die das Script eines Subventionstyps implementiert. Das Subventions-Game-Script ruft sie über scriptFile aus dem SubventionDesc des Typs auf.

Details

Die meisten Typen des Basisspiels verwenden SubventionUtil.defaultOnAccept, defaultOnFailure und defaultOnComplete direkt und SubventionUtil.defaultTimeout innerhalb von shouldDespawn.

Funktionen

handleLegacy(state : Subvention<T>) : Subvention<T> base/tealdef/game_mechanics/subventions/subvention.d.tl:140

Hinweise

Ergänzt Felder, die in Daten aus älteren Spielständen fehlen. Die Typen des Basisspiels implementieren die Funktion, das Subventions-Game-Script ruft sie aber nicht auf.

Parameter Typ Beschreibung
state Subvention<T> Zu aktualisierende Subvention.

Rückgabe Subvention<T>: Die aktualisierte Subvention.

canSpawn() : boolean base/tealdef/game_mechanics/subventions/subvention.d.tl:142

Hinweise

Ob jetzt ein Angebot dieses Typs entstehen kann (etwa weil es eine passende Industrie gibt). Das Game-Script wählt zufällig einen der Typen, die wahr zurückgeben.

Rückgabe boolean: Wahr, wenn onSpawn ein Angebot erzeugen kann.

onSpawn() : T, number base/tealdef/game_mechanics/subventions/subvention.d.tl:143

Hinweise

Erzeugt die Daten eines zufälligen neuen Angebots dieses Typs.

Rückgabe T, number: Die Subventionsdaten (oder nil, wenn kein Angebot möglich war) und ihre UID.

spawnSpecific(param : ISubvention.ISpecificSubventionParam) : T, number base/tealdef/game_mechanics/subventions/subvention.d.tl:144

Hinweise

Erzeugt die Daten eines Angebots für vorgegebene Parameter. Wird beim Subvention-Ereignis subventionSpawn aufgerufen.

Parameter Typ Beschreibung
param ISubvention.ISpecificSubventionParam Typspezifische Parameter, etwa DeliverCargoSubventionParam.

Rückgabe T, number: Die Subventionsdaten (oder nil, wenn das Ziel nicht in Frage kommt) und ihre UID.

isComplete(state : Subvention<T>) : boolean base/tealdef/game_mechanics/subventions/subvention.d.tl:146

Hinweise

Prüft, ob eine aktive Subvention erfüllt ist. Wird bei jedem Update aufgerufen.

Parameter Typ Beschreibung
state Subvention<T> Aktive Subvention.

Rückgabe boolean: Wahr, wenn die Subvention erfüllt ist.

onComplete(state : Subvention<T>) base/tealdef/game_mechanics/subventions/subvention.d.tl:147

Hinweise

Wird einmal aufgerufen, wenn die Subvention erfüllt ist, bevor sie in die Liste der erfüllten wechselt.

Parameter Typ Beschreibung
state Subvention<T> Erfüllte Subvention.

onFailure(state : Subvention<T>) base/tealdef/game_mechanics/subventions/subvention.d.tl:149

Hinweise

Wird einmal aufgerufen, wenn eine aktive Subvention scheitert.

Parameter Typ Beschreibung
state Subvention<T> Gescheiterte Subvention.

onAccept(state : Subvention<T>) base/tealdef/game_mechanics/subventions/subvention.d.tl:150

Hinweise

Wird einmal aufgerufen, wenn der Spieler das Angebot annimmt.

Parameter Typ Beschreibung
state Subvention<T> Angenommene Subvention.

onUpdate(state : Subvention<T>) base/tealdef/game_mechanics/subventions/subvention.d.tl:152

Hinweise

Wird bei jedem Update des Game-Scripts für jede aktive Subvention aufgerufen, vor den Prüfungen auf Entfernen und Erfüllen.

Parameter Typ Beschreibung
state Subvention<T> Aktive Subvention.

shouldDespawn(state : Subvention<T>, currentGameTime : number) : string base/tealdef/game_mechanics/subventions/subvention.d.tl:153

Hinweise

Prüft, ob eine angebotene, aktive oder erfüllte Subvention endet. Aktive scheitern dann, angebotene gelten als verpasst, bei erfüllten endet die Wirkung der Belohnung.

Parameter Typ Beschreibung
state Subvention<T> Zu prüfende Subvention.
currentGameTime number Aktuelle Spielzeit (ms).

Rückgabe string: Ein Wert aus ISubvention.FailReason oder nil, wenn die Subvention bleiben soll.

onDespawn(state : Subvention<T>) base/tealdef/game_mechanics/subventions/subvention.d.tl:154

Hinweise

Wird aufgerufen, wenn eine angebotene oder erfüllte Subvention entfernt wird.

Parameter Typ Beschreibung
state Subvention<T> Entfernte Subvention.

eventsToHandle() : {string} base/tealdef/game_mechanics/subventions/subvention.d.tl:156

Hinweise

Namen zusätzlicher Script-Ereignisse, die das Subventions-Game-Script für diesen Typ abonniert.

Rückgabe {string}: Ereignisnamen, etwa { "OnCalcTicketPrice" }.

handleEvent(src : string, id : string, name : string, param : any, state : Subvention<T>) : any base/tealdef/game_mechanics/subventions/subvention.d.tl:157

Hinweise

Verarbeitet ein Script-Ereignis für eine aktive oder erfüllte Subvention.

Parameter Typ Beschreibung
src string Quelle des Ereignisses.
id string ID des Ereignisses.
name string Name des Ereignisses.
param any Parameter des Ereignisses.
state Subvention<T> Aktive oder erfüllte Subvention.

Rückgabe any: Ergebnis des Ereignisses. Das Game-Script gibt das letzte Ergebnis zurück, das nicht nil ist, bei OnCalcTicketPrice zum Beispiel Faktoren für den Ticketpreis.

getNotificationParams(state : Subvention<T>) : any base/tealdef/game_mechanics/subventions/subvention.d.tl:159

Hinweise

Daten, die in einer Benachrichtigung über die Subvention gespeichert werden, damit sich die Benachrichtigung später ohne die Subvention aufbauen lässt.

Parameter Typ Beschreibung
state Subvention<T> Subvention.

Rückgabe any: Typspezifische Tabelle, die an getNotificationData und getNotificationMissedData zurückgegeben wird.

getNotificationData(subventionId : string, params : any, status : ISubvention.Status, reason : ISubvention.FailReason, entityNames : {Engine.Entity : string}) : NotificationGuiData base/tealdef/game_mechanics/subventions/subvention.d.tl:160

Hinweise

Baut die Benachrichtigung zu einer Statusänderung.

Parameter Typ Beschreibung
subventionId string Res-Name des Subventionstyps.
params any Tabelle aus getNotificationParams.
status ISubvention.Status Zu meldender Status.
reason ISubvention.FailReason Grund des Scheiterns, "None", wenn es keinen gibt.
entityNames {Engine.Entity : string} Anzeigenamen der betroffenen Entitäten.

Rückgabe NotificationGuiData: Titel, Beschreibung und Icon der Benachrichtigung.

getNotificationMissedData(subventionId : string, params : any, reason : ISubvention.FailReason, entityNames : {Engine.Entity : string}) : NotificationGuiData base/tealdef/game_mechanics/subventions/subvention.d.tl:161

Hinweise

Baut die Benachrichtigung für ein Angebot, das zurückgezogen wurde, bevor der Spieler es angenommen hat.

Parameter Typ Beschreibung
subventionId string Res-Name des Subventionstyps.
params any Tabelle aus getNotificationParams.
reason ISubvention.FailReason Warum das Angebot zurückgezogen wurde.
entityNames {Engine.Entity : string} Anzeigenamen der betroffenen Entitäten.

Rückgabe NotificationGuiData: Titel, Beschreibung und Icon der Benachrichtigung.

getCardData(state : Subvention<T>, lightweight? : boolean) : SubventionCardData base/tealdef/game_mechanics/subventions/subvention.d.tl:164

Returns information about the subvention to display icons and cards, lgihtweird only returns icons, descriptions and progress

Hinweise

Baut den Inhalt von Karte und Fenster der Subvention.

Parameter Typ Beschreibung
state Subvention<T> Subvention.
lightweight? boolean Bei true werden nur das Standardsymbol, die Beschreibung und der Fortschritt geliefert; detaillierte Orte der Entitäten werden nicht ermittelt. Ohne Angabe oder bei false wird die vollständige Karte erstellt.

Rückgabe SubventionCardData: Inhalt der Karte.

getRelevantEntities(state : Subvention<T>) : {Engine.Entity}, {CargoTypeId : CargoUtil.StockProperties} base/tealdef/game_mechanics/subventions/subvention.d.tl:165

Hinweise

Entitäten und Güterarten der Subvention, verwendet für Benachrichtigungen und für die Subventions-Icons auf der Karte.

Parameter Typ Beschreibung
state Subvention<T> Subvention.

Rückgabe {Engine.Entity}, {CargoTypeId : CargoUtil.StockProperties}: Entitäten (etwa das Ziel und bei deliver_cargo auch die liefernden Linien und ihre Fahrzeuge) und die hervorzuhebenden Güterarten mit ihren Lagereigenschaften.

getRelevantEntityNames(state : Subvention<T>) : {Engine.Entity : string} base/tealdef/game_mechanics/subventions/subvention.d.tl:166

Hinweise

Anzeigenamen der betroffenen Entitäten. Nur deliver_cargo_town implementiert die Funktion, und das Basisspiel ruft sie nicht auf.

Parameter Typ Beschreibung
state Subvention<T> Subvention.

Rückgabe {Engine.Entity : string}: Name pro Entität.