Skip to content

subvention_util

Source: base/tealdef/game_mechanics/subventions/subvention_util.d.tl

Notes

Helpers shared by the subsidy type scripts (default timeouts, rewards and penalties, card and notification data).

SubventionUtil

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

global record SubventionUtil

Load: local subvention_util = ug_require "::/game_mechanics/subventions/subvention_util.tl"

Notes

Helpers for subsidy type scripts and the subsidy game script.

Functions

getSpawnIntervalDuration(modifier : number, companyRank : integer) : integer base/tealdef/game_mechanics/subventions/subvention_util.d.tl:4

Call as subvention_util.getSpawnIntervalDuration

nil, if there is nothing to spawn at all!

Returns integer

initStateIfEmpty(SubventionState) : SubventionState base/tealdef/game_mechanics/subventions/subvention_util.d.tl:5

Call as subvention_util.initStateIfEmpty

Notes

Returns a fresh subsidy state if the given one is empty, otherwise fills missing spawnIntervalModifier and failedSubventions.

Parameter Type Description
#1 SubventionState State from the game script.

Returns SubventionState: The usable state.

getDefaultSubventionStatus<T>(state : Subvention<T>) : Subvention.Status base/tealdef/game_mechanics/subventions/subvention_util.d.tl:7

Call as subvention_util.getDefaultSubventionStatus

Notes

Status from the timestamps. Active if accepted and not completed, Complete if completed, otherwise Proposed; never Failed.

Parameter Type Description
state Subvention<T> Subsidy.

Returns Subvention.Status: Status of the subsidy.

Used in the base game: 5 times in 5 files

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

local subventionStatus = subvention_util.getDefaultSubventionStatus(state)
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:254
local subventionStatus = subvention_util.getDefaultSubventionStatus(state)
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:471
local subventionStatus = subvention_util.getDefaultSubventionStatus(state)
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:435
local subventionStatus = subvention_util.getDefaultSubventionStatus(state)
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:261
local subventionStatus = subvention_util.getDefaultSubventionStatus(state)

getAllCargoRequired(Engine.Component.StockList) : {CargoTypeId} base/tealdef/game_mechanics/subventions/subvention_util.d.tl:9

Call as subvention_util.getAllCargoRequired

Notes

Cargo types used as input by any rule of a stock list. A type can appear more than once.

Parameter Type Description
#1 Engine.Component.StockList Stock list component of an industry.

Returns {CargoTypeId}: Required cargo type ids.

Used in the base game: 2 times in 1 file

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

local allCargoToDeliver = subvention_util.getAllCargoRequired(stockList)

didStockListProduce(Engine.Entity) : boolean base/tealdef/game_mechanics/subventions/subvention_util.d.tl:10

Call as subvention_util.didStockListProduce

Notes

Whether any production rule of a stock list has been applied.

Parameter Type Description
#1 Engine.Entity Stock list entity.

Returns boolean: True if the stock list produced at least once.

Used in the base game: 1 time in 1 file

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

local didProduce : boolean = subvention_util.didStockListProduce(industry.stockList)

getAllProducedCargo() : {CargoTypeId : integer} base/tealdef/game_mechanics/subventions/subvention_util.d.tl:11

Call as subvention_util.getAllProducedCargo

At any time in the past

Returns {CargoTypeId : integer}

Used in the base game: 2 times in 2 files

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

local allCargoProduced = subvention_util.getAllProducedCargo()
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:260
local allCargoProduced = subvention_util.getAllProducedCargo() as {CargoTypeId : number}

getSpawnYearScaleFactor() : number base/tealdef/game_mechanics/subventions/subvention_util.d.tl:12

Call as subvention_util.getSpawnYearScaleFactor

Notes

Factor from 1 to 4 that gives early years longer deadlines. Computed as ceil((2000 - year) / 100 * 4) with the year clamped to 1900..1999.

Returns number: Scale factor; makeDefaultSubventionTemplate adds 12 months per step to expireDuration.

defaultTimeout<T is ISubvention.ISubventionData>(state : Subvention<T>, currentGameTime : number) : ISubvention.FailReason base/tealdef/game_mechanics/subventions/subvention_util.d.tl:14

Call as subvention_util.defaultTimeout

Notes

Returns "Timeout" when the deadline for the current stage has passed: expireDuration after acceptance, effectDuration after completion, or expireDurationProposed after spawning while proposed (unless it is -1).

Parameter Type Description
state Subvention<T> Subsidy.
currentGameTime number Current game time (ms).

Returns ISubvention.FailReason: "Timeout" or nil.

Used in the base game: 5 times in 5 files

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

return subvention_util.defaultTimeout(state, currentGameTime)
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:183
return subvention_util.defaultTimeout(state, currentGameTime)
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:311
return subvention_util.defaultTimeout(state, currentGameTime)
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:250
return subvention_util.defaultTimeout(state, currentGameTime)
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:195
return subvention_util.defaultTimeout(state, currentGameTime)

makeDefaultSubventionTemplate(string) : ISubvention.ISubventionData base/tealdef/game_mechanics/subventions/subvention_util.d.tl:15

Call as subvention_util.makeDefaultSubventionTemplate

Notes

Creates subsidy data with a name and default durations.

Parameter Type Description
#1 string Translated title.

Returns ISubvention.ISubventionData: Data with expireDurationProposed of about 6 months (plus or minus 30 days), expireDuration of 12 months plus 12 per getSpawnYearScaleFactor step, and effectDuration of 5 years.

Used in the base game: 5 times in 5 files

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

local state = subvention_util.makeDefaultSubventionTemplate(_("Supply Industry")) as DeliverCargoState
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:59
local state = subvention_util.makeDefaultSubventionTemplate(_("Transport Workers")) as DeliverWorkersState
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:113
local state = subvention_util.makeDefaultSubventionTemplate(_("Supply Town")) as DeliverCargoTownState
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:80
local state = subvention_util.makeDefaultSubventionTemplate(_("Connect Towns")) as DeliverPassengersState
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:62
local state = subvention_util.makeDefaultSubventionTemplate(_("Transport Visitors")) as DeliverVisitorsState

makeDefaultCardData<T is ISubvention.ISubventionData>(state : Subvention<T>, icon : string) : SubventionCardData base/tealdef/game_mechanics/subventions/subvention_util.d.tl:16

Call as subvention_util.makeDefaultCardData

Notes

Card content with title, deadline, remaining time and the reward and penalty lines for the current stage.

Parameter Type Description
state Subvention<T> Subsidy.
icon string Title icon.

Returns SubventionCardData: Card content; add location, description and the type-specific fields.

Used in the base game: 5 times in 5 files

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

local cardData = subvention_util.makeDefaultCardData(state, "::/game_mechanics/subventions/icons/industry.tga")
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:236
local cardData = subvention_util.makeDefaultCardData(state, "::/game_mechanics/subventions/deliver_passengers/connect-towns.tga")
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:401
local cardData = subvention_util.makeDefaultCardData(state, "::/game_mechanics/subventions/icons/town.tga")
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:366
local cardData = subvention_util.makeDefaultCardData(state, "::/game_mechanics/subventions/deliver_passengers/connect-towns.tga")
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:248
local cardData = subvention_util.makeDefaultCardData(state, "urbangames_campaign_mission_06::/subventions/deliver_visitors/deliver_visitors.tga")

makeDefaultNotificationData(status : ISubvention.Status, failReason : ISubvention.FailReason, icon : string, getDesc : function(ISubvention.Status) : string) : NotificationGuiData base/tealdef/game_mechanics/subventions/subvention_util.d.tl:17

Call as subvention_util.makeDefaultNotificationData

Notes

Notification with the standard title for a status ("New Subsidy Available", "Subsidy in Progress", "Subsidy Fulfilled", "Subsidy Failed", or "Subsidy Removed" for InvalidEntity).

Parameter Type Description
status ISubvention.Status Status to report.
failReason ISubvention.FailReason Fail reason.
icon string Notification icon.
getDesc function(ISubvention.Status) : string Returns the description for a status.

Returns NotificationGuiData: Notification content.

Used in the base game: 5 times in 5 files

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

return subvention_util.makeDefaultNotificationData(status, reason, subvention_util.getIcon(subventionId, status),
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:201
return subvention_util.makeDefaultNotificationData(status, reason, subvention_util.getIcon(subventionId, status),
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:342
return subvention_util.makeDefaultNotificationData(status, reason, subvention_util.getIcon(subventionId, status),
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:317
return subvention_util.makeDefaultNotificationData(status, reason, subvention_util.getIcon(subventionId, status),
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:213
return subvention_util.makeDefaultNotificationData(status, reason, subvention_util.getIcon(subventionId, status),

makeDefaultMissedNotificationData(failReason : ISubvention.FailReason, icon : string, getDesc : function(ISubvention.Status) : string) : NotificationGuiData base/tealdef/game_mechanics/subventions/subvention_util.d.tl:19

Call as subvention_util.makeDefaultMissedNotificationData

Notes

Notification titled "Subsidy Missed" for a withdrawn offer. For InvalidEntity it uses a fixed description instead of getDesc.

Parameter Type Description
failReason ISubvention.FailReason Why the offer was withdrawn.
icon string Notification icon.
getDesc function(ISubvention.Status) : string Returns the description.

Returns NotificationGuiData: Notification content.

Used in the base game: 5 times in 5 files

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

return subvention_util.makeDefaultMissedNotificationData(reason, subvention_util.getIcon(subventionId, "Failed"),
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:222
return subvention_util.makeDefaultMissedNotificationData(reason, subvention_util.getIcon(subventionId, "Failed"),
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:363
return subvention_util.makeDefaultMissedNotificationData(reason, subvention_util.getIcon(subventionId, "Failed"),
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:339
return subvention_util.makeDefaultMissedNotificationData(reason, subvention_util.getIcon(subventionId, "Failed"),
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:234
return subvention_util.makeDefaultMissedNotificationData(reason, subvention_util.getIcon(subventionId, "Failed"),

applyBonusMalus(bonusMalus : SubventionBonusMalus, positive : boolean) base/tealdef/game_mechanics/subventions/subvention_util.d.tl:22

Call as subvention_util.applyBonusMalus

Notes

Applies one reward or penalty. Money books a subsidy journal entry for the player, Reputation sends the Towns event decreaseReputation, TownExperience sends addExperiencePercentage.

Parameter Type Description
bonusMalus SubventionBonusMalus Entry to apply.
positive boolean True for a reward; false negates the money and reputation amounts.

makeBonusMalusMoney(amount : integer) : SubventionBonusMalus base/tealdef/game_mechanics/subventions/subvention_util.d.tl:24

Call as subvention_util.makeBonusMalusMoney

Notes

Creates a Money entry.

Parameter Type Description
amount integer Amount in game currency, rounded down.

Returns SubventionBonusMalus: The entry.

Used in the base game: 9 times in 4 files

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

subvention_util.makeBonusMalusMoney(upfrontPayment)
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:95
subvention_util.makeBonusMalusMoney(upfrontPayment),
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:198
subvention_util.makeBonusMalusMoney(upfrontPayment),
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:108
subvention_util.makeBonusMalusMoney(upfrontPayment)

makeBonusMalusReputation(townEntity : EntityUtil.EntityAndRevision, value : number) : SubventionBonusMalus base/tealdef/game_mechanics/subventions/subvention_util.d.tl:25

Call as subvention_util.makeBonusMalusReputation

Notes

Creates a Reputation entry.

Parameter Type Description
townEntity EntityUtil.EntityAndRevision Town.
value number Reputation change as a fraction.

Returns SubventionBonusMalus: The entry.

Used in the base game: 7 times in 3 files

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

subvention_util.makeBonusMalusReputation(state.townEntity, upfrontReputation),
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:113
table.insert(state.failure, subvention_util.makeBonusMalusReputation(state.from, math.random(2, 20) * 0.05 * distanceFactor))
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:92
subvention_util.makeBonusMalusReputation(state.townEntity, upfrontReputation),

makeBonusMalusTownExp(townEntity : EntityUtil.EntityAndRevision, value : number) : SubventionBonusMalus base/tealdef/game_mechanics/subventions/subvention_util.d.tl:26

Call as subvention_util.makeBonusMalusTownExp

Notes

Creates a TownExperience entry.

Parameter Type Description
townEntity EntityUtil.EntityAndRevision Town.
value number Level progress as a fraction.

Returns SubventionBonusMalus: The entry.

Used in the base game: 4 times in 3 files

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

subvention_util.makeBonusMalusTownExp(state.townEntity, math.random(4, 20) * 0.05),
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:117
subvention_util.makeBonusMalusTownExp(state.from, math.random(4, 20) * 0.05 * distanceFactor),
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:100
subvention_util.makeBonusMalusTownExp(state.townEntity, math.random(4, 20) * 0.05),

makeBonusMalus(t : SubventionBonusMalus.Type, params : SubventionBonusMalus.Param) : SubventionBonusMalus base/tealdef/game_mechanics/subventions/subvention_util.d.tl:27

Call as subvention_util.makeBonusMalus

Notes

Creates an entry of any type.

Parameter Type Description
t SubventionBonusMalus.Type Type of the entry.
params SubventionBonusMalus.Param Values of the entry.

Returns SubventionBonusMalus: The entry.

getData(upfront : {SubventionBonusMalus}, positive : boolean) : {SubventionBonusMalus.Data} base/tealdef/game_mechanics/subventions/subvention_util.d.tl:29

Call as subvention_util.getData

Notes

Display lines for a list of rewards or penalties. Money entries are summed into one line, reputation entries into one line per town.

Parameter Type Description
upfront {SubventionBonusMalus} Entries to describe.
positive boolean True for rewards ("Payment"), false for penalties ("Fine", reputation shown negated).

Returns {SubventionBonusMalus.Data}: One display line per merged entry; entries with a zero amount or a changed town are left out.

defaultOnAccept<T is ISubvention.ISubventionData>(state : Subvention<T>) base/tealdef/game_mechanics/subventions/subvention_util.d.tl:31

Call as subvention_util.defaultOnAccept

Notes

Applies all upfront entries as rewards.

Parameter Type Description
state Subvention<T> Accepted subsidy.
Used in the base game: 5 times in 5 files

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

onAccept = subvention_util.defaultOnAccept,
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:158
onAccept = subvention_util.defaultOnAccept,
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:317
onAccept = subvention_util.defaultOnAccept,
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:220
onAccept = subvention_util.defaultOnAccept,
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:172
onAccept = subvention_util.defaultOnAccept,

defaultOnFailure<T is ISubvention.ISubventionData>(state : Subvention<T>) base/tealdef/game_mechanics/subventions/subvention_util.d.tl:32

Call as subvention_util.defaultOnFailure

Notes

Applies all failure entries as penalties.

Parameter Type Description
state Subvention<T> Failed subsidy.
Used in the base game: 5 times in 5 files

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

onFailure = subvention_util.defaultOnFailure,
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:160
onFailure = subvention_util.defaultOnFailure,
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:319
onFailure = subvention_util.defaultOnFailure,
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:222
onFailure = subvention_util.defaultOnFailure,
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:174
onFailure = subvention_util.defaultOnFailure,

defaultOnComplete<T is ISubvention.ISubventionData>(state : Subvention<T>) base/tealdef/game_mechanics/subventions/subvention_util.d.tl:33

Call as subvention_util.defaultOnComplete

Notes

Applies all complete entries as rewards.

Parameter Type Description
state Subvention<T> Fulfilled subsidy.
Used in the base game: 5 times in 5 files

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

onComplete = subvention_util.defaultOnComplete,
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:162
onComplete = subvention_util.defaultOnComplete,
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:321
onComplete = subvention_util.defaultOnComplete,
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:224
onComplete = subvention_util.defaultOnComplete,
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:176
onComplete = subvention_util.defaultOnComplete,

defaultUpdateIndustry<T is ISubvention.ISubventionData>(state : Subvention<T>, industryEntity : EntityUtil.EntityAndRevision) base/tealdef/game_mechanics/subventions/subvention_util.d.tl:34

Call as subvention_util.defaultUpdateIndustry

Notes

While the subsidy is active, cancels a scheduled closure of the industry.

Parameter Type Description
state Subvention<T> Subsidy.
industryEntity EntityUtil.EntityAndRevision Target industry; nothing happens if it changed.
Used in the base game: 2 times in 2 files

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

subvention_util.defaultUpdateIndustry(state, data.stockListEntity)
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:166
subvention_util.defaultUpdateIndustry(state, data.to)

getDefaultExpectedTimeInMonths(distance : number) : integer base/tealdef/game_mechanics/subventions/subvention_util.d.tl:36

Call as subvention_util.getDefaultExpectedTimeInMonths

Notes

Game months a vehicle at the current top rail speed needs for a distance, rounded up. The base game types scale it into extra deadline time.

Parameter Type Description
distance number Distance in metres.

Returns integer: Number of game months.

Used in the base game: 5 times in 5 files

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

local extraTime = subvention_util.getDefaultExpectedTimeInMonths(minDist) * 32
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:86
local extraTime = subvention_util.getDefaultExpectedTimeInMonths(minDist) * 15
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:190
local extraTime = subvention_util.getDefaultExpectedTimeInMonths(minDist) * 32
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:98
local extraTime = subvention_util.getDefaultExpectedTimeInMonths(distance) * 4
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:83
local extraTime = subvention_util.getDefaultExpectedTimeInMonths(minDist) * 15

getSubventionAndStatusFromGameScript(scriptEntity : Engine.Entity, subventionUID : number) : ISubvention, integer base/tealdef/game_mechanics/subventions/subvention_util.d.tl:38

Call as subvention_util.getSubventionAndStatusFromGameScript

Notes

Finds a subsidy by uid in the state of the subsidy game script.

Parameter Type Description
scriptEntity Engine.Entity Entity of the game script ::/game_mechanics/subventions/subventions.gs.
subventionUID number Uid to look for.

Returns ISubvention, integer: The subsidy and its list index (1 proposed, 2 active, 3 completed, 4 failed), or nil, nil.

Used in the base game: 5 times in 5 files

base/content/mission/mission/tasks/subsidies/subsidies.tl:88

local found = subvention_util.getSubventionAndStatusFromGameScript(scriptEntity, subsidy[1])
base/content/game_mechanics/game_mechanics/notifications/notification_legacy_util.tl:113
local subvention, status = subvention_util.getSubventionAndStatusFromGameScript(scriptEntity, params.uid)
base/content/game_mechanics/game_mechanics/subventions/subventions_gui.tl:206
subvention, status = subvention_util.getSubventionAndStatusFromGameScript(scriptEntity, subventionUID)
base/content/game_mechanics/game_mechanics/notifications/types/subvention_notification.script.tl:39
local subvention = subvention_util.getSubventionAndStatusFromGameScript(scriptEntity, notificationParams.uid)
base/content/game_mechanics/game_mechanics/notifications/types/subvention.script.tl:41
local subvention = subvention_util.getSubventionAndStatusFromGameScript(scriptEntity, notificationParams.uid)

getStatusEnumFromStatusIndex(status : integer) : ISubvention.Status base/tealdef/game_mechanics/subventions/subvention_util.d.tl:39

Call as subvention_util.getStatusEnumFromStatusIndex

Notes

Converts a list index from getSubventionAndStatusFromGameScript to a status.

Parameter Type Description
status integer Index 1 to 4.

Returns ISubvention.Status: The status; Proposed (with an error logged) for other values.

Used in the base game: 1 time in 1 file

base/content/game_mechanics/game_mechanics/notifications/types/subvention_notification.script.tl:36

local notificationData = scriptGetNotificationData.getNotificationData(notificationParams.id, notificationParams.params, subvention_util.getStatusEnumFromStatus

getIcon(id : string, status : ISubvention.Status) : string base/tealdef/game_mechanics/subventions/subvention_util.d.tl:40

Call as subvention_util.getIcon

Notes

Icon of a subsidy type for a status, from the type's res file. Falls back to icons.fallback.

Parameter Type Description
id string Res name of the subsidy type.
status ISubvention.Status Status.

Returns string: Icon path, or nil if the res does not exist.

Used in the base game: 10 times in 5 files

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

return subvention_util.makeDefaultNotificationData(status, reason, subvention_util.getIcon(subventionId, status),
base/content/game_mechanics/game_mechanics/subventions/deliver_workers/deliver_workers.script.tl:201
return subvention_util.makeDefaultNotificationData(status, reason, subvention_util.getIcon(subventionId, status),
base/content/game_mechanics/game_mechanics/subventions/deliver_cargo_town/deliver_cargo_town.script.tl:342
return subvention_util.makeDefaultNotificationData(status, reason, subvention_util.getIcon(subventionId, status),
base/content/game_mechanics/game_mechanics/subventions/deliver_passengers/deliver_passengers.script.tl:317
return subvention_util.makeDefaultNotificationData(status, reason, subvention_util.getIcon(subventionId, status),
mods/release/urbangames_campaign_mission_06/content/subventions/subventions/deliver_visitors/deliver_visitors.script.tl:213
return subvention_util.makeDefaultNotificationData(status, reason, subvention_util.getIcon(subventionId, status),

isLineADirectConnectionLine(lineEntity : Engine.Entity, fromTown : Engine.Entity, toTown : Engine.Entity, passengerOnly? : boolean) : boolean base/tealdef/game_mechanics/subventions/subvention_util.d.tl:42

Call as subvention_util.isLineADirectConnectionLine

Notes

Whether a line stops in both towns.

Parameter Type Description
lineEntity Engine.Entity Line.
fromTown Engine.Entity First town.
toTown Engine.Entity Second town.
passengerOnly? boolean If true, only stops that load passengers count.

Returns boolean: True if the line connects both towns.

Used in the base game: 1 time in 1 file

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

if subvention_util.isLineADirectConnectionLine(lineEntity, fromTown, toTown) then

areTownsConnected(fromTown : Engine.Entity, toTown : Engine.Entity, passengerOnly? : boolean) : Engine.Entity base/tealdef/game_mechanics/subventions/subvention_util.d.tl:43

Call as subvention_util.areTownsConnected

Notes

Finds a line that stops in both towns.

Parameter Type Description
fromTown Engine.Entity First town.
toTown Engine.Entity Second town.
passengerOnly? boolean If true, only stops that load passengers count.

Returns Engine.Entity: The first connecting line, or nil.

Used in the base game: 1 time in 1 file

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

local lineEntity = subvention_util.areTownsConnected(fromTownEntity, toTownEntity, true)