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
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
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
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
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
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
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
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:44
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:48
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:40
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
… 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
mods/release/urbangames_campaign_mission_06/content/mission/mission/mission_story_cutscene_only.tl:41
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:47
Felder
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
… und 1 weitere Dateien.
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
… und 3 weitere Dateien.
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
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
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.