API de mods

Consulta les opcions dels fitxers i les classes de scripts que gestionen la simulació.

Símbols de scripts

L’índex recull les funcions, propietats, senyals, constants i enumeracions amb nom de les classes de simulació i de mods. Les signatures i els comentaris del codi són en anglès. Mod defineix els punts d’entrada dels scripts. Les altres classes i els membres que comencen per guió baix poden canviar entre versions.

Resultats

Mod

  • Mod.info varMetadata for the loaded mod.
    Enllaç a aquesta entradavar info := {}

    Common keys are id, name, version, author, description, and path. Use this to inspect which copy was loaded.

    Declarat a scripts/core/mod.gd:21
  • Mod._on_load funcRuns after Fourways reapplies enabled mods, including after a rescan.
    Enllaç a aquesta entradafunc _on_load() -> void

    Read mod files or initialize settings here. Use _on_new_game or _on_game_loaded for work that needs a simulation.

    Retorna
    void
    Declarat a scripts/core/mod.gd:25
  • Mod._on_new_game funcA new game has been created (world generated, companies founded), before the first day.
    Enllaç a aquesta entradafunc _on_new_game(_sim: Sim) -> void
    Paràmetres
    • _sim: Sim
    Retorna
    void
    Declarat a scripts/core/mod.gd:30
  • Mod._on_game_loaded funcA saved game has been loaded.
    Enllaç a aquesta entradafunc _on_game_loaded(_sim: Sim) -> void
    Paràmetres
    • _sim: Sim
    Retorna
    void
    Declarat a scripts/core/mod.gd:35
  • Mod._on_day funcRuns once for each simulated calendar day after daily town, competitor and vehicle updates, and before the daily goal checks and month-end bookkeeping.
    Enllaç a aquesta entradafunc _on_day(_sim: Sim) -> void

    Read sim.day_int for the day that has just started.

    Paràmetres
    • _sim: Sim
    Retorna
    void
    Declarat a scripts/core/mod.gd:40
  • Mod._on_month funcRuns at the month boundary after Fourways closes the previous month’s accounts.
    Enllaç a aquesta entradafunc _on_month(_sim: Sim) -> void

    Money credited here is recorded in the new month.

    Paràmetres
    • _sim: Sim
    Retorna
    void

    Exemple

    func _on_month(sim: Sim) -> void:
        sim.company.earn(500)
        news(sim, L.t("Monthly transport grant"), "good")
    Declarat a scripts/core/mod.gd:45
  • Mod._on_year funcAt the start of every year; year is the one that has just ended.
    Enllaç a aquesta entradafunc _on_year(_sim: Sim, _year: int) -> void
    Paràmetres
    • _sim: Sim
    • _year: int
    Retorna
    void
    Declarat a scripts/core/mod.gd:50
  • Mod._on_delivery funcRuns after a vehicle earns a fare by delivering cargo.
    Enllaç a aquesta entradafunc _on_delivery(_sim: Sim, _vehicle: Vehicle, _station: Station, _amount: int) -> void

    amount is the total payment for that unload, in game dollars. It is not the number of units delivered or a per-cargo breakdown.

    Paràmetres
    • _sim: Sim
    • _vehicle: Vehicle
    • _station: Station
    • _amount: int
    Retorna
    void
    Declarat a scripts/core/mod.gd:55
  • Mod._on_vehicle_bought funcA vehicle has been bought.
    Enllaç a aquesta entradafunc _on_vehicle_bought(_sim: Sim, _vehicle: Vehicle) -> void
    Paràmetres
    • _sim: Sim
    • _vehicle: Vehicle
    Retorna
    void
    Declarat a scripts/core/mod.gd:60
  • Mod._on_station_built funcA station has been built (or extended).
    Enllaç a aquesta entradafunc _on_station_built(_sim: Sim, _station: Station) -> void
    Paràmetres
    • _sim: Sim
    • _station: Station
    Retorna
    void
    Declarat a scripts/core/mod.gd:65
  • Mod._on_news funcRuns before a news item is posted.
    Enllaç a aquesta entradafunc _on_news(_sim: Sim, _item: Dictionary) -> bool

    Return false to suppress it or true to let it proceed through the other active mods. The item includes text, kind, pos, and day. Posting news from this hook calls the hook again.

    Paràmetres
    • _sim: Sim
    • _item: Dictionary
    Retorna
    bool
    Declarat a scripts/core/mod.gd:70
  • Mod._save funcReturns the mod’s persistent state as a dictionary of plain values.
    Enllaç a aquesta entradafunc _save(_sim: Sim) -> Dictionary

    An empty dictionary is omitted, so _load will not run for that save. Return the data rather than writing a separate file.

    Paràmetres
    • _sim: Sim
    Retorna
    Dictionary
    Declarat a scripts/core/mod.gd:76
  • Mod._load funcRestores this mod’s data before _on_game_loaded.
    Enllaç a aquesta entradafunc _load(_sim: Sim, _data: Dictionary) -> void

    Called only if the save contains a dictionary for this mod’s ID. Use data.get("key", default) so older saves can omit keys added by a later mod version.

    Paràmetres
    • _sim: Sim
    • _data: Dictionary
    Retorna
    void
    Declarat a scripts/core/mod.gd:80
  • Mod.news funcPost a news item ("good", "info", "warn" or "bad").
    Enllaç a aquesta entradafunc news(sim: Sim, text: String, kind: String = "info", at: Vector2 = Vector2(-1, -1)) -> void

    at is a tile to jump to when it's clicked.

    Paràmetres
    • sim: Sim
    • text: String
    • kind: String = "info"
    • at: Vector2 = Vector2(-1, -1)
    Retorna
    void
    Declarat a scripts/core/mod.gd:87
  • Mod.note funcWrite a line to the game's log, tagged with the mod's id.
    Enllaç a aquesta entradafunc note(text: String) -> void
    Paràmetres
    • text: String
    Retorna
    void
    Declarat a scripts/core/mod.gd:92
  • Mod.path funcA file inside the mod's folder, e.g.
    Enllaç a aquesta entradafunc path(file: String) -> String

    path("data/extra.json").

    Paràmetres
    • file: String
    Retorna
    String
    Declarat a scripts/core/mod.gd:97

Sim

  • Sim.news_posted signal{"text", "kind": good|info|warn|bad, "pos": Vector2, "day"[, "veh"][, "urgent"][, "world"]}
    Enllaç a aquesta entradasignal news_posted(item: Dictionary)
    Paràmetres
    • item: Dictionary
    Retorna
    signal news_posted(item: Dictionary)
    Declarat a scripts/sim/sim.gd:6
  • Sim.income signal
    Enllaç a aquesta entradasignal income(vehicle: Vehicle, station: Station, amount: int)
    Paràmetres
    • vehicle: Vehicle
    • station: Station
    • amount: int
    Retorna
    signal income(vehicle: Vehicle, station: Station, amount: int)

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:7
  • Sim.vehicles_changed signal
    Enllaç a aquesta entradasignal vehicles_changed
    Retorna
    signal vehicles_changed

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:8
  • Sim.company_bankrupt signal
    Enllaç a aquesta entradasignal company_bankrupt(c: Company)
    Paràmetres
    • c: Company
    Retorna
    signal company_bankrupt(c: Company)

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:9
  • Sim.SPEEDS const
    Enllaç a aquesta entradaconst SPEEDS := [0, 1, 2, 4, 8]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:11
  • Sim.map varThe live world map.
    Enllaç a aquesta entradavar map: WorldMap

    Use it to read towns, industries, stations, and terrain. Use simulation construction methods when changing infrastructure.

    Declarat a scripts/sim/sim.gd:13
  • Sim.companies varThe companies in the current simulation, including the player.
    Enllaç a aquesta entradavar companies: Array[Company] = []

    Compare a vehicle or station’s owner with a company object to filter its assets.

    Declarat a scripts/sim/sim.gd:14
  • Sim.company varThe player’s company.
    Enllaç a aquesta entradavar company: Company

    Use its id for council ratings and its earn() and spend() methods to record changes in the accounts.

    Declarat a scripts/sim/sim.gd:15
  • Sim.vehicles varThe vehicles active in the current simulation.
    Enllaç a aquesta entradavar vehicles: Array[Vehicle] = []

    Use buying and selling methods to manage ownership and accounting.

    Declarat a scripts/sim/sim.gd:16
  • Sim.next_vehicle_id var
    Enllaç a aquesta entradavar next_vehicle_id := 1

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:17
  • Sim.seed_value var
    Enllaç a aquesta entradavar seed_value := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:18
  • Sim.rng varThe simulation’s seeded random-number generator.
    Enllaç a aquesta entradavar rng := RandomNumberGenerator.new()

    Calls advance the same random stream the simulation uses.

    Declarat a scripts/sim/sim.gd:19
  • Sim.day var
    Enllaç a aquesta entradavar day := 0.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:20
  • Sim.day_int var
    Enllaç a aquesta entradavar day_int := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:21
  • Sim.speed var
    Enllaç a aquesta entradavar speed := 1

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:22
  • Sim.news var
    Enllaç a aquesta entradavar news: Array = []

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:23
  • Sim.ais varAI controllers (see ai.gd)
    Enllaç a aquesta entradavar ais: Array = []Declarat a scripts/sim/sim.gd:24
  • Sim.options varGame rules chosen at setup: "cost" construction cost multiplier, "blocking" (trains wait for each other at signals, and crash into each other where there are none), "ai_level" 0..2, "max_loan".
    Enllaç a aquesta entradavar options := {"cost": 1.0, "blocking": false, "ai_level": 1, "max_loan": Data.MAX_LOAN, "depots": false, "breakdowns": 0, "goal": "none"}

    "depots": road vehicles and trains are bought at (and serviced in) depots; "breakdowns" 0..2; "goal": the company goal (one of Goals.GOAL_IDS).

    Declarat a scripts/sim/sim.gd:29
  • Sim.occupied varsignal block id -> Vehicle (realistic blocking only)
    Enllaç a aquesta entradavar occupied := {}Declarat a scripts/sim/sim.gd:30
  • Sim.CRASH_R constTrain crashes (see _check_crashes).
    Enllaç a aquesta entradaconst CRASH_R := 0.25

    Not saved: after loading, trains that already overlap are let go until they part. how close a train's nose may come to another train before they touch

    Declarat a scripts/sim/sim.gd:33
  • Sim.CRASH_STEP constthe most a train moves between two crash checks
    Enllaç a aquesta entradaconst CRASH_STEP := 0.2Declarat a scripts/sim/sim.gd:34
  • Sim.CRASH_CELL constmap cells (in tiles) for finding trains near each other
    Enllaç a aquesta entradaconst CRASH_CELL := 8.0Declarat a scripts/sim/sim.gd:35
  • Sim._touching var"id:id" -> true: trains overlapping at the last check that didn't crash
    Enllaç a aquesta entradavar _touching := {}Declarat a scripts/sim/sim.gd:36
  • Sim._checked varvehicle id -> true: trains taking part in the last check
    Enllaç a aquesta entradavar _checked := {}Declarat a scripts/sim/sim.gd:37
  • Sim.WRECK_DAYS constCrashed trains lying on the line until it is cleared, WRECK_DAYS later: [{"pos": Vector2 (where they met), "day": float, "trains": [Vehicle, Vehicle] (as they were, for the view), "tiles": {Vector2i: true}}].
    Enllaç a aquesta entradaconst WRECK_DAYS := 20.0

    Trains stop short of a wreck's tiles (see wreck_tiles). Not saved.

    Declarat a scripts/sim/sim.gd:41
  • Sim.wrecks var
    Enllaç a aquesta entradavar wrecks: Array = []

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:42
  • Sim.wreck_tiles varVector2i -> true: track blocked by a wreck
    Enllaç a aquesta entradavar wreck_tiles := {}Declarat a scripts/sim/sim.gd:43
  • Sim.road_at varQueues (RAIL-26): who is where, worked out afresh at the start of every advance (_index_queues) and kept up to date as vehicles take a berth or a stand.
    Enllaç a aquesta entradavar road_at := PackedInt32Array()

    Road vehicles by the tile their front is in, as lists threaded through road_next, so each one only looks at the few near it. tile index -> index in road_list of a road vehicle there (-1: none)

    Declarat a scripts/sim/sim.gd:47
  • Sim.road_list var
    Enllaç a aquesta entradavar road_list: Array[Vehicle] = []

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:48
  • Sim.road_next varindex in road_list -> the next one in the same tile (-1: none)
    Enllaç a aquesta entradavar road_next := PackedInt32Array()Declarat a scripts/sim/sim.gd:49
  • Sim._road_tiles varthe tiles set in road_at, to clear again
    Enllaç a aquesta entradavar _road_tiles := PackedInt32Array()Declarat a scripts/sim/sim.gd:50
  • Sim.ships_at vartile -> a ship whose front is in it
    Enllaç a aquesta entradavar ships_at := {}Declarat a scripts/sim/sim.gd:51
  • Sim.stands varStation -> aircraft on the ground there or coming in to land
    Enllaç a aquesta entradavar stands := {}Declarat a scripts/sim/sim.gd:52
  • Sim.holding_over varStation -> aircraft holding over it
    Enllaç a aquesta entradavar holding_over := {}Declarat a scripts/sim/sim.gd:53
  • Sim.missing_mods varAfter loading: mods this game was saved with that aren't switched on now, and vehicles left out because their model came from one of them.
    Enllaç a aquesta entradavar missing_mods: Array = []Declarat a scripts/sim/sim.gd:56
  • Sim.dropped_vehicles var
    Enllaç a aquesta entradavar dropped_vehicles := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:57
  • Sim.undo varThe player's last construction actions, for Ctrl+Z (see undo.gd).
    Enllaç a aquesta entradavar undo := UndoStack.new()

    Not saved.

    Declarat a scripts/sim/sim.gd:59
  • Sim.goals varfirst steps, achievements and the company goal (RAIL-25)
    Enllaç a aquesta entradavar goals := Goals.new()Declarat a scripts/sim/sim.gd:60
  • Sim.opportunities varsubsidies and town requests (RAIL-24)
    Enllaç a aquesta entradavar opportunities := Opportunities.new()Declarat a scripts/sim/sim.gd:61
  • Sim.lines varThe player's lines: vehicles sharing one order list (see line.gd).
    Enllaç a aquesta entradavar lines: Array = []Declarat a scripts/sim/sim.gd:63
  • Sim.next_line_id var
    Enllaç a aquesta entradavar next_line_id := 1

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:64
  • Sim.next_industry_id varIndustries open and close during the game (RAIL-23, IndustryLife).
    Enllaç a aquesta entradavar next_industry_id := 0

    Ids are never used twice, so nothing that remembers a closed industry's id mistakes a new one for it (see new_industry_id).

    Declarat a scripts/sim/sim.gd:67
  • Sim.industry_target varHow many industries the map started with (counted at the first month end): openings and closures lean back toward it.
    Enllaç a aquesta entradavar industry_target := 0Declarat a scripts/sim/sim.gd:70
  • Sim.industry_room varThe room the map has for industries (WorldGen.industry_room), worked out when first needed.
    Enllaç a aquesta entradavar industry_room := Vector2i(-1, -1)

    Not saved: the coast hardly moves in a game.

    Declarat a scripts/sim/sim.gd:73
  • Sim.introduce_wait varA new era's kinds of industry that found no site (IndustryLife._introduce): type -> the game day before which they are not tried again.
    Enllaç a aquesta entradavar introduce_wait := {}

    Not saved.

    Declarat a scripts/sim/sim.gd:76
  • Sim.create static funcA brand-new game from setup parameters (see the new-game screen for the keys).
    Enllaç a aquesta entradastatic func create(params: Dictionary) -> Sim
    Paràmetres
    • params: Dictionary
    Retorna
    Sim
    Crida
    WorldGen.generate, Calendar.day_of_year_start, AiPlayer.create_competitors, Mods.hook
    Declarat a scripts/sim/sim.gd:80
  • Sim._init func
    Enllaç a aquesta entradafunc _init(p_seed: int, size: int = Const.MAP_SIZE, generate: bool = true, size_h: int = -1) -> void
    Paràmetres
    • p_seed: int
    • size: int = Const.MAP_SIZE
    • generate: bool = true
    • size_h: int = -1
    Retorna
    void
    Crida
    WorldGen.generate, L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:110
  • Sim.date_text funcFormats the current simulation day for display using the active language.
    Enllaç a aquesta entradafunc date_text() -> String

    For date calculations use day_int or year().

    Retorna
    String
    Crida
    Calendar.format
    Declarat a scripts/sim/sim.gd:121
  • Sim.year funcReturns the calendar year of day_int.
    Enllaç a aquesta entradafunc year() -> int

    Use it for year-based rules instead of dividing the elapsed day count by 365.

    Retorna
    int
    Crida
    Calendar.from_day
    Declarat a scripts/sim/sim.gd:125
  • Sim.tick funcAdvance by real seconds at the current game speed.
    Enllaç a aquesta entradafunc tick(real_dt: float) -> void
    Paràmetres
    • real_dt: float
    Retorna
    void
    Declarat a scripts/sim/sim.gd:132
  • Sim.advance funcAdvance by dd game days.
    Enllaç a aquesta entradafunc advance(dd: float) -> void
    Paràmetres
    • dd: float
    Retorna
    void
    Declarat a scripts/sim/sim.gd:139
  • Sim._update_occupancy funcWhich track blocks trains are standing in (only matters with realistic blocking).
    Enllaç a aquesta entradafunc _update_occupancy() -> void

    Since RAIL-80 junctions are blocks too, so this runs without signals as well.

    Retorna
    void
    Declarat a scripts/sim/sim.gd:162
  • Sim._index_queues funcWhere road vehicles, ships and aircraft are, for the queues (RAIL-26).
    Enllaç a aquesta entradafunc _index_queues() -> void

    One pass over the vehicles, with nothing allocated for each road vehicle: those out of a depot go into road_at by the tile of their front.

    Retorna
    void
    Declarat a scripts/sim/sim.gd:206
  • Sim.claim_stand funcWhether a plane may land at airport st now (RAIL-26), and if so it is counted in: fewer than Vehicle.STANDS aircraft are on the ground there or coming in to land.
    Enllaç a aquesta entradafunc claim_stand(st: Station, holding: bool) -> bool

    One already holding goes before one only just arriving.

    Paràmetres
    • st: Station
    • holding: bool
    Retorna
    bool
    Declarat a scripts/sim/sim.gd:252
  • Sim._rail_steps funcHow many steps to move the trains in this frame, so none goes further than CRASH_STEP in one.
    Enllaç a aquesta entradafunc _rail_steps(dd: float) -> int

    Only where two trains could meet within the frame: everywhere else one step does (most frames, since trains mostly run apart, and stepping every train many times a frame is what costs).

    Paràmetres
    • dd: float
    Retorna
    int
    Declarat a scripts/sim/sim.gd:263
  • Sim._check_crashes funcTrains on the same track crash (with realistic blocking): when a train's nose runs into another train, both are wrecked.
    Enllaç a aquesta entradafunc _check_crashes() -> void

    Signals are what keeps them apart. Trains in a depot shed or being serviced there are out of the way. Two trains that already overlapped at the last check, or where one has only just appeared (bought onto a busy platform, out of the depot together with another, a game just loaded), are let go until they part: only running into each other counts.

    Retorna
    void
    Declarat a scripts/sim/sim.gd:298
  • Sim._contact funcWhere the nose of train a touches the body of train b on the same level (not one on a bridge over the other), or null.
    Enllaç a aquesta entradafunc _contact(a: Dictionary, b: Dictionary) -> Variant

    a and b are entries of _check_crashes' list.

    Paràmetres
    • a: Dictionary
    • b: Dictionary
    Retorna
    Variant
    Declarat a scripts/sim/sim.gd:346
  • Sim._crash funcTwo trains have run into each other at at: both are wrecked, with all they carried.
    Enllaç a aquesta entradafunc _crash(a: Vehicle, b: Vehicle, at: Vector2) -> void
    Paràmetres
    • a: Vehicle
    • b: Vehicle
    • at: Vector2
    Retorna
    void
    Crida
    Station.nearest_town, L.t
    Declarat a scripts/sim/sim.gd:374
  • Sim._dir_index static func
    Enllaç a aquesta entradastatic func _dir_index(v: Vector2) -> int
    Paràmetres
    • v: Vector2
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:403
  • Sim._on_day func
    Enllaç a aquesta entradafunc _on_day() -> void
    Retorna
    void
    Crida
    Economy.produce, IndustryLife.near_wind_farm, Calendar.from_day, Mods.hook, Economy.monthly, IndustryLife.monthly, Data.intros, Data.model, L.t, L.lower

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:409
  • Sim._growth_context funcWhat a town's land values depend on: stations with recent passenger service and nearby industry.
    Enllaç a aquesta entradafunc _growth_context(t: Town) -> Dictionary
    Paràmetres
    • t: Town
    Retorna
    Dictionary
    Declarat a scripts/sim/sim.gd:471
  • Sim._new_era funcA new age: industry modernises (more output from the same mines, fields and plants, except those on their way out), and the chains change (RAIL-29: Sim.sync_era has moved the map to it already).
    Enllaç a aquesta entradafunc _new_era(era: Dictionary) -> void
    Paràmetres
    • era: Dictionary
    Retorna
    void
    Crida
    Data.retiring, L.t, Data.era_changes
    Declarat a scripts/sim/sim.gd:492
  • Sim.sync_era funcMove the industry chains to the era of the date (RAIL-29): at the start of a game, after loading and at every month end, so a game that crosses into a new era (or was saved before the chains changed) takes it on.
    Enllaç a aquesta entradafunc sync_era() -> void

    Stations look again at what they accept and supply.

    Retorna
    void
    Crida
    Data.era_index
    Declarat a scripts/sim/sim.gd:504
  • Sim._match_days funcStadiums hold a match once a month, each on its own day (see match_offset).
    Enllaç a aquesta entradafunc _match_days() -> void

    The crowd of fans is one per stadium: the stations that reach it share it the way they share ordinary passengers (Economy.shares: the best two by rating), so a second station next to a stadium doesn't double it.

    Retorna
    void
    Crida
    Economy.shares, L.t
    Declarat a scripts/sim/sim.gd:516
  • Sim.match_offset static funcThe day in each 30 a stadium standing at t (its north-west tile) holds its match: the match is on the days where (day + this) is a multiple of 30.
    Enllaç a aquesta entradastatic func match_offset(t: Vector2i) -> int

    TownLife shows the fans walking to it then.

    Paràmetres
    • t: Vector2i
    Retorna
    int
    Declarat a scripts/sim/sim.gd:546
  • Sim._update_town_service func
    Enllaç a aquesta entradafunc _update_town_service(t: Town) -> void
    Paràmetres
    • t: Town
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:550
  • Sim._yearly func
    Enllaç a aquesta entradafunc _yearly(old_year: int) -> void
    Paràmetres
    • old_year: int
    Retorna
    void
    Crida
    IndustryLife.yearly, L.t, Fmt.money

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:559
  • Sim._check_bankruptcy funcMonth end: companies in the red are warned, draw on their credit (rivals), and after Data.BANKRUPT_MONTHS months go bankrupt.
    Enllaç a aquesta entradafunc _check_bankruptcy() -> void
    Retorna
    void
    Crida
    L.t
    Declarat a scripts/sim/sim.gd:578
  • Sim._go_bankrupt func
    Enllaç a aquesta entradafunc _go_bankrupt(c: Company) -> void
    Paràmetres
    • c: Company
    Retorna
    void
    Crida
    L.t, WorldMap.crossing_tiles

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:606
  • Sim.post_news funcveh: the id of the vehicle the news is about, if any (clicking the news opens it).
    Enllaç a aquesta entradafunc post_news(text: String, kind: String, pos: Vector2, veh: int = 0, about: String = "", urgent: bool = false, world: bool = false) -> void

    about: the screen clicking it opens instead ("goals"). urgent: news the player mustn't miss (a crash of their trains: the HUD shows it on a card in the middle of the screen, see Hud.show_crash). world: see post_world_news.

    Paràmetres
    • text: String
    • kind: String
    • pos: Vector2
    • veh: int = 0
    • about: String = ""
    • urgent: bool = false
    • world: bool = false
    Retorna
    void
    Crida
    Mods.allow_news
    Declarat a scripts/sim/sim.gd:671
  • Sim.post_world_news funcNews about the world rather than the player's company: rivals' new lines, other towns' requests coming and going, industries opening and closing.
    Enllaç a aquesta entradafunc post_world_news(text: String, kind: String, pos: Vector2, about: String = "") -> void

    It goes in the News window (under All news), without a note popping up on screen, so the player's own news isn't lost among it.

    Paràmetres
    • text: String
    • kind: String
    • pos: Vector2
    • about: String = ""
    Retorna
    void
    Declarat a scripts/sim/sim.gd:692
  • Sim.new_industry_id funcAn id for an industry opening now: never one an industry has had before, whether it is still on the map (one placed by hand, as test maps do, counts too) or has closed.
    Enllaç a aquesta entradafunc new_industry_id() -> int
    Retorna
    int
    Declarat a scripts/sim/sim.gd:698
  • Sim.vehicle_by_id funcThe vehicle with this id, or null.
    Enllaç a aquesta entradafunc vehicle_by_id(id: int) -> Vehicle
    Paràmetres
    • id: int
    Retorna
    Vehicle
    Declarat a scripts/sim/sim.gd:706
  • Sim.on_income func
    Enllaç a aquesta entradafunc on_income(v: Vehicle, st: Station, amount: int) -> void
    Paràmetres
    • v: Vehicle
    • st: Station
    • amount: int
    Retorna
    void
    Crida
    Mods.hook

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:713
  • Sim._with_money funcMarks a plan as unaffordable if the company can't pay for it.
    Enllaç a aquesta entradafunc _with_money(p: Dictionary, who: Company) -> Dictionary
    Paràmetres
    • p: Dictionary
    • who: Company
    Retorna
    Dictionary
    Crida
    L.t, Fmt.money
    Declarat a scripts/sim/sim.gd:721
  • Sim._ownership funcTrack and stations belonging to other companies can't be touched.
    Enllaç a aquesta entradafunc _ownership(p: Dictionary, who: Company, tiles: Array) -> Dictionary
    Paràmetres
    • p: Dictionary
    • who: Company
    • tiles: Array
    Retorna
    Dictionary
    Crida
    L.t
    Declarat a scripts/sim/sim.gd:734
  • Sim.preview_line funcChecks a path of adjacent road or rail tiles for construction, ownership, and affordability.
    Enllaç a aquesta entradafunc preview_line(kind: String, pts: Array[Vector2i], who: Company = null) -> Dictionary

    Returns a plan with ok, reason and cost without laying track or spending money.

    Paràmetres
    • kind: String
    • pts: Array[Vector2i]
    • who: Company = null
    Retorna
    Dictionary
    Crida
    BuildOps.plan_line
    Declarat a scripts/sim/sim.gd:754
  • Sim.build_line funcLays road or track along consecutive adjacent tiles and debits construction costs on success.
    Enllaç a aquesta entradafunc build_line(kind: String, pts: Array[Vector2i], who: Company = null) -> Dictionary

    Pass at least two tiles as Array[Vector2i]. The return value is a construction plan, so check ok before using it.

    Paràmetres
    • kind: String
    • pts: Array[Vector2i]
    • who: Company = null
    Retorna
    Dictionary
    Crida
    BuildOps.apply_line

    Exemple

    var tiles: Array[Vector2i] = [Vector2i(5, 6), Vector2i(6, 6)]
    var plan := sim.build_line("road", tiles)
    if not plan.ok:
        note(plan.reason)
    Declarat a scripts/sim/sim.gd:762
  • Sim.plan_route funcA line along pts (each tile next to the one before) with bridges and tunnels on it (crossings, as RouteBuilder.last_crossings gives them, RAIL-52): the stretches of land between them as build_line lays them and each crossing as build_crossing builds it.
    Enllaç a aquesta entradafunc plan_route(kind: String, pts: Array[Vector2i], crossings: Array, who: Company = null) -> Dictionary

    Without the money check (see preview_route). Keys as plan_line's - "add" every piece, "cost" the total - plus "tiles" (every bridge span and tunnel tile), "spans" (bridge spans only) and "parts" (each stretch's and crossing's own plan, in order).

    Paràmetres
    • kind: String
    • pts: Array[Vector2i]
    • crossings: Array
    • who: Company = null
    Retorna
    Dictionary
    Crida
    BuildOps.plan_line, L.t, BuildOps.plan_bridge, BuildOps.plan_tunnel
    Declarat a scripts/sim/sim.gd:785
  • Sim._join_plan funcAdd a stretch's or crossing's plan to a route's (plan_route).
    Enllaç a aquesta entradafunc _join_plan(p: Dictionary, part: Dictionary) -> void
    Paràmetres
    • p: Dictionary
    • part: Dictionary
    Retorna
    void
    Declarat a scripts/sim/sim.gd:835
  • Sim.preview_route funcReturns the cost and validity of a road or rail route that can include bridges or tunnels.
    Enllaç a aquesta entradafunc preview_route(kind: String, pts: Array[Vector2i], crossings: Array, who: Company = null) -> Dictionary

    It runs the route planner and checks funds without building the route.

    Paràmetres
    • kind: String
    • pts: Array[Vector2i]
    • crossings: Array
    • who: Company = null
    Retorna
    Dictionary
    Declarat a scripts/sim/sim.gd:853
  • Sim.build_route funcBuild a route planned by preview_route: every stretch and crossing exactly as previewed, paid for at once, and taken back by one undo.
    Enllaç a aquesta entradafunc build_route(kind: String, pts: Array[Vector2i], crossings: Array, who: Company = null) -> Dictionary
    Paràmetres
    • kind: String
    • pts: Array[Vector2i]
    • crossings: Array
    • who: Company = null
    Retorna
    Dictionary
    Crida
    BuildOps.apply_crossing, BuildOps.apply_line
    Declarat a scripts/sim/sim.gd:860
  • Sim.preview_station funcChecks placement, ownership, council permission, and affordability for a new station or extension.
    Enllaç a aquesta entradafunc preview_station(kind: String, pts: Array[Vector2i], axis: int, who: Company = null) -> Dictionary

    Returns a plan without building the station.

    Paràmetres
    • kind: String
    • pts: Array[Vector2i]
    • axis: int
    • who: Company = null
    Retorna
    Dictionary
    Crida
    BuildOps.plan_station, Station.nearest_town
    Declarat a scripts/sim/sim.gd:886
  • Sim.build_station funcBuilds or extends a station, charges the company, and fires Mod._on_station_built.
    Enllaç a aquesta entradafunc build_station(kind: String, pts: Array[Vector2i], axis: int, who: Company = null) -> Dictionary

    Pass rail, road, dock, or air, a typed tile array, and an orientation. On success the plan includes the resulting station; on failure use reason.

    Paràmetres
    • kind: String
    • pts: Array[Vector2i]
    • axis: int
    • who: Company = null
    Retorna
    Dictionary
    Crida
    BuildOps.apply_station, Mods.hook
    Declarat a scripts/sim/sim.gd:904
  • Sim.preview_bulldoze funcChecks which objects in the tile rectangle can be cleared by the company, and estimates the cost.
    Enllaç a aquesta entradafunc preview_bulldoze(rect: Rect2i, who: Company = null) -> Dictionary

    Read the plan before calling build_bulldoze.

    Paràmetres
    • rect: Rect2i
    • who: Company = null
    Retorna
    Dictionary
    Crida
    BuildOps.plan_bulldoze, BuildOps.bulldoze_target, L.t, WorldMap.crossing_tiles
    Declarat a scripts/sim/sim.gd:924
  • Sim.build_bulldoze funcClears the allowed parts of a tile rectangle, updates track ownership counts, and charges the company.
    Enllaç a aquesta entradafunc build_bulldoze(rect: Rect2i, who: Company = null) -> Dictionary

    Removing scenery and buildings can affect town council ratings.

    Paràmetres
    • rect: Rect2i
    • who: Company = null
    Retorna
    Dictionary
    Crida
    UndoStack.bulldoze_tiles, BuildOps.apply_bulldoze
    Declarat a scripts/sim/sim.gd:957
  • Sim.preview_crossing funcBridges (b is the far ramp) and tunnels (from hillside tile a).
    Enllaç a aquesta entradafunc preview_crossing(kind: String, type: String, a: Vector2i, b: Vector2i, who: Company = null, style: String = "") -> Dictionary
    Paràmetres
    • kind: String
    • type: String
    • a: Vector2i
    • b: Vector2i
    • who: Company = null
    • style: String = ""
    Retorna
    Dictionary
    Crida
    BuildOps.plan_bridge, BuildOps.plan_tunnel, L.t
    Declarat a scripts/sim/sim.gd:981
  • Sim.build_crossing funcBuilds a bridge between the ramp tiles or a tunnel from the hillside tile.
    Enllaç a aquesta entradafunc build_crossing(kind: String, type: String, a: Vector2i, b: Vector2i, who: Company = null, style: String = "") -> Dictionary

    Pass bridge or tunnel for type. A successful plan contains the new crossing.

    Paràmetres
    • kind: String
    • type: String
    • a: Vector2i
    • b: Vector2i
    • who: Company = null
    • style: String = ""
    Retorna
    Dictionary
    Crida
    UndoStack.terraform_tiles, BuildOps.apply_crossing
    Declarat a scripts/sim/sim.gd:992
  • Sim.preview_signal funcChecks placement, ownership, and cost for the signal action on a rail tile.
    Enllaç a aquesta entradafunc preview_signal(t: Vector2i, who: Company = null) -> Dictionary

    Returns the plan without applying it.

    Paràmetres
    • t: Vector2i
    • who: Company = null
    Retorna
    Dictionary
    Crida
    BuildOps.plan_signal
    Declarat a scripts/sim/sim.gd:1012
  • Sim.build_signal funcApplies the signal action to the rail tile after validating ownership and cost, and records the operation for undo.
    Enllaç a aquesta entradafunc build_signal(t: Vector2i, who: Company = null) -> Dictionary
    Paràmetres
    • t: Vector2i
    • who: Company = null
    Retorna
    Dictionary
    Crida
    BuildOps.apply_signal
    Declarat a scripts/sim/sim.gd:1019
  • Sim.preview_terraform funcChecks the cost and rules for raising or lowering a map corner.
    Enllaç a aquesta entradafunc preview_terraform(corner: Vector2i, delta: int, who: Company = null) -> Dictionary

    It also rejects a plan if a vehicle occupies any affected tile.

    Paràmetres
    • corner: Vector2i
    • delta: int
    • who: Company = null
    Retorna
    Dictionary
    Crida
    BuildOps.plan_terraform, L.t
    Declarat a scripts/sim/sim.gd:1030
  • Sim.build_terraform funcApplies an affordable height change to a map corner.
    Enllaç a aquesta entradafunc build_terraform(corner: Vector2i, delta: int, who: Company = null) -> Dictionary

    A positive delta raises it and a negative one lowers it.

    Paràmetres
    • corner: Vector2i
    • delta: int
    • who: Company = null
    Retorna
    Dictionary
    Crida
    UndoStack.terraform_tiles, BuildOps.apply_terraform
    Declarat a scripts/sim/sim.gd:1042
  • Sim.preview_level funcLevel the tiles in rect to corner height height as far as the rules allow (see BuildOps.plan_level): tiles under vehicles or belonging to other companies are left alone too.
    Enllaç a aquesta entradafunc preview_level(rect: Rect2i, height: int, who: Company = null) -> Dictionary
    Paràmetres
    • rect: Rect2i
    • height: int
    • who: Company = null
    Retorna
    Dictionary
    Crida
    L.t, BuildOps.plan_level
    Declarat a scripts/sim/sim.gd:1057
  • Sim.build_level funcLevels the eligible tiles in a rectangle to a target corner height, charges the construction cost, and records the change for undo.
    Enllaç a aquesta entradafunc build_level(rect: Rect2i, height: int, who: Company = null) -> Dictionary

    Check the returned plan for skipped tiles.

    Paràmetres
    • rect: Rect2i
    • height: int
    • who: Company = null
    Retorna
    Dictionary
    Crida
    UndoStack.terraform_tiles, BuildOps.apply_level
    Declarat a scripts/sim/sim.gd:1073
  • Sim._level_upsets_towns funcLevelling clears the trees on the tiles it reshapes, which the nearby councils mind the way they mind bulldozing them (see _bulldoze_upsets_towns).
    Enllaç a aquesta entradafunc _level_upsets_towns(tiles: Array, who: Company) -> void
    Paràmetres
    • tiles: Array
    • who: Company
    Retorna
    void
    Crida
    Station.nearest_town, L.t
    Declarat a scripts/sim/sim.gd:1090
  • Sim._bulldoze_upsets_towns funcKnocking down houses, tearing up town streets and clearing trees near a town hurts the company's standing with its council.
    Enllaç a aquesta entradafunc _bulldoze_upsets_towns(r: Rect2i, who: Company) -> void

    Only what belongs to the town counts: houses, streets inside its built-up area, and trees in and just around it. Roads and woods out in the country are the company's own business.

    Paràmetres
    • r: Rect2i
    • who: Company
    Retorna
    void
    Crida
    BuildOps.bulldoze_target, Station.nearest_town, L.t
    Declarat a scripts/sim/sim.gd:1109
  • Sim.council_news funcTell the player the moment a council turns against them (or comes round).
    Enllaç a aquesta entradafunc council_news(t: Town, who: Company, was: float) -> void
    Paràmetres
    • t: Town
    • who: Company
    • was: float
    Retorna
    void
    Crida
    L.t, Town.rating_name
    Declarat a scripts/sim/sim.gd:1141
  • Sim.council_refusal funcWhy a council refuses who near t, in words a player can act on.
    Enllaç a aquesta entradafunc council_refusal(t: Town, who: Company) -> String
    Paràmetres
    • t: Town
    • who: Company
    Retorna
    String
    Crida
    L.t, Town.rating_name, L.lower
    Declarat a scripts/sim/sim.gd:1153
  • Sim.town_action funcTown actions from the town window: "advertise", "trees" or "fund".
    Enllaç a aquesta entradafunc town_action(t: Town, action: String, who: Company = null) -> Dictionary

    Returns {ok, reason, cost}.

    Paràmetres
    • t: Town
    • action: String
    • who: Company = null
    Retorna
    Dictionary
    Crida
    L.t, Fmt.money
    Declarat a scripts/sim/sim.gd:1168
  • Sim.renew_vehicle funcCharges the owner the renewal price and resets the vehicle’s age, reliability, and last-service date.
    Enllaç a aquesta entradafunc renew_vehicle(v: Vehicle, who: Company = null) -> Dictionary

    Check ok before reading the successful result’s cost.

    Paràmetres
    • v: Vehicle
    • who: Company = null
    Retorna
    Dictionary
    Crida
    L.t, Fmt.money, Data.reliability
    Declarat a scripts/sim/sim.gd:1215
  • Sim.renew_price funcWhat renew_vehicle would charge for v right now.
    Enllaç a aquesta entradafunc renew_price(v: Vehicle) -> int
    Paràmetres
    • v: Vehicle
    Retorna
    int
    Declarat a scripts/sim/sim.gd:1231
  • Sim.same_route static funcWhether two vehicles run the same route: the same company and kind of transport, calling at the same stations in the same order, wherever in the round each of them starts.
    Enllaç a aquesta entradastatic func same_route(a: Vehicle, b: Vehicle) -> bool
    Paràmetres
    • a: Vehicle
    • b: Vehicle
    Retorna
    bool
    Declarat a scripts/sim/sim.gd:1239
  • Sim.vehicles_on_stops funcHow many of who's vehicles of kind call at exactly stops, in that order (wherever in the round each one starts), as same_route counts them.
    Enllaç a aquesta entradafunc vehicles_on_stops(kind: String, stops: Array, who: Company) -> int
    Paràmetres
    • kind: String
    • stops: Array
    • who: Company
    Retorna
    int
    Declarat a scripts/sim/sim.gd:1258
  • Sim.route_vehicles funcEvery vehicle on v's route (see same_route), v included; for a vehicle on a line, every vehicle on that line.
    Enllaç a aquesta entradafunc route_vehicles(v: Vehicle) -> Array
    Paràmetres
    • v: Vehicle
    Retorna
    Array
    Declarat a scripts/sim/sim.gd:1280
  • Sim.make_line funcTurn v's route into a line: v and every other vehicle of its company on the same route (see same_route) that isn't on a line yet join it.
    Enllaç a aquesta entradafunc make_line(v: Vehicle, line_name: String = "") -> Line

    Returns the line.

    Paràmetres
    • v: Vehicle
    • line_name: String = ""
    Retorna
    Line
    Declarat a scripts/sim/sim.gd:1290
  • Sim.line_problem funcWhy v can't run ln's stops ("" when it can).
    Enllaç a aquesta entradafunc line_problem(v: Vehicle, ln: Line) -> String
    Paràmetres
    • v: Vehicle
    • ln: Line
    Retorna
    String
    Crida
    L.t
    Declarat a scripts/sim/sim.gd:1305
  • Sim.join_line funcPut v on line ln (it takes the line's stops).
    Enllaç a aquesta entradafunc join_line(v: Vehicle, ln: Line) -> Dictionary

    Returns {"ok", "reason"}.

    Paràmetres
    • v: Vehicle
    • ln: Line
    Retorna
    Dictionary
    Declarat a scripts/sim/sim.gd:1314
  • Sim._put_on_line funcThe vehicle shares the line's order list and keeps heading for the stop it was heading for, when the line calls there too.
    Enllaç a aquesta entradafunc _put_on_line(v: Vehicle, ln: Line) -> void
    Paràmetres
    • v: Vehicle
    • ln: Line
    Retorna
    void
    Declarat a scripts/sim/sim.gd:1327
  • Sim.leave_line funcTake v off its line: it keeps the stops as its own.
    Enllaç a aquesta entradafunc leave_line(v: Vehicle) -> void
    Paràmetres
    • v: Vehicle
    Retorna
    void
    Declarat a scripts/sim/sim.gd:1340
  • Sim.set_line_orders funcGive line ln new stops (validated for every model running on it).
    Enllaç a aquesta entradafunc set_line_orders(ln: Line, new_orders: Array) -> Dictionary

    The vehicles keep heading for the stop they were heading for where it is still on the line. Returns {"ok", "reason"}.

    Paràmetres
    • ln: Line
    • new_orders: Array
    Retorna
    Dictionary
    Declarat a scripts/sim/sim.gd:1350
  • Sim.set_vehicle_orders funcGive a vehicle new stops: its own, or (on a line) the whole line's.
    Enllaç a aquesta entradafunc set_vehicle_orders(v: Vehicle, new_orders: Array, idx: int = -1) -> Dictionary

    Returns {"ok", "reason"}.

    Paràmetres
    • v: Vehicle
    • new_orders: Array
    • idx: int = -1
    Retorna
    Dictionary
    Declarat a scripts/sim/sim.gd:1381
  • Sim._stops_problem funcA line with no vehicles can still be checked for its stops: what check_orders asks of every model, without the model.
    Enllaç a aquesta entradafunc _stops_problem(kind: String, stops: Array, who: Company) -> String
    Paràmetres
    • kind: String
    • stops: Array
    • who: Company
    Retorna
    String
    Crida
    L.t
    Declarat a scripts/sim/sim.gd:1402
  • Sim.delete_line funcDelete a line: its vehicles keep running its stops, each on its own.
    Enllaç a aquesta entradafunc delete_line(ln: Line) -> void
    Paràmetres
    • ln: Line
    Retorna
    void
    Declarat a scripts/sim/sim.gd:1419
  • Sim.buy_for_line funcBuy one more vehicle for line ln, like template (the same model, cargo and wagons).
    Enllaç a aquesta entradafunc buy_for_line(ln: Line, template: Vehicle) -> Dictionary

    Returns buy_vehicle's answer.

    Paràmetres
    • ln: Line
    • template: Vehicle
    Retorna
    Dictionary
    Declarat a scripts/sim/sim.gd:1429
  • Sim.stop_line funcStop (or start again) every vehicle on a line.
    Enllaç a aquesta entradafunc stop_line(ln: Line, stop: bool) -> void
    Paràmetres
    • ln: Line
    • stop: bool
    Retorna
    void
    Declarat a scripts/sim/sim.gd:1445
  • Sim.renew_line funcRenew every vehicle on a line that is past its working life.
    Enllaç a aquesta entradafunc renew_line(ln: Line) -> Dictionary

    Returns {"n", "cost", "reason"}.

    Paràmetres
    • ln: Line
    Retorna
    Dictionary
    Declarat a scripts/sim/sim.gd:1454
  • Sim.line_by_id funcLooks for a line with the given ID in the simulation and returns null if no line matches.
    Enllaç a aquesta entradafunc line_by_id(line_id: int) -> Line
    Paràmetres
    • line_id: int
    Retorna
    Line
    Declarat a scripts/sim/sim.gd:1470
  • Sim._index_of static func
    Enllaç a aquesta entradastatic func _index_of(list: Array, st: Station, fallback: int) -> int
    Paràmetres
    • list: Array
    • st: Station
    • fallback: int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:1477
  • Sim._mark_served func
    Enllaç a aquesta entradafunc _mark_served(v: Vehicle) -> void
    Paràmetres
    • v: Vehicle
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:1487
  • Sim.route_text static funcA vehicle's route in a few words: "Ashford → Millbury".
    Enllaç a aquesta entradastatic func route_text(v: Vehicle) -> String
    Paràmetres
    • v: Vehicle
    Retorna
    String
    Declarat a scripts/sim/sim.gd:1496
  • Sim.replace_plan funcWhat swapping v for a new model_id would take: the model must be of the same kind, on sale, able to carry what v carries and able to run its orders (wires for an electric train, a depot where depots are needed).
    Enllaç a aquesta entradafunc replace_plan(v: Vehicle, model_id: String, checked: Dictionary = {}) -> Dictionary

    A train keeps its wagons, as many as the new engine pulls. Returns {"ok", "reason"} and, when it can be done, "price" (the new one, with its wagons), "trade_in" (what the old one is worth, as when it is sold), "cost" (the difference: negative when the old one is worth more) and "wagons". checked remembers the route checks between calls for vehicles of one route.

    Paràmetres
    • v: Vehicle
    • model_id: String
    • checked: Dictionary = {}
    Retorna
    Dictionary
    Crida
    Data.has_model, Data.model, L.t, Data.available, Data.intro_year
    Declarat a scripts/sim/sim.gd:1513
  • Sim.replace_vehicle funcSwap a vehicle for a new one of another model, where it stands, as renew_vehicle does for the same model: it keeps its number, name, orders, cargo and history, and is new again.
    Enllaç a aquesta entradafunc replace_vehicle(v: Vehicle, model_id: String, who: Company = null) -> Dictionary

    Charges the new price less what the old one is worth (see replace_plan, whose answer this returns).

    Paràmetres
    • v: Vehicle
    • model_id: String
    • who: Company = null
    Retorna
    Dictionary
    Crida
    L.t, Fmt.money
    Declarat a scripts/sim/sim.gd:1540
  • Sim.replace_route_plan funcWhat replace_route would do: {"ok", "reason", "cost" (for all of them together), "vehicles" (the ones that would change), "costs" (for each of those), "skipped" (how many on the route can't take the model, say for their cargo; ones that already are that model aren't counted)}.
    Enllaç a aquesta entradafunc replace_route_plan(v: Vehicle, model_id: String, checked: Dictionary = {}) -> Dictionary
    Paràmetres
    • v: Vehicle
    • model_id: String
    • checked: Dictionary = {}
    Retorna
    Dictionary
    Declarat a scripts/sim/sim.gd:1559
  • Sim.replace_route funcreplace_vehicle for every vehicle on v's route that can take the model (see same_route and replace_route_plan, whose answer this returns): all of them or, when the money isn't there, none.
    Enllaç a aquesta entradafunc replace_route(v: Vehicle, model_id: String, who: Company = null) -> Dictionary

    The player is told in one news item.

    Paràmetres
    • v: Vehicle
    • model_id: String
    • who: Company = null
    Retorna
    Dictionary
    Crida
    L.t, Fmt.money, Data.model
    Declarat a scripts/sim/sim.gd:1577
  • Sim._pay_vehicles funcPay for vehicles, or be paid when cost is negative (trading in for something cheaper).
    Enllaç a aquesta entradafunc _pay_vehicles(who: Company, cost: int) -> void
    Paràmetres
    • who: Company
    • cost: int
    Retorna
    void
    Declarat a scripts/sim/sim.gd:1608
  • Sim._become funcThe swap itself: v becomes a brand-new model_id (what renew_vehicle resets, on a new model).
    Enllaç a aquesta entradafunc _become(v: Vehicle, model_id: String) -> void
    Paràmetres
    • v: Vehicle
    • model_id: String
    Retorna
    void
    Crida
    Data.reliability
    Declarat a scripts/sim/sim.gd:1617
  • Sim.AUTO_RENEW_MAX constMonth end, for the player's company when it has asked for it: renew vehicles past their working life (the ones the news warns about), oldest first, exactly as the Renew button would, while the cash left afterwards stays at or above the company's threshold.
    Enllaç a aquesta entradaconst AUTO_RENEW_MAX := 3

    At most AUTO_RENEW_MAX a month, so a fleet bought together doesn't empty the bank at once. Returns how many were renewed.

    Declarat a scripts/sim/sim.gd:1629
  • Sim._auto_renew func
    Enllaç a aquesta entradafunc _auto_renew() -> int
    Retorna
    int
    Crida
    L.t, Fmt.money

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:1630
  • Sim.refit_cost funcWhat changing a vehicle's cargo would cost.
    Enllaç a aquesta entradafunc refit_cost(v: Vehicle, consist: Array) -> Dictionary

    consist: the cargo of each wagon for a train (front to back, so wagons can be added, dropped or mixed), one cargo for anything else. Returns {"ok", "reason", "cost"}: cost is negative when dropping wagons pays more than the rest costs.

    Paràmetres
    • v: Vehicle
    • consist: Array
    Retorna
    Dictionary
    Crida
    L.t
    Declarat a scripts/sim/sim.gd:1664
  • Sim.refit_place funcWhere a change of cargo ordered now would be done: "now" (it is standing in one of its depots), "depot" (it goes to one after its next stop), "station" (at its next stop: ships, aircraft, and companies playing without depots that have none on the route) or "" (it needs a depot first).
    Enllaç a aquesta entradafunc refit_place(v: Vehicle) -> String
    Paràmetres
    • v: Vehicle
    Retorna
    String
    Declarat a scripts/sim/sim.gd:1701
  • Sim.refit_plan funcrefit_cost plus "at", where the change would be done (see refit_place); refused when the vehicle needs a depot and none is linked to its route.
    Enllaç a aquesta entradafunc refit_plan(v: Vehicle, consist: Array) -> Dictionary
    Paràmetres
    • v: Vehicle
    • consist: Array
    Retorna
    Dictionary
    Crida
    L.t
    Declarat a scripts/sim/sim.gd:1714
  • Sim.refit_vehicle funcOrder a change of what a vehicle carries (see refit_cost) and pay for it.
    Enllaç a aquesta entradafunc refit_vehicle(v: Vehicle, consist: Array, who: Company = null) -> Dictionary

    The vehicle delivers what it has at its next stop, takes nothing on and goes to a depot, where finish_refit does the work; its orders, age and history stay. An earlier order still waiting is replaced. Returns refit_plan's answer.

    Paràmetres
    • v: Vehicle
    • consist: Array
    • who: Company = null
    Retorna
    Dictionary
    Crida
    L.t, Fmt.money
    Declarat a scripts/sim/sim.gd:1729
  • Sim.cancel_refit funcCall off a change of cargo that hasn't been done yet; returns the money given back.
    Enllaç a aquesta entradafunc cancel_refit(v: Vehicle, who: Company = null) -> int
    Paràmetres
    • v: Vehicle
    • who: Company = null
    Retorna
    int
    Declarat a scripts/sim/sim.gd:1752
  • Sim.finish_refit funcDo the change of cargo a vehicle is waiting for (it has reached the depot).
    Enllaç a aquesta entradafunc finish_refit(v: Vehicle) -> void
    Paràmetres
    • v: Vehicle
    Retorna
    void
    Declarat a scripts/sim/sim.gd:1765
  • Sim._occupied_tiles func
    Enllaç a aquesta entradafunc _occupied_tiles() -> Dictionary
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:1779
  • Sim.check_orders funcCheck a vehicle order list: returns "" if fine, else why not.
    Enllaç a aquesta entradafunc check_orders(model_id: String, cargo: String, stops: Array, who: Company) -> String
    Paràmetres
    • model_id: String
    • cargo: String
    • stops: Array
    • who: Company
    Retorna
    String
    Crida
    Data.model, L.t
    Declarat a scripts/sim/sim.gd:1796
  • Sim.vehicle_price funcReturns the model purchase price plus the cost of the specified number of rail wagons.
    Enllaç a aquesta entradafunc vehicle_price(model_id: String, wagons: int) -> int

    Non-rail models ignore the wagon count. It does not check funds, routes, or sale year.

    Paràmetres
    • model_id: String
    • wagons: int
    Retorna
    int
    Crida
    Data.model
    Declarat a scripts/sim/sim.gd:1832
  • Sim.buy_vehicle funcBuys a model for a route of existing stations.
    Enllaç a aquesta entradafunc buy_vehicle(model_id: String, cargo: String, wagons: int, stops: Array, full_load_first: bool, who: Company = null, consist: Array = [], transfer_at: Array = []) -> Dictionary

    full_load_first sets the first order’s load flag. consist is one cargo ID per wagon, from front to back; a nonempty rail consist replaces cargo and wagons. transfer_at is a list of zero-based stop indices. Check ok and read reason on failure. A successful purchase returns the new vehicle.

    Paràmetres
    • model_id: String
    • cargo: String
    • wagons: int
    • stops: Array
    • full_load_first: bool
    • who: Company = null
    • consist: Array = []
    • transfer_at: Array = []
    Retorna
    Dictionary
    Crida
    Data.model, L.t, Data.available, Data.intro_year, Fmt.money, Data.reliability, Mods.hook, BuildOps.dir_between
    Declarat a scripts/sim/sim.gd:1840
  • Sim.depots_required func
    Enllaç a aquesta entradafunc depots_required(who: Company) -> bool
    Paràmetres
    • who: Company
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:1932
  • Sim.depot_tiles funcwho's depots for vehicles of kind (road or rail), as a set of tiles.
    Enllaç a aquesta entradafunc depot_tiles(kind: String, who: Company) -> Dictionary
    Paràmetres
    • kind: String
    • who: Company
    Retorna
    Dictionary
    Declarat a scripts/sim/sim.gd:1937
  • Sim.find_depot funcThe nearest of who's depots that's linked to station st, or (-1, -1): the one a vehicle leaving st would drive to.
    Enllaç a aquesta entradafunc find_depot(kind: String, st: Station, who: Company, wired: bool = false) -> Vector2i

    For the one a new vehicle drives out of, see depot_out.

    Paràmetres
    • kind: String
    • st: Station
    • who: Company
    • wired: bool = false
    Retorna
    Vector2i
    Declarat a scripts/sim/sim.gd:1948
  • Sim.depot_out funcThe nearest of who's depots that a new vehicle can drive out of to station st, or (-1, -1).
    Enllaç a aquesta entradafunc depot_out(kind: String, st: Station, who: Company, wired: bool = false, obey_signals: bool = true) -> Vector2i

    Searched from the depot's door to the station, not the other way: one-way signals can let trains from a depot into a station and not back.

    Paràmetres
    • kind: String
    • st: Station
    • who: Company
    • wired: bool = false
    • obey_signals: bool = true
    Retorna
    Vector2i
    Crida
    Pathfinder.find
    Declarat a scripts/sim/sim.gd:1958
  • Sim.route_from funcThe shortest route from station st to any of the goals tiles, as Pathfinder.find returns it ({} when there is none).
    Enllaç a aquesta entradafunc route_from(kind: String, st: Station, goals: Dictionary, wired: bool = false, obey_signals: bool = true) -> Dictionary

    A station's platforms (or stops) needn't be joined to each other, so every separate one is tried: the route may leave from any of them.

    Paràmetres
    • kind: String
    • st: Station
    • goals: Dictionary
    • wired: bool = false
    • obey_signals: bool = true
    Retorna
    Dictionary
    Crida
    Pathfinder.find
    Declarat a scripts/sim/sim.gd:1973
  • Sim.preview_electrify func
    Enllaç a aquesta entradafunc preview_electrify(pts: Array[Vector2i], who: Company = null) -> Dictionary
    Paràmetres
    • pts: Array[Vector2i]
    • who: Company = null
    Retorna
    Dictionary
    Crida
    BuildOps.plan_electrify

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:1996
  • Sim.build_electrify func
    Enllaç a aquesta entradafunc build_electrify(pts: Array[Vector2i], who: Company = null) -> Dictionary
    Paràmetres
    • pts: Array[Vector2i]
    • who: Company = null
    Retorna
    Dictionary
    Crida
    BuildOps.apply_electrify

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:2003
  • Sim.preview_depot func
    Enllaç a aquesta entradafunc preview_depot(kind: String, t: Vector2i, facing: int, who: Company = null) -> Dictionary
    Paràmetres
    • kind: String
    • t: Vector2i
    • facing: int
    • who: Company = null
    Retorna
    Dictionary
    Crida
    BuildOps.plan_depot, Station.nearest_town

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:2014
  • Sim.build_depot func
    Enllaç a aquesta entradafunc build_depot(kind: String, t: Vector2i, facing: int, who: Company = null) -> Dictionary
    Paràmetres
    • kind: String
    • t: Vector2i
    • facing: int
    • who: Company = null
    Retorna
    Dictionary
    Crida
    BuildOps.apply_depot

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/sim.gd:2031
  • Sim.sell_vehicle funcSell a vehicle.
    Enllaç a aquesta entradafunc sell_vehicle(v: Vehicle, who: Company = null) -> int

    who must own it (defaults to the player); returns the refund, or -1 if refused.

    Paràmetres
    • v: Vehicle
    • who: Company = null
    Retorna
    int
    Declarat a scripts/sim/sim.gd:2048
  • Sim.company_vehicles funcReturns the vehicles owned by the supplied Company.
    Enllaç a aquesta entradafunc company_vehicles(who: Company) -> Array

    The returned array can be filtered or reordered independently, but its vehicle objects are live.

    Paràmetres
    • who: Company
    Retorna
    Array
    Declarat a scripts/sim/sim.gd:2061
  • Sim.company_value funcCalculates cash minus loans plus vehicle resale value, station tile value, and owned track value.
    Enllaç a aquesta entradafunc company_value(who: Company) -> int

    This is the value used for company comparisons.

    Paràmetres
    • who: Company
    Retorna
    int
    Declarat a scripts/sim/sim.gd:2065

Company

  • Company.COLORS const
    Enllaç a aquesta entradaconst COLORS

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:5
  • Company.CATEGORIES const
    Enllaç a aquesta entradaconst CATEGORIES := ["construction", "vehicles", "running", "property", "infrastructure", "interest", "income"]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:8
  • Company.id var
    Enllaç a aquesta entradavar id := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:10
  • Company.name var
    Enllaç a aquesta entradavar name := "Fourways Transport Co."

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:11
  • Company.color var
    Enllaç a aquesta entradavar color := Color(0.18, 0.45, 0.85)

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:12
  • Company.is_ai var
    Enllaç a aquesta entradavar is_ai := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:13
  • Company.money varThe company’s current cash balance in game dollars.
    Enllaç a aquesta entradavar money: int = Data.START_LOAN

    Use the accounting methods to change it when the transaction should appear in the ledger.

    Declarat a scripts/sim/company.gd:14
  • Company.loan varThe company’s outstanding debt in game dollars.
    Enllaç a aquesta entradavar loan: int = Data.START_LOAN

    Use borrow and repay to adjust cash and debt together.

    Declarat a scripts/sim/company.gd:15
  • Company.ledger var
    Enllaç a aquesta entradavar ledger := {}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:16
  • Company.ledger_last var
    Enllaç a aquesta entradavar ledger_last := {}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:17
  • Company.founded_day var
    Enllaç a aquesta entradavar founded_day := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:18
  • Company.max_loan var
    Enllaç a aquesta entradavar max_loan: int = Data.MAX_LOAN

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:19
  • Company.rail_tiles vartiles of track owned (counted in company value)
    Enllaç a aquesta entradavar rail_tiles := 0Declarat a scripts/sim/company.gd:20
  • Company.history varmonthly company value, oldest first (last 120 months)
    Enllaç a aquesta entradavar history: Array = []Declarat a scripts/sim/company.gd:21
  • Company.months_in_red varconsecutive month-ends with a negative balance
    Enllaç a aquesta entradavar months_in_red := 0Declarat a scripts/sim/company.gd:22
  • Company.bankrupt var
    Enllaç a aquesta entradavar bankrupt := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:23
  • Company.month varthis month so far: "income", "spend" (all), "invest" (building and buying), "cargo": {c: [units, $]}
    Enllaç a aquesta entradavar month := {}Declarat a scripts/sim/company.gd:25
  • Company.months varclosed months, oldest first (last 24): {"income", "spend", "value", "cargo"}
    Enllaç a aquesta entradavar months: Array = []Declarat a scripts/sim/company.gd:26
  • Company.cargo_year varcargo -> [units, $] delivered this year
    Enllaç a aquesta entradavar cargo_year := {}Declarat a scripts/sim/company.gd:27
  • Company.cargo_last var
    Enllaç a aquesta entradavar cargo_last := {}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:28
  • Company.kind_year varvehicle kind -> $ earned this year
    Enllaç a aquesta entradavar kind_year := {}Declarat a scripts/sim/company.gd:29
  • Company.kind_last var
    Enllaç a aquesta entradavar kind_last := {}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:30
  • Company.years varclosed years, oldest first (last 60): see _year_row
    Enllaç a aquesta entradavar years: Array = []Declarat a scripts/sim/company.gd:31
  • Company.auto_renew var
    Enllaç a aquesta entradavar auto_renew := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:33
  • Company.auto_renew_keep varonly renew while this much cash is left afterwards
    Enllaç a aquesta entradavar auto_renew_keep := 50000Declarat a scripts/sim/company.gd:34
  • Company.auto_renew_reminded varthe year of the last "can't afford to renew" reminder
    Enllaç a aquesta entradavar auto_renew_reminded := -1Declarat a scripts/sim/company.gd:35
  • Company.record_month func
    Enllaç a aquesta entradafunc record_month(value: int) -> void
    Paràmetres
    • value: int
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:38
  • Company.note_delivery funcA delivery: units of cargo c paid pay, carried by a vehicle of kind.
    Enllaç a aquesta entradafunc note_delivery(c: String, units: int, pay: int, kind: String) -> void
    Paràmetres
    • c: String
    • units: int
    • pay: int
    • kind: String
    Retorna
    void
    Declarat a scripts/sim/company.gd:50
  • Company._init func
    Enllaç a aquesta entradafunc _init(p_id: int = 0, p_name: String = "Fourways Transport Co.") -> void
    Paràmetres
    • p_id: int = 0
    • p_name: String = "Fourways Transport Co."
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/company.gd:61
  • Company.can_afford funcChecks whether the company’s current cash covers cost.
    Enllaç a aquesta entradafunc can_afford(cost: int) -> bool

    It does not borrow money or change its balance.

    Paràmetres
    • cost: int
    Retorna
    bool
    Declarat a scripts/sim/company.gd:70
  • Company.spend funcDeducts the cost from cash and records it in the category and monthly accounts.
    Enllaç a aquesta entradafunc spend(cost: int, category: String) -> bool

    Returns false and leaves the accounts untouched if cash is insufficient. Typical categories include construction and vehicles.

    Paràmetres
    • cost: int
    • category: String
    Retorna
    bool
    Declarat a scripts/sim/company.gd:74
  • Company.charge funcCosts that are paid whether or not there is cash (running costs, interest).
    Enllaç a aquesta entradafunc charge(cost: int, category: String) -> void
    Paràmetres
    • cost: int
    • category: String
    Retorna
    void
    Declarat a scripts/sim/company.gd:86
  • Company.earn funcAdds game dollars to cash and records the amount as income in the ledger and current month’s accounts.
    Enllaç a aquesta entradafunc earn(amount: int) -> void
    Paràmetres
    • amount: int
    Retorna
    void
    Declarat a scripts/sim/company.gd:92
  • Company.borrow funcAdds up to amount to cash and debt, limited by the company’s remaining loan allowance.
    Enllaç a aquesta entradafunc borrow(amount: int) -> bool

    Returns whether any money was borrowed.

    Paràmetres
    • amount: int
    Retorna
    bool
    Declarat a scripts/sim/company.gd:98
  • Company.repay funcRepays up to amount, limited by cash and outstanding debt.
    Enllaç a aquesta entradafunc repay(amount: int) -> bool

    Returns whether a payment was made.

    Paràmetres
    • amount: int
    Retorna
    bool
    Declarat a scripts/sim/company.gd:107
  • Company.roll_year funcClose the books on year; value is the company value at its end.
    Enllaç a aquesta entradafunc roll_year(year: int = 0, value: int = 0) -> void
    Paràmetres
    • year: int = 0
    • value: int = 0
    Retorna
    void
    Declarat a scripts/sim/company.gd:117
  • Company.profit funcCalculates net profit from a ledger dictionary by subtracting recorded expense categories from income.
    Enllaç a aquesta entradafunc profit(l: Dictionary) -> int
    Paràmetres
    • l: Dictionary
    Retorna
    int
    Declarat a scripts/sim/company.gd:130
  • Company._year_row funcA ledger boiled down to one line of the yearly summary.
    Enllaç a aquesta entradafunc _year_row(l: Dictionary, year: int, value: int) -> Dictionary
    Paràmetres
    • l: Dictionary
    • year: int
    • value: int
    Retorna
    Dictionary
    Declarat a scripts/sim/company.gd:139
  • Company.year_rows funcThe yearly summary, oldest first: every closed year, then the year in progress ("open": true).
    Enllaç a aquesta entradafunc year_rows(year: int, month: int, value: int) -> Array

    year and month (0 = January) are today's, value the company value now. Saves from before the yearly records were kept still get last year's line, from last year's ledger.

    Paràmetres
    • year: int
    • month: int
    • value: int
    Retorna
    Array
    Crida
    Calendar.from_day
    Declarat a scripts/sim/company.gd:149

Town

  • Town.id var
    Enllaç a aquesta entradavar id := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:5
  • Town.name var
    Enllaç a aquesta entradavar name := ""

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:6
  • Town.cx var
    Enllaç a aquesta entradavar cx := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:7
  • Town.cy var
    Enllaç a aquesta entradavar cy := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:8
  • Town.grid varroad spacing; houses fill the blocks between grid lines
    Enllaç a aquesta entradavar grid := 3Declarat a scripts/sim/town.gd:9
  • Town.pop var
    Enllaç a aquesta entradavar pop := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:10
  • Town.house_count var
    Enllaç a aquesta entradavar house_count := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:11
  • Town.grow_timer var
    Enllaç a aquesta entradavar grow_timer := 30

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:12
  • Town.pax varpassengers generated this month
    Enllaç a aquesta entradavar pax := 0.0Declarat a scripts/sim/town.gd:13
  • Town.pax_moved var...and picked up by stations
    Enllaç a aquesta entradavar pax_moved := 0.0Declarat a scripts/sim/town.gd:14
  • Town.pax_last var
    Enllaç a aquesta entradavar pax_last := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:15
  • Town.pax_moved_last var
    Enllaç a aquesta entradavar pax_moved_last := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:16
  • Town.supplied vargoods and food delivered this month
    Enllaç a aquesta entradavar supplied := 0.0Declarat a scripts/sim/town.gd:17
  • Town.supplied_last var
    Enllaç a aquesta entradavar supplied_last := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:18
  • Town.served_until vargame day until which the town counts as served
    Enllaç a aquesta entradavar served_until := -1Declarat a scripts/sim/town.gd:19
  • Town.dirty vartiles changed by growth since the view last redrew them
    Enllaç a aquesta entradavar dirty := Rect2i()Declarat a scripts/sim/town.gd:20
  • Town.ratings varLocal authority: how the council sees each company (company id -> 0..100), and town actions.
    Enllaç a aquesta entradavar ratings := {}Declarat a scripts/sim/town.gd:22
  • Town.advert varcompany id -> game day the advertising campaign ends
    Enllaç a aquesta entradavar advert := {}Declarat a scripts/sim/town.gd:23
  • Town.fund_until vargame day funded building ends
    Enllaç a aquesta entradavar fund_until := -1Declarat a scripts/sim/town.gd:24
  • Town.exclusive varRewards for meeting the council's requests (RAIL-24, Opportunities): the company with exclusive transport rights here (-1: none) and the day they end, and company id -> the day its half-price stations and depots end.
    Enllaç a aquesta entradavar exclusive := -1Declarat a scripts/sim/town.gd:28
  • Town.exclusive_until var
    Enllaç a aquesta entradavar exclusive_until := -1

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:29
  • Town.cheap var
    Enllaç a aquesta entradavar cheap := {}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:30
  • Town.rating_log varWhy each company's rating moved lately: company id -> [{"day", "delta", "why"}], newest last.
    Enllaç a aquesta entradavar rating_log := {}Declarat a scripts/sim/town.gd:33
  • Town.RATING_START const
    Enllaç a aquesta entradaconst RATING_START := 60.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:35
  • Town.RATING_REFUSE const
    Enllaç a aquesta entradaconst RATING_REFUSE := 30.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:36
  • Town.COUNCIL_RADIUS const
    Enllaç a aquesta entradaconst COUNCIL_RADIUS := 18

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:37
  • Town.RATING_CRASH const
    Enllaç a aquesta entradaconst RATING_CRASH := -20.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:38
  • Town.RATING_NEGLECT_FLOOR constNeglect alone never costs a company its building permission: it stops lowering the rating here.
    Enllaç a aquesta entradaconst RATING_NEGLECT_FLOOR := 40.0Declarat a scripts/sim/town.gd:40
  • Town.RATING_HOUSE constWhat demolition costs, per tile.
    Enllaç a aquesta entradaconst RATING_HOUSE := -8.0

    Tree clearing in one bulldoze action never costs more than RATING_TREES_MAX, so cutting a strip for a railway is a nuisance, not a ban.

    Declarat a scripts/sim/town.gd:43
  • Town.RATING_STREET const
    Enllaç a aquesta entradaconst RATING_STREET := -3.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:44
  • Town.RATING_TREE const
    Enllaç a aquesta entradaconst RATING_TREE := -0.5

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:45
  • Town.RATING_TREES_MAX const
    Enllaç a aquesta entradaconst RATING_TREES_MAX := -6.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:46
  • Town.BUSY_NOISE constHow far the noise of a busy industry lowers land values (Industry.BUSY, land_value).
    Enllaç a aquesta entradaconst BUSY_NOISE := 9.0Declarat a scripts/sim/town.gd:48
  • Town.LOG_SIZE const
    Enllaç a aquesta entradaconst LOG_SIZE := 8

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:49
  • Town.rating funcReturns the council’s current rating for a company ID on the 0–100 scale.
    Enllaç a aquesta entradafunc rating(cid: int) -> float

    Companies without a recorded rating receive the starting value.

    Paràmetres
    • cid: int
    Retorna
    float
    Declarat a scripts/sim/town.gd:52
  • Town.change_rating funcwhy (a short phrase such as "Demolished buildings") and day record the change in the rating log, so the town window can explain where a rating came from.
    Enllaç a aquesta entradafunc change_rating(cid: int, delta: float, why: String = "", day: int = -1) -> void
    Paràmetres
    • cid: int
    • delta: float
    • why: String = ""
    • day: int = -1
    Retorna
    void
    Declarat a scripts/sim/town.gd:58
  • Town.is_street funcA town's own streets: roads inside the built-up area.
    Enllaç a aquesta entradafunc is_street(x: int, y: int) -> bool

    Roads a company lays in open country aren't.

    Paràmetres
    • x: int
    • y: int
    Retorna
    bool
    Declarat a scripts/sim/town.gd:77
  • Town.rating_name static func
    Enllaç a aquesta entradastatic func rating_name(r: float) -> String
    Paràmetres
    • r: float
    Retorna
    String
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:81
  • Town._mark func
    Enllaç a aquesta entradafunc _mark(x: int, y: int) -> void
    Paràmetres
    • x: int
    • y: int
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:91
  • Town._init func
    Enllaç a aquesta entradafunc _init(p_id: int, p_name: String, x: int, y: int, p_grid: int) -> void
    Paràmetres
    • p_id: int
    • p_name: String
    • x: int
    • y: int
    • p_grid: int
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:96
  • Town.roll_month func
    Enllaç a aquesta entradafunc roll_month() -> void
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:104
  • Town.growth_interval funcDays between growth spurts: faster when served by stations and supplied with goods / food.
    Enllaç a aquesta entradafunc growth_interval(day: int) -> int
    Paràmetres
    • day: int
    Retorna
    int
    Crida
    Data.era_index, Calendar.from_day
    Declarat a scripts/sim/town.gd:117
  • Town.bounds funcTile rectangle the town's buildings occupy (used for redraws after growth).
    Enllaç a aquesta entradafunc bounds() -> Rect2i
    Retorna
    Rect2i
    Declarat a scripts/sim/town.gd:131
  • Town.on_grid_x func
    Enllaç a aquesta entradafunc on_grid_x(x: int) -> bool
    Paràmetres
    • x: int
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:136
  • Town.on_grid_y func
    Enllaç a aquesta entradafunc on_grid_y(y: int) -> bool
    Paràmetres
    • y: int
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:140
  • Town.seed_roads funcThe initial crossroads at the town centre.
    Enllaç a aquesta entradafunc seed_roads(m: WorldMap, rng: RandomNumberGenerator) -> void
    Paràmetres
    • m: WorldMap
    • rng: RandomNumberGenerator
    Retorna
    void
    Crida
    BuildOps.can_link_road, BuildOps.link_road
    Declarat a scripts/sim/town.gd:145
  • Town.zone_pop varPeople by zone (kept up to date as buildings come and go), the street layout, and what this town needs most right now.
    Enllaç a aquesta entradavar zone_pop := {"R": 0, "C": 0, "I": 0, "L": 0, "A": 0}Declarat a scripts/sim/town.gd:159
  • Town.layout vargrid | organic
    Enllaç a aquesta entradavar layout := "grid"Declarat a scripts/sim/town.gd:160
  • Town.style varbuilding style: classic | tudor | mediterranean | nordic | brick
    Enllaç a aquesta entradavar style := "classic"Declarat a scripts/sim/town.gd:161
  • Town.landmarks varbuilding type -> true once built
    Enllaç a aquesta entradavar landmarks := {}Declarat a scripts/sim/town.gd:162
  • Town.pop_history varpopulation at each month end (last 36)
    Enllaç a aquesta entradavar pop_history: Array = []Declarat a scripts/sim/town.gd:163
  • Town.demand funcResidential / commercial / industrial demand, each -1..1 (SimCity's RCI meter).
    Enllaç a aquesta entradafunc demand(day: int = -1) -> Vector3

    Homes follow jobs, shops follow residents and deliveries, workshops follow residents.

    Paràmetres
    • day: int = -1
    Retorna
    Vector3
    Declarat a scripts/sim/town.gd:168
  • Town._pick_zone func
    Enllaç a aquesta entradafunc _pick_zone(rng: RandomNumberGenerator, day: int) -> String
    Paràmetres
    • rng: RandomNumberGenerator
    • day: int
    Retorna
    String

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:180
  • Town.land_value funcLand value of a plot (roughly 0..100): the centre, busy stations, water, trees and landmarks raise it; industry and railway noise lower it.
    Enllaç a aquesta entradafunc land_value(m: WorldMap, x: int, y: int, ctx: Dictionary) -> float

    ctx may carry "stations" (served station positions), "industries" and "busy" (positions of well-staffed industries, heard up to BUSY_NOISE tiles away: RAIL-28) from the sim.

    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    • ctx: Dictionary
    Retorna
    float
    Declarat a scripts/sim/town.gd:195
  • Town._type_for funcThe building a zone gets on a plot of this land value, in this year's style.
    Enllaç a aquesta entradafunc _type_for(zone: String, lv: float, rng: RandomNumberGenerator, year: int = 1950) -> String
    Paràmetres
    • zone: String
    • lv: float
    • rng: RandomNumberGenerator
    • year: int = 1950
    Retorna
    String
    Crida
    Data.can_build
    Declarat a scripts/sim/town.gd:240
  • Town.grow funcOne growth step: maybe a landmark, else a building for the zone in demand, a new street, or a rebuild into something denser where land has become valuable.
    Enllaç a aquesta entradafunc grow(m: WorldMap, rng: RandomNumberGenerator, ctx: Dictionary = {}) -> bool
    Paràmetres
    • m: WorldMap
    • rng: RandomNumberGenerator
    • ctx: Dictionary = {}
    Retorna
    bool
    Declarat a scripts/sim/town.gd:267
  • Town._try_house func
    Enllaç a aquesta entradafunc _try_house(m: WorldMap, x: int, y: int, rng: RandomNumberGenerator, zone: String = "R", ctx: Dictionary = {}) -> bool
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    • rng: RandomNumberGenerator
    • zone: String = "R"
    • ctx: Dictionary = {}
    Retorna
    bool
    Crida
    BuildOps.can_build_house, Const.opp

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:290
  • Town._try_road func
    Enllaç a aquesta entradafunc _try_road(m: WorldMap, x: int, y: int, rng: RandomNumberGenerator) -> bool
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    • rng: RandomNumberGenerator
    Retorna
    bool
    Crida
    BuildOps.can_link_road, BuildOps.link_road

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:306
  • Town._organic_ok funcOrganic streets wander, but never run right alongside another street (which would leave no room for buildings).
    Enllaç a aquesta entradafunc _organic_ok(m: WorldMap, x: int, y: int, d: int) -> bool
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    • d: int
    Retorna
    bool
    Declarat a scripts/sim/town.gd:345
  • Town._try_upgrade func
    Enllaç a aquesta entradafunc _try_upgrade(m: WorldMap, rng: RandomNumberGenerator, ctx: Dictionary = {}) -> bool
    Paràmetres
    • m: WorldMap
    • rng: RandomNumberGenerator
    • ctx: Dictionary = {}
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:358
  • Town._try_landmark funcLandmarks arrive as the town grows: a church, then a park, then a town hall.
    Enllaç a aquesta entradafunc _try_landmark(m: WorldMap, rng: RandomNumberGenerator) -> bool

    Attractions (cinema, museum, funfair, stadium, and a resort by the sea) follow as it gets bigger.

    Paràmetres
    • m: WorldMap
    • rng: RandomNumberGenerator
    Retorna
    bool
    Declarat a scripts/sim/town.gd:392
  • Town._place_landmark func
    Enllaç a aquesta entradafunc _place_landmark(m: WorldMap, rng: RandomNumberGenerator, want: String) -> bool
    Paràmetres
    • m: WorldMap
    • rng: RandomNumberGenerator
    • want: String
    Retorna
    bool
    Crida
    BuildOps.can_build_house

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:418
  • Town._redevelop funcNo free plot: rebuild a modest building near the centre as the new landmark or attraction.
    Enllaç a aquesta entradafunc _redevelop(m: WorldMap, rng: RandomNumberGenerator, want: String, r: int) -> bool
    Paràmetres
    • m: WorldMap
    • rng: RandomNumberGenerator
    • want: String
    • r: int
    Retorna
    bool
    Declarat a scripts/sim/town.gd:432
  • Town.pick_style static funcA town's building style, from where it stands: seaside towns lean Mediterranean, hill towns Nordic, the rest a mix.
    Enllaç a aquesta entradastatic func pick_style(m: WorldMap, t: Town) -> String

    Derived from the name so it doesn't disturb world generation.

    Paràmetres
    • m: WorldMap
    • t: Town
    Retorna
    String
    Declarat a scripts/sim/town.gd:462
  • Town._near_sea func
    Enllaç a aquesta entradafunc _near_sea(m: WorldMap) -> bool
    Paràmetres
    • m: WorldMap
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:478
  • Town._place_attraction funcAttractions go on a free plot by a road: the stadium and funfair towards the edge of town, the resort by the water, the rest near the centre.
    Enllaç a aquesta entradafunc _place_attraction(m: WorldMap, rng: RandomNumberGenerator, want: String) -> bool
    Paràmetres
    • m: WorldMap
    • rng: RandomNumberGenerator
    • want: String
    Retorna
    bool
    Crida
    BuildOps.can_build_house
    Declarat a scripts/sim/town.gd:489
  • Town._water_distance func
    Enllaç a aquesta entradafunc _water_distance(m: WorldMap, x: int, y: int) -> float
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    Retorna
    float

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:525
  • Town._set_building func
    Enllaç a aquesta entradafunc _set_building(o: Dictionary, type: String, rng: RandomNumberGenerator) -> void
    Paràmetres
    • o: Dictionary
    • type: String
    • rng: RandomNumberGenerator
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:534
  • Town._count func
    Enllaç a aquesta entradafunc _count(type: String, people: int) -> void
    Paràmetres
    • type: String
    • people: int
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:544
  • Town.remove_building funcRemove a building's people (it was demolished).
    Enllaç a aquesta entradafunc remove_building(o: Dictionary) -> void
    Paràmetres
    • o: Dictionary
    Retorna
    void
    Declarat a scripts/sim/town.gd:551
  • Town.restore_building funcPut back a building's people (its demolition was undone): the opposite of remove_building.
    Enllaç a aquesta entradafunc restore_building(o: Dictionary) -> void
    Paràmetres
    • o: Dictionary
    Retorna
    void
    Declarat a scripts/sim/town.gd:559
  • Town.recount funcRebuild the zone tallies from the map (after loading).
    Enllaç a aquesta entradafunc recount(m: WorldMap) -> void
    Paràmetres
    • m: WorldMap
    Retorna
    void
    Declarat a scripts/sim/town.gd:567
  • Town.recount_all static funcrecount for every town of the map in one pass over its tiles.
    Enllaç a aquesta entradastatic func recount_all(m: WorldMap) -> void
    Paràmetres
    • m: WorldMap
    Retorna
    void
    Declarat a scripts/sim/town.gd:578
  • Town.place_house funcPlace a house facing direction facing (towards its road).
    Enllaç a aquesta entradafunc place_house(m: WorldMap, x: int, y: int, facing: int, type: String, rng: RandomNumberGenerator) -> void
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    • facing: int
    • type: String
    • rng: RandomNumberGenerator
    Retorna
    void
    Declarat a scripts/sim/town.gd:592
  • Town.MODEST const
    Enllaç a aquesta entradaconst MODEST := ["cottage", "house", "shop", "modern", "workshop"]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:619
  • Town.size_of static funcHow many tiles along each side a building of type takes.
    Enllaç a aquesta entradastatic func size_of(type: String) -> int
    Paràmetres
    • type: String
    Retorna
    int
    Declarat a scripts/sim/town.gd:623
  • Town.building_at static funcThe town building on tile t, whichever of its tiles that is; null where there is none.
    Enllaç a aquesta entradastatic func building_at(m: WorldMap, t: Vector2i) -> Variant
    Paràmetres
    • m: WorldMap
    • t: Vector2i
    Retorna
    Variant
    Declarat a scripts/sim/town.gd:628
  • Town.anchor_of static funcThe north-west tile of the building on t (t itself for a one-tile building).
    Enllaç a aquesta entradastatic func anchor_of(m: WorldMap, t: Vector2i) -> Vector2i
    Paràmetres
    • m: WorldMap
    • t: Vector2i
    Retorna
    Vector2i
    Declarat a scripts/sim/town.gd:638
  • Town.footprint static funcEvery tile of the building whose north-west tile is anchor.
    Enllaç a aquesta entradastatic func footprint(m: WorldMap, anchor: Vector2i) -> Array[Vector2i]
    Paràmetres
    • m: WorldMap
    • anchor: Vector2i
    Retorna
    Array[Vector2i]
    Declarat a scripts/sim/town.gd:644
  • Town.big_plot funcThe 2 x 2 plot for a big building whose front tile (x, y) faces a road in direction facing: it reaches one tile back from the road and one to either side, whichever is free.
    Enllaç a aquesta entradafunc big_plot(m: WorldMap, x: int, y: int, facing: int, rebuild: bool = false) -> Rect2i

    With rebuild, a tile holding a modest building of this town counts as free (the building makes way). An empty rect where there is no room.

    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    • facing: int
    • rebuild: bool = false
    Retorna
    Rect2i
    Declarat a scripts/sim/town.gd:658
  • Town._plot_free func
    Enllaç a aquesta entradafunc _plot_free(m: WorldMap, t: Vector2i, rebuild: bool) -> bool
    Paràmetres
    • m: WorldMap
    • t: Vector2i
    • rebuild: bool
    Retorna
    bool
    Crida
    BuildOps.can_build_house

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/town.gd:673
  • Town._place_big funcPut a big building on plot (see big_plot), facing facing.
    Enllaç a aquesta entradafunc _place_big(m: WorldMap, plot: Rect2i, facing: int, type: String, rng: RandomNumberGenerator) -> void
    Paràmetres
    • m: WorldMap
    • plot: Rect2i
    • facing: int
    • type: String
    • rng: RandomNumberGenerator
    Retorna
    void
    Declarat a scripts/sim/town.gd:683
  • Town.restore_annexes static funcMark the other tiles of every big building (after loading: only its own tile is saved).
    Enllaç a aquesta entradastatic func restore_annexes(m: WorldMap) -> void
    Paràmetres
    • m: WorldMap
    Retorna
    void
    Declarat a scripts/sim/town.gd:705
  • Town.enlarge_old_buildings static funcA game saved before big buildings has its stadium on a single tile.
    Enllaç a aquesta entradastatic func enlarge_old_buildings(m: WorldMap) -> void

    Give each one its full plot where there is room behind it - modest buildings next door make way, as they do when a town builds a new one - and leave it small where roads or bigger buildings hem it in.

    Paràmetres
    • m: WorldMap
    Retorna
    void
    Declarat a scripts/sim/town.gd:720

Station

  • Station.CATCH_RAIL const
    Enllaç a aquesta entradaconst CATCH_RAIL := 4

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:5
  • Station.CATCH_ROAD const
    Enllaç a aquesta entradaconst CATCH_ROAD := 3

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:6
  • Station.CATCH_DOCK const
    Enllaç a aquesta entradaconst CATCH_DOCK := 4

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:7
  • Station.CATCH_AIR const
    Enllaç a aquesta entradaconst CATCH_AIR := 5

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:8
  • Station.TRANSFER_DISTANCE const
    Enllaç a aquesta entradaconst TRANSFER_DISTANCE := 3

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:9
  • Station.SUFFIXES const
    Enllaç a aquesta entradaconst SUFFIXES

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:10
  • Station.id var
    Enllaç a aquesta entradavar id := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:13
  • Station.name var
    Enllaç a aquesta entradavar name := ""

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:14
  • Station.tiles var
    Enllaç a aquesta entradavar tiles: Array[Vector2i] = []

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:15
  • Station.has_rail var
    Enllaç a aquesta entradavar has_rail := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:16
  • Station.has_road var
    Enllaç a aquesta entradavar has_road := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:17
  • Station.has_dock var
    Enllaç a aquesta entradavar has_dock := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:18
  • Station.has_air var
    Enllaç a aquesta entradavar has_air := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:19
  • Station.catchment vartile index -> true
    Enllaç a aquesta entradavar catchment := {}Declarat a scripts/sim/station.gd:20
  • Station.accepts varCargo IDs that can be delivered in this station’s catchment.
    Enllaç a aquesta entradavar accepts: Array = []

    A vehicle can unload and earn a fare here for a supported cargo.

    Declarat a scripts/sim/station.gd:21
  • Station.supplies varCargo IDs supplied by towns or industries in the station’s catchment.
    Enllaç a aquesta entradavar supplies: Array = []

    Read waiting for the amount currently available to load.

    Declarat a scripts/sim/station.gd:22
  • Station.deleted var
    Enllaç a aquesta entradavar deleted := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:23
  • Station.owner varThe company that owns the station.
    Enllaç a aquesta entradavar owner: Company = null

    Can be null, for example at an oil rig dock. Use usable_by(company) to check access.

    Declarat a scripts/sim/station.gd:24
  • Station.rig varThe industry out at sea this dock is built into (an oil rig), or null.
    Enllaç a aquesta entradavar rig: Industry = null

    Such a dock belongs to nobody: every company's ships may call there, and it is never built or removed by hand.

    Declarat a scripts/sim/station.gd:27
  • Station.town varthe town whose council looks after this station's area
    Enllaç a aquesta entradavar town: Town = nullDeclarat a scripts/sim/station.gd:28
  • Station.attractions varattraction types inside the catchment (tourist fares)
    Enllaç a aquesta entradavar attractions: Array = []Declarat a scripts/sim/station.gd:29
  • Station.workers varan industry in reach employs passengers who come here (RAIL-28)
    Enllaç a aquesta entradavar workers := falseDeclarat a scripts/sim/station.gd:30
  • Station.waiting varamount waiting (float)
    Enllaç a aquesta entradavar waiting := {}Declarat a scripts/sim/station.gd:33
  • Station.transfers varCargo left here by vehicles with a transfer order, for another vehicle to carry on (RAIL-20): [{"amt", "c", "from", "pos", "day", "credit"}], oldest first.
    Enllaç a aquesta entradavar transfers: Array = []

    It is part of waiting too; these packets remember where and when it was first loaded, so the last leg is paid for the whole trip.

    Declarat a scripts/sim/station.gd:37
  • Station.rating var0..1, share of nearby production this station receives
    Enllaç a aquesta entradavar rating := {}Declarat a scripts/sim/station.gd:38
  • Station.served vartrue once a vehicle with this cargo has orders here
    Enllaç a aquesta entradavar served := {}Declarat a scripts/sim/station.gd:39
  • Station.last_pickup vargame day of the last loading attempt
    Enllaç a aquesta entradavar last_pickup := {}Declarat a scripts/sim/station.gd:40
  • Station.last_speed varspeed of the last vehicle that loaded here (tiles/day)
    Enllaç a aquesta entradavar last_speed := {}Declarat a scripts/sim/station.gd:41
  • Station.last_age varage in years of the last vehicle that loaded here
    Enllaç a aquesta entradavar last_age := {}Declarat a scripts/sim/station.gd:42
  • Station.first_arrival var
    Enllaç a aquesta entradavar first_arrival := true

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:43
  • Station.match_told varthe player has had the news of this station's first match day
    Enllaç a aquesta entradavar match_told := falseDeclarat a scripts/sim/station.gd:44
  • Station.last_visit vargame day a vehicle last called here
    Enllaç a aquesta entradavar last_visit := -1.0Declarat a scripts/sim/station.gd:45
  • Station.picked varcargo -> units loaded this month
    Enllaç a aquesta entradavar picked := {}Declarat a scripts/sim/station.gd:46
  • Station.picked_last var
    Enllaç a aquesta entradavar picked_last := {}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:47
  • Station.delivered varcargo -> units unloaded (and paid for) this month
    Enllaç a aquesta entradavar delivered := {}Declarat a scripts/sim/station.gd:48
  • Station.delivered_last var
    Enllaç a aquesta entradavar delivered_last := {}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:49
  • Station.earned varfares paid for deliveries here this month
    Enllaç a aquesta entradavar earned := 0Declarat a scripts/sim/station.gd:50
  • Station.earned_last var
    Enllaç a aquesta entradavar earned_last := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:51
  • Station.inflow varHow much of each cargo comes here in a month, as a running estimate (Economy._update_ratings): what waits beyond this slowly gives up (RAIL-56).
    Enllaç a aquesta entradavar inflow := {}

    Production and transfers count; a match-day crowd doesn't, so the fans who can't get away go home over the following weeks.

    Declarat a scripts/sim/station.gd:55
  • Station.arrived varcargo -> units come since the last production run
    Enllaç a aquesta entradavar arrived := {}Declarat a scripts/sim/station.gd:56
  • Station.catch_rect var
    Enllaç a aquesta entradavar catch_rect := Rect2i()

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:59
  • Station.house_ok var
    Enllaç a aquesta entradavar house_ok := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:60
  • Station._houses var
    Enllaç a aquesta entradavar _houses := PackedInt32Array()

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:61
  • Station.roll_month func
    Enllaç a aquesta entradafunc roll_month() -> void
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:64
  • Station._init func
    Enllaç a aquesta entradafunc _init(p_id: int, p_name: String) -> void
    Paràmetres
    • p_id: int
    • p_name: String
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:73
  • Station.tiles_of funcTiles vehicles of kind stop on: platforms, road stops, the water in front of a dock, the airfield.
    Enllaç a aquesta entradafunc tiles_of(m: WorldMap, kind: String) -> Dictionary
    Paràmetres
    • m: WorldMap
    • kind: String
    Retorna
    Dictionary
    Declarat a scripts/sim/station.gd:79
  • Station.usable_by funcWhether who's vehicles may have orders here: its own stations and the open docks of oil rigs.
    Enllaç a aquesta entradafunc usable_by(who: Company) -> bool
    Paràmetres
    • who: Company
    Retorna
    bool
    Declarat a scripts/sim/station.gd:100
  • Station.has_kind funcTests whether the station supports rail, road, water, or air.
    Enllaç a aquesta entradafunc has_kind(kind: String) -> bool

    For ships use water, even though the construction kind for a dock is dock.

    Paràmetres
    • kind: String
    Retorna
    bool
    Declarat a scripts/sim/station.gd:104
  • Station.transfer_neighbors funcOther stations of the same company within TRANSFER_DISTANCE steps of any of our tiles.
    Enllaç a aquesta entradafunc transfer_neighbors(m: WorldMap) -> Array[Station]
    Paràmetres
    • m: WorldMap
    Retorna
    Array[Station]
    Declarat a scripts/sim/station.gd:114
  • Station.transfer_amount funcUnits of c left here by transfers and still waiting.
    Enllaç a aquesta entradafunc transfer_amount(c: String) -> int
    Paràmetres
    • c: String
    Retorna
    int
    Declarat a scripts/sim/station.gd:132
  • Station.add_transfer funcLeave cargo from a vehicle here for another to pick up (see Economy.unload).
    Enllaç a aquesta entradafunc add_transfer(p: Dictionary) -> void
    Paràmetres
    • p: Dictionary
    Retorna
    void
    Declarat a scripts/sim/station.gd:141
  • Station.add_waiting funcCargo c comes here to wait: counted in waiting and in what arrives (see inflow).
    Enllaç a aquesta entradafunc add_waiting(c: String, amt: float) -> void
    Paràmetres
    • c: String
    • amt: float
    Retorna
    void
    Declarat a scripts/sim/station.gd:147
  • Station.take_transfers funcTake up to n units of transferred c (oldest first), as packets to put on board.
    Enllaç a aquesta entradafunc take_transfers(c: String, n: int) -> Array

    Waiting cargo that went away (a poor rating, the cap) takes the transferred share with it first.

    Paràmetres
    • c: String
    • n: int
    Retorna
    Array
    Declarat a scripts/sim/station.gd:154
  • Station.platform_len funcLength in tiles of the platform t is part of: the straight row of this station's rail tiles along the track through t (0 if t isn't one of them).
    Enllaç a aquesta entradafunc platform_len(m: WorldMap, t: Vector2i) -> int
    Paràmetres
    • m: WorldMap
    • t: Vector2i
    Retorna
    int
    Declarat a scripts/sim/station.gd:185
  • Station.longest_platform funcThe longest of this station's platforms, in tiles (0 without any).
    Enllaç a aquesta entradafunc longest_platform(m: WorldMap) -> int
    Paràmetres
    • m: WorldMap
    Retorna
    int
    Declarat a scripts/sim/station.gd:205
  • Station.air_pos funcWhere aircraft park: the middle of the runway.
    Enllaç a aquesta entradafunc air_pos(m: WorldMap) -> Vector2
    Paràmetres
    • m: WorldMap
    Retorna
    Vector2
    Declarat a scripts/sim/station.gd:215
  • Station.is_runway static funcAirfields are 3 x 2 tiles: the runway is the first row (axis 0) or first column (axis 1).
    Enllaç a aquesta entradastatic func is_runway(o: Dictionary) -> bool
    Paràmetres
    • o: Dictionary
    Retorna
    bool
    Declarat a scripts/sim/station.gd:227
  • Station.total_waiting funcSums the station’s waiting quantities across all cargo IDs and converts the result to a whole number.
    Enllaç a aquesta entradafunc total_waiting() -> int

    For a single cargo read that key in waiting.

    Retorna
    int
    Declarat a scripts/sim/station.gd:232
  • Station.sign_pos funcReturns the average position of the station’s tile centers, in world tile coordinates.
    Enllaç a aquesta entradafunc sign_pos() -> Vector2

    Useful for locating a news item on the map.

    Retorna
    Vector2
    Declarat a scripts/sim/station.gd:239
  • Station.stop_pos funcFor a road vehicle, point to the roadside stop even when it shares a station with other modes.
    Enllaç a aquesta entradafunc stop_pos(m: WorldMap, kind: String) -> Vector2
    Paràmetres
    • m: WorldMap
    • kind: String
    Retorna
    Vector2
    Declarat a scripts/sim/station.gd:247
  • Station.refresh funcRecompute station type flags, catchment and what it accepts / supplies.
    Enllaç a aquesta entradafunc refresh(m: WorldMap) -> void
    Paràmetres
    • m: WorldMap
    Retorna
    void
    Declarat a scripts/sim/station.gd:257
  • Station.refresh_coverage funcRecheck what reaches this station after its surroundings change.
    Enllaç a aquesta entradafunc refresh_coverage(m: WorldMap) -> void
    Paràmetres
    • m: WorldMap
    Retorna
    void
    Declarat a scripts/sim/station.gd:300
  • Station.house_tiles funcThe tiles of the catchment with a house on them, in catchment order.
    Enllaç a aquesta entradafunc house_tiles(m: WorldMap) -> PackedInt32Array
    Paràmetres
    • m: WorldMap
    Retorna
    PackedInt32Array
    Declarat a scripts/sim/station.gd:309
  • Station.add_catchment static func
    Enllaç a aquesta entradastatic func add_catchment(m: WorldMap, catch: Dictionary, t: Vector2i, r: int) -> void
    Paràmetres
    • m: WorldMap
    • catch: Dictionary
    • t: Vector2i
    • r: int
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:335
  • Station.coverage static funcWhat a catchment area accepts and supplies.
    Enllaç a aquesta entradastatic func coverage(m: WorldMap, catch: Dictionary) -> Dictionary

    Towns accept passengers from 12 residents and goods / food from 60; houses supply passengers and mail (waste too, from the Late century). Some buildings take more in later eras, and so does every house of a big enough town (Data.TOWN_TAKES: electronics, cars). An industry that employs people takes passengers as workers and sends some home again ("workers": true).

    Paràmetres
    • m: WorldMap
    • catch: Dictionary
    Retorna
    Dictionary
    Crida
    Data.town_takes, Data.town_takes_by_size, Data.town_makes
    Declarat a scripts/sim/station.gd:346
  • Station.nearest_town static func
    Enllaç a aquesta entradastatic func nearest_town(m: WorldMap, p: Vector2, within: float) -> Town
    Paràmetres
    • m: WorldMap
    • p: Vector2
    • within: float
    Retorna
    Town

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:409
  • Station.make_name static func
    Enllaç a aquesta entradastatic func make_name(m: WorldMap, at: Vector2i) -> String
    Paràmetres
    • m: WorldMap
    • at: Vector2i
    Retorna
    String
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/station.gd:420

Vehicle

  • Vehicle.LOCO_LEN const
    Enllaç a aquesta entradaconst LOCO_LEN := 0.56

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:8
  • Vehicle.CAR_LEN const
    Enllaç a aquesta entradaconst CAR_LEN := 0.5

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:9
  • Vehicle.RV_LEN const
    Enllaç a aquesta entradaconst RV_LEN := 0.46

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:10
  • Vehicle.SHIP_LEN const
    Enllaç a aquesta entradaconst SHIP_LEN := 0.9

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:11
  • Vehicle.PLANE_LEN const
    Enllaç a aquesta entradaconst PLANE_LEN := 0.7

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:12
  • Vehicle.CRUISE constflight altitude above the ground
    Enllaç a aquesta entradaconst CRUISE := 3.2Declarat a scripts/sim/vehicle.gd:13
  • Vehicle.LOAD_RATE constunits moved per day while loading
    Enllaç a aquesta entradaconst LOAD_RATE := 40.0Declarat a scripts/sim/vehicle.gd:14
  • Vehicle.LANE constroad vehicles keep right by this much
    Enllaç a aquesta entradaconst LANE := 0.12Declarat a scripts/sim/vehicle.gd:15
  • Vehicle.ROAD_GAP constQueues (RAIL-26).
    Enllaç a aquesta entradaconst ROAD_GAP := 0.12

    A road vehicle keeps ROAD_GAP behind the one ahead in its lane and, stuck for ROAD_GIVE_UP days, drives through, so a jam always clears (as trains do at signals). A ship waits for a free berth and a plane holds for a free stand at most QUEUE_GIVE_UP days, then goes in anyway.

    Declarat a scripts/sim/vehicle.gd:19
  • Vehicle.ROAD_GIVE_UP const
    Enllaç a aquesta entradaconst ROAD_GIVE_UP := 3.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:20
  • Vehicle.QUEUE_GIVE_UP const
    Enllaç a aquesta entradaconst QUEUE_GIVE_UP := 15.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:21
  • Vehicle.STANDS constaircraft an airport takes at a time
    Enllaç a aquesta entradaconst STANDS := 3Declarat a scripts/sim/vehicle.gd:22
  • Vehicle.HOLD_AT consthow far out a plane asks for a stand: where it would start to descend
    Enllaç a aquesta entradaconst HOLD_AT := 5.0Declarat a scripts/sim/vehicle.gd:23
  • Vehicle.HOLD_R constradius of the circle a plane holds on, at cruising height...
    Enllaç a aquesta entradaconst HOLD_R := 2.5Declarat a scripts/sim/vehicle.gd:24
  • Vehicle.HOLD_STEP const...or that much wider, or twice that (see _hold_r)
    Enllaç a aquesta entradaconst HOLD_STEP := 0.7Declarat a scripts/sim/vehicle.gd:25
  • Vehicle.HOLD_BANK consthow far it leans into that circle (radians)
    Enllaç a aquesta entradaconst HOLD_BANK := 0.35Declarat a scripts/sim/vehicle.gd:26
  • Vehicle.ORDER_FLAGS constWhat an order can say besides "full": leave unaccepted cargo for another vehicle (RAIL-20); unload everything and take nothing on; deliver but take nothing on; call at a depot before the next stop (RAIL-36).
    Enllaç a aquesta entradaconst ORDER_FLAGS := ["transfer", "unload", "no_load", "depot"]

    Saved in this order (see SaveGame).

    Declarat a scripts/sim/vehicle.gd:30
  • Vehicle.id var
    Enllaç a aquesta entradavar id := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:32
  • Vehicle.name var
    Enllaç a aquesta entradavar name := ""

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:33
  • Vehicle.model_id var
    Enllaç a aquesta entradavar model_id := ""

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:34
  • Vehicle.model var
    Enllaç a aquesta entradavar model: Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:35
  • Vehicle.kind var
    Enllaç a aquesta entradavar kind := "road"

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:36
  • Vehicle.cargo var
    Enllaç a aquesta entradavar cargo := "pax"

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:37
  • Vehicle.wagons var
    Enllaç a aquesta entradavar wagons := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:38
  • Vehicle.owner var
    Enllaç a aquesta entradavar owner: Company

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:39
  • Vehicle.orders var[{"st": Station, "full": bool, and any of ORDER_FLAGS: bool (missing: false)}]
    Enllaç a aquesta entradavar orders: Array = []Declarat a scripts/sim/vehicle.gd:40
  • Vehicle.order_idx var
    Enllaç a aquesta entradavar order_idx := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:41
  • Vehicle.state varloading | moving | lost | stopped | servicing | wrecked (see Sim.wrecks)
    Enllaç a aquesta entradavar state := "loading"Declarat a scripts/sim/vehicle.gd:43
  • Vehicle.status var
    Enllaç a aquesta entradavar status := ""

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:44
  • Vehicle.timer var
    Enllaç a aquesta entradavar timer := 0.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:45
  • Vehicle.segs varpath history; the last one is the one the head is on
    Enllaç a aquesta entradavar segs: Array = []Declarat a scripts/sim/vehicle.gd:46
  • Vehicle.t varprogress along the last segment (0..1)
    Enllaç a aquesta entradavar t := 1.0Declarat a scripts/sim/vehicle.gd:47
  • Vehicle.route var
    Enllaç a aquesta entradavar route: Array[Vector2i] = []

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:48
  • Vehicle.rp varindex in route of the tile the head is in
    Enllaç a aquesta entradavar rp := 0Declarat a scripts/sim/vehicle.gd:49
  • Vehicle.speed varcurrent speed, tiles per day
    Enllaç a aquesta entradavar speed := 0.0Declarat a scripts/sim/vehicle.gd:50
  • Vehicle.at_station var
    Enllaç a aquesta entradavar at_station: Station = null

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:51
  • Vehicle.lost_ctx var
    Enllaç a aquesta entradavar lost_ctx := {}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:52
  • Vehicle.lost_tries var
    Enllaç a aquesta entradavar lost_tries := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:53
  • Vehicle.cap var
    Enllaç a aquesta entradavar cap := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:55
  • Vehicle.packets var[{"amt": int, "from": Station, "day": float}]
    Enllaç a aquesta entradavar packets: Array = []Declarat a scripts/sim/vehicle.gd:56
  • Vehicle.profit_this var
    Enllaç a aquesta entradavar profit_this := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:57
  • Vehicle.profit_last var
    Enllaç a aquesta entradavar profit_last := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:58
  • Vehicle.income_total var
    Enllaç a aquesta entradavar income_total := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:59
  • Vehicle.age_days var
    Enllaç a aquesta entradavar age_days := 0.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:60
  • Vehicle.cost var
    Enllaç a aquesta entradavar cost := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:61
  • Vehicle.trips var
    Enllaç a aquesta entradavar trips := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:62
  • Vehicle.stopped_by_player var
    Enllaç a aquesta entradavar stopped_by_player := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:63
  • Vehicle.sig_wait vardays spent waiting at a red signal or in front of a junction
    Enllaç a aquesta entradavar sig_wait := 0.0Declarat a scripts/sim/vehicle.gd:64
  • Vehicle.held_at varWhat the train waited at when it last moved: 0 nothing, 1 a signal, 2 a junction (RAIL-80).
    Enllaç a aquesta entradavar held_at := 0Declarat a scripts/sim/vehicle.gd:66
  • Vehicle.GIVE_UP_DAYS consta train held this long at a signal or junction is deadlocked
    Enllaç a aquesta entradaconst GIVE_UP_DAYS := 30.0Declarat a scripts/sim/vehicle.gd:67
  • Vehicle._backoff_try varwhen it last tried turning round out of a deadlock
    Enllaç a aquesta entradavar _backoff_try := -1000.0Declarat a scripts/sim/vehicle.gd:68
  • Vehicle._backed_off_at varwhen it last did
    Enllaç a aquesta entradavar _backed_off_at := -1000.0Declarat a scripts/sim/vehicle.gd:69
  • Vehicle._forced_at varwhen it last went on anyway, unable to turn round
    Enllaç a aquesta entradavar _forced_at := -1000.0Declarat a scripts/sim/vehicle.gd:70
  • Vehicle._turned var_held_up turned it round just now (see _advance)
    Enllaç a aquesta entradavar _turned := falseDeclarat a scripts/sim/vehicle.gd:71
  • Vehicle._detour_day varwhen it last looked for a way round a busy stretch (see _detour)
    Enllaç a aquesta entradavar _detour_day := -1000.0Declarat a scripts/sim/vehicle.gd:72
  • Vehicle.queue_wait vardays held up in a queue: in traffic, for a berth, or holding (RAIL-26)
    Enllaç a aquesta entradavar queue_wait := 0.0Declarat a scripts/sim/vehicle.gd:73
  • Vehicle.hold_a varaircraft holding over a full airport: its angle round the circle, -1 when not
    Enllaç a aquesta entradavar hold_a := -1.0Declarat a scripts/sim/vehicle.gd:74
  • Vehicle.old_warned var
    Enllaç a aquesta entradavar old_warned := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:75
  • Vehicle.electric varneeds overhead wires (set from the model)
    Enllaç a aquesta entradavar electric := falseDeclarat a scripts/sim/vehicle.gd:76
  • Vehicle.wagon_cargos vartrains: the cargo of each wagon, front to back (mixed trains)
    Enllaç a aquesta entradavar wagon_cargos: Array = []Declarat a scripts/sim/vehicle.gd:77
  • Vehicle.reliability var0..1; wears down day by day, restored by servicing
    Enllaç a aquesta entradavar reliability := 1.0Declarat a scripts/sim/vehicle.gd:78
  • Vehicle.last_service vargame day of the last service
    Enllaç a aquesta entradavar last_service := 0.0Declarat a scripts/sim/vehicle.gd:79
  • Vehicle.breakdowns var
    Enllaç a aquesta entradavar breakdowns := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:80
  • Vehicle.broken vardays left standing broken down
    Enllaç a aquesta entradavar broken := 0.0Declarat a scripts/sim/vehicle.gd:81
  • Vehicle.service_to varthe depot it's heading to for servicing
    Enllaç a aquesta entradavar service_to := Vector2i(-1, -1)Declarat a scripts/sim/vehicle.gd:82
  • Vehicle.load_avg varrunning average of how full it leaves stations (0..1), -1 until known
    Enllaç a aquesta entradavar load_avg := -1.0Declarat a scripts/sim/vehicle.gd:83
  • Vehicle.last_trip varlast paid delivery: {"pay", "units", "day", "st"}
    Enllaç a aquesta entradavar last_trip := {}Declarat a scripts/sim/vehicle.gd:84
  • Vehicle.look_rev vargoes up when a refit changes how it looks (the view redraws it)
    Enllaç a aquesta entradavar look_rev := 0Declarat a scripts/sim/vehicle.gd:85
  • Vehicle.refit_to vara change of cargo ordered and paid for, done at the depot (see refit)
    Enllaç a aquesta entradavar refit_to: Array = []Declarat a scripts/sim/vehicle.gd:86
  • Vehicle.refit_paid varwhat ordering it cost (given back if it is cancelled)
    Enllaç a aquesta entradavar refit_paid := 0Declarat a scripts/sim/vehicle.gd:87
  • Vehicle.stuck_cargo vara cargo on board that no stop in the orders accepts (see _check_stuck)
    Enllaç a aquesta entradavar stuck_cargo := ""Declarat a scripts/sim/vehicle.gd:88
  • Vehicle.stuck_stops varstops it has called at with that cargo on board, undelivered
    Enllaç a aquesta entradavar stuck_stops := 0Declarat a scripts/sim/vehicle.gd:89
  • Vehicle.stuck_news vargame day the player was last told about it (-1: never)
    Enllaç a aquesta entradavar stuck_news := -1Declarat a scripts/sim/vehicle.gd:90
  • Vehicle.line varthe line it runs on (its orders are then the line's), or null
    Enllaç a aquesta entradavar line: Line = nullDeclarat a scripts/sim/vehicle.gd:91
  • Vehicle.lap_start vargame day it last left its line's first stop (-1: not yet)
    Enllaç a aquesta entradavar lap_start := -1.0Declarat a scripts/sim/vehicle.gd:92
  • Vehicle.held vardays held at the first stop this round to keep the line evenly spaced
    Enllaç a aquesta entradavar held := 0.0Declarat a scripts/sim/vehicle.gd:93
  • Vehicle.air_from var
    Enllaç a aquesta entradavar air_from := Vector2.ZERO

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:95
  • Vehicle.air_to var
    Enllaç a aquesta entradavar air_to := Vector2.ZERO

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:96
  • Vehicle.air_d var
    Enllaç a aquesta entradavar air_d := 0.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:97
  • Vehicle.air_y0 var
    Enllaç a aquesta entradavar air_y0 := 0.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:98
  • Vehicle.air_y1 var
    Enllaç a aquesta entradavar air_y1 := 0.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:99
  • Vehicle._accel varacceleration as a multiple of the top speed, by kind
    Enllaç a aquesta entradavar _accel := 2.5Declarat a scripts/sim/vehicle.gd:101
  • Vehicle._len varlength of a road vehicle, ship or aircraft (of model _len_of)
    Enllaç a aquesta entradavar _len := -1.0Declarat a scripts/sim/vehicle.gd:102
  • Vehicle._len_of var
    Enllaç a aquesta entradavar _len_of := ""

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:103
  • Vehicle._back_u varsecond result of _back_i
    Enllaç a aquesta entradavar _back_u := 0.0Declarat a scripts/sim/vehicle.gd:104
  • Vehicle._routes varroutes found before, by order (see _find)
    Enllaç a aquesta entradavar _routes := {}Declarat a scripts/sim/vehicle.gd:105
  • Vehicle._fit vartrains: the share of the train alongside the platform it stands at
    Enllaç a aquesta entradavar _fit := 1.0Declarat a scripts/sim/vehicle.gd:106
  • Vehicle._course varships: the straight course route follows (see water_course), {} for none
    Enllaç a aquesta entradavar _course := {}Declarat a scripts/sim/vehicle.gd:107
  • Vehicle._queued varheld up in a queue this step (counts towards queue_wait)
    Enllaç a aquesta entradavar _queued := falseDeclarat a scripts/sim/vehicle.gd:108
  • Vehicle._blocked_by varroad vehicles: id of the one it is keeping behind (0: none)
    Enllaç a aquesta entradavar _blocked_by := 0Declarat a scripts/sim/vehicle.gd:109
  • Vehicle.route_cache static varSwitch for the tests: with it off every departure searches for its route again.
    Enllaç a aquesta entradastatic var route_cache := trueDeclarat a scripts/sim/vehicle.gd:111
  • Vehicle._seg_cache static varmake_seg results by tile, sides and shape
    Enllaç a aquesta entradastatic var _seg_cache := {}Declarat a scripts/sim/vehicle.gd:112
  • Vehicle.SEG_CACHE_MAX const
    Enllaç a aquesta entradaconst SEG_CACHE_MAX := 200000

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:113
  • Vehicle._init func
    Enllaç a aquesta entradafunc _init(p_id: int, p_model: String, p_cargo: String, p_wagons: int, p_owner: Company) -> void
    Paràmetres
    • p_id: int
    • p_model: String
    • p_cargo: String
    • p_wagons: int
    • p_owner: Company
    Retorna
    void
    Crida
    Data.model, Data.wagon_cap

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:116
  • Vehicle._default_name funcThe name a vehicle gets when bought: what it is and its number.
    Enllaç a aquesta entradafunc _default_name() -> String
    Retorna
    String
    Crida
    L.t
    Declarat a scripts/sim/vehicle.gd:135
  • Vehicle.load_amount func
    Enllaç a aquesta entradafunc load_amount() -> int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:145
  • Vehicle.set_consist funcA train's wagons, one cargo each (front to back).
    Enllaç a aquesta entradafunc set_consist(list: Array) -> void

    cargo becomes the first wagon's.

    Paràmetres
    • list: Array
    Retorna
    void
    Crida
    Data.wagon_cap
    Declarat a scripts/sim/vehicle.gd:153
  • Vehicle.refit funcChange what the vehicle carries: a train's wagons (one cargo each, front to back) or the one cargo of anything else.
    Enllaç a aquesta entradafunc refit(list: Array, m: WorldMap = null) -> void

    Cargo on board that no longer has room is lost. Sim.refit_vehicle orders it and Sim.finish_refit calls this once the vehicle is at a depot.

    Paràmetres
    • list: Array
    • m: WorldMap = null
    Retorna
    void
    Declarat a scripts/sim/vehicle.gd:168
  • Vehicle._trim_load funcDrop what no longer fits on board (was: the cargo of packets from before they were labelled).
    Enllaç a aquesta entradafunc _trim_load(was: String) -> void
    Paràmetres
    • was: String
    Retorna
    void
    Declarat a scripts/sim/vehicle.gd:187
  • Vehicle.change_model funcBecome another model of the same kind, where it stands (see Sim.replace_vehicle, which checks that the model can carry its cargo and run its route).
    Enllaç a aquesta entradafunc change_model(p_model: String) -> void

    A train keeps its wagons, as many as the new engine pulls; anything else gets the new model's capacity. Cargo without room is lost.

    Paràmetres
    • p_model: String
    Retorna
    void
    Crida
    Data.model, Data.wagon_cap
    Declarat a scripts/sim/vehicle.gd:205
  • Vehicle._grow_tail funcLay more history behind the tail, following the track, so a train that just got longer has somewhere to stand (the same walk spawn does).
    Enllaç a aquesta entradafunc _grow_tail(m: WorldMap) -> void
    Paràmetres
    • m: WorldMap
    Retorna
    void
    Crida
    Const.opp
    Declarat a scripts/sim/vehicle.gd:228
  • Vehicle.cargos funcThe cargos this vehicle carries (several for a mixed train).
    Enllaç a aquesta entradafunc cargos() -> Array
    Retorna
    Array
    Declarat a scripts/sim/vehicle.gd:263
  • Vehicle.is_mixed func
    Enllaç a aquesta entradafunc is_mixed() -> bool
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:273
  • Vehicle.cap_of funcReturns the capacity for one cargo ID.
    Enllaç a aquesta entradafunc cap_of(c: String) -> int

    For mixed trains, it counts only wagons assigned to that cargo. A cargo the vehicle cannot currently carry has capacity zero.

    Paràmetres
    • c: String
    Retorna
    int
    Crida
    Data.wagon_cap
    Declarat a scripts/sim/vehicle.gd:277
  • Vehicle.load_of funcAdds up the units in the vehicle’s cargo packets for one cargo ID.
    Enllaç a aquesta entradafunc load_of(c: String) -> int

    This is the current load, rather than available room.

    Paràmetres
    • c: String
    Retorna
    int
    Declarat a scripts/sim/vehicle.gd:287
  • Vehicle.running_cost funcReturns the annual running cost of the model plus its wagons.
    Enllaç a aquesta entradafunc running_cost() -> int
    Retorna
    int
    Declarat a scripts/sim/vehicle.gd:295
  • Vehicle.life_years funcReturns the usual service life in years for the vehicle’s transport kind.
    Enllaç a aquesta entradafunc life_years() -> int
    Retorna
    int
    Declarat a scripts/sim/vehicle.gd:299
  • Vehicle.is_old funcChecks whether the vehicle’s age in days exceeds its service life in years, using 365 days per year.
    Enllaç a aquesta entradafunc is_old() -> bool
    Retorna
    bool
    Declarat a scripts/sim/vehicle.gd:303
  • Vehicle.value funcReturns the current resale value in dollars.
    Enllaç a aquesta entradafunc value() -> int

    The value falls with age and bottoms out at 15 percent of purchase cost.

    Retorna
    int
    Declarat a scripts/sim/vehicle.gd:307
  • Vehicle.max_speed funcReturns the model’s maximum speed in tiles per game day.
    Enllaç a aquesta entradafunc max_speed() -> float

    Steam trains lose three percent of model speed per wagon in this calculation.

    Retorna
    float
    Declarat a scripts/sim/vehicle.gd:311
  • Vehicle.train_length func
    Enllaç a aquesta entradafunc train_length() -> float
    Retorna
    float

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:318
  • Vehicle.tiles_long static funcHow many platform tiles a train with n_wagons wagons needs to stand alongside in full.
    Enllaç a aquesta entradastatic func tiles_long(n_wagons: int) -> int

    A buffer's worth of overhang (OVERHANG_OK) doesn't count: two wagons a tile, less one for the engine, so 3 tiles take 5 wagons.

    Paràmetres
    • n_wagons: int
    Retorna
    int
    Declarat a scripts/sim/vehicle.gd:330
  • Vehicle.OVERHANG_OK const
    Enllaç a aquesta entradaconst OVERHANG_OK := 0.1

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:334
  • Vehicle.platform_fit static funcThe share of a train of length tiles that is alongside a platform of platform tiles.
    Enllaç a aquesta entradastatic func platform_fit(length: float, platform: int) -> float

    Only those wagons load and unload at a time, so loading a train longer than the platform takes longer (the rest are drawn up in turns) while its back wagons stick out onto the line behind (RAIL-18).

    Paràmetres
    • length: float
    • platform: int
    Retorna
    float
    Declarat a scripts/sim/vehicle.gd:340
  • Vehicle.body_len static funcLength of a road vehicle, ship or aircraft of this model (see Data.LENGTH).
    Enllaç a aquesta entradastatic func body_len(id: String) -> float
    Paràmetres
    • id: String
    Retorna
    float
    Crida
    Data.model, Data.look
    Declarat a scripts/sim/vehicle.gd:347
  • Vehicle.dest func
    Enllaç a aquesta entradafunc dest() -> Station
    Retorna
    Station

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:356
  • Vehicle._edge static func
    Enllaç a aquesta entradastatic func _edge(t: Vector2i, d: int) -> Vector2
    Paràmetres
    • t: Vector2i
    • d: int
    Retorna
    Vector2

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:362
  • Vehicle._center static func
    Enllaç a aquesta entradastatic func _center(t: Vector2i) -> Vector2
    Paràmetres
    • t: Vector2i
    Retorna
    Vector2

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:366
  • Vehicle.make_seg static funcA segment crossing tile t, entering through side a and leaving through side b (-1 means starting or stopping at the tile centre).
    Enllaç a aquesta entradastatic func make_seg(t: Vector2i, a: int, b: int, chord: int = 0) -> Dictionary

    chord: the piece's shape (see WorldMap.piece_shape) when it is part of a diagonal run or eases into one; the piece is then a cubic curve.

    Paràmetres
    • t: Vector2i
    • a: int
    • b: int
    • chord: int = 0
    Retorna
    Dictionary
    Crida
    Const.opp, WorldMap.piece_curve
    Declarat a scripts/sim/vehicle.gd:374
  • Vehicle._seg_len static func
    Enllaç a aquesta entradastatic func _seg_len(s: Dictionary) -> float
    Paràmetres
    • s: Dictionary
    Retorna
    float

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:404
  • Vehicle.seg_pos static func
    Enllaç a aquesta entradastatic func seg_pos(s: Dictionary, u: float) -> Vector2
    Paràmetres
    • s: Dictionary
    • u: float
    Retorna
    Vector2

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:414
  • Vehicle.seg_dir static funcThe way along segment s at u (not normalised; zero only half-way round a U-turn).
    Enllaç a aquesta entradastatic func seg_dir(s: Dictionary, u: float) -> Vector2
    Paràmetres
    • s: Dictionary
    • u: float
    Retorna
    Vector2
    Declarat a scripts/sim/vehicle.gd:426
  • Vehicle.rev_seg static func
    Enllaç a aquesta entradastatic func rev_seg(s: Dictionary) -> Dictionary
    Paràmetres
    • s: Dictionary
    Retorna
    Dictionary
    Crida
    WorldMap.flip_shape

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:437
  • Vehicle._seg funcA segment through tile t that knows whether it's part of a diagonal run.
    Enllaç a aquesta entradafunc _seg(m: WorldMap, t: Vector2i, a: int, b: int) -> Dictionary
    Paràmetres
    • m: WorldMap
    • t: Vector2i
    • a: int
    • b: int
    Retorna
    Dictionary
    Declarat a scripts/sim/vehicle.gd:442
  • Vehicle.SEA_ROOM constHow far a ship's straight leg keeps from land on either side (tiles).
    Enllaç a aquesta entradaconst SEA_ROOM := 0.3Declarat a scripts/sim/vehicle.gd:449
  • Vehicle.water_course static funcShips aren't held to the grid: they sail straight legs across open water, which bend only where something is in the way.
    Enllaç a aquesta entradastatic func water_course(m: WorldMap, tiles: Array) -> Dictionary

    tiles is a route of neighbouring sailable tiles (a Pathfinder answer); the course runs between its ends along the shortest way by water (Pathfinder.find_sea), pulled tight. Returns {"tiles": the tiles the legs pass through, neighbours again, "cross": where the course enters each of them (the first: its centre), "turn": 1 at each tile where two legs meet}.

    Paràmetres
    • m: WorldMap
    • tiles: Array
    Retorna
    Dictionary
    Crida
    Pathfinder.find_sea
    Declarat a scripts/sim/vehicle.gd:457
  • Vehicle._sea_clear static funcWhether a ship can sail straight from the centre of tile a to the centre of tile b, keeping SEA_ROOM clear of anything that isn't open water.
    Enllaç a aquesta entradastatic func _sea_clear(m: WorldMap, a: Vector2i, b: Vector2i) -> bool
    Paràmetres
    • m: WorldMap
    • a: Vector2i
    • b: Vector2i
    Retorna
    bool
    Declarat a scripts/sim/vehicle.gd:498
  • Vehicle._walk_line static funcThe tiles a straight line from p to q passes through after the first, in order and each the neighbour of the one before (through a corner it goes across first), appended to tiles, and where it enters each one appended to cross.
    Enllaç a aquesta entradastatic func _walk_line(p: Vector2, q: Vector2, tiles: Array[Vector2i], cross: PackedVector2Array) -> void
    Paràmetres
    • p: Vector2
    • q: Vector2
    • tiles: Array[Vector2i]
    • cross: PackedVector2Array
    Retorna
    void
    Declarat a scripts/sim/vehicle.gd:515
  • Vehicle.course_seg static funcThe piece of a ship's course (see water_course) in its kth tile.
    Enllaç a aquesta entradastatic func course_seg(c: Dictionary, k: int, a: int = -2, from: Variant = null) -> Dictionary

    a: the side it comes in by (-2: from the course, -1: from the tile centre); from: where it starts instead of the course's own entry point (a ship turning onto a new course mid-tile).

    Paràmetres
    • c: Dictionary
    • k: int
    • a: int = -2
    • from: Variant = null
    Retorna
    Dictionary
    Crida
    Const.opp, BuildOps.dir_between
    Declarat a scripts/sim/vehicle.gd:552
  • Vehicle.free_seg static funcA segment through tile t (sides a to b) along any curve: from p0 to p2, pulled towards c.
    Enllaç a aquesta entradastatic func free_seg(t: Vector2i, a: int, b: int, p0: Vector2, c: Vector2, p2: Vector2) -> Dictionary
    Paràmetres
    • t: Vector2i
    • a: int
    • b: int
    • p0: Vector2
    • c: Vector2
    • p2: Vector2
    Retorna
    Dictionary
    Declarat a scripts/sim/vehicle.gd:569
  • Vehicle.course_segs static funcEvery piece of a ship's course, first to last.
    Enllaç a aquesta entradastatic func course_segs(c: Dictionary) -> Array
    Paràmetres
    • c: Dictionary
    Retorna
    Array
    Declarat a scripts/sim/vehicle.gd:576
  • Vehicle._set_route funcSet off along tiles (from the head's tile): a ship's course is pulled straight first.
    Enllaç a aquesta entradafunc _set_route(m: WorldMap, tiles: Array[Vector2i]) -> void
    Paràmetres
    • m: WorldMap
    • tiles: Array[Vector2i]
    Retorna
    void
    Declarat a scripts/sim/vehicle.gd:584
  • Vehicle._first_seg funcThe first piece of a new route, from where the head is now.
    Enllaç a aquesta entradafunc _first_seg(m: WorldMap, a: int) -> Dictionary
    Paràmetres
    • m: WorldMap
    • a: int
    Retorna
    Dictionary
    Crida
    BuildOps.dir_between
    Declarat a scripts/sim/vehicle.gd:594
  • Vehicle._pos_back funcWalk d back from the head along the history: {"i": segment index, "u": position in it}.
    Enllaç a aquesta entradafunc _pos_back(d: float) -> Dictionary
    Paràmetres
    • d: float
    Retorna
    Dictionary
    Declarat a scripts/sim/vehicle.gd:605
  • Vehicle._back_i funcThe same walk as _pos_back without building a Dictionary: returns the segment index and leaves the position in it in _back_u.
    Enllaç a aquesta entradafunc _back_i(d: float) -> int
    Paràmetres
    • d: float
    Retorna
    int
    Declarat a scripts/sim/vehicle.gd:623
  • Vehicle.pos_at funcPosition d behind the nose, or Vector2.INF for a hidden segment when it is excluded.
    Enllaç a aquesta entradafunc pos_at(d: float, include_hidden: bool = true) -> Vector2
    Paràmetres
    • d: float
    • include_hidden: bool = true
    Retorna
    Vector2
    Declarat a scripts/sim/vehicle.gd:642
  • Vehicle.body_points funcPoints every step along the train from the nose to the tail (both included), leaving out the part still inside a depot shed.
    Enllaç a aquesta entradafunc body_points(step: float) -> PackedVector2Array

    For crash checks (see Sim._check_crashes).

    Paràmetres
    • step: float
    Retorna
    PackedVector2Array
    Declarat a scripts/sim/vehicle.gd:651
  • Vehicle.heading funcDirection of travel in the current tile (0..3).
    Enllaç a aquesta entradafunc heading() -> int
    Retorna
    int
    Crida
    Const.opp
    Declarat a scripts/sim/vehicle.gd:663
  • Vehicle.head_tile func
    Enllaç a aquesta entradafunc head_tile() -> Vector2i
    Retorna
    Vector2i

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:674
  • Vehicle.spawn funcPlace the vehicle stopped at the centre of station tile tile, facing direction facing.
    Enllaç a aquesta entradafunc spawn(tile: Vector2i, facing: int, m: WorldMap = null, hide_behind: bool = false) -> void

    A train's wagons are laid back along the actual track where there is some.

    Paràmetres
    • tile: Vector2i
    • facing: int
    • m: WorldMap = null
    • hide_behind: bool = false
    Retorna
    void
    Crida
    Const.opp
    Declarat a scripts/sim/vehicle.gd:684
  • Vehicle.update func
    Enllaç a aquesta entradafunc update(sim: Sim, dt: float) -> void
    Paràmetres
    • sim: Sim
    • dt: float
    Retorna
    void
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:724
  • Vehicle._remaining func
    Enllaç a aquesta entradafunc _remaining() -> float
    Retorna
    float

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:763
  • Vehicle._on_course funcWhether the ship is following a course worked out for its route (not one from an older save).
    Enllaç a aquesta entradafunc _on_course() -> bool
    Retorna
    bool
    Declarat a scripts/sim/vehicle.gd:780
  • Vehicle._move func
    Enllaç a aquesta entradafunc _move(sim: Sim, dt: float) -> void
    Paràmetres
    • sim: Sim
    • dt: float
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:784
  • Vehicle._trim funcDrop the history further back than the tail needs (the walk of _pos_back, stopping as soon as it is clear nothing can go).
    Enllaç a aquesta entradafunc _trim() -> void
    Retorna
    void
    Declarat a scripts/sim/vehicle.gd:836
  • Vehicle._advance funcStep the head into the next tile of the route.
    Enllaç a aquesta entradafunc _advance(sim: Sim) -> bool

    Returns false if movement must stop.

    Paràmetres
    • sim: Sim
    Retorna
    bool
    Crida
    BuildOps.dir_between, L.t, Const.opp
    Declarat a scripts/sim/vehicle.gd:852
  • Vehicle._gate funcRealistic blocking: whether the train must stop before it enters route[k], coming from route[k - 1]: 1 where a signal there faces it, 2 where route[k] is the first tile of a junction (RAIL-80: a junction is guarded as if signals stood round it), else 0.
    Enllaç a aquesta entradafunc _gate(m: WorldMap, k: int) -> int
    Paràmetres
    • m: WorldMap
    • k: int
    Retorna
    int
    Crida
    BuildOps.dir_between
    Declarat a scripts/sim/vehicle.gd:908
  • Vehicle.way_ahead funcThe blocks the train must have to itself before it may pass the gate in front of route[k] (see _gate): past a signal, the track beyond it; at a junction, the junction itself and the stretch it leaves it by.
    Enllaç a aquesta entradafunc way_ahead(m: WorldMap, blocks: Dictionary, k: int, gate: int) -> Array

    A train never stops on a junction: where the stretch past a junction is too short to hold the whole train before the next signal or junction, the way goes on past that one too, to the first place the train can wait clear of every junction. So a train is never let onto a junction it would then have to block while it waits for the track beyond.

    Paràmetres
    • m: WorldMap
    • blocks: Dictionary
    • k: int
    • gate: int
    Retorna
    Array
    Crida
    BuildOps.dir_between
    Declarat a scripts/sim/vehicle.gd:927
  • Vehicle._dir_in funcThe way the head entered the tile it is in, or -1.
    Enllaç a aquesta entradafunc _dir_in() -> int
    Retorna
    int
    Crida
    Const.opp
    Declarat a scripts/sim/vehicle.gd:973
  • Vehicle.claims_ahead funcThe blocks ahead the train has been let into but not reached yet, for Sim._update_occupancy: standing on a signal, the way past it; inside a junction, the stretch it leaves it by.
    Enllaç a aquesta entradafunc claims_ahead(m: WorldMap, blocks: Dictionary) -> Array
    Paràmetres
    • m: WorldMap
    • blocks: Dictionary
    Retorna
    Array
    Crida
    BuildOps.dir_between
    Declarat a scripts/sim/vehicle.gd:981
  • Vehicle._held_up funcWhether another train holds any of the way past the gate in front of route[k] (see _gate).
    Enllaç a aquesta entradafunc _held_up(sim: Sim, k: int, gate: int) -> bool

    When it doesn't, the way is claimed at once, so a second train at the same junction waits. Held at a junction, the train looks for another way round once a day: the other side of a passing loop. After waiting GIVE_UP_DAYS (a deadlock) it turns round if it can (see _deadlocked).

    Paràmetres
    • sim: Sim
    • k: int
    • gate: int
    Retorna
    bool
    Declarat a scripts/sim/vehicle.gd:998
  • Vehicle._deadlocked funcA train that has waited GIVE_UP_DAYS for the way ahead.
    Enllaç a aquesta entradafunc _deadlocked(sim: Sim, need: Array) -> bool

    It turns round and finds another way if there is one; only when there is none does it go on anyway. Of the trains that hold each other up, one acts at a time: they never all drive off at once into each other. Returns whether it still waits (or has just turned round: see _turned).

    Paràmetres
    • sim: Sim
    • need: Array
    Retorna
    bool
    Declarat a scripts/sim/vehicle.gd:1022
  • Vehicle._busy func
    Enllaç a aquesta entradafunc _busy(sim: Sim, need: Array) -> bool
    Paràmetres
    • sim: Sim
    • need: Array
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:1051
  • Vehicle._detour funcAnother way to where the route goes that keeps off the blocks other trains hold, from the tile the head is in through the same next tile (the junction ahead): the free side of a passing loop.
    Enllaç a aquesta entradafunc _detour(sim: Sim, blocks: Dictionary, need: Array) -> bool

    Taken only when it isn't much longer. Returns whether the route changed.

    Paràmetres
    • sim: Sim
    • blocks: Dictionary
    • need: Array
    Retorna
    bool
    Crida
    Pathfinder.find
    Declarat a scripts/sim/vehicle.gd:1062
  • Vehicle._red_signal_dist funcDistance to a red signal or a busy junction (or a wreck on the line) ahead within the next couple of tiles, or -1.
    Enllaç a aquesta entradafunc _red_signal_dist(sim: Sim) -> float
    Paràmetres
    • sim: Sim
    Retorna
    float
    Declarat a scripts/sim/vehicle.gd:1087
  • Vehicle._traffic_gap funcRoad traffic (RAIL-26): how far the front may go before it comes ROAD_GAP short of the back of the vehicle ahead in its lane, or -1 when nothing is in the way.
    Enllaç a aquesta entradafunc _traffic_gap(sim: Sim) -> float

    Only the vehicles whose front is in its own tile or the next three on its route are looked at (Sim.road_at); one is in its lane when it heads the way this one will cross that tile, so traffic the other way and across a junction passes. Held up for ROAD_GIVE_UP days on end, it drives through until the way is clear, so a jam always clears.

    Paràmetres
    • sim: Sim
    Retorna
    float
    Crida
    L.t
    Declarat a scripts/sim/vehicle.gd:1109
  • Vehicle._berth_dist funcShips (RAIL-26): each water tile in front of a dock is a berth for one ship.
    Enllaç a aquesta entradafunc _berth_dist(sim: Sim) -> float

    While another ship lies at the berth this one is heading for, it stops short of it: returns how far it may still go, or -1 when it may go in. After QUEUE_GIVE_UP days waiting it goes in anyway.

    Paràmetres
    • sim: Sim
    Retorna
    float
    Crida
    L.t
    Declarat a scripts/sim/vehicle.gd:1180
  • Vehicle._end_queue funcOut of a queue: the wait is over, and the status says where it is going again.
    Enllaç a aquesta entradafunc _end_queue() -> void
    Retorna
    void
    Declarat a scripts/sim/vehicle.gd:1198
  • Vehicle._heading_status func
    Enllaç a aquesta entradafunc _heading_status() -> String
    Retorna
    String
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:1204
  • Vehicle._free_stops funcThe stop tiles no other vehicle of its kind stands at or is on its way to (all of them when every one is): buses and trucks spread over a stop's tiles and ships over a dock's berths, as trains pick a free platform (RAIL-26).
    Enllaç a aquesta entradafunc _free_stops(sim: Sim, tiles: Dictionary) -> Dictionary
    Paràmetres
    • sim: Sim
    • tiles: Dictionary
    Retorna
    Dictionary
    Declarat a scripts/sim/vehicle.gd:1215
  • Vehicle._usable funcA stop the vehicle can actually use: still exists and has tiles of this vehicle's kind.
    Enllaç a aquesta entradafunc _usable(sim: Sim, st: Station) -> bool
    Paràmetres
    • sim: Sim
    • st: Station
    Retorna
    bool
    Declarat a scripts/sim/vehicle.gd:1226
  • Vehicle._skip_to_usable funcMove order_idx forward (starting at the current order) to the first usable stop.
    Enllaç a aquesta entradafunc _skip_to_usable(sim: Sim) -> bool
    Paràmetres
    • sim: Sim
    Retorna
    bool
    Declarat a scripts/sim/vehicle.gd:1231
  • Vehicle._go_lost funcNo route right now: wait and retry, backing off, and after a few failures try the next stop.
    Enllaç a aquesta entradafunc _go_lost(target: Station, ctx: Dictionary) -> void
    Paràmetres
    • target: Station
    • ctx: Dictionary
    Retorna
    void
    Crida
    L.t
    Declarat a scripts/sim/vehicle.gd:1240
  • Vehicle._reroute funcThe way ahead disappeared: find a new route from tile tile, where the head sits on edge side.
    Enllaç a aquesta entradafunc _reroute(sim: Sim, tile: Vector2i, side: int) -> bool
    Paràmetres
    • sim: Sim
    • tile: Vector2i
    • side: int
    Retorna
    bool
    Crida
    Pathfinder.find, Const.opp, L.t
    Declarat a scripts/sim/vehicle.gd:1252
  • Vehicle._extend_platform func
    Enllaç a aquesta entradafunc _extend_platform(sim: Sim, tiles: Array[Vector2i]) -> Array[Vector2i]
    Paràmetres
    • sim: Sim
    • tiles: Array[Vector2i]
    Retorna
    Array[Vector2i]
    Crida
    BuildOps.dir_between

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:1273
  • Vehicle._arrive func
    Enllaç a aquesta entradafunc _arrive(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Crida
    L.t, Economy.unload

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:1296
  • Vehicle._load func
    Enllaç a aquesta entradafunc _load(sim: Sim, st: Station) -> int
    Paràmetres
    • sim: Sim
    • st: Station
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:1337
  • Vehicle._load_transfers func
    Enllaç a aquesta entradafunc _load_transfers(source: Station, pickup: Station, c: String, room: int) -> int
    Paràmetres
    • source: Station
    • pickup: Station
    • c: String
    • room: int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:1371
  • Vehicle._note_pickup func
    Enllaç a aquesta entradafunc _note_pickup(st: Station, c: String, day: float) -> void
    Paràmetres
    • st: Station
    • c: String
    • day: float
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:1384
  • Vehicle._nearby_transfer_sources funcA feeder can't take transfers from its own drop-off orders, even from a nearby pickup stop.
    Enllaç a aquesta entradafunc _nearby_transfer_sources(sim: Sim, st: Station) -> Array[Station]
    Paràmetres
    • sim: Sim
    • st: Station
    Retorna
    Array[Station]
    Declarat a scripts/sim/vehicle.gd:1392
  • Vehicle.order_flag funcWhether the order this vehicle is carrying out at st has flag key (see ORDER_FLAGS).
    Enllaç a aquesta entradafunc order_flag(st: Station, key: String) -> bool
    Paràmetres
    • st: Station
    • key: String
    Retorna
    bool
    Declarat a scripts/sim/vehicle.gd:1403
  • Vehicle.transfers_at funcWhether this vehicle's orders say to leave cargo st doesn't accept there, for another vehicle (see Economy.unload): a transfer stop (RAIL-20) or an unload-only one (RAIL-36).
    Enllaç a aquesta entradafunc transfers_at(st: Station) -> bool
    Paràmetres
    • st: Station
    Retorna
    bool
    Declarat a scripts/sim/vehicle.gd:1412
  • Vehicle.loads_at funcWhether this vehicle may take cargo on at st: not at an unload-only or don't-load stop.
    Enllaç a aquesta entradafunc loads_at(st: Station) -> bool
    Paràmetres
    • st: Station
    Retorna
    bool
    Declarat a scripts/sim/vehicle.gd:1417
  • Vehicle.drops static funcWhether order o leaves the cargo its stop doesn't accept there: transfer and unload-only stops.
    Enllaç a aquesta entradastatic func drops(o: Dictionary) -> bool
    Paràmetres
    • o: Dictionary
    Retorna
    bool
    Declarat a scripts/sim/vehicle.gd:1422
  • Vehicle.transfer_stops static funcThe stations in orders where cargo is left for another vehicle (see drops).
    Enllaç a aquesta entradastatic func transfer_stops(p_orders: Array) -> Array
    Paràmetres
    • p_orders: Array
    Retorna
    Array
    Declarat a scripts/sim/vehicle.gd:1427
  • Vehicle.stranded static funcCargo that would be left on board for good: for each of cargos that a vehicle calling at stops could never deliver, [cargo, Station it is picked up at (null when no stop accepts it at all)].
    Enllaç a aquesta entradastatic func stranded(cargos: Array, stops: Array, transfers: Array = []) -> Array

    A stop never takes back what was loaded there (see Economy.unload), so cargo a stop supplies needs another stop that accepts it. A stop in transfers takes any cargo (to pass it on).

    Paràmetres
    • cargos: Array
    • stops: Array
    • transfers: Array = []
    Retorna
    Array
    Declarat a scripts/sim/vehicle.gd:1439
  • Vehicle._check_stuck funcCalled on arriving at st, after unloading: note cargo still on board that no stop in the orders accepts.
    Enllaç a aquesta entradafunc _check_stuck(sim: Sim, st: Station) -> void

    It stays there unpaid, filling the vehicle, until the orders change; the player is told (the vehicle window, the "needs attention" lists and, at most once a year, the news).

    Paràmetres
    • sim: Sim
    • st: Station
    Retorna
    void
    Crida
    L.t, L.lower
    Declarat a scripts/sim/vehicle.gd:1459
  • Vehicle.clear_stuck funcForget the undeliverable cargo (it was delivered, or the orders or the cargo changed).
    Enllaç a aquesta entradafunc clear_stuck() -> void
    Retorna
    void
    Declarat a scripts/sim/vehicle.gd:1494
  • Vehicle.problem funcWhat is wrong with the vehicle's route, for the player ("" when nothing is).
    Enllaç a aquesta entradafunc problem() -> String
    Retorna
    String
    Crida
    L.t, L.lower, L.n
    Declarat a scripts/sim/vehicle.gd:1500
  • Vehicle._wants_more funcWhether a full-load order should keep waiting: some wagon still has room for a cargo this station supplies, or that another of the company's vehicles brings here to transfer (a feeder's drop-off point that produces nothing itself); a mixed train doesn't wait for cargo that never comes here.
    Enllaç a aquesta entradafunc _wants_more(sim: Sim, st: Station) -> bool

    Never at a stop where it takes nothing on.

    Paràmetres
    • sim: Sim
    • st: Station
    Retorna
    bool
    Declarat a scripts/sim/vehicle.gd:1511
  • Vehicle._fed_here funcWhether another vehicle of the same company can leave cargo c here or at a nearby station.
    Enllaç a aquesta entradafunc _fed_here(sim: Sim, st: Station, nearby: Array[Station], c: String) -> bool
    Paràmetres
    • sim: Sim
    • st: Station
    • nearby: Array[Station]
    • c: String
    Retorna
    bool
    Declarat a scripts/sim/vehicle.gd:1531
  • Vehicle._pickup_fill funcHow full (0..1) the vehicle leaves st, counting only the cargos it can pick up here: ones the station supplies, or ones it actually took on (a transfer).
    Enllaç a aquesta entradafunc _pickup_fill(st: Station) -> float

    -1 at a pure drop-off, so leaving the far end of a one-way freight run empty doesn't halve the average load.

    Paràmetres
    • st: Station
    Retorna
    float
    Declarat a scripts/sim/vehicle.gd:1546
  • Vehicle._update_loading func
    Enllaç a aquesta entradafunc _update_loading(sim: Sim, dt: float) -> void
    Paràmetres
    • sim: Sim
    • dt: float
    Retorna
    void
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:1562
  • Vehicle._spacing_wait funcDays still to wait at the line's first stop to keep an even gap behind the vehicle that left before (0: go now).
    Enllaç a aquesta entradafunc _spacing_wait(sim: Sim) -> float

    Never longer than one gap all told, so a slow round can't hold a line up.

    Paràmetres
    • sim: Sim
    Retorna
    float
    Declarat a scripts/sim/vehicle.gd:1611
  • Vehicle.daily funcOnce a day: wear, and perhaps a breakdown.
    Enllaç a aquesta entradafunc daily(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Declarat a scripts/sim/vehicle.gd:1629
  • Vehicle.service_due func
    Enllaç a aquesta entradafunc service_due(sim: Sim) -> bool
    Paràmetres
    • sim: Sim
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:1638
  • Vehicle._break_down func
    Enllaç a aquesta entradafunc _break_down(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:1642
  • Vehicle._serviced func
    Enllaç a aquesta entradafunc _serviced(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Crida
    Data.reliability

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:1652
  • Vehicle._try_service funcHead for the nearest depot if one is close (any_distance: however far).
    Enllaç a aquesta entradafunc _try_service(sim: Sim, any_distance := false) -> bool

    Ships, aircraft and rivals' fleets are looked after at their stations instead. Returns true if the vehicle is now on its way to a depot.

    Paràmetres
    • sim: Sim
    • any_distance := false
    Retorna
    bool
    Crida
    Pathfinder.find
    Declarat a scripts/sim/vehicle.gd:1660
  • Vehicle._try_refit funcA change of cargo is waiting (see Sim.refit_vehicle): head for the nearest depot, however far, where it is done.
    Enllaç a aquesta entradafunc _try_refit(sim: Sim) -> bool

    Ships, aircraft and rivals have it done where they stand, and so does a company playing without depots when none can be reached. Returns true if now on its way to a depot.

    Paràmetres
    • sim: Sim
    Retorna
    bool
    Crida
    Pathfinder.find
    Declarat a scripts/sim/vehicle.gd:1679
  • Vehicle._depot_status func
    Enllaç a aquesta entradafunc _depot_status() -> String
    Retorna
    String
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:1694
  • Vehicle._go_to_depot funcLeave for the depot at the end of res (a Pathfinder route from the head's tile).
    Enllaç a aquesta entradafunc _go_to_depot(sim: Sim, res: Dictionary, goals: Dictionary) -> void
    Paràmetres
    • sim: Sim
    • res: Dictionary
    • goals: Dictionary
    Retorna
    void
    Crida
    BuildOps.dir_between, Const.opp
    Declarat a scripts/sim/vehicle.gd:1699
  • Vehicle._stop_no_orders funcHalt because no stop can be used.
    Enllaç a aquesta entradafunc _stop_no_orders(ctx: Dictionary = {}) -> void

    ctx remembers where the head is if it stopped mid-route, so starting again resumes from there instead of jumping to the tile centre.

    Paràmetres
    • ctx: Dictionary = {}
    Retorna
    void
    Crida
    L.t
    Declarat a scripts/sim/vehicle.gd:1720
  • Vehicle.resume funcRestart a stopped vehicle (from the vehicle window).
    Enllaç a aquesta entradafunc resume() -> void
    Retorna
    void
    Declarat a scripts/sim/vehicle.gd:1728
  • Vehicle._route_to_order funcLeave the current tile for the current order's station.
    Enllaç a aquesta entradafunc _route_to_order(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Crida
    L.t, BuildOps.dir_between, Const.opp
    Declarat a scripts/sim/vehicle.gd:1736
  • Vehicle._find funcPathfinder.find for this vehicle, remembering the answer under slot (-1: don't).
    Enllaç a aquesta entradafunc _find(sim: Sim, slot: int, start: Vector2i, h: int, goals: Dictionary, reverse_start: bool, uturn: bool) -> Dictionary

    The search depends only on the network, where it starts, the heading and the goal tiles, so the route found last time is still the one it would find as long as those are the same and the network hasn't changed anywhere the search looked (WorldMap.net_changed_in). Every departure asks again, and a remembered route is walked once more before it is used: never a route over track that has gone.

    Paràmetres
    • sim: Sim
    • slot: int
    • start: Vector2i
    • h: int
    • goals: Dictionary
    • reverse_start: bool
    • uturn: bool
    Retorna
    Dictionary
    Crida
    Pathfinder.find
    Declarat a scripts/sim/vehicle.gd:1781
  • Vehicle._route_stands funcWhether every step of tiles can still be driven (the checks _advance makes on the way).
    Enllaç a aquesta entradafunc _route_stands(m: WorldMap, tiles: Array[Vector2i]) -> bool
    Paràmetres
    • m: WorldMap
    • tiles: Array[Vector2i]
    Retorna
    bool
    Declarat a scripts/sim/vehicle.gd:1801
  • Vehicle._free_platforms funcThe platforms of a station no other train is standing at (all of them if every one is taken).
    Enllaç a aquesta entradafunc _free_platforms(sim: Sim, tiles: Dictionary) -> Dictionary

    A platform is a straight row of station tiles.

    Paràmetres
    • sim: Sim
    • tiles: Dictionary
    Retorna
    Dictionary
    Declarat a scripts/sim/vehicle.gd:1831
  • Vehicle._platform_row static func
    Enllaç a aquesta entradastatic func _platform_row(m: WorldMap, t: Vector2i) -> Vector2i
    Paràmetres
    • m: WorldMap
    • t: Vector2i
    Retorna
    Vector2i

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:1859
  • Vehicle._turn funcTurn the train round where it stands (RAIL-80) and route it on, keeping off the blocks in avoid.
    Enllaç a aquesta entradafunc _turn(sim: Sim, avoid: Dictionary = {}, skip_depot: bool = false) -> bool

    It heads for the depot it is on its way to, or else its next stop, or else another of its stops (taking that order up from there), or else any of the company's depots. With skip_depot (the player's Turn around) a trip to a depot for a service is dropped first. Returns whether it turned.

    Paràmetres
    • sim: Sim
    • avoid: Dictionary = {}
    • skip_depot: bool = false
    Retorna
    bool
    Crida
    L.t
    Declarat a scripts/sim/vehicle.gd:1870
  • Vehicle.turn_around funcThe player's Turn around (vehicle window): reverse a train out on the line and send it on to its next stop, the way it came if need be.
    Enllaç a aquesta entradafunc turn_around(sim: Sim) -> String

    A trip to a depot for a service is dropped. Returns "" or why it can't.

    Paràmetres
    • sim: Sim
    Retorna
    String
    Crida
    L.t
    Declarat a scripts/sim/vehicle.gd:1910
  • Vehicle._flip funcReverse a train in place: the last wagon becomes the front, then route onward from there, keeping off the blocks in avoid (see _turn).
    Enllaç a aquesta entradafunc _flip(sim: Sim, goals: Dictionary, slot: int = -1, avoid: Dictionary = {}) -> bool
    Paràmetres
    • sim: Sim
    • goals: Dictionary
    • slot: int = -1
    • avoid: Dictionary = {}
    Retorna
    bool
    Crida
    Pathfinder.find
    Declarat a scripts/sim/vehicle.gd:1924
  • Vehicle.car_poses funcWorld transforms of each car: [{"pos": Vector3, "dir": Vector3}] front to back.
    Enllaç a aquesta entradafunc car_poses(m: WorldMap) -> Array
    Paràmetres
    • m: WorldMap
    Retorna
    Array
    Declarat a scripts/sim/vehicle.gd:1959
  • Vehicle.place_at_airport funcPark at an airport (start of service).
    Enllaç a aquesta entradafunc place_at_airport(st: Station, m: WorldMap) -> void
    Paràmetres
    • st: Station
    • m: WorldMap
    Retorna
    void
    Declarat a scripts/sim/vehicle.gd:1999
  • Vehicle.head_tile_air func
    Enllaç a aquesta entradafunc head_tile_air() -> Vector2i
    Retorna
    Vector2i

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:2007
  • Vehicle._air_len func
    Enllaç a aquesta entradafunc _air_len() -> float
    Retorna
    float

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:2012
  • Vehicle._air_xy func
    Enllaç a aquesta entradafunc _air_xy() -> Vector2
    Retorna
    Vector2

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:2016
  • Vehicle._hold_entry funcWhere the plane broke off its approach: HOLD_AT short of the airport.
    Enllaç a aquesta entradafunc _hold_entry() -> Vector2
    Retorna
    Vector2
    Declarat a scripts/sim/vehicle.gd:2029
  • Vehicle._hold_centre func
    Enllaç a aquesta entradafunc _hold_centre() -> Vector2
    Retorna
    Vector2

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:2033
  • Vehicle._hold_r funcThe circle's radius: one of three sizes (by the plane's number), so planes that arrive together hold apart.
    Enllaç a aquesta entradafunc _hold_r() -> float
    Retorna
    float
    Declarat a scripts/sim/vehicle.gd:2040
  • Vehicle._hold_start funcThe angle round the circle of the point where the plane broke off.
    Enllaç a aquesta entradafunc _hold_start() -> float
    Retorna
    float
    Declarat a scripts/sim/vehicle.gd:2045
  • Vehicle._take_off funcStart a flight to target's airport.
    Enllaç a aquesta entradafunc _take_off(sim: Sim, target: Station) -> void
    Paràmetres
    • sim: Sim
    • target: Station
    Retorna
    void
    Crida
    L.t
    Declarat a scripts/sim/vehicle.gd:2051
  • Vehicle._move_air func
    Enllaç a aquesta entradafunc _move_air(sim: Sim, dt: float) -> void
    Paràmetres
    • sim: Sim
    • dt: float
    Retorna
    void
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:2082
  • Vehicle._hold funcOnce round the holding circle, the plane is back where it broke off its approach: it carries on with it if a stand has come free (or it has held for QUEUE_GIVE_UP days), else it goes round again.
    Enllaç a aquesta entradafunc _hold(sim: Sim, st: Station, vmax: float, dt: float) -> void
    Paràmetres
    • sim: Sim
    • st: Station
    • vmax: float
    • dt: float
    Retorna
    void
    Declarat a scripts/sim/vehicle.gd:2120
  • Vehicle._air_alt funcAltitude profile: taxi, climb out, cruise, descend and land.
    Enllaç a aquesta entradafunc _air_alt() -> float
    Retorna
    float
    Declarat a scripts/sim/vehicle.gd:2134
  • Vehicle._air_pose func
    Enllaç a aquesta entradafunc _air_pose(m: WorldMap) -> Dictionary
    Paràmetres
    • m: WorldMap
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/vehicle.gd:2143

WorldMap

  • WorldMap.Terrain enum
    Enllaç a aquesta entradaenum Terrain { GRASS, SAND, ROCK, SNOW, WATER }

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:6
  • WorldMap.changed signalEmitted after construction changes a rectangle of tiles.
    Enllaç a aquesta entradasignal changed(rect: Rect2i, what: int)

    what is a mask of CH_* flags.

    Paràmetres
    • rect: Rect2i
    • what: int
    Retorna
    signal changed(rect: Rect2i, what: int)
    Declarat a scripts/sim/world_map.gd:9
  • WorldMap.CH_TERRAIN const
    Enllaç a aquesta entradaconst CH_TERRAIN := 1

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:10
  • WorldMap.CH_NETWORK const
    Enllaç a aquesta entradaconst CH_NETWORK := 2

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:11
  • WorldMap.CH_OBJECTS const
    Enllaç a aquesta entradaconst CH_OBJECTS := 4

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:12
  • WorldMap.CH_TREES const
    Enllaç a aquesta entradaconst CH_TREES := 8

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:13
  • WorldMap.CH_ALL const
    Enllaç a aquesta entradaconst CH_ALL := 15

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:14
  • WorldMap.w var
    Enllaç a aquesta entradavar w: int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:16
  • WorldMap.h var
    Enllaç a aquesta entradavar h: int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:17
  • WorldMap.heights var(w+1)*(h+1) corner heights, 0..MAX_HEIGHT; 0 = sea floor
    Enllaç a aquesta entradavar heights := PackedByteArray()Declarat a scripts/sim/world_map.gd:18
  • WorldMap.corner_y varrendered corner heights in world units (seabed depth applied)
    Enllaç a aquesta entradavar corner_y := PackedFloat32Array()Declarat a scripts/sim/world_map.gd:19
  • WorldMap.terrain var
    Enllaç a aquesta entradavar terrain := PackedByteArray()

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:20
  • WorldMap.trees var
    Enllaç a aquesta entradavar trees := PackedByteArray()

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:21
  • WorldMap.variant var
    Enllaç a aquesta entradavar variant := PackedByteArray()

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:22
  • WorldMap.road varconnection bitmask N=1 E=2 S=4 W=8
    Enllaç a aquesta entradavar road := PackedByteArray()Declarat a scripts/sim/world_map.gd:23
  • WorldMap.rail var
    Enllaç a aquesta entradavar rail := PackedByteArray()

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:24
  • WorldMap.rail_owner varcompany id + 1 for track; 0 = none
    Enllaç a aquesta entradavar rail_owner := PackedByteArray()Declarat a scripts/sim/world_map.gd:25
  • WorldMap.objs varnull or a Dictionary with "kind": "house" | "industry" | "station"
    Enllaç a aquesta entradavar objs: Array = []Declarat a scripts/sim/world_map.gd:26
  • WorldMap.towns varTown objects generated for this world.
    Enllaç a aquesta entradavar towns: Array[Town] = []

    A town object gives access to its population, position, and council ratings.

    Declarat a scripts/sim/world_map.gd:27
  • WorldMap.industries varIndustries currently on the map.
    Enllaç a aquesta entradavar industries: Array[Industry] = []

    This collection can change as industries open, close, or progress through the eras.

    Declarat a scripts/sim/world_map.gd:28
  • WorldMap.industry_rev varBumped whenever an industry opens or closes during the game (RAIL-23, IndustryLife): what is made from the list of industries (their models, smoke, lights and labels, and the caches below and in Economy) is made again.
    Enllaç a aquesta entradavar industry_rev := 0

    Not saved.

    Declarat a scripts/sim/world_map.gd:32
  • WorldMap.era varThe era (an index into Data.ERAS) whose industry chains apply (RAIL-29): what industries take and make, and what towns make and take.
    Enllaç a aquesta entradavar era := 0

    Follows the date (Sim.sync_era); not saved.

    Declarat a scripts/sim/world_map.gd:35
  • WorldMap._near_ind var1 on tiles within BuildOps.INDUSTRY_GAP of an industry, rebuilt whenever an industry has come or gone since it was made (or the list has grown: the world is made, or loaded, by appending to it).
    Enllaç a aquesta entradavar _near_ind := PackedByteArray()Declarat a scripts/sim/world_map.gd:38
  • WorldMap._near_ind_n var
    Enllaç a aquesta entradavar _near_ind_n := -1

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:39
  • WorldMap._near_ind_rev var
    Enllaç a aquesta entradavar _near_ind_rev := -1

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:40
  • WorldMap.stations varStation objects in the current world.
    Enllaç a aquesta entradavar stations: Array[Station] = []

    A station can serve more than one transport mode, so use has_kind to select the desired type.

    Declarat a scripts/sim/world_map.gd:41
  • WorldMap.next_station_id var
    Enllaç a aquesta entradavar next_station_id := 1

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:42
  • WorldMap.crossings varBridges and tunnels: {"id", "kind" rail|road, "type" bridge|tunnel, "s0", "s1" (first and last span tile), "dir" (s0 -> s1), "level" (height level of the deck / tunnel floor), "owner" (company id + 1)}.
    Enllaç a aquesta entradavar crossings: Array = []

    For bridges the spans are the tiles strictly between the two ramps; for tunnels they include both portals.

    Declarat a scripts/sim/world_map.gd:46
  • WorldMap.spans varVector2i -> crossing
    Enllaç a aquesta entradavar spans := {}Declarat a scripts/sim/world_map.gd:47
  • WorldMap.depots varVector2i -> depot object (also in objs)
    Enllaç a aquesta entradavar depots := {}Declarat a scripts/sim/world_map.gd:48
  • WorldMap.elec var1 where the track has overhead wires
    Enllaç a aquesta entradavar elec := PackedByteArray()Declarat a scripts/sim/world_map.gd:49
  • WorldMap.next_crossing_id var
    Enllaç a aquesta entradavar next_crossing_id := 1

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:50
  • WorldMap.signals varRail signals on straight track: Vector2i -> 0 (two-way) or 1 + d (one-way, trains may only pass heading d).
    Enllaç a aquesta entradavar signals := {}Declarat a scripts/sim/world_map.gd:52
  • WorldMap.diag2 varTiles carrying two parallel diagonal pieces instead of a junction, per network: Vector2i -> 0 (pieces N-E and S-W) or 1 (pieces E-S and W-N).
    Enllaç a aquesta entradavar diag2 := {"rail": {}, "road": {}}Declarat a scripts/sim/world_map.gd:55
  • WorldMap.DIAG2_PAIRS const
    Enllaç a aquesta entradaconst DIAG2_PAIRS := [[[0, 1], [2, 3]], [[1, 2], [3, 0]]]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:56
  • WorldMap.EASE consthow far off the edge midpoint an eased join crosses (see piece_shape)
    Enllaç a aquesta entradaconst EASE := 0.125Declarat a scripts/sim/world_map.gd:57
  • WorldMap.net_version varbumped whenever the network or the objects change (the view redraws on it)
    Enllaç a aquesta entradavar net_version := 0Declarat a scripts/sim/world_map.gd:58
  • WorldMap.block_cache var
    Enllaç a aquesta entradavar block_cache := {}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:59
  • WorldMap.block_version varthe rail revision block_cache was built for (see net_rev)
    Enllaç a aquesta entradavar block_version := -1Declarat a scripts/sim/world_map.gd:60
  • WorldMap.NET_LOG_MAX constRevisions of the road and the rail network: they go up only when the network itself really changed (track, wires, signals, bridges, tunnels), not when a town merely adds a house.
    Enllaç a aquesta entradaconst NET_LOG_MAX := 512

    Each keeps the rectangles that changed lately, so a cached route can tell whether a change touched the part of the map it was searched over (see net_changed_in). None of this is saved.

    Declarat a scripts/sim/world_map.gd:65
  • WorldMap.road_rev var
    Enllaç a aquesta entradavar road_rev := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:66
  • WorldMap.rail_rev var
    Enllaç a aquesta entradavar rail_rev := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:67
  • WorldMap._road_log var
    Enllaç a aquesta entradavar _road_log: Array[Rect2i] = []

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:68
  • WorldMap._rail_log var
    Enllaç a aquesta entradavar _rail_log: Array[Rect2i] = []

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:69
  • WorldMap._net_synced var
    Enllaç a aquesta entradavar _net_synced := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:70
  • WorldMap._sh_road varthe network as it was at the last notify, to spot real changes
    Enllaç a aquesta entradavar _sh_road := PackedByteArray()Declarat a scripts/sim/world_map.gd:71
  • WorldMap._sh_rail var
    Enllaç a aquesta entradavar _sh_rail := PackedByteArray()

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:72
  • WorldMap._sh_elec var
    Enllaç a aquesta entradavar _sh_elec := PackedByteArray()

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:73
  • WorldMap._sh_state var
    Enllaç a aquesta entradavar _sh_state := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:74
  • WorldMap.station_rev varBumped when the stations' catchments change; with the two counts it keys eco_cache (Economy's industry <-> station links).
    Enllaç a aquesta entradavar station_rev := 0

    Not saved.

    Declarat a scripts/sim/world_map.gd:77
  • WorldMap.eco_cache var
    Enllaç a aquesta entradavar eco_cache := {}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:78
  • WorldMap._town_cargo_levels var
    Enllaç a aquesta entradavar _town_cargo_levels: Array[int] = []

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:79
  • WorldMap._shape_memo varpiece_shape results by tile (see shape_of): tile index -> {sides and network -> shape}.
    Enllaç a aquesta entradavar _shape_memo := {}

    Emptied around every change that is announced with notify. Not saved.

    Declarat a scripts/sim/world_map.gd:82
  • WorldMap.sea_memo varRoutes over water found by Pathfinder, by question (see Pathfinder._sea_memo).
    Enllaç a aquesta entradavar sea_memo := {}

    Emptied whenever the ground changes. Not saved.

    Declarat a scripts/sim/world_map.gd:85
  • WorldMap._init func
    Enllaç a aquesta entradafunc _init(width: int = Const.MAP_SIZE, height: int = Const.MAP_SIZE) -> void
    Paràmetres
    • width: int = Const.MAP_SIZE
    • height: int = Const.MAP_SIZE
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:88
  • WorldMap.set_era funcMove the chains to era e: every industry takes and makes what its kind does then.
    Enllaç a aquesta entradafunc set_era(e: int) -> void

    Stations take it on when they are next refreshed.

    Paràmetres
    • e: int
    Retorna
    void
    Declarat a scripts/sim/world_map.gd:106
  • WorldMap.is_electrified funcOverhead wires over this tile's track (bridge decks and tunnels count as wired).
    Enllaç a aquesta entradafunc is_electrified(t: Vector2i) -> bool
    Paràmetres
    • t: Vector2i
    Retorna
    bool
    Declarat a scripts/sim/world_map.gd:114
  • WorldMap.notify func
    Enllaç a aquesta entradafunc notify(rect: Rect2i, what: int) -> void
    Paràmetres
    • rect: Rect2i
    • what: int
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:121
  • WorldMap._town_cargo_levels_changed funcA population threshold changes acceptance at any stop serving that town, even far from the build.
    Enllaç a aquesta entradafunc _town_cargo_levels_changed() -> bool
    Retorna
    bool
    Crida
    Data.town_takes_by_size
    Declarat a scripts/sim/world_map.gd:150
  • WorldMap.net_rev funcThe revision of the road or rail network (-1 for anything else, which has none).
    Enllaç a aquesta entradafunc net_rev(kind: String) -> int

    Whatever caches something derived from the network keeps this number with it.

    Paràmetres
    • kind: String
    Retorna
    int
    Declarat a scripts/sim/world_map.gd:169
  • WorldMap.net_changed_in funcWhether the kind network changed inside box since revision since (true when it can't tell).
    Enllaç a aquesta entradafunc net_changed_in(kind: String, since: int, box: Rect2i) -> bool
    Paràmetres
    • kind: String
    • since: int
    • box: Rect2i
    Retorna
    bool
    Declarat a scripts/sim/world_map.gd:178
  • WorldMap.net_touch funcRecord that the kind network changed inside rect.
    Enllaç a aquesta entradafunc net_touch(kind: String, rect: Rect2i) -> void

    notify does this by itself for anything it can see (track, wires, signals, bridges and tunnels), so this is only for changes it can't.

    Paràmetres
    • kind: String
    • rect: Rect2i
    Retorna
    void
    Declarat a scripts/sim/world_map.gd:194
  • WorldMap.net_reset funcForget everything cached about the network and the stations (after loading, or after editing the map's arrays directly without notify).
    Enllaç a aquesta entradafunc net_reset() -> void
    Retorna
    void
    Declarat a scripts/sim/world_map.gd:209
  • WorldMap._net_state func
    Enllaç a aquesta entradafunc _net_state() -> int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:223
  • WorldMap._net_sync func
    Enllaç a aquesta entradafunc _net_sync() -> void
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:227
  • WorldMap._net_scan funcAfter a change inside rect: compare the network there with how it was, and record what changed.
    Enllaç a aquesta entradafunc _net_scan(rect: Rect2i) -> void
    Paràmetres
    • rect: Rect2i
    Retorna
    void
    Declarat a scripts/sim/world_map.gd:236
  • WorldMap.sig_allows funcWhether a train heading h may pass the signal on tile t (one-way signals only allow one way).
    Enllaç a aquesta entradafunc sig_allows(t: Vector2i, h: int) -> bool
    Paràmetres
    • t: Vector2i
    • h: int
    Retorna
    bool
    Declarat a scripts/sim/world_map.gd:272
  • WorldMap.sig_faces funcWhether the signal on t controls trains heading h (it faces them).
    Enllaç a aquesta entradafunc sig_faces(t: Vector2i, h: int) -> bool
    Paràmetres
    • t: Vector2i
    • h: int
    Retorna
    bool
    Declarat a scripts/sim/world_map.gd:278
  • WorldMap.block_key funcKey for the track a train travelling in direction d occupies on tile t: the tile itself on the ground, or a separate key on a bridge or in a tunnel (so the line overhead and the line underneath are different blocks).
    Enllaç a aquesta entradafunc block_key(t: Vector2i, d: int) -> Variant
    Paràmetres
    • t: Vector2i
    • d: int
    Retorna
    Variant
    Crida
    Const.opp
    Declarat a scripts/sim/world_map.gd:288
  • WorldMap.rail_junction funcWhether tile t is a junction on the ground, where three or four lines of track meet (RAIL-80).
    Enllaç a aquesta entradafunc rail_junction(t: Vector2i, d: int = -1) -> bool

    A junction is a block of its own even without signals (see blocks), and trains wait in front of it until it and the track beyond it are clear (Vehicle._way_ahead). With d, a train travelling that way on a bridge or in a tunnel over the tile isn't on the junction.

    Paràmetres
    • t: Vector2i
    • d: int = -1
    Retorna
    bool
    Declarat a scripts/sim/world_map.gd:302
  • WorldMap.block_key_at funcBlock key from a position (on a tile with two parallel diagonals, the half you're in decides).
    Enllaç a aquesta entradafunc block_key_at(p: Vector2, d: int) -> Variant
    Paràmetres
    • p: Vector2
    • d: int
    Retorna
    Variant
    Declarat a scripts/sim/world_map.gd:312
  • WorldMap.blocks funcTrack blocks: rail tiles grouped into connected stretches, split at signal tiles and where track meets a junction: a junction, or a few junctions side by side, is a block of its own (RAIL-80).
    Enllaç a aquesta entradafunc blocks() -> Dictionary

    Keyed by block_key().

    Retorna
    Dictionary
    Crida
    WorldMap.axis_of
    Declarat a scripts/sim/world_map.gd:325
  • WorldMap.ci func
    Enllaç a aquesta entradafunc ci(x: int, y: int) -> int
    Paràmetres
    • x: int
    • y: int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:384
  • WorldMap.ti func
    Enllaç a aquesta entradafunc ti(x: int, y: int) -> int
    Paràmetres
    • x: int
    • y: int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:388
  • WorldMap.in_bounds func
    Enllaç a aquesta entradafunc in_bounds(x: int, y: int) -> bool
    Paràmetres
    • x: int
    • y: int
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:392
  • WorldMap.near_industry funcWhether (x, y) lies within BuildOps.INDUSTRY_GAP tiles of an industry's footprint, diagonals included.
    Enllaç a aquesta entradafunc near_industry(x: int, y: int) -> bool
    Paràmetres
    • x: int
    • y: int
    Retorna
    bool
    Declarat a scripts/sim/world_map.gd:397
  • WorldMap.net_bits func
    Enllaç a aquesta entradafunc net_bits(kind: String, i: int) -> int
    Paràmetres
    • kind: String
    • i: int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:411
  • WorldMap.sailable funcOpen water ships can sail through (not under an oil rig or other industry).
    Enllaç a aquesta entradafunc sailable(i: int) -> bool

    The dock out at a rig stands in open water and ships sail onto it to berth.

    Paràmetres
    • i: int
    Retorna
    bool
    Declarat a scripts/sim/world_map.gd:421
  • WorldMap.linked funcTrue when tile t connects to its neighbour in direction d on the given network (both tiles carry the matching bit), including along bridges and through tunnels.
    Enllaç a aquesta entradafunc linked(kind: String, t: Vector2i, d: int) -> bool
    Paràmetres
    • kind: String
    • t: Vector2i
    • d: int
    Retorna
    bool
    Crida
    Const.opp
    Declarat a scripts/sim/world_map.gd:428
  • WorldMap.pieces funcThe pieces of track or road on a tile, as [edge, edge] pairs ([edge, -1] for a dead end).
    Enllaç a aquesta entradafunc pieces(kind: String, t: Vector2i) -> Array
    Paràmetres
    • kind: String
    • t: Vector2i
    Retorna
    Array
    Declarat a scripts/sim/world_map.gd:445
  • WorldMap._lone_corner funcWhether tile t has exactly the corner piece {a, b} on its own (or as one of two parallel diagonals).
    Enllaç a aquesta entradafunc _lone_corner(kind: String, t: Vector2i, a: int, b: int) -> bool
    Paràmetres
    • kind: String
    • t: Vector2i
    • a: int
    • b: int
    Retorna
    bool
    Declarat a scripts/sim/world_map.gd:464
  • WorldMap.chord_ends funcDiagonal runs: a corner piece (edges a, b) that continues across an edge into the mirrored corner on the next tile.
    Enllaç a aquesta entradafunc chord_ends(kind: String, t: Vector2i, a: int, b: int) -> int

    Returns a mask of which ends continue diagonally (1 = end a, 2 = end b), or 0 for an ordinary curve. Diagonal stretches are drawn and driven as straight 45-degree lines; an end that meets straight track eases in with a curve that leaves the edge square.

    Paràmetres
    • kind: String
    • t: Vector2i
    • a: int
    • b: int
    Retorna
    int
    Crida
    Const.opp
    Declarat a scripts/sim/world_map.gd:480
  • WorldMap.is_chord func
    Enllaç a aquesta entradafunc is_chord(kind: String, t: Vector2i, a: int, b: int) -> bool
    Paràmetres
    • kind: String
    • t: Vector2i
    • a: int
    • b: int
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:493
  • WorldMap._plain_straight funcWhether tile t carries nothing but one straight piece running through side d: plain ground track or road, with no station, level crossing, bridge or tunnel on it.
    Enllaç a aquesta entradafunc _plain_straight(kind: String, t: Vector2i, d: int) -> bool
    Paràmetres
    • kind: String
    • t: Vector2i
    • d: int
    Retorna
    bool
    Crida
    Const.opp
    Declarat a scripts/sim/world_map.gd:499
  • WorldMap.piece_shape funcThe full shape of the piece from edge a to edge b, as a mask (0 = an ordinary piece): 1, 2 end a / end b continues diagonally (see chord_ends) 4, 8 end a / end b is eased: where a diagonal run meets plain straight track, the bend is one wide curve from the middle of the straight tile to the far end of the first diagonal tile, so it crosses their shared edge EASE to one side of the midpoint 16, 32 (straight pieces) which side end a / end b is eased towards: clear = the next direction clockwise from that end, set = the one before it
    Enllaç a aquesta entradafunc piece_shape(kind: String, t: Vector2i, a: int, b: int) -> int
    Paràmetres
    • kind: String
    • t: Vector2i
    • a: int
    • b: int
    Retorna
    int
    Crida
    Const.opp
    Declarat a scripts/sim/world_map.gd:515
  • WorldMap.shape_of funcpiece_shape for road and rail, remembered: vehicles ask for the same pieces over and over as they drive.
    Enllaç a aquesta entradafunc shape_of(kind: String, t: Vector2i, a: int, b: int) -> int

    The answer only depends on the map near the tile, and notify forgets what it knew around every change.

    Paràmetres
    • kind: String
    • t: Vector2i
    • a: int
    • b: int
    Retorna
    int
    Declarat a scripts/sim/world_map.gd:545
  • WorldMap.flip_shape static funcshape for the same piece travelled the other way (ends a and b swapped).
    Enllaç a aquesta entradastatic func flip_shape(shape: int) -> int
    Paràmetres
    • shape: int
    Retorna
    int
    Declarat a scripts/sim/world_map.gd:565
  • WorldMap.piece_curve static funcControl points (tile-local, 0..1) of a piece from edge a to edge b with a non-zero shape (see piece_shape): a cubic curve.
    Enllaç a aquesta entradastatic func piece_curve(a: int, b: int, shape: int) -> Array

    Diagonal pieces are straight where both ends continue diagonally; an end that meets plain straight track is eased, sharing one wide bend with that tile; an end that meets anything else leaves the edge square, with a tighter S-bend.

    Paràmetres
    • a: int
    • b: int
    • shape: int
    Retorna
    Array
    Crida
    Const.opp
    Declarat a scripts/sim/world_map.gd:573
  • WorldMap.chord_curve static func
    Enllaç a aquesta entradastatic func chord_curve(a: int, b: int, ends: int) -> Array
    Paràmetres
    • a: int
    • b: int
    • ends: int
    Retorna
    Array

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:619
  • WorldMap.cubic_tangent static func
    Enllaç a aquesta entradastatic func cubic_tangent(c: Array, u: float) -> Vector2
    Paràmetres
    • c: Array
    • u: float
    Retorna
    Vector2

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:623
  • WorldMap.cubic static func
    Enllaç a aquesta entradastatic func cubic(c: Array, u: float) -> Vector2
    Paràmetres
    • c: Array
    • u: float
    Retorna
    Vector2

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:629
  • WorldMap.axis_of static func
    Enllaç a aquesta entradastatic func axis_of(d: int) -> int
    Paràmetres
    • d: int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:634
  • WorldMap.span_along funcThe bridge or tunnel of kind that tile t is part of, if travel in direction d runs along it.
    Enllaç a aquesta entradafunc span_along(kind: String, t: Vector2i, d: int) -> Variant
    Paràmetres
    • kind: String
    • t: Vector2i
    • d: int
    Retorna
    Variant
    Declarat a scripts/sim/world_map.gd:639
  • WorldMap.exit_bits funcDirections a vehicle heading h inside tile t may leave by: straight on along a bridge or tunnel, otherwise the ground connections.
    Enllaç a aquesta entradafunc exit_bits(kind: String, t: Vector2i, h: int) -> int
    Paràmetres
    • kind: String
    • t: Vector2i
    • h: int
    Retorna
    int
    Crida
    Const.opp
    Declarat a scripts/sim/world_map.gd:648
  • WorldMap.travel_y funcHeight vehicles travel at: the bridge deck or tunnel floor when running along one, else the ground.
    Enllaç a aquesta entradafunc travel_y(kind: String, fx: float, fz: float, dir: Vector2) -> float
    Paràmetres
    • kind: String
    • fx: float
    • fz: float
    • dir: Vector2
    Retorna
    float
    Declarat a scripts/sim/world_map.gd:662
  • WorldMap.portal_level funcLevel of the tunnel mouth on tile (x, y), or -1.
    Enllaç a aquesta entradafunc portal_level(x: int, y: int) -> int

    Mouth tiles are dug out flat to the tunnel floor.

    Paràmetres
    • x: int
    • y: int
    Retorna
    int
    Declarat a scripts/sim/world_map.gd:675
  • WorldMap.add_crossing func
    Enllaç a aquesta entradafunc add_crossing(c: Dictionary) -> void
    Paràmetres
    • c: Dictionary
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:682
  • WorldMap.remove_crossing func
    Enllaç a aquesta entradafunc remove_crossing(c: Dictionary) -> void
    Paràmetres
    • c: Dictionary
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:688
  • WorldMap.crossing_tiles static func
    Enllaç a aquesta entradastatic func crossing_tiles(c: Dictionary) -> Array[Vector2i]
    Paràmetres
    • c: Dictionary
    Retorna
    Array[Vector2i]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:695
  • WorldMap.corner func
    Enllaç a aquesta entradafunc corner(x: int, y: int) -> int
    Paràmetres
    • x: int
    • y: int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:706
  • WorldMap.corners funcCorner heights in order NW (x,y), NE (x+1,y), SE (x+1,y+1), SW (x,y+1).
    Enllaç a aquesta entradafunc corners(x: int, y: int) -> Vector4i
    Paràmetres
    • x: int
    • y: int
    Retorna
    Vector4i
    Declarat a scripts/sim/world_map.gd:711
  • WorldMap.tile_min func
    Enllaç a aquesta entradafunc tile_min(x: int, y: int) -> int
    Paràmetres
    • x: int
    • y: int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:715
  • WorldMap.tile_max func
    Enllaç a aquesta entradafunc tile_max(x: int, y: int) -> int
    Paràmetres
    • x: int
    • y: int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:720
  • WorldMap.is_water func
    Enllaç a aquesta entradafunc is_water(x: int, y: int) -> bool
    Paràmetres
    • x: int
    • y: int
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:725
  • WorldMap.slope funcBits of corners raised above the tile minimum (1=NW, 2=NE, 4=SE, 8=SW), plus 16 when steep.
    Enllaç a aquesta entradafunc slope(x: int, y: int) -> int
    Paràmetres
    • x: int
    • y: int
    Retorna
    int
    Declarat a scripts/sim/world_map.gd:730
  • WorldMap.is_flat func
    Enllaç a aquesta entradafunc is_flat(x: int, y: int) -> bool
    Paràmetres
    • x: int
    • y: int
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_map.gd:743
  • WorldMap.incline_axis funcAxis a tile is a simple incline along: 0 = along x, 1 = along y, -1 = not a simple incline.
    Enllaç a aquesta entradafunc incline_axis(x: int, y: int) -> int
    Paràmetres
    • x: int
    • y: int
    Retorna
    int
    Declarat a scripts/sim/world_map.gd:748
  • WorldMap.split_nw_se funcThe mesh folds along NW-SE when those corners match, else along NE-SW.
    Enllaç a aquesta entradafunc split_nw_se(x: int, y: int) -> bool
    Paràmetres
    • x: int
    • y: int
    Retorna
    bool
    Declarat a scripts/sim/world_map.gd:758
  • WorldMap.terrain_y funcExact height of the rendered terrain surface (matches the mesh triangles).
    Enllaç a aquesta entradafunc terrain_y(fx: float, fz: float) -> float
    Paràmetres
    • fx: float
    • fz: float
    Retorna
    float
    Declarat a scripts/sim/world_map.gd:763
  • WorldMap.surface_y funcVisible surface: terrain or water, whichever is higher.
    Enllaç a aquesta entradafunc surface_y(fx: float, fz: float) -> float

    Outside the map returns -INF.

    Paràmetres
    • fx: float
    • fz: float
    Retorna
    float
    Declarat a scripts/sim/world_map.gd:786
  • WorldMap.compute_corner_y funcRecompute rendered corner heights.
    Enllaç a aquesta entradafunc compute_corner_y() -> void

    Sea-floor corners sink deeper the farther they are from land.

    Retorna
    void
    Declarat a scripts/sim/world_map.gd:793

Industry

  • Industry.SIZE const
    Enllaç a aquesta entradaconst SIZE := 3

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:7
  • Industry.LOCAL_REACH constStaff (RAIL-28): people walk in from towns up to LOCAL_REACH tiles from the footprint, fewer the farther the edge of the town is; right next to it, a town lends LOCAL_PER_POP workers per resident.
    Enllaç a aquesta entradaconst LOCAL_REACH := 8.0

    Walkers-in fill at most LOCAL_MAX of the jobs: the rest takes commuters, however big the town.

    Declarat a scripts/sim/industry.gd:11
  • Industry.LOCAL_PER_POP const
    Enllaç a aquesta entradaconst LOCAL_PER_POP := 0.16

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:12
  • Industry.LOCAL_MAX const
    Enllaç a aquesta entradaconst LOCAL_MAX := 0.55

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:13
  • Industry.PRIMARY_MIN constOutput with nobody at work and with a full staff (see output_factor).
    Enllaç a aquesta entradaconst PRIMARY_MIN := 0.7Declarat a scripts/sim/industry.gd:15
  • Industry.PRIMARY_MAX const
    Enllaç a aquesta entradaconst PRIMARY_MAX := 1.5

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:16
  • Industry.PLANT_MIN const
    Enllaç a aquesta entradaconst PLANT_MIN := 0.8

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:17
  • Industry.PLANT_MAX const
    Enllaç a aquesta entradaconst PLANT_MAX := 1.3

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:18
  • Industry.SHIFT_BACK constOf the commuters who come to work, the share that goes home again by the same stations.
    Enllaç a aquesta entradaconst SHIFT_BACK := 1.0 / 3.0Declarat a scripts/sim/industry.gd:20
  • Industry.BUSY constStaffing from which an industry counts as busy: its noise carries farther (Town.land_value).
    Enllaç a aquesta entradaconst BUSY := 0.75Declarat a scripts/sim/industry.gd:22
  • Industry.id var
    Enllaç a aquesta entradavar id := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:24
  • Industry.type var
    Enllaç a aquesta entradavar type := ""

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:25
  • Industry.x var
    Enllaç a aquesta entradavar x := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:26
  • Industry.y var
    Enllaç a aquesta entradavar y := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:27
  • Industry.name var
    Enllaç a aquesta entradavar name := ""

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:28
  • Industry.prod_rate varmonthly output of a primary industry
    Enllaç a aquesta entradavar prod_rate := 0Declarat a scripts/sim/industry.gd:29
  • Industry.stock varsecondary output waiting to be shipped
    Enllaç a aquesta entradavar stock := {}Declarat a scripts/sim/industry.gd:30
  • Industry.produced varthis month, by cargo
    Enllaç a aquesta entradavar produced := {}Declarat a scripts/sim/industry.gd:31
  • Industry.transported var
    Enllaç a aquesta entradavar transported := {}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:32
  • Industry.received var
    Enllaç a aquesta entradavar received := {}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:33
  • Industry.produced_last var
    Enllaç a aquesta entradavar produced_last := {}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:34
  • Industry.transported_last var
    Enllaç a aquesta entradavar transported_last := {}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:35
  • Industry.received_last var
    Enllaç a aquesta entradavar received_last := {}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:36
  • Industry.history var[produced, transported] at each month end (last 24)
    Enllaç a aquesta entradavar history: Array = []Declarat a scripts/sim/industry.gd:37
  • Industry.workers varcommuters delivered to stations in reach this month (RAIL-28)
    Enllaç a aquesta entradavar workers := 0.0Declarat a scripts/sim/industry.gd:38
  • Industry.workers_last var
    Enllaç a aquesta entradavar workers_last := 0.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:39
  • Industry.shift_pax varcommuters going home, handed to stations at the next production run
    Enllaç a aquesta entradavar shift_pax := 0.0Declarat a scripts/sim/industry.gd:40
  • Industry.local_staff varwalkers-in from nearby towns, counted once a month (-1: not yet)
    Enllaç a aquesta entradavar local_staff := -1.0Declarat a scripts/sim/industry.gd:41
  • Industry.closing_day varIndustries come and go during the game (RAIL-23, IndustryLife): the game day a struggling one closes, warned a year ahead (-1: not at risk), and whether it has closed and left the map (what still holds on to it, a window or a label, lets go).
    Enllaç a aquesta entradavar closing_day := -1Declarat a scripts/sim/industry.gd:45
  • Industry.closed var
    Enllaç a aquesta entradavar closed := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:46
  • Industry.accepts varWhat it takes and makes in the map's era (Data.accepts / produces, RAIL-29): WorldMap.set_era keeps them up to date.
    Enllaç a aquesta entradavar accepts: Array = []

    Shared and read-only.

    Declarat a scripts/sim/industry.gd:49
  • Industry.produces var
    Enllaç a aquesta entradavar produces: Array = []

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:50
  • Industry.held varCargo delivered and not used yet: what a plant that needs every input holds until the rest comes, and what a wind farm site has had towards its total (Data.INDUSTRY "needs_all" and "builds").
    Enllaç a aquesta entradavar held := {}Declarat a scripts/sim/industry.gd:53
  • Industry.builders vara wind farm site: company id -> units it delivered
    Enllaç a aquesta entradavar builders := {}Declarat a scripts/sim/industry.gd:54
  • Industry.last_delivery vargame day cargo was last delivered to it (-1: never)
    Enllaç a aquesta entradavar last_delivery := -1.0Declarat a scripts/sim/industry.gd:55
  • Industry._init func
    Enllaç a aquesta entradafunc _init(p_id: int, p_type: String, px: int, py: int) -> void
    Paràmetres
    • p_id: int
    • p_type: String
    • px: int
    • py: int
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:58
  • Industry.info func
    Enllaç a aquesta entradafunc info() -> Dictionary
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:67
  • Industry.set_era funcTake on what its kind takes and makes in era era.
    Enllaç a aquesta entradafunc set_era(era: int) -> void
    Paràmetres
    • era: int
    Retorna
    void
    Crida
    Data.accepts, Data.produces
    Declarat a scripts/sim/industry.gd:72
  • Industry.built_share funcA wind farm site's progress: the share of the least complete of the cargos it needs (0..1).
    Enllaç a aquesta entradafunc built_share() -> float
    Retorna
    float
    Declarat a scripts/sim/industry.gd:78
  • Industry.center funcReturns the center of the industry footprint in map coordinates.
    Enllaç a aquesta entradafunc center() -> Vector2

    It can be used as the destination for a news message.

    Retorna
    Vector2
    Declarat a scripts/sim/industry.gd:86
  • Industry.tile_indices func
    Enllaç a aquesta entradafunc tile_indices(m: WorldMap) -> Array[int]
    Paràmetres
    • m: WorldMap
    Retorna
    Array[int]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:90
  • Industry.roll_month func
    Enllaç a aquesta entradafunc roll_month() -> void
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:98
  • Industry.transported_share funcShare of last month's production that was carried away (0..1).
    Enllaç a aquesta entradafunc transported_share(c: String) -> float
    Paràmetres
    • c: String
    Retorna
    float
    Declarat a scripts/sim/industry.gd:120
  • Industry.wanted funcStaff it wants each month (0: it runs without, and stations by it take no commuters).
    Enllaç a aquesta entradafunc wanted() -> int
    Retorna
    int
    Declarat a scripts/sim/industry.gd:128
  • Industry.local funcPeople who walk in from the towns around (see LOCAL_REACH), counted once a month.
    Enllaç a aquesta entradafunc local(m: WorldMap, index: StaffingIndex = null) -> float
    Paràmetres
    • m: WorldMap
    • index: StaffingIndex = null
    Retorna
    float
    Declarat a scripts/sim/industry.gd:168
  • Industry.local_from_towns func
    Enllaç a aquesta entradafunc local_from_towns(m: WorldMap, index: StaffingIndex = null) -> float
    Paràmetres
    • m: WorldMap
    • index: StaffingIndex = null
    Retorna
    float

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry.gd:174
  • Industry.rect_gap static funcDistance between the nearest edges of two rectangles (0 when they touch or overlap).
    Enllaç a aquesta entradastatic func rect_gap(a: Rect2, b: Rect2) -> float
    Paràmetres
    • a: Rect2
    • b: Rect2
    Retorna
    float
    Declarat a scripts/sim/industry.gd:186
  • Industry.commuters funcCommuters counting toward the staff: this month's, or last month's while this one is young.
    Enllaç a aquesta entradafunc commuters() -> float
    Retorna
    float
    Declarat a scripts/sim/industry.gd:193
  • Industry.staffing funcShare of the staff it wants that turns up (0..1); 1 for an industry that wants none.
    Enllaç a aquesta entradafunc staffing(m: WorldMap, index: StaffingIndex = null) -> float
    Paràmetres
    • m: WorldMap
    • index: StaffingIndex = null
    Retorna
    float
    Declarat a scripts/sim/industry.gd:198
  • Industry.output_factor funcHow the staff changes output: a primary industry makes PRIMARY_MIN..PRIMARY_MAX times its prod_rate, a processing plant turns PLANT_MIN..PLANT_MAX of each input unit into output.
    Enllaç a aquesta entradafunc output_factor(m: WorldMap, index: StaffingIndex = null) -> float

    An industry that wants no staff runs at 1.

    Paràmetres
    • m: WorldMap
    • index: StaffingIndex = null
    Retorna
    float
    Declarat a scripts/sim/industry.gd:208
  • Industry.hire funcCommuters delivered to a station in reach: takes on up to what it still needs this month and returns how many it took.
    Enllaç a aquesta entradafunc hire(m: WorldMap, n: float) -> float

    A third of them go home again (SHIFT_BACK, see Economy.produce).

    Paràmetres
    • m: WorldMap
    • n: float
    Retorna
    float
    Declarat a scripts/sim/industry.gd:219
  • Industry.nearest_town funcThe town with the nearest centre: where the industry window suggests bringing workers from.
    Enllaç a aquesta entradafunc nearest_town(m: WorldMap) -> Town
    Paràmetres
    • m: WorldMap
    Retorna
    Town
    Declarat a scripts/sim/industry.gd:227

Data

  • Data.CARGO constwagon: what one wagon holds (30 when not given).
    Enllaç a aquesta entradaconst CARGODeclarat a scripts/core/data.gd:5
  • Data.INDUSTRY constworkers: the staff it wants each month (RAIL-28, Industry.staffing), processing plants more than mines and farms.
    Enllaç a aquesta entradaconst INDUSTRY

    A power station makes nothing for staff to raise, so it wants none. The eras rewrite the chains (RAIL-29). takes and makes are what a kind takes and makes when it first appears; never read them (or later) directly, ask accepts / produces (or Industry's own lists, kept up to date with the map's era): - era: the era (index into ERAS) from which it is found on new maps and opens during the game. - later: what it takes and makes as well from a later era on: {era: {"takes": [...], "makes": [...]}}. - retires: the era from which it is on its way out: a mine's output drifts down every year, a customer nobody supplies may close, and no new ones open (IndustryLife). - needs_all: a plant that only works with every input (two or more): it holds what comes until the rest does, and turns each full set into as many units of output (Economy.deliver_to_industries). It is sited near makers of each input (WorldGen.find_site). - builds: a construction site: it takes these totals, then becomes the kind in becomes. count 0: never found on a new map or opened, only made from another (a finished wind farm). site: where it stands: on "land" (when not given), at "sea", on the "coast", or by a "town" (one of the biggest: a printing works, see WorldGen.find_site). Adding a chain: a new kind with its era, or a later entry on an existing one; town cargos go in TOWN_MAKES / TOWN_TAKES. Everything else (stations, AI, the map's chains, the timeline) follows.

    Declarat a scripts/core/data.gd:48
  • Data.TOWN_MAKES constCargo houses make the way they make mail (by the people in them), from the era given on: from the Late century towns stop being only customers.
    Enllaç a aquesta entradaconst TOWN_MAKES := {"mail": 0, "waste": 2}Declarat a scripts/core/data.gd:86
  • Data.TOWN_TAKES constCargo towns take, from the era given on: at stations that reach one of the buildings in at, or (pop) any house of a town of at least that many people.
    Enllaç a aquesta entradaconst TOWN_TAKESDeclarat a scripts/core/data.gd:89
  • Data.HOUSES constzone: R residential, C commercial, I light industry, L landmark.
    Enllaç a aquesta entradaconst HOUSES

    pop counts the people a building brings (residents or workers) - they all travel, so they all make passengers.

    Declarat a scripts/core/data.gd:95
  • Data.ZONE_NAMES const
    Enllaç a aquesta entradaconst ZONE_NAMES := {"R": "Residential", "C": "Commercial", "I": "Industrial", "L": "Landmark", "A": "Attraction"}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:115
  • Data.ATTRACTIONS constAttractions towns build as they grow: population needed, and whether it has to be by the sea.
    Enllaç a aquesta entradaconst ATTRACTIONSDeclarat a scripts/core/data.gd:117
  • Data.TOURIST_FARE constpassengers to a station serving an attraction pay this much more
    Enllaç a aquesta entradaconst TOURIST_FARE := 1.3Declarat a scripts/core/data.gd:124
  • Data.ERAS constAges of progress.
    Enllaç a aquesta entradaconst ERAS

    Each brings new kinds of buildings, more productive industry and faster-growing towns.

    Declarat a scripts/core/data.gd:127
  • Data.BUILD_INTRO constYear each building type starts appearing in towns.
    Enllaç a aquesta entradaconst BUILD_INTRO := {"apartment": 1955, "tower": 1962, "highrise": 1968, "modern": 1975, "mall": 1983, "techpark": 1992}Declarat a scripts/core/data.gd:135
  • Data.era_index static func
    Enllaç a aquesta entradastatic func era_index(year: int) -> int
    Paràmetres
    • year: int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:138
  • Data.can_build static func
    Enllaç a aquesta entradastatic func can_build(type: String, year: int) -> bool
    Paràmetres
    • type: String
    • year: int
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:146
  • Data._chains static vartype -> [{"accepts", "produces"} for each era], read-only
    Enllaç a aquesta entradastatic var _chains := {}Declarat a scripts/core/data.gd:152
  • Data._town_makes static varera -> cargos houses make
    Enllaç a aquesta entradastatic var _town_makes: Array = []Declarat a scripts/core/data.gd:153
  • Data._town_takes static varera -> {house type: [cargos it takes]}
    Enllaç a aquesta entradastatic var _town_takes: Array = []Declarat a scripts/core/data.gd:154
  • Data._town_sizes static varera -> {cargo: the people a town needs to take it}
    Enllaç a aquesta entradastatic var _town_sizes: Array = []Declarat a scripts/core/data.gd:155
  • Data._cargos static varera -> the cargos there are (see cargos)
    Enllaç a aquesta entradastatic var _cargos: Array = []Declarat a scripts/core/data.gd:156
  • Data.accepts static funcWhat an industry of type takes in era era (an index into ERAS): what it took when it first appeared and everything later eras added.
    Enllaç a aquesta entradastatic func accepts(type: String, era: int) -> Array

    Shared and read-only.

    Paràmetres
    • type: String
    • era: int
    Retorna
    Array
    Declarat a scripts/core/data.gd:161
  • Data.produces static funcWhat an industry of type makes in era era.
    Enllaç a aquesta entradastatic func produces(type: String, era: int) -> Array

    Shared and read-only.

    Paràmetres
    • type: String
    • era: int
    Retorna
    Array
    Declarat a scripts/core/data.gd:166
  • Data._chain static func
    Enllaç a aquesta entradastatic func _chain(type: String, era: int) -> Dictionary
    Paràmetres
    • type: String
    • era: int
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:170
  • Data.exists static funcWhether industries of type are around by era era.
    Enllaç a aquesta entradastatic func exists(type: String, era: int) -> bool
    Paràmetres
    • type: String
    • era: int
    Retorna
    bool
    Declarat a scripts/core/data.gd:192
  • Data.opens static funcWhether industries of type are found on new maps and open during the game by era era (a kind with count 0 is only ever made from another).
    Enllaç a aquesta entradastatic func opens(type: String, era: int) -> bool
    Paràmetres
    • type: String
    • era: int
    Retorna
    bool
    Declarat a scripts/core/data.gd:198
  • Data.retiring static funcWhether type is on its way out by era era (see INDUSTRY's retires).
    Enllaç a aquesta entradastatic func retiring(type: String, era: int) -> bool
    Paràmetres
    • type: String
    • era: int
    Retorna
    bool
    Declarat a scripts/core/data.gd:203
  • Data.town_makes static funcThe cargos houses make in era era, passengers aside (see TOWN_MAKES).
    Enllaç a aquesta entradastatic func town_makes(era: int) -> Array
    Paràmetres
    • era: int
    Retorna
    Array
    Declarat a scripts/core/data.gd:208
  • Data.town_takes static funcThe cargos each kind of house takes in era era, beyond what any town does (see TOWN_TAKES).
    Enllaç a aquesta entradastatic func town_takes(era: int) -> Dictionary
    Paràmetres
    • era: int
    Retorna
    Dictionary
    Declarat a scripts/core/data.gd:214
  • Data.town_takes_by_size static funcThe cargos any house of a big enough town takes in era era: {cargo: the people the town needs} (see TOWN_TAKES' pop).
    Enllaç a aquesta entradastatic func town_takes_by_size(era: int) -> Dictionary
    Paràmetres
    • era: int
    Retorna
    Dictionary
    Declarat a scripts/core/data.gd:221
  • Data.town_pop static funcThe people a town needs before it takes c (0: any town, or only some of its buildings).
    Enllaç a aquesta entradastatic func town_pop(c: String) -> int
    Paràmetres
    • c: String
    Retorna
    int
    Declarat a scripts/core/data.gd:227
  • Data._town_tables static func
    Enllaç a aquesta entradastatic func _town_tables() -> void
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:231
  • Data.cargos static funcThe cargos there are in era era, in ALL_CARGO order: passengers, what towns make and take, and what the kinds of industry around by then take and make.
    Enllaç a aquesta entradastatic func cargos(era: int) -> Array

    Shared and read-only.

    Paràmetres
    • era: int
    Retorna
    Array
    Declarat a scripts/core/data.gd:260
  • Data.era_changes static funcWhat era i changes in the industry chains, a sentence each (for the news and the Timeline).
    Enllaç a aquesta entradastatic func era_changes(i: int) -> Array
    Paràmetres
    • i: int
    Retorna
    Array
    Crida
    L.t, L.lower, Fmt.cargo_list, Fmt.int_commas
    Declarat a scripts/core/data.gd:278
  • Data.TOWN_PREFIX const
    Enllaç a aquesta entradaconst TOWN_PREFIX

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:308
  • Data.TOWN_SUFFIX const
    Enllaç a aquesta entradaconst TOWN_SUFFIX

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:312
  • Data.FREIGHT constCars (RAIL-32) are in ALL_CARGO only: trains carry them on car wagons, roads on the car transporter.
    Enllaç a aquesta entradaconst FREIGHT := ["coal", "wood", "grain", "oil", "goods", "food", "iron_ore", "steel", "fish", "mail", "paper", "news", "plastics", "waste", "electronics"]Declarat a scripts/core/data.gd:316
  • Data.ALL_CARGO const
    Enllaç a aquesta entradaconst ALL_CARGO

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:317
  • Data.BULK constWhat ships carry: newspapers aren't among them, as they would go stale long before a ship got anywhere.
    Enllaç a aquesta entradaconst BULK := ["coal", "wood", "grain", "oil", "goods", "food", "iron_ore", "steel", "fish", "paper", "plastics", "waste", "electronics"]Declarat a scripts/core/data.gd:320
  • Data.MODELS const
    Enllaç a aquesta entradaconst MODELS

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:323
  • Data.WAGON const
    Enllaç a aquesta entradaconst WAGON := {"cost": 6500, "run": 450}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:335
  • Data.REFIT constChanging cargo costs this share of the price: of a wagon for each wagon converted, of the whole vehicle for anything that isn't a train.
    Enllaç a aquesta entradaconst REFIT := 0.15Declarat a scripts/core/data.gd:338
  • Data.LENGTH constBody length in tiles for road vehicles, ships and aircraft that aren't the standard size (road 0.46, ships 0.9, aircraft 0.7).
    Enllaç a aquesta entradaconst LENGTHDeclarat a scripts/core/data.gd:342
  • Data.INTRO const
    Enllaç a aquesta entradaconst INTRO

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:351
  • Data.LATER_MODELS const
    Enllaç a aquesta entradaconst LATER_MODELS

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:359
  • Data.MOD_MODELS static varvehicle id -> the same fields as MODELS, plus "look" or "model", "mod"
    Enllaç a aquesta entradastatic var MOD_MODELS := {}Declarat a scripts/core/data.gd:402
  • Data.MOD_CARGO static varcargo id -> {"rate", "days"} overrides
    Enllaç a aquesta entradastatic var MOD_CARGO := {}Declarat a scripts/core/data.gd:403
  • Data.MOD_COMPANY_NAMES static var
    Enllaç a aquesta entradastatic var MOD_COMPANY_NAMES: Array = []

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:404
  • Data._town_prefixes static var
    Enllaç a aquesta entradastatic var _town_prefixes: Array = TOWN_PREFIX

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:405
  • Data._town_suffixes static var
    Enllaç a aquesta entradastatic var _town_suffixes: Array = TOWN_SUFFIX

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:406
  • Data.clear_mods static func
    Enllaç a aquesta entradastatic func clear_mods() -> void
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:409
  • Data.add_model static func
    Enllaç a aquesta entradastatic func add_model(id: String, m: Dictionary) -> void
    Paràmetres
    • id: String
    • m: Dictionary
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:417
  • Data.add_town_names static funcExtra name pieces for towns; replace drops the game's own.
    Enllaç a aquesta entradastatic func add_town_names(prefixes: Array, suffixes: Array, replace: bool = false) -> void
    Paràmetres
    • prefixes: Array
    • suffixes: Array
    • replace: bool = false
    Retorna
    void
    Declarat a scripts/core/data.gd:422
  • Data.town_prefixes static func
    Enllaç a aquesta entradastatic func town_prefixes() -> Array
    Retorna
    Array

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:429
  • Data.town_suffixes static func
    Enllaç a aquesta entradastatic func town_suffixes() -> Array
    Retorna
    Array

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:433
  • Data.has_model static funcChecks for an ID in the stock and enabled mod vehicle catalogs.
    Enllaç a aquesta entradastatic func has_model(id: String) -> bool

    Use this before looking up an ID from a mod or save.

    Paràmetres
    • id: String
    Retorna
    bool
    Declarat a scripts/core/data.gd:437
  • Data.model static funcReturns the definition dictionary for an existing vehicle model ID, including enabled mods.
    Enllaç a aquesta entradastatic func model(id: String) -> Dictionary

    Use has_model(id) first when the ID might be missing.

    Paràmetres
    • id: String
    Retorna
    Dictionary

    Exemple

    if Data.has_model("diesel"):
        var diesel := Data.model("diesel")
        note(str(diesel.cost))
    Declarat a scripts/core/data.gd:441
  • Data.all_models static funcReturns the model IDs from the stock and enabled mod catalogs.
    Enllaç a aquesta entradastatic func all_models() -> Array

    Use available(id, year) to filter by sale date.

    Retorna
    Array
    Declarat a scripts/core/data.gd:447
  • Data.intro_year static funcThe year a model goes on sale (0: from the start).
    Enllaç a aquesta entradastatic func intro_year(id: String) -> int
    Paràmetres
    • id: String
    Retorna
    int
    Declarat a scripts/core/data.gd:452
  • Data.intros static funcEvery model with an introduction year: id -> year.
    Enllaç a aquesta entradastatic func intros() -> Dictionary
    Retorna
    Dictionary
    Declarat a scripts/core/data.gd:459
  • Data.available static funcChecks whether the current year is at or after a model’s introduction year.
    Enllaç a aquesta entradastatic func available(id: String, year: int) -> bool

    Use has_model(id) separately to verify the ID.

    Paràmetres
    • id: String
    • year: int
    Retorna
    bool
    Declarat a scripts/core/data.gd:467
  • Data.look static funcThe game model whose 3D model (and size) a vehicle uses: itself, or a mod vehicle's "look".
    Enllaç a aquesta entradastatic func look(id: String) -> String
    Paràmetres
    • id: String
    Retorna
    String
    Declarat a scripts/core/data.gd:472
  • Data.cargo_rate static funcReturns the payment rate per unit of the named cargo over 25 tiles before age penalties.
    Enllaç a aquesta entradastatic func cargo_rate(c: String) -> float

    Uses the active mod override when one is set.

    Paràmetres
    • c: String
    Retorna
    float
    Declarat a scripts/core/data.gd:477
  • Data.cargo_days static funcReturns how many days the named cargo qualifies for the full rate.
    Enllaç a aquesta entradastatic func cargo_days(c: String) -> float

    Uses the active mod override when one is set.

    Paràmetres
    • c: String
    Retorna
    float
    Declarat a scripts/core/data.gd:481
  • Data.COST const
    Enllaç a aquesta entradaconst COST

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:484
  • Data.START_LOAN constwhat rivals start with (cash, all borrowed)
    Enllaç a aquesta entradaconst START_LOAN := 100000Declarat a scripts/core/data.gd:495
  • Data.PLAYER_START_LOANS constthe player's start-up loan choices
    Enllaç a aquesta entradaconst PLAYER_START_LOANS := [100000, 250000, 500000]Declarat a scripts/core/data.gd:496
  • Data.PLAYER_START_LOAN const...and the default
    Enllaç a aquesta entradaconst PLAYER_START_LOAN := 250000Declarat a scripts/core/data.gd:497
  • Data.BANKRUPT_MONTHS constmonths in the red before a company goes bankrupt
    Enllaç a aquesta entradaconst BANKRUPT_MONTHS := 12Declarat a scripts/core/data.gd:498
  • Data.MAX_LOAN const
    Enllaç a aquesta entradaconst MAX_LOAN := 500000

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:499
  • Data.LOAN_INTEREST const
    Enllaç a aquesta entradaconst LOAN_INTEREST := 0.04

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:500
  • Data.wagon_cap static func
    Enllaç a aquesta entradastatic func wagon_cap(cargo: String) -> int
    Paràmetres
    • cargo: String
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:503
  • Data.BRIDGES constBridge styles: cost multiplier, longest span (tiles between the ramps), year available.
    Enllaç a aquesta entradaconst BRIDGESDeclarat a scripts/core/data.gd:508
  • Data.BRIDGE_ORDER const
    Enllaç a aquesta entradaconst BRIDGE_ORDER := ["beam", "truss", "viaduct", "arch", "suspension"]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:515
  • Data.LIFE constYears a vehicle of this kind runs well; older ones put customers off.
    Enllaç a aquesta entradaconst LIFE := {"road": 15, "rail": 25, "water": 30, "air": 20}Declarat a scripts/core/data.gd:519
  • Data.BREAKDOWN_NAMES constBreakdowns (a new-game option): none, reduced, normal.
    Enllaç a aquesta entradaconst BREAKDOWN_NAMES := ["None", "Reduced", "Normal"]Declarat a scripts/core/data.gd:522
  • Data.BREAKDOWN_RATE const
    Enllaç a aquesta entradaconst BREAKDOWN_RATE := [0.0, 0.4, 1.0]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:523
  • Data.SERVICE_DAYS consta vehicle wants servicing this often
    Enllaç a aquesta entradaconst SERVICE_DAYS := 120Declarat a scripts/core/data.gd:524
  • Data.reliability static funcHow reliable a model is when new or just serviced (0..1): later designs are better made.
    Enllaç a aquesta entradastatic func reliability(model_id: String) -> float
    Paràmetres
    • model_id: String
    Retorna
    float
    Declarat a scripts/core/data.gd:528
  • Data.kind_name static func
    Enllaç a aquesta entradastatic func kind_name(kind: String) -> String
    Paràmetres
    • kind: String
    Retorna
    String
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/data.gd:536

AiPlayer

  • AiPlayer.NAMES const
    Enllaç a aquesta entradaconst NAMES

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:10
  • AiPlayer.ROUTES_PER_YEAR const
    Enllaç a aquesta entradaconst ROUTES_PER_YEAR := [1.0, 1.5, 3.0]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:13
  • AiPlayer.CEILINGS constshare of the maximum loan the AI will use for expansion
    Enllaç a aquesta entradaconst CEILINGS := [0.5, 0.75, 0.9]Declarat a scripts/sim/ai_player.gd:14
  • AiPlayer.THINK const
    Enllaç a aquesta entradaconst THINK := [[30, 60], [18, 40], [10, 24]]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:15
  • AiPlayer.FOUNDING const
    Enllaç a aquesta entradaconst FOUNDING := [150, 120, 50]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:18
  • AiPlayer.FOUNDING_GAP const
    Enllaç a aquesta entradaconst FOUNDING_GAP := [70, 60, 30]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:19
  • AiPlayer.COMPETE_SHARE const
    Enllaç a aquesta entradaconst COMPETE_SHARE := [0.35, 0.55, 0.8]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:21
  • AiPlayer.EXTRA_VEHICLES const
    Enllaç a aquesta entradaconst EXTRA_VEHICLES := [1, 3, 5]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:23
  • AiPlayer.RESERVE constcash kept in hand before repaying the loan
    Enllaç a aquesta entradaconst RESERVE := 100000Declarat a scripts/sim/ai_player.gd:24
  • AiPlayer.MIN_EARNING consta year's profit each vehicle must make before its route gets more
    Enllaç a aquesta entradaconst MIN_EARNING := 2500Declarat a scripts/sim/ai_player.gd:25
  • AiPlayer.PAIRS_COMPARED constindustry pairs weighed up before choosing a freight route
    Enllaç a aquesta entradaconst PAIRS_COMPARED := [1, 2, 4]Declarat a scripts/sim/ai_player.gd:26
  • AiPlayer.CLOSE_STEP consttiles of a closed route torn up in one go
    Enllaç a aquesta entradaconst CLOSE_STEP := 16Declarat a scripts/sim/ai_player.gd:27
  • AiPlayer.NO_PATH_FOR constnowhere to lay the line: the ground rarely changes, so wait four years
    Enllaç a aquesta entradaconst NO_PATH_FOR := 365 * 3Declarat a scripts/sim/ai_player.gd:28
  • AiPlayer.CLOSED_FOR consta route closed for losing money isn't tried again for ten years
    Enllaç a aquesta entradaconst CLOSED_FOR := 365 * 9Declarat a scripts/sim/ai_player.gd:29
  • AiPlayer.BUILD_RATE const
    Enllaç a aquesta entradaconst BUILD_RATE := {"rail": [2, 3, 4], "road": [3, 5, 7]}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:32
  • AiPlayer.REROUTES constways round something built across a line still being laid
    Enllaç a aquesta entradaconst REROUTES := 3Declarat a scripts/sim/ai_player.gd:33
  • AiPlayer.SHIPS_ROOM constmoney a rival can raise before it opens a ship route
    Enllaç a aquesta entradaconst SHIPS_ROOM := 120000Declarat a scripts/sim/ai_player.gd:35
  • AiPlayer.AIR_CASH constmoney in hand before it opens an air service...
    Enllaç a aquesta entradaconst AIR_CASH := 200000Declarat a scripts/sim/ai_player.gd:36
  • AiPlayer.AIR_ROUTES const...and how many it runs at most, by skill: airports aren't cheap
    Enllaç a aquesta entradaconst AIR_ROUTES := [1, 2, 4]Declarat a scripts/sim/ai_player.gd:37
  • AiPlayer.AIR_MIN consttiles between two towns worth flying
    Enllaç a aquesta entradaconst AIR_MIN := 40.0Declarat a scripts/sim/ai_player.gd:38
  • AiPlayer.SHIP_MAX consttiles apart at most: ships are slow, whatever the map's size
    Enllaç a aquesta entradaconst SHIP_MAX := {"freight": 80.0, "ferry": 60.0}Declarat a scripts/sim/ai_player.gd:39
  • AiPlayer.AIRPORT_REACH constan airport goes this close to the town centre
    Enllaç a aquesta entradaconst AIRPORT_REACH := 10Declarat a scripts/sim/ai_player.gd:40
  • AiPlayer.FERRIES constferry services a rival runs at most, by skill
    Enllaç a aquesta entradaconst FERRIES := [1, 1, 2]Declarat a scripts/sim/ai_player.gd:41
  • AiPlayer.FERRY_TOWN constpeople in each town a ferry links
    Enllaç a aquesta entradaconst FERRY_TOWN := 500Declarat a scripts/sim/ai_player.gd:42
  • AiPlayer.PORT_POP constpeople a town's dock or airport must have within reach
    Enllaç a aquesta entradaconst PORT_POP := {"water": 150, "air": 200}Declarat a scripts/sim/ai_player.gd:43
  • AiPlayer.SITES_FOR constdays a search for dock and airport sites is remembered
    Enllaç a aquesta entradaconst SITES_FOR := 30Declarat a scripts/sim/ai_player.gd:44
  • AiPlayer.WASTE_TOWN constpeople in a town a recycling line starts from (RAIL-29)
    Enllaç a aquesta entradaconst WASTE_TOWN := 800Declarat a scripts/sim/ai_player.gd:45
  • AiPlayer.level var
    Enllaç a aquesta entradavar level := 1

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:47
  • AiPlayer.loan_ceiling var
    Enllaç a aquesta entradavar loan_ceiling: float

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:48
  • AiPlayer.company var
    Enllaç a aquesta entradavar company: Company

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:51
  • AiPlayer.rng var
    Enllaç a aquesta entradavar rng := RandomNumberGenerator.new()

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:52
  • AiPlayer.next_think var
    Enllaç a aquesta entradavar next_think := 20

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:53
  • AiPlayer.routes var[{"kind", "cargo", "a": Station, "b": Station, "model", "wagons", "max"}], and optionally "consist" (a mixed train's wagons), "key" (its entry in failed) and "closing" (being torn up).
    Enllaç a aquesta entradavar routes: Array = []Declarat a scripts/sim/ai_player.gd:56
  • AiPlayer.failed var"kind:x,y" -> day it failed; tried again a year later
    Enllaç a aquesta entradavar failed := {}Declarat a scripts/sim/ai_player.gd:57
  • AiPlayer.project varThe route being built, or {}.
    Enllaç a aquesta entradavar project := {}

    "kind" (rail/road), "line" (the points to lay, in order), "at" (index of the last point laid so far), "head"/"tail" (points at either end that are station platforms, kept when the rest is re-routed), "reserved" (tiles a re-route must avoid), "route" (its entry for routes once it opens; its stations may still be missing), "buy" (vehicles to buy on opening), "finish" ("", or "bus"/"delivery"/"pickup": stops still to place in towns "town_a"/"town_b"), "news", "news_at" and "reroutes".

    Declarat a scripts/sim/ai_player.gd:64
  • AiPlayer._searched varthis think already ran a construction search (one a day is enough)
    Enllaç a aquesta entradavar _searched := falseDeclarat a scripts/sim/ai_player.gd:65
  • AiPlayer._sites varDock and airport sites found lately: key -> [day searched, sites].
    Enllaç a aquesta entradavar _sites := {}

    Not saved: it is only a cache.

    Declarat a scripts/sim/ai_player.gd:67
  • AiPlayer.debug static varprint why route attempts fail (playtest tooling)
    Enllaç a aquesta entradastatic var debug := falseDeclarat a scripts/sim/ai_player.gd:68
  • AiPlayer.slowest_manage static varthe longest think so far, in microseconds: looking after routes...
    Enllaç a aquesta entradastatic var slowest_manage := 0Declarat a scripts/sim/ai_player.gd:69
  • AiPlayer.slowest_expand static var...and planning a new one (benchmark tooling)
    Enllaç a aquesta entradastatic var slowest_expand := 0Declarat a scripts/sim/ai_player.gd:70
  • AiPlayer.create_competitors static func
    Enllaç a aquesta entradastatic func create_competitors(sim: Sim, count: int) -> void
    Paràmetres
    • sim: Sim
    • count: int
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:73
  • AiPlayer.daily func
    Enllaç a aquesta entradafunc daily(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:94
  • AiPlayer._expand func
    Enllaç a aquesta entradafunc _expand(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:111
  • AiPlayer._operating static funcIncome less the cost of running the network (vehicles, stations, track, interest) in ledger l.
    Enllaç a aquesta entradastatic func _operating(l: Dictionary) -> int
    Paràmetres
    • l: Dictionary
    Retorna
    int
    Declarat a scripts/sim/ai_player.gd:124
  • AiPlayer._troubled funcIn the red, or about to be: no time for new ventures.
    Enllaç a aquesta entradafunc _troubled() -> bool
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:130
  • AiPlayer._open_routes func
    Enllaç a aquesta entradafunc _open_routes() -> int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:134
  • AiPlayer._count_routes funcRoutes still open, of one kind ("" for all), and of one cargo if cargo is given.
    Enllaç a aquesta entradafunc _count_routes(kind: String, cargo := "") -> int
    Paràmetres
    • kind: String
    • cargo := ""
    Retorna
    int
    Declarat a scripts/sim/ai_player.gd:139
  • AiPlayer._scaled static funcConstruction prices follow the game's building-cost setting, for rivals as for the player.
    Enllaç a aquesta entradastatic func _scaled(sim: Sim, cost: int) -> int
    Paràmetres
    • sim: Sim
    • cost: int
    Retorna
    int
    Declarat a scripts/sim/ai_player.gd:148
  • AiPlayer._manage func
    Enllaç a aquesta entradafunc _manage(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Crida
    Data.wagon_cap, Data.model

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:154
  • AiPlayer._fleets funcOur vehicles sorted by the route they were bought for: one list for each entry of routes.
    Enllaç a aquesta entradafunc _fleets(sim: Sim) -> Array
    Paràmetres
    • sim: Sim
    Retorna
    Array
    Declarat a scripts/sim/ai_player.gd:245
  • AiPlayer._buy funcOne more vehicle of model for route r.
    Enllaç a aquesta entradafunc _buy(sim: Sim, r: Dictionary, model: String) -> bool
    Paràmetres
    • sim: Sim
    • r: Dictionary
    • model: String
    Retorna
    bool
    Crida
    Vehicle.stranded
    Declarat a scripts/sim/ai_player.gd:263
  • AiPlayer._close_route funcTear up a route nothing runs on any more: its stations (unless another route still calls there, or they aren't ours, like an oil rig's dock) and, for a railway, its track.
    Enllaç a aquesta entradafunc _close_route(sim: Sim, r: Dictionary) -> bool

    A stretch at a time, so a long line doesn't hold the game up. Returns true once nothing is left; vehicles in the way or an empty bank account mean another try next time.

    Paràmetres
    • sim: Sim
    • r: Dictionary
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:282
  • AiPlayer.industry_closed funcAn industry has closed (RAIL-23): a route left with nothing to load, or without one of its stops (an oil rig's dock goes with the rig), is given up at once - its vehicles sold, then its stations and track torn up like those of any route that stops paying - and so is a line still being built.
    Enllaç a aquesta entradafunc industry_closed(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Declarat a scripts/sim/ai_player.gd:320
  • AiPlayer._orphaned static funcA freight route whose loading end no longer has its cargo (the industry there closed), or whose other end no longer takes it (a wind farm site finished, a power station closed), or any route one of whose stations is gone.
    Enllaç a aquesta entradastatic func _orphaned(r: Dictionary) -> bool

    Stops a route doesn't have yet (a bus line still being built) are null.

    Paràmetres
    • r: Dictionary
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:337
  • AiPlayer._station_in_use func
    Enllaç a aquesta entradafunc _station_in_use(sim: Sim, st: Station, r: Dictionary) -> bool
    Paràmetres
    • sim: Sim
    • st: Station
    • r: Dictionary
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:346
  • AiPlayer._own_track_from funcOur own plain track joined to station st (the AI never shares track between its lines).
    Enllaç a aquesta entradafunc _own_track_from(sim: Sim, st: Station) -> Array[Vector2i]
    Paràmetres
    • sim: Sim
    • st: Station
    Retorna
    Array[Vector2i]
    Declarat a scripts/sim/ai_player.gd:359
  • AiPlayer._best_model funcThe newest model of a family the AI knows that's on sale and carries the cargo.
    Enllaç a aquesta entradafunc _best_model(sim: Sim, kind: String, cargo: String, current: String) -> String

    Aircraft stop at the narrowbody: the big jets want more passengers than the towns a rival flies between have.

    Paràmetres
    • sim: Sim
    • kind: String
    • cargo: String
    • current: String
    Retorna
    String
    Crida
    Data.available, Data.model
    Declarat a scripts/sim/ai_player.gd:386
  • AiPlayer._plan_line funcA construction plan without the money check (_afford borrows when the AI commits to it).
    Enllaç a aquesta entradafunc _plan_line(sim: Sim, kind: String, pts: Array[Vector2i]) -> Dictionary
    Paràmetres
    • sim: Sim
    • kind: String
    • pts: Array[Vector2i]
    Retorna
    Dictionary
    Crida
    BuildOps.plan_line
    Declarat a scripts/sim/ai_player.gd:400
  • AiPlayer._plan_route funcThe same for a line with bridges and tunnels on it (RouteBuilder.last_crossings, RAIL-52).
    Enllaç a aquesta entradafunc _plan_route(sim: Sim, kind: String, pts: Array[Vector2i], crossings: Array) -> Dictionary
    Paràmetres
    • sim: Sim
    • kind: String
    • pts: Array[Vector2i]
    • crossings: Array
    Retorna
    Dictionary
    Declarat a scripts/sim/ai_player.gd:408
  • AiPlayer._afford funcMake sure cost can be paid, borrowing if needed.
    Enllaç a aquesta entradafunc _afford(sim: Sim, cost: int) -> bool

    Returns false if it can't.

    Paràmetres
    • sim: Sim
    • cost: int
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:413
  • AiPlayer._try_new_route func
    Enllaç a aquesta entradafunc _try_new_route(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:426
  • AiPlayer._nothing_to_build static funcA line plan that is refused only because everything on it exists already (a road that's there).
    Enllaç a aquesta entradastatic func _nothing_to_build(plan: Dictionary) -> bool
    Paràmetres
    • plan: Dictionary
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:469
  • AiPlayer._why func
    Enllaç a aquesta entradafunc _why(msg: String) -> void
    Paràmetres
    • msg: String
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:473
  • AiPlayer._try_buses func
    Enllaç a aquesta entradafunc _try_buses(sim: Sim) -> bool
    Paràmetres
    • sim: Sim
    Retorna
    bool
    Crida
    RouteBuilder.find, RouteBuilder.jumps_for, L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:478
  • AiPlayer._links_towns funcWhether one of our passenger lines of kind (road or rail) already runs between these two towns.
    Enllaç a aquesta entradafunc _links_towns(a: Town, b: Town, kind: String = "road") -> bool
    Paràmetres
    • a: Town
    • b: Town
    • kind: String = "road"
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:541
  • AiPlayer._try_mail funcA mail van for one of our bus lines that has none yet: the stops are there already.
    Enllaç a aquesta entradafunc _try_mail(sim: Sim) -> bool
    Paràmetres
    • sim: Sim
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:552
  • AiPlayer._town_stop_tile static funcA straight town road tile near the centre that can take a stop.
    Enllaç a aquesta entradastatic func _town_stop_tile(m: WorldMap, t: Town) -> Dictionary
    Paràmetres
    • m: WorldMap
    • t: Town
    Retorna
    Dictionary
    Declarat a scripts/sim/ai_player.gd:578
  • AiPlayer._map_scale static func
    Enllaç a aquesta entradastatic func _map_scale(sim: Sim) -> float
    Paràmetres
    • sim: Sim
    Retorna
    float

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:594
  • AiPlayer._industry_pair funcPick a producing industry and the nearest industry that accepts its cargo within a distance band.
    Enllaç a aquesta entradafunc _industry_pair(sim: Sim, min_d: float, max_d: float, kind: String) -> Array

    A relaxed rival takes the first pair it comes across; better ones compare a few and take the one that should earn most (output not yet carried away x fare for the distance).

    Paràmetres
    • sim: Sim
    • min_d: float
    • max_d: float
    • kind: String
    Retorna
    Array
    Crida
    Data.town_pop, Data.cargo_rate
    Declarat a scripts/sim/ai_player.gd:601
  • AiPlayer._customer_rank static funcHow good a customer for c industry q is (RAIL-29), the best first, then the nearest: 2 a plant that needs every input and has the others, waiting for c (this completes a chain); 1 an ordinary customer; 0 one that won't keep making something of it: a wind farm site (finished one day, when it takes no more) or a plant still missing another input.
    Enllaç a aquesta entradastatic func _customer_rank(q: Industry, c: String) -> int

    Those pay for what is delivered all the same, so they do when there is nothing better.

    Paràmetres
    • q: Industry
    • c: String
    Retorna
    int
    Declarat a scripts/sim/ai_player.gd:661
  • AiPlayer._output static funcHow much c p makes in a month: a primary's rate, or what a processing plant made last month.
    Enllaç a aquesta entradastatic func _output(p: Industry, c: String) -> float
    Paràmetres
    • p: Industry
    • c: String
    Retorna
    float
    Declarat a scripts/sim/ai_player.gd:674
  • AiPlayer._customer_town static funcThe nearest town big enough to want goods and food (and of at least pop people), within a distance band of p.
    Enllaç a aquesta entradastatic func _customer_town(sim: Sim, p: Industry, min_d: float, max_d: float, pop: int = 0) -> Town
    Paràmetres
    • sim: Sim
    • p: Industry
    • min_d: float
    • max_d: float
    • pop: int = 0
    Retorna
    Town
    Declarat a scripts/sim/ai_player.gd:680
  • AiPlayer._good_source static funcA producing industry on land (see _producing).
    Enllaç a aquesta entradastatic func _good_source(ind: Industry) -> bool
    Paràmetres
    • ind: Industry
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:694
  • AiPlayer._producing static funcA primary industry, or a processing plant that's being supplied.
    Enllaç a aquesta entradastatic func _producing(ind: Industry) -> bool
    Paràmetres
    • ind: Industry
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:699
  • AiPlayer._served_by static func
    Enllaç a aquesta entradastatic func _served_by(sim: Sim, ind: Industry, c: String, who: Company) -> bool
    Paràmetres
    • sim: Sim
    • ind: Industry
    • c: String
    • who: Company
    Retorna
    bool
    Crida
    Economy.industry_stations

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:710
  • AiPlayer._served_by_anyone static func
    Enllaç a aquesta entradastatic func _served_by_anyone(sim: Sim, ind: Industry, c: String) -> bool
    Paràmetres
    • sim: Sim
    • ind: Industry
    • c: String
    Retorna
    bool
    Crida
    Economy.industry_stations

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:717
  • AiPlayer._terminal funcFind platform tiles near ind for a terminal of length tiles, ending on the side facing toward.
    Enllaç a aquesta entradafunc _terminal(sim: Sim, kind: String, ind: Industry, length: int, toward: Vector2, partner: Dictionary = {}) -> Dictionary

    Returns {"tiles", "axis", "end", "exit", "exit_dir"} or {}. partner: the terminal at the other end of the line, when that is chosen already.

    Paràmetres
    • sim: Sim
    • kind: String
    • ind: Industry
    • length: int
    • toward: Vector2
    • partner: Dictionary = {}
    Retorna
    Dictionary
    Declarat a scripts/sim/ai_player.gd:727
  • AiPlayer._terminal_in funcThe same for any area: the best site whose first tile lies in area.
    Enllaç a aquesta entradafunc _terminal_in(sim: Sim, kind: String, area: Rect2i, length: int, toward: Vector2, min_pop: int, partner: Dictionary = {}) -> Dictionary

    With min_pop, only sites whose catchment houses at least that many people count, and busier ones are preferred.

    Paràmetres
    • sim: Sim
    • kind: String
    • area: Rect2i
    • length: int
    • toward: Vector2
    • min_pop: int
    • partner: Dictionary = {}
    Retorna
    Dictionary
    Crida
    BuildOps.station_tile_problem, BuildOps.rail_tile_problem, BuildOps.road_tile_problem
    Declarat a scripts/sim/ai_player.gd:735
  • AiPlayer._try_waste funcA recycling line (RAIL-29): trucks carry the waste from a town's centre to a recycling plant within reach.
    Enllaç a aquesta entradafunc _try_waste(sim: Sim) -> bool

    Towns big enough to fill a truck now and then, and not served by us already.

    Paràmetres
    • sim: Sim
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:791
  • AiPlayer._count_routes_from funcOur open routes loading cargo at a stop in town t.
    Enllaç a aquesta entradafunc _count_routes_from(t: Town, cargo: String) -> int
    Paràmetres
    • t: Town
    • cargo: String
    Retorna
    int
    Declarat a scripts/sim/ai_player.gd:816
  • AiPlayer._try_trucks func
    Enllaç a aquesta entradafunc _try_trucks(sim: Sim) -> bool
    Paràmetres
    • sim: Sim
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:824
  • AiPlayer._try_rail func
    Enllaç a aquesta entradafunc _try_rail(sim: Sim) -> bool
    Paràmetres
    • sim: Sim
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:833
  • AiPlayer._try_pax_rail funcA passenger (and mail) railway between two sizeable towns a good way apart.
    Enllaç a aquesta entradafunc _try_pax_rail(sim: Sim) -> bool
    Paràmetres
    • sim: Sim
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:841
  • AiPlayer._build_pax_rail func
    Enllaç a aquesta entradafunc _build_pax_rail(sim: Sim, a: Town, b: Town, key: String) -> bool
    Paràmetres
    • sim: Sim
    • a: Town
    • b: Town
    • key: String
    Retorna
    bool
    Crida
    RouteBuilder.find, Const.opp, RouteBuilder.jumps_for, L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:864
  • AiPlayer._build_freight func
    Enllaç a aquesta entradafunc _build_freight(sim: Sim, kind: String, p: Industry, q: Industry, cargo: String) -> bool
    Paràmetres
    • sim: Sim
    • kind: String
    • p: Industry
    • q: Industry
    • cargo: String
    Retorna
    bool
    Crida
    RouteBuilder.find, Const.opp, RouteBuilder.jumps_for, Data.available, L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:913
  • AiPlayer._build_town_delivery funcA truck line from a processing plant to a stop in the middle of a town that takes its cargo, or with pickup the other way round: from a town stop that supplies it (waste) to p, which takes it.
    Enllaç a aquesta entradafunc _build_town_delivery(sim: Sim, p: Industry, town: Town, cargo: String, pickup := false) -> bool
    Paràmetres
    • sim: Sim
    • p: Industry
    • town: Town
    • cargo: String
    • pickup := false
    Retorna
    bool
    Crida
    Station.add_catchment, Station.coverage, RouteBuilder.find, RouteBuilder.jumps_for, L.t
    Declarat a scripts/sim/ai_player.gd:979
  • AiPlayer._try_ships funcA ship route: freight, or when there's none to try (no search was run), a ferry.
    Enllaç a aquesta entradafunc _try_ships(sim: Sim) -> bool

    A ferry earns far less than a freighter, so a rival runs only a few (FERRIES).

    Paràmetres
    • sim: Sim
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:1044
  • AiPlayer._try_ship_freight funcFreight by sea: a producing industry ships can call at (an oil rig, or one near the shore) and the nearest industry by the sea that takes its cargo, weighed up as in _industry_pair.
    Enllaç a aquesta entradafunc _try_ship_freight(sim: Sim) -> bool
    Paràmetres
    • sim: Sim
    Retorna
    bool
    Crida
    Data.cargo_rate
    Declarat a scripts/sim/ai_player.gd:1052
  • AiPlayer._build_ship_freight func
    Enllaç a aquesta entradafunc _build_ship_freight(sim: Sim, p: Industry, q: Industry, cargo: String) -> bool
    Paràmetres
    • sim: Sim
    • p: Industry
    • q: Industry
    • cargo: String
    Retorna
    bool
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:1098
  • AiPlayer._try_ferry funcA ferry between two towns of FERRY_TOWN+ people on the same water, 14 to SHIP_MAX tiles apart.
    Enllaç a aquesta entradafunc _try_ferry(sim: Sim) -> bool
    Paràmetres
    • sim: Sim
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:1115
  • AiPlayer._try_air funcAn air service between two big towns a good way apart: from a town, to the biggest one far enough away.
    Enllaç a aquesta entradafunc _try_air(sim: Sim) -> bool

    A town's airport is used again for its next service rather than building another.

    Paràmetres
    • sim: Sim
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:1145
  • AiPlayer._pair_key static func
    Enllaç a aquesta entradastatic func _pair_key(what: String, a: Town, b: Town) -> String
    Paràmetres
    • what: String
    • a: Town
    • b: Town
    Retorna
    String

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:1171
  • AiPlayer._build_town_link funcA passenger service of kind ("water" or "air") between two towns, calling at pa and pb (see _town_port).
    Enllaç a aquesta entradafunc _build_town_link(sim: Sim, kind: String, a: Town, b: Town, pa: Dictionary, pb: Dictionary) -> bool
    Paràmetres
    • sim: Sim
    • kind: String
    • a: Town
    • b: Town
    • pa: Dictionary
    • pb: Dictionary
    Retorna
    bool
    Crida
    L.t
    Declarat a scripts/sim/ai_player.gd:1177
  • AiPlayer._open_port_route funcBuild what a ship or air route still needs at either end (r.a, r.b: {"station"} for one that's there already, or a site {"tiles", "axis"}), buy its first count vehicles and open it.
    Enllaç a aquesta entradafunc _open_port_route(sim: Sim, r: Dictionary, count: int, news: String, news_at: Vector2) -> bool

    Nothing is built unless both ends can be, and each must supply or take the cargo as its end of the route should.

    Paràmetres
    • sim: Sim
    • r: Dictionary
    • count: int
    • news: String
    • news_at: Vector2
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:1194
  • AiPlayer._town_port funcWhere a passenger service of kind ("water" or "air") calls in town: a dock or airport of ours there already, or else the best site for a new one ({} when there's none).
    Enllaç a aquesta entradafunc _town_port(sim: Sim, kind: String, town: Town) -> Dictionary
    Paràmetres
    • sim: Sim
    • kind: String
    • town: Town
    Retorna
    Dictionary
    Declarat a scripts/sim/ai_player.gd:1243
  • AiPlayer._port_toward funcWhere a ship route for ind calls: our own dock that serves it already, an oil rig's open dock, or the shore site nearest toward.
    Enllaç a aquesta entradafunc _port_toward(sim: Sim, ind: Industry, toward: Vector2) -> Dictionary

    {} if ships can't reach it.

    Paràmetres
    • sim: Sim
    • ind: Industry
    • toward: Vector2
    Retorna
    Dictionary
    Crida
    Economy.industry_stations
    Declarat a scripts/sim/ai_player.gd:1254
  • AiPlayer._ports_of funcWhere ships can call for ind: an oil rig's own open dock, or the shore tiles near enough for a dock's catchment to reach it ([] inland).
    Enllaç a aquesta entradafunc _ports_of(sim: Sim, ind: Industry) -> Array

    Remembered for a while.

    Paràmetres
    • sim: Sim
    • ind: Industry
    Retorna
    Array
    Declarat a scripts/sim/ai_player.gd:1272
  • AiPlayer._industry_docks static func
    Enllaç a aquesta entradastatic func _industry_docks(m: WorldMap, ind: Industry) -> Array
    Paràmetres
    • m: WorldMap
    • ind: Industry
    Retorna
    Array

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:1276
  • AiPlayer._remembered funcA search for sites, done again only once it's SITES_FOR days old: the coast and the towns barely change from one think to the next, and a site that has gone is caught when it's built on.
    Enllaç a aquesta entradafunc _remembered(sim: Sim, key: String, search: Callable)
    Paràmetres
    • sim: Sim
    • key: String
    • search: Callable
    Retorna
    func _remembered(sim: Sim, key: String, search: Callable)
    Declarat a scripts/sim/ai_player.gd:1293
  • AiPlayer._port_site static funcThe best site near the centre of town for a dock (a shore tile) or an airport (a level 3x2 or 2x3 patch): most people within its reach, at least PORT_POP, less a little for each tile from the centre.
    Enllaç a aquesta entradastatic func _port_site(m: WorldMap, kind: String, town: Town) -> Dictionary

    {"tiles", "axis"}, or {} when there's none.

    Paràmetres
    • m: WorldMap
    • kind: String
    • town: Town
    Retorna
    Dictionary
    Declarat a scripts/sim/ai_player.gd:1304
  • AiPlayer._port_fits static funcWhether a dock (kind "water", one tile) or an airport ("air") can go on the tiles of r.
    Enllaç a aquesta entradastatic func _port_fits(m: WorldMap, kind: String, r: Rect2i) -> bool
    Paràmetres
    • m: WorldMap
    • kind: String
    • r: Rect2i
    Retorna
    bool
    Crida
    BuildOps.station_tile_problem
    Declarat a scripts/sim/ai_player.gd:1335
  • AiPlayer._pop_table static funcRunning totals of the people in the houses of area, so that those in any rectangle of it take four lookups (_pop_in) instead of a count tile by tile.
    Enllaç a aquesta entradastatic func _pop_table(m: WorldMap, area: Rect2i) -> PackedInt32Array
    Paràmetres
    • m: WorldMap
    • area: Rect2i
    Retorna
    PackedInt32Array
    Declarat a scripts/sim/ai_player.gd:1356
  • AiPlayer._pop_in static func
    Enllaç a aquesta entradastatic func _pop_in(sums: PackedInt32Array, area: Rect2i, r: Rect2i) -> int
    Paràmetres
    • sums: PackedInt32Array
    • area: Rect2i
    • r: Rect2i
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:1374
  • AiPlayer._berth static funcThe water tile ships berth at for a dock end of a route ({"station"} or a shore site).
    Enllaç a aquesta entradastatic func _berth(m: WorldMap, port: Dictionary) -> Vector2i
    Paràmetres
    • m: WorldMap
    • port: Dictionary
    Retorna
    Vector2i
    Crida
    BuildOps.dock_facing
    Declarat a scripts/sim/ai_player.gd:1387
  • AiPlayer._second_berth funcShips take turns at a berth (RAIL-26).
    Enllaç a aquesta entradafunc _second_berth(sim: Sim, fleet: Array) -> void

    A ship seen waiting (thinks are weeks apart, so it waits often) off one of our one-berth docks, where the ship in the berth is waiting for a full load, gets a second dock tile built beside the first, with a berth of its own - but only when the waiting ship has other work there: cargo to unload, or a different cargo to load. Two ships waiting for the same cargo gain nothing from a berth each: they would share it out between them, fill up no sooner, and then sail in convoy with nobody loading in between. Two berths at most, and an oil rig's dock is nobody's to extend.

    Paràmetres
    • sim: Sim
    • fleet: Array
    Retorna
    void
    Declarat a scripts/sim/ai_player.gd:1403
  • AiPlayer._berth_beside static funcA shore tile beside dock tile t, whose ships berth on the water facing it, where a second dock tile would have a berth of its own: on the same shore, facing the same way, so the two berths lie side by side, and on water no other dock berths at.
    Enllaç a aquesta entradastatic func _berth_beside(m: WorldMap, t: Vector2i, facing: int) -> Vector2i

    (-1, -1) if there's none.

    Paràmetres
    • m: WorldMap
    • t: Vector2i
    • facing: int
    Retorna
    Vector2i
    Crida
    BuildOps.dock_facing
    Declarat a scripts/sim/ai_player.gd:1429
  • AiPlayer._berth_taken static funcWhether a dock already berths at water tile w: one on the shore facing it, or an oil rig's dock standing on it.
    Enllaç a aquesta entradastatic func _berth_taken(m: WorldMap, w: Vector2i) -> bool
    Paràmetres
    • m: WorldMap
    • w: Vector2i
    Retorna
    bool
    Declarat a scripts/sim/ai_player.gd:1442
  • AiPlayer._sea_link static funcWhether ships can sail between the water tiles a and b by a way not much longer than the straight line (a long way round the coast pays no more than the short one).
    Enllaç a aquesta entradastatic func _sea_link(m: WorldMap, a: Vector2i, b: Vector2i) -> bool

    The search keeps to the water near that line, so even on a big sea it's quick.

    Paràmetres
    • m: WorldMap
    • a: Vector2i
    • b: Vector2i
    Retorna
    bool
    Crida
    Pathfinder.find_sea
    Declarat a scripts/sim/ai_player.gd:1457
  • AiPlayer._carries_from funcWhether one of our routes already loads c at a station serving ind (an oil rig's dock is nobody's, so _served_by doesn't see our tankers there).
    Enllaç a aquesta entradafunc _carries_from(sim: Sim, ind: Industry, c: String) -> bool
    Paràmetres
    • sim: Sim
    • ind: Industry
    • c: String
    Retorna
    bool
    Crida
    Economy.industry_stations
    Declarat a scripts/sim/ai_player.gd:1463
  • AiPlayer._start funcBegin laying line, a stretch a day (see project).
    Enllaç a aquesta entradafunc _start(line: Array[Vector2i], head: int, tail: int, reserved: Dictionary, to_lay: bool, route: Dictionary, buy: int, news: String, news_at: Vector2, extra: Dictionary = {}) -> void

    head/tail: points at the start/end of the line that are platforms. to_lay: false when every piece of it exists already (an existing road).

    Paràmetres
    • line: Array[Vector2i]
    • head: int
    • tail: int
    • reserved: Dictionary
    • to_lay: bool
    • route: Dictionary
    • buy: int
    • news: String
    • news_at: Vector2
    • extra: Dictionary = {}
    Retorna
    void
    Declarat a scripts/sim/ai_player.gd:1475
  • AiPlayer._construct funcA day's work on the line under construction, and opening it once it's finished.
    Enllaç a aquesta entradafunc _construct(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Declarat a scripts/sim/ai_player.gd:1484
  • AiPlayer._next_crossing static funcThe next bridge or tunnel the line under construction comes to ({} when none is left).
    Enllaç a aquesta entradastatic func _next_crossing(p: Dictionary) -> Dictionary
    Paràmetres
    • p: Dictionary
    Retorna
    Dictionary
    Declarat a scripts/sim/ai_player.gd:1536
  • AiPlayer._reroute funcA new way from where the line has got to, to its far end.
    Enllaç a aquesta entradafunc _reroute(sim: Sim) -> bool

    False if there's none (or the line has been re-routed too often already).

    Paràmetres
    • sim: Sim
    Retorna
    bool
    Crida
    BuildOps.dir_between, RouteBuilder.jumps_for, RouteBuilder.find
    Declarat a scripts/sim/ai_player.gd:1550
  • AiPlayer._open funcThe line is finished: place the stops still missing, buy the first vehicles and open for business.
    Enllaç a aquesta entradafunc _open(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Declarat a scripts/sim/ai_player.gd:1606
  • AiPlayer._abandon funcGive up the line under construction: what was built of it is torn up again (roads stay, as they do when a route closes) and the place isn't tried again for a while.
    Enllaç a aquesta entradafunc _abandon(sim: Sim, why: String) -> void
    Paràmetres
    • sim: Sim
    • why: String
    Retorna
    void
    Declarat a scripts/sim/ai_player.gd:1642
  • AiPlayer.to_dict func
    Enllaç a aquesta entradafunc to_dict() -> Dictionary
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:1661
  • AiPlayer._route_to_dict static func
    Enllaç a aquesta entradastatic func _route_to_dict(r: Dictionary) -> Dictionary
    Paràmetres
    • r: Dictionary
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:1681
  • AiPlayer._route_from_dict static funcA route saved by _route_to_dict, or {} if one of its stations is gone.
    Enllaç a aquesta entradastatic func _route_from_dict(r: Dictionary, by_id: Dictionary, partial := false) -> Dictionary

    With partial, a station not placed yet (-1) is allowed.

    Paràmetres
    • r: Dictionary
    • by_id: Dictionary
    • partial := false
    Retorna
    Dictionary
    Declarat a scripts/sim/ai_player.gd:1692
  • AiPlayer._flat static func
    Enllaç a aquesta entradastatic func _flat(tiles: Array) -> Array
    Paràmetres
    • tiles: Array
    Retorna
    Array

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:1713
  • AiPlayer._tiles static func
    Enllaç a aquesta entradastatic func _tiles(flat: Array) -> Array[Vector2i]
    Paràmetres
    • flat: Array
    Retorna
    Array[Vector2i]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:1721
  • AiPlayer.from_dict static func
    Enllaç a aquesta entradastatic func from_dict(sim: Sim, d: Dictionary) -> AiPlayer
    Paràmetres
    • sim: Sim
    • d: Dictionary
    Retorna
    AiPlayer

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/ai_player.gd:1728

BuildOps

  • BuildOps._plan static func
    Enllaç a aquesta entradastatic func _plan() -> Dictionary
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:8
  • BuildOps._fail static func
    Enllaç a aquesta entradastatic func _fail(p: Dictionary, t: Vector2i, why: String) -> void
    Paràmetres
    • p: Dictionary
    • t: Vector2i
    • why: String
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:12
  • BuildOps.dir_between static func
    Enllaç a aquesta entradastatic func dir_between(a: Vector2i, b: Vector2i) -> int
    Paràmetres
    • a: Vector2i
    • b: Vector2i
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:18
  • BuildOps.network_bits_ok static funcWhether a tile can carry a road or rail piece with the given full connection bitmask.
    Enllaç a aquesta entradastatic func network_bits_ok(m: WorldMap, x: int, y: int, bits: int, strict: bool = false) -> bool

    Flat tiles take any shape; simple inclines only take pieces running along the incline.

    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    • bits: int
    • strict: bool = false
    Retorna
    bool
    Declarat a scripts/sim/build_ops.gd:26
  • BuildOps._slope_reason static func
    Enllaç a aquesta entradastatic func _slope_reason(m: WorldMap, x: int, y: int) -> String
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    Retorna
    String
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:50
  • BuildOps._obj_reason static func
    Enllaç a aquesta entradastatic func _obj_reason(o: Dictionary) -> String
    Paràmetres
    • o: Dictionary
    Retorna
    String
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:58
  • BuildOps._is_crossing static func
    Enllaç a aquesta entradastatic func _is_crossing(existing_other: int, bits: int) -> bool
    Paràmetres
    • existing_other: int
    • bits: int
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:67
  • BuildOps.span_problem static funcGround construction under a bridge or over a tunnel: allowed only across its line.
    Enllaç a aquesta entradastatic func span_problem(m: WorldMap, x: int, y: int, bits: int) -> String
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    • bits: int
    Retorna
    String
    Crida
    L.t, WorldMap.axis_of
    Declarat a scripts/sim/build_ops.gd:72
  • BuildOps.under_bridge static func
    Enllaç a aquesta entradastatic func under_bridge(m: WorldMap, x: int, y: int) -> bool
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:86
  • BuildOps.rail_tile_problem static funcWhy rail with full bitmask bits can't go on this tile, or "" if it can.
    Enllaç a aquesta entradastatic func rail_tile_problem(m: WorldMap, x: int, y: int, bits: int) -> String
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    • bits: int
    Retorna
    String
    Crida
    L.t
    Declarat a scripts/sim/build_ops.gd:92
  • BuildOps.road_tile_problem static funcWhy road with full bitmask bits can't go on this tile, or "" if it can.
    Enllaç a aquesta entradastatic func road_tile_problem(m: WorldMap, x: int, y: int, bits: int) -> String
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    • bits: int
    Retorna
    String
    Crida
    L.t
    Declarat a scripts/sim/build_ops.gd:118
  • BuildOps.INDUSTRY_GAP constTiles of open ground towns leave around an industry's footprint: room for the player's station or loading bay, and no houses pressed against a cooling tower.
    Enllaç a aquesta entradaconst INDUSTRY_GAP := 2Declarat a scripts/sim/build_ops.gd:147
  • BuildOps.can_link_road static funcStricter rule used by town growth: no crossings, no stations, and no new street into the ground kept clear around an industry (joining a road already there is fine).
    Enllaç a aquesta entradastatic func can_link_road(m: WorldMap, x: int, y: int, d: int, strict: bool = false) -> bool
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    • d: int
    • strict: bool = false
    Retorna
    bool
    Crida
    Const.opp
    Declarat a scripts/sim/build_ops.gd:152
  • BuildOps.link_road static func
    Enllaç a aquesta entradastatic func link_road(m: WorldMap, x: int, y: int, d: int) -> void
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    • d: int
    Retorna
    void
    Crida
    Const.opp

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:171
  • BuildOps.can_build_house static funcHouses need a flat, dry, empty tile, clear of the ground kept around industries.
    Enllaç a aquesta entradastatic func can_build_house(m: WorldMap, x: int, y: int) -> bool
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    Retorna
    bool
    Declarat a scripts/sim/build_ops.gd:181
  • BuildOps.plan_line static funcPlan a road or rail line through consecutive, 4-adjacent tiles pts.
    Enllaç a aquesta entradastatic func plan_line(m: WorldMap, kind: String, pts: Array[Vector2i]) -> Dictionary

    Extra keys: kind, add (Vector2i -> bits to add).

    Paràmetres
    • m: WorldMap
    • kind: String
    • pts: Array[Vector2i]
    Retorna
    Dictionary
    Crida
    L.t, Const.opp
    Declarat a scripts/sim/build_ops.gd:194
  • BuildOps._parallel_diagonal static funcIf existing is one corner piece and adding the opposite corner, the pairing they form as two parallel diagonals (see WorldMap.diag2), else -1.
    Enllaç a aquesta entradastatic func _parallel_diagonal(existing: int, adding: int) -> int
    Paràmetres
    • existing: int
    • adding: int
    Retorna
    int
    Declarat a scripts/sim/build_ops.gd:245
  • BuildOps.apply_line static func
    Enllaç a aquesta entradastatic func apply_line(m: WorldMap, p: Dictionary) -> void
    Paràmetres
    • m: WorldMap
    • p: Dictionary
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:255
  • BuildOps.dock_facing static funcDirection from a shore tile down to open water, or -1.
    Enllaç a aquesta entradastatic func dock_facing(m: WorldMap, x: int, y: int) -> int

    Docks sit on a shore slope whose low edge meets the water (or on a level tile at the water's edge).

    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    Retorna
    int
    Declarat a scripts/sim/build_ops.gd:276
  • BuildOps.station_tile_problem static func
    Enllaç a aquesta entradastatic func station_tile_problem(m: WorldMap, kind: String, x: int, y: int, axis: int) -> String
    Paràmetres
    • m: WorldMap
    • kind: String
    • x: int
    • y: int
    • axis: int
    Retorna
    String
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:284
  • BuildOps.MAX_STATION_SPREAD consta station's tiles fit in a square this many tiles across
    Enllaç a aquesta entradaconst MAX_STATION_SPREAD := 20Declarat a scripts/sim/build_ops.gd:328
  • BuildOps.plan_station static funcPlan station tiles of kind ("rail" or "road") along axis.
    Enllaç a aquesta entradastatic func plan_station(m: WorldMap, kind: String, pts: Array[Vector2i], axis: int) -> Dictionary

    Extra keys: kind, axis, tiles, join (Station or null), catch (catchment incl. joined station), accepts, supplies, attractions (attraction types in the catchment).

    Paràmetres
    • m: WorldMap
    • kind: String
    • pts: Array[Vector2i]
    • axis: int
    Retorna
    Dictionary
    Crida
    L.t, Station.add_catchment, Station.coverage
    Declarat a scripts/sim/build_ops.gd:333
  • BuildOps.apply_station static func
    Enllaç a aquesta entradastatic func apply_station(m: WorldMap, p: Dictionary) -> Station
    Paràmetres
    • m: WorldMap
    • p: Dictionary
    Retorna
    Station
    Crida
    Station.make_name, WorldMap.axis_of

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:389
  • BuildOps.add_rig_dock static funcThe open dock an industry at sea (an oil rig) comes with, so a rig can be served by ship however far from the shore it stands.
    Enllaç a aquesta entradastatic func add_rig_dock(m: WorldMap, ind: Industry) -> Station

    Nobody owns it and every company's ships may load there. Made with the map, and on loading a save from before rigs had one. Returns the dock (the one it already has, if any), or null when no open water touches the rig.

    Paràmetres
    • m: WorldMap
    • ind: Industry
    Retorna
    Station
    Crida
    L.t, WorldMap.axis_of
    Declarat a scripts/sim/build_ops.gd:424
  • BuildOps.rig_dock_spot static funcWhere a rig's dock goes: a free water tile along one of the rig's sides, the one with the most open water around it (away from any shore), so ships come and go easily.
    Enllaç a aquesta entradastatic func rig_dock_spot(m: WorldMap, ind: Industry) -> Vector2i

    (-1, -1) if none.

    Paràmetres
    • m: WorldMap
    • ind: Industry
    Retorna
    Vector2i
    Declarat a scripts/sim/build_ops.gd:455
  • BuildOps.is_rig_dock static funcTrue on the tile of a rig's own dock (see add_rig_dock).
    Enllaç a aquesta entradastatic func is_rig_dock(o) -> bool
    Paràmetres
    • o
    Retorna
    bool
    Declarat a scripts/sim/build_ops.gd:486
  • BuildOps.bulldoze_target static funcWhat bulldozing a tile would remove (one layer: station, track, road, building or trees) and its cost.
    Enllaç a aquesta entradastatic func bulldoze_target(m: WorldMap, x: int, y: int, who_id: int = -1) -> Dictionary

    who_id: the company bulldozing. On a level crossing over someone else's track it takes the road.

    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    • who_id: int = -1
    Retorna
    Dictionary
    Crida
    Town.anchor_of, Town.footprint, WorldMap.crossing_tiles
    Declarat a scripts/sim/build_ops.gd:494
  • BuildOps.plan_bulldoze static funcExtra keys: rect, count.
    Enllaç a aquesta entradastatic func plan_bulldoze(m: WorldMap, rect: Rect2i, who_id: int = -1) -> Dictionary
    Paràmetres
    • m: WorldMap
    • rect: Rect2i
    • who_id: int = -1
    Retorna
    Dictionary
    Crida
    L.t
    Declarat a scripts/sim/build_ops.gd:526
  • BuildOps.apply_bulldoze static funcApplies to every removable tile in the rect; industries are skipped.
    Enllaç a aquesta entradastatic func apply_bulldoze(m: WorldMap, p: Dictionary) -> void
    Paràmetres
    • m: WorldMap
    • p: Dictionary
    Retorna
    void
    Crida
    WorldMap.crossing_tiles, Town.footprint, Const.opp
    Declarat a scripts/sim/build_ops.gd:566
  • BuildOps.plan_terraform static funcRaise (delta = 1) or lower (delta = -1) one tile corner.
    Enllaç a aquesta entradastatic func plan_terraform(m: WorldMap, c: Vector2i, delta: int) -> Dictionary

    Neighbouring corners follow so that edge-adjacent corners never differ by more than one level. Extra keys: corner, corners (Vector2i -> new height), tiles (affected tiles).

    Paràmetres
    • m: WorldMap
    • c: Vector2i
    • delta: int
    Retorna
    Dictionary
    Crida
    L.t
    Declarat a scripts/sim/build_ops.gd:648
  • BuildOps.apply_terraform static func
    Enllaç a aquesta entradastatic func apply_terraform(m: WorldMap, p: Dictionary) -> void
    Paràmetres
    • m: WorldMap
    • p: Dictionary
    Retorna
    void
    Crida
    TerrainGen.classify_tile

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:701
  • BuildOps.plan_level static funcLevel the tiles in rect (all their corners) to height, as far as the rules allow.
    Enllaç a aquesta entradastatic func plan_level(m: WorldMap, rect: Rect2i, height: int, blocked: Dictionary = {}) -> Dictionary

    Corners move one level at a time - cutting from the top down, then filling from the bottom up - and drag their neighbours along the way plan_terraform does, so edge-adjacent corners never differ by more than one level. A tile that can't change shape (a building, road or track, a bridge or tunnel, water, or a tile in blocked: tile -> reason) pins its corners, and any move that would disturb a pinned corner is left out; the rest of the area is still levelled. Trees on tiles that change shape are cleared. Extra keys: rect, height, corners (Vector2i -> new height), steps (corner moves, each costing Data.COST.terraform), tiles (tiles that change shape), trees (those of them with trees), why (refused tile -> reason; the same tiles are in bad).

    Paràmetres
    • m: WorldMap
    • rect: Rect2i
    • height: int
    • blocked: Dictionary = {}
    Retorna
    Dictionary
    Crida
    L.t
    Declarat a scripts/sim/build_ops.gd:723
  • BuildOps._level_problem static funcWhy tile t can't change shape while levelling ("" if it can).
    Enllaç a aquesta entradastatic func _level_problem(m: WorldMap, t: Vector2i, blocked: Dictionary) -> String
    Paràmetres
    • m: WorldMap
    • t: Vector2i
    • blocked: Dictionary
    Retorna
    String
    Crida
    L.t
    Declarat a scripts/sim/build_ops.gd:783
  • BuildOps._level_step static funcMove corner c one level (delta) to v, dragging neighbours along.
    Enllaç a aquesta entradastatic func _level_step(m: WorldMap, c: Vector2i, v: int, delta: int, work: Dictionary, blocked: Dictionary, problems: Dictionary, p: Dictionary) -> bool

    Fails, changing nothing in work, when a corner that would move belongs to a tile that can't change (recorded in p.why).

    Paràmetres
    • m: WorldMap
    • c: Vector2i
    • v: int
    • delta: int
    • work: Dictionary
    • blocked: Dictionary
    • problems: Dictionary
    • p: Dictionary
    Retorna
    bool
    Declarat a scripts/sim/build_ops.gd:800
  • BuildOps.apply_level static func
    Enllaç a aquesta entradastatic func apply_level(m: WorldMap, p: Dictionary) -> void
    Paràmetres
    • m: WorldMap
    • p: Dictionary
    Retorna
    void
    Crida
    TerrainGen.classify_tile

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:838
  • BuildOps.MAX_BRIDGE const
    Enllaç a aquesta entradaconst MAX_BRIDGE := 24

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:857
  • BuildOps.MAX_TUNNEL const
    Enllaç a aquesta entradaconst MAX_TUNNEL := 30

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:858
  • BuildOps.edge_heights static funcCorner heights of the edge of tile t facing direction d.
    Enllaç a aquesta entradastatic func edge_heights(m: WorldMap, t: Vector2i, d: int) -> Vector2i
    Paràmetres
    • m: WorldMap
    • t: Vector2i
    • d: int
    Retorna
    Vector2i
    Declarat a scripts/sim/build_ops.gd:862
  • BuildOps._end_piece static funcThe network piece a bridge or tunnel needs on tile t (toward direction d), added to the plan.
    Enllaç a aquesta entradastatic func _end_piece(m: WorldMap, p: Dictionary, t: Vector2i, d: int) -> void
    Paràmetres
    • m: WorldMap
    • p: Dictionary
    • t: Vector2i
    • d: int
    Retorna
    void
    Declarat a scripts/sim/build_ops.gd:871
  • BuildOps.plan_bridge static funcA bridge from ramp tile a to ramp tile b (same row or column).
    Enllaç a aquesta entradastatic func plan_bridge(m: WorldMap, kind: String, a: Vector2i, b: Vector2i, style: String = "") -> Dictionary

    The deck sits at the height of the ramps' inner edges, which must match. The ground underneath may not rise above the deck, and roads or track passing under need a level of clearance. Extra keys: kind, type, s0, s1, dir, level, add (ramp pieces), tiles (spans).

    Paràmetres
    • m: WorldMap
    • kind: String
    • a: Vector2i
    • b: Vector2i
    • style: String = ""
    Retorna
    Dictionary
    Crida
    L.t, L.lower, Const.opp, WorldMap.axis_of
    Declarat a scripts/sim/build_ops.gd:890
  • BuildOps.plan_electrify static funcOverhead wires over the track along pts.
    Enllaç a aquesta entradastatic func plan_electrify(m: WorldMap, pts: Array[Vector2i]) -> Dictionary

    Tiles without track are skipped; wired ones are free. Extra keys: tiles (the tiles that get wires).

    Paràmetres
    • m: WorldMap
    • pts: Array[Vector2i]
    Retorna
    Dictionary
    Crida
    L.t
    Declarat a scripts/sim/build_ops.gd:966
  • BuildOps.apply_electrify static func
    Enllaç a aquesta entradastatic func apply_electrify(m: WorldMap, p: Dictionary) -> void
    Paràmetres
    • m: WorldMap
    • p: Dictionary
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:984
  • BuildOps.plan_depot static funcA depot on tile t, its door - and its one road or track connection - facing facing.
    Enllaç a aquesta entradastatic func plan_depot(m: WorldMap, kind: String, t: Vector2i, facing: int) -> Dictionary

    Extra keys: kind, tile, facing, link (joins the road/track in front), link_reason.

    Paràmetres
    • m: WorldMap
    • kind: String
    • t: Vector2i
    • facing: int
    Retorna
    Dictionary
    Crida
    L.t, Const.opp
    Declarat a scripts/sim/build_ops.gd:999
  • BuildOps.apply_depot static func
    Enllaç a aquesta entradastatic func apply_depot(m: WorldMap, p: Dictionary, owner: Company) -> void
    Paràmetres
    • m: WorldMap
    • p: Dictionary
    • owner: Company
    Retorna
    void
    Crida
    Const.opp

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:1034
  • BuildOps.tunnel_exit static funcWhere a tunnel from hillside tile a (heading d, its mouth at height level) comes out: how many tiles on the far mouth is, at the first tile whose far edge comes back down to level at either corner.
    Enllaç a aquesta entradastatic func tunnel_exit(m: WorldMap, a: Vector2i, d: int, level: int) -> int

    0 when the ground doesn't come down that far within MAX_TUNNEL tiles (or the map ends first).

    Paràmetres
    • m: WorldMap
    • a: Vector2i
    • d: int
    • level: int
    Retorna
    int
    Declarat a scripts/sim/build_ops.gd:1060
  • BuildOps._edge_corners static funcThe corners of the edge of tile t facing direction d, in edge_heights' order.
    Enllaç a aquesta entradastatic func _edge_corners(t: Vector2i, d: int) -> Array[Vector2i]
    Paràmetres
    • t: Vector2i
    • d: int
    Retorna
    Array[Vector2i]
    Declarat a scripts/sim/build_ops.gd:1072
  • BuildOps.plan_tunnel static funcA tunnel starting at hillside tile a (an incline rising straight ahead).
    Enllaç a aquesta entradastatic func plan_tunnel(m: WorldMap, kind: String, a: Vector2i, hint: bool = true) -> Dictionary

    It runs into the hill to the first tile where the ground comes back down to the entrance's height (tunnel_exit), and that tile is the far mouth. A hill seldom ends in a slope exactly like the one it started with - it comes down on a slant, or one corner sticks up - so the far mouth's tile is evened out into one, its corners lowered the way Level land lowers them (dragging the land around along). Extra keys as plan_bridge, plus corners (corner -> new height, evening out the far mouth: see apply_level) and trees (tiles that change shape and lose their trees). hint: when there's no way out, look further up the slope for a hillside that has one.

    Paràmetres
    • m: WorldMap
    • kind: String
    • a: Vector2i
    • hint: bool = true
    Retorna
    Dictionary
    Crida
    L.t, Const.opp
    Declarat a scripts/sim/build_ops.gd:1088
  • BuildOps._no_exit static funcplan_tunnel finding no way out: say so, on the entrance alone (not the whole line it looked along).
    Enllaç a aquesta entradastatic func _no_exit(m: WorldMap, p: Dictionary, a: Vector2i, d: int, level: int, hint: bool) -> void

    The ground may come back down on the far side, only not as low as here: then a hillside further up the same slope, still on the way up (before the ground first levels off or falls), may well take a tunnel - when one does, say where.

    Paràmetres
    • m: WorldMap
    • p: Dictionary
    • a: Vector2i
    • d: int
    • level: int
    • hint: bool
    Retorna
    void
    Crida
    L.t, WorldMap.axis_of, L.n
    Declarat a scripts/sim/build_ops.gd:1162
  • BuildOps._even_out_mouth static funcEven out tunnel tile t (heading d) into the far mouth: a straight incline from level + 1 on its near edge down to level on its far edge.
    Enllaç a aquesta entradastatic func _even_out_mouth(m: WorldMap, p: Dictionary, t: Vector2i, d: int, level: int, keep: Array) -> void

    Adds the corners that move, their cost and the trees they take to p; keep are tiles that mustn't change shape.

    Paràmetres
    • m: WorldMap
    • p: Dictionary
    • t: Vector2i
    • d: int
    • level: int
    • keep: Array
    Retorna
    void
    Crida
    Const.opp, L.t
    Declarat a scripts/sim/build_ops.gd:1189
  • BuildOps._set_corners static funcPut corner heights (corner -> height) on the map as they are, without redrawing anything.
    Enllaç a aquesta entradastatic func _set_corners(m: WorldMap, corners: Dictionary) -> Dictionary

    Returns the heights they had, to put back the same way.

    Paràmetres
    • m: WorldMap
    • corners: Dictionary
    Retorna
    Dictionary
    Declarat a scripts/sim/build_ops.gd:1234
  • BuildOps.apply_crossing static func
    Enllaç a aquesta entradastatic func apply_crossing(m: WorldMap, p: Dictionary) -> Dictionary
    Paràmetres
    • m: WorldMap
    • p: Dictionary
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:1243
  • BuildOps.signal_problem static func
    Enllaç a aquesta entradastatic func signal_problem(m: WorldMap, t: Vector2i) -> String
    Paràmetres
    • m: WorldMap
    • t: Vector2i
    Retorna
    String
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:1268
  • BuildOps.plan_signal static funcPlace a two-way signal, or cycle an existing one: two-way -> one-way -> one-way the other way -> two-way.
    Enllaç a aquesta entradastatic func plan_signal(m: WorldMap, t: Vector2i) -> Dictionary

    Extra keys: tile, state (see WorldMap.signals).

    Paràmetres
    • m: WorldMap
    • t: Vector2i
    Retorna
    Dictionary
    Declarat a scripts/sim/build_ops.gd:1288
  • BuildOps.apply_signal static func
    Enllaç a aquesta entradastatic func apply_signal(m: WorldMap, p: Dictionary) -> void
    Paràmetres
    • m: WorldMap
    • p: Dictionary
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/build_ops.gd:1307
  • BuildOps._corner_of static func[a, b] if bits is a single corner piece, else [].
    Enllaç a aquesta entradastatic func _corner_of(bits: int) -> Array
    Paràmetres
    • bits: int
    Retorna
    Array
    Declarat a scripts/sim/build_ops.gd:1314
  • BuildOps.signal_dirs static funcThe two directions trains can pass a signal on tile t (headings on entering the tile).
    Enllaç a aquesta entradastatic func signal_dirs(m: WorldMap, t: Vector2i) -> Array
    Paràmetres
    • m: WorldMap
    • t: Vector2i
    Retorna
    Array
    Crida
    Const.opp
    Declarat a scripts/sim/build_ops.gd:1323

Calendar

  • Calendar.MONTHS const
    Enllaç a aquesta entradaconst MONTHS := ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/calendar.gd:4
  • Calendar.MONTH_DAYS const
    Enllaç a aquesta entradaconst MONTH_DAYS := [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/calendar.gd:5
  • Calendar.is_leap static func
    Enllaç a aquesta entradastatic func is_leap(y: int) -> bool
    Paràmetres
    • y: int
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/calendar.gd:8
  • Calendar.year_days static func
    Enllaç a aquesta entradastatic func year_days(y: int) -> int
    Paràmetres
    • y: int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/calendar.gd:12
  • Calendar.from_day static funcReturns Vector3i(year, month 0-11, day of month 1-31).
    Enllaç a aquesta entradastatic func from_day(day: int) -> Vector3i
    Paràmetres
    • day: int
    Retorna
    Vector3i
    Declarat a scripts/core/calendar.gd:17
  • Calendar.format static func
    Enllaç a aquesta entradastatic func format(day: int) -> String
    Paràmetres
    • day: int
    Retorna
    String
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/calendar.gd:33
  • Calendar.is_christmas static funcChristmas time in the towns: 1 December to 6 January.
    Enllaç a aquesta entradastatic func is_christmas(day: int) -> bool
    Paràmetres
    • day: int
    Retorna
    bool
    Declarat a scripts/core/calendar.gd:39
  • Calendar.doy_is_christmas static funcThe same for a day of the year (0 = 1 January), ignoring leap years.
    Enllaç a aquesta entradastatic func doy_is_christmas(doy: int) -> bool
    Paràmetres
    • doy: int
    Retorna
    bool
    Declarat a scripts/core/calendar.gd:45
  • Calendar.day_of_year_start static funcDay number of 1 January of year.
    Enllaç a aquesta entradastatic func day_of_year_start(year: int) -> int
    Paràmetres
    • year: int
    Retorna
    int
    Declarat a scripts/core/calendar.gd:50

ConnectPlanner

  • ConnectPlanner.MAX_DIST consttiles apart (along the grid) beyond which it doesn't search at all
    Enllaç a aquesta entradaconst MAX_DIST := 160Declarat a scripts/sim/connect_planner.gd:15
  • ConnectPlanner.ENDS_TRIED constsides of a joined end worth trying
    Enllaç a aquesta entradaconst ENDS_TRIED := 2Declarat a scripts/sim/connect_planner.gd:16
  • ConnectPlanner.PAIRS const(start side, end side) pairs searched at most
    Enllaç a aquesta entradaconst PAIRS := 2Declarat a scripts/sim/connect_planner.gd:17
  • ConnectPlanner.LIVE_EXPANSIONS constRouteBuilder's budget while the pointer moves (the click that builds searches with its own, larger one), so a search that finds nothing doesn't hold up the game.
    Enllaç a aquesta entradaconst LIVE_EXPANSIONS := 4000Declarat a scripts/sim/connect_planner.gd:20
  • ConnectPlanner.SHORTCUT_SAVES constA bridge or tunnel is taken over the cheapest way round when it saves at least SHORTCUT_SAVES tiles and SHORTCUT_SHARE of the line's length.
    Enllaç a aquesta entradaconst SHORTCUT_SAVES := 4

    In that search a crossing tile costs plain line plus SHORTCUT_PRICE of what it costs over that, and each crossing SHORTCUT_CROSSING tiles on top.

    Declarat a scripts/sim/connect_planner.gd:24
  • ConnectPlanner.SHORTCUT_SHARE const
    Enllaç a aquesta entradaconst SHORTCUT_SHARE := 0.3

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/connect_planner.gd:25
  • ConnectPlanner.SHORTCUT_PRICE const
    Enllaç a aquesta entradaconst SHORTCUT_PRICE := 0.25

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/connect_planner.gd:26
  • ConnectPlanner.SHORTCUT_CROSSING const
    Enllaç a aquesta entradaconst SHORTCUT_CROSSING := 2.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/connect_planner.gd:27
  • ConnectPlanner.path static funcTiles from a to b (both included, each one next to the one before), or [] when no line was found within the search's budget; never over water or through a hill (see route for those).
    Enllaç a aquesta entradastatic func path(m: WorldMap, kind: String, a: Vector2i, b: Vector2i, arriving: int = -1, max_expansions: int = 0, pairs_tried: int = PAIRS) -> Array[Vector2i]

    arriving: the way a line already reaches a (a waypoint), so this one carries on from it instead of doubling back (-1: none). max_expansions: RouteBuilder's budget (0: its own default, which grows with the distance; otherwise never more than that). pairs_tried: how many (start side, end side) pairs to try at most.

    Paràmetres
    • m: WorldMap
    • kind: String
    • a: Vector2i
    • b: Vector2i
    • arriving: int = -1
    • max_expansions: int = 0
    • pairs_tried: int = PAIRS
    Retorna
    Array[Vector2i]
    Declarat a scripts/sim/connect_planner.gd:36
  • ConnectPlanner.route static funcpath, with bridges and tunnels where the way needs them: {"tiles", "crossings": as RouteBuilder.last_crossings gives them}.
    Enllaç a aquesta entradastatic func route(m: WorldMap, kind: String, a: Vector2i, b: Vector2i, year: int, arriving: int = -1, max_expansions: int = 0, pairs_tried: int = PAIRS) -> Dictionary

    year: the bridge styles there are by then (-1: no bridges or tunnels at all).

    Paràmetres
    • m: WorldMap
    • kind: String
    • a: Vector2i
    • b: Vector2i
    • year: int
    • arriving: int = -1
    • max_expansions: int = 0
    • pairs_tried: int = PAIRS
    Retorna
    Dictionary
    Crida
    RouteBuilder.jumps_for
    Declarat a scripts/sim/connect_planner.gd:44
  • ConnectPlanner._shortcut static funcjumps (RouteBuilder.jumps_for) with every crossing weighed mostly by its length: a span or tunnel tile costs little more than a tile of plain line, and a crossing little on top.
    Enllaç a aquesta entradastatic func _shortcut(jumps: Dictionary) -> Dictionary
    Paràmetres
    • jumps: Dictionary
    Retorna
    Dictionary
    Declarat a scripts/sim/connect_planner.gd:73
  • ConnectPlanner._route static funcOne search with jumps, from the best sides of the ends: route's {"tiles", "crossings"}.
    Enllaç a aquesta entradastatic func _route(m: WorldMap, kind: String, a: Vector2i, b: Vector2i, jumps: Dictionary, arriving: int, max_expansions: int, pairs_tried: int) -> Dictionary
    Paràmetres
    • m: WorldMap
    • kind: String
    • a: Vector2i
    • b: Vector2i
    • jumps: Dictionary
    • arriving: int
    • max_expansions: int
    • pairs_tried: int
    Retorna
    Dictionary
    Crida
    Const.opp, RouteBuilder.find
    Declarat a scripts/sim/connect_planner.gd:83
  • ConnectPlanner.ends static funcWhere a search may start from end p (or, read backwards, finish at it), the other end being at toward: [{"tile", "dir": the way in (-1 any), "joined": true when p itself is an existing piece the line joins from the free tile beside it}], best first.
    Enllaç a aquesta entradastatic func ends(m: WorldMap, kind: String, p: Vector2i, toward: Vector2i) -> Array
    Paràmetres
    • m: WorldMap
    • kind: String
    • p: Vector2i
    • toward: Vector2i
    Retorna
    Array
    Declarat a scripts/sim/connect_planner.gd:129
  • ConnectPlanner._takes_a_piece static funcWhether any piece of road or track at all (straight or a bend) could go on tile t.
    Enllaç a aquesta entradastatic func _takes_a_piece(m: WorldMap, kind: String, t: Vector2i) -> bool
    Paràmetres
    • m: WorldMap
    • kind: String
    • t: Vector2i
    Retorna
    bool
    Crida
    RouteBuilder._tile_cost
    Declarat a scripts/sim/connect_planner.gd:154
  • ConnectPlanner._open static funcWhether a line of kind can be searched through tile t as it is: no building, station or depot on it, and no track already there for a railway (a road may run along a road).
    Enllaç a aquesta entradastatic func _open(m: WorldMap, kind: String, t: Vector2i) -> bool
    Paràmetres
    • m: WorldMap
    • kind: String
    • t: Vector2i
    Retorna
    bool
    Declarat a scripts/sim/connect_planner.gd:163

Const

  • Const.MAP_SIZE const
    Enllaç a aquesta entradaconst MAP_SIZE := 128

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/constants.gd:4
  • Const.CHUNK const
    Enllaç a aquesta entradaconst CHUNK := 16

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/constants.gd:5
  • Const.HEIGHT_STEP constworld units per height level
    Enllaç a aquesta entradaconst HEIGHT_STEP := 0.4Declarat a scripts/core/constants.gd:6
  • Const.MAX_HEIGHT const
    Enllaç a aquesta entradaconst MAX_HEIGHT := 10

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/constants.gd:7
  • Const.WATER_Y constwater surface height in world units
    Enllaç a aquesta entradaconst WATER_Y := 0.12Declarat a scripts/core/constants.gd:8
  • Const.DAY_SECONDS constreal seconds per game day at 1x (OpenTTD: 74 ticks x 30 ms = 2.22 s)
    Enllaç a aquesta entradaconst DAY_SECONDS := 2.2Declarat a scripts/core/constants.gd:10
  • Const.VEHICLE_PACE constVehicles get this much done per game day - moving, loading, being serviced - so trips take fewer days while they move on screen exactly as fast as before the day got longer.
    Enllaç a aquesta entradaconst VEHICLE_PACE := 1.6Declarat a scripts/core/constants.gd:13
  • Const.START_YEAR const
    Enllaç a aquesta entradaconst START_YEAR := 1950

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/constants.gd:14
  • Const.DIRS const
    Enllaç a aquesta entradaconst DIRS: Array[Vector2i] = [Vector2i(0, -1), Vector2i(1, 0), Vector2i(0, 1), Vector2i(-1, 0)]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/constants.gd:17
  • Const.BIT const
    Enllaç a aquesta entradaconst BIT: Array[int] = [1, 2, 4, 8]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/constants.gd:18
  • Const.AXIS_BITS const
    Enllaç a aquesta entradaconst AXIS_BITS: Array[int] = [10, 5]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/constants.gd:20
  • Const.opp static func
    Enllaç a aquesta entradastatic func opp(d: int) -> int
    Paràmetres
    • d: int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/constants.gd:23

Economy

  • Economy.PRODUCTION_DAYS constproduction runs every this many days
    Enllaç a aquesta entradaconst PRODUCTION_DAYS := 3Declarat a scripts/sim/economy.gd:5
  • Economy.LATE_SPAN consta late cargo loses its fare, on average, at a rate that would take all of it over this many times its on-time days
    Enllaç a aquesta entradaconst LATE_SPAN := 10.0Declarat a scripts/sim/economy.gd:6
  • Economy.LATE_EARLY constbelow 1 the S-curve starts falling sooner after the on-time days; 1 is a symmetric S
    Enllaç a aquesta entradaconst LATE_EARLY := 0.75Declarat a scripts/sim/economy.gd:7
  • Economy.LATE_FLOOR constno delivery pays less than this share of the full fare
    Enllaç a aquesta entradaconst LATE_FLOOR := 0.3Declarat a scripts/sim/economy.gd:8
  • Economy.PAX_PER_POP constpassengers per resident per month
    Enllaç a aquesta entradaconst PAX_PER_POP := 1.0 / 7.0Declarat a scripts/sim/economy.gd:9
  • Economy.MAIL_PER_POP constbags of mail per resident per month
    Enllaç a aquesta entradaconst MAIL_PER_POP := 1.0 / 26.0Declarat a scripts/sim/economy.gd:10
  • Economy.WASTE_PER_POP consttonnes of waste per resident per month (from the Late century, RAIL-29)
    Enllaç a aquesta entradaconst WASTE_PER_POP := 1.0 / 12.0Declarat a scripts/sim/economy.gd:11
  • Economy.PER_POP const
    Enllaç a aquesta entradaconst PER_POP := {"pax": PAX_PER_POP, "mail": MAIL_PER_POP, "waste": WASTE_PER_POP}

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/economy.gd:12
  • Economy.MAX_WAITING const
    Enllaç a aquesta entradaconst MAX_WAITING := 3000.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/economy.gd:13
  • Economy.GIVE_UP consteach production run, cargo waiting beyond a month's worth loses this share times (1 - rating)
    Enllaç a aquesta entradaconst GIVE_UP := 0.06Declarat a scripts/sim/economy.gd:14
  • Economy.INFLOW_EASE consthow fast a station's estimate of its monthly inflow follows what arrives (per production run)
    Enllaç a aquesta entradaconst INFLOW_EASE := 0.1Declarat a scripts/sim/economy.gd:15
  • Economy.STAFF_NEUTRAL conststaffing at which an industry leans neither to growing nor shrinking (see staff_lean)
    Enllaç a aquesta entradaconst STAFF_NEUTRAL := 0.4Declarat a scripts/sim/economy.gd:16
  • Economy.STAFF_TILT consthow far staff_lean moves the odds that a production change is a rise
    Enllaç a aquesta entradaconst STAFF_TILT := 0.4Declarat a scripts/sim/economy.gd:17
  • Economy.PROD_MIN constthe least a mine, farm or well makes in a month
    Enllaç a aquesta entradaconst PROD_MIN := 16Declarat a scripts/sim/economy.gd:18
  • Economy.payment static funcPayment for delivering amount of cargo c over dist tiles in days days.
    Enllaç a aquesta entradastatic func payment(c: String, amount: float, dist: float, days: float) -> int
    Paràmetres
    • c: String
    • amount: float
    • dist: float
    • days: float
    Retorna
    int
    Declarat a scripts/sim/economy.gd:22
  • Economy.fare static funcWhat one unit of cargo c pays for dist tiles after days on the way.
    Enllaç a aquesta entradastatic func fare(c: String, dist: float, days: float) -> float

    Fares don't change over the years: distance raises them in proportion, and lateness lowers them (see time_factor).

    Paràmetres
    • c: String
    • dist: float
    • days: float
    Retorna
    float
    Crida
    Data.cargo_rate
    Declarat a scripts/sim/economy.gd:28
  • Economy.time_factor static funcShare of the full fare still paid after days on the way: all of it up to the cargo's own number of days, then easing down in a smooth S-curve (slowly at first, fastest half-way, slowly again at the end) to LATE_FLOOR, reached at 8 times that long (see LATE_SPAN).
    Enllaç a aquesta entradastatic func time_factor(c: String, days: float) -> float
    Paràmetres
    • c: String
    • days: float
    Retorna
    float
    Crida
    Data.cargo_days
    Declarat a scripts/sim/economy.gd:35
  • Economy.late_loss_per_day static funcShare of the full fare lost, on average, for every day between the cargo's own number of days and the day it reaches the floor.
    Enllaç a aquesta entradastatic func late_loss_per_day(c: String) -> float

    In the steep part of the curve it falls about twice as fast.

    Paràmetres
    • c: String
    Retorna
    float
    Crida
    Data.cargo_days
    Declarat a scripts/sim/economy.gd:44
  • Economy.station_distance static func
    Enllaç a aquesta entradastatic func station_distance(a: Station, b: Station) -> float
    Paràmetres
    • a: Station
    • b: Station
    Retorna
    float

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/economy.gd:48
  • Economy.produce static func
    Enllaç a aquesta entradastatic func produce(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Crida
    Data.town_makes, Calendar.from_day

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/economy.gd:56
  • Economy._links static funcWhich stations reach which industries, both ways round: {"sts": Industry -> [Station], "inds": Station -> [Industry]}, each list in map order.
    Enllaç a aquesta entradastatic func _links(m: WorldMap) -> Dictionary

    Kept on the map and rebuilt only when a station's catchment changes or a station or industry comes or goes (never saved).

    Paràmetres
    • m: WorldMap
    Retorna
    Dictionary
    Declarat a scripts/sim/economy.gd:112
  • Economy.industry_stations static funcStations whose catchment touches any tile of the industry.
    Enllaç a aquesta entradastatic func industry_stations(m: WorldMap, ind: Industry) -> Array
    Paràmetres
    • m: WorldMap
    • ind: Industry
    Retorna
    Array
    Declarat a scripts/sim/economy.gd:142
  • Economy._distribute static funcGive amt of cargo to the (up to two) best-rated stations that serve it.
    Enllaç a aquesta entradastatic func _distribute(stations: Array, c: String, amt: float) -> float

    Returns the amount moved.

    Paràmetres
    • stations: Array
    • c: String
    • amt: float
    Retorna
    float
    Declarat a scripts/sim/economy.gd:157
  • Economy.shares static funcHow cargo c made in reach of stations is split right now: Station -> the share of everything made that goes to it.
    Enllaç a aquesta entradastatic func shares(stations: Array, c: String) -> Dictionary

    Only stations that load the cargo take part, and only the best-rated two of them; the best rating sets how much leaves at all, and the two split that in proportion to their ratings. The shares add up to the best rating; the rest is lost. Stations left out aren't listed, nor are those of companies shut out of their town by another's exclusive rights (RAIL-24).

    Paràmetres
    • stations: Array
    • c: String
    Retorna
    Dictionary
    Declarat a scripts/sim/economy.gd:173
  • Economy.shut_out static funcWhether st gets no new cargo because another company holds exclusive transport rights in its town (a town request's reward, see Opportunities).
    Enllaç a aquesta entradastatic func shut_out(st: Station) -> bool
    Paràmetres
    • st: Station
    Retorna
    bool
    Declarat a scripts/sim/economy.gd:195
  • Economy._update_ratings static funcRatings drift toward a target set by pickup frequency, vehicle speed and waiting cargo.
    Enllaç a aquesta entradastatic func _update_ratings(sim: Sim) -> void

    Then cargo that has piled up gives up (see give_up).

    Paràmetres
    • sim: Sim
    Retorna
    void
    Declarat a scripts/sim/economy.gd:201
  • Economy.give_up static funcCargo c waiting at st that gives up this production run (RAIL-56): of what waits beyond a month's worth (Station.inflow), a share of GIVE_UP times what the rating falls short of 100%.
    Enllaç a aquesta entradastatic func give_up(st: Station, c: String) -> float

    At 50% that is 3% every run, about a quarter a month; at 90%, 0.6%. A queue that fits the station's own trade is never touched, and every queue settles instead of filling to MAX_WAITING.

    Paràmetres
    • st: Station
    • c: String
    Retorna
    float
    Declarat a scripts/sim/economy.gd:234
  • Economy._update_inflow static funcFold what came to st since the last production run into its estimate of a month's inflow.
    Enllaç a aquesta entradastatic func _update_inflow(st: Station) -> void
    Paràmetres
    • st: Station
    Retorna
    void
    Declarat a scripts/sim/economy.gd:242
  • Economy.unload static funcUnload what this station accepts; pay the owner.
    Enllaç a aquesta entradastatic func unload(sim: Sim, v: Vehicle, st: Station) -> int

    Returns units moved.

    Paràmetres
    • sim: Sim
    • v: Vehicle
    • st: Station
    Retorna
    int
    Declarat a scripts/sim/economy.gd:256
  • Economy.FEEDER_SHARE constA feeder's share of the fare for cargo it leaves at a transfer stop: part of what the trip so far would pay, less what earlier feeders already showed.
    Enllaç a aquesta entradaconst FEEDER_SHARE := 0.75

    It only goes on the vehicle's books (its profit); the money comes when the cargo is delivered, so passing cargo back and forth earns nothing.

    Declarat a scripts/sim/economy.gd:324
  • Economy.feeder_share static func
    Enllaç a aquesta entradastatic func feeder_share(sim: Sim, p: Dictionary, c: String, st: Station) -> int
    Paràmetres
    • sim: Sim
    • p: Dictionary
    • c: String
    • st: Station
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/economy.gd:326
  • Economy.deliver_to_industries static func
    Enllaç a aquesta entradastatic func deliver_to_industries(sim: Sim, st: Station, c: String, amount: int) -> void
    Paràmetres
    • sim: Sim
    • st: Station
    • c: String
    • amount: int
    Retorna
    void
    Crida
    IndustryLife.build

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/economy.gd:333
  • Economy._full_sets static funcA plant that needs every input (Data.INDUSTRY "needs_all") holds what comes until the rest does: amount of c joins its store, and every full set (one unit of each input) goes into the works.
    Enllaç a aquesta entradastatic func _full_sets(ind: Industry, c: String, amount: float) -> float

    Returns how many units go in, so each set makes as many units of output as it took in.

    Paràmetres
    • ind: Industry
    • c: String
    • amount: float
    Retorna
    float
    Declarat a scripts/sim/economy.gd:369
  • Economy.hire_commuters static funcPassengers delivered to st go to work at the industries it reaches (RAIL-28), each taking on what it still needs this month, in map order.
    Enllaç a aquesta entradastatic func hire_commuters(m: WorldMap, st: Station, amount: float) -> float

    Returns how many found work; the rest are ordinary passengers (the fare is the same either way).

    Paràmetres
    • m: WorldMap
    • st: Station
    • amount: float
    Retorna
    float
    Declarat a scripts/sim/economy.gd:384
  • Economy.reaches static funcWhether st's catchment touches ind (from the cached links: nothing is copied).
    Enllaç a aquesta entradastatic func reaches(m: WorldMap, st: Station, ind: Industry) -> bool
    Paràmetres
    • m: WorldMap
    • st: Station
    • ind: Industry
    Retorna
    bool
    Declarat a scripts/sim/economy.gd:394
  • Economy.industry_stations_reverse static func
    Enllaç a aquesta entradastatic func industry_stations_reverse(m: WorldMap, st: Station) -> Array
    Paràmetres
    • m: WorldMap
    • st: Station
    Retorna
    Array

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/economy.gd:398
  • Economy.monthly static func
    Enllaç a aquesta entradastatic func monthly(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/economy.gd:413
  • Economy._charge_infrastructure static funcMonthly upkeep of everything companies own besides stations: track, overhead wires, signals, bridges and tunnels, and depots.
    Enllaç a aquesta entradastatic func _charge_infrastructure(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Crida
    WorldMap.crossing_tiles
    Declarat a scripts/sim/economy.gd:446
  • Economy._council static funcCouncils like companies that serve their town and grow tired of neglected stations.
    Enllaç a aquesta entradastatic func _council(sim: Sim, t: Town) -> void
    Paràmetres
    • sim: Sim
    • t: Town
    Retorna
    void
    Crida
    L.t
    Declarat a scripts/sim/economy.gd:491
  • Economy.staff_lean static funcHow staffing leans an industry's future (RAIL-28): from -STAFF_NEUTRAL with nobody at work to 1 - STAFF_NEUTRAL with a full staff, 0 at about what walkers-in from a nearby town give.
    Enllaç a aquesta entradastatic func staff_lean(m: WorldMap, ind: Industry, index: Industry.StaffingIndex = null) -> float

    _maybe_change_production weighs it into growing or shrinking; closures (RAIL-23) can too.

    Paràmetres
    • m: WorldMap
    • ind: Industry
    • index: Industry.StaffingIndex = null
    Retorna
    float
    Declarat a scripts/sim/economy.gd:528
  • Economy._maybe_change_production static func
    Enllaç a aquesta entradastatic func _maybe_change_production(sim: Sim, ind: Industry, index: Industry.StaffingIndex) -> void
    Paràmetres
    • sim: Sim
    • ind: Industry
    • index: Industry.StaffingIndex
    Retorna
    void
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/economy.gd:532

FirstSteps

  • FirstSteps.PAIR_DIST consttiles apart a first bus route pays well over and costs little road for
    Enllaç a aquesta entradaconst PAIR_DIST := 20.0Declarat a scripts/sim/first_steps.gd:7
  • FirstSteps.PAIR_MIN constcloser than this, two towns are one place to a passenger
    Enllaç a aquesta entradaconst PAIR_MIN := 8.0Declarat a scripts/sim/first_steps.gd:8
  • FirstSteps.PAIR_FROM constpairs are chosen among this many towns nearest the view
    Enllaç a aquesta entradaconst PAIR_FROM := 10Declarat a scripts/sim/first_steps.gd:9
  • FirstSteps.CENTRE consttiles from a town's centre whose roads count as the town's
    Enllaç a aquesta entradaconst CENTRE := 3Declarat a scripts/sim/first_steps.gd:10
  • FirstSteps.town_pair static funcTwo towns near around (a tile) that make a good first bus route: about PAIR_DIST apart, near the view, the bigger the better.
    Enllaç a aquesta entradastatic func town_pair(m: WorldMap, around: Vector2) -> Array

    [Town, Town], or [] on a map with fewer than two towns.

    Paràmetres
    • m: WorldMap
    • around: Vector2
    Retorna
    Array
    Declarat a scripts/sim/first_steps.gd:15
  • FirstSteps._from static func
    Enllaç a aquesta entradastatic func _from(t: Town, p: Vector2) -> float
    Paràmetres
    • t: Town
    • p: Vector2
    Retorna
    float

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/first_steps.gd:35
  • FirstSteps.towns_joined static funcWhether a road runs from the middle of town a to the middle of town b.
    Enllaç a aquesta entradastatic func towns_joined(m: WorldMap, a: Town, b: Town) -> bool
    Paràmetres
    • m: WorldMap
    • a: Town
    • b: Town
    Retorna
    bool
    Crida
    Pathfinder.find
    Declarat a scripts/sim/first_steps.gd:40
  • FirstSteps._centre_roads static funcThe road tiles near a town's centre (its first crossroads is there), as a set.
    Enllaç a aquesta entradastatic func _centre_roads(m: WorldMap, t: Town) -> Dictionary
    Paràmetres
    • m: WorldMap
    • t: Town
    Retorna
    Dictionary
    Declarat a scripts/sim/first_steps.gd:49
  • FirstSteps.road_stops static funcwho's road stops (a station with a road stop).
    Enllaç a aquesta entradastatic func road_stops(m: WorldMap, who: Company) -> Array
    Paràmetres
    • m: WorldMap
    • who: Company
    Retorna
    Array
    Declarat a scripts/sim/first_steps.gd:59
  • FirstSteps.joined_stops static funcTwo of who's road stops that a road joins, so a bus could run between them: [Station, Station], or [].
    Enllaç a aquesta entradastatic func joined_stops(sim: Sim, who: Company) -> Array

    One search per stop at most, each towards all the stops after it.

    Paràmetres
    • sim: Sim
    • who: Company
    Retorna
    Array
    Declarat a scripts/sim/first_steps.gd:69
  • FirstSteps.depot_ready static funcWhether a new bus could leave for st now: with depots in the rules, one of who's road depots must be joined to it.
    Enllaç a aquesta entradastatic func depot_ready(sim: Sim, who: Company, st: Station) -> bool
    Paràmetres
    • sim: Sim
    • who: Company
    • st: Station
    Retorna
    bool
    Declarat a scripts/sim/first_steps.gd:87
  • FirstSteps.route_vehicle static funcwho's newest vehicle that has a route (two stops or more), or null.
    Enllaç a aquesta entradastatic func route_vehicle(sim: Sim, who: Company) -> Vehicle
    Paràmetres
    • sim: Sim
    • who: Company
    Retorna
    Vehicle
    Declarat a scripts/sim/first_steps.gd:92
  • FirstSteps.has_station static funcWhether who has a station of any kind.
    Enllaç a aquesta entradastatic func has_station(m: WorldMap, who: Company) -> bool
    Paràmetres
    • m: WorldMap
    • who: Company
    Retorna
    bool
    Declarat a scripts/sim/first_steps.gd:101
  • FirstSteps.town_link static funcA vehicle of who's that carries passengers between stops in two different towns, or null.
    Enllaç a aquesta entradastatic func town_link(sim: Sim, who: Company) -> Vehicle
    Paràmetres
    • sim: Sim
    • who: Company
    Retorna
    Vehicle
    Declarat a scripts/sim/first_steps.gd:109
  • FirstSteps._taken static varcargo -> true: what some industry takes, in any era (industry_takes)
    Enllaç a aquesta entradastatic var _taken := {}Declarat a scripts/sim/first_steps.gd:123
  • FirstSteps.industry_takes static funcWhether cargo c is something an industry takes in, in any era (so delivering it delivers to an industry).
    Enllaç a aquesta entradastatic func industry_takes(c: String) -> bool
    Paràmetres
    • c: String
    Retorna
    bool
    Crida
    Data.accepts
    Declarat a scripts/sim/first_steps.gd:128

Fmt

  • Fmt.int_commas static func
    Enllaç a aquesta entradastatic func int_commas(n: int) -> String
    Paràmetres
    • n: int
    Retorna
    String
    Crida
    L.thousands

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/fmt.gd:5
  • Fmt.money static funcFormats an integer dollar amount with the active language’s digit grouping and currency placement.
    Enllaç a aquesta entradastatic func money(n: int) -> String

    The result is a string for display.

    Paràmetres
    • n: int
    Retorna
    String
    Crida
    L.t
    Declarat a scripts/core/fmt.gd:15
  • Fmt.cargo_list static func
    Enllaç a aquesta entradastatic func cargo_list(ids: Array) -> String
    Paràmetres
    • ids: Array
    Retorna
    String
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/fmt.gd:19
  • Fmt.short_money static funcCompact money for chart axes and tiles: $950, $12k, $1.4M.
    Enllaç a aquesta entradastatic func short_money(n: int) -> String
    Paràmetres
    • n: int
    Retorna
    String
    Crida
    L.t
    Declarat a scripts/core/fmt.gd:27

Goals

  • Goals.STEPS constThe checklist, in the order a company usually gets there: [id, title, how to do it].
    Enllaç a aquesta entradaconst STEPSDeclarat a scripts/sim/goals.gd:20
  • Goals.ACHIEVEMENTS constAchievements: tiers gives one achievement per number ("<kind>_<number>"); the others are one each.
    Enllaç a aquesta entradaconst ACHIEVEMENTSDeclarat a scripts/sim/goals.gd:32
  • Goals.KINDS const
    Enllaç a aquesta entradaconst KINDS := ["road", "rail", "water", "air"]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/goals.gd:42
  • Goals.SERVED_DAYS consta town counts as served while one of your stations there has picked up passengers this recently
    Enllaç a aquesta entradaconst SERVED_DAYS := 30.0Declarat a scripts/sim/goals.gd:43
  • Goals.LEAGUE_AGE constdays: a lead in the league counts once the company is this old (before, it is
    Enllaç a aquesta entradaconst LEAGUE_AGE := 365Declarat a scripts/sim/goals.gd:44
  • Goals.GOAL_IDS constThe company goals a new game can set, and what each takes: a company value, or first place in the league, within so many years of the company's founding.
    Enllaç a aquesta entradaconst GOAL_IDS := ["none", "value_1m", "value_10m", "league"]Declarat a scripts/sim/goals.gd:49
  • Goals.GOALS const
    Enllaç a aquesta entradaconst GOALS

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/goals.gd:50
  • Goals.steps varstep id -> game day it was done
    Enllaç a aquesta entradavar steps := {}Declarat a scripts/sim/goals.gd:56
  • Goals.unlocked varachievement id -> game day it was won
    Enllaç a aquesta entradavar unlocked := {}Declarat a scripts/sim/goals.gd:57
  • Goals.goal_result var"won" or "missed" once the company goal is decided
    Enllaç a aquesta entradavar goal_result := ""Declarat a scripts/sim/goals.gd:58
  • Goals.goal_day var...and the day it was
    Enllaç a aquesta entradavar goal_day := -1Declarat a scripts/sim/goals.gd:59
  • Goals.pax varpassengers delivered, all closed months together
    Enllaç a aquesta entradavar pax := 0Declarat a scripts/sim/goals.gd:60
  • Goals.delivered varcargo -> true: every cargo the company has delivered
    Enllaç a aquesta entradavar delivered := {}Declarat a scripts/sim/goals.gd:61
  • Goals.rev vargoes up whenever something is ticked off, won or missed
    Enllaç a aquesta entradavar rev := 0Declarat a scripts/sim/goals.gd:62
  • Goals._station_id varthe map's next station id at the last look (a new station since?)
    Enllaç a aquesta entradavar _station_id := -1Declarat a scripts/sim/goals.gd:63
  • Goals._vehicle_id varthe same for vehicles
    Enllaç a aquesta entradavar _vehicle_id := -1Declarat a scripts/sim/goals.gd:64
  • Goals._pax_month varpassengers delivered this month at the last look
    Enllaç a aquesta entradavar _pax_month := -1Declarat a scripts/sim/goals.gd:65
  • Goals._quiet varcatching up an old save: no news
    Enllaç a aquesta entradavar _quiet := falseDeclarat a scripts/sim/goals.gd:66
  • Goals.check_steps funcTick off the first steps done since the last look.
    Enllaç a aquesta entradafunc check_steps(sim: Sim) -> void

    Cheap: see the top of the file.

    Paràmetres
    • sim: Sim
    Retorna
    void
    Declarat a scripts/sim/goals.gd:72
  • Goals._check_steps funccargo: what the company has delivered lately, cargo -> [units, $]; rail_paid: a train has earned.
    Enllaç a aquesta entradafunc _check_steps(sim: Sim, cargo: Dictionary, rail_paid: bool) -> void
    Paràmetres
    • sim: Sim
    • cargo: Dictionary
    • rail_paid: bool
    Retorna
    void
    Crida
    FirstSteps.has_station, FirstSteps.route_vehicle, FirstSteps.town_link, FirstSteps.industry_takes
    Declarat a scripts/sim/goals.gd:80
  • Goals._tick func
    Enllaç a aquesta entradafunc _tick(sim: Sim, id: String) -> void
    Paràmetres
    • sim: Sim
    • id: String
    Retorna
    void
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/goals.gd:107
  • Goals.step_title static func
    Enllaç a aquesta entradastatic func step_title(id: String) -> String
    Paràmetres
    • id: String
    Retorna
    String

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/goals.gd:116
  • Goals.monthly funcMonth end (Sim._on_day, once the month's books are closed): the month in profit, the achievements and the company goal.
    Enllaç a aquesta entradafunc monthly(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Declarat a scripts/sim/goals.gd:127
  • Goals._judge funcLook at the figures again and unlock what they reach, then decide the goal if it is due.
    Enllaç a aquesta entradafunc _judge(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Declarat a scripts/sim/goals.gd:140
  • Goals.operating_profit static funcA month's income less its running costs and upkeep (buying and building aside), as the company overview's chart counts it.
    Enllaç a aquesta entradastatic func operating_profit(mo: Dictionary) -> int
    Paràmetres
    • mo: Dictionary
    Retorna
    int
    Declarat a scripts/sim/goals.gd:151
  • Goals.measure funcThe figures the achievements and the goal are judged by: one pass over the vehicles and the stations, and the company value of each company for the league.
    Enllaç a aquesta entradafunc measure(sim: Sim) -> Dictionary

    best is the best rival's value; leads, whether the company is worth more than every rival and old enough to count.

    Paràmetres
    • sim: Sim
    Retorna
    Dictionary
    Declarat a scripts/sim/goals.gd:158
  • Goals.cargos_in_game static funcThe cargos this map has now: passengers, mail (and from the Late century waste) from the towns, and what its industries make.
    Enllaç a aquesta entradastatic func cargos_in_game(m: WorldMap) -> Array

    Cargos whose industries haven't appeared yet (a later era's) aren't among them until one opens.

    Paràmetres
    • m: WorldMap
    Retorna
    Array
    Crida
    Data.town_makes
    Declarat a scripts/sim/goals.gd:190
  • Goals.ids_of static funcThe ids of an achievement's tiers (or its one id).
    Enllaç a aquesta entradastatic func ids_of(a: Dictionary) -> Array
    Paràmetres
    • a: Dictionary
    Retorna
    Array
    Declarat a scripts/sim/goals.gd:201
  • Goals.reached static funcWhether the figures f (see measure) reach achievement id.
    Enllaç a aquesta entradastatic func reached(id: String, f: Dictionary) -> bool
    Paràmetres
    • id: String
    • f: Dictionary
    Retorna
    bool
    Declarat a scripts/sim/goals.gd:208
  • Goals.unlock funcWin achievement id today (if it isn't already), with news.
    Enllaç a aquesta entradafunc unlock(sim: Sim, id: String) -> void
    Paràmetres
    • sim: Sim
    • id: String
    Retorna
    void
    Crida
    L.t
    Declarat a scripts/sim/goals.gd:219
  • Goals.achievement_name static funcWhat an achievement is called: the tier's own name, or the achievement's.
    Enllaç a aquesta entradastatic func achievement_name(id: String) -> String
    Paràmetres
    • id: String
    Retorna
    String
    Crida
    L.t, Fmt.money, Fmt.int_commas
    Declarat a scripts/sim/goals.gd:228
  • Goals.title_of static funcAn achievement's heading in the Goals window.
    Enllaç a aquesta entradastatic func title_of(kind: String) -> String
    Paràmetres
    • kind: String
    Retorna
    String
    Crida
    L.t
    Declarat a scripts/sim/goals.gd:240
  • Goals.goal_of static func
    Enllaç a aquesta entradastatic func goal_of(sim: Sim) -> String
    Paràmetres
    • sim: Sim
    Retorna
    String

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/goals.gd:255
  • Goals.goal_name static funcWhat a goal asks, in a few words.
    Enllaç a aquesta entradastatic func goal_name(id: String) -> String
    Paràmetres
    • id: String
    Retorna
    String
    Crida
    L.t, Fmt.money
    Declarat a scripts/sim/goals.gd:260
  • Goals.goal_short static funcThe same, short enough for the new-game screen's list.
    Enllaç a aquesta entradastatic func goal_short(id: String) -> String
    Paràmetres
    • id: String
    Retorna
    String
    Crida
    L.t
    Declarat a scripts/sim/goals.gd:270
  • Goals.round_number static funcA round number in few characters: 50, 100k, 10M.
    Enllaç a aquesta entradastatic func round_number(n: int) -> String
    Paràmetres
    • n: int
    Retorna
    String
    Declarat a scripts/sim/goals.gd:280
  • Goals.deadline static funcThe last day to reach the goal: so many years after the company was founded.
    Enllaç a aquesta entradastatic func deadline(sim: Sim) -> int
    Paràmetres
    • sim: Sim
    Retorna
    int
    Crida
    Calendar.from_day, Calendar.day_of_year_start
    Declarat a scripts/sim/goals.gd:289
  • Goals.goal_met static funcWhether figures f (see measure) meet the game's goal.
    Enllaç a aquesta entradastatic func goal_met(sim: Sim, f: Dictionary) -> bool
    Paràmetres
    • sim: Sim
    • f: Dictionary
    Retorna
    bool
    Declarat a scripts/sim/goals.gd:297
  • Goals._check_goal func
    Enllaç a aquesta entradafunc _check_goal(sim: Sim, f: Dictionary) -> void
    Paràmetres
    • sim: Sim
    • f: Dictionary
    Retorna
    void
    Crida
    L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/goals.gd:306
  • Goals._news func
    Enllaç a aquesta entradafunc _news(sim: Sim, text: String, kind: String = "good") -> void
    Paràmetres
    • sim: Sim
    • text: String
    • kind: String = "good"
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/goals.gd:322
  • Goals.to_dict func
    Enllaç a aquesta entradafunc to_dict() -> Dictionary
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/goals.gd:329
  • Goals.from_dict static func
    Enllaç a aquesta entradastatic func from_dict(d: Dictionary) -> Goals
    Paràmetres
    • d: Dictionary
    Retorna
    Goals

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/goals.gd:334
  • Goals.caught_up static funcA game saved before there were goals: tick off and unlock what it has done already, quietly, from what the save remembers (the last two years of deliveries, the last 24 months' books).
    Enllaç a aquesta entradastatic func caught_up(sim: Sim) -> Goals
    Paràmetres
    • sim: Sim
    Retorna
    Goals
    Declarat a scripts/sim/goals.gd:350

IndustryLife

  • IndustryLife.OPENS_A_YEAR constopenings a year for each industry the map started with
    Enllaç a aquesta entradaconst OPENS_A_YEAR := 0.012Declarat a scripts/sim/industry_life.gd:27
  • IndustryLife.WARNS_A_YEAR constchance a year a struggling industry is warned (staff tilt it)
    Enllaç a aquesta entradaconst WARNS_A_YEAR := 0.3Declarat a scripts/sim/industry_life.gd:28
  • IndustryLife.UNSERVED_MONTHS constnobody has loaded its cargo for this long before it can struggle
    Enllaç a aquesta entradaconst UNSERVED_MONTHS := 24Declarat a scripts/sim/industry_life.gd:29
  • IndustryLife.FLOOR const...and it makes at most this share of its kind's usual output
    Enllaç a aquesta entradaconst FLOOR := 0.75Declarat a scripts/sim/industry_life.gd:30
  • IndustryLife.WARN_DAYS consthow long before closing it is warned
    Enllaç a aquesta entradaconst WARN_DAYS := 365Declarat a scripts/sim/industry_life.gd:31
  • IndustryLife.RESCUE_DAYS consta pickup (or delivery) this recent lifts the warning
    Enllaç a aquesta entradaconst RESCUE_DAYS := 31Declarat a scripts/sim/industry_life.gd:32
  • IndustryLife.FADE consta retiring mine loses this share of its output every year
    Enllaç a aquesta entradaconst FADE := 0.03Declarat a scripts/sim/industry_life.gd:33
  • IndustryLife.RENEWABLE consthow much likelier a renewable kind is to open than its count says
    Enllaç a aquesta entradaconst RENEWABLE := 4.0Declarat a scripts/sim/industry_life.gd:34
  • IndustryLife.WIND_REACH consttowns this close to a wind farm grow faster and thank its builders
    Enllaç a aquesta entradaconst WIND_REACH := 24.0Declarat a scripts/sim/industry_life.gd:35
  • IndustryLife.WIND_RATING constcouncil rating a builder gains, times its share of the deliveries
    Enllaç a aquesta entradaconst WIND_RATING := 25.0Declarat a scripts/sim/industry_life.gd:36
  • IndustryLife.WIND_GROWTH const...and growth waits this share as long in a town near one
    Enllaç a aquesta entradaconst WIND_GROWTH := 0.8Declarat a scripts/sim/industry_life.gd:37
  • IndustryLife.monthly static func
    Enllaç a aquesta entradastatic func monthly(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Crida
    L.t, Economy.staff_lean

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/industry_life.gd:40
  • IndustryLife.yearly static funcOnce a year: retiring mines make a little less.
    Enllaç a aquesta entradastatic func yearly(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Crida
    Data.retiring
    Declarat a scripts/sim/industry_life.gd:72
  • IndustryLife._room static funcThe map's room for industries ashore and at sea (see Sim.industry_room).
    Enllaç a aquesta entradastatic func _room(sim: Sim) -> Vector2i
    Paràmetres
    • sim: Sim
    Retorna
    Vector2i
    Crida
    WorldGen.industry_room
    Declarat a scripts/sim/industry_life.gd:79
  • IndustryLife.served static funcWhether a company has loaded ind's cargo at a station in its reach, or delivered cargo to it, within the last days.
    Enllaç a aquesta entradastatic func served(sim: Sim, ind: Industry, days: float) -> bool
    Paràmetres
    • sim: Sim
    • ind: Industry
    • days: float
    Retorna
    bool
    Crida
    Economy.industry_stations
    Declarat a scripts/sim/industry_life.gd:89
  • IndustryLife.struggling static funcA primary industry at least UNSERVED_MONTHS old that nobody has served in that time, and whose output (staff included) is down to FLOOR of its kind's usual rate.
    Enllaç a aquesta entradastatic func struggling(sim: Sim, ind: Industry, index: Industry.StaffingIndex = null) -> bool

    One with nobody at work gets there at its usual rate (Industry.PRIMARY_MIN); one with a town at its gate only after a cut. A customer on its way out (a power station in the Green age) struggles once nobody has supplied it for that long.

    Paràmetres
    • sim: Sim
    • ind: Industry
    • index: Industry.StaffingIndex = null
    Retorna
    bool
    Crida
    Data.retiring
    Declarat a scripts/sim/industry_life.gd:107
  • IndustryLife.warn static funcTell everyone ind closes in a year unless it is served by then.
    Enllaç a aquesta entradastatic func warn(sim: Sim, ind: Industry) -> void
    Paràmetres
    • sim: Sim
    • ind: Industry
    Retorna
    void
    Crida
    L.t
    Declarat a scripts/sim/industry_life.gd:119
  • IndustryLife.closing_text static funcThe day a struggling industry closes and what saves it, for its window and the Problems list.
    Enllaç a aquesta entradastatic func closing_text(ind: Industry) -> String
    Paràmetres
    • ind: Industry
    Retorna
    String
    Crida
    L.t, Calendar.format
    Declarat a scripts/sim/industry_life.gd:127
  • IndustryLife.rescue static funcThe cargo that saves a struggling industry, in lower case: what it makes, carried away, or for a customer (a power station) what it takes, brought to it.
    Enllaç a aquesta entradastatic func rescue(ind: Industry) -> String
    Paràmetres
    • ind: Industry
    Retorna
    String
    Crida
    L.lower, Fmt.cargo_list
    Declarat a scripts/sim/industry_life.gd:135
  • IndustryLife.close static funcTake ind off the map: its tiles, an oil rig's own dock, what the stations around it accept and supply, the rivals' routes that served it, and the subsidies about it (Opportunities).
    Enllaç a aquesta entradastatic func close(sim: Sim, ind: Industry) -> void
    Paràmetres
    • sim: Sim
    • ind: Industry
    Retorna
    void
    Crida
    L.t
    Declarat a scripts/sim/industry_life.gd:141
  • IndustryLife._pick_type static funcWhich kind opens: weighed by how common each is on a new map, among those of this era that the map has room for.
    Enllaç a aquesta entradastatic func _pick_type(sim: Sim) -> String

    Kinds on their way out open no more, and from the era that retires the old ones (the Green age) the new kinds that take their place (wind farm sites) are favoured.

    Paràmetres
    • sim: Sim
    Retorna
    String
    Crida
    Data.opens, Data.retiring
    Declarat a scripts/sim/industry_life.gd:169
  • IndustryLife._renewable static funcA kind that comes with the era that retires others (the Green age's wind farm sites).
    Enllaç a aquesta entradastatic func _renewable(type: String) -> bool
    Paràmetres
    • type: String
    Retorna
    bool
    Declarat a scripts/sim/industry_life.gd:191
  • IndustryLife._introduce static funcThe kinds of a later era, once it has come, that the map has fewer of than a new map would get each open one more this month (at the era's start, or in a game saved before it had them).
    Enllaç a aquesta entradastatic func _introduce(sim: Sim) -> void

    A kind made from another (a wind farm from its site) counts with it. Where no site turns up, the next try waits a year (Sim.introduce_wait).

    Paràmetres
    • sim: Sim
    Retorna
    void
    Crida
    Data.opens, WorldGen.type_count
    Declarat a scripts/sim/industry_life.gd:205
  • IndustryLife._made_from static funcThe kind an industry of type was before it was finished (a wind farm: its site), or type.
    Enllaç a aquesta entradastatic func _made_from(type: String) -> String
    Paràmetres
    • type: String
    Retorna
    String
    Declarat a scripts/sim/industry_life.gd:221
  • IndustryLife.build static funcamount of c delivered to a construction site (Data.INDUSTRY "builds") by who: it counts towards the site's totals, and once they are all in the site becomes what it was building.
    Enllaç a aquesta entradastatic func build(sim: Sim, ind: Industry, c: String, amount: float, who: Company) -> void
    Paràmetres
    • sim: Sim
    • ind: Industry
    • c: String
    • amount: float
    • who: Company
    Retorna
    void
    Declarat a scripts/sim/industry_life.gd:232
  • IndustryLife.finish static funcA site has all it needs: it becomes a wind farm.
    Enllaç a aquesta entradastatic func finish(sim: Sim, ind: Industry) -> void

    Its builders gain standing with the councils of the towns around it, in proportion to what each delivered, and the stations around it stop taking what it took.

    Paràmetres
    • sim: Sim
    • ind: Industry
    Retorna
    void
    Crida
    WorldGen.industry_name, L.t
    Declarat a scripts/sim/industry_life.gd:243
  • IndustryLife.near_wind_farm static funcWhether a wind farm stands within WIND_REACH of town t (it grows faster: see Sim).
    Enllaç a aquesta entradastatic func near_wind_farm(m: WorldMap, t: Town) -> bool
    Paràmetres
    • m: WorldMap
    • t: Town
    Retorna
    bool
    Declarat a scripts/sim/industry_life.gd:270
  • IndustryLife.open static funcOpen an industry of type where WorldGen would put one, on ground where nothing is built.
    Enllaç a aquesta entradastatic func open(sim: Sim, type: String) -> Industry

    Returns it, or null when there is no such site (or a ship is on its way through the one found).

    Paràmetres
    • sim: Sim
    • type: String
    Retorna
    Industry
    Crida
    WorldGen.find_site, WorldGen.spacing, WorldGen.unserved_feeders, WorldGen.put_industry, WorldGen.industry_name, BuildOps.add_rig_dock, WorldGen.level_ground, L.t, L.lower
    Declarat a scripts/sim/industry_life.gd:280
  • IndustryLife._ships_through static funcWhether a ship's course runs through r (an oil rig opening there would stand in its way).
    Enllaç a aquesta entradastatic func _ships_through(sim: Sim, r: Rect2i) -> bool
    Paràmetres
    • sim: Sim
    • r: Rect2i
    Retorna
    bool
    Declarat a scripts/sim/industry_life.gd:312
  • IndustryLife._changed static funcAfter an industry came or went inside r: stations around it look again at what they accept and supply, and everything made from the list of industries is made again (WorldMap.industry_rev).
    Enllaç a aquesta entradastatic func _changed(sim: Sim, r: Rect2i) -> void
    Paràmetres
    • sim: Sim
    • r: Rect2i
    Retorna
    void
    Declarat a scripts/sim/industry_life.gd:323

L

  • L.DIRS const
    Enllaç a aquesta entradaconst DIRS := ["res://lang", "user://lang"]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/l.gd:18
  • L.FALLBACK const
    Enllaç a aquesta entradaconst FALLBACK := "en"

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/l.gd:19
  • L.ELIDE_DE constLanguages where "de" before a vowel is written "d'" (see tidy).
    Enllaç a aquesta entradaconst ELIDE_DE := ["ca", "fr"]Declarat a scripts/core/l.gd:21
  • L.KEEP_CASE constLanguages whose nouns keep their capital in mid-sentence (see lower).
    Enllaç a aquesta entradaconst KEEP_CASE := ["de"]Declarat a scripts/core/l.gd:23
  • L.lang static var
    Enllaç a aquesta entradastatic var lang := "en"

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/l.gd:25
  • L._tables static varlanguage code -> {english: translated}
    Enllaç a aquesta entradastatic var _tables := {}Declarat a scripts/core/l.gd:26
  • L._table static varthe current language's table
    Enllaç a aquesta entradastatic var _table := {}Declarat a scripts/core/l.gd:27
  • L._loaded static var
    Enllaç a aquesta entradastatic var _loaded := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/l.gd:28
  • L._registered static varlanguage code -> Translation given to the TranslationServer
    Enllaç a aquesta entradastatic var _registered := {}Declarat a scripts/core/l.gd:29
  • L.misses static varSet to a dictionary to collect every text looked up that has no translation (for tools/i18n_report).
    Enllaç a aquesta entradastatic var misses = nullDeclarat a scripts/core/l.gd:31
  • L._miss_mutex static var
    Enllaç a aquesta entradastatic var _miss_mutex := Mutex.new()

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/l.gd:32
  • L._guarded static var
    Enllaç a aquesta entradastatic var _guarded := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/l.gd:33
  • L._elide static var
    Enllaç a aquesta entradastatic var _elide: RegEx = null

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/l.gd:34
  • L.t static funcThe text in the current language.
    Enllaç a aquesta entradastatic func t(s: String) -> String
    Paràmetres
    • s: String
    Retorna
    String
    Declarat a scripts/core/l.gd:58
  • L.tidy static funcSmooth text assembled from pieces, where a name was dropped into a translated sentence.
    Enllaç a aquesta entradastatic func tidy(s: String) -> String

    Catalan and French write "de" as "d'" before a vowel: "Mina de carbó de Elmley" -> "Mina de carbó d'Elmley", "Mine de charbon de Ashford" -> "Mine de charbon d'Ashford". (Not before h: these are English-style names, where the h is sounded.)

    Paràmetres
    • s: String
    Retorna
    String
    Declarat a scripts/core/l.gd:75
  • L.lower static funcA name (cargo, building...) in lower case for use mid-sentence - except in German, where nouns keep their capital: "Takes coal", "Nimmt Kohle".
    Enllaç a aquesta entradastatic func lower(s: String) -> String
    Paràmetres
    • s: String
    Retorna
    String
    Declarat a scripts/core/l.gd:86
  • L.n static func"1 tile" / "7 tiles": one is used for exactly one, many (with a %d) otherwise.
    Enllaç a aquesta entradastatic func n(one: String, many: String, count: int) -> String
    Paràmetres
    • one: String
    • many: String
    • count: int
    Retorna
    String
    Declarat a scripts/core/l.gd:91
  • L.each static funcA list of names in the current language, e.g.
    Enllaç a aquesta entradastatic func each(items: Array) -> PackedStringArray

    cargo names from the data tables.

    Paràmetres
    • items: Array
    Retorna
    PackedStringArray
    Declarat a scripts/core/l.gd:98
  • L.load_all static funcRead every language file.
    Enllaç a aquesta entradastatic func load_all(extra_dirs: Array = []) -> void

    Later directories (the player's own, then mods) override earlier ones.

    Paràmetres
    • extra_dirs: Array = []
    Retorna
    void
    Declarat a scripts/core/l.gd:106
  • L.load_file static funcParse one language file into the tables.
    Enllaç a aquesta entradastatic func load_file(path: String) -> int

    Returns the number of translations read.

    Paràmetres
    • path: String
    Retorna
    int
    Declarat a scripts/core/l.gd:122
  • L._unquote static funcText that starts or ends with a space is written in double quotes: > "Tip: "
    Enllaç a aquesta entradastatic func _unquote(s: String) -> String
    Paràmetres
    • s: String
    Retorna
    String
    Declarat a scripts/core/l.gd:148
  • L.languages static funcLanguages the player can pick: [[code, name in that language]], English first.
    Enllaç a aquesta entradastatic func languages() -> Array
    Retorna
    Array
    Declarat a scripts/core/l.gd:155
  • L.system_language static funcThe language to use for a setting of "auto": the system's, if we have it.
    Enllaç a aquesta entradastatic func system_language() -> String
    Retorna
    String
    Declarat a scripts/core/l.gd:168
  • L.set_language static funcSwitch language.
    Enllaç a aquesta entradastatic func set_language(code: String) -> void

    "auto" follows the system.

    Paràmetres
    • code: String
    Retorna
    void
    Declarat a scripts/core/l.gd:176
  • L.release static funcTake our translations back out of the TranslationServer (see _Guard).
    Enllaç a aquesta entradastatic func release() -> void
    Retorna
    void
    Declarat a scripts/core/l.gd:195
  • L.thousands static funcHow thousands are grouped: 1,234 in English, 1.234 in most others, 1 234 in French.
    Enllaç a aquesta entradastatic func thousands() -> String
    Retorna
    String
    Declarat a scripts/core/l.gd:203
  • L._guard static func
    Enllaç a aquesta entradastatic func _guard() -> void
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/l.gd:207

Line

  • Line.COLORS const
    Enllaç a aquesta entradaconst COLORS

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/line.gd:11
  • Line.id var
    Enllaç a aquesta entradavar id := 0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/line.gd:14
  • Line.name var
    Enllaç a aquesta entradavar name := ""

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/line.gd:15
  • Line.color var
    Enllaç a aquesta entradavar color := Color.WHITE

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/line.gd:16
  • Line.kind var
    Enllaç a aquesta entradavar kind := "road"

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/line.gd:17
  • Line.owner var
    Enllaç a aquesta entradavar owner: Company

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/line.gd:18
  • Line.orders var[{"st": Station, "full": bool, "transfer": bool}], shared with every vehicle on it
    Enllaç a aquesta entradavar orders: Array = []Declarat a scripts/sim/line.gd:19
  • Line.spacing varKeep the vehicles evenly spread round the line: each one waits at the first stop until the one before it is a fair share of a round trip ahead.
    Enllaç a aquesta entradavar spacing := falseDeclarat a scripts/sim/line.gd:22
  • Line.lap_days vara round trip, on average (days); -1 until one has been timed
    Enllaç a aquesta entradavar lap_days := -1.0Declarat a scripts/sim/line.gd:23
  • Line.last_departure vargame day a vehicle of the line last left the first stop
    Enllaç a aquesta entradavar last_departure := -1.0Declarat a scripts/sim/line.gd:24
  • Line._init func
    Enllaç a aquesta entradafunc _init(p_id: int = 0, p_name: String = "", p_kind: String = "road", p_owner: Company = null) -> void
    Paràmetres
    • p_id: int = 0
    • p_name: String = ""
    • p_kind: String = "road"
    • p_owner: Company = null
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/line.gd:27
  • Line.stops funcReturns the station objects in the order vehicles visit them on this line.
    Enllaç a aquesta entradafunc stops() -> Array
    Retorna
    Array
    Declarat a scripts/sim/line.gd:35
  • Line.vehicles funcThe vehicles on this line, in the order they were bought.
    Enllaç a aquesta entradafunc vehicles(sim: Sim) -> Array
    Paràmetres
    • sim: Sim
    Retorna
    Array
    Declarat a scripts/sim/line.gd:40
  • Line.gap funcThe gap (in days) the vehicles should keep at the first stop: a round trip shared out among n of them.
    Enllaç a aquesta entradafunc gap(n: int) -> float

    0 when there is nothing to keep apart, or no round trip timed yet.

    Paràmetres
    • n: int
    Retorna
    float
    Declarat a scripts/sim/line.gd:46
  • Line.note_departure funcA vehicle of this line just left the first stop; lap is how long it took to come round since it last left it (-1 the first time).
    Enllaç a aquesta entradafunc note_departure(day: float, lap: float) -> void
    Paràmetres
    • day: float
    • lap: float
    Retorna
    void
    Declarat a scripts/sim/line.gd:54
  • Line.route_text funcA route in a few words: "Ashford → Millbury".
    Enllaç a aquesta entradafunc route_text() -> String
    Retorna
    String
    Declarat a scripts/sim/line.gd:61
  • Line.totals funcThe line's numbers, added up over its vehicles: {"count", "profit", "last", "load" (-1 when none known), "running", "old", "stopped"}.
    Enllaç a aquesta entradafunc totals(sim: Sim) -> Dictionary
    Paràmetres
    • sim: Sim
    Retorna
    Dictionary
    Declarat a scripts/sim/line.gd:73

Mods

  • Mods.DIRS const
    Enllaç a aquesta entradaconst DIRS := ["res://mods", "user://mods"]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/mods.gd:14
  • Mods.USER_DIR const
    Enllaç a aquesta entradaconst USER_DIR := "user://mods"

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/mods.gd:15
  • Mods.UNPACKED const
    Enllaç a aquesta entradaconst UNPACKED := "user://mods/.unpacked"

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/mods.gd:16
  • Mods.SAMPLES_ZIP constAn exported game can't hold the samples' folder as it is (the editor skips it: see mods/.gdignore), so tools/release.sh packs it into this zip, which is unpacked to SAMPLES whenever it changes.
    Enllaç a aquesta entradaconst SAMPLES_ZIP := "res://sample_mods.zip"Declarat a scripts/core/mods.gd:19
  • Mods.SAMPLES const
    Enllaç a aquesta entradaconst SAMPLES := "user://mods/.samples"

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/mods.gd:20
  • Mods.KINDS const
    Enllaç a aquesta entradaconst KINDS := ["rail", "road", "water", "air"]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/mods.gd:21
  • Mods.found static varEvery mod found: {"id", "name", "version", "author", "description", "path", "builtin", "has": {"data", "lang", "maps", "models", "script"}, "enabled", "error"}.
    Enllaç a aquesta entradastatic var found: Array = []Declarat a scripts/core/mods.gd:25
  • Mods.scripts static varlive Mod instances of the enabled script mods
    Enllaç a aquesta entradastatic var scripts: Array = []Declarat a scripts/core/mods.gd:26
  • Mods.maps static varMaps offered in New game: {"name", "description", "heightmap", "params", "mod"}.
    Enllaç a aquesta entradastatic var maps: Array = []Declarat a scripts/core/mods.gd:28
  • Mods._meshes static varmodel id -> ArrayMesh loaded from a mod's .glb
    Enllaç a aquesta entradastatic var _meshes := {}Declarat a scripts/core/mods.gd:29
  • Mods._applied static var
    Enllaç a aquesta entradastatic var _applied := false

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/mods.gd:30
  • Mods.log_lines static varwhat went wrong, for the Mods screen
    Enllaç a aquesta entradastatic var log_lines: Array[String] = []Declarat a scripts/core/mods.gd:31
  • Mods.scan static funcLook through the mod folders.
    Enllaç a aquesta entradastatic func scan() -> void

    Zips in the player's folder are unpacked first.

    Retorna
    void
    Declarat a scripts/core/mods.gd:37
  • Mods.read_info static funcRead a mod folder's mod.json.
    Enllaç a aquesta entradastatic func read_info(path: String) -> Dictionary

    Returns {} if it isn't a mod (with a note in the log if it tried to be).

    Paràmetres
    • path: String
    Retorna
    Dictionary
    Declarat a scripts/core/mods.gd:72
  • Mods._unpack_zips static funcA .zip dropped in the mods folder is unpacked next to the others (once per version of the file).
    Enllaç a aquesta entradastatic func _unpack_zips() -> void
    Retorna
    void
    Declarat a scripts/core/mods.gd:102
  • Mods._unpack_samples static funcUnpack the samples that ship in an exported game (once per version of them).
    Enllaç a aquesta entradastatic func _unpack_samples() -> bool

    False if that failed.

    Retorna
    bool
    Declarat a scripts/core/mods.gd:143
  • Mods._remove_tree static func
    Enllaç a aquesta entradastatic func _remove_tree(path: String) -> void
    Paràmetres
    • path: String
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/mods.gd:172
  • Mods._note static func
    Enllaç a aquesta entradastatic func _note(line: String) -> void
    Paràmetres
    • line: String
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/mods.gd:184
  • Mods.enabled static func
    Enllaç a aquesta entradastatic func enabled() -> Array
    Retorna
    Array

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/mods.gd:189
  • Mods.by_id static func
    Enllaç a aquesta entradastatic func by_id(id: String) -> Dictionary
    Paràmetres
    • id: String
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/mods.gd:193
  • Mods.set_enabled static funcSwitch a mod on or off and rebuild what mods add.
    Enllaç a aquesta entradastatic func set_enabled(id: String, on: bool) -> void

    Remembered in the settings.

    Paràmetres
    • id: String
    • on: bool
    Retorna
    void
    Declarat a scripts/core/mods.gd:201
  • Mods.apply static funcRebuild everything the enabled mods add.
    Enllaç a aquesta entradastatic func apply(rescan: bool = true) -> void

    Safe to call again: it starts from the plain game.

    Paràmetres
    • rescan: bool = true
    Retorna
    void
    Crida
    Data.clear_mods, L.load_all, L.set_language
    Declarat a scripts/core/mods.gd:214
  • Mods._apply_one static func
    Enllaç a aquesta entradastatic func _apply_one(m: Dictionary) -> String
    Paràmetres
    • m: Dictionary
    Retorna
    String

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/mods.gd:241
  • Mods._apply_data static funcCheck and merge one mod's data.json.
    Enllaç a aquesta entradastatic func _apply_data(m: Dictionary, d: Dictionary) -> String

    Returns "" or what's wrong (nothing is added then).

    Paràmetres
    • m: Dictionary
    • d: Dictionary
    Retorna
    String
    Crida
    Data.has_model, Data.model, Data.add_model, Data.add_town_names
    Declarat a scripts/core/mods.gd:265
  • Mods._collect_maps static funcmaps/NAME.png, with an optional maps/NAME.json: {"name", "description", "settings": {...}} where settings are new-game parameters (w, h, towns, industries, year, ...).
    Enllaç a aquesta entradastatic func _collect_maps(m: Dictionary) -> void
    Paràmetres
    • m: Dictionary
    Retorna
    void
    Declarat a scripts/core/mods.gd:333
  • Mods.vehicle_mesh static funcThe mesh a mod supplies for a vehicle model (from its .glb), or null to use the game's own.
    Enllaç a aquesta entradastatic func vehicle_mesh(model_id: String) -> ArrayMesh

    The mesh keeps the materials it was made with.

    Paràmetres
    • model_id: String
    Retorna
    ArrayMesh
    Crida
    Data.model, Data.has_model
    Declarat a scripts/core/mods.gd:364
  • Mods.load_glb static funcRead a .glb / .gltf into one mesh (every mesh in the file, in place, with its materials).
    Enllaç a aquesta entradastatic func load_glb(file: String) -> ArrayMesh

    Convention, as for the game's own models: the vehicle faces -Z, stands on y = 0, centred.

    Paràmetres
    • file: String
    Retorna
    ArrayMesh
    Declarat a scripts/core/mods.gd:379
  • Mods._merge_meshes static func
    Enllaç a aquesta entradastatic func _merge_meshes(n: Node, xf: Transform3D, out: ArrayMesh) -> void
    Paràmetres
    • n: Node
    • xf: Transform3D
    • out: ArrayMesh
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/core/mods.gd:393
  • Mods.hook static funcCall a hook on every enabled script mod.
    Enllaç a aquesta entradastatic func hook(method: String, args: Array = []) -> void

    A mod whose hook fails is reported, not fatal.

    Paràmetres
    • method: String
    • args: Array = []
    Retorna
    void
    Declarat a scripts/core/mods.gd:424
  • Mods.allow_news static funcNews goes out unless a mod's _on_news returns false.
    Enllaç a aquesta entradastatic func allow_news(sim: Sim, item: Dictionary) -> bool
    Paràmetres
    • sim: Sim
    • item: Dictionary
    Retorna
    bool
    Declarat a scripts/core/mods.gd:430
  • Mods.save_state static funcWhat goes into a saved game: which mods were on, and each script mod's own data.
    Enllaç a aquesta entradastatic func save_state(sim: Sim) -> Dictionary
    Paràmetres
    • sim: Sim
    Retorna
    Dictionary
    Declarat a scripts/core/mods.gd:438
  • Mods.load_state static funcAfter loading a game: hand script mods their data, and return the mods the save was made with that aren't on now (names, for a warning).
    Enllaç a aquesta entradastatic func load_state(sim: Sim, state: Dictionary) -> Array
    Paràmetres
    • sim: Sim
    • state: Dictionary
    Retorna
    Array
    Declarat a scripts/core/mods.gd:451

Opportunities

  • Opportunities.MAX_SUBSIDIES constFew at once, and seldom (a new one of each kind every eight months or so): each is news, and a stream of them buries the player's own (RAIL-78).
    Enllaç a aquesta entradaconst MAX_SUBSIDIES := 2

    subsidies on offer at once (won ones aside)

    Declarat a scripts/sim/opportunities.gd:44
  • Opportunities.MAX_REQUESTS consttown requests open on the map at once
    Enllaç a aquesta entradaconst MAX_REQUESTS := 2Declarat a scripts/sim/opportunities.gd:45
  • Opportunities.OFFER_CHANCE constchance a month of a new subsidy while there is room, and the same for a request
    Enllaç a aquesta entradaconst OFFER_CHANCE := 0.12Declarat a scripts/sim/opportunities.gd:46
  • Opportunities.DAY_CHANCE const...as a chance a day (daily), so that over a month it comes to OFFER_CHANCE.
    Enllaç a aquesta entradaconst DAY_CHANCE := 1.0 - pow(1.0 - OFFER_CHANCE, 1.0 / 30.0)Declarat a scripts/sim/opportunities.gd:48
  • Opportunities.TRIES constsources (or towns) tried for a new offer
    Enllaç a aquesta entradaconst TRIES := 6Declarat a scripts/sim/opportunities.gd:49
  • Opportunities.SUBSIDY_MIN consttiles between the ends of a subsidised route (along the axes)
    Enllaç a aquesta entradaconst SUBSIDY_MIN := 15Declarat a scripts/sim/opportunities.gd:50
  • Opportunities.SUBSIDY_MAX const
    Enllaç a aquesta entradaconst SUBSIDY_MAX := 60

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/opportunities.gd:51
  • Opportunities.SUBSIDY_DAYS constan offer nobody takes lapses after this long
    Enllaç a aquesta entradaconst SUBSIDY_DAYS := 365Declarat a scripts/sim/opportunities.gd:52
  • Opportunities.SUBSIDY_MULT constthe winner's fares on the route...
    Enllaç a aquesta entradaconst SUBSIDY_MULT := 2.0Declarat a scripts/sim/opportunities.gd:53
  • Opportunities.SUBSIDY_YEARS const...for this long
    Enllaç a aquesta entradaconst SUBSIDY_YEARS := 2Declarat a scripts/sim/opportunities.gd:54
  • Opportunities.UNSERVED_DAYS consta source whose cargo was loaded this recently is served already
    Enllaç a aquesta entradaconst UNSERVED_DAYS := 90.0Declarat a scripts/sim/opportunities.gd:55
  • Opportunities.TOWN_CARGO constwhat every town takes besides passengers and mail (Station.coverage)
    Enllaç a aquesta entradaconst TOWN_CARGO := ["goods", "food"]Declarat a scripts/sim/opportunities.gd:56
  • Opportunities.TOWN_TAKES_POP consta town this big takes them (a station in its centre reaches 60 people)
    Enllaç a aquesta entradaconst TOWN_TAKES_POP := 400Declarat a scripts/sim/opportunities.gd:57
  • Opportunities.LINK_POP consta town this big asks for passenger links...
    Enllaç a aquesta entradaconst LINK_POP := 700Declarat a scripts/sim/opportunities.gd:58
  • Opportunities.LINK_TO_POP const...to a town at least this big
    Enllaç a aquesta entradaconst LINK_TO_POP := 200Declarat a scripts/sim/opportunities.gd:59
  • Opportunities.RAIL_POP consttwo towns this big may want the link by rail
    Enllaç a aquesta entradaconst RAIL_POP := 1500Declarat a scripts/sim/opportunities.gd:60
  • Opportunities.SUPPLY_PER_POP consta supply asks this many units a resident a month of its time
    Enllaç a aquesta entradaconst SUPPLY_PER_POP := 0.025Declarat a scripts/sim/opportunities.gd:61
  • Opportunities.VISITORS_PER_POP const...and visitors as many
    Enllaç a aquesta entradaconst VISITORS_PER_POP := 0.04Declarat a scripts/sim/opportunities.gd:62
  • Opportunities.SERVICE_RATING consta service request: every station rated this or more...
    Enllaç a aquesta entradaconst SERVICE_RATING := 0.6Declarat a scripts/sim/opportunities.gd:63
  • Opportunities.SERVICE_MONTHS const...this many month ends in a row...
    Enllaç a aquesta entradaconst SERVICE_MONTHS := 12Declarat a scripts/sim/opportunities.gd:64
  • Opportunities.SERVICE_DEADLINE const...within this many months
    Enllaç a aquesta entradaconst SERVICE_DEADLINE := 18Declarat a scripts/sim/opportunities.gd:65
  • Opportunities.REQUEST_MONTHS constthe time other requests give
    Enllaç a aquesta entradaconst REQUEST_MONTHS := Vector2i(6, 18)Declarat a scripts/sim/opportunities.gd:66
  • Opportunities.REWARDS constThe rewards that fit each request; one is chosen when it is made.
    Enllaç a aquesta entradaconst REWARDS

    Exclusive rights take a new link: good service alone, which rivals' stations give without trying, doesn't shut the others out.

    Declarat a scripts/sim/opportunities.gd:69
  • Opportunities.RATING_BOOST const
    Enllaç a aquesta entradaconst RATING_BOOST := 25.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/opportunities.gd:71
  • Opportunities.GRANT const
    Enllaç a aquesta entradaconst GRANT := 50000

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/opportunities.gd:72
  • Opportunities.RIGHTS_DAYS constexclusive rights and half-price stations last this long
    Enllaç a aquesta entradaconst RIGHTS_DAYS := 365Declarat a scripts/sim/opportunities.gd:73
  • Opportunities.CHEAP constwhat stations and depots cost then
    Enllaç a aquesta entradaconst CHEAP := 0.5Declarat a scripts/sim/opportunities.gd:74
  • Opportunities.BOOM_DAYS consta growth reward: fast growth this long (as Fund buildings)
    Enllaç a aquesta entradaconst BOOM_DAYS := 180Declarat a scripts/sim/opportunities.gd:75
  • Opportunities.offers var
    Enllaç a aquesta entradavar offers: Array = []

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/opportunities.gd:77
  • Opportunities.rng varIts own random numbers (seeded by Sim from the game's seed, saved), so offers don't reshuffle the rest of the game's.
    Enllaç a aquesta entradavar rng := RandomNumberGenerator.new()Declarat a scripts/sim/opportunities.gd:80
  • Opportunities.rev vargoes up whenever something is offered, won, met, lapses or makes progress
    Enllaç a aquesta entradavar rev := 0Declarat a scripts/sim/opportunities.gd:81
  • Opportunities.on_delivery funcamt units of c loaded at from (null when that station is gone) delivered by v at st: wins and progress.
    Enllaç a aquesta entradafunc on_delivery(sim: Sim, v: Vehicle, from: Station, st: Station, c: String, amt: int) -> float

    Returns what the fare is multiplied by (a won subsidy's SUBSIDY_MULT, else 1).

    Paràmetres
    • sim: Sim
    • v: Vehicle
    • from: Station
    • st: Station
    • c: String
    • amt: int
    Retorna
    float
    Declarat a scripts/sim/opportunities.gd:88
  • Opportunities._reaches static funcWhether station st reaches place: an industry in its catchment, or a town it belongs to.
    Enllaç a aquesta entradastatic func _reaches(m: WorldMap, st: Station, place: Object) -> bool
    Paràmetres
    • m: WorldMap
    • st: Station
    • place: Object
    Retorna
    bool
    Crida
    Economy.reaches
    Declarat a scripts/sim/opportunities.gd:117
  • Opportunities._joins static func
    Enllaç a aquesta entradastatic func _joins(o: Dictionary, a: Town, b: Town) -> bool
    Paràmetres
    • o: Dictionary
    • a: Town
    • b: Town
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/opportunities.gd:123
  • Opportunities._win_subsidy func
    Enllaç a aquesta entradafunc _win_subsidy(sim: Sim, o: Dictionary, who: Company) -> void
    Paràmetres
    • sim: Sim
    • o: Dictionary
    • who: Company
    Retorna
    void
    Crida
    L.t, Calendar.format

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/opportunities.gd:127
  • Opportunities._met funcRequest k is met by who: its reward, news, and it leaves the list.
    Enllaç a aquesta entradafunc _met(sim: Sim, k: int, who: Company) -> void
    Paràmetres
    • sim: Sim
    • k: int
    • who: Company
    Retorna
    void
    Crida
    L.t
    Declarat a scripts/sim/opportunities.gd:139
  • Opportunities.monthly funcMonth end (Sim._on_day, after the industries' month): service months and rights that end.
    Enllaç a aquesta entradafunc monthly(sim: Sim) -> void

    Then what lapses, as every day.

    Paràmetres
    • sim: Sim
    Retorna
    void
    Declarat a scripts/sim/opportunities.gd:169
  • Opportunities.daily funcEvery day (Sim._on_day): offers that lapse or end that day, and now and then a new subsidy or a new request while there is room, so news of them comes at any time of the month.
    Enllaç a aquesta entradafunc daily(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Declarat a scripts/sim/opportunities.gd:187
  • Opportunities._lapse funcTakes off the offers whose day has come, with news; a service request only at the month end (month_end), once its last month is counted.
    Enllaç a aquesta entradafunc _lapse(sim: Sim, month_end: bool) -> Vector2i

    Returns how many subsidies (x) and requests (y) are still open.

    Paràmetres
    • sim: Sim
    • month_end: bool
    Retorna
    Vector2i
    Crida
    L.t
    Declarat a scripts/sim/opportunities.gd:198
  • Opportunities._count_service funcOne more month for each company whose stations in the town are all rated SERVICE_RATING or more (it needs one at least); back to none for the others.
    Enllaç a aquesta entradafunc _count_service(sim: Sim, o: Dictionary) -> void
    Paràmetres
    • sim: Sim
    • o: Dictionary
    Retorna
    void
    Declarat a scripts/sim/opportunities.gd:231
  • Opportunities._leader static funcThe company furthest on with a request (-1: nobody has started).
    Enllaç a aquesta entradastatic func _leader(o: Dictionary) -> int
    Paràmetres
    • o: Dictionary
    Retorna
    int
    Declarat a scripts/sim/opportunities.gd:251
  • Opportunities.industry_closed funcAn industry closes (IndustryLife.close): offers about it are withdrawn, and a won subsidy ends.
    Enllaç a aquesta entradafunc industry_closed(sim: Sim, ind: Industry) -> void
    Paràmetres
    • sim: Sim
    • ind: Industry
    Retorna
    void
    Crida
    L.t
    Declarat a scripts/sim/opportunities.gd:260
  • Opportunities.offer_subsidy funcOffer a subsidy for a route nobody serves yet, if one turns up in a few tries: a cargo an industry makes (or, from the Late century, the waste a town makes: Data.town_makes) that nobody loads there, to a place in reach that takes it.
    Enllaç a aquesta entradafunc offer_subsidy(sim: Sim) -> Dictionary

    Returns it, or {}.

    Paràmetres
    • sim: Sim
    Retorna
    Dictionary
    Crida
    IndustryLife.served, Data.town_makes, Data.town_pop, L.t, Calendar.format
    Declarat a scripts/sim/opportunities.gd:276
  • Opportunities.pos_of static funcWhere an industry or a town is: its middle.
    Enllaç a aquesta entradastatic func pos_of(place: Object) -> Vector2
    Paràmetres
    • place: Object
    Retorna
    Vector2
    Declarat a scripts/sim/opportunities.gd:324
  • Opportunities.offer_request funcAsk for something from a town without a request, if one in a few tries can ask for anything: the bigger the town, the likelier it is to ask.
    Enllaç a aquesta entradafunc offer_request(sim: Sim) -> Dictionary

    Returns the request, or {}.

    Paràmetres
    • sim: Sim
    Retorna
    Dictionary
    Crida
    Goals.cargos_in_game
    Declarat a scripts/sim/opportunities.gd:330
  • Opportunities.request_kinds funcWhat town t could ask for: links when it is big, supplies when it takes goods or food and the map makes some (have: Goals.cargos_in_game), visitors when it has an attraction, service when some company has a station there.
    Enllaç a aquesta entradafunc request_kinds(sim: Sim, t: Town, have: Array) -> Array
    Paràmetres
    • sim: Sim
    • t: Town
    • have: Array
    Retorna
    Array
    Declarat a scripts/sim/opportunities.gd:359
  • Opportunities.make_request funcMake a request of type from town t (see request_kinds), with news.
    Enllaç a aquesta entradafunc make_request(sim: Sim, t: Town, type: String, have: Array) -> Dictionary

    {} when there is nothing to ask for after all (a link with no town in reach that isn't linked already).

    Paràmetres
    • sim: Sim
    • t: Town
    • type: String
    • have: Array
    Retorna
    Dictionary
    Crida
    L.t, Calendar.format
    Declarat a scripts/sim/opportunities.gd:376
  • Opportunities._link_partner funcA town for a link from t: SUBSIDY_MIN..SUBSIDY_MAX tiles away, at least LINK_TO_POP people, and no passenger vehicle of anyone's calling at both yet.
    Enllaç a aquesta entradafunc _link_partner(sim: Sim, t: Town) -> Town

    Null when there is none.

    Paràmetres
    • sim: Sim
    • t: Town
    Retorna
    Town
    Declarat a scripts/sim/opportunities.gd:412
  • Opportunities._offer func
    Enllaç a aquesta entradafunc _offer(sim: Sim, type: String, cargo: String, expires: int) -> Dictionary
    Paràmetres
    • sim: Sim
    • type: String
    • cargo: String
    • expires: int
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/opportunities.gd:434
  • Opportunities._offered funcWhether an industry or a town is the source of a subsidy already.
    Enllaç a aquesta entradafunc _offered(place: Object) -> bool
    Paràmetres
    • place: Object
    Retorna
    bool
    Declarat a scripts/sim/opportunities.gd:443
  • Opportunities._in_range static func
    Enllaç a aquesta entradastatic func _in_range(a: Vector2, b: Vector2) -> bool
    Paràmetres
    • a: Vector2
    • b: Vector2
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/opportunities.gd:447
  • Opportunities._round static funcA target in round numbers: to the nearest 50, at least 100.
    Enllaç a aquesta entradastatic func _round(n: float) -> int
    Paràmetres
    • n: float
    Retorna
    int
    Declarat a scripts/sim/opportunities.gd:453
  • Opportunities.attractions_of static funcThe attractions town t has, as Data.HOUSES types.
    Enllaç a aquesta entradastatic func attractions_of(t: Town) -> Array
    Paràmetres
    • t: Town
    Retorna
    Array
    Declarat a scripts/sim/opportunities.gd:458
  • Opportunities.request_of funcThe request town t has open, or {}.
    Enllaç a aquesta entradafunc request_of(t: Town) -> Dictionary
    Paràmetres
    • t: Town
    Retorna
    Dictionary
    Declarat a scripts/sim/opportunities.gd:463
  • Opportunities.what static funcWhat an offer asks, in a few words, as it reads mid-sentence: "coal from Ashford Mine to Elmford Power Station", "300 food for Elmford" (title for the start of one).
    Enllaç a aquesta entradastatic func what(o: Dictionary) -> String
    Paràmetres
    • o: Dictionary
    Retorna
    String
    Crida
    L.t, L.lower, Fmt.int_commas
    Declarat a scripts/sim/opportunities.gd:474
  • Opportunities.title static funcwhat, starting with a capital: a heading.
    Enllaç a aquesta entradastatic func title(o: Dictionary) -> String
    Paràmetres
    • o: Dictionary
    Retorna
    String
    Declarat a scripts/sim/opportunities.gd:488
  • Opportunities.reward_name static funcWhat meeting a request brings, in a few words ("a grant of $50,000").
    Enllaç a aquesta entradastatic func reward_name(reward: String) -> String
    Paràmetres
    • reward: String
    Retorna
    String
    Crida
    L.t, Fmt.money
    Declarat a scripts/sim/opportunities.gd:494
  • Opportunities.place static funcWhere an offer is, for the map: the middle of its route (or the town), and a zoom that shows it.
    Enllaç a aquesta entradastatic func place(o: Dictionary) -> Array
    Paràmetres
    • o: Dictionary
    Retorna
    Array
    Declarat a scripts/sim/opportunities.gd:505
  • Opportunities._news funcworld: news the player can't act on (a rival's win, an offer that lapsed): Sim.post_world_news.
    Enllaç a aquesta entradafunc _news(sim: Sim, text: String, kind: String, o: Dictionary, world: bool = false) -> void

    A new offer is the player's news: it is a chance for them.

    Paràmetres
    • sim: Sim
    • text: String
    • kind: String
    • o: Dictionary
    • world: bool = false
    Retorna
    void
    Declarat a scripts/sim/opportunities.gd:513
  • Opportunities.to_dict func
    Enllaç a aquesta entradafunc to_dict() -> Dictionary
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/opportunities.gd:519
  • Opportunities._ref static funcAn industry or a town as a save keeps it: ["i" or "t", its id] ([] for none).
    Enllaç a aquesta entradastatic func _ref(place: Object) -> Array
    Paràmetres
    • place: Object
    Retorna
    Array
    Declarat a scripts/sim/opportunities.gd:531
  • Opportunities.restore funcTake back the offers of a save (d: to_dict's) on map m.
    Enllaç a aquesta entradafunc restore(d: Dictionary, m: WorldMap) -> void

    An offer about a place that isn't there is left out. A save from before there were any leaves none, and the seed Sim gave.

    Paràmetres
    • d: Dictionary
    • m: WorldMap
    Retorna
    void
    Declarat a scripts/sim/opportunities.gd:537

Pathfinder

  • Pathfinder.MAX_EXPANSIONS const
    Enllaç a aquesta entradaconst MAX_EXPANSIONS := 400000

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/pathfinder.gd:8
  • Pathfinder.find static funcReturns {"tiles": Array[Vector2i], "end_heading": int} or {} when there is no route.
    Enllaç a aquesta entradastatic func find(m: WorldMap, kind: String, start: Vector2i, heading: int, goals: Dictionary, allow_reverse_start: bool, allow_dead_end_uturn: bool, wired: bool = false, obey_signals: bool = true, avoid: Dictionary = {}) -> Dictionary

    A route that took a search also carries "box": every tile the search looked at lies inside it, so as long as the network doesn't change in there the same search gives the same route. goals: Dictionary of goal tiles. heading -1 means any first move is allowed. wired: an electric train, which can only run under overhead wires. obey_signals false: as if one-way signals let trains through both ways (to tell the player when they are what stands in the way). avoid: track blocks (ids of WorldMap.blocks) to keep off, where other trains are (RAIL-80).

    Paràmetres
    • m: WorldMap
    • kind: String
    • start: Vector2i
    • heading: int
    • goals: Dictionary
    • allow_reverse_start: bool
    • allow_dead_end_uturn: bool
    • wired: bool = false
    • obey_signals: bool = true
    • avoid: Dictionary = {}
    Retorna
    Dictionary
    Crida
    Const.opp
    Declarat a scripts/sim/pathfinder.gd:19
  • Pathfinder._find_water static funcThe way over water from start to the nearest of goals.
    Enllaç a aquesta entradastatic func _find_water(m: WorldMap, start: Vector2i, goals: Dictionary) -> Dictionary

    Ships turn where they like and sail a straight course afterwards (Vehicle.water_course), so this is the eight-way way of find_sea with each diagonal step split in two: a search over tiles rather than tiles and headings, with a heuristic that fits open water. Remembered on the map (see _sea_memo).

    Paràmetres
    • m: WorldMap
    • start: Vector2i
    • goals: Dictionary
    Retorna
    Dictionary
    Crida
    BuildOps.dir_between
    Declarat a scripts/sim/pathfinder.gd:101
  • Pathfinder.find_sea static funcThe shortest way by water from start to goal, moving between tiles in eight directions (diagonally only where both tiles beside the step are water too), or [] when there is none.
    Enllaç a aquesta entradastatic func find_sea(m: WorldMap, start: Vector2i, goal: Vector2i, max_len: float = INF) -> Array[Vector2i]

    Ships pull it straight afterwards (Vehicle.water_course): unlike the four-way route, it already runs close to the direct line, so the pulled course doesn't keep the corners of an L. max_len: ways longer than this don't count, which keeps the search to the water near the straight line (an answer of "none" then comes quickly even on a big sea).

    Paràmetres
    • m: WorldMap
    • start: Vector2i
    • goal: Vector2i
    • max_len: float = INF
    Retorna
    Array[Vector2i]
    Declarat a scripts/sim/pathfinder.gd:127
  • Pathfinder._sea_memo static funcA way over water found earlier under key from start to one of ends ([] if none, if it no longer runs over open water, or if it answers another question whose key hashed the same).
    Enllaç a aquesta entradastatic func _sea_memo(m: WorldMap, key: int, start: Vector2i, ends: Dictionary) -> Array[Vector2i]

    Ships ask the same questions at every departure, and open water only changes with the ground (WorldMap.notify empties sea_memo then).

    Paràmetres
    • m: WorldMap
    • key: int
    • start: Vector2i
    • ends: Dictionary
    Retorna
    Array[Vector2i]
    Declarat a scripts/sim/pathfinder.gd:142
  • Pathfinder._sea_remember static func
    Enllaç a aquesta entradastatic func _sea_remember(m: WorldMap, key: int, tiles: Array[Vector2i]) -> void
    Paràmetres
    • m: WorldMap
    • key: int
    • tiles: Array[Vector2i]
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/pathfinder.gd:155
  • Pathfinder._find_sea static funcfind_sea's search, to the nearest of goals.
    Enllaç a aquesta entradastatic func _find_sea(m: WorldMap, start: Vector2i, goals: Array, max_len: float) -> Array[Vector2i]
    Paràmetres
    • m: WorldMap
    • start: Vector2i
    • goals: Array
    • max_len: float
    Retorna
    Array[Vector2i]
    Declarat a scripts/sim/pathfinder.gd:162
  • Pathfinder._octile static funcThe eight-way distance over open water from (x, y) to the nearest of goals.
    Enllaç a aquesta entradastatic func _octile(x: int, y: int, goals: Array) -> float
    Paràmetres
    • x: int
    • y: int
    • goals: Array
    Retorna
    float
    Declarat a scripts/sim/pathfinder.gd:223
  • Pathfinder._heuristic static func
    Enllaç a aquesta entradastatic func _heuristic(t: Vector2i, goals: Array) -> float
    Paràmetres
    • t: Vector2i
    • goals: Array
    Retorna
    float

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/pathfinder.gd:232
  • Pathfinder._build static func
    Enllaç a aquesta entradastatic func _build(m: WorldMap, came: Dictionary, s: int, end_heading: int) -> Dictionary
    Paràmetres
    • m: WorldMap
    • came: Dictionary
    • s: int
    • end_heading: int
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/pathfinder.gd:239
  • Pathfinder._push static func
    Enllaç a aquesta entradastatic func _push(f: PackedFloat32Array, s: PackedInt32Array, pri: float, state: int) -> void
    Paràmetres
    • f: PackedFloat32Array
    • s: PackedInt32Array
    • pri: float
    • state: int
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/pathfinder.gd:250
  • Pathfinder._pop static func
    Enllaç a aquesta entradastatic func _pop(f: PackedFloat32Array, s: PackedInt32Array) -> void
    Paràmetres
    • f: PackedFloat32Array
    • s: PackedInt32Array
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/pathfinder.gd:263

Problems

  • Problems.SIGNAL_DAYS consta train held at a red signal this long
    Enllaç a aquesta entradaconst SIGNAL_DAYS := 10.0Declarat a scripts/sim/problems.gd:22
  • Problems.QUEUE_DAYS consta vehicle held up in traffic, off a berth or holding this long (RAIL-26)
    Enllaç a aquesta entradaconst QUEUE_DAYS := 2.0Declarat a scripts/sim/problems.gd:23
  • Problems.NO_CALL_DAYS consta station in use that no vehicle has called at for this long
    Enllaç a aquesta entradaconst NO_CALL_DAYS := 60.0Declarat a scripts/sim/problems.gd:24
  • Problems.PILE_UP constcargo piling up: at least this much waiting, more than comes in a month...
    Enllaç a aquesta entradaconst PILE_UP := 150.0Declarat a scripts/sim/problems.gd:25
  • Problems.PILE_RATING const...and the station's rating for it under this, so some of it gives up
    Enllaç a aquesta entradaconst PILE_RATING := 0.6Declarat a scripts/sim/problems.gd:26
  • Problems.SERVICE_LATE constoverdue a service: this many service intervals since the last one
    Enllaç a aquesta entradaconst SERVICE_LATE := 1.6Declarat a scripts/sim/problems.gd:27
  • Problems.STAFF_SHORT constan industry with under this share of the staff it wants
    Enllaç a aquesta entradaconst STAFF_SHORT := 0.5Declarat a scripts/sim/problems.gd:28
  • Problems.HELD_UP consta plant that needs every input holding this much while it waits for another
    Enllaç a aquesta entradaconst HELD_UP := 60.0Declarat a scripts/sim/problems.gd:29
  • Problems.REFRESH constreal seconds between two looks (tick)
    Enllaç a aquesta entradaconst REFRESH := 0.5Declarat a scripts/sim/problems.gd:30
  • Problems.TOLD_DAYS consta vehicle that gets lost is announced at most once in this many days
    Enllaç a aquesta entradaconst TOLD_DAYS := 30Declarat a scripts/sim/problems.gd:31
  • Problems.rows varthe last look, most serious first
    Enllaç a aquesta entradavar rows: Array = []Declarat a scripts/sim/problems.gd:33
  • Problems.serious varrows of level 0
    Enllaç a aquesta entradavar serious := 0Declarat a scripts/sim/problems.gd:34
  • Problems.rev vargoes up when what is on the list (things and kinds) changes
    Enllaç a aquesta entradavar rev := 0Declarat a scripts/sim/problems.gd:35
  • Problems._of varthing -> its most serious row
    Enllaç a aquesta entradavar _of := {}Declarat a scripts/sim/problems.gd:36
  • Problems._sig var
    Enllaç a aquesta entradavar _sig: Array = []

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/problems.gd:37
  • Problems._wait var
    Enllaç a aquesta entradavar _wait := 0.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/problems.gd:38
  • Problems._lost varids of the vehicles lost at the last look
    Enllaç a aquesta entradavar _lost := {}Declarat a scripts/sim/problems.gd:39
  • Problems._told varvehicle id -> game day it was last announced as lost
    Enllaç a aquesta entradavar _told := {}Declarat a scripts/sim/problems.gd:40
  • Problems._primed varthe first look announces nothing: those were lost already
    Enllaç a aquesta entradavar _primed := falseDeclarat a scripts/sim/problems.gd:41
  • Problems._alerts var
    Enllaç a aquesta entradavar _alerts: Array = []

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/problems.gd:42
  • Problems.tick funcLook again if REFRESH seconds have passed since the last look.
    Enllaç a aquesta entradafunc tick(sim: Sim, delta: float) -> bool

    True when it did.

    Paràmetres
    • sim: Sim
    • delta: float
    Retorna
    bool
    Declarat a scripts/sim/problems.gd:46
  • Problems.refresh funcLook again now.
    Enllaç a aquesta entradafunc refresh(sim: Sim) -> void
    Paràmetres
    • sim: Sim
    Retorna
    void
    Declarat a scripts/sim/problems.gd:55
  • Problems.has func
    Enllaç a aquesta entradafunc has(thing: Object) -> bool
    Paràmetres
    • thing: Object
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/problems.gd:83
  • Problems.of funcThe most serious row about thing, or {}.
    Enllaç a aquesta entradafunc of(thing: Object) -> Dictionary
    Paràmetres
    • thing: Object
    Retorna
    Dictionary
    Declarat a scripts/sim/problems.gd:88
  • Problems.take_alerts funcVehicles that got lost since the last call (at most once a month each): for a toast.
    Enllaç a aquesta entradafunc take_alerts() -> Array
    Retorna
    Array
    Declarat a scripts/sim/problems.gd:93
  • Problems.list static funcEvery problem of the player's company, most serious first.
    Enllaç a aquesta entradastatic func list(sim: Sim) -> Array

    Cheap enough for a few times a second with hundreds of vehicles: one pass over vehicles, stations, towns and the industries the stations reach, text only for the rows, and each platform measured once.

    Paràmetres
    • sim: Sim
    Retorna
    Array
    Crida
    L.t, Economy.industry_stations_reverse, SignalTraps.find, SignalTraps.text
    Declarat a scripts/sim/problems.gd:104
  • Problems.vehicle_row static funcThe worst problem of one vehicle, or {}.
    Enllaç a aquesta entradastatic func vehicle_row(sim: Sim, v: Vehicle) -> Dictionary
    Paràmetres
    • sim: Sim
    • v: Vehicle
    Retorna
    Dictionary
    Crida
    L.t, L.lower, Fmt.money
    Declarat a scripts/sim/problems.gd:146
  • Problems._station_rows static funccalls is cargo -> the player's vehicles that take it on at st (see _note_calls).
    Enllaç a aquesta entradastatic func _station_rows(sim: Sim, st: Station, out: Array, calls: Dictionary) -> void
    Paràmetres
    • sim: Sim
    • st: Station
    • out: Array
    • calls: Dictionary
    Retorna
    void
    Crida
    L.t
    Declarat a scripts/sim/problems.gd:173
  • Problems._piling_row static funcCargo c piling up at st, and what holds it back.
    Enllaç a aquesta entradastatic func _piling_row(st: Station, c: String, w: float, r: float, vs: Array) -> Dictionary

    When more waits than the biggest of the vehicles that load it there can take, each of them leaves full: a train wants more wagons (its fix opens that train, where Change cargo adds them), anything else more vehicles. When there is room on board they call too seldom. A player who sees a full train leave thinks it took everything, so the hint says how much it takes.

    Paràmetres
    • st: Station
    • c: String
    • w: float
    • r: float
    • vs: Array
    Retorna
    Dictionary
    Crida
    L.lower, L.t
    Declarat a scripts/sim/problems.gd:189
  • Problems._note_calls static funcNote the stops where v takes cargo on (not unload-only or don't-load ones), in calls: Station -> cargo -> [Vehicle].
    Enllaç a aquesta entradastatic func _note_calls(v: Vehicle, calls: Dictionary) -> void
    Paràmetres
    • v: Vehicle
    • calls: Dictionary
    Retorna
    void
    Declarat a scripts/sim/problems.gd:219
  • Problems._short_platforms static funcNote the longest of the player's trains too long for each of its rail stops (as VehicleWindow.short_platform_text works it out), measuring each station once.
    Enllaç a aquesta entradastatic func _short_platforms(m: WorldMap, v: Vehicle, platforms: Dictionary, short: Dictionary) -> void
    Paràmetres
    • m: WorldMap
    • v: Vehicle
    • platforms: Dictionary
    • short: Dictionary
    Retorna
    void
    Crida
    Vehicle.tiles_long
    Declarat a scripts/sim/problems.gd:232
  • Problems._trades static funcWhether st carries a cargo ind makes or takes.
    Enllaç a aquesta entradastatic func _trades(ind: Industry, st: Station) -> bool
    Paràmetres
    • ind: Industry
    • st: Station
    Retorna
    bool
    Declarat a scripts/sim/problems.gd:246
  • Problems._industry_rows static func
    Enllaç a aquesta entradastatic func _industry_rows(sim: Sim, ind: Industry, out: Array) -> void
    Paràmetres
    • sim: Sim
    • ind: Industry
    • out: Array
    Retorna
    void
    Crida
    L.t, IndustryLife.closing_text, L.lower, Fmt.cargo_list

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/problems.gd:253
  • Problems._where static funcWhere a vehicle is: the tile its front is on (or, before it has set off, its next stop).
    Enllaç a aquesta entradastatic func _where(v: Vehicle) -> Vector2
    Paràmetres
    • v: Vehicle
    Retorna
    Vector2
    Declarat a scripts/sim/problems.gd:291
  • Problems._row static func
    Enllaç a aquesta entradastatic func _row(kind: String, level: int, obj: Object, pos: Vector2, text: String, fix: String) -> Dictionary
    Paràmetres
    • kind: String
    • level: int
    • obj: Object
    • pos: Vector2
    • text: String
    • fix: String
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/problems.gd:298
  • Problems._before static funcMost serious first, then by name.
    Enllaç a aquesta entradastatic func _before(a: Dictionary, b: Dictionary) -> bool
    Paràmetres
    • a: Dictionary
    • b: Dictionary
    Retorna
    bool
    Declarat a scripts/sim/problems.gd:303

RouteBuilder

  • RouteBuilder.MAX_EXPANSIONS const
    Enllaç a aquesta entradaconst MAX_EXPANSIONS := 8000

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/route_builder.gd:20
  • RouteBuilder.SHAPE_EXPANSIONS constThe second pass's share of the search budget, at the most.
    Enllaç a aquesta entradaconst SHAPE_EXPANSIONS := 3000Declarat a scripts/sim/route_builder.gd:22
  • RouteBuilder.REACH constHow far from the rough path (in tiles) the second pass may stray.
    Enllaç a aquesta entradaconst REACH := 3Declarat a scripts/sim/route_builder.gd:24
  • RouteBuilder.DETOUR constA rough path up to this much longer than the straight distance had nothing much in its way.
    Enllaç a aquesta entradaconst DETOUR := 1.3Declarat a scripts/sim/route_builder.gd:26
  • RouteBuilder.TURN constWhat the shape of the line costs, in tiles of track: the first turning tile after straight track
    Enllaç a aquesta entradaconst TURN := 1.2Declarat a scripts/sim/route_builder.gd:28
  • RouteBuilder.LONE_BEND const...when straight track follows it: a 90-degree bend (2.0 in all)
    Enllaç a aquesta entradaconst LONE_BEND := 0.8Declarat a scripts/sim/route_builder.gd:29
  • RouteBuilder.SECOND_TURN const...when it turns back on the next tile: the start of a diagonal (1.5)
    Enllaç a aquesta entradaconst SECOND_TURN := 0.3Declarat a scripts/sim/route_builder.gd:30
  • RouteBuilder.SIDESTEP consta diagonal that ends after those two tiles: a one-tile sidestep (4.0)
    Enllaç a aquesta entradaconst SIDESTEP := 2.5Declarat a scripts/sim/route_builder.gd:31
  • RouteBuilder.RUN consteach further tile of a diagonal: it is that much shorter to drive
    Enllaç a aquesta entradaconst RUN := -0.25Declarat a scripts/sim/route_builder.gd:32
  • RouteBuilder.HAIRPIN consttwo turns the same way on neighbouring tiles
    Enllaç a aquesta entradaconst HAIRPIN := 3.0Declarat a scripts/sim/route_builder.gd:33
  • RouteBuilder.CAREFUL constThe second pass first looks for the best line with this share of its budget; if that runs out it settles for a good one, weighting the distance left by HASTY.
    Enllaç a aquesta entradaconst CAREFUL := 0.65Declarat a scripts/sim/route_builder.gd:36
  • RouteBuilder.HASTY const
    Enllaç a aquesta entradaconst HASTY := 2.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/route_builder.gd:37
  • RouteBuilder.TURN_INDEX const(way out - way in) & 3 -> straight on, right, left
    Enllaç a aquesta entradaconst TURN_INDEX: Array[int] = [0, 1, 0, 2]Declarat a scripts/sim/route_builder.gd:38
  • RouteBuilder.last_expansions static varstates looked at by the last search (benchmark tooling)
    Enllaç a aquesta entradastatic var last_expansions := 0Declarat a scripts/sim/route_builder.gd:39
  • RouteBuilder.last_refined static varwhether the last search's second pass finished (benchmark tooling)
    Enllaç a aquesta entradastatic var last_refined := falseDeclarat a scripts/sim/route_builder.gd:40
  • RouteBuilder.log_to static varan Array: every search adds its describe entry (benchmark tooling)
    Enllaç a aquesta entradastatic var log_to = nullDeclarat a scripts/sim/route_builder.gd:41
  • RouteBuilder.last_crossings static varThe bridges and tunnels on the path the last search returned, in order along it: [{"type": "bridge" | "tunnel", "from", "to": the tiles either side (a bridge's ramps, the tiles before and after a tunnel's mouths), "between": the tiles in between (spans / tunnel), "dir", "a", "b", "style": what Sim.build_crossing takes}].
    Enllaç a aquesta entradastatic var last_crossings: Array = []

    Empty when jumps was.

    Declarat a scripts/sim/route_builder.gd:46
  • RouteBuilder.CROSSING constWhat a crossing costs on top of its tiles, in tiles of track: short detours still win.
    Enllaç a aquesta entradaconst CROSSING := 8.0

    (The first pass leans towards the goal, so a tile sideways looks dearer to it than it is: this has to cover that too.)

    Declarat a scripts/sim/route_builder.gd:50
  • RouteBuilder.find static funcPath of tiles from start to goal (both included).
    Enllaç a aquesta entradastatic func find(m: WorldMap, kind: String, start: Vector2i, start_dir: int, goal: Vector2i, goal_dir: int, reserved: Dictionary = {}, max_expansions: int = 0, jumps: Dictionary = {}) -> Array[Vector2i]

    start_dir: direction of travel when entering start (-1: any). goal_dir: direction the path must leave goal in (-1: any). reserved tiles are never used. Returns [] if none found. jumps (jumps_for): the bridges and tunnels it may build; {} for none. The path then may not be buildable by Sim.build_line alone: see last_crossings and Sim.build_route.

    Paràmetres
    • m: WorldMap
    • kind: String
    • start: Vector2i
    • start_dir: int
    • goal: Vector2i
    • goal_dir: int
    • reserved: Dictionary = {}
    • max_expansions: int = 0
    • jumps: Dictionary = {}
    Retorna
    Array[Vector2i]
    Declarat a scripts/sim/route_builder.gd:58
  • RouteBuilder.describe static funcThe shape of a path: how many tiles turn, and how those turns group.
    Enllaç a aquesta entradastatic func describe(path: Array[Vector2i], start_dir: int = -1, goal_dir: int = -1) -> Dictionary

    A run of turning tiles is a bend one turn on its own, a sidestep a left and a right (or right and left) with straight track either side: the line jumps one tile sideways, which shows as a wobble, a diagonal three or more alternating turns, drawn and driven as one straight 45-degree line, a hairpin two turns the same way on neighbouring tiles. start_dir / goal_dir: the directions the path is entered and left in, when known.

    Paràmetres
    • path: Array[Vector2i]
    • start_dir: int = -1
    • goal_dir: int = -1
    Retorna
    Dictionary
    Crida
    BuildOps.dir_between
    Declarat a scripts/sim/route_builder.gd:104
  • RouteBuilder._rough static funcThe first pass.
    Enllaç a aquesta entradastatic func _rough(m: WorldMap, kind: String, start: Vector2i, start_dir: int, goal: Vector2i, goal_dir: int, reserved: Dictionary, budget: int, jumps: Dictionary = {}, out_crossings: Array = []) -> Array[Vector2i]

    With jumps, the bridges and tunnels on the path found go into out_crossings.

    Paràmetres
    • m: WorldMap
    • kind: String
    • start: Vector2i
    • start_dir: int
    • goal: Vector2i
    • goal_dir: int
    • reserved: Dictionary
    • budget: int
    • jumps: Dictionary = {}
    • out_crossings: Array = []
    Retorna
    Array[Vector2i]
    Crida
    Pathfinder._push, Pathfinder._pop, Const.opp
    Declarat a scripts/sim/route_builder.gd:140
  • RouteBuilder._refine static funcThe second pass: the best-shaped path through corridor (see _corridor).
    Enllaç a aquesta entradastatic func _refine(m: WorldMap, kind: String, rough: Array[Vector2i], corridor: Dictionary, start_dir: int, goal_dir: int, reserved: Dictionary, budget: int, weight: float) -> Array[Vector2i]

    A* over (tile, entry direction, shape), where shape remembers the turning tiles just behind: 0 straight track 1, 2 one turn so far, to the right / to the left 3, 4 two alternating turns, the last to the right / left 5, 6 three or more: a diagonal Open ground costs the same everywhere here (the rough pass has weighed up trees and slopes), which is what lets the search run straight to the goal. weight: 1 for the best line, more to settle sooner for a good one. Returns [] when budget runs out.

    Paràmetres
    • m: WorldMap
    • kind: String
    • rough: Array[Vector2i]
    • corridor: Dictionary
    • start_dir: int
    • goal_dir: int
    • reserved: Dictionary
    • budget: int
    • weight: float
    Retorna
    Array[Vector2i]
    Crida
    Pathfinder._push, Pathfinder._pop, Const.opp
    Declarat a scripts/sim/route_builder.gd:222
  • RouteBuilder._corridor static funcThe tiles the second pass may use: every tile within REACH of the rough path (and, where little was in its way, of the two straight-and-diagonal lines between its ends), each with its distance to the goal through the corridor, so the search is drawn round a lake the way the rough path went.
    Enllaç a aquesta entradastatic func _corridor(m: WorldMap, rough: Array[Vector2i]) -> Dictionary
    Paràmetres
    • m: WorldMap
    • rough: Array[Vector2i]
    Retorna
    Dictionary
    Declarat a scripts/sim/route_builder.gd:336
  • RouteBuilder.jumps_for static funcWhat find() may use to cross water and hills in year: every bridge style there is by then, cheapest first ("unit": a span tile's price in tiles of plain kind), and tunnels (likewise).
    Enllaç a aquesta entradastatic func jumps_for(kind: String, year: int) -> Dictionary

    A caller may add "crossing": what each crossing costs on top of its tiles (CROSSING if not).

    Paràmetres
    • kind: String
    • year: int
    Retorna
    Dictionary
    Declarat a scripts/sim/route_builder.gd:399
  • RouteBuilder._jump static funcA bridge or tunnel from tile t heading d (see last_crossings for its keys, plus "cost" in tiles of track), or {} when there is none to build.
    Enllaç a aquesta entradastatic func _jump(m: WorldMap, kind: String, t: Vector2i, d: int, jumps: Dictionary, reserved: Dictionary, cache: Dictionary) -> Dictionary

    A bridge is tried where the tile ahead is water or takes no piece, a tunnel where the ground ahead rises straight up the way it goes.

    Paràmetres
    • m: WorldMap
    • kind: String
    • t: Vector2i
    • d: int
    • jumps: Dictionary
    • reserved: Dictionary
    • cache: Dictionary
    Retorna
    Dictionary
    Crida
    WorldMap.axis_of
    Declarat a scripts/sim/route_builder.gd:413
  • RouteBuilder._rises static funcWhether the ground on tile n climbs on its way across it heading d.
    Enllaç a aquesta entradastatic func _rises(m: WorldMap, n: Vector2i, d: int) -> bool
    Paràmetres
    • m: WorldMap
    • n: Vector2i
    • d: int
    Retorna
    bool
    Crida
    BuildOps.edge_heights, Const.opp
    Declarat a scripts/sim/route_builder.gd:447
  • RouteBuilder._bridge static funcThe shortest bridge from ramp t heading d that the player's bridge tool would allow, in the cheapest style long enough for it.
    Enllaç a aquesta entradastatic func _bridge(m: WorldMap, kind: String, t: Vector2i, d: int, jumps: Dictionary, reserved: Dictionary) -> Dictionary
    Paràmetres
    • m: WorldMap
    • kind: String
    • t: Vector2i
    • d: int
    • jumps: Dictionary
    • reserved: Dictionary
    Retorna
    Dictionary
    Crida
    BuildOps.edge_heights, Const.opp, BuildOps.plan_bridge
    Declarat a scripts/sim/route_builder.gd:455
  • RouteBuilder._tunnel static funcThe tunnel the player's tunnel tool would dig from the hillside just ahead of t (heading d): the line goes from t into it and comes out on the tile beyond its far mouth.
    Enllaç a aquesta entradastatic func _tunnel(m: WorldMap, kind: String, t: Vector2i, d: int, jumps: Dictionary, reserved: Dictionary) -> Dictionary
    Paràmetres
    • m: WorldMap
    • kind: String
    • t: Vector2i
    • d: int
    • jumps: Dictionary
    • reserved: Dictionary
    Retorna
    Dictionary
    Crida
    WorldMap.axis_of, BuildOps.edge_heights, BuildOps.plan_tunnel
    Declarat a scripts/sim/route_builder.gd:494
  • RouteBuilder._build_jumped static func_build for a first pass that jumped: the bridges' spans and the tunnels' tiles go into the path where they are, and the crossings into out_crossings.
    Enllaç a aquesta entradastatic func _build_jumped(m: WorldMap, came: Dictionary, s: int, jumped: Dictionary, out_crossings: Array) -> Array[Vector2i]
    Paràmetres
    • m: WorldMap
    • came: Dictionary
    • s: int
    • jumped: Dictionary
    • out_crossings: Array
    Retorna
    Array[Vector2i]
    Declarat a scripts/sim/route_builder.gd:539
  • RouteBuilder._refine_between static funcThe second pass for a path with crossings: each stretch of land between them is shaped on its own (a stretch it can't improve on in its share of the budget stays as the first pass laid it), leaving every bridge and tunnel where it is and entered and left straight on.
    Enllaç a aquesta entradastatic func _refine_between(m: WorldMap, kind: String, path: Array[Vector2i], crossings: Array, start_dir: int, goal_dir: int, reserved: Dictionary, budget: int) -> Array[Vector2i]
    Paràmetres
    • m: WorldMap
    • kind: String
    • path: Array[Vector2i]
    • crossings: Array
    • start_dir: int
    • goal_dir: int
    • reserved: Dictionary
    • budget: int
    Retorna
    Array[Vector2i]
    Declarat a scripts/sim/route_builder.gd:562
  • RouteBuilder._manhattan static func
    Enllaç a aquesta entradastatic func _manhattan(a: Vector2i, b: Vector2i) -> float
    Paràmetres
    • a: Vector2i
    • b: Vector2i
    Retorna
    float

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/route_builder.gd:599
  • RouteBuilder._tile_cost static funcCost of putting a piece with bits on tile t, or -1 when it can't be built.
    Enllaç a aquesta entradastatic func _tile_cost(m: WorldMap, kind: String, t: Vector2i, bits: int, fine: bool = false) -> float

    fine: for the second pass, which doesn't tell trees and slopes from open ground.

    Paràmetres
    • m: WorldMap
    • kind: String
    • t: Vector2i
    • bits: int
    • fine: bool = false
    Retorna
    float
    Crida
    BuildOps.rail_tile_problem, BuildOps.road_tile_problem
    Declarat a scripts/sim/route_builder.gd:605
  • RouteBuilder._build static func
    Enllaç a aquesta entradastatic func _build(m: WorldMap, came: Dictionary, s: int, per_tile: int) -> Array[Vector2i]
    Paràmetres
    • m: WorldMap
    • came: Dictionary
    • s: int
    • per_tile: int
    Retorna
    Array[Vector2i]

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/route_builder.gd:645

SaveGame

  • SaveGame.VERSION const
    Enllaç a aquesta entradaconst VERSION := 1

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/save_game.gd:6
  • SaveGame.DIR const
    Enllaç a aquesta entradaconst DIR := "user://saves"

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/save_game.gd:7
  • SaveGame.list_saves static func
    Enllaç a aquesta entradastatic func list_saves() -> Array
    Retorna
    Array

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/save_game.gd:10
  • SaveGame.delete_save static func
    Enllaç a aquesta entradastatic func delete_save(path: String) -> void
    Paràmetres
    • path: String
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/save_game.gd:29
  • SaveGame._v static func
    Enllaç a aquesta entradastatic func _v(v: Vector2i) -> Array
    Paràmetres
    • v: Vector2i
    Retorna
    Array

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/save_game.gd:36
  • SaveGame._vi static func
    Enllaç a aquesta entradastatic func _vi(a: Array) -> Vector2i
    Paràmetres
    • a: Array
    Retorna
    Vector2i

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/save_game.gd:40
  • SaveGame._b64 static func
    Enllaç a aquesta entradastatic func _b64(p: PackedByteArray) -> String
    Paràmetres
    • p: PackedByteArray
    Retorna
    String

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/save_game.gd:44
  • SaveGame._unb64 static func
    Enllaç a aquesta entradastatic func _unb64(s: String) -> PackedByteArray
    Paràmetres
    • s: String
    Retorna
    PackedByteArray

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/save_game.gd:48
  • SaveGame.save static func
    Enllaç a aquesta entradastatic func save(sim: Sim, path: String) -> Error
    Paràmetres
    • sim: Sim
    • path: String
    Retorna
    Error
    Crida
    Mods.save_state, Town.size_of

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/save_game.gd:54
  • SaveGame.load_sim static func
    Enllaç a aquesta entradastatic func load_sim(path: String) -> Sim
    Paràmetres
    • path: String
    Retorna
    Sim
    Crida
    Data.era_index, Town.restore_annexes, Town.enlarge_old_buildings, Town.recount_all, WorldGen.add_rig_docks, Data.has_model, Data.reliability, Vehicle.make_seg, Vehicle.free_seg, AiPlayer.from_dict, Goals.from_dict, Goals.caught_up, Mods.load_state, Mods.hook

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/save_game.gd:177
  • SaveGame._order_out static funcAn order as saved: [station id, full, then each of Vehicle.ORDER_FLAGS].
    Enllaç a aquesta entradastatic func _order_out(o: Dictionary) -> Array
    Paràmetres
    • o: Dictionary
    Retorna
    Array
    Declarat a scripts/sim/save_game.gd:532
  • SaveGame._order_in static funcAn order back from row (see _order_out), at station st.
    Enllaç a aquesta entradastatic func _order_in(row: Array, st: Station) -> Dictionary

    Flags an older save didn't have are off.

    Paràmetres
    • row: Array
    • st: Station
    Retorna
    Dictionary
    Declarat a scripts/sim/save_game.gd:540
  • SaveGame._floats static func
    Enllaç a aquesta entradastatic func _floats(src: Dictionary) -> Dictionary
    Paràmetres
    • src: Dictionary
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/save_game.gd:547
  • SaveGame._ints static func
    Enllaç a aquesta entradastatic func _ints(d: Dictionary) -> Dictionary
    Paràmetres
    • d: Dictionary
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/save_game.gd:554
  • SaveGame._pairs static funccargo -> [units, $]
    Enllaç a aquesta entradastatic func _pairs(d: Dictionary) -> Dictionary
    Paràmetres
    • d: Dictionary
    Retorna
    Dictionary
    Declarat a scripts/sim/save_game.gd:562
  • SaveGame._stat_month static func
    Enllaç a aquesta entradastatic func _stat_month(mo: Dictionary) -> Dictionary
    Paràmetres
    • mo: Dictionary
    Retorna
    Dictionary

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/save_game.gd:569
  • SaveGame._course_out static funcA ship's course (see Vehicle.water_course) as [x, y, turn, x, y, turn, ...] over its route.
    Enllaç a aquesta entradastatic func _course_out(v: Vehicle) -> Array
    Paràmetres
    • v: Vehicle
    Retorna
    Array
    Declarat a scripts/sim/save_game.gd:585
  • SaveGame._course_in static func
    Enllaç a aquesta entradastatic func _course_in(v: Vehicle, a: Array) -> void
    Paràmetres
    • v: Vehicle
    • a: Array
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/save_game.gd:596

SignalTraps

  • SignalTraps._memo_key static var
    Enllaç a aquesta entradastatic var _memo_key := []

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/signal_traps.gd:17
  • SignalTraps._memo static var
    Enllaç a aquesta entradastatic var _memo: Array = []

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/signal_traps.gd:18
  • SignalTraps.find static funcThe stations of who that one-way signals shut: [{"station", "way": "out" | "in", "signal"}], one per station ("out" when both are true), the order of map.stations.
    Enllaç a aquesta entradastatic func find(sim: Sim, who: Company, over: Dictionary = {}) -> Array

    signal is the tile of the first signal in the way, seen from the station. over ({tile: state}) stands in for those tiles' signals (see WorldMap.signals), to ask what a click would do; without it the answer is remembered until the rail network, the stations or the depots change.

    Paràmetres
    • sim: Sim
    • who: Company
    • over: Dictionary = {}
    Retorna
    Array
    Declarat a scripts/sim/signal_traps.gd:26
  • SignalTraps.after_click static funcWhat setting the signal on t to state would change: {"shut": [...], "freed": [...]}, each in find's form, "shut" for stations it would shut that are open now and "freed" for those it would open again.
    Enllaç a aquesta entradastatic func after_click(sim: Sim, who: Company, t: Vector2i, state: int) -> Dictionary

    A station that stays shut (say, the far end of a line made one-way) isn't news.

    Paràmetres
    • sim: Sim
    • who: Company
    • t: Vector2i
    • state: int
    Retorna
    Dictionary
    Declarat a scripts/sim/signal_traps.gd:64
  • SignalTraps.text static funcOne of find's rows in words.
    Enllaç a aquesta entradastatic func text(r: Dictionary, when: String) -> String

    when: "careful" (what the click under the mouse would do), "now" (what the click just did), "freed" (what the click would put right) or "problem" (a Problems row, which names the station already).

    Paràmetres
    • r: Dictionary
    • when: String
    Retorna
    String
    Crida
    L.t
    Declarat a scripts/sim/signal_traps.gd:73
  • SignalTraps.blocker static funcThe tile of the one-way signal that keeps trains from getting between tiles and any of the goals tiles - out of tiles or, with inward, into them - or (-1, -1) when they can, or when there is no track between them at all.
    Enllaç a aquesta entradastatic func blocker(m: WorldMap, tiles: Dictionary, goals: Dictionary, inward: bool, over: Dictionary = {}) -> Vector2i
    Paràmetres
    • m: WorldMap
    • tiles: Dictionary
    • goals: Dictionary
    • inward: bool
    • over: Dictionary = {}
    Retorna
    Vector2i
    Declarat a scripts/sim/signal_traps.gd:92
  • SignalTraps._passes static funcWhether a train heading h (or, inward, heading the other way) may pass tile n's signal.
    Enllaç a aquesta entradastatic func _passes(m: WorldMap, n: Vector2i, h: int, inward: bool, over: Dictionary) -> bool
    Paràmetres
    • m: WorldMap
    • n: Vector2i
    • h: int
    • inward: bool
    • over: Dictionary
    Retorna
    bool
    Crida
    Const.opp
    Declarat a scripts/sim/signal_traps.gd:104
  • SignalTraps._flood static funcFlood the rail network outward from tiles until one of goals is reached.
    Enllaç a aquesta entradastatic func _flood(m: WorldMap, tiles: Dictionary, goals: Dictionary, obey: bool, inward: bool, over: Dictionary) -> Array

    Returns the steps from the start to that goal, [{"t": tile, "h": heading on entering it}], or [] when none is reached. obey false lets trains through one-way signals both ways.

    Paràmetres
    • m: WorldMap
    • tiles: Dictionary
    • goals: Dictionary
    • obey: bool
    • inward: bool
    • over: Dictionary
    Retorna
    Array
    Crida
    Const.opp
    Declarat a scripts/sim/signal_traps.gd:112
  • SignalTraps._step static func
    Enllaç a aquesta entradastatic func _step(m: WorldMap, tile: Vector2i, d: int, bits: int, from: int, obey: bool, inward: bool, over: Dictionary, came: Dictionary, queue: PackedInt32Array) -> void
    Paràmetres
    • m: WorldMap
    • tile: Vector2i
    • d: int
    • bits: int
    • from: int
    • obey: bool
    • inward: bool
    • over: Dictionary
    • came: Dictionary
    • queue: PackedInt32Array
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/signal_traps.gd:142
  • SignalTraps._minus static func
    Enllaç a aquesta entradastatic func _minus(a: Array, b: Array) -> Array
    Paràmetres
    • a: Array
    • b: Array
    Retorna
    Array

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/signal_traps.gd:156

TerrainGen

  • TerrainGen.generate static funcTerrain only (no towns or industries).
    Enllaç a aquesta entradastatic func generate(m: WorldMap, seed_value: int) -> void

    WorldGen.generate builds a full world.

    Paràmetres
    • m: WorldMap
    • seed_value: int
    Retorna
    void
    Declarat a scripts/sim/terrain_gen.gd:7
  • TerrainGen.heights_from_image static funcHeights from a greyscale image (white = high, black = sea), like OpenTTD heightmaps.
    Enllaç a aquesta entradastatic func heights_from_image(m: WorldMap, path: String) -> bool
    Paràmetres
    • m: WorldMap
    • path: String
    Retorna
    bool
    Declarat a scripts/sim/terrain_gen.gd:14
  • TerrainGen.generate_heights static funcwater: sea level 0 (low) ..
    Enllaç a aquesta entradastatic func generate_heights(m: WorldMap, seed_value: int, water: int = 1, rough: int = 2, sample_scale: float = 1.0) -> void

    3 (islands). rough: 0 flat .. 3 mountainous. sample_scale stretches the noise so a small preview map shows the same world as a big one.

    Paràmetres
    • m: WorldMap
    • seed_value: int
    • water: int = 1
    • rough: int = 2
    • sample_scale: float = 1.0
    Retorna
    void
    Declarat a scripts/sim/terrain_gen.gd:30
  • TerrainGen.enforce_slopes static funcLower corners until every pair of edge-adjacent corners differs by at most one level.
    Enllaç a aquesta entradastatic func enforce_slopes(m: WorldMap) -> void
    Paràmetres
    • m: WorldMap
    Retorna
    void
    Declarat a scripts/sim/terrain_gen.gd:73
  • TerrainGen.classify static funcTerrain types (from heights) and tree cover.
    Enllaç a aquesta entradastatic func classify(m: WorldMap, seed_value: int) -> void
    Paràmetres
    • m: WorldMap
    • seed_value: int
    Retorna
    void
    Declarat a scripts/sim/terrain_gen.gd:100
  • TerrainGen.terrain_type static func
    Enllaç a aquesta entradastatic func terrain_type(m: WorldMap, x: int, y: int) -> int
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/terrain_gen.gd:123
  • TerrainGen.classify_tile static funcRe-derive one tile's terrain after its corners changed; trees only survive on grass.
    Enllaç a aquesta entradastatic func classify_tile(m: WorldMap, x: int, y: int) -> void
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    Retorna
    void
    Declarat a scripts/sim/terrain_gen.gd:138
  • TerrainGen._near_water static func
    Enllaç a aquesta entradastatic func _near_water(m: WorldMap, x: int, y: int) -> bool
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/terrain_gen.gd:145

UndoStack

  • UndoStack.MAX_STEPS const
    Enllaç a aquesta entradaconst MAX_STEPS := 20

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/undo.gd:23
  • UndoStack.MAX_AGE_DAYS const
    Enllaç a aquesta entradaconst MAX_AGE_DAYS := 60.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/undo.gd:24
  • UndoStack.steps varoldest first
    Enllaç a aquesta entradavar steps: Array = []Declarat a scripts/sim/undo.gd:29
  • UndoStack.enabled var
    Enllaç a aquesta entradavar enabled := true

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/undo.gd:30
  • UndoStack.lost varThe step that was given up last, for the button's tooltip: {"what", "why"}.
    Enllaç a aquesta entradavar lost := {}

    Emptied by the next action.

    Declarat a scripts/sim/undo.gd:32
  • UndoStack.clear func
    Enllaç a aquesta entradafunc clear() -> void
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/undo.gd:35
  • UndoStack.size func
    Enllaç a aquesta entradafunc size() -> int
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/undo.gd:40
  • UndoStack._tile static func
    Enllaç a aquesta entradastatic func _tile(m: WorldMap, t: Vector2i) -> Array
    Paràmetres
    • m: WorldMap
    • t: Vector2i
    Retorna
    Array

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/undo.gd:46
  • UndoStack._put static func
    Enllaç a aquesta entradastatic func _put(m: WorldMap, t: Vector2i, s: Array) -> void
    Paràmetres
    • m: WorldMap
    • t: Vector2i
    • s: Array
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/undo.gd:52
  • UndoStack._station static func
    Enllaç a aquesta entradastatic func _station(m: WorldMap, st: Station) -> Array
    Paràmetres
    • m: WorldMap
    • st: Station
    Retorna
    Array

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/undo.gd:83
  • UndoStack._orders_to static func
    Enllaç a aquesta entradastatic func _orders_to(sim: Sim, st: Station) -> int
    Paràmetres
    • sim: Sim
    • st: Station
    Retorna
    int

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/undo.gd:89
  • UndoStack.bulldoze_tiles static funcEvery tile a bulldoze of rect may change: the area and its edge (a depot lets go of the road in front of it), the whole of each bridge or tunnel it reaches and of each airfield.
    Enllaç a aquesta entradastatic func bulldoze_tiles(m: WorldMap, rect: Rect2i) -> Array
    Paràmetres
    • m: WorldMap
    • rect: Rect2i
    Retorna
    Array
    Crida
    WorldMap.crossing_tiles, Town.footprint, Town.anchor_of
    Declarat a scripts/sim/undo.gd:100
  • UndoStack.terraform_tiles static funcEvery tile raising or lowering corners may change (see BuildOps.apply_terraform).
    Enllaç a aquesta entradastatic func terraform_tiles(m: WorldMap, corners: Array) -> Array
    Paràmetres
    • m: WorldMap
    • corners: Array
    Retorna
    Array
    Declarat a scripts/sim/undo.gd:124
  • UndoStack.begin funcCall before an action changes anything.
    Enllaç a aquesta entradafunc begin(sim: Sim, who: Company, tiles: Array, opt: Dictionary = {}) -> Dictionary

    tiles: every tile it may touch (more is fine: tiles that end up unchanged are dropped). opt: "corners" (corner heights it may change), "stations" (stations it may change that don't stand on tiles), "ratings" (it may move council ratings). Returns what commit needs; {} when the action isn't the player's (nothing is recorded then).

    Paràmetres
    • sim: Sim
    • who: Company
    • tiles: Array
    • opt: Dictionary = {}
    Retorna
    Dictionary
    Declarat a scripts/sim/undo.gd:142
  • UndoStack._log_of static func
    Enllaç a aquesta entradastatic func _log_of(t: Town, cid: int) -> Variant
    Paràmetres
    • t: Town
    • cid: int
    Retorna
    Variant

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/undo.gd:171
  • UndoStack.commit funcCall when the action is done and paid for.
    Enllaç a aquesta entradafunc commit(sim: Sim, u: Dictionary, kind: String, info: Dictionary = {}) -> void

    kind and info ("n": how many tiles, "name": a station's or town's name, "category": the ledger line it was paid from) only describe it.

    Paràmetres
    • sim: Sim
    • u: Dictionary
    • kind: String
    • info: Dictionary = {}
    Retorna
    void
    Declarat a scripts/sim/undo.gd:177
  • UndoStack._month static func
    Enllaç a aquesta entradastatic func _month(sim: Sim) -> Vector2i
    Paràmetres
    • sim: Sim
    Retorna
    Vector2i
    Crida
    Calendar.from_day

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/undo.gd:237
  • UndoStack.describe static funcA step in words: "12 tiles of rail", "Ashford North", "demolition of 3 tiles".
    Enllaç a aquesta entradastatic func describe(step: Dictionary) -> String
    Paràmetres
    • step: Dictionary
    Retorna
    String
    Crida
    L.n, L.t
    Declarat a scripts/sim/undo.gd:245
  • UndoStack._problem funcWhy the newest step can't be undone now: [reason, given up for good].
    Enllaç a aquesta entradafunc _problem(sim: Sim, step: Dictionary) -> Array

    ["", false] when it can.

    Paràmetres
    • sim: Sim
    • step: Dictionary
    Retorna
    Array
    Crida
    L.t
    Declarat a scripts/sim/undo.gd:266
  • UndoStack._vehicle_on func
    Enllaç a aquesta entradafunc _vehicle_on(sim: Sim, step: Dictionary) -> bool
    Paràmetres
    • sim: Sim
    • step: Dictionary
    Retorna
    bool

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/undo.gd:299
  • UndoStack._block_held funcWith realistic blocking: whether a train holds (stands in, or has been let into) a block of track that undoing the step would take away.
    Enllaç a aquesta entradafunc _block_held(sim: Sim, step: Dictionary) -> bool
    Paràmetres
    • sim: Sim
    • step: Dictionary
    Retorna
    bool
    Declarat a scripts/sim/undo.gd:320
  • UndoStack.status funcFor the Undo button: {"can", "what", "money" (what undoing pays back), "tip"}.
    Enllaç a aquesta entradafunc status(sim: Sim) -> Dictionary

    A step that can never be undone again is dropped here, with everything older.

    Paràmetres
    • sim: Sim
    Retorna
    Dictionary
    Crida
    L.t, Fmt.money
    Declarat a scripts/sim/undo.gd:340
  • UndoStack.undo funcUndo the newest step.
    Enllaç a aquesta entradafunc undo(sim: Sim) -> Dictionary

    Returns {"ok", "text" (what to tell the player), "what", "money"}.

    Paràmetres
    • sim: Sim
    Retorna
    Dictionary
    Crida
    L.t, Fmt.money
    Declarat a scripts/sim/undo.gd:362
  • UndoStack._revert func
    Enllaç a aquesta entradafunc _revert(sim: Sim, step: Dictionary) -> void
    Paràmetres
    • sim: Sim
    • step: Dictionary
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/undo.gd:376

WorldGen

  • WorldGen.DENSITY constOptions: "water" 0..3 (sea level), "rough" 0..3 (terrain), "towns" / "industries" 0..3 (density), "heightmap" (path to a greyscale image, OpenTTD-style).
    Enllaç a aquesta entradaconst DENSITY := [0.55, 1.0, 1.5, 2.2]Declarat a scripts/sim/world_gen.gd:8
  • WorldGen.INDUSTRY_AREA constTiles of land (or sea) that hold one full set of Data.INDUSTRY counts at normal density: 24 industries here is about one per 600 tiles.
    Enllaç a aquesta entradaconst INDUSTRY_AREA := 120.0 * 120.0Declarat a scripts/sim/world_gen.gd:11
  • WorldGen.FEED_MIN constHow far (in tiles) a processing industry is sited from the producers that feed it: far enough for a route to pay, near enough for an early train or lorry.
    Enllaç a aquesta entradaconst FEED_MIN := 18.0Declarat a scripts/sim/world_gen.gd:14
  • WorldGen.FEED_MAX const
    Enllaç a aquesta entradaconst FEED_MAX := 50.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_gen.gd:15
  • WorldGen.SAME_APART_MAX constUpper bound on how far apart two industries of one type are kept (see _place_industries).
    Enllaç a aquesta entradaconst SAME_APART_MAX := 32.0Declarat a scripts/sim/world_gen.gd:17
  • WorldGen.SPREAD_TRIES constUsable sites weighed for each industry placed at random; the one farthest from its own kind wins.
    Enllaç a aquesta entradaconst SPREAD_TRIES := 8Declarat a scripts/sim/world_gen.gd:19
  • WorldGen.TOWN_SITE_TOWNS constAn industry that stands by a town (a printing works) looks around the biggest few towns, up to TOWN_SITE_MAX tiles from the centre.
    Enllaç a aquesta entradaconst TOWN_SITE_TOWNS := 4Declarat a scripts/sim/world_gen.gd:22
  • WorldGen.TOWN_SITE_MAX const
    Enllaç a aquesta entradaconst TOWN_SITE_MAX := 16.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_gen.gd:23
  • WorldGen.TOWN_INDUSTRY_MIN constHow far (in tiles) a town centre is founded from an industry's centre, so the town starts with room to grow before it meets the ground kept clear around the industry (BuildOps.INDUSTRY_GAP).
    Enllaç a aquesta entradaconst TOWN_INDUSTRY_MIN := 14.0Declarat a scripts/sim/world_gen.gd:26
  • WorldGen.TOWN_INDUSTRY_FALLBACK const
    Enllaç a aquesta entradaconst TOWN_INDUSTRY_FALLBACK := 10.0

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_gen.gd:27
  • WorldGen.TOWN_EXTRA const
    Enllaç a aquesta entradaconst TOWN_EXTRA

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_gen.gd:28
  • WorldGen.generate static func
    Enllaç a aquesta entradastatic func generate(m: WorldMap, seed_value: int, opts: Dictionary = {}) -> void
    Paràmetres
    • m: WorldMap
    • seed_value: int
    • opts: Dictionary = {}
    Retorna
    void
    Crida
    Data.era_index, L.t, TerrainGen.heights_from_image, TerrainGen.generate_heights, TerrainGen.classify

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_gen.gd:31
  • WorldGen.add_rig_docks static funcEvery industry out at sea gets its own open dock (see BuildOps.add_rig_dock).
    Enllaç a aquesta entradastatic func add_rig_docks(m: WorldMap) -> void
    Paràmetres
    • m: WorldMap
    Retorna
    void
    Crida
    BuildOps.add_rig_dock
    Declarat a scripts/sim/world_gen.gd:57
  • WorldGen._place_industries static func
    Enllaç a aquesta entradastatic func _place_industries(m: WorldMap, rng: RandomNumberGenerator, density: float = 1.0) -> void
    Paràmetres
    • m: WorldMap
    • rng: RandomNumberGenerator
    • density: float = 1.0
    Retorna
    void
    Crida
    Data.opens, Data.accepts

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_gen.gd:65
  • WorldGen._place_town_industries static funcThe kinds that stand by a town (a printing works, RAIL-31), once the towns are founded: on ground the towns have left clear, levelled like an industry opening during the game.
    Enllaç a aquesta entradastatic func _place_town_industries(m: WorldMap, rng: RandomNumberGenerator, density: float) -> void
    Paràmetres
    • m: WorldMap
    • rng: RandomNumberGenerator
    • density: float
    Retorna
    void
    Crida
    Data.opens
    Declarat a scripts/sim/world_gen.gd:84
  • WorldGen._place_kind static funcPut down a new map's industries of type (see type_count) and return them.
    Enllaç a aquesta entradastatic func _place_kind(m: WorldMap, rng: RandomNumberGenerator, room: Vector2i, type: String, density: float) -> Array
    Paràmetres
    • m: WorldMap
    • rng: RandomNumberGenerator
    • room: Vector2i
    • type: String
    • density: float
    Retorna
    Array
    Declarat a scripts/sim/world_gen.gd:93
  • WorldGen.industry_room static funcThe room there is to build industries in: x land tiles (for industries ashore), y open water (for those at sea).
    Enllaç a aquesta entradastatic func industry_room(m: WorldMap) -> Vector2i

    Sampled every other tile, which is plenty for a head count.

    Paràmetres
    • m: WorldMap
    Retorna
    Vector2i
    Declarat a scripts/sim/world_gen.gd:110
  • WorldGen.type_count static funcHow many industries of type a map with room (see industry_room) gets at density: counts follow the room there is to build in, and every type gets at least one.
    Enllaç a aquesta entradastatic func type_count(room: Vector2i, type: String, density: float) -> int
    Paràmetres
    • room: Vector2i
    • type: String
    • density: float
    Retorna
    int
    Declarat a scripts/sim/world_gen.gd:124
  • WorldGen.spacing static funcHow far apart count industries of type are kept.
    Enllaç a aquesta entradastatic func spacing(room: Vector2i, type: String, count: int) -> float

    Two of a kind side by side look like a mistake and split one area's trade between them: keep each a fair share of its own type's room apart (half the even spacing, capped so a rare processor can still sit near its feeders).

    Paràmetres
    • room: Vector2i
    • type: String
    • count: int
    Retorna
    float
    Declarat a scripts/sim/world_gen.gd:132
  • WorldGen.find_site static funcWhere a new industry of type goes: near producers in unserved (see unserved_feeders) that have nobody to take their cargo, if any; else near producers none of its own kind is near yet (a paper mill by forests that already have a sawmill); else anywhere, as far from its own kind as it can.
    Enllaç a aquesta entradastatic func find_site(m: WorldMap, rng: RandomNumberGenerator, type: String, apart: float, unserved: Array) -> Vector3i

    A plant that needs every input (Data.INDUSTRY "needs_all") goes where it reaches makers of as many of its inputs as it can. A kind that stands by a town (a printing works) goes at the edge of one of the biggest. (x, y) is the north-west tile and z the level it stands at; z is -1 when no usable site turned up.

    Paràmetres
    • m: WorldMap
    • rng: RandomNumberGenerator
    • type: String
    • apart: float
    • unserved: Array
    Retorna
    Vector3i
    Declarat a scripts/sim/world_gen.gd:144
  • WorldGen.put_industry static funcPut an industry of type with id id on spot (from find_site): the ground under it flattened to its level (the corners only: the caller works out the rest), added to the map's list and its tiles.
    Enllaç a aquesta entradastatic func put_industry(m: WorldMap, id: int, type: String, spot: Vector3i) -> Industry

    Returns it.

    Paràmetres
    • m: WorldMap
    • id: int
    • type: String
    • spot: Vector3i
    Retorna
    Industry
    Declarat a scripts/sim/world_gen.gd:162
  • WorldGen._site_level static funcThe level a site kind of industry would stand at with its north-west tile on (x, y): 0 at sea, the flattened ground level ashore, -1 where it can't go.
    Enllaç a aquesta entradastatic func _site_level(m: WorldMap, site: String, x: int, y: int) -> int
    Paràmetres
    • m: WorldMap
    • site: String
    • x: int
    • y: int
    Retorna
    int
    Declarat a scripts/sim/world_gen.gd:178
  • WorldGen.unserved_feeders static funcIndustries making something type accepts that have no taker within FEED_MAX tiles yet.
    Enllaç a aquesta entradastatic func unserved_feeders(m: WorldMap, type: String) -> Array

    For a plant that needs every input, all of them, taken or not: it can't work on one alone.

    Paràmetres
    • m: WorldMap
    • type: String
    Retorna
    Array
    Crida
    Data.accepts
    Declarat a scripts/sim/world_gen.gd:189
  • WorldGen._feeders_of_own static funcIndustries making something type accepts that have no industry of type within FEED_MAX tiles: for a second customer of a cargo (a paper mill, where the forests already have a sawmill).
    Enllaç a aquesta entradastatic func _feeders_of_own(m: WorldMap, type: String) -> Array
    Paràmetres
    • m: WorldMap
    • type: String
    Retorna
    Array
    Crida
    Data.accepts
    Declarat a scripts/sim/world_gen.gd:225
  • WorldGen._site_near_feeders static funcA site FEED_MIN..FEED_MAX tiles from a producer in unserved and at least apart tiles from any other type: the best of several usable ones, counting how many such producers each would serve (for a plant that needs every input, how many of its inputs they make), then how far it keeps from its own kind.
    Enllaç a aquesta entradastatic func _site_near_feeders(m: WorldMap, rng: RandomNumberGenerator, site: String, type: String, apart: float, unserved: Array) -> Vector3i

    z is -1 when none turned up.

    Paràmetres
    • m: WorldMap
    • rng: RandomNumberGenerator
    • site: String
    • type: String
    • apart: float
    • unserved: Array
    Retorna
    Vector3i
    Crida
    Data.accepts
    Declarat a scripts/sim/world_gen.gd:239
  • WorldGen._site_spread static funcA usable site anywhere on the map: of SPREAD_TRIES random ones, the farthest from other industries of type (best-candidate sampling, which spreads them out without a hard rule that could leave one unplaced).
    Enllaç a aquesta entradastatic func _site_spread(m: WorldMap, rng: RandomNumberGenerator, site: String, type: String) -> Vector3i

    z is -1 when no usable site turned up.

    Paràmetres
    • m: WorldMap
    • rng: RandomNumberGenerator
    • site: String
    • type: String
    Retorna
    Vector3i
    Declarat a scripts/sim/world_gen.gd:286
  • WorldGen._site_by_town static funcA site by one of the TOWN_SITE_TOWNS biggest towns, at least apart tiles from any other type: the usable one nearest the centre of the biggest town that has any within TOWN_SITE_MAX tiles, so it stands at the edge of town or in a gap inside it.
    Enllaç a aquesta entradastatic func _site_by_town(m: WorldMap, rng: RandomNumberGenerator, type: String, apart: float) -> Vector3i

    z is -1 when none turned up.

    Paràmetres
    • m: WorldMap
    • rng: RandomNumberGenerator
    • type: String
    • apart: float
    Retorna
    Vector3i
    Declarat a scripts/sim/world_gen.gd:309
  • WorldGen.level_ground static funcThe ground of an industry put down where the land is already shaped (one opening during the game, or one by a town once the towns are founded): no trees on it or around it, its corners at the level put_industry flattened them to, and its tiles looked at again.
    Enllaç a aquesta entradastatic func level_ground(m: WorldMap, ind: Industry) -> Rect2i

    Returns the tiles that changed.

    Paràmetres
    • m: WorldMap
    • ind: Industry
    Retorna
    Rect2i
    Crida
    TerrainGen.classify_tile
    Declarat a scripts/sim/world_gen.gd:334
  • WorldGen._gap_to_kind static funcDistance from c to the nearest industry of type, INF when there is none yet.
    Enllaç a aquesta entradastatic func _gap_to_kind(m: WorldMap, type: String, c: Vector2) -> float
    Paràmetres
    • m: WorldMap
    • type: String
    • c: Vector2
    Retorna
    float
    Declarat a scripts/sim/world_gen.gd:348
  • WorldGen._sea_site_ok static funcOffshore: open water all over the footprint and a margin, with a shore close enough for a dock.
    Enllaç a aquesta entradastatic func _sea_site_ok(m: WorldMap, x: int, y: int) -> bool
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    Retorna
    bool
    Declarat a scripts/sim/world_gen.gd:357
  • WorldGen._near_coast static funcA harbour sits on the shore: open water within a couple of tiles of its footprint.
    Enllaç a aquesta entradastatic func _near_coast(m: WorldMap, x: int, y: int) -> bool
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    Retorna
    bool
    Declarat a scripts/sim/world_gen.gd:380
  • WorldGen._industry_site_level static funcReturns the level the footprint can be flattened to, or -1 if the site is unusable.
    Enllaç a aquesta entradastatic func _industry_site_level(m: WorldMap, x: int, y: int) -> int

    Flattening only lowers corners by one, and only where that keeps neighbours within one level.

    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    Retorna
    int
    Declarat a scripts/sim/world_gen.gd:391
  • WorldGen._site_clear static funcNothing built on the footprint of an industry with its north-west tile on (x, y), or by it: no road, track, bridge or tunnel within a tile (flattening reshapes the ground there), and no building, station or depot within BuildOps.INDUSTRY_GAP (the ground towns keep clear around industries).
    Enllaç a aquesta entradastatic func _site_clear(m: WorldMap, x: int, y: int) -> bool

    This is for industries opening during the game (RAIL-23): when the world is made, nothing is built yet but other industries, and those keep further apart than this anyway.

    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    Retorna
    bool
    Declarat a scripts/sim/world_gen.gd:419
  • WorldGen._name_industries static func
    Enllaç a aquesta entradastatic func _name_industries(m: WorldMap) -> void
    Paràmetres
    • m: WorldMap
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_gen.gd:433
  • WorldGen.industry_name static funcAn industry is named after the nearest town: "Ashford Coal Mine".
    Enllaç a aquesta entradastatic func industry_name(m: WorldMap, ind: Industry) -> String
    Paràmetres
    • m: WorldMap
    • ind: Industry
    Retorna
    String
    Crida
    L.t, L.tidy
    Declarat a scripts/sim/world_gen.gd:439
  • WorldGen._place_towns static func
    Enllaç a aquesta entradastatic func _place_towns(m: WorldMap, rng: RandomNumberGenerator, density: float = 1.0, opts: Dictionary = {}) -> void
    Paràmetres
    • m: WorldMap
    • rng: RandomNumberGenerator
    • density: float = 1.0
    • opts: Dictionary = {}
    Retorna
    void
    Crida
    L.t, Town.pick_style

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_gen.gd:453
  • WorldGen._town_site_ok static func
    Enllaç a aquesta entradastatic func _town_site_ok(m: WorldMap, x: int, y: int, spacing: float = 22.0, industry_clear: float = TOWN_INDUSTRY_MIN) -> bool
    Paràmetres
    • m: WorldMap
    • x: int
    • y: int
    • spacing: float = 22.0
    • industry_clear: float = TOWN_INDUSTRY_MIN
    Retorna
    bool
    Crida
    BuildOps.can_build_house

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_gen.gd:481
  • WorldGen._town_name static func
    Enllaç a aquesta entradastatic func _town_name(rng: RandomNumberGenerator, used: Dictionary) -> String
    Paràmetres
    • rng: RandomNumberGenerator
    • used: Dictionary
    Retorna
    String
    Crida
    Data.town_prefixes, Data.town_suffixes, L.t

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_gen.gd:502
  • WorldGen._clear_trees static func
    Enllaç a aquesta entradastatic func _clear_trees(m: WorldMap) -> void
    Paràmetres
    • m: WorldMap
    Retorna
    void

    Aquesta entrada encara no descriu el comportament.

    Declarat a scripts/sim/world_gen.gd:517

Opcions dels fitxers

Els noms dels camps distingeixen majúscules i minúscules. Les seccions enllaçades tenen exemples i expliquen l’ús de cada fitxer.

Fitxer o seccióCamps obligatorisCamps opcionals
mod.jsonidname, version, author, description
data.json → vehicles.<id>name, kind, cargos, speed, cost i run. Fes servir look o model i, segons el tipus, max_wagons per a locomotores o cap per als altres vehicles.desc, year, rel, electric, steam, length
data.json → cargo.<id>Identificador de càrrega existentrate, days
data.json → town_namesCapprefixes, suffixes, replace
data.json → company_namesLlista de nomsCap
maps/<name>.jsonCapname, description, settings

A settings, s’admeten w i h (64, 128, 256, 512, 1024), year (1950, 1960, 1970, 1980, 1990, 2000), i towns, industries, rough i water (índexs de 0 a 3). rough va de pla a muntanyós. water va de baix a illes, passant per normal i alt.

El camp booleà steam activa els efectes i el comportament d’una locomotora de vapor. length indica la llargada en caselles d’un model personalitzat.

El diccionari Sim.options conté cost, blocking, ai_level, max_loan, depots, breakdowns i goal. Són opcions de la simulació. Per als mods de mapes, fes servir els camps de settings de més amunt.

Identificadors de càrrega

IDNom
paxPassengers
coalCoal
woodWood
grainGrain
oilOil
goodsGoods
foodFood
iron_oreIron ore
steelSteel
fishFish
mailMail
plasticsPlastics
wasteWaste
electronicsElectronics
carsCars
paperPaper
newsNewspapers

Models del joc base

IDNomTipus
cargoplanePelican Freighterair
cargopropStork Cargo Propair
eplaneBreeze Electric Commuterair
h2linerAurora H2 Airlinerair
jetAlbatross Jetair
jumboCondor Jumboair
mailplanePetrel Mailplaneair
narrowbodyFalcon Narrowbodyair
propSkylark Propair
regionalSwift Regional Jetair
superjumboLeviathan Double-Deckair
supersonicArrow Supersonicair
turbopropKittiwake Turbopropair
widebodyOsprey Widebodyair
dieselMeridian Dieselrail
efreightTempest Electric Freightrail
electricAurora Electricrail
expressVanguard Expressrail
heavydieselIronclad Freight Dieselrail
hstSwift High-Speedrail
hydrogenZephyr Hydrogenrail
mogulHighland Mogulrail
railcarSparrow Railcarrail
steamKestrel Steamrail
tankBrigand Tank Enginerail
tiltingSwallow Tilting Expressrail
artbusComet Articulatedroad
busComet City Busroad
bus2Comet Coachroad
cartruckAtlas Car Transporterroad
ddbusComet Double-Deckerroad
ebusVolt Electric Busroad
etruckVolt Electric Truckroad
roadtrainTitan Road Trainroad
truckAtlas Haulerroad
truck2Atlas Hauler Mk IIroad
truck3Atlas Hauler Mk IIIroad
bulkerGranite Bulk Carrierwater
containerAtlas Box Carrierwater
eferryRipple Electric Ferrywater
ferryGull Ferrywater
freighterTern Freighterwater
hydrofoilSkimmer Hydrofoilwater
linerMajestic Linerwater
tankerPetrel Tankerwater