Simboli degli script
L’indice elenca funzioni, proprietà, segnali, costanti ed enumerazioni con nome delle classi della simulazione e delle mod. Le firme e i commenti del codice sono in inglese. Mod definisce i punti di ingresso degli script. Le altre classi e i membri con trattino basso iniziale possono cambiare tra le versioni.
Risultati
Nessun simbolo corrispondente.
Mod
Mod.infovarMetadata for the loaded mod.Link a questa vocevar info := {}Common keys are
Dichiarato inid,name,version,author,description, andpath. Use this to inspect which copy was loaded.scripts/core/mod.gd:21Mod._on_loadfuncRuns after Fourways reapplies enabled mods, including after a rescan.Link a questa vocefunc _on_load() -> voidRead mod files or initialize settings here. Use
_on_new_gameor_on_game_loadedfor work that needs a simulation.- Valore restituito
void
scripts/core/mod.gd:25Mod._on_new_gamefuncA new game has been created (world generated, companies founded), before the first day.Link a questa vocefunc _on_new_game(_sim: Sim) -> void- Parametri
_sim: Sim
- Valore restituito
void
scripts/core/mod.gd:30Mod._on_game_loadedfuncA saved game has been loaded.Link a questa vocefunc _on_game_loaded(_sim: Sim) -> void- Parametri
_sim: Sim
- Valore restituito
void
scripts/core/mod.gd:35Mod._on_dayfuncRuns once for each simulated calendar day after daily town, competitor and vehicle updates, and before the daily goal checks and month-end bookkeeping.Link a questa vocefunc _on_day(_sim: Sim) -> voidRead
sim.day_intfor the day that has just started.- Parametri
_sim: Sim
- Valore restituito
void
scripts/core/mod.gd:40Mod._on_monthfuncRuns at the month boundary after Fourways closes the previous month’s accounts.Link a questa vocefunc _on_month(_sim: Sim) -> voidMoney credited here is recorded in the new month.
- Parametri
_sim: Sim
- Valore restituito
void
Esempio
Dichiarato infunc _on_month(sim: Sim) -> void: sim.company.earn(500) news(sim, L.t("Monthly transport grant"), "good")scripts/core/mod.gd:45Mod._on_yearfuncAt the start of every year;yearis the one that has just ended.Link a questa vocefunc _on_year(_sim: Sim, _year: int) -> void- Parametri
_sim: Sim_year: int
- Valore restituito
void
scripts/core/mod.gd:50Mod._on_deliveryfuncRuns after a vehicle earns a fare by delivering cargo.Link a questa vocefunc _on_delivery(_sim: Sim, _vehicle: Vehicle, _station: Station, _amount: int) -> voidamountis the total payment for that unload, in game dollars. It is not the number of units delivered or a per-cargo breakdown.- Parametri
_sim: Sim_vehicle: Vehicle_station: Station_amount: int
- Valore restituito
void
scripts/core/mod.gd:55Mod._on_vehicle_boughtfuncA vehicle has been bought.Link a questa vocefunc _on_vehicle_bought(_sim: Sim, _vehicle: Vehicle) -> void- Parametri
_sim: Sim_vehicle: Vehicle
- Valore restituito
void
scripts/core/mod.gd:60Mod._on_station_builtfuncA station has been built (or extended).Link a questa vocefunc _on_station_built(_sim: Sim, _station: Station) -> void- Parametri
_sim: Sim_station: Station
- Valore restituito
void
scripts/core/mod.gd:65Mod._on_newsfuncRuns before a news item is posted.Link a questa vocefunc _on_news(_sim: Sim, _item: Dictionary) -> boolReturn
falseto suppress it ortrueto let it proceed through the other active mods. The item includestext,kind,pos, andday. Posting news from this hook calls the hook again.- Parametri
_sim: Sim_item: Dictionary
- Valore restituito
bool
scripts/core/mod.gd:70Mod._savefuncReturns the mod’s persistent state as a dictionary of plain values.Link a questa vocefunc _save(_sim: Sim) -> DictionaryAn empty dictionary is omitted, so
_loadwill not run for that save. Return the data rather than writing a separate file.- Parametri
_sim: Sim
- Valore restituito
Dictionary
scripts/core/mod.gd:76Mod._loadfuncRestores this mod’s data before_on_game_loaded.Link a questa vocefunc _load(_sim: Sim, _data: Dictionary) -> voidCalled 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.- Parametri
_sim: Sim_data: Dictionary
- Valore restituito
void
scripts/core/mod.gd:80Mod.newsfuncPost a news item ("good", "info", "warn" or "bad").Link a questa vocefunc news(sim: Sim, text: String, kind: String = "info", at: Vector2 = Vector2(-1, -1)) -> voidatis a tile to jump to when it's clicked.- Parametri
sim: Simtext: Stringkind: String = "info"at: Vector2 = Vector2(-1, -1)
- Valore restituito
void
scripts/core/mod.gd:87Mod.notefuncWrite a line to the game's log, tagged with the mod's id.Link a questa vocefunc note(text: String) -> void- Parametri
text: String
- Valore restituito
void
scripts/core/mod.gd:92Mod.pathfuncA file inside the mod's folder, e.g.Link a questa vocefunc path(file: String) -> Stringpath("data/extra.json").
- Parametri
file: String
- Valore restituito
String
scripts/core/mod.gd:97
Sim
Sim.news_postedsignal{"text", "kind": good|info|warn|bad, "pos": Vector2, "day"[, "veh"][, "urgent"][, "world"]}Link a questa vocesignal news_posted(item: Dictionary)- Parametri
item: Dictionary
- Valore restituito
signal news_posted(item: Dictionary)
scripts/sim/sim.gd:6Sim.incomesignalLink a questa vocesignal income(vehicle: Vehicle, station: Station, amount: int)- Parametri
vehicle: Vehiclestation: Stationamount: int
- Valore restituito
signal income(vehicle: Vehicle, station: Station, amount: int)
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:7Sim.vehicles_changedsignalLink a questa vocesignal vehicles_changed- Valore restituito
signal vehicles_changed
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:8Sim.company_bankruptsignalLink a questa vocesignal company_bankrupt(c: Company)- Parametri
c: Company
- Valore restituito
signal company_bankrupt(c: Company)
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:9Sim.SPEEDSconstLink a questa voceconst SPEEDS := [0, 1, 2, 4, 8]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:11Sim.mapvarThe live world map.Link a questa vocevar map: WorldMapUse it to read towns, industries, stations, and terrain. Use simulation construction methods when changing infrastructure.
Dichiarato inscripts/sim/sim.gd:13Sim.companiesvarThe companies in the current simulation, including the player.Link a questa vocevar companies: Array[Company] = []Compare a vehicle or station’s owner with a company object to filter its assets.
Dichiarato inscripts/sim/sim.gd:14Sim.companyvarThe player’s company.Link a questa vocevar company: CompanyUse its
Dichiarato inidfor council ratings and itsearn()andspend()methods to record changes in the accounts.scripts/sim/sim.gd:15Sim.vehiclesvarThe vehicles active in the current simulation.Link a questa vocevar vehicles: Array[Vehicle] = []Use buying and selling methods to manage ownership and accounting.
Dichiarato inscripts/sim/sim.gd:16Sim.next_vehicle_idvarLink a questa vocevar next_vehicle_id := 1Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:17Sim.seed_valuevarLink a questa vocevar seed_value := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:18Sim.rngvarThe simulation’s seeded random-number generator.Link a questa vocevar rng := RandomNumberGenerator.new()Calls advance the same random stream the simulation uses.
Dichiarato inscripts/sim/sim.gd:19Sim.dayvarLink a questa vocevar day := 0.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:20Sim.day_intvarLink a questa vocevar day_int := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:21Sim.speedvarLink a questa vocevar speed := 1Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:22Sim.newsvarLink a questa vocevar news: Array = []Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:23Sim.aisvarAI controllers (see ai.gd)Sim.optionsvarGame 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".Link a questa vocevar 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).
Dichiarato inscripts/sim/sim.gd:29Sim.occupiedvarsignal block id -> Vehicle (realistic blocking only)Sim.CRASH_RconstTrain crashes (see _check_crashes).Link a questa voceconst CRASH_R := 0.25Not 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
Dichiarato inscripts/sim/sim.gd:33Sim.CRASH_STEPconstthe most a train moves between two crash checksSim.CRASH_CELLconstmap cells (in tiles) for finding trains near each otherSim._touchingvar"id:id" -> true: trains overlapping at the last check that didn't crashSim._checkedvarvehicle id -> true: trains taking part in the last checkSim.WRECK_DAYSconstCrashed 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}}].Link a questa voceconst WRECK_DAYS := 20.0Trains stop short of a wreck's tiles (see wreck_tiles). Not saved.
Dichiarato inscripts/sim/sim.gd:41Sim.wrecksvarLink a questa vocevar wrecks: Array = []Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:42Sim.wreck_tilesvarVector2i -> true: track blocked by a wreckSim.road_atvarQueues (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.Link a questa vocevar road_at := PackedInt32Array()Road vehicles by the tile their front is in, as lists threaded through
Dichiarato inroad_next, so each one only looks at the few near it. tile index -> index in road_list of a road vehicle there (-1: none)scripts/sim/sim.gd:47Sim.road_listvarLink a questa vocevar road_list: Array[Vehicle] = []Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:48Sim.road_nextvarindex in road_list -> the next one in the same tile (-1: none)Sim._road_tilesvarthe tiles set in road_at, to clear againSim.ships_atvartile -> a ship whose front is in itSim.standsvarStation -> aircraft on the ground there or coming in to landSim.holding_overvarStation -> aircraft holding over itSim.missing_modsvarAfter 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.Sim.dropped_vehiclesvarLink a questa vocevar dropped_vehicles := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:57Sim.undovarThe player's last construction actions, for Ctrl+Z (see undo.gd).Sim.goalsvarfirst steps, achievements and the company goal (RAIL-25)Sim.opportunitiesvarsubsidies and town requests (RAIL-24)Sim.linesvarThe player's lines: vehicles sharing one order list (see line.gd).Sim.next_line_idvarLink a questa vocevar next_line_id := 1Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:64Sim.next_industry_idvarIndustries open and close during the game (RAIL-23, IndustryLife).Link a questa vocevar next_industry_id := 0Ids are never used twice, so nothing that remembers a closed industry's id mistakes a new one for it (see new_industry_id).
Dichiarato inscripts/sim/sim.gd:67Sim.industry_targetvarHow many industries the map started with (counted at the first month end): openings and closures lean back toward it.Sim.industry_roomvarThe room the map has for industries (WorldGen.industry_room), worked out when first needed.Link a questa vocevar industry_room := Vector2i(-1, -1)Not saved: the coast hardly moves in a game.
Dichiarato inscripts/sim/sim.gd:73Sim.introduce_waitvarA new era's kinds of industry that found no site (IndustryLife._introduce): type -> the game day before which they are not tried again.Sim.createstatic funcA brand-new game from setup parameters (see the new-game screen for the keys).Link a questa vocestatic func create(params: Dictionary) -> Sim- Parametri
params: Dictionary
- Valore restituito
Sim
scripts/sim/sim.gd:80Sim._initfuncLink a questa vocefunc _init(p_seed: int, size: int = Const.MAP_SIZE, generate: bool = true, size_h: int = -1) -> void- Parametri
p_seed: intsize: int = Const.MAP_SIZEgenerate: bool = truesize_h: int = -1
- Valore restituito
void
- Chiama
WorldGen.generate,L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:110Sim.date_textfuncFormats the current simulation day for display using the active language.Link a questa vocefunc date_text() -> StringFor date calculations use
day_intoryear().- Valore restituito
String
- Chiama
Calendar.format
scripts/sim/sim.gd:121Sim.yearfuncReturns the calendar year ofday_int.Link a questa vocefunc year() -> intUse it for year-based rules instead of dividing the elapsed day count by 365.
- Valore restituito
int
- Chiama
Calendar.from_day
scripts/sim/sim.gd:125Sim.tickfuncAdvance by real seconds at the current game speed.Link a questa vocefunc tick(real_dt: float) -> void- Parametri
real_dt: float
- Valore restituito
void
scripts/sim/sim.gd:132Sim.advancefuncAdvance byddgame days.Link a questa vocefunc advance(dd: float) -> void- Parametri
dd: float
- Valore restituito
void
scripts/sim/sim.gd:139Sim._update_occupancyfuncWhich track blocks trains are standing in (only matters with realistic blocking).Link a questa vocefunc _update_occupancy() -> voidSince RAIL-80 junctions are blocks too, so this runs without signals as well.
- Valore restituito
void
scripts/sim/sim.gd:162Sim._index_queuesfuncWhere road vehicles, ships and aircraft are, for the queues (RAIL-26).Link a questa vocefunc _index_queues() -> voidOne 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.
- Valore restituito
void
scripts/sim/sim.gd:206Sim.claim_standfuncWhether a plane may land at airportstnow (RAIL-26), and if so it is counted in: fewer than Vehicle.STANDS aircraft are on the ground there or coming in to land.Link a questa vocefunc claim_stand(st: Station, holding: bool) -> boolOne already holding goes before one only just arriving.
- Parametri
st: Stationholding: bool
- Valore restituito
bool
scripts/sim/sim.gd:252Sim._rail_stepsfuncHow many steps to move the trains in this frame, so none goes further than CRASH_STEP in one.Link a questa vocefunc _rail_steps(dd: float) -> intOnly 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).
- Parametri
dd: float
- Valore restituito
int
scripts/sim/sim.gd:263Sim._check_crashesfuncTrains on the same track crash (with realistic blocking): when a train's nose runs into another train, both are wrecked.Link a questa vocefunc _check_crashes() -> voidSignals 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.
- Valore restituito
void
scripts/sim/sim.gd:298Sim._contactfuncWhere the nose of trainatouches the body of trainbon the same level (not one on a bridge over the other), or null.Link a questa vocefunc _contact(a: Dictionary, b: Dictionary) -> Variantaandbare entries of _check_crashes' list.- Parametri
a: Dictionaryb: Dictionary
- Valore restituito
Variant
scripts/sim/sim.gd:346Sim._crashfuncTwo trains have run into each other atat: both are wrecked, with all they carried.Link a questa vocefunc _crash(a: Vehicle, b: Vehicle, at: Vector2) -> void- Parametri
a: Vehicleb: Vehicleat: Vector2
- Valore restituito
void
- Chiama
Station.nearest_town,L.t
scripts/sim/sim.gd:374Sim._dir_indexstatic funcLink a questa vocestatic func _dir_index(v: Vector2) -> int- Parametri
v: Vector2
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:403Sim._on_dayfuncLink a questa vocefunc _on_day() -> void- Valore restituito
void
- Chiama
Economy.produce,IndustryLife.near_wind_farm,Calendar.from_day,Mods.hook,Economy.monthly,IndustryLife.monthly,Data.intros,Data.model,L.t,L.lower
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:409Sim._growth_contextfuncWhat a town's land values depend on: stations with recent passenger service and nearby industry.Link a questa vocefunc _growth_context(t: Town) -> Dictionary- Parametri
t: Town
- Valore restituito
Dictionary
scripts/sim/sim.gd:471Sim._new_erafuncA 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).Link a questa vocefunc _new_era(era: Dictionary) -> void- Parametri
era: Dictionary
- Valore restituito
void
- Chiama
Data.retiring,L.t,Data.era_changes
scripts/sim/sim.gd:492Sim.sync_erafuncMove 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.Link a questa vocefunc sync_era() -> voidStations look again at what they accept and supply.
- Valore restituito
void
- Chiama
Data.era_index
scripts/sim/sim.gd:504Sim._match_daysfuncStadiums hold a match once a month, each on its own day (see match_offset).Link a questa vocefunc _match_days() -> voidThe 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.
- Valore restituito
void
- Chiama
Economy.shares,L.t
scripts/sim/sim.gd:516Sim.match_offsetstatic funcThe day in each 30 a stadium standing att(its north-west tile) holds its match: the match is on the days where (day + this) is a multiple of 30.Link a questa vocestatic func match_offset(t: Vector2i) -> intTownLife shows the fans walking to it then.
- Parametri
t: Vector2i
- Valore restituito
int
scripts/sim/sim.gd:546Sim._update_town_servicefuncLink a questa vocefunc _update_town_service(t: Town) -> void- Parametri
t: Town
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:550Sim._yearlyfuncLink a questa vocefunc _yearly(old_year: int) -> void- Parametri
old_year: int
- Valore restituito
void
- Chiama
IndustryLife.yearly,L.t,Fmt.money
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:559Sim._check_bankruptcyfuncMonth end: companies in the red are warned, draw on their credit (rivals), and after Data.BANKRUPT_MONTHS months go bankrupt.Link a questa vocefunc _check_bankruptcy() -> void- Valore restituito
void
- Chiama
L.t
scripts/sim/sim.gd:578Sim._go_bankruptfuncLink a questa vocefunc _go_bankrupt(c: Company) -> void- Parametri
c: Company
- Valore restituito
void
- Chiama
L.t,WorldMap.crossing_tiles
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:606Sim.post_newsfuncveh: the id of the vehicle the news is about, if any (clicking the news opens it).Link a questa vocefunc post_news(text: String, kind: String, pos: Vector2, veh: int = 0, about: String = "", urgent: bool = false, world: bool = false) -> voidabout: 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.- Parametri
text: Stringkind: Stringpos: Vector2veh: int = 0about: String = ""urgent: bool = falseworld: bool = false
- Valore restituito
void
- Chiama
Mods.allow_news
scripts/sim/sim.gd:671Sim.post_world_newsfuncNews about the world rather than the player's company: rivals' new lines, other towns' requests coming and going, industries opening and closing.Link a questa vocefunc post_world_news(text: String, kind: String, pos: Vector2, about: String = "") -> voidIt 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.
- Parametri
text: Stringkind: Stringpos: Vector2about: String = ""
- Valore restituito
void
scripts/sim/sim.gd:692Sim.new_industry_idfuncAn 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.Link a questa vocefunc new_industry_id() -> int- Valore restituito
int
scripts/sim/sim.gd:698Sim.vehicle_by_idfuncThe vehicle with this id, or null.Link a questa vocefunc vehicle_by_id(id: int) -> Vehicle- Parametri
id: int
- Valore restituito
Vehicle
scripts/sim/sim.gd:706Sim.on_incomefuncLink a questa vocefunc on_income(v: Vehicle, st: Station, amount: int) -> void- Parametri
v: Vehiclest: Stationamount: int
- Valore restituito
void
- Chiama
Mods.hook
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:713Sim._with_moneyfuncMarks a plan as unaffordable if the company can't pay for it.Link a questa vocefunc _with_money(p: Dictionary, who: Company) -> Dictionary- Parametri
p: Dictionarywho: Company
- Valore restituito
Dictionary
scripts/sim/sim.gd:721Sim._ownershipfuncTrack and stations belonging to other companies can't be touched.Link a questa vocefunc _ownership(p: Dictionary, who: Company, tiles: Array) -> Dictionary- Parametri
p: Dictionarywho: Companytiles: Array
- Valore restituito
Dictionary
- Chiama
L.t
scripts/sim/sim.gd:734Sim.preview_linefuncChecks a path of adjacent road or rail tiles for construction, ownership, and affordability.Link a questa vocefunc preview_line(kind: String, pts: Array[Vector2i], who: Company = null) -> DictionaryReturns a plan with
ok,reasonandcostwithout laying track or spending money.- Parametri
kind: Stringpts: Array[Vector2i]who: Company = null
- Valore restituito
Dictionary
- Chiama
BuildOps.plan_line
scripts/sim/sim.gd:754Sim.build_linefuncLays road or track along consecutive adjacent tiles and debits construction costs on success.Link a questa vocefunc build_line(kind: String, pts: Array[Vector2i], who: Company = null) -> DictionaryPass at least two tiles as
Array[Vector2i]. The return value is a construction plan, so checkokbefore using it.- Parametri
kind: Stringpts: Array[Vector2i]who: Company = null
- Valore restituito
Dictionary
- Chiama
BuildOps.apply_line
Esempio
Dichiarato invar tiles: Array[Vector2i] = [Vector2i(5, 6), Vector2i(6, 6)] var plan := sim.build_line("road", tiles) if not plan.ok: note(plan.reason)scripts/sim/sim.gd:762Sim.plan_routefuncA line alongpts(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.Link a questa vocefunc plan_route(kind: String, pts: Array[Vector2i], crossings: Array, who: Company = null) -> DictionaryWithout 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).
- Parametri
kind: Stringpts: Array[Vector2i]crossings: Arraywho: Company = null
- Valore restituito
Dictionary
scripts/sim/sim.gd:785Sim._join_planfuncAdd a stretch's or crossing's plan to a route's (plan_route).Link a questa vocefunc _join_plan(p: Dictionary, part: Dictionary) -> void- Parametri
p: Dictionarypart: Dictionary
- Valore restituito
void
scripts/sim/sim.gd:835Sim.preview_routefuncReturns the cost and validity of a road or rail route that can include bridges or tunnels.Link a questa vocefunc preview_route(kind: String, pts: Array[Vector2i], crossings: Array, who: Company = null) -> DictionaryIt runs the route planner and checks funds without building the route.
- Parametri
kind: Stringpts: Array[Vector2i]crossings: Arraywho: Company = null
- Valore restituito
Dictionary
scripts/sim/sim.gd:853Sim.build_routefuncBuild a route planned by preview_route: every stretch and crossing exactly as previewed, paid for at once, and taken back by one undo.Link a questa vocefunc build_route(kind: String, pts: Array[Vector2i], crossings: Array, who: Company = null) -> Dictionary- Parametri
kind: Stringpts: Array[Vector2i]crossings: Arraywho: Company = null
- Valore restituito
Dictionary
scripts/sim/sim.gd:860Sim.preview_stationfuncChecks placement, ownership, council permission, and affordability for a new station or extension.Link a questa vocefunc preview_station(kind: String, pts: Array[Vector2i], axis: int, who: Company = null) -> DictionaryReturns a plan without building the station.
- Parametri
kind: Stringpts: Array[Vector2i]axis: intwho: Company = null
- Valore restituito
Dictionary
scripts/sim/sim.gd:886Sim.build_stationfuncBuilds or extends a station, charges the company, and firesMod._on_station_built.Link a questa vocefunc build_station(kind: String, pts: Array[Vector2i], axis: int, who: Company = null) -> DictionaryPass
rail,road,dock, orair, a typed tile array, and an orientation. On success the plan includes the resultingstation; on failure usereason.- Parametri
kind: Stringpts: Array[Vector2i]axis: intwho: Company = null
- Valore restituito
Dictionary
- Chiama
BuildOps.apply_station,Mods.hook
scripts/sim/sim.gd:904Sim.preview_bulldozefuncChecks which objects in the tile rectangle can be cleared by the company, and estimates the cost.Link a questa vocefunc preview_bulldoze(rect: Rect2i, who: Company = null) -> DictionaryRead the plan before calling
build_bulldoze.- Parametri
rect: Rect2iwho: Company = null
- Valore restituito
Dictionary
scripts/sim/sim.gd:924Sim.build_bulldozefuncClears the allowed parts of a tile rectangle, updates track ownership counts, and charges the company.Link a questa vocefunc build_bulldoze(rect: Rect2i, who: Company = null) -> DictionaryRemoving scenery and buildings can affect town council ratings.
- Parametri
rect: Rect2iwho: Company = null
- Valore restituito
Dictionary
scripts/sim/sim.gd:957Sim.preview_crossingfuncBridges (bis the far ramp) and tunnels (from hillside tilea).Link a questa vocefunc preview_crossing(kind: String, type: String, a: Vector2i, b: Vector2i, who: Company = null, style: String = "") -> Dictionary- Parametri
kind: Stringtype: Stringa: Vector2ib: Vector2iwho: Company = nullstyle: String = ""
- Valore restituito
Dictionary
scripts/sim/sim.gd:981Sim.build_crossingfuncBuilds a bridge between the ramp tiles or a tunnel from the hillside tile.Link a questa vocefunc build_crossing(kind: String, type: String, a: Vector2i, b: Vector2i, who: Company = null, style: String = "") -> DictionaryPass
bridgeortunnelfortype. A successful plan contains the newcrossing.- Parametri
kind: Stringtype: Stringa: Vector2ib: Vector2iwho: Company = nullstyle: String = ""
- Valore restituito
Dictionary
scripts/sim/sim.gd:992Sim.preview_signalfuncChecks placement, ownership, and cost for the signal action on a rail tile.Link a questa vocefunc preview_signal(t: Vector2i, who: Company = null) -> DictionaryReturns the plan without applying it.
- Parametri
t: Vector2iwho: Company = null
- Valore restituito
Dictionary
- Chiama
BuildOps.plan_signal
scripts/sim/sim.gd:1012Sim.build_signalfuncApplies the signal action to the rail tile after validating ownership and cost, and records the operation for undo.Link a questa vocefunc build_signal(t: Vector2i, who: Company = null) -> Dictionary- Parametri
t: Vector2iwho: Company = null
- Valore restituito
Dictionary
- Chiama
BuildOps.apply_signal
scripts/sim/sim.gd:1019Sim.preview_terraformfuncChecks the cost and rules for raising or lowering a map corner.Link a questa vocefunc preview_terraform(corner: Vector2i, delta: int, who: Company = null) -> DictionaryIt also rejects a plan if a vehicle occupies any affected tile.
- Parametri
corner: Vector2idelta: intwho: Company = null
- Valore restituito
Dictionary
- Chiama
BuildOps.plan_terraform,L.t
scripts/sim/sim.gd:1030Sim.build_terraformfuncApplies an affordable height change to a map corner.Link a questa vocefunc build_terraform(corner: Vector2i, delta: int, who: Company = null) -> DictionaryA positive
deltaraises it and a negative one lowers it.- Parametri
corner: Vector2idelta: intwho: Company = null
- Valore restituito
Dictionary
scripts/sim/sim.gd:1042Sim.preview_levelfuncLevel the tiles inrectto corner heightheightas far as the rules allow (see BuildOps.plan_level): tiles under vehicles or belonging to other companies are left alone too.Link a questa vocefunc preview_level(rect: Rect2i, height: int, who: Company = null) -> Dictionary- Parametri
rect: Rect2iheight: intwho: Company = null
- Valore restituito
Dictionary
- Chiama
L.t,BuildOps.plan_level
scripts/sim/sim.gd:1057Sim.build_levelfuncLevels the eligible tiles in a rectangle to a target corner height, charges the construction cost, and records the change for undo.Link a questa vocefunc build_level(rect: Rect2i, height: int, who: Company = null) -> DictionaryCheck the returned plan for skipped tiles.
- Parametri
rect: Rect2iheight: intwho: Company = null
- Valore restituito
Dictionary
scripts/sim/sim.gd:1073Sim._level_upsets_townsfuncLevelling clears the trees on the tiles it reshapes, which the nearby councils mind the way they mind bulldozing them (see _bulldoze_upsets_towns).Link a questa vocefunc _level_upsets_towns(tiles: Array, who: Company) -> void- Parametri
tiles: Arraywho: Company
- Valore restituito
void
- Chiama
Station.nearest_town,L.t
scripts/sim/sim.gd:1090Sim._bulldoze_upsets_townsfuncKnocking down houses, tearing up town streets and clearing trees near a town hurts the company's standing with its council.Link a questa vocefunc _bulldoze_upsets_towns(r: Rect2i, who: Company) -> voidOnly 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.
- Parametri
r: Rect2iwho: Company
- Valore restituito
void
scripts/sim/sim.gd:1109Sim.council_newsfuncTell the player the moment a council turns against them (or comes round).Link a questa vocefunc council_news(t: Town, who: Company, was: float) -> void- Parametri
t: Townwho: Companywas: float
- Valore restituito
void
- Chiama
L.t,Town.rating_name
scripts/sim/sim.gd:1141Sim.council_refusalfuncWhy a council refuseswhoneart, in words a player can act on.Link a questa vocefunc council_refusal(t: Town, who: Company) -> String- Parametri
t: Townwho: Company
- Valore restituito
String
- Chiama
L.t,Town.rating_name,L.lower
scripts/sim/sim.gd:1153Sim.town_actionfuncTown actions from the town window: "advertise", "trees" or "fund".Link a questa vocefunc town_action(t: Town, action: String, who: Company = null) -> DictionaryReturns {ok, reason, cost}.
- Parametri
t: Townaction: Stringwho: Company = null
- Valore restituito
Dictionary
scripts/sim/sim.gd:1168Sim.renew_vehiclefuncCharges the owner the renewal price and resets the vehicle’s age, reliability, and last-service date.Link a questa vocefunc renew_vehicle(v: Vehicle, who: Company = null) -> DictionaryCheck
okbefore reading the successful result’scost.- Parametri
v: Vehiclewho: Company = null
- Valore restituito
Dictionary
- Chiama
L.t,Fmt.money,Data.reliability
scripts/sim/sim.gd:1215Sim.renew_pricefuncWhat renew_vehicle would charge forvright now.Link a questa vocefunc renew_price(v: Vehicle) -> int- Parametri
v: Vehicle
- Valore restituito
int
scripts/sim/sim.gd:1231Sim.same_routestatic 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.Link a questa vocestatic func same_route(a: Vehicle, b: Vehicle) -> bool- Parametri
a: Vehicleb: Vehicle
- Valore restituito
bool
scripts/sim/sim.gd:1239Sim.vehicles_on_stopsfuncHow many ofwho's vehicles ofkindcall at exactlystops, in that order (wherever in the round each one starts), as same_route counts them.Link a questa vocefunc vehicles_on_stops(kind: String, stops: Array, who: Company) -> int- Parametri
kind: Stringstops: Arraywho: Company
- Valore restituito
int
scripts/sim/sim.gd:1258Sim.route_vehiclesfuncEvery vehicle onv's route (see same_route),vincluded; for a vehicle on a line, every vehicle on that line.Link a questa vocefunc route_vehicles(v: Vehicle) -> Array- Parametri
v: Vehicle
- Valore restituito
Array
scripts/sim/sim.gd:1280Sim.make_linefuncTurnv's route into a line:vand every other vehicle of its company on the same route (see same_route) that isn't on a line yet join it.Link a questa vocefunc make_line(v: Vehicle, line_name: String = "") -> LineReturns the line.
- Parametri
v: Vehicleline_name: String = ""
- Valore restituito
Line
scripts/sim/sim.gd:1290Sim.line_problemfuncWhyvcan't runln's stops ("" when it can).Link a questa vocefunc line_problem(v: Vehicle, ln: Line) -> String- Parametri
v: Vehicleln: Line
- Valore restituito
String
- Chiama
L.t
scripts/sim/sim.gd:1305Sim.join_linefuncPutvon lineln(it takes the line's stops).Link a questa vocefunc join_line(v: Vehicle, ln: Line) -> DictionaryReturns {"ok", "reason"}.
- Parametri
v: Vehicleln: Line
- Valore restituito
Dictionary
scripts/sim/sim.gd:1314Sim._put_on_linefuncThe vehicle shares the line's order list and keeps heading for the stop it was heading for, when the line calls there too.Link a questa vocefunc _put_on_line(v: Vehicle, ln: Line) -> void- Parametri
v: Vehicleln: Line
- Valore restituito
void
scripts/sim/sim.gd:1327Sim.leave_linefuncTakevoff its line: it keeps the stops as its own.Link a questa vocefunc leave_line(v: Vehicle) -> void- Parametri
v: Vehicle
- Valore restituito
void
scripts/sim/sim.gd:1340Sim.set_line_ordersfuncGive linelnnew stops (validated for every model running on it).Link a questa vocefunc set_line_orders(ln: Line, new_orders: Array) -> DictionaryThe vehicles keep heading for the stop they were heading for where it is still on the line. Returns {"ok", "reason"}.
- Parametri
ln: Linenew_orders: Array
- Valore restituito
Dictionary
scripts/sim/sim.gd:1350Sim.set_vehicle_ordersfuncGive a vehicle new stops: its own, or (on a line) the whole line's.Link a questa vocefunc set_vehicle_orders(v: Vehicle, new_orders: Array, idx: int = -1) -> DictionaryReturns {"ok", "reason"}.
- Parametri
v: Vehiclenew_orders: Arrayidx: int = -1
- Valore restituito
Dictionary
scripts/sim/sim.gd:1381Sim._stops_problemfuncA line with no vehicles can still be checked for its stops: what check_orders asks of every model, without the model.Link a questa vocefunc _stops_problem(kind: String, stops: Array, who: Company) -> String- Parametri
kind: Stringstops: Arraywho: Company
- Valore restituito
String
- Chiama
L.t
scripts/sim/sim.gd:1402Sim.delete_linefuncDelete a line: its vehicles keep running its stops, each on its own.Link a questa vocefunc delete_line(ln: Line) -> void- Parametri
ln: Line
- Valore restituito
void
scripts/sim/sim.gd:1419Sim.buy_for_linefuncBuy one more vehicle for lineln, liketemplate(the same model, cargo and wagons).Link a questa vocefunc buy_for_line(ln: Line, template: Vehicle) -> DictionaryReturns buy_vehicle's answer.
- Parametri
ln: Linetemplate: Vehicle
- Valore restituito
Dictionary
scripts/sim/sim.gd:1429Sim.stop_linefuncStop (or start again) every vehicle on a line.Link a questa vocefunc stop_line(ln: Line, stop: bool) -> void- Parametri
ln: Linestop: bool
- Valore restituito
void
scripts/sim/sim.gd:1445Sim.renew_linefuncRenew every vehicle on a line that is past its working life.Link a questa vocefunc renew_line(ln: Line) -> DictionaryReturns {"n", "cost", "reason"}.
- Parametri
ln: Line
- Valore restituito
Dictionary
scripts/sim/sim.gd:1454Sim.line_by_idfuncLooks for a line with the given ID in the simulation and returnsnullif no line matches.Link a questa vocefunc line_by_id(line_id: int) -> Line- Parametri
line_id: int
- Valore restituito
Line
scripts/sim/sim.gd:1470Sim._index_ofstatic funcLink a questa vocestatic func _index_of(list: Array, st: Station, fallback: int) -> int- Parametri
list: Arrayst: Stationfallback: int
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:1477Sim._mark_servedfuncLink a questa vocefunc _mark_served(v: Vehicle) -> void- Parametri
v: Vehicle
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:1487Sim.route_textstatic funcA vehicle's route in a few words: "Ashford → Millbury".Link a questa vocestatic func route_text(v: Vehicle) -> String- Parametri
v: Vehicle
- Valore restituito
String
scripts/sim/sim.gd:1496Sim.replace_planfuncWhat swappingvfor a newmodel_idwould take: the model must be of the same kind, on sale, able to carry whatvcarries and able to run its orders (wires for an electric train, a depot where depots are needed).Link a questa vocefunc replace_plan(v: Vehicle, model_id: String, checked: Dictionary = {}) -> DictionaryA 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".
checkedremembers the route checks between calls for vehicles of one route.- Parametri
v: Vehiclemodel_id: Stringchecked: Dictionary = {}
- Valore restituito
Dictionary
- Chiama
Data.has_model,Data.model,L.t,Data.available,Data.intro_year
scripts/sim/sim.gd:1513Sim.replace_vehiclefuncSwap 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.Link a questa vocefunc replace_vehicle(v: Vehicle, model_id: String, who: Company = null) -> DictionaryCharges the new price less what the old one is worth (see replace_plan, whose answer this returns).
- Parametri
v: Vehiclemodel_id: Stringwho: Company = null
- Valore restituito
Dictionary
scripts/sim/sim.gd:1540Sim.replace_route_planfuncWhat 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)}.Link a questa vocefunc replace_route_plan(v: Vehicle, model_id: String, checked: Dictionary = {}) -> Dictionary- Parametri
v: Vehiclemodel_id: Stringchecked: Dictionary = {}
- Valore restituito
Dictionary
scripts/sim/sim.gd:1559Sim.replace_routefuncreplace_vehicle for every vehicle onv'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.Link a questa vocefunc replace_route(v: Vehicle, model_id: String, who: Company = null) -> DictionaryThe player is told in one news item.
- Parametri
v: Vehiclemodel_id: Stringwho: Company = null
- Valore restituito
Dictionary
- Chiama
L.t,Fmt.money,Data.model
scripts/sim/sim.gd:1577Sim._pay_vehiclesfuncPay for vehicles, or be paid whencostis negative (trading in for something cheaper).Link a questa vocefunc _pay_vehicles(who: Company, cost: int) -> void- Parametri
who: Companycost: int
- Valore restituito
void
scripts/sim/sim.gd:1608Sim._becomefuncThe swap itself:vbecomes a brand-newmodel_id(what renew_vehicle resets, on a new model).Link a questa vocefunc _become(v: Vehicle, model_id: String) -> void- Parametri
v: Vehiclemodel_id: String
- Valore restituito
void
- Chiama
Data.reliability
scripts/sim/sim.gd:1617Sim.AUTO_RENEW_MAXconstMonth 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.Link a questa voceconst AUTO_RENEW_MAX := 3At most AUTO_RENEW_MAX a month, so a fleet bought together doesn't empty the bank at once. Returns how many were renewed.
Dichiarato inscripts/sim/sim.gd:1629Sim._auto_renewfuncLink a questa vocefunc _auto_renew() -> int- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:1630Sim.refit_costfuncWhat changing a vehicle's cargo would cost.Link a questa vocefunc refit_cost(v: Vehicle, consist: Array) -> Dictionaryconsist: 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"}:costis negative when dropping wagons pays more than the rest costs.- Parametri
v: Vehicleconsist: Array
- Valore restituito
Dictionary
- Chiama
L.t
scripts/sim/sim.gd:1664Sim.refit_placefuncWhere 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).Link a questa vocefunc refit_place(v: Vehicle) -> String- Parametri
v: Vehicle
- Valore restituito
String
scripts/sim/sim.gd:1701Sim.refit_planfuncrefit_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.Link a questa vocefunc refit_plan(v: Vehicle, consist: Array) -> Dictionary- Parametri
v: Vehicleconsist: Array
- Valore restituito
Dictionary
- Chiama
L.t
scripts/sim/sim.gd:1714Sim.refit_vehiclefuncOrder a change of what a vehicle carries (see refit_cost) and pay for it.Link a questa vocefunc refit_vehicle(v: Vehicle, consist: Array, who: Company = null) -> DictionaryThe 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.
- Parametri
v: Vehicleconsist: Arraywho: Company = null
- Valore restituito
Dictionary
scripts/sim/sim.gd:1729Sim.cancel_refitfuncCall off a change of cargo that hasn't been done yet; returns the money given back.Link a questa vocefunc cancel_refit(v: Vehicle, who: Company = null) -> int- Parametri
v: Vehiclewho: Company = null
- Valore restituito
int
scripts/sim/sim.gd:1752Sim.finish_refitfuncDo the change of cargo a vehicle is waiting for (it has reached the depot).Link a questa vocefunc finish_refit(v: Vehicle) -> void- Parametri
v: Vehicle
- Valore restituito
void
scripts/sim/sim.gd:1765Sim._occupied_tilesfuncLink a questa vocefunc _occupied_tiles() -> Dictionary- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:1779Sim.check_ordersfuncCheck a vehicle order list: returns "" if fine, else why not.Link a questa vocefunc check_orders(model_id: String, cargo: String, stops: Array, who: Company) -> String- Parametri
model_id: Stringcargo: Stringstops: Arraywho: Company
- Valore restituito
String
- Chiama
Data.model,L.t
scripts/sim/sim.gd:1796Sim.vehicle_pricefuncReturns the model purchase price plus the cost of the specified number of rail wagons.Link a questa vocefunc vehicle_price(model_id: String, wagons: int) -> intNon-rail models ignore the wagon count. It does not check funds, routes, or sale year.
- Parametri
model_id: Stringwagons: int
- Valore restituito
int
- Chiama
Data.model
scripts/sim/sim.gd:1832Sim.buy_vehiclefuncBuys a model for a route of existing stations.Link a questa vocefunc buy_vehicle(model_id: String, cargo: String, wagons: int, stops: Array, full_load_first: bool, who: Company = null, consist: Array = [], transfer_at: Array = []) -> Dictionaryfull_load_firstsets the first order’s load flag.consistis one cargo ID per wagon, from front to back; a nonempty rail consist replacescargoandwagons.transfer_atis a list of zero-based stop indices. Checkokand readreasonon failure. A successful purchase returns the newvehicle.- Parametri
model_id: Stringcargo: Stringwagons: intstops: Arrayfull_load_first: boolwho: Company = nullconsist: Array = []transfer_at: Array = []
- Valore restituito
Dictionary
- Chiama
Data.model,L.t,Data.available,Data.intro_year,Fmt.money,Data.reliability,Mods.hook,BuildOps.dir_between
scripts/sim/sim.gd:1840Sim.depots_requiredfuncLink a questa vocefunc depots_required(who: Company) -> bool- Parametri
who: Company
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:1932Sim.depot_tilesfuncwho's depots for vehicles ofkind(road or rail), as a set of tiles.Link a questa vocefunc depot_tiles(kind: String, who: Company) -> Dictionary- Parametri
kind: Stringwho: Company
- Valore restituito
Dictionary
scripts/sim/sim.gd:1937Sim.find_depotfuncThe nearest ofwho's depots that's linked to stationst, or (-1, -1): the one a vehicle leavingstwould drive to.Link a questa vocefunc find_depot(kind: String, st: Station, who: Company, wired: bool = false) -> Vector2iFor the one a new vehicle drives out of, see depot_out.
- Parametri
kind: Stringst: Stationwho: Companywired: bool = false
- Valore restituito
Vector2i
scripts/sim/sim.gd:1948Sim.depot_outfuncThe nearest ofwho's depots that a new vehicle can drive out of to stationst, or (-1, -1).Link a questa vocefunc depot_out(kind: String, st: Station, who: Company, wired: bool = false, obey_signals: bool = true) -> Vector2iSearched 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.
- Parametri
kind: Stringst: Stationwho: Companywired: bool = falseobey_signals: bool = true
- Valore restituito
Vector2i
- Chiama
Pathfinder.find
scripts/sim/sim.gd:1958Sim.route_fromfuncThe shortest route from stationstto any of thegoalstiles, as Pathfinder.find returns it ({} when there is none).Link a questa vocefunc route_from(kind: String, st: Station, goals: Dictionary, wired: bool = false, obey_signals: bool = true) -> DictionaryA 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.
- Parametri
kind: Stringst: Stationgoals: Dictionarywired: bool = falseobey_signals: bool = true
- Valore restituito
Dictionary
- Chiama
Pathfinder.find
scripts/sim/sim.gd:1973Sim.preview_electrifyfuncLink a questa vocefunc preview_electrify(pts: Array[Vector2i], who: Company = null) -> Dictionary- Parametri
pts: Array[Vector2i]who: Company = null
- Valore restituito
Dictionary
- Chiama
BuildOps.plan_electrify
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:1996Sim.build_electrifyfuncLink a questa vocefunc build_electrify(pts: Array[Vector2i], who: Company = null) -> Dictionary- Parametri
pts: Array[Vector2i]who: Company = null
- Valore restituito
Dictionary
- Chiama
BuildOps.apply_electrify
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:2003Sim.preview_depotfuncLink a questa vocefunc preview_depot(kind: String, t: Vector2i, facing: int, who: Company = null) -> Dictionary- Parametri
kind: Stringt: Vector2ifacing: intwho: Company = null
- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:2014Sim.build_depotfuncLink a questa vocefunc build_depot(kind: String, t: Vector2i, facing: int, who: Company = null) -> Dictionary- Parametri
kind: Stringt: Vector2ifacing: intwho: Company = null
- Valore restituito
Dictionary
- Chiama
BuildOps.apply_depot
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/sim.gd:2031Sim.sell_vehiclefuncSell a vehicle.Link a questa vocefunc sell_vehicle(v: Vehicle, who: Company = null) -> intwhomust own it (defaults to the player); returns the refund, or -1 if refused.- Parametri
v: Vehiclewho: Company = null
- Valore restituito
int
scripts/sim/sim.gd:2048Sim.company_vehiclesfuncReturns the vehicles owned by the suppliedCompany.Link a questa vocefunc company_vehicles(who: Company) -> ArrayThe returned array can be filtered or reordered independently, but its vehicle objects are live.
- Parametri
who: Company
- Valore restituito
Array
scripts/sim/sim.gd:2061Sim.company_valuefuncCalculates cash minus loans plus vehicle resale value, station tile value, and owned track value.Link a questa vocefunc company_value(who: Company) -> intThis is the value used for company comparisons.
- Parametri
who: Company
- Valore restituito
int
scripts/sim/sim.gd:2065
Company
Company.COLORSconstLink a questa voceconst COLORSQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:5Company.CATEGORIESconstLink a questa voceconst CATEGORIES := ["construction", "vehicles", "running", "property", "infrastructure", "interest", "income"]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:8Company.idvarLink a questa vocevar id := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:10Company.namevarLink a questa vocevar name := "Fourways Transport Co."Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:11Company.colorvarLink a questa vocevar color := Color(0.18, 0.45, 0.85)Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:12Company.is_aivarLink a questa vocevar is_ai := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:13Company.moneyvarThe company’s current cash balance in game dollars.Link a questa vocevar money: int = Data.START_LOANUse the accounting methods to change it when the transaction should appear in the ledger.
Dichiarato inscripts/sim/company.gd:14Company.loanvarThe company’s outstanding debt in game dollars.Link a questa vocevar loan: int = Data.START_LOANUse
Dichiarato inborrowandrepayto adjust cash and debt together.scripts/sim/company.gd:15Company.ledgervarLink a questa vocevar ledger := {}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:16Company.ledger_lastvarLink a questa vocevar ledger_last := {}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:17Company.founded_dayvarLink a questa vocevar founded_day := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:18Company.max_loanvarLink a questa vocevar max_loan: int = Data.MAX_LOANQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:19Company.rail_tilesvartiles of track owned (counted in company value)Company.historyvarmonthly company value, oldest first (last 120 months)Company.months_in_redvarconsecutive month-ends with a negative balanceCompany.bankruptvarLink a questa vocevar bankrupt := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:23Company.monthvarthis month so far: "income", "spend" (all), "invest" (building and buying), "cargo": {c: [units, $]}Company.monthsvarclosed months, oldest first (last 24): {"income", "spend", "value", "cargo"}Company.cargo_yearvarcargo -> [units, $] delivered this yearCompany.cargo_lastvarLink a questa vocevar cargo_last := {}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:28Company.kind_yearvarvehicle kind -> $ earned this yearCompany.kind_lastvarLink a questa vocevar kind_last := {}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:30Company.yearsvarclosed years, oldest first (last 60): see_year_rowCompany.auto_renewvarLink a questa vocevar auto_renew := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:33Company.auto_renew_keepvaronly renew while this much cash is left afterwardsCompany.auto_renew_remindedvarthe year of the last "can't afford to renew" reminderCompany.record_monthfuncLink a questa vocefunc record_month(value: int) -> void- Parametri
value: int
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:38Company.note_deliveryfuncA delivery:unitsof cargocpaidpay, carried by a vehicle ofkind.Link a questa vocefunc note_delivery(c: String, units: int, pay: int, kind: String) -> void- Parametri
c: Stringunits: intpay: intkind: String
- Valore restituito
void
scripts/sim/company.gd:50Company._initfuncLink a questa vocefunc _init(p_id: int = 0, p_name: String = "Fourways Transport Co.") -> void- Parametri
p_id: int = 0p_name: String = "Fourways Transport Co."
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/company.gd:61Company.can_affordfuncChecks whether the company’s current cash coverscost.Link a questa vocefunc can_afford(cost: int) -> boolIt does not borrow money or change its balance.
- Parametri
cost: int
- Valore restituito
bool
scripts/sim/company.gd:70Company.spendfuncDeducts the cost from cash and records it in the category and monthly accounts.Link a questa vocefunc spend(cost: int, category: String) -> boolReturns
falseand leaves the accounts untouched if cash is insufficient. Typical categories includeconstructionandvehicles.- Parametri
cost: intcategory: String
- Valore restituito
bool
scripts/sim/company.gd:74Company.chargefuncCosts that are paid whether or not there is cash (running costs, interest).Link a questa vocefunc charge(cost: int, category: String) -> void- Parametri
cost: intcategory: String
- Valore restituito
void
scripts/sim/company.gd:86Company.earnfuncAdds game dollars to cash and records the amount as income in the ledger and current month’s accounts.Link a questa vocefunc earn(amount: int) -> void- Parametri
amount: int
- Valore restituito
void
scripts/sim/company.gd:92Company.borrowfuncAdds up toamountto cash and debt, limited by the company’s remaining loan allowance.Link a questa vocefunc borrow(amount: int) -> boolReturns whether any money was borrowed.
- Parametri
amount: int
- Valore restituito
bool
scripts/sim/company.gd:98Company.repayfuncRepays up toamount, limited by cash and outstanding debt.Link a questa vocefunc repay(amount: int) -> boolReturns whether a payment was made.
- Parametri
amount: int
- Valore restituito
bool
scripts/sim/company.gd:107Company.roll_yearfuncClose the books onyear;valueis the company value at its end.Link a questa vocefunc roll_year(year: int = 0, value: int = 0) -> void- Parametri
year: int = 0value: int = 0
- Valore restituito
void
scripts/sim/company.gd:117Company.profitfuncCalculates net profit from a ledger dictionary by subtracting recorded expense categories from income.Link a questa vocefunc profit(l: Dictionary) -> int- Parametri
l: Dictionary
- Valore restituito
int
scripts/sim/company.gd:130Company._year_rowfuncA ledger boiled down to one line of the yearly summary.Link a questa vocefunc _year_row(l: Dictionary, year: int, value: int) -> Dictionary- Parametri
l: Dictionaryyear: intvalue: int
- Valore restituito
Dictionary
scripts/sim/company.gd:139Company.year_rowsfuncThe yearly summary, oldest first: every closed year, then the year in progress ("open": true).Link a questa vocefunc year_rows(year: int, month: int, value: int) -> Arrayyearandmonth(0 = January) are today's,valuethe company value now. Saves from before the yearly records were kept still get last year's line, from last year's ledger.- Parametri
year: intmonth: intvalue: int
- Valore restituito
Array
- Chiama
Calendar.from_day
scripts/sim/company.gd:149
Town
Town.idvarLink a questa vocevar id := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:5Town.namevarLink a questa vocevar name := ""Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:6Town.cxvarLink a questa vocevar cx := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:7Town.cyvarLink a questa vocevar cy := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:8Town.gridvarroad spacing; houses fill the blocks between grid linesTown.popvarLink a questa vocevar pop := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:10Town.house_countvarLink a questa vocevar house_count := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:11Town.grow_timervarLink a questa vocevar grow_timer := 30Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:12Town.paxvarpassengers generated this monthTown.pax_movedvar...and picked up by stationsTown.pax_lastvarLink a questa vocevar pax_last := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:15Town.pax_moved_lastvarLink a questa vocevar pax_moved_last := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:16Town.suppliedvargoods and food delivered this monthTown.supplied_lastvarLink a questa vocevar supplied_last := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:18Town.served_untilvargame day until which the town counts as servedTown.dirtyvartiles changed by growth since the view last redrew themTown.ratingsvarLocal authority: how the council sees each company (company id -> 0..100), and town actions.Town.advertvarcompany id -> game day the advertising campaign endsTown.fund_untilvargame day funded building endsTown.exclusivevarRewards 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.Town.exclusive_untilvarLink a questa vocevar exclusive_until := -1Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:29Town.cheapvarLink a questa vocevar cheap := {}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:30Town.rating_logvarWhy each company's rating moved lately: company id -> [{"day", "delta", "why"}], newest last.Town.RATING_STARTconstLink a questa voceconst RATING_START := 60.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:35Town.RATING_REFUSEconstLink a questa voceconst RATING_REFUSE := 30.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:36Town.COUNCIL_RADIUSconstLink a questa voceconst COUNCIL_RADIUS := 18Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:37Town.RATING_CRASHconstLink a questa voceconst RATING_CRASH := -20.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:38Town.RATING_NEGLECT_FLOORconstNeglect alone never costs a company its building permission: it stops lowering the rating here.Town.RATING_HOUSEconstWhat demolition costs, per tile.Link a questa voceconst RATING_HOUSE := -8.0Tree 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.
Dichiarato inscripts/sim/town.gd:43Town.RATING_STREETconstLink a questa voceconst RATING_STREET := -3.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:44Town.RATING_TREEconstLink a questa voceconst RATING_TREE := -0.5Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:45Town.RATING_TREES_MAXconstLink a questa voceconst RATING_TREES_MAX := -6.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:46Town.BUSY_NOISEconstHow far the noise of a busy industry lowers land values (Industry.BUSY, land_value).Town.LOG_SIZEconstLink a questa voceconst LOG_SIZE := 8Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:49Town.ratingfuncReturns the council’s current rating for a company ID on the 0–100 scale.Link a questa vocefunc rating(cid: int) -> floatCompanies without a recorded rating receive the starting value.
- Parametri
cid: int
- Valore restituito
float
scripts/sim/town.gd:52Town.change_ratingfuncwhy(a short phrase such as "Demolished buildings") anddayrecord the change in the rating log, so the town window can explain where a rating came from.Link a questa vocefunc change_rating(cid: int, delta: float, why: String = "", day: int = -1) -> void- Parametri
cid: intdelta: floatwhy: String = ""day: int = -1
- Valore restituito
void
scripts/sim/town.gd:58Town.is_streetfuncA town's own streets: roads inside the built-up area.Link a questa vocefunc is_street(x: int, y: int) -> boolRoads a company lays in open country aren't.
- Parametri
x: inty: int
- Valore restituito
bool
scripts/sim/town.gd:77Town.rating_namestatic funcLink a questa vocestatic func rating_name(r: float) -> String- Parametri
r: float
- Valore restituito
String
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:81Town._markfuncLink a questa vocefunc _mark(x: int, y: int) -> void- Parametri
x: inty: int
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:91Town._initfuncLink a questa vocefunc _init(p_id: int, p_name: String, x: int, y: int, p_grid: int) -> void- Parametri
p_id: intp_name: Stringx: inty: intp_grid: int
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:96Town.roll_monthfuncLink a questa vocefunc roll_month() -> void- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:104Town.growth_intervalfuncDays between growth spurts: faster when served by stations and supplied with goods / food.Link a questa vocefunc growth_interval(day: int) -> int- Parametri
day: int
- Valore restituito
int
- Chiama
Data.era_index,Calendar.from_day
scripts/sim/town.gd:117Town.boundsfuncTile rectangle the town's buildings occupy (used for redraws after growth).Link a questa vocefunc bounds() -> Rect2i- Valore restituito
Rect2i
scripts/sim/town.gd:131Town.on_grid_xfuncLink a questa vocefunc on_grid_x(x: int) -> bool- Parametri
x: int
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:136Town.on_grid_yfuncLink a questa vocefunc on_grid_y(y: int) -> bool- Parametri
y: int
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:140Town.seed_roadsfuncThe initial crossroads at the town centre.Link a questa vocefunc seed_roads(m: WorldMap, rng: RandomNumberGenerator) -> void- Parametri
m: WorldMaprng: RandomNumberGenerator
- Valore restituito
void
scripts/sim/town.gd:145Town.zone_popvarPeople by zone (kept up to date as buildings come and go), the street layout, and what this town needs most right now.Link a questa vocevar zone_pop := {"R": 0, "C": 0, "I": 0, "L": 0, "A": 0}Dichiarato inscripts/sim/town.gd:159Town.layoutvargrid | organicTown.stylevarbuilding style: classic | tudor | mediterranean | nordic | brickTown.landmarksvarbuilding type -> true once builtTown.pop_historyvarpopulation at each month end (last 36)Town.demandfuncResidential / commercial / industrial demand, each -1..1 (SimCity's RCI meter).Link a questa vocefunc demand(day: int = -1) -> Vector3Homes follow jobs, shops follow residents and deliveries, workshops follow residents.
- Parametri
day: int = -1
- Valore restituito
Vector3
scripts/sim/town.gd:168Town._pick_zonefuncLink a questa vocefunc _pick_zone(rng: RandomNumberGenerator, day: int) -> String- Parametri
rng: RandomNumberGeneratorday: int
- Valore restituito
String
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:180Town.land_valuefuncLand value of a plot (roughly 0..100): the centre, busy stations, water, trees and landmarks raise it; industry and railway noise lower it.Link a questa vocefunc land_value(m: WorldMap, x: int, y: int, ctx: Dictionary) -> floatctxmay 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.- Parametri
m: WorldMapx: inty: intctx: Dictionary
- Valore restituito
float
scripts/sim/town.gd:195Town._type_forfuncThe building a zone gets on a plot of this land value, in this year's style.Link a questa vocefunc _type_for(zone: String, lv: float, rng: RandomNumberGenerator, year: int = 1950) -> String- Parametri
zone: Stringlv: floatrng: RandomNumberGeneratoryear: int = 1950
- Valore restituito
String
- Chiama
Data.can_build
scripts/sim/town.gd:240Town.growfuncOne 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.Link a questa vocefunc grow(m: WorldMap, rng: RandomNumberGenerator, ctx: Dictionary = {}) -> bool- Parametri
m: WorldMaprng: RandomNumberGeneratorctx: Dictionary = {}
- Valore restituito
bool
scripts/sim/town.gd:267Town._try_housefuncLink a questa vocefunc _try_house(m: WorldMap, x: int, y: int, rng: RandomNumberGenerator, zone: String = "R", ctx: Dictionary = {}) -> bool- Parametri
m: WorldMapx: inty: intrng: RandomNumberGeneratorzone: String = "R"ctx: Dictionary = {}
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:290Town._try_roadfuncLink a questa vocefunc _try_road(m: WorldMap, x: int, y: int, rng: RandomNumberGenerator) -> bool- Parametri
m: WorldMapx: inty: intrng: RandomNumberGenerator
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:306Town._organic_okfuncOrganic streets wander, but never run right alongside another street (which would leave no room for buildings).Link a questa vocefunc _organic_ok(m: WorldMap, x: int, y: int, d: int) -> bool- Parametri
m: WorldMapx: inty: intd: int
- Valore restituito
bool
scripts/sim/town.gd:345Town._try_upgradefuncLink a questa vocefunc _try_upgrade(m: WorldMap, rng: RandomNumberGenerator, ctx: Dictionary = {}) -> bool- Parametri
m: WorldMaprng: RandomNumberGeneratorctx: Dictionary = {}
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:358Town._try_landmarkfuncLandmarks arrive as the town grows: a church, then a park, then a town hall.Link a questa vocefunc _try_landmark(m: WorldMap, rng: RandomNumberGenerator) -> boolAttractions (cinema, museum, funfair, stadium, and a resort by the sea) follow as it gets bigger.
- Parametri
m: WorldMaprng: RandomNumberGenerator
- Valore restituito
bool
scripts/sim/town.gd:392Town._place_landmarkfuncLink a questa vocefunc _place_landmark(m: WorldMap, rng: RandomNumberGenerator, want: String) -> bool- Parametri
m: WorldMaprng: RandomNumberGeneratorwant: String
- Valore restituito
bool
- Chiama
BuildOps.can_build_house
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:418Town._redevelopfuncNo free plot: rebuild a modest building near the centre as the new landmark or attraction.Link a questa vocefunc _redevelop(m: WorldMap, rng: RandomNumberGenerator, want: String, r: int) -> bool- Parametri
m: WorldMaprng: RandomNumberGeneratorwant: Stringr: int
- Valore restituito
bool
scripts/sim/town.gd:432Town.pick_stylestatic funcA town's building style, from where it stands: seaside towns lean Mediterranean, hill towns Nordic, the rest a mix.Link a questa vocestatic func pick_style(m: WorldMap, t: Town) -> StringDerived from the name so it doesn't disturb world generation.
- Parametri
m: WorldMapt: Town
- Valore restituito
String
scripts/sim/town.gd:462Town._near_seafuncLink a questa vocefunc _near_sea(m: WorldMap) -> bool- Parametri
m: WorldMap
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:478Town._place_attractionfuncAttractions 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.Link a questa vocefunc _place_attraction(m: WorldMap, rng: RandomNumberGenerator, want: String) -> bool- Parametri
m: WorldMaprng: RandomNumberGeneratorwant: String
- Valore restituito
bool
- Chiama
BuildOps.can_build_house
scripts/sim/town.gd:489Town._water_distancefuncLink a questa vocefunc _water_distance(m: WorldMap, x: int, y: int) -> float- Parametri
m: WorldMapx: inty: int
- Valore restituito
float
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:525Town._set_buildingfuncLink a questa vocefunc _set_building(o: Dictionary, type: String, rng: RandomNumberGenerator) -> void- Parametri
o: Dictionarytype: Stringrng: RandomNumberGenerator
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:534Town._countfuncLink a questa vocefunc _count(type: String, people: int) -> void- Parametri
type: Stringpeople: int
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:544Town.remove_buildingfuncRemove a building's people (it was demolished).Link a questa vocefunc remove_building(o: Dictionary) -> void- Parametri
o: Dictionary
- Valore restituito
void
scripts/sim/town.gd:551Town.restore_buildingfuncPut back a building's people (its demolition was undone): the opposite of remove_building.Link a questa vocefunc restore_building(o: Dictionary) -> void- Parametri
o: Dictionary
- Valore restituito
void
scripts/sim/town.gd:559Town.recountfuncRebuild the zone tallies from the map (after loading).Link a questa vocefunc recount(m: WorldMap) -> void- Parametri
m: WorldMap
- Valore restituito
void
scripts/sim/town.gd:567Town.recount_allstatic funcrecountfor every town of the map in one pass over its tiles.Link a questa vocestatic func recount_all(m: WorldMap) -> void- Parametri
m: WorldMap
- Valore restituito
void
scripts/sim/town.gd:578Town.place_housefuncPlace a house facing directionfacing(towards its road).Link a questa vocefunc place_house(m: WorldMap, x: int, y: int, facing: int, type: String, rng: RandomNumberGenerator) -> void- Parametri
m: WorldMapx: inty: intfacing: inttype: Stringrng: RandomNumberGenerator
- Valore restituito
void
scripts/sim/town.gd:592Town.MODESTconstLink a questa voceconst MODEST := ["cottage", "house", "shop", "modern", "workshop"]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:619Town.size_ofstatic funcHow many tiles along each side a building oftypetakes.Link a questa vocestatic func size_of(type: String) -> int- Parametri
type: String
- Valore restituito
int
scripts/sim/town.gd:623Town.building_atstatic funcThe town building on tilet, whichever of its tiles that is; null where there is none.Link a questa vocestatic func building_at(m: WorldMap, t: Vector2i) -> Variant- Parametri
m: WorldMapt: Vector2i
- Valore restituito
Variant
scripts/sim/town.gd:628Town.anchor_ofstatic funcThe north-west tile of the building ont(titself for a one-tile building).Link a questa vocestatic func anchor_of(m: WorldMap, t: Vector2i) -> Vector2i- Parametri
m: WorldMapt: Vector2i
- Valore restituito
Vector2i
scripts/sim/town.gd:638Town.footprintstatic funcEvery tile of the building whose north-west tile isanchor.Link a questa vocestatic func footprint(m: WorldMap, anchor: Vector2i) -> Array[Vector2i]- Parametri
m: WorldMapanchor: Vector2i
- Valore restituito
Array[Vector2i]
scripts/sim/town.gd:644Town.big_plotfuncThe 2 x 2 plot for a big building whose front tile (x, y) faces a road in directionfacing: it reaches one tile back from the road and one to either side, whichever is free.Link a questa vocefunc big_plot(m: WorldMap, x: int, y: int, facing: int, rebuild: bool = false) -> Rect2iWith
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.- Parametri
m: WorldMapx: inty: intfacing: intrebuild: bool = false
- Valore restituito
Rect2i
scripts/sim/town.gd:658Town._plot_freefuncLink a questa vocefunc _plot_free(m: WorldMap, t: Vector2i, rebuild: bool) -> bool- Parametri
m: WorldMapt: Vector2irebuild: bool
- Valore restituito
bool
- Chiama
BuildOps.can_build_house
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/town.gd:673Town._place_bigfuncPut a big building onplot(see big_plot), facingfacing.Link a questa vocefunc _place_big(m: WorldMap, plot: Rect2i, facing: int, type: String, rng: RandomNumberGenerator) -> void- Parametri
m: WorldMapplot: Rect2ifacing: inttype: Stringrng: RandomNumberGenerator
- Valore restituito
void
scripts/sim/town.gd:683Town.restore_annexesstatic funcMark the other tiles of every big building (after loading: only its own tile is saved).Link a questa vocestatic func restore_annexes(m: WorldMap) -> void- Parametri
m: WorldMap
- Valore restituito
void
scripts/sim/town.gd:705Town.enlarge_old_buildingsstatic funcA game saved before big buildings has its stadium on a single tile.Link a questa vocestatic func enlarge_old_buildings(m: WorldMap) -> voidGive 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.
- Parametri
m: WorldMap
- Valore restituito
void
scripts/sim/town.gd:720
Station
Station.CATCH_RAILconstLink a questa voceconst CATCH_RAIL := 4Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:5Station.CATCH_ROADconstLink a questa voceconst CATCH_ROAD := 3Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:6Station.CATCH_DOCKconstLink a questa voceconst CATCH_DOCK := 4Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:7Station.CATCH_AIRconstLink a questa voceconst CATCH_AIR := 5Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:8Station.TRANSFER_DISTANCEconstLink a questa voceconst TRANSFER_DISTANCE := 3Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:9Station.SUFFIXESconstLink a questa voceconst SUFFIXESQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:10Station.idvarLink a questa vocevar id := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:13Station.namevarLink a questa vocevar name := ""Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:14Station.tilesvarLink a questa vocevar tiles: Array[Vector2i] = []Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:15Station.has_railvarLink a questa vocevar has_rail := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:16Station.has_roadvarLink a questa vocevar has_road := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:17Station.has_dockvarLink a questa vocevar has_dock := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:18Station.has_airvarLink a questa vocevar has_air := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:19Station.catchmentvartile index -> trueStation.acceptsvarCargo IDs that can be delivered in this station’s catchment.Link a questa vocevar accepts: Array = []A vehicle can unload and earn a fare here for a supported cargo.
Dichiarato inscripts/sim/station.gd:21Station.suppliesvarCargo IDs supplied by towns or industries in the station’s catchment.Link a questa vocevar supplies: Array = []Read
Dichiarato inwaitingfor the amount currently available to load.scripts/sim/station.gd:22Station.deletedvarLink a questa vocevar deleted := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:23Station.ownervarThe company that owns the station.Link a questa vocevar owner: Company = nullCan be
Dichiarato innull, for example at an oil rig dock. Useusable_by(company)to check access.scripts/sim/station.gd:24Station.rigvarThe industry out at sea this dock is built into (an oil rig), or null.Link a questa vocevar rig: Industry = nullSuch a dock belongs to nobody: every company's ships may call there, and it is never built or removed by hand.
Dichiarato inscripts/sim/station.gd:27Station.townvarthe town whose council looks after this station's areaStation.attractionsvarattraction types inside the catchment (tourist fares)Station.workersvaran industry in reach employs passengers who come here (RAIL-28)Station.waitingvaramount waiting (float)Station.transfersvarCargo left here by vehicles with a transfer order, for another vehicle to carry on (RAIL-20): [{"amt", "c", "from", "pos", "day", "credit"}], oldest first.Link a questa vocevar transfers: Array = []It is part of
Dichiarato inwaitingtoo; these packets remember where and when it was first loaded, so the last leg is paid for the whole trip.scripts/sim/station.gd:37Station.ratingvar0..1, share of nearby production this station receivesStation.servedvartrue once a vehicle with this cargo has orders hereStation.last_pickupvargame day of the last loading attemptStation.last_speedvarspeed of the last vehicle that loaded here (tiles/day)Station.last_agevarage in years of the last vehicle that loaded hereStation.first_arrivalvarLink a questa vocevar first_arrival := trueQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:43Station.match_toldvarthe player has had the news of this station's first match dayStation.last_visitvargame day a vehicle last called hereStation.pickedvarcargo -> units loaded this monthStation.picked_lastvarLink a questa vocevar picked_last := {}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:47Station.deliveredvarcargo -> units unloaded (and paid for) this monthStation.delivered_lastvarLink a questa vocevar delivered_last := {}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:49Station.earnedvarfares paid for deliveries here this monthStation.earned_lastvarLink a questa vocevar earned_last := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:51Station.inflowvarHow 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).Link a questa vocevar 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.
Dichiarato inscripts/sim/station.gd:55Station.arrivedvarcargo -> units come since the last production runStation.catch_rectvarLink a questa vocevar catch_rect := Rect2i()Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:59Station.house_okvarLink a questa vocevar house_ok := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:60Station._housesvarLink a questa vocevar _houses := PackedInt32Array()Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:61Station.roll_monthfuncLink a questa vocefunc roll_month() -> void- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:64Station._initfuncLink a questa vocefunc _init(p_id: int, p_name: String) -> void- Parametri
p_id: intp_name: String
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:73Station.tiles_offuncTiles vehicles ofkindstop on: platforms, road stops, the water in front of a dock, the airfield.Link a questa vocefunc tiles_of(m: WorldMap, kind: String) -> Dictionary- Parametri
m: WorldMapkind: String
- Valore restituito
Dictionary
scripts/sim/station.gd:79Station.usable_byfuncWhetherwho's vehicles may have orders here: its own stations and the open docks of oil rigs.Link a questa vocefunc usable_by(who: Company) -> bool- Parametri
who: Company
- Valore restituito
bool
scripts/sim/station.gd:100Station.has_kindfuncTests whether the station supportsrail,road,water, orair.Link a questa vocefunc has_kind(kind: String) -> boolFor ships use
water, even though the construction kind for a dock isdock.- Parametri
kind: String
- Valore restituito
bool
scripts/sim/station.gd:104Station.transfer_neighborsfuncOther stations of the same company within TRANSFER_DISTANCE steps of any of our tiles.Link a questa vocefunc transfer_neighbors(m: WorldMap) -> Array[Station]- Parametri
m: WorldMap
- Valore restituito
Array[Station]
scripts/sim/station.gd:114Station.transfer_amountfuncUnits ofcleft here by transfers and still waiting.Link a questa vocefunc transfer_amount(c: String) -> int- Parametri
c: String
- Valore restituito
int
scripts/sim/station.gd:132Station.add_transferfuncLeave cargo from a vehicle here for another to pick up (see Economy.unload).Link a questa vocefunc add_transfer(p: Dictionary) -> void- Parametri
p: Dictionary
- Valore restituito
void
scripts/sim/station.gd:141Station.add_waitingfuncCargoccomes here to wait: counted inwaitingand in what arrives (seeinflow).Link a questa vocefunc add_waiting(c: String, amt: float) -> void- Parametri
c: Stringamt: float
- Valore restituito
void
scripts/sim/station.gd:147Station.take_transfersfuncTake up tonunits of transferredc(oldest first), as packets to put on board.Link a questa vocefunc take_transfers(c: String, n: int) -> ArrayWaiting cargo that went away (a poor rating, the cap) takes the transferred share with it first.
- Parametri
c: Stringn: int
- Valore restituito
Array
scripts/sim/station.gd:154Station.platform_lenfuncLength in tiles of the platformtis part of: the straight row of this station's rail tiles along the track throught(0 iftisn't one of them).Link a questa vocefunc platform_len(m: WorldMap, t: Vector2i) -> int- Parametri
m: WorldMapt: Vector2i
- Valore restituito
int
scripts/sim/station.gd:185Station.longest_platformfuncThe longest of this station's platforms, in tiles (0 without any).Link a questa vocefunc longest_platform(m: WorldMap) -> int- Parametri
m: WorldMap
- Valore restituito
int
scripts/sim/station.gd:205Station.air_posfuncWhere aircraft park: the middle of the runway.Link a questa vocefunc air_pos(m: WorldMap) -> Vector2- Parametri
m: WorldMap
- Valore restituito
Vector2
scripts/sim/station.gd:215Station.is_runwaystatic funcAirfields are 3 x 2 tiles: the runway is the first row (axis 0) or first column (axis 1).Link a questa vocestatic func is_runway(o: Dictionary) -> bool- Parametri
o: Dictionary
- Valore restituito
bool
scripts/sim/station.gd:227Station.total_waitingfuncSums the station’s waiting quantities across all cargo IDs and converts the result to a whole number.Link a questa vocefunc total_waiting() -> intFor a single cargo read that key in
waiting.- Valore restituito
int
scripts/sim/station.gd:232Station.sign_posfuncReturns the average position of the station’s tile centers, in world tile coordinates.Link a questa vocefunc sign_pos() -> Vector2Useful for locating a news item on the map.
- Valore restituito
Vector2
scripts/sim/station.gd:239Station.stop_posfuncFor a road vehicle, point to the roadside stop even when it shares a station with other modes.Link a questa vocefunc stop_pos(m: WorldMap, kind: String) -> Vector2- Parametri
m: WorldMapkind: String
- Valore restituito
Vector2
scripts/sim/station.gd:247Station.refreshfuncRecompute station type flags, catchment and what it accepts / supplies.Link a questa vocefunc refresh(m: WorldMap) -> void- Parametri
m: WorldMap
- Valore restituito
void
scripts/sim/station.gd:257Station.refresh_coveragefuncRecheck what reaches this station after its surroundings change.Link a questa vocefunc refresh_coverage(m: WorldMap) -> void- Parametri
m: WorldMap
- Valore restituito
void
scripts/sim/station.gd:300Station.house_tilesfuncThe tiles of the catchment with a house on them, in catchment order.Link a questa vocefunc house_tiles(m: WorldMap) -> PackedInt32Array- Parametri
m: WorldMap
- Valore restituito
PackedInt32Array
scripts/sim/station.gd:309Station.add_catchmentstatic funcLink a questa vocestatic func add_catchment(m: WorldMap, catch: Dictionary, t: Vector2i, r: int) -> void- Parametri
m: WorldMapcatch: Dictionaryt: Vector2ir: int
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:335Station.coveragestatic funcWhat a catchment area accepts and supplies.Link a questa vocestatic func coverage(m: WorldMap, catch: Dictionary) -> DictionaryTowns 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).
- Parametri
m: WorldMapcatch: Dictionary
- Valore restituito
Dictionary
scripts/sim/station.gd:346Station.nearest_townstatic funcLink a questa vocestatic func nearest_town(m: WorldMap, p: Vector2, within: float) -> Town- Parametri
m: WorldMapp: Vector2within: float
- Valore restituito
Town
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:409Station.make_namestatic funcLink a questa vocestatic func make_name(m: WorldMap, at: Vector2i) -> String- Parametri
m: WorldMapat: Vector2i
- Valore restituito
String
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/station.gd:420
Vehicle
Vehicle.LOCO_LENconstLink a questa voceconst LOCO_LEN := 0.56Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:8Vehicle.CAR_LENconstLink a questa voceconst CAR_LEN := 0.5Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:9Vehicle.RV_LENconstLink a questa voceconst RV_LEN := 0.46Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:10Vehicle.SHIP_LENconstLink a questa voceconst SHIP_LEN := 0.9Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:11Vehicle.PLANE_LENconstLink a questa voceconst PLANE_LEN := 0.7Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:12Vehicle.CRUISEconstflight altitude above the groundVehicle.LOAD_RATEconstunits moved per day while loadingVehicle.LANEconstroad vehicles keep right by this muchVehicle.ROAD_GAPconstQueues (RAIL-26).Link a questa voceconst ROAD_GAP := 0.12A 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.
Dichiarato inscripts/sim/vehicle.gd:19Vehicle.ROAD_GIVE_UPconstLink a questa voceconst ROAD_GIVE_UP := 3.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:20Vehicle.QUEUE_GIVE_UPconstLink a questa voceconst QUEUE_GIVE_UP := 15.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:21Vehicle.STANDSconstaircraft an airport takes at a timeVehicle.HOLD_ATconsthow far out a plane asks for a stand: where it would start to descendVehicle.HOLD_Rconstradius of the circle a plane holds on, at cruising height...Vehicle.HOLD_STEPconst...or that much wider, or twice that (see _hold_r)Vehicle.HOLD_BANKconsthow far it leans into that circle (radians)Vehicle.ORDER_FLAGSconstWhat 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).Link a questa voceconst ORDER_FLAGS := ["transfer", "unload", "no_load", "depot"]Saved in this order (see SaveGame).
Dichiarato inscripts/sim/vehicle.gd:30Vehicle.idvarLink a questa vocevar id := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:32Vehicle.namevarLink a questa vocevar name := ""Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:33Vehicle.model_idvarLink a questa vocevar model_id := ""Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:34Vehicle.modelvarLink a questa vocevar model: DictionaryQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:35Vehicle.kindvarLink a questa vocevar kind := "road"Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:36Vehicle.cargovarLink a questa vocevar cargo := "pax"Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:37Vehicle.wagonsvarLink a questa vocevar wagons := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:38Vehicle.ownervarLink a questa vocevar owner: CompanyQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:39Vehicle.ordersvar[{"st": Station, "full": bool, and any of ORDER_FLAGS: bool (missing: false)}]Vehicle.order_idxvarLink a questa vocevar order_idx := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:41Vehicle.statevarloading | moving | lost | stopped | servicing | wrecked (see Sim.wrecks)Vehicle.statusvarLink a questa vocevar status := ""Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:44Vehicle.timervarLink a questa vocevar timer := 0.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:45Vehicle.segsvarpath history; the last one is the one the head is onVehicle.tvarprogress along the last segment (0..1)Vehicle.routevarLink a questa vocevar route: Array[Vector2i] = []Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:48Vehicle.rpvarindex inrouteof the tile the head is inVehicle.speedvarcurrent speed, tiles per dayVehicle.at_stationvarLink a questa vocevar at_station: Station = nullQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:51Vehicle.lost_ctxvarLink a questa vocevar lost_ctx := {}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:52Vehicle.lost_triesvarLink a questa vocevar lost_tries := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:53Vehicle.capvarLink a questa vocevar cap := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:55Vehicle.packetsvar[{"amt": int, "from": Station, "day": float}]Vehicle.profit_thisvarLink a questa vocevar profit_this := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:57Vehicle.profit_lastvarLink a questa vocevar profit_last := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:58Vehicle.income_totalvarLink a questa vocevar income_total := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:59Vehicle.age_daysvarLink a questa vocevar age_days := 0.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:60Vehicle.costvarLink a questa vocevar cost := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:61Vehicle.tripsvarLink a questa vocevar trips := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:62Vehicle.stopped_by_playervarLink a questa vocevar stopped_by_player := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:63Vehicle.sig_waitvardays spent waiting at a red signal or in front of a junctionVehicle.held_atvarWhat the train waited at when it last moved: 0 nothing, 1 a signal, 2 a junction (RAIL-80).Vehicle.GIVE_UP_DAYSconsta train held this long at a signal or junction is deadlockedVehicle._backoff_tryvarwhen it last tried turning round out of a deadlockVehicle._backed_off_atvarwhen it last didVehicle._forced_atvarwhen it last went on anyway, unable to turn roundVehicle._turnedvar_held_up turned it round just now (see _advance)Vehicle._detour_dayvarwhen it last looked for a way round a busy stretch (see _detour)Vehicle.queue_waitvardays held up in a queue: in traffic, for a berth, or holding (RAIL-26)Vehicle.hold_avaraircraft holding over a full airport: its angle round the circle, -1 when notVehicle.old_warnedvarLink a questa vocevar old_warned := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:75Vehicle.electricvarneeds overhead wires (set from the model)Vehicle.wagon_cargosvartrains: the cargo of each wagon, front to back (mixed trains)Vehicle.reliabilityvar0..1; wears down day by day, restored by servicingVehicle.last_servicevargame day of the last serviceVehicle.breakdownsvarLink a questa vocevar breakdowns := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:80Vehicle.brokenvardays left standing broken downVehicle.service_tovarthe depot it's heading to for servicingVehicle.load_avgvarrunning average of how full it leaves stations (0..1), -1 until knownVehicle.last_tripvarlast paid delivery: {"pay", "units", "day", "st"}Vehicle.look_revvargoes up when a refit changes how it looks (the view redraws it)Vehicle.refit_tovara change of cargo ordered and paid for, done at the depot (see refit)Vehicle.refit_paidvarwhat ordering it cost (given back if it is cancelled)Vehicle.stuck_cargovara cargo on board that no stop in the orders accepts (see _check_stuck)Vehicle.stuck_stopsvarstops it has called at with that cargo on board, undeliveredVehicle.stuck_newsvargame day the player was last told about it (-1: never)Vehicle.linevarthe line it runs on (itsordersare then the line's), or nullVehicle.lap_startvargame day it last left its line's first stop (-1: not yet)Vehicle.heldvardays held at the first stop this round to keep the line evenly spacedVehicle.air_fromvarLink a questa vocevar air_from := Vector2.ZEROQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:95Vehicle.air_tovarLink a questa vocevar air_to := Vector2.ZEROQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:96Vehicle.air_dvarLink a questa vocevar air_d := 0.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:97Vehicle.air_y0varLink a questa vocevar air_y0 := 0.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:98Vehicle.air_y1varLink a questa vocevar air_y1 := 0.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:99Vehicle._accelvaracceleration as a multiple of the top speed, by kindVehicle._lenvarlength of a road vehicle, ship or aircraft (of model_len_of)Vehicle._len_ofvarLink a questa vocevar _len_of := ""Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:103Vehicle._back_uvarsecond result of _back_iVehicle._routesvarroutes found before, by order (see _find)Vehicle._fitvartrains: the share of the train alongside the platform it stands atVehicle._coursevarships: the straight courseroutefollows (see water_course), {} for noneVehicle._queuedvarheld up in a queue this step (counts towardsqueue_wait)Vehicle._blocked_byvarroad vehicles: id of the one it is keeping behind (0: none)Vehicle.route_cachestatic varSwitch for the tests: with it off every departure searches for its route again.Vehicle._seg_cachestatic varmake_seg results by tile, sides and shapeVehicle.SEG_CACHE_MAXconstLink a questa voceconst SEG_CACHE_MAX := 200000Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:113Vehicle._initfuncLink a questa vocefunc _init(p_id: int, p_model: String, p_cargo: String, p_wagons: int, p_owner: Company) -> void- Parametri
p_id: intp_model: Stringp_cargo: Stringp_wagons: intp_owner: Company
- Valore restituito
void
- Chiama
Data.model,Data.wagon_cap
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:116Vehicle._default_namefuncThe name a vehicle gets when bought: what it is and its number.Link a questa vocefunc _default_name() -> String- Valore restituito
String
- Chiama
L.t
scripts/sim/vehicle.gd:135Vehicle.load_amountfuncLink a questa vocefunc load_amount() -> int- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:145Vehicle.set_consistfuncA train's wagons, one cargo each (front to back).Link a questa vocefunc set_consist(list: Array) -> voidcargobecomes the first wagon's.- Parametri
list: Array
- Valore restituito
void
- Chiama
Data.wagon_cap
scripts/sim/vehicle.gd:153Vehicle.refitfuncChange what the vehicle carries: a train's wagons (one cargo each, front to back) or the one cargo of anything else.Link a questa vocefunc refit(list: Array, m: WorldMap = null) -> voidCargo 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.
- Parametri
list: Arraym: WorldMap = null
- Valore restituito
void
scripts/sim/vehicle.gd:168Vehicle._trim_loadfuncDrop what no longer fits on board (was: the cargo of packets from before they were labelled).Link a questa vocefunc _trim_load(was: String) -> void- Parametri
was: String
- Valore restituito
void
scripts/sim/vehicle.gd:187Vehicle.change_modelfuncBecome 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).Link a questa vocefunc change_model(p_model: String) -> voidA train keeps its wagons, as many as the new engine pulls; anything else gets the new model's capacity. Cargo without room is lost.
- Parametri
p_model: String
- Valore restituito
void
- Chiama
Data.model,Data.wagon_cap
scripts/sim/vehicle.gd:205Vehicle._grow_tailfuncLay more history behind the tail, following the track, so a train that just got longer has somewhere to stand (the same walkspawndoes).Link a questa vocefunc _grow_tail(m: WorldMap) -> void- Parametri
m: WorldMap
- Valore restituito
void
- Chiama
Const.opp
scripts/sim/vehicle.gd:228Vehicle.cargosfuncThe cargos this vehicle carries (several for a mixed train).Link a questa vocefunc cargos() -> Array- Valore restituito
Array
scripts/sim/vehicle.gd:263Vehicle.is_mixedfuncLink a questa vocefunc is_mixed() -> bool- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:273Vehicle.cap_offuncReturns the capacity for one cargo ID.Link a questa vocefunc cap_of(c: String) -> intFor mixed trains, it counts only wagons assigned to that cargo. A cargo the vehicle cannot currently carry has capacity zero.
- Parametri
c: String
- Valore restituito
int
- Chiama
Data.wagon_cap
scripts/sim/vehicle.gd:277Vehicle.load_offuncAdds up the units in the vehicle’s cargo packets for one cargo ID.Link a questa vocefunc load_of(c: String) -> intThis is the current load, rather than available room.
- Parametri
c: String
- Valore restituito
int
scripts/sim/vehicle.gd:287Vehicle.running_costfuncReturns the annual running cost of the model plus its wagons.Link a questa vocefunc running_cost() -> int- Valore restituito
int
scripts/sim/vehicle.gd:295Vehicle.life_yearsfuncReturns the usual service life in years for the vehicle’s transport kind.Link a questa vocefunc life_years() -> int- Valore restituito
int
scripts/sim/vehicle.gd:299Vehicle.is_oldfuncChecks whether the vehicle’s age in days exceeds its service life in years, using 365 days per year.Link a questa vocefunc is_old() -> bool- Valore restituito
bool
scripts/sim/vehicle.gd:303Vehicle.valuefuncReturns the current resale value in dollars.Link a questa vocefunc value() -> intThe value falls with age and bottoms out at 15 percent of purchase cost.
- Valore restituito
int
scripts/sim/vehicle.gd:307Vehicle.max_speedfuncReturns the model’s maximum speed in tiles per game day.Link a questa vocefunc max_speed() -> floatSteam trains lose three percent of model speed per wagon in this calculation.
- Valore restituito
float
scripts/sim/vehicle.gd:311Vehicle.train_lengthfuncLink a questa vocefunc train_length() -> float- Valore restituito
float
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:318Vehicle.tiles_longstatic funcHow many platform tiles a train withn_wagonswagons needs to stand alongside in full.Link a questa vocestatic func tiles_long(n_wagons: int) -> intA 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.- Parametri
n_wagons: int
- Valore restituito
int
scripts/sim/vehicle.gd:330Vehicle.OVERHANG_OKconstLink a questa voceconst OVERHANG_OK := 0.1Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:334Vehicle.platform_fitstatic funcThe share of a train oflengthtiles that is alongside a platform ofplatformtiles.Link a questa vocestatic func platform_fit(length: float, platform: int) -> floatOnly 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).
- Parametri
length: floatplatform: int
- Valore restituito
float
scripts/sim/vehicle.gd:340Vehicle.body_lenstatic funcLength of a road vehicle, ship or aircraft of this model (see Data.LENGTH).Link a questa vocestatic func body_len(id: String) -> float- Parametri
id: String
- Valore restituito
float
- Chiama
Data.model,Data.look
scripts/sim/vehicle.gd:347Vehicle.destfuncLink a questa vocefunc dest() -> Station- Valore restituito
Station
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:356Vehicle._edgestatic funcLink a questa vocestatic func _edge(t: Vector2i, d: int) -> Vector2- Parametri
t: Vector2id: int
- Valore restituito
Vector2
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:362Vehicle._centerstatic funcLink a questa vocestatic func _center(t: Vector2i) -> Vector2- Parametri
t: Vector2i
- Valore restituito
Vector2
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:366Vehicle.make_segstatic funcA segment crossing tilet, entering through sideaand leaving through sideb(-1 means starting or stopping at the tile centre).Link a questa vocestatic func make_seg(t: Vector2i, a: int, b: int, chord: int = 0) -> Dictionarychord: 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.- Parametri
t: Vector2ia: intb: intchord: int = 0
- Valore restituito
Dictionary
- Chiama
Const.opp,WorldMap.piece_curve
scripts/sim/vehicle.gd:374Vehicle._seg_lenstatic funcLink a questa vocestatic func _seg_len(s: Dictionary) -> float- Parametri
s: Dictionary
- Valore restituito
float
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:404Vehicle.seg_posstatic funcLink a questa vocestatic func seg_pos(s: Dictionary, u: float) -> Vector2- Parametri
s: Dictionaryu: float
- Valore restituito
Vector2
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:414Vehicle.seg_dirstatic funcThe way along segmentsatu(not normalised; zero only half-way round a U-turn).Link a questa vocestatic func seg_dir(s: Dictionary, u: float) -> Vector2- Parametri
s: Dictionaryu: float
- Valore restituito
Vector2
scripts/sim/vehicle.gd:426Vehicle.rev_segstatic funcLink a questa vocestatic func rev_seg(s: Dictionary) -> Dictionary- Parametri
s: Dictionary
- Valore restituito
Dictionary
- Chiama
WorldMap.flip_shape
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:437Vehicle._segfuncA segment through tiletthat knows whether it's part of a diagonal run.Link a questa vocefunc _seg(m: WorldMap, t: Vector2i, a: int, b: int) -> Dictionary- Parametri
m: WorldMapt: Vector2ia: intb: int
- Valore restituito
Dictionary
scripts/sim/vehicle.gd:442Vehicle.SEA_ROOMconstHow far a ship's straight leg keeps from land on either side (tiles).Vehicle.water_coursestatic funcShips aren't held to the grid: they sail straight legs across open water, which bend only where something is in the way.Link a questa vocestatic func water_course(m: WorldMap, tiles: Array) -> Dictionarytilesis 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}.- Parametri
m: WorldMaptiles: Array
- Valore restituito
Dictionary
- Chiama
Pathfinder.find_sea
scripts/sim/vehicle.gd:457Vehicle._sea_clearstatic funcWhether a ship can sail straight from the centre of tileato the centre of tileb, keeping SEA_ROOM clear of anything that isn't open water.Link a questa vocestatic func _sea_clear(m: WorldMap, a: Vector2i, b: Vector2i) -> bool- Parametri
m: WorldMapa: Vector2ib: Vector2i
- Valore restituito
bool
scripts/sim/vehicle.gd:498Vehicle._walk_linestatic funcThe tiles a straight line fromptoqpasses through after the first, in order and each the neighbour of the one before (through a corner it goes across first), appended totiles, and where it enters each one appended tocross.Link a questa vocestatic func _walk_line(p: Vector2, q: Vector2, tiles: Array[Vector2i], cross: PackedVector2Array) -> void- Parametri
p: Vector2q: Vector2tiles: Array[Vector2i]cross: PackedVector2Array
- Valore restituito
void
scripts/sim/vehicle.gd:515Vehicle.course_segstatic funcThe piece of a ship's course (see water_course) in itskth tile.Link a questa vocestatic func course_seg(c: Dictionary, k: int, a: int = -2, from: Variant = null) -> Dictionarya: 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).- Parametri
c: Dictionaryk: inta: int = -2from: Variant = null
- Valore restituito
Dictionary
- Chiama
Const.opp,BuildOps.dir_between
scripts/sim/vehicle.gd:552Vehicle.free_segstatic funcA segment through tilet(sidesatob) along any curve: fromp0top2, pulled towardsc.Link a questa vocestatic func free_seg(t: Vector2i, a: int, b: int, p0: Vector2, c: Vector2, p2: Vector2) -> Dictionary- Parametri
t: Vector2ia: intb: intp0: Vector2c: Vector2p2: Vector2
- Valore restituito
Dictionary
scripts/sim/vehicle.gd:569Vehicle.course_segsstatic funcEvery piece of a ship's course, first to last.Link a questa vocestatic func course_segs(c: Dictionary) -> Array- Parametri
c: Dictionary
- Valore restituito
Array
scripts/sim/vehicle.gd:576Vehicle._set_routefuncSet off alongtiles(from the head's tile): a ship's course is pulled straight first.Link a questa vocefunc _set_route(m: WorldMap, tiles: Array[Vector2i]) -> void- Parametri
m: WorldMaptiles: Array[Vector2i]
- Valore restituito
void
scripts/sim/vehicle.gd:584Vehicle._first_segfuncThe first piece of a new route, from where the head is now.Link a questa vocefunc _first_seg(m: WorldMap, a: int) -> Dictionary- Parametri
m: WorldMapa: int
- Valore restituito
Dictionary
- Chiama
BuildOps.dir_between
scripts/sim/vehicle.gd:594Vehicle._pos_backfuncWalkdback from the head along the history: {"i": segment index, "u": position in it}.Link a questa vocefunc _pos_back(d: float) -> Dictionary- Parametri
d: float
- Valore restituito
Dictionary
scripts/sim/vehicle.gd:605Vehicle._back_ifuncThe same walk as _pos_back without building a Dictionary: returns the segment index and leaves the position in it in_back_u.Link a questa vocefunc _back_i(d: float) -> int- Parametri
d: float
- Valore restituito
int
scripts/sim/vehicle.gd:623Vehicle.pos_atfuncPositiondbehind the nose, or Vector2.INF for a hidden segment when it is excluded.Link a questa vocefunc pos_at(d: float, include_hidden: bool = true) -> Vector2- Parametri
d: floatinclude_hidden: bool = true
- Valore restituito
Vector2
scripts/sim/vehicle.gd:642Vehicle.body_pointsfuncPoints everystepalong the train from the nose to the tail (both included), leaving out the part still inside a depot shed.Link a questa vocefunc body_points(step: float) -> PackedVector2ArrayFor crash checks (see Sim._check_crashes).
- Parametri
step: float
- Valore restituito
PackedVector2Array
scripts/sim/vehicle.gd:651Vehicle.headingfuncDirection of travel in the current tile (0..3).Link a questa vocefunc heading() -> int- Valore restituito
int
- Chiama
Const.opp
scripts/sim/vehicle.gd:663Vehicle.head_tilefuncLink a questa vocefunc head_tile() -> Vector2i- Valore restituito
Vector2i
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:674Vehicle.spawnfuncPlace the vehicle stopped at the centre of station tiletile, facing directionfacing.Link a questa vocefunc spawn(tile: Vector2i, facing: int, m: WorldMap = null, hide_behind: bool = false) -> voidA train's wagons are laid back along the actual track where there is some.
- Parametri
tile: Vector2ifacing: intm: WorldMap = nullhide_behind: bool = false
- Valore restituito
void
- Chiama
Const.opp
scripts/sim/vehicle.gd:684Vehicle.updatefuncLink a questa vocefunc update(sim: Sim, dt: float) -> void- Parametri
sim: Simdt: float
- Valore restituito
void
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:724Vehicle._remainingfuncLink a questa vocefunc _remaining() -> float- Valore restituito
float
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:763Vehicle._on_coursefuncWhether the ship is following a course worked out for its route (not one from an older save).Link a questa vocefunc _on_course() -> bool- Valore restituito
bool
scripts/sim/vehicle.gd:780Vehicle._movefuncLink a questa vocefunc _move(sim: Sim, dt: float) -> void- Parametri
sim: Simdt: float
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:784Vehicle._trimfuncDrop the history further back than the tail needs (the walk of _pos_back, stopping as soon as it is clear nothing can go).Vehicle._advancefuncStep the head into the next tile of the route.Link a questa vocefunc _advance(sim: Sim) -> boolReturns false if movement must stop.
- Parametri
sim: Sim
- Valore restituito
bool
- Chiama
BuildOps.dir_between,L.t,Const.opp
scripts/sim/vehicle.gd:852Vehicle._gatefuncRealistic 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.Link a questa vocefunc _gate(m: WorldMap, k: int) -> int- Parametri
m: WorldMapk: int
- Valore restituito
int
- Chiama
BuildOps.dir_between
scripts/sim/vehicle.gd:908Vehicle.way_aheadfuncThe 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.Link a questa vocefunc way_ahead(m: WorldMap, blocks: Dictionary, k: int, gate: int) -> ArrayA 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.
- Parametri
m: WorldMapblocks: Dictionaryk: intgate: int
- Valore restituito
Array
- Chiama
BuildOps.dir_between
scripts/sim/vehicle.gd:927Vehicle._dir_infuncThe way the head entered the tile it is in, or -1.Link a questa vocefunc _dir_in() -> int- Valore restituito
int
- Chiama
Const.opp
scripts/sim/vehicle.gd:973Vehicle.claims_aheadfuncThe 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.Link a questa vocefunc claims_ahead(m: WorldMap, blocks: Dictionary) -> Array- Parametri
m: WorldMapblocks: Dictionary
- Valore restituito
Array
- Chiama
BuildOps.dir_between
scripts/sim/vehicle.gd:981Vehicle._held_upfuncWhether another train holds any of the way past the gate in front of route[k] (see _gate).Link a questa vocefunc _held_up(sim: Sim, k: int, gate: int) -> boolWhen 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).
- Parametri
sim: Simk: intgate: int
- Valore restituito
bool
scripts/sim/vehicle.gd:998Vehicle._deadlockedfuncA train that has waited GIVE_UP_DAYS for the way ahead.Link a questa vocefunc _deadlocked(sim: Sim, need: Array) -> boolIt 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).
- Parametri
sim: Simneed: Array
- Valore restituito
bool
scripts/sim/vehicle.gd:1022Vehicle._busyfuncLink a questa vocefunc _busy(sim: Sim, need: Array) -> bool- Parametri
sim: Simneed: Array
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:1051Vehicle._detourfuncAnother 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.Link a questa vocefunc _detour(sim: Sim, blocks: Dictionary, need: Array) -> boolTaken only when it isn't much longer. Returns whether the route changed.
- Parametri
sim: Simblocks: Dictionaryneed: Array
- Valore restituito
bool
- Chiama
Pathfinder.find
scripts/sim/vehicle.gd:1062Vehicle._red_signal_distfuncDistance to a red signal or a busy junction (or a wreck on the line) ahead within the next couple of tiles, or -1.Link a questa vocefunc _red_signal_dist(sim: Sim) -> float- Parametri
sim: Sim
- Valore restituito
float
scripts/sim/vehicle.gd:1087Vehicle._traffic_gapfuncRoad 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.Link a questa vocefunc _traffic_gap(sim: Sim) -> floatOnly 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.
- Parametri
sim: Sim
- Valore restituito
float
- Chiama
L.t
scripts/sim/vehicle.gd:1109Vehicle._berth_distfuncShips (RAIL-26): each water tile in front of a dock is a berth for one ship.Link a questa vocefunc _berth_dist(sim: Sim) -> floatWhile 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.
- Parametri
sim: Sim
- Valore restituito
float
- Chiama
L.t
scripts/sim/vehicle.gd:1180Vehicle._end_queuefuncOut of a queue: the wait is over, and the status says where it is going again.Link a questa vocefunc _end_queue() -> void- Valore restituito
void
scripts/sim/vehicle.gd:1198Vehicle._heading_statusfuncLink a questa vocefunc _heading_status() -> String- Valore restituito
String
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:1204Vehicle._free_stopsfuncThe 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).Link a questa vocefunc _free_stops(sim: Sim, tiles: Dictionary) -> Dictionary- Parametri
sim: Simtiles: Dictionary
- Valore restituito
Dictionary
scripts/sim/vehicle.gd:1215Vehicle._usablefuncA stop the vehicle can actually use: still exists and has tiles of this vehicle's kind.Link a questa vocefunc _usable(sim: Sim, st: Station) -> bool- Parametri
sim: Simst: Station
- Valore restituito
bool
scripts/sim/vehicle.gd:1226Vehicle._skip_to_usablefuncMoveorder_idxforward (starting at the current order) to the first usable stop.Link a questa vocefunc _skip_to_usable(sim: Sim) -> bool- Parametri
sim: Sim
- Valore restituito
bool
scripts/sim/vehicle.gd:1231Vehicle._go_lostfuncNo route right now: wait and retry, backing off, and after a few failures try the next stop.Link a questa vocefunc _go_lost(target: Station, ctx: Dictionary) -> void- Parametri
target: Stationctx: Dictionary
- Valore restituito
void
- Chiama
L.t
scripts/sim/vehicle.gd:1240Vehicle._reroutefuncThe way ahead disappeared: find a new route from tiletile, where the head sits on edgeside.Link a questa vocefunc _reroute(sim: Sim, tile: Vector2i, side: int) -> bool- Parametri
sim: Simtile: Vector2iside: int
- Valore restituito
bool
- Chiama
Pathfinder.find,Const.opp,L.t
scripts/sim/vehicle.gd:1252Vehicle._extend_platformfuncLink a questa vocefunc _extend_platform(sim: Sim, tiles: Array[Vector2i]) -> Array[Vector2i]- Parametri
sim: Simtiles: Array[Vector2i]
- Valore restituito
Array[Vector2i]
- Chiama
BuildOps.dir_between
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:1273Vehicle._arrivefuncLink a questa vocefunc _arrive(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
- Chiama
L.t,Economy.unload
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:1296Vehicle._loadfuncLink a questa vocefunc _load(sim: Sim, st: Station) -> int- Parametri
sim: Simst: Station
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:1337Vehicle._load_transfersfuncLink a questa vocefunc _load_transfers(source: Station, pickup: Station, c: String, room: int) -> int- Parametri
source: Stationpickup: Stationc: Stringroom: int
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:1371Vehicle._note_pickupfuncLink a questa vocefunc _note_pickup(st: Station, c: String, day: float) -> void- Parametri
st: Stationc: Stringday: float
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:1384Vehicle._nearby_transfer_sourcesfuncA feeder can't take transfers from its own drop-off orders, even from a nearby pickup stop.Link a questa vocefunc _nearby_transfer_sources(sim: Sim, st: Station) -> Array[Station]- Parametri
sim: Simst: Station
- Valore restituito
Array[Station]
scripts/sim/vehicle.gd:1392Vehicle.order_flagfuncWhether the order this vehicle is carrying out atsthas flagkey(see ORDER_FLAGS).Link a questa vocefunc order_flag(st: Station, key: String) -> bool- Parametri
st: Stationkey: String
- Valore restituito
bool
scripts/sim/vehicle.gd:1403Vehicle.transfers_atfuncWhether this vehicle's orders say to leave cargostdoesn't accept there, for another vehicle (see Economy.unload): a transfer stop (RAIL-20) or an unload-only one (RAIL-36).Link a questa vocefunc transfers_at(st: Station) -> bool- Parametri
st: Station
- Valore restituito
bool
scripts/sim/vehicle.gd:1412Vehicle.loads_atfuncWhether this vehicle may take cargo on atst: not at an unload-only or don't-load stop.Link a questa vocefunc loads_at(st: Station) -> bool- Parametri
st: Station
- Valore restituito
bool
scripts/sim/vehicle.gd:1417Vehicle.dropsstatic funcWhether orderoleaves the cargo its stop doesn't accept there: transfer and unload-only stops.Link a questa vocestatic func drops(o: Dictionary) -> bool- Parametri
o: Dictionary
- Valore restituito
bool
scripts/sim/vehicle.gd:1422Vehicle.transfer_stopsstatic funcThe stations inorderswhere cargo is left for another vehicle (see drops).Link a questa vocestatic func transfer_stops(p_orders: Array) -> Array- Parametri
p_orders: Array
- Valore restituito
Array
scripts/sim/vehicle.gd:1427Vehicle.strandedstatic funcCargo that would be left on board for good: for each ofcargosthat a vehicle calling atstopscould never deliver, [cargo, Station it is picked up at (null when no stop accepts it at all)].Link a questa vocestatic func stranded(cargos: Array, stops: Array, transfers: Array = []) -> ArrayA 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
transferstakes any cargo (to pass it on).- Parametri
cargos: Arraystops: Arraytransfers: Array = []
- Valore restituito
Array
scripts/sim/vehicle.gd:1439Vehicle._check_stuckfuncCalled on arriving atst, after unloading: note cargo still on board that no stop in the orders accepts.Link a questa vocefunc _check_stuck(sim: Sim, st: Station) -> voidIt 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).
- Parametri
sim: Simst: Station
- Valore restituito
void
scripts/sim/vehicle.gd:1459Vehicle.clear_stuckfuncForget the undeliverable cargo (it was delivered, or the orders or the cargo changed).Link a questa vocefunc clear_stuck() -> void- Valore restituito
void
scripts/sim/vehicle.gd:1494Vehicle.problemfuncWhat is wrong with the vehicle's route, for the player ("" when nothing is).Link a questa vocefunc problem() -> String- Valore restituito
String
scripts/sim/vehicle.gd:1500Vehicle._wants_morefuncWhether 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.Link a questa vocefunc _wants_more(sim: Sim, st: Station) -> boolNever at a stop where it takes nothing on.
- Parametri
sim: Simst: Station
- Valore restituito
bool
scripts/sim/vehicle.gd:1511Vehicle._fed_herefuncWhether another vehicle of the same company can leave cargochere or at a nearby station.Link a questa vocefunc _fed_here(sim: Sim, st: Station, nearby: Array[Station], c: String) -> bool- Parametri
sim: Simst: Stationnearby: Array[Station]c: String
- Valore restituito
bool
scripts/sim/vehicle.gd:1531Vehicle._pickup_fillfuncHow full (0..1) the vehicle leavesst, counting only the cargos it can pick up here: ones the station supplies, or ones it actually took on (a transfer).Link a questa vocefunc _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.
- Parametri
st: Station
- Valore restituito
float
scripts/sim/vehicle.gd:1546Vehicle._update_loadingfuncLink a questa vocefunc _update_loading(sim: Sim, dt: float) -> void- Parametri
sim: Simdt: float
- Valore restituito
void
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:1562Vehicle._spacing_waitfuncDays still to wait at the line's first stop to keep an even gap behind the vehicle that left before (0: go now).Link a questa vocefunc _spacing_wait(sim: Sim) -> floatNever longer than one gap all told, so a slow round can't hold a line up.
- Parametri
sim: Sim
- Valore restituito
float
scripts/sim/vehicle.gd:1611Vehicle.dailyfuncOnce a day: wear, and perhaps a breakdown.Link a questa vocefunc daily(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
scripts/sim/vehicle.gd:1629Vehicle.service_duefuncLink a questa vocefunc service_due(sim: Sim) -> bool- Parametri
sim: Sim
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:1638Vehicle._break_downfuncLink a questa vocefunc _break_down(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:1642Vehicle._servicedfuncLink a questa vocefunc _serviced(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
- Chiama
Data.reliability
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:1652Vehicle._try_servicefuncHead for the nearest depot if one is close (any_distance: however far).Link a questa vocefunc _try_service(sim: Sim, any_distance := false) -> boolShips, aircraft and rivals' fleets are looked after at their stations instead. Returns true if the vehicle is now on its way to a depot.
- Parametri
sim: Simany_distance := false
- Valore restituito
bool
- Chiama
Pathfinder.find
scripts/sim/vehicle.gd:1660Vehicle._try_refitfuncA change of cargo is waiting (see Sim.refit_vehicle): head for the nearest depot, however far, where it is done.Link a questa vocefunc _try_refit(sim: Sim) -> boolShips, 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.
- Parametri
sim: Sim
- Valore restituito
bool
- Chiama
Pathfinder.find
scripts/sim/vehicle.gd:1679Vehicle._depot_statusfuncLink a questa vocefunc _depot_status() -> String- Valore restituito
String
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:1694Vehicle._go_to_depotfuncLeave for the depot at the end ofres(a Pathfinder route from the head's tile).Link a questa vocefunc _go_to_depot(sim: Sim, res: Dictionary, goals: Dictionary) -> void- Parametri
sim: Simres: Dictionarygoals: Dictionary
- Valore restituito
void
- Chiama
BuildOps.dir_between,Const.opp
scripts/sim/vehicle.gd:1699Vehicle._stop_no_ordersfuncHalt because no stop can be used.Link a questa vocefunc _stop_no_orders(ctx: Dictionary = {}) -> voidctxremembers where the head is if it stopped mid-route, so starting again resumes from there instead of jumping to the tile centre.- Parametri
ctx: Dictionary = {}
- Valore restituito
void
- Chiama
L.t
scripts/sim/vehicle.gd:1720Vehicle.resumefuncRestart a stopped vehicle (from the vehicle window).Link a questa vocefunc resume() -> void- Valore restituito
void
scripts/sim/vehicle.gd:1728Vehicle._route_to_orderfuncLeave the current tile for the current order's station.Link a questa vocefunc _route_to_order(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
- Chiama
L.t,BuildOps.dir_between,Const.opp
scripts/sim/vehicle.gd:1736Vehicle._findfuncPathfinder.find for this vehicle, remembering the answer underslot(-1: don't).Link a questa vocefunc _find(sim: Sim, slot: int, start: Vector2i, h: int, goals: Dictionary, reverse_start: bool, uturn: bool) -> DictionaryThe 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.
- Parametri
sim: Simslot: intstart: Vector2ih: intgoals: Dictionaryreverse_start: booluturn: bool
- Valore restituito
Dictionary
- Chiama
Pathfinder.find
scripts/sim/vehicle.gd:1781Vehicle._route_standsfuncWhether every step oftilescan still be driven (the checks _advance makes on the way).Link a questa vocefunc _route_stands(m: WorldMap, tiles: Array[Vector2i]) -> bool- Parametri
m: WorldMaptiles: Array[Vector2i]
- Valore restituito
bool
scripts/sim/vehicle.gd:1801Vehicle._free_platformsfuncThe platforms of a station no other train is standing at (all of them if every one is taken).Link a questa vocefunc _free_platforms(sim: Sim, tiles: Dictionary) -> DictionaryA platform is a straight row of station tiles.
- Parametri
sim: Simtiles: Dictionary
- Valore restituito
Dictionary
scripts/sim/vehicle.gd:1831Vehicle._platform_rowstatic funcLink a questa vocestatic func _platform_row(m: WorldMap, t: Vector2i) -> Vector2i- Parametri
m: WorldMapt: Vector2i
- Valore restituito
Vector2i
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:1859Vehicle._turnfuncTurn the train round where it stands (RAIL-80) and route it on, keeping off the blocks inavoid.Link a questa vocefunc _turn(sim: Sim, avoid: Dictionary = {}, skip_depot: bool = false) -> boolIt 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.- Parametri
sim: Simavoid: Dictionary = {}skip_depot: bool = false
- Valore restituito
bool
- Chiama
L.t
scripts/sim/vehicle.gd:1870Vehicle.turn_aroundfuncThe 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.Link a questa vocefunc turn_around(sim: Sim) -> StringA trip to a depot for a service is dropped. Returns "" or why it can't.
- Parametri
sim: Sim
- Valore restituito
String
- Chiama
L.t
scripts/sim/vehicle.gd:1910Vehicle._flipfuncReverse a train in place: the last wagon becomes the front, then route onward from there, keeping off the blocks inavoid(see _turn).Link a questa vocefunc _flip(sim: Sim, goals: Dictionary, slot: int = -1, avoid: Dictionary = {}) -> bool- Parametri
sim: Simgoals: Dictionaryslot: int = -1avoid: Dictionary = {}
- Valore restituito
bool
- Chiama
Pathfinder.find
scripts/sim/vehicle.gd:1924Vehicle.car_posesfuncWorld transforms of each car: [{"pos": Vector3, "dir": Vector3}] front to back.Link a questa vocefunc car_poses(m: WorldMap) -> Array- Parametri
m: WorldMap
- Valore restituito
Array
scripts/sim/vehicle.gd:1959Vehicle.place_at_airportfuncPark at an airport (start of service).Link a questa vocefunc place_at_airport(st: Station, m: WorldMap) -> void- Parametri
st: Stationm: WorldMap
- Valore restituito
void
scripts/sim/vehicle.gd:1999Vehicle.head_tile_airfuncLink a questa vocefunc head_tile_air() -> Vector2i- Valore restituito
Vector2i
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:2007Vehicle._air_lenfuncLink a questa vocefunc _air_len() -> float- Valore restituito
float
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:2012Vehicle._air_xyfuncLink a questa vocefunc _air_xy() -> Vector2- Valore restituito
Vector2
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:2016Vehicle._hold_entryfuncWhere the plane broke off its approach: HOLD_AT short of the airport.Link a questa vocefunc _hold_entry() -> Vector2- Valore restituito
Vector2
scripts/sim/vehicle.gd:2029Vehicle._hold_centrefuncLink a questa vocefunc _hold_centre() -> Vector2- Valore restituito
Vector2
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:2033Vehicle._hold_rfuncThe circle's radius: one of three sizes (by the plane's number), so planes that arrive together hold apart.Link a questa vocefunc _hold_r() -> float- Valore restituito
float
scripts/sim/vehicle.gd:2040Vehicle._hold_startfuncThe angle round the circle of the point where the plane broke off.Link a questa vocefunc _hold_start() -> float- Valore restituito
float
scripts/sim/vehicle.gd:2045Vehicle._take_offfuncStart a flight totarget's airport.Link a questa vocefunc _take_off(sim: Sim, target: Station) -> void- Parametri
sim: Simtarget: Station
- Valore restituito
void
- Chiama
L.t
scripts/sim/vehicle.gd:2051Vehicle._move_airfuncLink a questa vocefunc _move_air(sim: Sim, dt: float) -> void- Parametri
sim: Simdt: float
- Valore restituito
void
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:2082Vehicle._holdfuncOnce 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.Link a questa vocefunc _hold(sim: Sim, st: Station, vmax: float, dt: float) -> void- Parametri
sim: Simst: Stationvmax: floatdt: float
- Valore restituito
void
scripts/sim/vehicle.gd:2120Vehicle._air_altfuncAltitude profile: taxi, climb out, cruise, descend and land.Link a questa vocefunc _air_alt() -> float- Valore restituito
float
scripts/sim/vehicle.gd:2134Vehicle._air_posefuncLink a questa vocefunc _air_pose(m: WorldMap) -> Dictionary- Parametri
m: WorldMap
- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/vehicle.gd:2143
WorldMap
WorldMap.TerrainenumLink a questa voceenum Terrain { GRASS, SAND, ROCK, SNOW, WATER }Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:6WorldMap.changedsignalEmitted after construction changes a rectangle of tiles.Link a questa vocesignal changed(rect: Rect2i, what: int)whatis a mask of CH_* flags.- Parametri
rect: Rect2iwhat: int
- Valore restituito
signal changed(rect: Rect2i, what: int)
scripts/sim/world_map.gd:9WorldMap.CH_TERRAINconstLink a questa voceconst CH_TERRAIN := 1Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:10WorldMap.CH_NETWORKconstLink a questa voceconst CH_NETWORK := 2Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:11WorldMap.CH_OBJECTSconstLink a questa voceconst CH_OBJECTS := 4Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:12WorldMap.CH_TREESconstLink a questa voceconst CH_TREES := 8Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:13WorldMap.CH_ALLconstLink a questa voceconst CH_ALL := 15Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:14WorldMap.wvarLink a questa vocevar w: intQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:16WorldMap.hvarLink a questa vocevar h: intQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:17WorldMap.heightsvar(w+1)*(h+1) corner heights, 0..MAX_HEIGHT; 0 = sea floorWorldMap.corner_yvarrendered corner heights in world units (seabed depth applied)WorldMap.terrainvarLink a questa vocevar terrain := PackedByteArray()Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:20WorldMap.treesvarLink a questa vocevar trees := PackedByteArray()Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:21WorldMap.variantvarLink a questa vocevar variant := PackedByteArray()Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:22WorldMap.roadvarconnection bitmask N=1 E=2 S=4 W=8WorldMap.railvarLink a questa vocevar rail := PackedByteArray()Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:24WorldMap.rail_ownervarcompany id + 1 for track; 0 = noneWorldMap.objsvarnull or a Dictionary with "kind": "house" | "industry" | "station"WorldMap.townsvarTown objects generated for this world.Link a questa vocevar towns: Array[Town] = []A town object gives access to its population, position, and council ratings.
Dichiarato inscripts/sim/world_map.gd:27WorldMap.industriesvarIndustries currently on the map.Link a questa vocevar industries: Array[Industry] = []This collection can change as industries open, close, or progress through the eras.
Dichiarato inscripts/sim/world_map.gd:28WorldMap.industry_revvarBumped 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.WorldMap.eravarThe era (an index into Data.ERAS) whose industry chains apply (RAIL-29): what industries take and make, and what towns make and take.Link a questa vocevar era := 0Follows the date (Sim.sync_era); not saved.
Dichiarato inscripts/sim/world_map.gd:35WorldMap._near_indvar1 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).WorldMap._near_ind_nvarLink a questa vocevar _near_ind_n := -1Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:39WorldMap._near_ind_revvarLink a questa vocevar _near_ind_rev := -1Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:40WorldMap.stationsvarStation objects in the current world.Link a questa vocevar stations: Array[Station] = []A station can serve more than one transport mode, so use
Dichiarato inhas_kindto select the desired type.scripts/sim/world_map.gd:41WorldMap.next_station_idvarLink a questa vocevar next_station_id := 1Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:42WorldMap.crossingsvarBridges 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)}.Link a questa vocevar crossings: Array = []For bridges the spans are the tiles strictly between the two ramps; for tunnels they include both portals.
Dichiarato inscripts/sim/world_map.gd:46WorldMap.spansvarVector2i -> crossingWorldMap.depotsvarVector2i -> depot object (also in objs)WorldMap.elecvar1 where the track has overhead wiresWorldMap.next_crossing_idvarLink a questa vocevar next_crossing_id := 1Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:50WorldMap.signalsvarRail signals on straight track: Vector2i -> 0 (two-way) or 1 + d (one-way, trains may only pass heading d).WorldMap.diag2varTiles 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).WorldMap.DIAG2_PAIRSconstLink a questa voceconst DIAG2_PAIRS := [[[0, 1], [2, 3]], [[1, 2], [3, 0]]]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:56WorldMap.EASEconsthow far off the edge midpoint an eased join crosses (see piece_shape)WorldMap.net_versionvarbumped whenever the network or the objects change (the view redraws on it)WorldMap.block_cachevarLink a questa vocevar block_cache := {}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:59WorldMap.block_versionvarthe rail revisionblock_cachewas built for (see net_rev)WorldMap.NET_LOG_MAXconstRevisions 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.Link a questa voceconst NET_LOG_MAX := 512Each 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.
Dichiarato inscripts/sim/world_map.gd:65WorldMap.road_revvarLink a questa vocevar road_rev := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:66WorldMap.rail_revvarLink a questa vocevar rail_rev := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:67WorldMap._road_logvarLink a questa vocevar _road_log: Array[Rect2i] = []Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:68WorldMap._rail_logvarLink a questa vocevar _rail_log: Array[Rect2i] = []Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:69WorldMap._net_syncedvarLink a questa vocevar _net_synced := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:70WorldMap._sh_roadvarthe network as it was at the last notify, to spot real changesWorldMap._sh_railvarLink a questa vocevar _sh_rail := PackedByteArray()Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:72WorldMap._sh_elecvarLink a questa vocevar _sh_elec := PackedByteArray()Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:73WorldMap._sh_statevarLink a questa vocevar _sh_state := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:74WorldMap.station_revvarBumped when the stations' catchments change; with the two counts it keyseco_cache(Economy's industry <-> station links).WorldMap.eco_cachevarLink a questa vocevar eco_cache := {}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:78WorldMap._town_cargo_levelsvarLink a questa vocevar _town_cargo_levels: Array[int] = []Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:79WorldMap._shape_memovarpiece_shape results by tile (see shape_of): tile index -> {sides and network -> shape}.Link a questa vocevar _shape_memo := {}Emptied around every change that is announced with
Dichiarato innotify. Not saved.scripts/sim/world_map.gd:82WorldMap.sea_memovarRoutes over water found by Pathfinder, by question (see Pathfinder._sea_memo).Link a questa vocevar sea_memo := {}Emptied whenever the ground changes. Not saved.
Dichiarato inscripts/sim/world_map.gd:85WorldMap._initfuncLink a questa vocefunc _init(width: int = Const.MAP_SIZE, height: int = Const.MAP_SIZE) -> void- Parametri
width: int = Const.MAP_SIZEheight: int = Const.MAP_SIZE
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:88WorldMap.set_erafuncMove the chains to erae: every industry takes and makes what its kind does then.Link a questa vocefunc set_era(e: int) -> voidStations take it on when they are next refreshed.
- Parametri
e: int
- Valore restituito
void
scripts/sim/world_map.gd:106WorldMap.is_electrifiedfuncOverhead wires over this tile's track (bridge decks and tunnels count as wired).Link a questa vocefunc is_electrified(t: Vector2i) -> bool- Parametri
t: Vector2i
- Valore restituito
bool
scripts/sim/world_map.gd:114WorldMap.notifyfuncLink a questa vocefunc notify(rect: Rect2i, what: int) -> void- Parametri
rect: Rect2iwhat: int
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:121WorldMap._town_cargo_levels_changedfuncA population threshold changes acceptance at any stop serving that town, even far from the build.Link a questa vocefunc _town_cargo_levels_changed() -> bool- Valore restituito
bool
- Chiama
Data.town_takes_by_size
scripts/sim/world_map.gd:150WorldMap.net_revfuncThe revision of the road or rail network (-1 for anything else, which has none).Link a questa vocefunc net_rev(kind: String) -> intWhatever caches something derived from the network keeps this number with it.
- Parametri
kind: String
- Valore restituito
int
scripts/sim/world_map.gd:169WorldMap.net_changed_infuncWhether thekindnetwork changed insideboxsince revisionsince(true when it can't tell).Link a questa vocefunc net_changed_in(kind: String, since: int, box: Rect2i) -> bool- Parametri
kind: Stringsince: intbox: Rect2i
- Valore restituito
bool
scripts/sim/world_map.gd:178WorldMap.net_touchfuncRecord that thekindnetwork changed insiderect.Link a questa vocefunc net_touch(kind: String, rect: Rect2i) -> voidnotifydoes this by itself for anything it can see (track, wires, signals, bridges and tunnels), so this is only for changes it can't.- Parametri
kind: Stringrect: Rect2i
- Valore restituito
void
scripts/sim/world_map.gd:194WorldMap.net_resetfuncForget everything cached about the network and the stations (after loading, or after editing the map's arrays directly withoutnotify).Link a questa vocefunc net_reset() -> void- Valore restituito
void
scripts/sim/world_map.gd:209WorldMap._net_statefuncLink a questa vocefunc _net_state() -> int- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:223WorldMap._net_syncfuncLink a questa vocefunc _net_sync() -> void- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:227WorldMap._net_scanfuncAfter a change insiderect: compare the network there with how it was, and record what changed.Link a questa vocefunc _net_scan(rect: Rect2i) -> void- Parametri
rect: Rect2i
- Valore restituito
void
scripts/sim/world_map.gd:236WorldMap.sig_allowsfuncWhether a train headinghmay pass the signal on tilet(one-way signals only allow one way).Link a questa vocefunc sig_allows(t: Vector2i, h: int) -> bool- Parametri
t: Vector2ih: int
- Valore restituito
bool
scripts/sim/world_map.gd:272WorldMap.sig_facesfuncWhether the signal ontcontrols trains headingh(it faces them).Link a questa vocefunc sig_faces(t: Vector2i, h: int) -> bool- Parametri
t: Vector2ih: int
- Valore restituito
bool
scripts/sim/world_map.gd:278WorldMap.block_keyfuncKey for the track a train travelling in directiondoccupies on tilet: 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).Link a questa vocefunc block_key(t: Vector2i, d: int) -> Variant- Parametri
t: Vector2id: int
- Valore restituito
Variant
- Chiama
Const.opp
scripts/sim/world_map.gd:288WorldMap.rail_junctionfuncWhether tiletis a junction on the ground, where three or four lines of track meet (RAIL-80).Link a questa vocefunc rail_junction(t: Vector2i, d: int = -1) -> boolA 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.- Parametri
t: Vector2id: int = -1
- Valore restituito
bool
scripts/sim/world_map.gd:302WorldMap.block_key_atfuncBlock key from a position (on a tile with two parallel diagonals, the half you're in decides).Link a questa vocefunc block_key_at(p: Vector2, d: int) -> Variant- Parametri
p: Vector2d: int
- Valore restituito
Variant
scripts/sim/world_map.gd:312WorldMap.blocksfuncTrack 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).Link a questa vocefunc blocks() -> DictionaryKeyed by block_key().
- Valore restituito
Dictionary
- Chiama
WorldMap.axis_of
scripts/sim/world_map.gd:325WorldMap.cifuncLink a questa vocefunc ci(x: int, y: int) -> int- Parametri
x: inty: int
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:384WorldMap.tifuncLink a questa vocefunc ti(x: int, y: int) -> int- Parametri
x: inty: int
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:388WorldMap.in_boundsfuncLink a questa vocefunc in_bounds(x: int, y: int) -> bool- Parametri
x: inty: int
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:392WorldMap.near_industryfuncWhether (x, y) lies within BuildOps.INDUSTRY_GAP tiles of an industry's footprint, diagonals included.Link a questa vocefunc near_industry(x: int, y: int) -> bool- Parametri
x: inty: int
- Valore restituito
bool
scripts/sim/world_map.gd:397WorldMap.net_bitsfuncLink a questa vocefunc net_bits(kind: String, i: int) -> int- Parametri
kind: Stringi: int
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:411WorldMap.sailablefuncOpen water ships can sail through (not under an oil rig or other industry).Link a questa vocefunc sailable(i: int) -> boolThe dock out at a rig stands in open water and ships sail onto it to berth.
- Parametri
i: int
- Valore restituito
bool
scripts/sim/world_map.gd:421WorldMap.linkedfuncTrue when tiletconnects to its neighbour in directiondon the given network (both tiles carry the matching bit), including along bridges and through tunnels.Link a questa vocefunc linked(kind: String, t: Vector2i, d: int) -> bool- Parametri
kind: Stringt: Vector2id: int
- Valore restituito
bool
- Chiama
Const.opp
scripts/sim/world_map.gd:428WorldMap.piecesfuncThe pieces of track or road on a tile, as [edge, edge] pairs ([edge, -1] for a dead end).Link a questa vocefunc pieces(kind: String, t: Vector2i) -> Array- Parametri
kind: Stringt: Vector2i
- Valore restituito
Array
scripts/sim/world_map.gd:445WorldMap._lone_cornerfuncWhether tilethas exactly the corner piece {a, b} on its own (or as one of two parallel diagonals).Link a questa vocefunc _lone_corner(kind: String, t: Vector2i, a: int, b: int) -> bool- Parametri
kind: Stringt: Vector2ia: intb: int
- Valore restituito
bool
scripts/sim/world_map.gd:464WorldMap.chord_endsfuncDiagonal runs: a corner piece (edgesa,b) that continues across an edge into the mirrored corner on the next tile.Link a questa vocefunc chord_ends(kind: String, t: Vector2i, a: int, b: int) -> intReturns 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.
- Parametri
kind: Stringt: Vector2ia: intb: int
- Valore restituito
int
- Chiama
Const.opp
scripts/sim/world_map.gd:480WorldMap.is_chordfuncLink a questa vocefunc is_chord(kind: String, t: Vector2i, a: int, b: int) -> bool- Parametri
kind: Stringt: Vector2ia: intb: int
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:493WorldMap._plain_straightfuncWhether tiletcarries nothing but one straight piece running through sided: plain ground track or road, with no station, level crossing, bridge or tunnel on it.Link a questa vocefunc _plain_straight(kind: String, t: Vector2i, d: int) -> bool- Parametri
kind: Stringt: Vector2id: int
- Valore restituito
bool
- Chiama
Const.opp
scripts/sim/world_map.gd:499WorldMap.piece_shapefuncThe full shape of the piece from edgeato edgeb, 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 itLink a questa vocefunc piece_shape(kind: String, t: Vector2i, a: int, b: int) -> int- Parametri
kind: Stringt: Vector2ia: intb: int
- Valore restituito
int
- Chiama
Const.opp
scripts/sim/world_map.gd:515WorldMap.shape_offuncpiece_shape for road and rail, remembered: vehicles ask for the same pieces over and over as they drive.Link a questa vocefunc shape_of(kind: String, t: Vector2i, a: int, b: int) -> intThe answer only depends on the map near the tile, and
notifyforgets what it knew around every change.- Parametri
kind: Stringt: Vector2ia: intb: int
- Valore restituito
int
scripts/sim/world_map.gd:545WorldMap.flip_shapestatic funcshapefor the same piece travelled the other way (ends a and b swapped).Link a questa vocestatic func flip_shape(shape: int) -> int- Parametri
shape: int
- Valore restituito
int
scripts/sim/world_map.gd:565WorldMap.piece_curvestatic funcControl points (tile-local, 0..1) of a piece from edgeato edgebwith a non-zeroshape(see piece_shape): a cubic curve.Link a questa vocestatic func piece_curve(a: int, b: int, shape: int) -> ArrayDiagonal 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.
- Parametri
a: intb: intshape: int
- Valore restituito
Array
- Chiama
Const.opp
scripts/sim/world_map.gd:573WorldMap.chord_curvestatic funcLink a questa vocestatic func chord_curve(a: int, b: int, ends: int) -> Array- Parametri
a: intb: intends: int
- Valore restituito
Array
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:619WorldMap.cubic_tangentstatic funcLink a questa vocestatic func cubic_tangent(c: Array, u: float) -> Vector2- Parametri
c: Arrayu: float
- Valore restituito
Vector2
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:623WorldMap.cubicstatic funcLink a questa vocestatic func cubic(c: Array, u: float) -> Vector2- Parametri
c: Arrayu: float
- Valore restituito
Vector2
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:629WorldMap.axis_ofstatic funcLink a questa vocestatic func axis_of(d: int) -> int- Parametri
d: int
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:634WorldMap.span_alongfuncThe bridge or tunnel ofkindthat tiletis part of, if travel in directiondruns along it.Link a questa vocefunc span_along(kind: String, t: Vector2i, d: int) -> Variant- Parametri
kind: Stringt: Vector2id: int
- Valore restituito
Variant
scripts/sim/world_map.gd:639WorldMap.exit_bitsfuncDirections a vehicle headinghinside tiletmay leave by: straight on along a bridge or tunnel, otherwise the ground connections.Link a questa vocefunc exit_bits(kind: String, t: Vector2i, h: int) -> int- Parametri
kind: Stringt: Vector2ih: int
- Valore restituito
int
- Chiama
Const.opp
scripts/sim/world_map.gd:648WorldMap.travel_yfuncHeight vehicles travel at: the bridge deck or tunnel floor when running along one, else the ground.Link a questa vocefunc travel_y(kind: String, fx: float, fz: float, dir: Vector2) -> float- Parametri
kind: Stringfx: floatfz: floatdir: Vector2
- Valore restituito
float
scripts/sim/world_map.gd:662WorldMap.portal_levelfuncLevel of the tunnel mouth on tile (x, y), or -1.Link a questa vocefunc portal_level(x: int, y: int) -> intMouth tiles are dug out flat to the tunnel floor.
- Parametri
x: inty: int
- Valore restituito
int
scripts/sim/world_map.gd:675WorldMap.add_crossingfuncLink a questa vocefunc add_crossing(c: Dictionary) -> void- Parametri
c: Dictionary
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:682WorldMap.remove_crossingfuncLink a questa vocefunc remove_crossing(c: Dictionary) -> void- Parametri
c: Dictionary
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:688WorldMap.crossing_tilesstatic funcLink a questa vocestatic func crossing_tiles(c: Dictionary) -> Array[Vector2i]- Parametri
c: Dictionary
- Valore restituito
Array[Vector2i]
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:695WorldMap.cornerfuncLink a questa vocefunc corner(x: int, y: int) -> int- Parametri
x: inty: int
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:706WorldMap.cornersfuncCorner heights in order NW (x,y), NE (x+1,y), SE (x+1,y+1), SW (x,y+1).Link a questa vocefunc corners(x: int, y: int) -> Vector4i- Parametri
x: inty: int
- Valore restituito
Vector4i
scripts/sim/world_map.gd:711WorldMap.tile_minfuncLink a questa vocefunc tile_min(x: int, y: int) -> int- Parametri
x: inty: int
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:715WorldMap.tile_maxfuncLink a questa vocefunc tile_max(x: int, y: int) -> int- Parametri
x: inty: int
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:720WorldMap.is_waterfuncLink a questa vocefunc is_water(x: int, y: int) -> bool- Parametri
x: inty: int
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:725WorldMap.slopefuncBits of corners raised above the tile minimum (1=NW, 2=NE, 4=SE, 8=SW), plus 16 when steep.Link a questa vocefunc slope(x: int, y: int) -> int- Parametri
x: inty: int
- Valore restituito
int
scripts/sim/world_map.gd:730WorldMap.is_flatfuncLink a questa vocefunc is_flat(x: int, y: int) -> bool- Parametri
x: inty: int
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_map.gd:743WorldMap.incline_axisfuncAxis a tile is a simple incline along: 0 = along x, 1 = along y, -1 = not a simple incline.Link a questa vocefunc incline_axis(x: int, y: int) -> int- Parametri
x: inty: int
- Valore restituito
int
scripts/sim/world_map.gd:748WorldMap.split_nw_sefuncThe mesh folds along NW-SE when those corners match, else along NE-SW.Link a questa vocefunc split_nw_se(x: int, y: int) -> bool- Parametri
x: inty: int
- Valore restituito
bool
scripts/sim/world_map.gd:758WorldMap.terrain_yfuncExact height of the rendered terrain surface (matches the mesh triangles).Link a questa vocefunc terrain_y(fx: float, fz: float) -> float- Parametri
fx: floatfz: float
- Valore restituito
float
scripts/sim/world_map.gd:763WorldMap.surface_yfuncVisible surface: terrain or water, whichever is higher.Link a questa vocefunc surface_y(fx: float, fz: float) -> floatOutside the map returns -INF.
- Parametri
fx: floatfz: float
- Valore restituito
float
scripts/sim/world_map.gd:786WorldMap.compute_corner_yfuncRecompute rendered corner heights.Link a questa vocefunc compute_corner_y() -> voidSea-floor corners sink deeper the farther they are from land.
- Valore restituito
void
scripts/sim/world_map.gd:793
Industry
Industry.SIZEconstLink a questa voceconst SIZE := 3Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:7Industry.LOCAL_REACHconstStaff (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.Link a questa voceconst LOCAL_REACH := 8.0Walkers-in fill at most LOCAL_MAX of the jobs: the rest takes commuters, however big the town.
Dichiarato inscripts/sim/industry.gd:11Industry.LOCAL_PER_POPconstLink a questa voceconst LOCAL_PER_POP := 0.16Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:12Industry.LOCAL_MAXconstLink a questa voceconst LOCAL_MAX := 0.55Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:13Industry.PRIMARY_MINconstOutput with nobody at work and with a full staff (see output_factor).Industry.PRIMARY_MAXconstLink a questa voceconst PRIMARY_MAX := 1.5Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:16Industry.PLANT_MINconstLink a questa voceconst PLANT_MIN := 0.8Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:17Industry.PLANT_MAXconstLink a questa voceconst PLANT_MAX := 1.3Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:18Industry.SHIFT_BACKconstOf the commuters who come to work, the share that goes home again by the same stations.Industry.BUSYconstStaffing from which an industry counts as busy: its noise carries farther (Town.land_value).Industry.idvarLink a questa vocevar id := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:24Industry.typevarLink a questa vocevar type := ""Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:25Industry.xvarLink a questa vocevar x := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:26Industry.yvarLink a questa vocevar y := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:27Industry.namevarLink a questa vocevar name := ""Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:28Industry.prod_ratevarmonthly output of a primary industryIndustry.stockvarsecondary output waiting to be shippedIndustry.producedvarthis month, by cargoIndustry.transportedvarLink a questa vocevar transported := {}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:32Industry.receivedvarLink a questa vocevar received := {}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:33Industry.produced_lastvarLink a questa vocevar produced_last := {}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:34Industry.transported_lastvarLink a questa vocevar transported_last := {}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:35Industry.received_lastvarLink a questa vocevar received_last := {}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:36Industry.historyvar[produced, transported] at each month end (last 24)Industry.workersvarcommuters delivered to stations in reach this month (RAIL-28)Industry.workers_lastvarLink a questa vocevar workers_last := 0.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:39Industry.shift_paxvarcommuters going home, handed to stations at the next production runIndustry.local_staffvarwalkers-in from nearby towns, counted once a month (-1: not yet)Industry.closing_dayvarIndustries 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).Industry.closedvarLink a questa vocevar closed := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:46Industry.acceptsvarWhat it takes and makes in the map's era (Data.accepts / produces, RAIL-29): WorldMap.set_era keeps them up to date.Link a questa vocevar accepts: Array = []Shared and read-only.
Dichiarato inscripts/sim/industry.gd:49Industry.producesvarLink a questa vocevar produces: Array = []Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:50Industry.heldvarCargo 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").Industry.buildersvara wind farm site: company id -> units it deliveredIndustry.last_deliveryvargame day cargo was last delivered to it (-1: never)Industry._initfuncLink a questa vocefunc _init(p_id: int, p_type: String, px: int, py: int) -> void- Parametri
p_id: intp_type: Stringpx: intpy: int
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:58Industry.infofuncLink a questa vocefunc info() -> Dictionary- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:67Industry.set_erafuncTake on what its kind takes and makes in eraera.Link a questa vocefunc set_era(era: int) -> void- Parametri
era: int
- Valore restituito
void
- Chiama
Data.accepts,Data.produces
scripts/sim/industry.gd:72Industry.centerfuncReturns the center of the industry footprint in map coordinates.Link a questa vocefunc center() -> Vector2It can be used as the destination for a news message.
- Valore restituito
Vector2
scripts/sim/industry.gd:86Industry.tile_indicesfuncLink a questa vocefunc tile_indices(m: WorldMap) -> Array[int]- Parametri
m: WorldMap
- Valore restituito
Array[int]
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:90Industry.roll_monthfuncLink a questa vocefunc roll_month() -> void- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:98Industry.wantedfuncStaff it wants each month (0: it runs without, and stations by it take no commuters).Industry.localfuncPeople who walk in from the towns around (see LOCAL_REACH), counted once a month.Link a questa vocefunc local(m: WorldMap, index: StaffingIndex = null) -> float- Parametri
m: WorldMapindex: StaffingIndex = null
- Valore restituito
float
scripts/sim/industry.gd:168Industry.local_from_townsfuncLink a questa vocefunc local_from_towns(m: WorldMap, index: StaffingIndex = null) -> float- Parametri
m: WorldMapindex: StaffingIndex = null
- Valore restituito
float
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry.gd:174Industry.rect_gapstatic funcDistance between the nearest edges of two rectangles (0 when they touch or overlap).Link a questa vocestatic func rect_gap(a: Rect2, b: Rect2) -> float- Parametri
a: Rect2b: Rect2
- Valore restituito
float
scripts/sim/industry.gd:186Industry.commutersfuncCommuters counting toward the staff: this month's, or last month's while this one is young.Link a questa vocefunc commuters() -> float- Valore restituito
float
scripts/sim/industry.gd:193Industry.staffingfuncShare of the staff it wants that turns up (0..1); 1 for an industry that wants none.Link a questa vocefunc staffing(m: WorldMap, index: StaffingIndex = null) -> float- Parametri
m: WorldMapindex: StaffingIndex = null
- Valore restituito
float
scripts/sim/industry.gd:198Industry.output_factorfuncHow 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.Link a questa vocefunc output_factor(m: WorldMap, index: StaffingIndex = null) -> floatAn industry that wants no staff runs at 1.
- Parametri
m: WorldMapindex: StaffingIndex = null
- Valore restituito
float
scripts/sim/industry.gd:208Industry.hirefuncCommuters delivered to a station in reach: takes on up to what it still needs this month and returns how many it took.Link a questa vocefunc hire(m: WorldMap, n: float) -> floatA third of them go home again (SHIFT_BACK, see Economy.produce).
- Parametri
m: WorldMapn: float
- Valore restituito
float
scripts/sim/industry.gd:219Industry.nearest_townfuncThe town with the nearest centre: where the industry window suggests bringing workers from.Link a questa vocefunc nearest_town(m: WorldMap) -> Town- Parametri
m: WorldMap
- Valore restituito
Town
scripts/sim/industry.gd:227
Data
Data.CARGOconstwagon: what one wagon holds (30 when not given).Data.INDUSTRYconstworkers: the staff it wants each month (RAIL-28, Industry.staffing), processing plants more than mines and farms.Link a questa voceconst INDUSTRYA power station makes nothing for staff to raise, so it wants none. The eras rewrite the chains (RAIL-29).
Dichiarato intakesandmakesare what a kind takes and makes when it first appears; never read them (orlater) directly, askaccepts/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 inbecomes.count0: 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 itsera, or alaterentry on an existing one; town cargos go in TOWN_MAKES / TOWN_TAKES. Everything else (stations, AI, the map's chains, the timeline) follows.scripts/core/data.gd:48Data.TOWN_MAKESconstCargo 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.Data.TOWN_TAKESconstCargo towns take, from the era given on: at stations that reach one of the buildings inat, or (pop) any house of a town of at least that many people.Data.HOUSESconstzone: R residential, C commercial, I light industry, L landmark.Link a questa voceconst HOUSES
Dichiarato inpopcounts the people a building brings (residents or workers) - they all travel, so they all make passengers.scripts/core/data.gd:95Data.ZONE_NAMESconstLink a questa voceconst ZONE_NAMES := {"R": "Residential", "C": "Commercial", "I": "Industrial", "L": "Landmark", "A": "Attraction"}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:115Data.ATTRACTIONSconstAttractions towns build as they grow: population needed, and whether it has to be by the sea.Data.TOURIST_FAREconstpassengers to a station serving an attraction pay this much moreData.ERASconstAges of progress.Link a questa voceconst ERASEach brings new kinds of buildings, more productive industry and faster-growing towns.
Dichiarato inscripts/core/data.gd:127Data.BUILD_INTROconstYear each building type starts appearing in towns.Link a questa voceconst BUILD_INTRO := {"apartment": 1955, "tower": 1962, "highrise": 1968, "modern": 1975, "mall": 1983, "techpark": 1992}Dichiarato inscripts/core/data.gd:135Data.era_indexstatic funcLink a questa vocestatic func era_index(year: int) -> int- Parametri
year: int
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:138Data.can_buildstatic funcLink a questa vocestatic func can_build(type: String, year: int) -> bool- Parametri
type: Stringyear: int
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:146Data._chainsstatic vartype -> [{"accepts", "produces"} for each era], read-onlyData._town_makesstatic varera -> cargos houses makeData._town_takesstatic varera -> {house type: [cargos it takes]}Data._town_sizesstatic varera -> {cargo: the people a town needs to take it}Data._cargosstatic varera -> the cargos there are (see cargos)Data.acceptsstatic funcWhat an industry oftypetakes in eraera(an index into ERAS): what it took when it first appeared and everything later eras added.Link a questa vocestatic func accepts(type: String, era: int) -> ArrayShared and read-only.
- Parametri
type: Stringera: int
- Valore restituito
Array
scripts/core/data.gd:161Data.producesstatic funcWhat an industry oftypemakes in eraera.Link a questa vocestatic func produces(type: String, era: int) -> ArrayShared and read-only.
- Parametri
type: Stringera: int
- Valore restituito
Array
scripts/core/data.gd:166Data._chainstatic funcLink a questa vocestatic func _chain(type: String, era: int) -> Dictionary- Parametri
type: Stringera: int
- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:170Data.existsstatic funcWhether industries oftypeare around by eraera.Link a questa vocestatic func exists(type: String, era: int) -> bool- Parametri
type: Stringera: int
- Valore restituito
bool
scripts/core/data.gd:192Data.opensstatic funcWhether industries oftypeare found on new maps and open during the game by eraera(a kind withcount0 is only ever made from another).Link a questa vocestatic func opens(type: String, era: int) -> bool- Parametri
type: Stringera: int
- Valore restituito
bool
scripts/core/data.gd:198Data.retiringstatic funcWhethertypeis on its way out by eraera(see INDUSTRY'sretires).Link a questa vocestatic func retiring(type: String, era: int) -> bool- Parametri
type: Stringera: int
- Valore restituito
bool
scripts/core/data.gd:203Data.town_makesstatic funcThe cargos houses make in eraera, passengers aside (see TOWN_MAKES).Link a questa vocestatic func town_makes(era: int) -> Array- Parametri
era: int
- Valore restituito
Array
scripts/core/data.gd:208Data.town_takesstatic funcThe cargos each kind of house takes in eraera, beyond what any town does (see TOWN_TAKES).Link a questa vocestatic func town_takes(era: int) -> Dictionary- Parametri
era: int
- Valore restituito
Dictionary
scripts/core/data.gd:214Data.town_takes_by_sizestatic funcThe cargos any house of a big enough town takes in eraera: {cargo: the people the town needs} (see TOWN_TAKES'pop).Link a questa vocestatic func town_takes_by_size(era: int) -> Dictionary- Parametri
era: int
- Valore restituito
Dictionary
scripts/core/data.gd:221Data.town_popstatic funcThe people a town needs before it takesc(0: any town, or only some of its buildings).Link a questa vocestatic func town_pop(c: String) -> int- Parametri
c: String
- Valore restituito
int
scripts/core/data.gd:227Data._town_tablesstatic funcLink a questa vocestatic func _town_tables() -> void- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:231Data.cargosstatic funcThe cargos there are in eraera, in ALL_CARGO order: passengers, what towns make and take, and what the kinds of industry around by then take and make.Link a questa vocestatic func cargos(era: int) -> ArrayShared and read-only.
- Parametri
era: int
- Valore restituito
Array
scripts/core/data.gd:260Data.era_changesstatic funcWhat eraichanges in the industry chains, a sentence each (for the news and the Timeline).Link a questa vocestatic func era_changes(i: int) -> Array- Parametri
i: int
- Valore restituito
Array
- Chiama
L.t,L.lower,Fmt.cargo_list,Fmt.int_commas
scripts/core/data.gd:278Data.TOWN_PREFIXconstLink a questa voceconst TOWN_PREFIXQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:308Data.TOWN_SUFFIXconstLink a questa voceconst TOWN_SUFFIXQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:312Data.FREIGHTconstCars (RAIL-32) are in ALL_CARGO only: trains carry them on car wagons, roads on the car transporter.Link a questa voceconst FREIGHT := ["coal", "wood", "grain", "oil", "goods", "food", "iron_ore", "steel", "fish", "mail", "paper", "news", "plastics", "waste", "electronics"]Dichiarato inscripts/core/data.gd:316Data.ALL_CARGOconstLink a questa voceconst ALL_CARGOQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:317Data.BULKconstWhat ships carry: newspapers aren't among them, as they would go stale long before a ship got anywhere.Link a questa voceconst BULK := ["coal", "wood", "grain", "oil", "goods", "food", "iron_ore", "steel", "fish", "paper", "plastics", "waste", "electronics"]Dichiarato inscripts/core/data.gd:320Data.MODELSconstLink a questa voceconst MODELSQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:323Data.WAGONconstLink a questa voceconst WAGON := {"cost": 6500, "run": 450}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:335Data.REFITconstChanging 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.Data.LENGTHconstBody length in tiles for road vehicles, ships and aircraft that aren't the standard size (road 0.46, ships 0.9, aircraft 0.7).Data.INTROconstLink a questa voceconst INTROQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:351Data.LATER_MODELSconstLink a questa voceconst LATER_MODELSQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:359Data.MOD_MODELSstatic varvehicle id -> the same fields as MODELS, plus "look" or "model", "mod"Data.MOD_CARGOstatic varcargo id -> {"rate", "days"} overridesData.MOD_COMPANY_NAMESstatic varLink a questa vocestatic var MOD_COMPANY_NAMES: Array = []Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:404Data._town_prefixesstatic varLink a questa vocestatic var _town_prefixes: Array = TOWN_PREFIXQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:405Data._town_suffixesstatic varLink a questa vocestatic var _town_suffixes: Array = TOWN_SUFFIXQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:406Data.clear_modsstatic funcLink a questa vocestatic func clear_mods() -> void- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:409Data.add_modelstatic funcLink a questa vocestatic func add_model(id: String, m: Dictionary) -> void- Parametri
id: Stringm: Dictionary
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:417Data.add_town_namesstatic funcExtra name pieces for towns;replacedrops the game's own.Link a questa vocestatic func add_town_names(prefixes: Array, suffixes: Array, replace: bool = false) -> void- Parametri
prefixes: Arraysuffixes: Arrayreplace: bool = false
- Valore restituito
void
scripts/core/data.gd:422Data.town_prefixesstatic funcLink a questa vocestatic func town_prefixes() -> Array- Valore restituito
Array
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:429Data.town_suffixesstatic funcLink a questa vocestatic func town_suffixes() -> Array- Valore restituito
Array
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:433Data.has_modelstatic funcChecks for an ID in the stock and enabled mod vehicle catalogs.Link a questa vocestatic func has_model(id: String) -> boolUse this before looking up an ID from a mod or save.
- Parametri
id: String
- Valore restituito
bool
scripts/core/data.gd:437Data.modelstatic funcReturns the definition dictionary for an existing vehicle model ID, including enabled mods.Link a questa vocestatic func model(id: String) -> DictionaryUse
has_model(id)first when the ID might be missing.- Parametri
id: String
- Valore restituito
Dictionary
Esempio
Dichiarato inif Data.has_model("diesel"): var diesel := Data.model("diesel") note(str(diesel.cost))scripts/core/data.gd:441Data.all_modelsstatic funcReturns the model IDs from the stock and enabled mod catalogs.Link a questa vocestatic func all_models() -> ArrayUse
available(id, year)to filter by sale date.- Valore restituito
Array
scripts/core/data.gd:447Data.intro_yearstatic funcThe year a model goes on sale (0: from the start).Link a questa vocestatic func intro_year(id: String) -> int- Parametri
id: String
- Valore restituito
int
scripts/core/data.gd:452Data.introsstatic funcEvery model with an introduction year: id -> year.Link a questa vocestatic func intros() -> Dictionary- Valore restituito
Dictionary
scripts/core/data.gd:459Data.availablestatic funcChecks whether the current year is at or after a model’s introduction year.Link a questa vocestatic func available(id: String, year: int) -> boolUse
has_model(id)separately to verify the ID.- Parametri
id: Stringyear: int
- Valore restituito
bool
scripts/core/data.gd:467Data.lookstatic funcThe game model whose 3D model (and size) a vehicle uses: itself, or a mod vehicle's "look".Link a questa vocestatic func look(id: String) -> String- Parametri
id: String
- Valore restituito
String
scripts/core/data.gd:472Data.cargo_ratestatic funcReturns the payment rate per unit of the named cargo over 25 tiles before age penalties.Link a questa vocestatic func cargo_rate(c: String) -> floatUses the active mod override when one is set.
- Parametri
c: String
- Valore restituito
float
scripts/core/data.gd:477Data.cargo_daysstatic funcReturns how many days the named cargo qualifies for the full rate.Link a questa vocestatic func cargo_days(c: String) -> floatUses the active mod override when one is set.
- Parametri
c: String
- Valore restituito
float
scripts/core/data.gd:481Data.COSTconstLink a questa voceconst COSTQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:484Data.START_LOANconstwhat rivals start with (cash, all borrowed)Data.PLAYER_START_LOANSconstthe player's start-up loan choicesLink a questa voceconst PLAYER_START_LOANS := [100000, 250000, 500000]Dichiarato inscripts/core/data.gd:496Data.PLAYER_START_LOANconst...and the defaultData.BANKRUPT_MONTHSconstmonths in the red before a company goes bankruptData.MAX_LOANconstLink a questa voceconst MAX_LOAN := 500000Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:499Data.LOAN_INTERESTconstLink a questa voceconst LOAN_INTEREST := 0.04Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:500Data.wagon_capstatic funcLink a questa vocestatic func wagon_cap(cargo: String) -> int- Parametri
cargo: String
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:503Data.BRIDGESconstBridge styles: cost multiplier, longest span (tiles between the ramps), year available.Data.BRIDGE_ORDERconstLink a questa voceconst BRIDGE_ORDER := ["beam", "truss", "viaduct", "arch", "suspension"]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:515Data.LIFEconstYears a vehicle of this kind runs well; older ones put customers off.Link a questa voceconst LIFE := {"road": 15, "rail": 25, "water": 30, "air": 20}Dichiarato inscripts/core/data.gd:519Data.BREAKDOWN_NAMESconstBreakdowns (a new-game option): none, reduced, normal.Link a questa voceconst BREAKDOWN_NAMES := ["None", "Reduced", "Normal"]Dichiarato inscripts/core/data.gd:522Data.BREAKDOWN_RATEconstLink a questa voceconst BREAKDOWN_RATE := [0.0, 0.4, 1.0]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:523Data.SERVICE_DAYSconsta vehicle wants servicing this oftenData.reliabilitystatic funcHow reliable a model is when new or just serviced (0..1): later designs are better made.Link a questa vocestatic func reliability(model_id: String) -> float- Parametri
model_id: String
- Valore restituito
float
scripts/core/data.gd:528Data.kind_namestatic funcLink a questa vocestatic func kind_name(kind: String) -> String- Parametri
kind: String
- Valore restituito
String
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/data.gd:536
AiPlayer
AiPlayer.NAMESconstLink a questa voceconst NAMESQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:10AiPlayer.ROUTES_PER_YEARconstLink a questa voceconst ROUTES_PER_YEAR := [1.0, 1.5, 3.0]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:13AiPlayer.CEILINGSconstshare of the maximum loan the AI will use for expansionAiPlayer.THINKconstLink a questa voceconst THINK := [[30, 60], [18, 40], [10, 24]]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:15AiPlayer.FOUNDINGconstLink a questa voceconst FOUNDING := [150, 120, 50]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:18AiPlayer.FOUNDING_GAPconstLink a questa voceconst FOUNDING_GAP := [70, 60, 30]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:19AiPlayer.COMPETE_SHAREconstLink a questa voceconst COMPETE_SHARE := [0.35, 0.55, 0.8]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:21AiPlayer.EXTRA_VEHICLESconstLink a questa voceconst EXTRA_VEHICLES := [1, 3, 5]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:23AiPlayer.RESERVEconstcash kept in hand before repaying the loanAiPlayer.MIN_EARNINGconsta year's profit each vehicle must make before its route gets moreAiPlayer.PAIRS_COMPAREDconstindustry pairs weighed up before choosing a freight routeAiPlayer.CLOSE_STEPconsttiles of a closed route torn up in one goAiPlayer.NO_PATH_FORconstnowhere to lay the line: the ground rarely changes, so wait four yearsAiPlayer.CLOSED_FORconsta route closed for losing money isn't tried again for ten yearsAiPlayer.BUILD_RATEconstLink a questa voceconst BUILD_RATE := {"rail": [2, 3, 4], "road": [3, 5, 7]}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:32AiPlayer.REROUTESconstways round something built across a line still being laidAiPlayer.SHIPS_ROOMconstmoney a rival can raise before it opens a ship routeAiPlayer.AIR_CASHconstmoney in hand before it opens an air service...AiPlayer.AIR_ROUTESconst...and how many it runs at most, by skill: airports aren't cheapAiPlayer.AIR_MINconsttiles between two towns worth flyingAiPlayer.SHIP_MAXconsttiles apart at most: ships are slow, whatever the map's sizeLink a questa voceconst SHIP_MAX := {"freight": 80.0, "ferry": 60.0}Dichiarato inscripts/sim/ai_player.gd:39AiPlayer.AIRPORT_REACHconstan airport goes this close to the town centreAiPlayer.FERRIESconstferry services a rival runs at most, by skillAiPlayer.FERRY_TOWNconstpeople in each town a ferry linksAiPlayer.PORT_POPconstpeople a town's dock or airport must have within reachLink a questa voceconst PORT_POP := {"water": 150, "air": 200}Dichiarato inscripts/sim/ai_player.gd:43AiPlayer.SITES_FORconstdays a search for dock and airport sites is rememberedAiPlayer.WASTE_TOWNconstpeople in a town a recycling line starts from (RAIL-29)AiPlayer.levelvarLink a questa vocevar level := 1Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:47AiPlayer.loan_ceilingvarLink a questa vocevar loan_ceiling: floatQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:48AiPlayer.companyvarLink a questa vocevar company: CompanyQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:51AiPlayer.rngvarLink a questa vocevar rng := RandomNumberGenerator.new()Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:52AiPlayer.next_thinkvarLink a questa vocevar next_think := 20Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:53AiPlayer.routesvar[{"kind", "cargo", "a": Station, "b": Station, "model", "wagons", "max"}], and optionally "consist" (a mixed train's wagons), "key" (its entry infailed) and "closing" (being torn up).AiPlayer.failedvar"kind:x,y" -> day it failed; tried again a year laterAiPlayer.projectvarThe route being built, or {}.Link a questa vocevar 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
Dichiarato inroutesonce 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".scripts/sim/ai_player.gd:64AiPlayer._searchedvarthis think already ran a construction search (one a day is enough)AiPlayer._sitesvarDock and airport sites found lately: key -> [day searched, sites].Link a questa vocevar _sites := {}Not saved: it is only a cache.
Dichiarato inscripts/sim/ai_player.gd:67AiPlayer.debugstatic varprint why route attempts fail (playtest tooling)AiPlayer.slowest_managestatic varthe longest think so far, in microseconds: looking after routes...AiPlayer.slowest_expandstatic var...and planning a new one (benchmark tooling)AiPlayer.create_competitorsstatic funcLink a questa vocestatic func create_competitors(sim: Sim, count: int) -> void- Parametri
sim: Simcount: int
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:73AiPlayer.dailyfuncLink a questa vocefunc daily(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:94AiPlayer._expandfuncLink a questa vocefunc _expand(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:111AiPlayer._operatingstatic funcIncome less the cost of running the network (vehicles, stations, track, interest) in ledgerl.Link a questa vocestatic func _operating(l: Dictionary) -> int- Parametri
l: Dictionary
- Valore restituito
int
scripts/sim/ai_player.gd:124AiPlayer._troubledfuncIn the red, or about to be: no time for new ventures.Link a questa vocefunc _troubled() -> bool- Valore restituito
bool
scripts/sim/ai_player.gd:130AiPlayer._open_routesfuncLink a questa vocefunc _open_routes() -> int- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:134AiPlayer._count_routesfuncRoutes still open, of one kind ("" for all), and of one cargo ifcargois given.Link a questa vocefunc _count_routes(kind: String, cargo := "") -> int- Parametri
kind: Stringcargo := ""
- Valore restituito
int
scripts/sim/ai_player.gd:139AiPlayer._scaledstatic funcConstruction prices follow the game's building-cost setting, for rivals as for the player.Link a questa vocestatic func _scaled(sim: Sim, cost: int) -> int- Parametri
sim: Simcost: int
- Valore restituito
int
scripts/sim/ai_player.gd:148AiPlayer._managefuncLink a questa vocefunc _manage(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
- Chiama
Data.wagon_cap,Data.model
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:154AiPlayer._fleetsfuncOur vehicles sorted by the route they were bought for: one list for each entry ofroutes.Link a questa vocefunc _fleets(sim: Sim) -> Array- Parametri
sim: Sim
- Valore restituito
Array
scripts/sim/ai_player.gd:245AiPlayer._buyfuncOne more vehicle ofmodelfor router.Link a questa vocefunc _buy(sim: Sim, r: Dictionary, model: String) -> bool- Parametri
sim: Simr: Dictionarymodel: String
- Valore restituito
bool
- Chiama
Vehicle.stranded
scripts/sim/ai_player.gd:263AiPlayer._close_routefuncTear 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.Link a questa vocefunc _close_route(sim: Sim, r: Dictionary) -> boolA 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.
- Parametri
sim: Simr: Dictionary
- Valore restituito
bool
scripts/sim/ai_player.gd:282AiPlayer.industry_closedfuncAn 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.Link a questa vocefunc industry_closed(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
scripts/sim/ai_player.gd:320AiPlayer._orphanedstatic 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.Link a questa vocestatic func _orphaned(r: Dictionary) -> boolStops a route doesn't have yet (a bus line still being built) are null.
- Parametri
r: Dictionary
- Valore restituito
bool
scripts/sim/ai_player.gd:337AiPlayer._station_in_usefuncLink a questa vocefunc _station_in_use(sim: Sim, st: Station, r: Dictionary) -> bool- Parametri
sim: Simst: Stationr: Dictionary
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:346AiPlayer._own_track_fromfuncOur own plain track joined to stationst(the AI never shares track between its lines).Link a questa vocefunc _own_track_from(sim: Sim, st: Station) -> Array[Vector2i]- Parametri
sim: Simst: Station
- Valore restituito
Array[Vector2i]
scripts/sim/ai_player.gd:359AiPlayer._best_modelfuncThe newest model of a family the AI knows that's on sale and carries the cargo.Link a questa vocefunc _best_model(sim: Sim, kind: String, cargo: String, current: String) -> StringAircraft stop at the narrowbody: the big jets want more passengers than the towns a rival flies between have.
- Parametri
sim: Simkind: Stringcargo: Stringcurrent: String
- Valore restituito
String
- Chiama
Data.available,Data.model
scripts/sim/ai_player.gd:386AiPlayer._plan_linefuncA construction plan without the money check (_affordborrows when the AI commits to it).Link a questa vocefunc _plan_line(sim: Sim, kind: String, pts: Array[Vector2i]) -> Dictionary- Parametri
sim: Simkind: Stringpts: Array[Vector2i]
- Valore restituito
Dictionary
- Chiama
BuildOps.plan_line
scripts/sim/ai_player.gd:400AiPlayer._plan_routefuncThe same for a line with bridges and tunnels on it (RouteBuilder.last_crossings, RAIL-52).Link a questa vocefunc _plan_route(sim: Sim, kind: String, pts: Array[Vector2i], crossings: Array) -> Dictionary- Parametri
sim: Simkind: Stringpts: Array[Vector2i]crossings: Array
- Valore restituito
Dictionary
scripts/sim/ai_player.gd:408AiPlayer._affordfuncMake surecostcan be paid, borrowing if needed.Link a questa vocefunc _afford(sim: Sim, cost: int) -> boolReturns false if it can't.
- Parametri
sim: Simcost: int
- Valore restituito
bool
scripts/sim/ai_player.gd:413AiPlayer._try_new_routefuncLink a questa vocefunc _try_new_route(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:426AiPlayer._nothing_to_buildstatic funcA line plan that is refused only because everything on it exists already (a road that's there).Link a questa vocestatic func _nothing_to_build(plan: Dictionary) -> bool- Parametri
plan: Dictionary
- Valore restituito
bool
scripts/sim/ai_player.gd:469AiPlayer._whyfuncLink a questa vocefunc _why(msg: String) -> void- Parametri
msg: String
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:473AiPlayer._try_busesfuncLink a questa vocefunc _try_buses(sim: Sim) -> bool- Parametri
sim: Sim
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:478AiPlayer._links_townsfuncWhether one of our passenger lines ofkind(road or rail) already runs between these two towns.Link a questa vocefunc _links_towns(a: Town, b: Town, kind: String = "road") -> bool- Parametri
a: Townb: Townkind: String = "road"
- Valore restituito
bool
scripts/sim/ai_player.gd:541AiPlayer._try_mailfuncA mail van for one of our bus lines that has none yet: the stops are there already.Link a questa vocefunc _try_mail(sim: Sim) -> bool- Parametri
sim: Sim
- Valore restituito
bool
scripts/sim/ai_player.gd:552AiPlayer._town_stop_tilestatic funcA straight town road tile near the centre that can take a stop.Link a questa vocestatic func _town_stop_tile(m: WorldMap, t: Town) -> Dictionary- Parametri
m: WorldMapt: Town
- Valore restituito
Dictionary
scripts/sim/ai_player.gd:578AiPlayer._map_scalestatic funcLink a questa vocestatic func _map_scale(sim: Sim) -> float- Parametri
sim: Sim
- Valore restituito
float
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:594AiPlayer._industry_pairfuncPick a producing industry and the nearest industry that accepts its cargo within a distance band.Link a questa vocefunc _industry_pair(sim: Sim, min_d: float, max_d: float, kind: String) -> ArrayA 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).
- Parametri
sim: Simmin_d: floatmax_d: floatkind: String
- Valore restituito
Array
- Chiama
Data.town_pop,Data.cargo_rate
scripts/sim/ai_player.gd:601AiPlayer._customer_rankstatic funcHow good a customer forcindustryqis (RAIL-29), the best first, then the nearest: 2 a plant that needs every input and has the others, waiting forc(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.Link a questa vocestatic func _customer_rank(q: Industry, c: String) -> intThose pay for what is delivered all the same, so they do when there is nothing better.
- Parametri
q: Industryc: String
- Valore restituito
int
scripts/sim/ai_player.gd:661AiPlayer._outputstatic funcHow muchcpmakes in a month: a primary's rate, or what a processing plant made last month.Link a questa vocestatic func _output(p: Industry, c: String) -> float- Parametri
p: Industryc: String
- Valore restituito
float
scripts/sim/ai_player.gd:674AiPlayer._customer_townstatic funcThe nearest town big enough to want goods and food (and of at leastpoppeople), within a distance band ofp.Link a questa vocestatic func _customer_town(sim: Sim, p: Industry, min_d: float, max_d: float, pop: int = 0) -> Town- Parametri
sim: Simp: Industrymin_d: floatmax_d: floatpop: int = 0
- Valore restituito
Town
scripts/sim/ai_player.gd:680AiPlayer._good_sourcestatic funcA producing industry on land (see_producing).Link a questa vocestatic func _good_source(ind: Industry) -> bool- Parametri
ind: Industry
- Valore restituito
bool
scripts/sim/ai_player.gd:694AiPlayer._producingstatic funcA primary industry, or a processing plant that's being supplied.Link a questa vocestatic func _producing(ind: Industry) -> bool- Parametri
ind: Industry
- Valore restituito
bool
scripts/sim/ai_player.gd:699AiPlayer._served_bystatic funcLink a questa vocestatic func _served_by(sim: Sim, ind: Industry, c: String, who: Company) -> bool- Parametri
sim: Simind: Industryc: Stringwho: Company
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:710AiPlayer._served_by_anyonestatic funcLink a questa vocestatic func _served_by_anyone(sim: Sim, ind: Industry, c: String) -> bool- Parametri
sim: Simind: Industryc: String
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:717AiPlayer._terminalfuncFind platform tiles nearindfor a terminal oflengthtiles, ending on the side facingtoward.Link a questa vocefunc _terminal(sim: Sim, kind: String, ind: Industry, length: int, toward: Vector2, partner: Dictionary = {}) -> DictionaryReturns {"tiles", "axis", "end", "exit", "exit_dir"} or {}.
partner: the terminal at the other end of the line, when that is chosen already.- Parametri
sim: Simkind: Stringind: Industrylength: inttoward: Vector2partner: Dictionary = {}
- Valore restituito
Dictionary
scripts/sim/ai_player.gd:727AiPlayer._terminal_infuncThe same for any area: the best site whose first tile lies inarea.Link a questa vocefunc _terminal_in(sim: Sim, kind: String, area: Rect2i, length: int, toward: Vector2, min_pop: int, partner: Dictionary = {}) -> DictionaryWith
min_pop, only sites whose catchment houses at least that many people count, and busier ones are preferred.- Parametri
sim: Simkind: Stringarea: Rect2ilength: inttoward: Vector2min_pop: intpartner: Dictionary = {}
- Valore restituito
Dictionary
scripts/sim/ai_player.gd:735AiPlayer._try_wastefuncA recycling line (RAIL-29): trucks carry the waste from a town's centre to a recycling plant within reach.Link a questa vocefunc _try_waste(sim: Sim) -> boolTowns big enough to fill a truck now and then, and not served by us already.
- Parametri
sim: Sim
- Valore restituito
bool
scripts/sim/ai_player.gd:791AiPlayer._count_routes_fromfuncOur open routes loadingcargoat a stop in townt.Link a questa vocefunc _count_routes_from(t: Town, cargo: String) -> int- Parametri
t: Towncargo: String
- Valore restituito
int
scripts/sim/ai_player.gd:816AiPlayer._try_trucksfuncLink a questa vocefunc _try_trucks(sim: Sim) -> bool- Parametri
sim: Sim
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:824AiPlayer._try_railfuncLink a questa vocefunc _try_rail(sim: Sim) -> bool- Parametri
sim: Sim
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:833AiPlayer._try_pax_railfuncA passenger (and mail) railway between two sizeable towns a good way apart.Link a questa vocefunc _try_pax_rail(sim: Sim) -> bool- Parametri
sim: Sim
- Valore restituito
bool
scripts/sim/ai_player.gd:841AiPlayer._build_pax_railfuncLink a questa vocefunc _build_pax_rail(sim: Sim, a: Town, b: Town, key: String) -> bool- Parametri
sim: Sima: Townb: Townkey: String
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:864AiPlayer._build_freightfuncLink a questa vocefunc _build_freight(sim: Sim, kind: String, p: Industry, q: Industry, cargo: String) -> bool- Parametri
sim: Simkind: Stringp: Industryq: Industrycargo: String
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:913AiPlayer._build_town_deliveryfuncA truck line from a processing plant to a stop in the middle of a town that takes its cargo, or withpickupthe other way round: from a town stop that supplies it (waste) top, which takes it.Link a questa vocefunc _build_town_delivery(sim: Sim, p: Industry, town: Town, cargo: String, pickup := false) -> bool- Parametri
sim: Simp: Industrytown: Towncargo: Stringpickup := false
- Valore restituito
bool
scripts/sim/ai_player.gd:979AiPlayer._try_shipsfuncA ship route: freight, or when there's none to try (no search was run), a ferry.Link a questa vocefunc _try_ships(sim: Sim) -> boolA ferry earns far less than a freighter, so a rival runs only a few (FERRIES).
- Parametri
sim: Sim
- Valore restituito
bool
scripts/sim/ai_player.gd:1044AiPlayer._try_ship_freightfuncFreight 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.Link a questa vocefunc _try_ship_freight(sim: Sim) -> bool- Parametri
sim: Sim
- Valore restituito
bool
- Chiama
Data.cargo_rate
scripts/sim/ai_player.gd:1052AiPlayer._build_ship_freightfuncLink a questa vocefunc _build_ship_freight(sim: Sim, p: Industry, q: Industry, cargo: String) -> bool- Parametri
sim: Simp: Industryq: Industrycargo: String
- Valore restituito
bool
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:1098AiPlayer._try_ferryfuncA ferry between two towns of FERRY_TOWN+ people on the same water, 14 to SHIP_MAX tiles apart.Link a questa vocefunc _try_ferry(sim: Sim) -> bool- Parametri
sim: Sim
- Valore restituito
bool
scripts/sim/ai_player.gd:1115AiPlayer._try_airfuncAn air service between two big towns a good way apart: from a town, to the biggest one far enough away.Link a questa vocefunc _try_air(sim: Sim) -> boolA town's airport is used again for its next service rather than building another.
- Parametri
sim: Sim
- Valore restituito
bool
scripts/sim/ai_player.gd:1145AiPlayer._pair_keystatic funcLink a questa vocestatic func _pair_key(what: String, a: Town, b: Town) -> String- Parametri
what: Stringa: Townb: Town
- Valore restituito
String
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:1171AiPlayer._build_town_linkfuncA passenger service ofkind("water" or "air") between two towns, calling atpaandpb(see_town_port).Link a questa vocefunc _build_town_link(sim: Sim, kind: String, a: Town, b: Town, pa: Dictionary, pb: Dictionary) -> bool- Parametri
sim: Simkind: Stringa: Townb: Townpa: Dictionarypb: Dictionary
- Valore restituito
bool
- Chiama
L.t
scripts/sim/ai_player.gd:1177AiPlayer._open_port_routefuncBuild 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 firstcountvehicles and open it.Link a questa vocefunc _open_port_route(sim: Sim, r: Dictionary, count: int, news: String, news_at: Vector2) -> boolNothing is built unless both ends can be, and each must supply or take the cargo as its end of the route should.
- Parametri
sim: Simr: Dictionarycount: intnews: Stringnews_at: Vector2
- Valore restituito
bool
scripts/sim/ai_player.gd:1194AiPlayer._town_portfuncWhere a passenger service ofkind("water" or "air") calls intown: a dock or airport of ours there already, or else the best site for a new one ({} when there's none).Link a questa vocefunc _town_port(sim: Sim, kind: String, town: Town) -> Dictionary- Parametri
sim: Simkind: Stringtown: Town
- Valore restituito
Dictionary
scripts/sim/ai_player.gd:1243AiPlayer._port_towardfuncWhere a ship route forindcalls: our own dock that serves it already, an oil rig's open dock, or the shore site nearesttoward.Link a questa vocefunc _port_toward(sim: Sim, ind: Industry, toward: Vector2) -> Dictionary{} if ships can't reach it.
- Parametri
sim: Simind: Industrytoward: Vector2
- Valore restituito
Dictionary
scripts/sim/ai_player.gd:1254AiPlayer._ports_offuncWhere ships can call forind: an oil rig's own open dock, or the shore tiles near enough for a dock's catchment to reach it ([] inland).Link a questa vocefunc _ports_of(sim: Sim, ind: Industry) -> ArrayRemembered for a while.
- Parametri
sim: Simind: Industry
- Valore restituito
Array
scripts/sim/ai_player.gd:1272AiPlayer._industry_docksstatic funcLink a questa vocestatic func _industry_docks(m: WorldMap, ind: Industry) -> Array- Parametri
m: WorldMapind: Industry
- Valore restituito
Array
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:1276AiPlayer._rememberedfuncA 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.Link a questa vocefunc _remembered(sim: Sim, key: String, search: Callable)- Parametri
sim: Simkey: Stringsearch: Callable
- Valore restituito
func _remembered(sim: Sim, key: String, search: Callable)
scripts/sim/ai_player.gd:1293AiPlayer._port_sitestatic funcThe best site near the centre oftownfor 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.Link a questa vocestatic func _port_site(m: WorldMap, kind: String, town: Town) -> Dictionary{"tiles", "axis"}, or {} when there's none.
- Parametri
m: WorldMapkind: Stringtown: Town
- Valore restituito
Dictionary
scripts/sim/ai_player.gd:1304AiPlayer._port_fitsstatic funcWhether a dock (kind"water", one tile) or an airport ("air") can go on the tiles ofr.Link a questa vocestatic func _port_fits(m: WorldMap, kind: String, r: Rect2i) -> bool- Parametri
m: WorldMapkind: Stringr: Rect2i
- Valore restituito
bool
scripts/sim/ai_player.gd:1335AiPlayer._pop_tablestatic funcRunning totals of the people in the houses ofarea, so that those in any rectangle of it take four lookups (_pop_in) instead of a count tile by tile.Link a questa vocestatic func _pop_table(m: WorldMap, area: Rect2i) -> PackedInt32Array- Parametri
m: WorldMaparea: Rect2i
- Valore restituito
PackedInt32Array
scripts/sim/ai_player.gd:1356AiPlayer._pop_instatic funcLink a questa vocestatic func _pop_in(sums: PackedInt32Array, area: Rect2i, r: Rect2i) -> int- Parametri
sums: PackedInt32Arrayarea: Rect2ir: Rect2i
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:1374AiPlayer._berthstatic funcThe water tile ships berth at for a dock end of a route ({"station"} or a shore site).Link a questa vocestatic func _berth(m: WorldMap, port: Dictionary) -> Vector2i- Parametri
m: WorldMapport: Dictionary
- Valore restituito
Vector2i
- Chiama
BuildOps.dock_facing
scripts/sim/ai_player.gd:1387AiPlayer._second_berthfuncShips take turns at a berth (RAIL-26).Link a questa vocefunc _second_berth(sim: Sim, fleet: Array) -> voidA 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.
- Parametri
sim: Simfleet: Array
- Valore restituito
void
scripts/sim/ai_player.gd:1403AiPlayer._berth_besidestatic funcA shore tile beside dock tilet, whose ships berth on the waterfacingit, 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.Link a questa vocestatic func _berth_beside(m: WorldMap, t: Vector2i, facing: int) -> Vector2i(-1, -1) if there's none.
- Parametri
m: WorldMapt: Vector2ifacing: int
- Valore restituito
Vector2i
- Chiama
BuildOps.dock_facing
scripts/sim/ai_player.gd:1429AiPlayer._berth_takenstatic funcWhether a dock already berths at water tilew: one on the shore facing it, or an oil rig's dock standing on it.Link a questa vocestatic func _berth_taken(m: WorldMap, w: Vector2i) -> bool- Parametri
m: WorldMapw: Vector2i
- Valore restituito
bool
scripts/sim/ai_player.gd:1442AiPlayer._sea_linkstatic funcWhether ships can sail between the water tilesaandbby a way not much longer than the straight line (a long way round the coast pays no more than the short one).Link a questa vocestatic func _sea_link(m: WorldMap, a: Vector2i, b: Vector2i) -> boolThe search keeps to the water near that line, so even on a big sea it's quick.
- Parametri
m: WorldMapa: Vector2ib: Vector2i
- Valore restituito
bool
- Chiama
Pathfinder.find_sea
scripts/sim/ai_player.gd:1457AiPlayer._carries_fromfuncWhether one of our routes already loadscat a station servingind(an oil rig's dock is nobody's, so_served_bydoesn't see our tankers there).Link a questa vocefunc _carries_from(sim: Sim, ind: Industry, c: String) -> bool- Parametri
sim: Simind: Industryc: String
- Valore restituito
bool
scripts/sim/ai_player.gd:1463AiPlayer._startfuncBegin layingline, a stretch a day (seeproject).Link a questa vocefunc _start(line: Array[Vector2i], head: int, tail: int, reserved: Dictionary, to_lay: bool, route: Dictionary, buy: int, news: String, news_at: Vector2, extra: Dictionary = {}) -> voidhead/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).- Parametri
line: Array[Vector2i]head: inttail: intreserved: Dictionaryto_lay: boolroute: Dictionarybuy: intnews: Stringnews_at: Vector2extra: Dictionary = {}
- Valore restituito
void
scripts/sim/ai_player.gd:1475AiPlayer._constructfuncA day's work on the line under construction, and opening it once it's finished.Link a questa vocefunc _construct(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
scripts/sim/ai_player.gd:1484AiPlayer._next_crossingstatic funcThe next bridge or tunnel the line under construction comes to ({} when none is left).Link a questa vocestatic func _next_crossing(p: Dictionary) -> Dictionary- Parametri
p: Dictionary
- Valore restituito
Dictionary
scripts/sim/ai_player.gd:1536AiPlayer._reroutefuncA new way from where the line has got to, to its far end.Link a questa vocefunc _reroute(sim: Sim) -> boolFalse if there's none (or the line has been re-routed too often already).
- Parametri
sim: Sim
- Valore restituito
bool
scripts/sim/ai_player.gd:1550AiPlayer._openfuncThe line is finished: place the stops still missing, buy the first vehicles and open for business.Link a questa vocefunc _open(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
scripts/sim/ai_player.gd:1606AiPlayer._abandonfuncGive 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.Link a questa vocefunc _abandon(sim: Sim, why: String) -> void- Parametri
sim: Simwhy: String
- Valore restituito
void
scripts/sim/ai_player.gd:1642AiPlayer.to_dictfuncLink a questa vocefunc to_dict() -> Dictionary- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:1661AiPlayer._route_to_dictstatic funcLink a questa vocestatic func _route_to_dict(r: Dictionary) -> Dictionary- Parametri
r: Dictionary
- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:1681AiPlayer._route_from_dictstatic funcA route saved by_route_to_dict, or {} if one of its stations is gone.Link a questa vocestatic func _route_from_dict(r: Dictionary, by_id: Dictionary, partial := false) -> DictionaryWith
partial, a station not placed yet (-1) is allowed.- Parametri
r: Dictionaryby_id: Dictionarypartial := false
- Valore restituito
Dictionary
scripts/sim/ai_player.gd:1692AiPlayer._flatstatic funcLink a questa vocestatic func _flat(tiles: Array) -> Array- Parametri
tiles: Array
- Valore restituito
Array
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:1713AiPlayer._tilesstatic funcLink a questa vocestatic func _tiles(flat: Array) -> Array[Vector2i]- Parametri
flat: Array
- Valore restituito
Array[Vector2i]
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:1721AiPlayer.from_dictstatic funcLink a questa vocestatic func from_dict(sim: Sim, d: Dictionary) -> AiPlayer- Parametri
sim: Simd: Dictionary
- Valore restituito
AiPlayer
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/ai_player.gd:1728
BuildOps
BuildOps._planstatic funcLink a questa vocestatic func _plan() -> Dictionary- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:8BuildOps._failstatic funcLink a questa vocestatic func _fail(p: Dictionary, t: Vector2i, why: String) -> void- Parametri
p: Dictionaryt: Vector2iwhy: String
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:12BuildOps.dir_betweenstatic funcLink a questa vocestatic func dir_between(a: Vector2i, b: Vector2i) -> int- Parametri
a: Vector2ib: Vector2i
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:18BuildOps.network_bits_okstatic funcWhether a tile can carry a road or rail piece with the given full connection bitmask.Link a questa vocestatic func network_bits_ok(m: WorldMap, x: int, y: int, bits: int, strict: bool = false) -> boolFlat tiles take any shape; simple inclines only take pieces running along the incline.
- Parametri
m: WorldMapx: inty: intbits: intstrict: bool = false
- Valore restituito
bool
scripts/sim/build_ops.gd:26BuildOps._slope_reasonstatic funcLink a questa vocestatic func _slope_reason(m: WorldMap, x: int, y: int) -> String- Parametri
m: WorldMapx: inty: int
- Valore restituito
String
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:50BuildOps._obj_reasonstatic funcLink a questa vocestatic func _obj_reason(o: Dictionary) -> String- Parametri
o: Dictionary
- Valore restituito
String
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:58BuildOps._is_crossingstatic funcLink a questa vocestatic func _is_crossing(existing_other: int, bits: int) -> bool- Parametri
existing_other: intbits: int
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:67BuildOps.span_problemstatic funcGround construction under a bridge or over a tunnel: allowed only across its line.Link a questa vocestatic func span_problem(m: WorldMap, x: int, y: int, bits: int) -> String- Parametri
m: WorldMapx: inty: intbits: int
- Valore restituito
String
- Chiama
L.t,WorldMap.axis_of
scripts/sim/build_ops.gd:72BuildOps.under_bridgestatic funcLink a questa vocestatic func under_bridge(m: WorldMap, x: int, y: int) -> bool- Parametri
m: WorldMapx: inty: int
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:86BuildOps.rail_tile_problemstatic funcWhy rail with full bitmaskbitscan't go on this tile, or "" if it can.Link a questa vocestatic func rail_tile_problem(m: WorldMap, x: int, y: int, bits: int) -> String- Parametri
m: WorldMapx: inty: intbits: int
- Valore restituito
String
- Chiama
L.t
scripts/sim/build_ops.gd:92BuildOps.road_tile_problemstatic funcWhy road with full bitmaskbitscan't go on this tile, or "" if it can.Link a questa vocestatic func road_tile_problem(m: WorldMap, x: int, y: int, bits: int) -> String- Parametri
m: WorldMapx: inty: intbits: int
- Valore restituito
String
- Chiama
L.t
scripts/sim/build_ops.gd:118BuildOps.INDUSTRY_GAPconstTiles 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.BuildOps.can_link_roadstatic 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).Link a questa vocestatic func can_link_road(m: WorldMap, x: int, y: int, d: int, strict: bool = false) -> bool- Parametri
m: WorldMapx: inty: intd: intstrict: bool = false
- Valore restituito
bool
- Chiama
Const.opp
scripts/sim/build_ops.gd:152BuildOps.link_roadstatic funcLink a questa vocestatic func link_road(m: WorldMap, x: int, y: int, d: int) -> void- Parametri
m: WorldMapx: inty: intd: int
- Valore restituito
void
- Chiama
Const.opp
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:171BuildOps.can_build_housestatic funcHouses need a flat, dry, empty tile, clear of the ground kept around industries.Link a questa vocestatic func can_build_house(m: WorldMap, x: int, y: int) -> bool- Parametri
m: WorldMapx: inty: int
- Valore restituito
bool
scripts/sim/build_ops.gd:181BuildOps.plan_linestatic funcPlan a road or rail line through consecutive, 4-adjacent tilespts.Link a questa vocestatic func plan_line(m: WorldMap, kind: String, pts: Array[Vector2i]) -> DictionaryExtra keys: kind, add (Vector2i -> bits to add).
- Parametri
m: WorldMapkind: Stringpts: Array[Vector2i]
- Valore restituito
Dictionary
scripts/sim/build_ops.gd:194BuildOps._parallel_diagonalstatic funcIfexistingis one corner piece andaddingthe opposite corner, the pairing they form as two parallel diagonals (see WorldMap.diag2), else -1.Link a questa vocestatic func _parallel_diagonal(existing: int, adding: int) -> int- Parametri
existing: intadding: int
- Valore restituito
int
scripts/sim/build_ops.gd:245BuildOps.apply_linestatic funcLink a questa vocestatic func apply_line(m: WorldMap, p: Dictionary) -> void- Parametri
m: WorldMapp: Dictionary
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:255BuildOps.dock_facingstatic funcDirection from a shore tile down to open water, or -1.Link a questa vocestatic func dock_facing(m: WorldMap, x: int, y: int) -> intDocks sit on a shore slope whose low edge meets the water (or on a level tile at the water's edge).
- Parametri
m: WorldMapx: inty: int
- Valore restituito
int
scripts/sim/build_ops.gd:276BuildOps.station_tile_problemstatic funcLink a questa vocestatic func station_tile_problem(m: WorldMap, kind: String, x: int, y: int, axis: int) -> String- Parametri
m: WorldMapkind: Stringx: inty: intaxis: int
- Valore restituito
String
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:284BuildOps.MAX_STATION_SPREADconsta station's tiles fit in a square this many tiles acrossBuildOps.plan_stationstatic funcPlan station tiles ofkind("rail" or "road") alongaxis.Link a questa vocestatic func plan_station(m: WorldMap, kind: String, pts: Array[Vector2i], axis: int) -> DictionaryExtra keys: kind, axis, tiles, join (Station or null), catch (catchment incl. joined station), accepts, supplies, attractions (attraction types in the catchment).
- Parametri
m: WorldMapkind: Stringpts: Array[Vector2i]axis: int
- Valore restituito
Dictionary
- Chiama
L.t,Station.add_catchment,Station.coverage
scripts/sim/build_ops.gd:333BuildOps.apply_stationstatic funcLink a questa vocestatic func apply_station(m: WorldMap, p: Dictionary) -> Station- Parametri
m: WorldMapp: Dictionary
- Valore restituito
Station
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:389BuildOps.add_rig_dockstatic 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.Link a questa vocestatic func add_rig_dock(m: WorldMap, ind: Industry) -> StationNobody 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.
- Parametri
m: WorldMapind: Industry
- Valore restituito
Station
- Chiama
L.t,WorldMap.axis_of
scripts/sim/build_ops.gd:424BuildOps.rig_dock_spotstatic 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.Link a questa vocestatic func rig_dock_spot(m: WorldMap, ind: Industry) -> Vector2i(-1, -1) if none.
- Parametri
m: WorldMapind: Industry
- Valore restituito
Vector2i
scripts/sim/build_ops.gd:455BuildOps.is_rig_dockstatic funcTrue on the tile of a rig's own dock (see add_rig_dock).Link a questa vocestatic func is_rig_dock(o) -> bool- Parametri
o
- Valore restituito
bool
scripts/sim/build_ops.gd:486BuildOps.bulldoze_targetstatic funcWhat bulldozing a tile would remove (one layer: station, track, road, building or trees) and its cost.Link a questa vocestatic func bulldoze_target(m: WorldMap, x: int, y: int, who_id: int = -1) -> Dictionarywho_id: the company bulldozing. On a level crossing over someone else's track it takes the road.- Parametri
m: WorldMapx: inty: intwho_id: int = -1
- Valore restituito
Dictionary
scripts/sim/build_ops.gd:494BuildOps.plan_bulldozestatic funcExtra keys: rect, count.Link a questa vocestatic func plan_bulldoze(m: WorldMap, rect: Rect2i, who_id: int = -1) -> Dictionary- Parametri
m: WorldMaprect: Rect2iwho_id: int = -1
- Valore restituito
Dictionary
- Chiama
L.t
scripts/sim/build_ops.gd:526BuildOps.apply_bulldozestatic funcApplies to every removable tile in the rect; industries are skipped.Link a questa vocestatic func apply_bulldoze(m: WorldMap, p: Dictionary) -> void- Parametri
m: WorldMapp: Dictionary
- Valore restituito
void
scripts/sim/build_ops.gd:566BuildOps.plan_terraformstatic funcRaise (delta = 1) or lower (delta = -1) one tile corner.Link a questa vocestatic func plan_terraform(m: WorldMap, c: Vector2i, delta: int) -> DictionaryNeighbouring corners follow so that edge-adjacent corners never differ by more than one level. Extra keys: corner, corners (Vector2i -> new height), tiles (affected tiles).
- Parametri
m: WorldMapc: Vector2idelta: int
- Valore restituito
Dictionary
- Chiama
L.t
scripts/sim/build_ops.gd:648BuildOps.apply_terraformstatic funcLink a questa vocestatic func apply_terraform(m: WorldMap, p: Dictionary) -> void- Parametri
m: WorldMapp: Dictionary
- Valore restituito
void
- Chiama
TerrainGen.classify_tile
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:701BuildOps.plan_levelstatic funcLevel the tiles inrect(all their corners) toheight, as far as the rules allow.Link a questa vocestatic func plan_level(m: WorldMap, rect: Rect2i, height: int, blocked: Dictionary = {}) -> DictionaryCorners 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 inbad).- Parametri
m: WorldMaprect: Rect2iheight: intblocked: Dictionary = {}
- Valore restituito
Dictionary
- Chiama
L.t
scripts/sim/build_ops.gd:723BuildOps._level_problemstatic funcWhy tiletcan't change shape while levelling ("" if it can).Link a questa vocestatic func _level_problem(m: WorldMap, t: Vector2i, blocked: Dictionary) -> String- Parametri
m: WorldMapt: Vector2iblocked: Dictionary
- Valore restituito
String
- Chiama
L.t
scripts/sim/build_ops.gd:783BuildOps._level_stepstatic funcMove cornercone level (delta) tov, dragging neighbours along.Link a questa vocestatic func _level_step(m: WorldMap, c: Vector2i, v: int, delta: int, work: Dictionary, blocked: Dictionary, problems: Dictionary, p: Dictionary) -> boolFails, changing nothing in
work, when a corner that would move belongs to a tile that can't change (recorded in p.why).- Parametri
m: WorldMapc: Vector2iv: intdelta: intwork: Dictionaryblocked: Dictionaryproblems: Dictionaryp: Dictionary
- Valore restituito
bool
scripts/sim/build_ops.gd:800BuildOps.apply_levelstatic funcLink a questa vocestatic func apply_level(m: WorldMap, p: Dictionary) -> void- Parametri
m: WorldMapp: Dictionary
- Valore restituito
void
- Chiama
TerrainGen.classify_tile
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:838BuildOps.MAX_BRIDGEconstLink a questa voceconst MAX_BRIDGE := 24Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:857BuildOps.MAX_TUNNELconstLink a questa voceconst MAX_TUNNEL := 30Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:858BuildOps.edge_heightsstatic funcCorner heights of the edge of tiletfacing directiond.Link a questa vocestatic func edge_heights(m: WorldMap, t: Vector2i, d: int) -> Vector2i- Parametri
m: WorldMapt: Vector2id: int
- Valore restituito
Vector2i
scripts/sim/build_ops.gd:862BuildOps._end_piecestatic funcThe network piece a bridge or tunnel needs on tilet(toward directiond), added to the plan.Link a questa vocestatic func _end_piece(m: WorldMap, p: Dictionary, t: Vector2i, d: int) -> void- Parametri
m: WorldMapp: Dictionaryt: Vector2id: int
- Valore restituito
void
scripts/sim/build_ops.gd:871BuildOps.plan_bridgestatic funcA bridge from ramp tileato ramp tileb(same row or column).Link a questa vocestatic func plan_bridge(m: WorldMap, kind: String, a: Vector2i, b: Vector2i, style: String = "") -> DictionaryThe 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).
- Parametri
m: WorldMapkind: Stringa: Vector2ib: Vector2istyle: String = ""
- Valore restituito
Dictionary
- Chiama
L.t,L.lower,Const.opp,WorldMap.axis_of
scripts/sim/build_ops.gd:890BuildOps.plan_electrifystatic funcOverhead wires over the track alongpts.Link a questa vocestatic func plan_electrify(m: WorldMap, pts: Array[Vector2i]) -> DictionaryTiles without track are skipped; wired ones are free. Extra keys: tiles (the tiles that get wires).
- Parametri
m: WorldMappts: Array[Vector2i]
- Valore restituito
Dictionary
- Chiama
L.t
scripts/sim/build_ops.gd:966BuildOps.apply_electrifystatic funcLink a questa vocestatic func apply_electrify(m: WorldMap, p: Dictionary) -> void- Parametri
m: WorldMapp: Dictionary
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:984BuildOps.plan_depotstatic funcA depot on tilet, its door - and its one road or track connection - facingfacing.Link a questa vocestatic func plan_depot(m: WorldMap, kind: String, t: Vector2i, facing: int) -> DictionaryExtra keys: kind, tile, facing, link (joins the road/track in front), link_reason.
- Parametri
m: WorldMapkind: Stringt: Vector2ifacing: int
- Valore restituito
Dictionary
scripts/sim/build_ops.gd:999BuildOps.apply_depotstatic funcLink a questa vocestatic func apply_depot(m: WorldMap, p: Dictionary, owner: Company) -> void- Parametri
m: WorldMapp: Dictionaryowner: Company
- Valore restituito
void
- Chiama
Const.opp
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:1034BuildOps.tunnel_exitstatic funcWhere a tunnel from hillside tilea(headingd, its mouth at heightlevel) comes out: how many tiles on the far mouth is, at the first tile whose far edge comes back down tolevelat either corner.Link a questa vocestatic func tunnel_exit(m: WorldMap, a: Vector2i, d: int, level: int) -> int0 when the ground doesn't come down that far within MAX_TUNNEL tiles (or the map ends first).
- Parametri
m: WorldMapa: Vector2id: intlevel: int
- Valore restituito
int
scripts/sim/build_ops.gd:1060BuildOps._edge_cornersstatic funcThe corners of the edge of tiletfacing directiond, in edge_heights' order.Link a questa vocestatic func _edge_corners(t: Vector2i, d: int) -> Array[Vector2i]- Parametri
t: Vector2id: int
- Valore restituito
Array[Vector2i]
scripts/sim/build_ops.gd:1072BuildOps.plan_tunnelstatic funcA tunnel starting at hillside tilea(an incline rising straight ahead).Link a questa vocestatic func plan_tunnel(m: WorldMap, kind: String, a: Vector2i, hint: bool = true) -> DictionaryIt 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.- Parametri
m: WorldMapkind: Stringa: Vector2ihint: bool = true
- Valore restituito
Dictionary
scripts/sim/build_ops.gd:1088BuildOps._no_exitstatic funcplan_tunnel finding no way out: say so, on the entrance alone (not the whole line it looked along).Link a questa vocestatic func _no_exit(m: WorldMap, p: Dictionary, a: Vector2i, d: int, level: int, hint: bool) -> voidThe 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.
- Parametri
m: WorldMapp: Dictionarya: Vector2id: intlevel: inthint: bool
- Valore restituito
void
- Chiama
L.t,WorldMap.axis_of,L.n
scripts/sim/build_ops.gd:1162BuildOps._even_out_mouthstatic funcEven out tunnel tilet(headingd) into the far mouth: a straight incline fromlevel+ 1 on its near edge down tolevelon its far edge.Link a questa vocestatic func _even_out_mouth(m: WorldMap, p: Dictionary, t: Vector2i, d: int, level: int, keep: Array) -> voidAdds the corners that move, their cost and the trees they take to
p;keepare tiles that mustn't change shape.- Parametri
m: WorldMapp: Dictionaryt: Vector2id: intlevel: intkeep: Array
- Valore restituito
void
scripts/sim/build_ops.gd:1189BuildOps._set_cornersstatic funcPut corner heights (corner -> height) on the map as they are, without redrawing anything.Link a questa vocestatic func _set_corners(m: WorldMap, corners: Dictionary) -> DictionaryReturns the heights they had, to put back the same way.
- Parametri
m: WorldMapcorners: Dictionary
- Valore restituito
Dictionary
scripts/sim/build_ops.gd:1234BuildOps.apply_crossingstatic funcLink a questa vocestatic func apply_crossing(m: WorldMap, p: Dictionary) -> Dictionary- Parametri
m: WorldMapp: Dictionary
- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:1243BuildOps.signal_problemstatic funcLink a questa vocestatic func signal_problem(m: WorldMap, t: Vector2i) -> String- Parametri
m: WorldMapt: Vector2i
- Valore restituito
String
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:1268BuildOps.plan_signalstatic funcPlace a two-way signal, or cycle an existing one: two-way -> one-way -> one-way the other way -> two-way.Link a questa vocestatic func plan_signal(m: WorldMap, t: Vector2i) -> DictionaryExtra keys: tile, state (see WorldMap.signals).
- Parametri
m: WorldMapt: Vector2i
- Valore restituito
Dictionary
scripts/sim/build_ops.gd:1288BuildOps.apply_signalstatic funcLink a questa vocestatic func apply_signal(m: WorldMap, p: Dictionary) -> void- Parametri
m: WorldMapp: Dictionary
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/build_ops.gd:1307BuildOps._corner_ofstatic func[a, b] ifbitsis a single corner piece, else [].Link a questa vocestatic func _corner_of(bits: int) -> Array- Parametri
bits: int
- Valore restituito
Array
scripts/sim/build_ops.gd:1314BuildOps.signal_dirsstatic funcThe two directions trains can pass a signal on tilet(headings on entering the tile).Link a questa vocestatic func signal_dirs(m: WorldMap, t: Vector2i) -> Array- Parametri
m: WorldMapt: Vector2i
- Valore restituito
Array
- Chiama
Const.opp
scripts/sim/build_ops.gd:1323
Calendar
Calendar.MONTHSconstLink a questa voceconst MONTHS := ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/calendar.gd:4Calendar.MONTH_DAYSconstLink a questa voceconst MONTH_DAYS := [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/calendar.gd:5Calendar.is_leapstatic funcLink a questa vocestatic func is_leap(y: int) -> bool- Parametri
y: int
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/calendar.gd:8Calendar.year_daysstatic funcLink a questa vocestatic func year_days(y: int) -> int- Parametri
y: int
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/calendar.gd:12Calendar.from_daystatic funcReturns Vector3i(year, month 0-11, day of month 1-31).Link a questa vocestatic func from_day(day: int) -> Vector3i- Parametri
day: int
- Valore restituito
Vector3i
scripts/core/calendar.gd:17Calendar.formatstatic funcLink a questa vocestatic func format(day: int) -> String- Parametri
day: int
- Valore restituito
String
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/calendar.gd:33Calendar.is_christmasstatic funcChristmas time in the towns: 1 December to 6 January.Link a questa vocestatic func is_christmas(day: int) -> bool- Parametri
day: int
- Valore restituito
bool
scripts/core/calendar.gd:39Calendar.doy_is_christmasstatic funcThe same for a day of the year (0 = 1 January), ignoring leap years.Link a questa vocestatic func doy_is_christmas(doy: int) -> bool- Parametri
doy: int
- Valore restituito
bool
scripts/core/calendar.gd:45Calendar.day_of_year_startstatic funcDay number of 1 January ofyear.Link a questa vocestatic func day_of_year_start(year: int) -> int- Parametri
year: int
- Valore restituito
int
scripts/core/calendar.gd:50
ConnectPlanner
ConnectPlanner.MAX_DISTconsttiles apart (along the grid) beyond which it doesn't search at allConnectPlanner.ENDS_TRIEDconstsides of a joined end worth tryingConnectPlanner.PAIRSconst(start side, end side) pairs searched at mostConnectPlanner.LIVE_EXPANSIONSconstRouteBuilder'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.ConnectPlanner.SHORTCUT_SAVESconstA 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.Link a questa voceconst SHORTCUT_SAVES := 4In 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.
Dichiarato inscripts/sim/connect_planner.gd:24ConnectPlanner.SHORTCUT_SHAREconstLink a questa voceconst SHORTCUT_SHARE := 0.3Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/connect_planner.gd:25ConnectPlanner.SHORTCUT_PRICEconstLink a questa voceconst SHORTCUT_PRICE := 0.25Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/connect_planner.gd:26ConnectPlanner.SHORTCUT_CROSSINGconstLink a questa voceconst SHORTCUT_CROSSING := 2.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/connect_planner.gd:27ConnectPlanner.pathstatic funcTiles fromatob(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).Link a questa vocestatic 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 reachesa(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.- Parametri
m: WorldMapkind: Stringa: Vector2ib: Vector2iarriving: int = -1max_expansions: int = 0pairs_tried: int = PAIRS
- Valore restituito
Array[Vector2i]
scripts/sim/connect_planner.gd:36ConnectPlanner.routestatic funcpath, with bridges and tunnels where the way needs them: {"tiles", "crossings": as RouteBuilder.last_crossings gives them}.Link a questa vocestatic func route(m: WorldMap, kind: String, a: Vector2i, b: Vector2i, year: int, arriving: int = -1, max_expansions: int = 0, pairs_tried: int = PAIRS) -> Dictionaryyear: the bridge styles there are by then (-1: no bridges or tunnels at all).- Parametri
m: WorldMapkind: Stringa: Vector2ib: Vector2iyear: intarriving: int = -1max_expansions: int = 0pairs_tried: int = PAIRS
- Valore restituito
Dictionary
- Chiama
RouteBuilder.jumps_for
scripts/sim/connect_planner.gd:44ConnectPlanner._shortcutstatic 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.Link a questa vocestatic func _shortcut(jumps: Dictionary) -> Dictionary- Parametri
jumps: Dictionary
- Valore restituito
Dictionary
scripts/sim/connect_planner.gd:73ConnectPlanner._routestatic funcOne search withjumps, from the best sides of the ends: route's {"tiles", "crossings"}.Link a questa vocestatic func _route(m: WorldMap, kind: String, a: Vector2i, b: Vector2i, jumps: Dictionary, arriving: int, max_expansions: int, pairs_tried: int) -> Dictionary- Parametri
m: WorldMapkind: Stringa: Vector2ib: Vector2ijumps: Dictionaryarriving: intmax_expansions: intpairs_tried: int
- Valore restituito
Dictionary
- Chiama
Const.opp,RouteBuilder.find
scripts/sim/connect_planner.gd:83ConnectPlanner.endsstatic funcWhere a search may start from endp(or, read backwards, finish at it), the other end being attoward: [{"tile", "dir": the way in (-1 any), "joined": true whenpitself is an existing piece the line joins from the free tile beside it}], best first.Link a questa vocestatic func ends(m: WorldMap, kind: String, p: Vector2i, toward: Vector2i) -> Array- Parametri
m: WorldMapkind: Stringp: Vector2itoward: Vector2i
- Valore restituito
Array
scripts/sim/connect_planner.gd:129ConnectPlanner._takes_a_piecestatic funcWhether any piece of road or track at all (straight or a bend) could go on tilet.Link a questa vocestatic func _takes_a_piece(m: WorldMap, kind: String, t: Vector2i) -> bool- Parametri
m: WorldMapkind: Stringt: Vector2i
- Valore restituito
bool
- Chiama
RouteBuilder._tile_cost
scripts/sim/connect_planner.gd:154ConnectPlanner._openstatic funcWhether a line ofkindcan be searched through tiletas it is: no building, station or depot on it, and no track already there for a railway (a road may run along a road).Link a questa vocestatic func _open(m: WorldMap, kind: String, t: Vector2i) -> bool- Parametri
m: WorldMapkind: Stringt: Vector2i
- Valore restituito
bool
scripts/sim/connect_planner.gd:163
Const
Const.MAP_SIZEconstLink a questa voceconst MAP_SIZE := 128Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/constants.gd:4Const.CHUNKconstLink a questa voceconst CHUNK := 16Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/constants.gd:5Const.HEIGHT_STEPconstworld units per height levelConst.MAX_HEIGHTconstLink a questa voceconst MAX_HEIGHT := 10Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/constants.gd:7Const.WATER_Yconstwater surface height in world unitsConst.DAY_SECONDSconstreal seconds per game day at 1x (OpenTTD: 74 ticks x 30 ms = 2.22 s)Const.VEHICLE_PACEconstVehicles 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.Const.START_YEARconstLink a questa voceconst START_YEAR := 1950Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/constants.gd:14Const.DIRSconstLink a questa voceconst DIRS: Array[Vector2i] = [Vector2i(0, -1), Vector2i(1, 0), Vector2i(0, 1), Vector2i(-1, 0)]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/constants.gd:17Const.BITconstLink a questa voceconst BIT: Array[int] = [1, 2, 4, 8]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/constants.gd:18Const.AXIS_BITSconstLink a questa voceconst AXIS_BITS: Array[int] = [10, 5]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/constants.gd:20Const.oppstatic funcLink a questa vocestatic func opp(d: int) -> int- Parametri
d: int
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/constants.gd:23
Economy
Economy.PRODUCTION_DAYSconstproduction runs every this many daysEconomy.LATE_SPANconsta late cargo loses its fare, on average, at a rate that would take all of it over this many times its on-time daysEconomy.LATE_EARLYconstbelow 1 the S-curve starts falling sooner after the on-time days; 1 is a symmetric SEconomy.LATE_FLOORconstno delivery pays less than this share of the full fareEconomy.PAX_PER_POPconstpassengers per resident per monthEconomy.MAIL_PER_POPconstbags of mail per resident per monthEconomy.WASTE_PER_POPconsttonnes of waste per resident per month (from the Late century, RAIL-29)Economy.PER_POPconstLink a questa voceconst PER_POP := {"pax": PAX_PER_POP, "mail": MAIL_PER_POP, "waste": WASTE_PER_POP}Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/economy.gd:12Economy.MAX_WAITINGconstLink a questa voceconst MAX_WAITING := 3000.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/economy.gd:13Economy.GIVE_UPconsteach production run, cargo waiting beyond a month's worth loses this share times (1 - rating)Economy.INFLOW_EASEconsthow fast a station's estimate of its monthly inflow follows what arrives (per production run)Economy.STAFF_NEUTRALconststaffing at which an industry leans neither to growing nor shrinking (see staff_lean)Economy.STAFF_TILTconsthow far staff_lean moves the odds that a production change is a riseEconomy.PROD_MINconstthe least a mine, farm or well makes in a monthEconomy.paymentstatic funcPayment for deliveringamountof cargocoverdisttiles indaysdays.Link a questa vocestatic func payment(c: String, amount: float, dist: float, days: float) -> int- Parametri
c: Stringamount: floatdist: floatdays: float
- Valore restituito
int
scripts/sim/economy.gd:22Economy.farestatic funcWhat one unit of cargocpays fordisttiles afterdayson the way.Link a questa vocestatic func fare(c: String, dist: float, days: float) -> floatFares don't change over the years: distance raises them in proportion, and lateness lowers them (see time_factor).
- Parametri
c: Stringdist: floatdays: float
- Valore restituito
float
- Chiama
Data.cargo_rate
scripts/sim/economy.gd:28Economy.time_factorstatic funcShare of the full fare still paid afterdayson 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).Link a questa vocestatic func time_factor(c: String, days: float) -> float- Parametri
c: Stringdays: float
- Valore restituito
float
- Chiama
Data.cargo_days
scripts/sim/economy.gd:35Economy.late_loss_per_daystatic 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.Link a questa vocestatic func late_loss_per_day(c: String) -> floatIn the steep part of the curve it falls about twice as fast.
- Parametri
c: String
- Valore restituito
float
- Chiama
Data.cargo_days
scripts/sim/economy.gd:44Economy.station_distancestatic funcLink a questa vocestatic func station_distance(a: Station, b: Station) -> float- Parametri
a: Stationb: Station
- Valore restituito
float
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/economy.gd:48Economy.producestatic funcLink a questa vocestatic func produce(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
- Chiama
Data.town_makes,Calendar.from_day
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/economy.gd:56Economy._linksstatic funcWhich stations reach which industries, both ways round: {"sts": Industry -> [Station], "inds": Station -> [Industry]}, each list in map order.Link a questa vocestatic func _links(m: WorldMap) -> DictionaryKept on the map and rebuilt only when a station's catchment changes or a station or industry comes or goes (never saved).
- Parametri
m: WorldMap
- Valore restituito
Dictionary
scripts/sim/economy.gd:112Economy.industry_stationsstatic funcStations whose catchment touches any tile of the industry.Link a questa vocestatic func industry_stations(m: WorldMap, ind: Industry) -> Array- Parametri
m: WorldMapind: Industry
- Valore restituito
Array
scripts/sim/economy.gd:142Economy._distributestatic funcGiveamtof cargo to the (up to two) best-rated stations that serve it.Link a questa vocestatic func _distribute(stations: Array, c: String, amt: float) -> floatReturns the amount moved.
- Parametri
stations: Arrayc: Stringamt: float
- Valore restituito
float
scripts/sim/economy.gd:157Economy.shut_outstatic funcWhetherstgets no new cargo because another company holds exclusive transport rights in its town (a town request's reward, see Opportunities).Link a questa vocestatic func shut_out(st: Station) -> bool- Parametri
st: Station
- Valore restituito
bool
scripts/sim/economy.gd:195Economy._update_ratingsstatic funcRatings drift toward a target set by pickup frequency, vehicle speed and waiting cargo.Link a questa vocestatic func _update_ratings(sim: Sim) -> voidThen cargo that has piled up gives up (see give_up).
- Parametri
sim: Sim
- Valore restituito
void
scripts/sim/economy.gd:201Economy.give_upstatic funcCargocwaiting atstthat 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%.Link a questa vocestatic func give_up(st: Station, c: String) -> floatAt 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.
- Parametri
st: Stationc: String
- Valore restituito
float
scripts/sim/economy.gd:234Economy._update_inflowstatic funcFold what came tostsince the last production run into its estimate of a month's inflow.Link a questa vocestatic func _update_inflow(st: Station) -> void- Parametri
st: Station
- Valore restituito
void
scripts/sim/economy.gd:242Economy.unloadstatic funcUnload what this station accepts; pay the owner.Link a questa vocestatic func unload(sim: Sim, v: Vehicle, st: Station) -> intReturns units moved.
- Parametri
sim: Simv: Vehiclest: Station
- Valore restituito
int
scripts/sim/economy.gd:256Economy.FEEDER_SHAREconstA 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.Link a questa voceconst FEEDER_SHARE := 0.75It 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.
Dichiarato inscripts/sim/economy.gd:324Economy.deliver_to_industriesstatic funcLink a questa vocestatic func deliver_to_industries(sim: Sim, st: Station, c: String, amount: int) -> void- Parametri
sim: Simst: Stationc: Stringamount: int
- Valore restituito
void
- Chiama
IndustryLife.build
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/economy.gd:333Economy._full_setsstatic funcA plant that needs every input (Data.INDUSTRY "needs_all") holds what comes until the rest does:amountofcjoins its store, and every full set (one unit of each input) goes into the works.Link a questa vocestatic func _full_sets(ind: Industry, c: String, amount: float) -> floatReturns how many units go in, so each set makes as many units of output as it took in.
- Parametri
ind: Industryc: Stringamount: float
- Valore restituito
float
scripts/sim/economy.gd:369Economy.hire_commutersstatic funcPassengers delivered tostgo to work at the industries it reaches (RAIL-28), each taking on what it still needs this month, in map order.Link a questa vocestatic func hire_commuters(m: WorldMap, st: Station, amount: float) -> floatReturns how many found work; the rest are ordinary passengers (the fare is the same either way).
- Parametri
m: WorldMapst: Stationamount: float
- Valore restituito
float
scripts/sim/economy.gd:384Economy.reachesstatic funcWhetherst's catchment touchesind(from the cached links: nothing is copied).Link a questa vocestatic func reaches(m: WorldMap, st: Station, ind: Industry) -> bool- Parametri
m: WorldMapst: Stationind: Industry
- Valore restituito
bool
scripts/sim/economy.gd:394Economy.industry_stations_reversestatic funcLink a questa vocestatic func industry_stations_reverse(m: WorldMap, st: Station) -> Array- Parametri
m: WorldMapst: Station
- Valore restituito
Array
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/economy.gd:398Economy.monthlystatic funcLink a questa vocestatic func monthly(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/economy.gd:413Economy._charge_infrastructurestatic funcMonthly upkeep of everything companies own besides stations: track, overhead wires, signals, bridges and tunnels, and depots.Link a questa vocestatic func _charge_infrastructure(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
- Chiama
WorldMap.crossing_tiles
scripts/sim/economy.gd:446Economy._councilstatic funcCouncils like companies that serve their town and grow tired of neglected stations.Link a questa vocestatic func _council(sim: Sim, t: Town) -> void- Parametri
sim: Simt: Town
- Valore restituito
void
- Chiama
L.t
scripts/sim/economy.gd:491Economy.staff_leanstatic 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.Link a questa vocestatic 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.
- Parametri
m: WorldMapind: Industryindex: Industry.StaffingIndex = null
- Valore restituito
float
scripts/sim/economy.gd:528Economy._maybe_change_productionstatic funcLink a questa vocestatic func _maybe_change_production(sim: Sim, ind: Industry, index: Industry.StaffingIndex) -> void- Parametri
sim: Simind: Industryindex: Industry.StaffingIndex
- Valore restituito
void
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/economy.gd:532
FirstSteps
FirstSteps.PAIR_DISTconsttiles apart a first bus route pays well over and costs little road forFirstSteps.PAIR_MINconstcloser than this, two towns are one place to a passengerFirstSteps.PAIR_FROMconstpairs are chosen among this many towns nearest the viewFirstSteps.CENTREconsttiles from a town's centre whose roads count as the town'sFirstSteps.town_pairstatic funcTwo towns neararound(a tile) that make a good first bus route: about PAIR_DIST apart, near the view, the bigger the better.Link a questa vocestatic func town_pair(m: WorldMap, around: Vector2) -> Array[Town, Town], or [] on a map with fewer than two towns.
- Parametri
m: WorldMaparound: Vector2
- Valore restituito
Array
scripts/sim/first_steps.gd:15FirstSteps._fromstatic funcLink a questa vocestatic func _from(t: Town, p: Vector2) -> float- Parametri
t: Townp: Vector2
- Valore restituito
float
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/first_steps.gd:35FirstSteps.towns_joinedstatic funcWhether a road runs from the middle of townato the middle of townb.Link a questa vocestatic func towns_joined(m: WorldMap, a: Town, b: Town) -> bool- Parametri
m: WorldMapa: Townb: Town
- Valore restituito
bool
- Chiama
Pathfinder.find
scripts/sim/first_steps.gd:40FirstSteps._centre_roadsstatic funcThe road tiles near a town's centre (its first crossroads is there), as a set.Link a questa vocestatic func _centre_roads(m: WorldMap, t: Town) -> Dictionary- Parametri
m: WorldMapt: Town
- Valore restituito
Dictionary
scripts/sim/first_steps.gd:49FirstSteps.road_stopsstatic funcwho's road stops (a station with a road stop).Link a questa vocestatic func road_stops(m: WorldMap, who: Company) -> Array- Parametri
m: WorldMapwho: Company
- Valore restituito
Array
scripts/sim/first_steps.gd:59FirstSteps.joined_stopsstatic funcTwo ofwho's road stops that a road joins, so a bus could run between them: [Station, Station], or [].Link a questa vocestatic func joined_stops(sim: Sim, who: Company) -> ArrayOne search per stop at most, each towards all the stops after it.
- Parametri
sim: Simwho: Company
- Valore restituito
Array
scripts/sim/first_steps.gd:69FirstSteps.depot_readystatic funcWhether a new bus could leave forstnow: with depots in the rules, one ofwho's road depots must be joined to it.Link a questa vocestatic func depot_ready(sim: Sim, who: Company, st: Station) -> bool- Parametri
sim: Simwho: Companyst: Station
- Valore restituito
bool
scripts/sim/first_steps.gd:87FirstSteps.route_vehiclestatic funcwho's newest vehicle that has a route (two stops or more), or null.Link a questa vocestatic func route_vehicle(sim: Sim, who: Company) -> Vehicle- Parametri
sim: Simwho: Company
- Valore restituito
Vehicle
scripts/sim/first_steps.gd:92FirstSteps.has_stationstatic funcWhetherwhohas a station of any kind.Link a questa vocestatic func has_station(m: WorldMap, who: Company) -> bool- Parametri
m: WorldMapwho: Company
- Valore restituito
bool
scripts/sim/first_steps.gd:101FirstSteps.town_linkstatic funcA vehicle ofwho's that carries passengers between stops in two different towns, or null.Link a questa vocestatic func town_link(sim: Sim, who: Company) -> Vehicle- Parametri
sim: Simwho: Company
- Valore restituito
Vehicle
scripts/sim/first_steps.gd:109FirstSteps._takenstatic varcargo -> true: what some industry takes, in any era (industry_takes)FirstSteps.industry_takesstatic funcWhether cargocis something an industry takes in, in any era (so delivering it delivers to an industry).Link a questa vocestatic func industry_takes(c: String) -> bool- Parametri
c: String
- Valore restituito
bool
- Chiama
Data.accepts
scripts/sim/first_steps.gd:128
Fmt
Fmt.int_commasstatic funcLink a questa vocestatic func int_commas(n: int) -> String- Parametri
n: int
- Valore restituito
String
- Chiama
L.thousands
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/fmt.gd:5Fmt.moneystatic funcFormats an integer dollar amount with the active language’s digit grouping and currency placement.Link a questa vocestatic func money(n: int) -> StringThe result is a string for display.
- Parametri
n: int
- Valore restituito
String
- Chiama
L.t
scripts/core/fmt.gd:15Fmt.cargo_liststatic funcLink a questa vocestatic func cargo_list(ids: Array) -> String- Parametri
ids: Array
- Valore restituito
String
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/fmt.gd:19Fmt.short_moneystatic funcCompact money for chart axes and tiles: $950, $12k, $1.4M.Link a questa vocestatic func short_money(n: int) -> String- Parametri
n: int
- Valore restituito
String
- Chiama
L.t
scripts/core/fmt.gd:27
Goals
Goals.STEPSconstThe checklist, in the order a company usually gets there: [id, title, how to do it].Goals.ACHIEVEMENTSconstAchievements:tiersgives one achievement per number ("<kind>_<number>"); the others are one each.Goals.KINDSconstLink a questa voceconst KINDS := ["road", "rail", "water", "air"]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/goals.gd:42Goals.SERVED_DAYSconsta town counts as served while one of your stations there has picked up passengers this recentlyGoals.LEAGUE_AGEconstdays: a lead in the league counts once the company is this old (before, it isGoals.GOAL_IDSconstThe 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.Link a questa voceconst GOAL_IDS := ["none", "value_1m", "value_10m", "league"]Dichiarato inscripts/sim/goals.gd:49Goals.GOALSconstLink a questa voceconst GOALSQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/goals.gd:50Goals.stepsvarstep id -> game day it was doneGoals.unlockedvarachievement id -> game day it was wonGoals.goal_resultvar"won" or "missed" once the company goal is decidedGoals.goal_dayvar...and the day it wasGoals.paxvarpassengers delivered, all closed months togetherGoals.deliveredvarcargo -> true: every cargo the company has deliveredGoals.revvargoes up whenever something is ticked off, won or missedGoals._station_idvarthe map's next station id at the last look (a new station since?)Goals._vehicle_idvarthe same for vehiclesGoals._pax_monthvarpassengers delivered this month at the last lookGoals._quietvarcatching up an old save: no newsGoals.check_stepsfuncTick off the first steps done since the last look.Link a questa vocefunc check_steps(sim: Sim) -> voidCheap: see the top of the file.
- Parametri
sim: Sim
- Valore restituito
void
scripts/sim/goals.gd:72Goals._check_stepsfunccargo: what the company has delivered lately, cargo -> [units, $];rail_paid: a train has earned.Link a questa vocefunc _check_steps(sim: Sim, cargo: Dictionary, rail_paid: bool) -> void- Parametri
sim: Simcargo: Dictionaryrail_paid: bool
- Valore restituito
void
- Chiama
FirstSteps.has_station,FirstSteps.route_vehicle,FirstSteps.town_link,FirstSteps.industry_takes
scripts/sim/goals.gd:80Goals._tickfuncLink a questa vocefunc _tick(sim: Sim, id: String) -> void- Parametri
sim: Simid: String
- Valore restituito
void
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/goals.gd:107Goals.step_titlestatic funcLink a questa vocestatic func step_title(id: String) -> String- Parametri
id: String
- Valore restituito
String
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/goals.gd:116Goals.monthlyfuncMonth end (Sim._on_day, once the month's books are closed): the month in profit, the achievements and the company goal.Link a questa vocefunc monthly(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
scripts/sim/goals.gd:127Goals._judgefuncLook at the figures again and unlock what they reach, then decide the goal if it is due.Link a questa vocefunc _judge(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
scripts/sim/goals.gd:140Goals.operating_profitstatic funcA month's income less its running costs and upkeep (buying and building aside), as the company overview's chart counts it.Link a questa vocestatic func operating_profit(mo: Dictionary) -> int- Parametri
mo: Dictionary
- Valore restituito
int
scripts/sim/goals.gd:151Goals.measurefuncThe 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.Link a questa vocefunc measure(sim: Sim) -> Dictionarybestis the best rival's value;leads, whether the company is worth more than every rival and old enough to count.- Parametri
sim: Sim
- Valore restituito
Dictionary
scripts/sim/goals.gd:158Goals.cargos_in_gamestatic funcThe cargos this map has now: passengers, mail (and from the Late century waste) from the towns, and what its industries make.Link a questa vocestatic func cargos_in_game(m: WorldMap) -> ArrayCargos whose industries haven't appeared yet (a later era's) aren't among them until one opens.
- Parametri
m: WorldMap
- Valore restituito
Array
- Chiama
Data.town_makes
scripts/sim/goals.gd:190Goals.ids_ofstatic funcThe ids of an achievement's tiers (or its one id).Link a questa vocestatic func ids_of(a: Dictionary) -> Array- Parametri
a: Dictionary
- Valore restituito
Array
scripts/sim/goals.gd:201Goals.reachedstatic funcWhether the figuresf(see measure) reach achievementid.Link a questa vocestatic func reached(id: String, f: Dictionary) -> bool- Parametri
id: Stringf: Dictionary
- Valore restituito
bool
scripts/sim/goals.gd:208Goals.unlockfuncWin achievementidtoday (if it isn't already), with news.Link a questa vocefunc unlock(sim: Sim, id: String) -> void- Parametri
sim: Simid: String
- Valore restituito
void
- Chiama
L.t
scripts/sim/goals.gd:219Goals.achievement_namestatic funcWhat an achievement is called: the tier's own name, or the achievement's.Link a questa vocestatic func achievement_name(id: String) -> String- Parametri
id: String
- Valore restituito
String
- Chiama
L.t,Fmt.money,Fmt.int_commas
scripts/sim/goals.gd:228Goals.title_ofstatic funcAn achievement's heading in the Goals window.Link a questa vocestatic func title_of(kind: String) -> String- Parametri
kind: String
- Valore restituito
String
- Chiama
L.t
scripts/sim/goals.gd:240Goals.goal_ofstatic funcLink a questa vocestatic func goal_of(sim: Sim) -> String- Parametri
sim: Sim
- Valore restituito
String
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/goals.gd:255Goals.goal_namestatic funcWhat a goal asks, in a few words.Link a questa vocestatic func goal_name(id: String) -> String- Parametri
id: String
- Valore restituito
String
scripts/sim/goals.gd:260Goals.goal_shortstatic funcThe same, short enough for the new-game screen's list.Link a questa vocestatic func goal_short(id: String) -> String- Parametri
id: String
- Valore restituito
String
- Chiama
L.t
scripts/sim/goals.gd:270Goals.round_numberstatic funcA round number in few characters: 50, 100k, 10M.Link a questa vocestatic func round_number(n: int) -> String- Parametri
n: int
- Valore restituito
String
scripts/sim/goals.gd:280Goals.deadlinestatic funcThe last day to reach the goal: so many years after the company was founded.Link a questa vocestatic func deadline(sim: Sim) -> int- Parametri
sim: Sim
- Valore restituito
int
scripts/sim/goals.gd:289Goals.goal_metstatic funcWhether figuresf(see measure) meet the game's goal.Link a questa vocestatic func goal_met(sim: Sim, f: Dictionary) -> bool- Parametri
sim: Simf: Dictionary
- Valore restituito
bool
scripts/sim/goals.gd:297Goals._check_goalfuncLink a questa vocefunc _check_goal(sim: Sim, f: Dictionary) -> void- Parametri
sim: Simf: Dictionary
- Valore restituito
void
- Chiama
L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/goals.gd:306Goals._newsfuncLink a questa vocefunc _news(sim: Sim, text: String, kind: String = "good") -> void- Parametri
sim: Simtext: Stringkind: String = "good"
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/goals.gd:322Goals.to_dictfuncLink a questa vocefunc to_dict() -> Dictionary- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/goals.gd:329Goals.from_dictstatic funcLink a questa vocestatic func from_dict(d: Dictionary) -> Goals- Parametri
d: Dictionary
- Valore restituito
Goals
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/goals.gd:334Goals.caught_upstatic 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).Link a questa vocestatic func caught_up(sim: Sim) -> Goals- Parametri
sim: Sim
- Valore restituito
Goals
scripts/sim/goals.gd:350
IndustryLife
IndustryLife.OPENS_A_YEARconstopenings a year for each industry the map started withIndustryLife.WARNS_A_YEARconstchance a year a struggling industry is warned (staff tilt it)IndustryLife.UNSERVED_MONTHSconstnobody has loaded its cargo for this long before it can struggleIndustryLife.FLOORconst...and it makes at most this share of its kind's usual outputIndustryLife.WARN_DAYSconsthow long before closing it is warnedIndustryLife.RESCUE_DAYSconsta pickup (or delivery) this recent lifts the warningIndustryLife.FADEconsta retiring mine loses this share of its output every yearIndustryLife.RENEWABLEconsthow much likelier a renewable kind is to open than its count saysIndustryLife.WIND_REACHconsttowns this close to a wind farm grow faster and thank its buildersIndustryLife.WIND_RATINGconstcouncil rating a builder gains, times its share of the deliveriesIndustryLife.WIND_GROWTHconst...and growth waits this share as long in a town near oneIndustryLife.monthlystatic funcLink a questa vocestatic func monthly(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
- Chiama
L.t,Economy.staff_lean
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/industry_life.gd:40IndustryLife.yearlystatic funcOnce a year: retiring mines make a little less.Link a questa vocestatic func yearly(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
- Chiama
Data.retiring
scripts/sim/industry_life.gd:72IndustryLife._roomstatic funcThe map's room for industries ashore and at sea (see Sim.industry_room).Link a questa vocestatic func _room(sim: Sim) -> Vector2i- Parametri
sim: Sim
- Valore restituito
Vector2i
- Chiama
WorldGen.industry_room
scripts/sim/industry_life.gd:79IndustryLife.servedstatic funcWhether a company has loadedind's cargo at a station in its reach, or delivered cargo to it, within the lastdays.Link a questa vocestatic func served(sim: Sim, ind: Industry, days: float) -> bool- Parametri
sim: Simind: Industrydays: float
- Valore restituito
bool
scripts/sim/industry_life.gd:89IndustryLife.strugglingstatic 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.Link a questa vocestatic func struggling(sim: Sim, ind: Industry, index: Industry.StaffingIndex = null) -> boolOne 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.
- Parametri
sim: Simind: Industryindex: Industry.StaffingIndex = null
- Valore restituito
bool
- Chiama
Data.retiring
scripts/sim/industry_life.gd:107IndustryLife.warnstatic funcTell everyoneindcloses in a year unless it is served by then.Link a questa vocestatic func warn(sim: Sim, ind: Industry) -> void- Parametri
sim: Simind: Industry
- Valore restituito
void
- Chiama
L.t
scripts/sim/industry_life.gd:119IndustryLife.closing_textstatic funcThe day a struggling industry closes and what saves it, for its window and the Problems list.Link a questa vocestatic func closing_text(ind: Industry) -> String- Parametri
ind: Industry
- Valore restituito
String
- Chiama
L.t,Calendar.format
scripts/sim/industry_life.gd:127IndustryLife.rescuestatic 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.Link a questa vocestatic func rescue(ind: Industry) -> String- Parametri
ind: Industry
- Valore restituito
String
- Chiama
L.lower,Fmt.cargo_list
scripts/sim/industry_life.gd:135IndustryLife.closestatic funcTakeindoff 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).Link a questa vocestatic func close(sim: Sim, ind: Industry) -> void- Parametri
sim: Simind: Industry
- Valore restituito
void
- Chiama
L.t
scripts/sim/industry_life.gd:141IndustryLife._pick_typestatic funcWhich kind opens: weighed by how common each is on a new map, among those of this era that the map has room for.Link a questa vocestatic func _pick_type(sim: Sim) -> StringKinds 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.
- Parametri
sim: Sim
- Valore restituito
String
- Chiama
Data.opens,Data.retiring
scripts/sim/industry_life.gd:169IndustryLife._renewablestatic funcA kind that comes with the era that retires others (the Green age's wind farm sites).Link a questa vocestatic func _renewable(type: String) -> bool- Parametri
type: String
- Valore restituito
bool
scripts/sim/industry_life.gd:191IndustryLife._introducestatic 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).Link a questa vocestatic func _introduce(sim: Sim) -> voidA 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).
- Parametri
sim: Sim
- Valore restituito
void
- Chiama
Data.opens,WorldGen.type_count
scripts/sim/industry_life.gd:205IndustryLife._made_fromstatic funcThe kind an industry oftypewas before it was finished (a wind farm: its site), ortype.Link a questa vocestatic func _made_from(type: String) -> String- Parametri
type: String
- Valore restituito
String
scripts/sim/industry_life.gd:221IndustryLife.buildstatic funcamountofcdelivered to a construction site (Data.INDUSTRY "builds") bywho: it counts towards the site's totals, and once they are all in the site becomes what it was building.Link a questa vocestatic func build(sim: Sim, ind: Industry, c: String, amount: float, who: Company) -> void- Parametri
sim: Simind: Industryc: Stringamount: floatwho: Company
- Valore restituito
void
scripts/sim/industry_life.gd:232IndustryLife.finishstatic funcA site has all it needs: it becomes a wind farm.Link a questa vocestatic func finish(sim: Sim, ind: Industry) -> voidIts 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.
- Parametri
sim: Simind: Industry
- Valore restituito
void
- Chiama
WorldGen.industry_name,L.t
scripts/sim/industry_life.gd:243IndustryLife.near_wind_farmstatic funcWhether a wind farm stands within WIND_REACH of townt(it grows faster: see Sim).Link a questa vocestatic func near_wind_farm(m: WorldMap, t: Town) -> bool- Parametri
m: WorldMapt: Town
- Valore restituito
bool
scripts/sim/industry_life.gd:270IndustryLife.openstatic funcOpen an industry oftypewhere WorldGen would put one, on ground where nothing is built.Link a questa vocestatic func open(sim: Sim, type: String) -> IndustryReturns it, or null when there is no such site (or a ship is on its way through the one found).
- Parametri
sim: Simtype: String
- Valore restituito
Industry
- Chiama
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
scripts/sim/industry_life.gd:280IndustryLife._ships_throughstatic funcWhether a ship's course runs throughr(an oil rig opening there would stand in its way).Link a questa vocestatic func _ships_through(sim: Sim, r: Rect2i) -> bool- Parametri
sim: Simr: Rect2i
- Valore restituito
bool
scripts/sim/industry_life.gd:312IndustryLife._changedstatic funcAfter an industry came or went insider: 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).Link a questa vocestatic func _changed(sim: Sim, r: Rect2i) -> void- Parametri
sim: Simr: Rect2i
- Valore restituito
void
scripts/sim/industry_life.gd:323
L
L.DIRSconstLink a questa voceconst DIRS := ["res://lang", "user://lang"]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/l.gd:18L.FALLBACKconstLink a questa voceconst FALLBACK := "en"Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/l.gd:19L.ELIDE_DEconstLanguages where "de" before a vowel is written "d'" (see tidy).L.KEEP_CASEconstLanguages whose nouns keep their capital in mid-sentence (see lower).L.langstatic varLink a questa vocestatic var lang := "en"Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/l.gd:25L._tablesstatic varlanguage code -> {english: translated}L._tablestatic varthe current language's tableL._loadedstatic varLink a questa vocestatic var _loaded := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/core/l.gd:28L._registeredstatic varlanguage code -> Translation given to the TranslationServerL.missesstatic varSet to a dictionary to collect every text looked up that has no translation (for tools/i18n_report).L._miss_mutexstatic varLink a questa vocestatic var _miss_mutex := Mutex.new()Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/l.gd:32L._guardedstatic varLink a questa vocestatic var _guarded := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/core/l.gd:33L._elidestatic varLink a questa vocestatic var _elide: RegEx = nullQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/core/l.gd:34L.tstatic funcThe text in the current language.Link a questa vocestatic func t(s: String) -> String- Parametri
s: String
- Valore restituito
String
scripts/core/l.gd:58L.tidystatic funcSmooth text assembled from pieces, where a name was dropped into a translated sentence.Link a questa vocestatic func tidy(s: String) -> StringCatalan 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.)
- Parametri
s: String
- Valore restituito
String
scripts/core/l.gd:75L.lowerstatic funcA name (cargo, building...) in lower case for use mid-sentence - except in German, where nouns keep their capital: "Takes coal", "Nimmt Kohle".Link a questa vocestatic func lower(s: String) -> String- Parametri
s: String
- Valore restituito
String
scripts/core/l.gd:86L.nstatic func"1 tile" / "7 tiles":oneis used for exactly one,many(with a %d) otherwise.Link a questa vocestatic func n(one: String, many: String, count: int) -> String- Parametri
one: Stringmany: Stringcount: int
- Valore restituito
String
scripts/core/l.gd:91L.eachstatic funcA list of names in the current language, e.g.Link a questa vocestatic func each(items: Array) -> PackedStringArraycargo names from the data tables.
- Parametri
items: Array
- Valore restituito
PackedStringArray
scripts/core/l.gd:98L.load_allstatic funcRead every language file.Link a questa vocestatic func load_all(extra_dirs: Array = []) -> voidLater directories (the player's own, then mods) override earlier ones.
- Parametri
extra_dirs: Array = []
- Valore restituito
void
scripts/core/l.gd:106L.load_filestatic funcParse one language file into the tables.Link a questa vocestatic func load_file(path: String) -> intReturns the number of translations read.
- Parametri
path: String
- Valore restituito
int
scripts/core/l.gd:122L._unquotestatic funcText that starts or ends with a space is written in double quotes: > "Tip: "Link a questa vocestatic func _unquote(s: String) -> String- Parametri
s: String
- Valore restituito
String
scripts/core/l.gd:148L.languagesstatic funcLanguages the player can pick: [[code, name in that language]], English first.Link a questa vocestatic func languages() -> Array- Valore restituito
Array
scripts/core/l.gd:155L.system_languagestatic funcThe language to use for a setting of "auto": the system's, if we have it.Link a questa vocestatic func system_language() -> String- Valore restituito
String
scripts/core/l.gd:168L.set_languagestatic funcSwitch language.Link a questa vocestatic func set_language(code: String) -> void"auto" follows the system.
- Parametri
code: String
- Valore restituito
void
scripts/core/l.gd:176L.releasestatic funcTake our translations back out of the TranslationServer (see _Guard).Link a questa vocestatic func release() -> void- Valore restituito
void
scripts/core/l.gd:195L.thousandsstatic funcHow thousands are grouped: 1,234 in English, 1.234 in most others, 1 234 in French.Link a questa vocestatic func thousands() -> String- Valore restituito
String
scripts/core/l.gd:203L._guardstatic funcLink a questa vocestatic func _guard() -> void- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/l.gd:207
Line
Line.COLORSconstLink a questa voceconst COLORSQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/line.gd:11Line.idvarLink a questa vocevar id := 0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/line.gd:14Line.namevarLink a questa vocevar name := ""Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/line.gd:15Line.colorvarLink a questa vocevar color := Color.WHITEQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/line.gd:16Line.kindvarLink a questa vocevar kind := "road"Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/line.gd:17Line.ownervarLink a questa vocevar owner: CompanyQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/line.gd:18Line.ordersvar[{"st": Station, "full": bool, "transfer": bool}], shared with every vehicle on itLine.spacingvarKeep 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.Line.lap_daysvara round trip, on average (days); -1 until one has been timedLine.last_departurevargame day a vehicle of the line last left the first stopLine._initfuncLink a questa vocefunc _init(p_id: int = 0, p_name: String = "", p_kind: String = "road", p_owner: Company = null) -> void- Parametri
p_id: int = 0p_name: String = ""p_kind: String = "road"p_owner: Company = null
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/line.gd:27Line.stopsfuncReturns the station objects in the order vehicles visit them on this line.Line.vehiclesfuncThe vehicles on this line, in the order they were bought.Link a questa vocefunc vehicles(sim: Sim) -> Array- Parametri
sim: Sim
- Valore restituito
Array
scripts/sim/line.gd:40Line.gapfuncThe gap (in days) the vehicles should keep at the first stop: a round trip shared out amongnof them.Link a questa vocefunc gap(n: int) -> float0 when there is nothing to keep apart, or no round trip timed yet.
- Parametri
n: int
- Valore restituito
float
scripts/sim/line.gd:46Line.note_departurefuncA vehicle of this line just left the first stop;lapis how long it took to come round since it last left it (-1 the first time).Link a questa vocefunc note_departure(day: float, lap: float) -> void- Parametri
day: floatlap: float
- Valore restituito
void
scripts/sim/line.gd:54Line.route_textfuncA route in a few words: "Ashford → Millbury".Link a questa vocefunc route_text() -> String- Valore restituito
String
scripts/sim/line.gd:61Line.totalsfuncThe line's numbers, added up over its vehicles: {"count", "profit", "last", "load" (-1 when none known), "running", "old", "stopped"}.Link a questa vocefunc totals(sim: Sim) -> Dictionary- Parametri
sim: Sim
- Valore restituito
Dictionary
scripts/sim/line.gd:73
Mods
Mods.DIRSconstLink a questa voceconst DIRS := ["res://mods", "user://mods"]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/mods.gd:14Mods.USER_DIRconstLink a questa voceconst USER_DIR := "user://mods"Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/mods.gd:15Mods.UNPACKEDconstLink a questa voceconst UNPACKED := "user://mods/.unpacked"Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/mods.gd:16Mods.SAMPLES_ZIPconstAn 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.Mods.SAMPLESconstLink a questa voceconst SAMPLES := "user://mods/.samples"Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/mods.gd:20Mods.KINDSconstLink a questa voceconst KINDS := ["rail", "road", "water", "air"]Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/mods.gd:21Mods.foundstatic varEvery mod found: {"id", "name", "version", "author", "description", "path", "builtin", "has": {"data", "lang", "maps", "models", "script"}, "enabled", "error"}.Mods.scriptsstatic varlive Mod instances of the enabled script modsMods.mapsstatic varMaps offered in New game: {"name", "description", "heightmap", "params", "mod"}.Mods._meshesstatic varmodel id -> ArrayMesh loaded from a mod's .glbMods._appliedstatic varLink a questa vocestatic var _applied := falseQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/core/mods.gd:30Mods.log_linesstatic varwhat went wrong, for the Mods screenMods.scanstatic funcLook through the mod folders.Link a questa vocestatic func scan() -> voidZips in the player's folder are unpacked first.
- Valore restituito
void
scripts/core/mods.gd:37Mods.read_infostatic funcRead a mod folder's mod.json.Link a questa vocestatic func read_info(path: String) -> DictionaryReturns {} if it isn't a mod (with a note in the log if it tried to be).
- Parametri
path: String
- Valore restituito
Dictionary
scripts/core/mods.gd:72Mods._unpack_zipsstatic funcA .zip dropped in the mods folder is unpacked next to the others (once per version of the file).Link a questa vocestatic func _unpack_zips() -> void- Valore restituito
void
scripts/core/mods.gd:102Mods._unpack_samplesstatic funcUnpack the samples that ship in an exported game (once per version of them).Link a questa vocestatic func _unpack_samples() -> boolFalse if that failed.
- Valore restituito
bool
scripts/core/mods.gd:143Mods._remove_treestatic funcLink a questa vocestatic func _remove_tree(path: String) -> void- Parametri
path: String
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/mods.gd:172Mods._notestatic funcLink a questa vocestatic func _note(line: String) -> void- Parametri
line: String
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/mods.gd:184Mods.enabledstatic funcLink a questa vocestatic func enabled() -> Array- Valore restituito
Array
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/mods.gd:189Mods.by_idstatic funcLink a questa vocestatic func by_id(id: String) -> Dictionary- Parametri
id: String
- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/mods.gd:193Mods.set_enabledstatic funcSwitch a mod on or off and rebuild what mods add.Link a questa vocestatic func set_enabled(id: String, on: bool) -> voidRemembered in the settings.
- Parametri
id: Stringon: bool
- Valore restituito
void
scripts/core/mods.gd:201Mods.applystatic funcRebuild everything the enabled mods add.Link a questa vocestatic func apply(rescan: bool = true) -> voidSafe to call again: it starts from the plain game.
- Parametri
rescan: bool = true
- Valore restituito
void
- Chiama
Data.clear_mods,L.load_all,L.set_language
scripts/core/mods.gd:214Mods._apply_onestatic funcLink a questa vocestatic func _apply_one(m: Dictionary) -> String- Parametri
m: Dictionary
- Valore restituito
String
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/mods.gd:241Mods._apply_datastatic funcCheck and merge one mod's data.json.Link a questa vocestatic func _apply_data(m: Dictionary, d: Dictionary) -> StringReturns "" or what's wrong (nothing is added then).
- Parametri
m: Dictionaryd: Dictionary
- Valore restituito
String
scripts/core/mods.gd:265Mods._collect_mapsstatic funcmaps/NAME.png, with an optional maps/NAME.json: {"name", "description", "settings": {...}} where settings are new-game parameters (w, h, towns, industries, year, ...).Link a questa vocestatic func _collect_maps(m: Dictionary) -> void- Parametri
m: Dictionary
- Valore restituito
void
scripts/core/mods.gd:333Mods.vehicle_meshstatic funcThe mesh a mod supplies for a vehicle model (from its .glb), or null to use the game's own.Link a questa vocestatic func vehicle_mesh(model_id: String) -> ArrayMeshThe mesh keeps the materials it was made with.
- Parametri
model_id: String
- Valore restituito
ArrayMesh
- Chiama
Data.model,Data.has_model
scripts/core/mods.gd:364Mods.load_glbstatic funcRead a .glb / .gltf into one mesh (every mesh in the file, in place, with its materials).Link a questa vocestatic func load_glb(file: String) -> ArrayMeshConvention, as for the game's own models: the vehicle faces -Z, stands on y = 0, centred.
- Parametri
file: String
- Valore restituito
ArrayMesh
scripts/core/mods.gd:379Mods._merge_meshesstatic funcLink a questa vocestatic func _merge_meshes(n: Node, xf: Transform3D, out: ArrayMesh) -> void- Parametri
n: Nodexf: Transform3Dout: ArrayMesh
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/core/mods.gd:393Mods.hookstatic funcCall a hook on every enabled script mod.Link a questa vocestatic func hook(method: String, args: Array = []) -> voidA mod whose hook fails is reported, not fatal.
- Parametri
method: Stringargs: Array = []
- Valore restituito
void
scripts/core/mods.gd:424Mods.allow_newsstatic funcNews goes out unless a mod's _on_news returns false.Link a questa vocestatic func allow_news(sim: Sim, item: Dictionary) -> bool- Parametri
sim: Simitem: Dictionary
- Valore restituito
bool
scripts/core/mods.gd:430Mods.save_statestatic funcWhat goes into a saved game: which mods were on, and each script mod's own data.Link a questa vocestatic func save_state(sim: Sim) -> Dictionary- Parametri
sim: Sim
- Valore restituito
Dictionary
scripts/core/mods.gd:438Mods.load_statestatic 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).Link a questa vocestatic func load_state(sim: Sim, state: Dictionary) -> Array- Parametri
sim: Simstate: Dictionary
- Valore restituito
Array
scripts/core/mods.gd:451
Opportunities
Opportunities.MAX_SUBSIDIESconstFew 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).Link a questa voceconst MAX_SUBSIDIES := 2subsidies on offer at once (won ones aside)
Dichiarato inscripts/sim/opportunities.gd:44Opportunities.MAX_REQUESTSconsttown requests open on the map at onceOpportunities.OFFER_CHANCEconstchance a month of a new subsidy while there is room, and the same for a requestOpportunities.DAY_CHANCEconst...as a chance a day (daily), so that over a month it comes to OFFER_CHANCE.Link a questa voceconst DAY_CHANCE := 1.0 - pow(1.0 - OFFER_CHANCE, 1.0 / 30.0)Dichiarato inscripts/sim/opportunities.gd:48Opportunities.TRIESconstsources (or towns) tried for a new offerOpportunities.SUBSIDY_MINconsttiles between the ends of a subsidised route (along the axes)Opportunities.SUBSIDY_MAXconstLink a questa voceconst SUBSIDY_MAX := 60Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/opportunities.gd:51Opportunities.SUBSIDY_DAYSconstan offer nobody takes lapses after this longOpportunities.SUBSIDY_MULTconstthe winner's fares on the route...Opportunities.SUBSIDY_YEARSconst...for this longOpportunities.UNSERVED_DAYSconsta source whose cargo was loaded this recently is served alreadyOpportunities.TOWN_CARGOconstwhat every town takes besides passengers and mail (Station.coverage)Link a questa voceconst TOWN_CARGO := ["goods", "food"]Dichiarato inscripts/sim/opportunities.gd:56Opportunities.TOWN_TAKES_POPconsta town this big takes them (a station in its centre reaches 60 people)Opportunities.LINK_POPconsta town this big asks for passenger links...Opportunities.LINK_TO_POPconst...to a town at least this bigOpportunities.RAIL_POPconsttwo towns this big may want the link by railOpportunities.SUPPLY_PER_POPconsta supply asks this many units a resident a month of its timeOpportunities.VISITORS_PER_POPconst...and visitors as manyOpportunities.SERVICE_RATINGconsta service request: every station rated this or more...Opportunities.SERVICE_MONTHSconst...this many month ends in a row...Opportunities.SERVICE_DEADLINEconst...within this many monthsOpportunities.REQUEST_MONTHSconstthe time other requests giveLink a questa voceconst REQUEST_MONTHS := Vector2i(6, 18)Dichiarato inscripts/sim/opportunities.gd:66Opportunities.REWARDSconstThe rewards that fit each request; one is chosen when it is made.Link a questa voceconst REWARDSExclusive rights take a new link: good service alone, which rivals' stations give without trying, doesn't shut the others out.
Dichiarato inscripts/sim/opportunities.gd:69Opportunities.RATING_BOOSTconstLink a questa voceconst RATING_BOOST := 25.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/opportunities.gd:71Opportunities.GRANTconstLink a questa voceconst GRANT := 50000Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/opportunities.gd:72Opportunities.RIGHTS_DAYSconstexclusive rights and half-price stations last this longOpportunities.CHEAPconstwhat stations and depots cost thenOpportunities.BOOM_DAYSconsta growth reward: fast growth this long (as Fund buildings)Opportunities.offersvarLink a questa vocevar offers: Array = []Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/opportunities.gd:77Opportunities.rngvarIts own random numbers (seeded by Sim from the game's seed, saved), so offers don't reshuffle the rest of the game's.Link a questa vocevar rng := RandomNumberGenerator.new()Dichiarato inscripts/sim/opportunities.gd:80Opportunities.revvargoes up whenever something is offered, won, met, lapses or makes progressOpportunities.on_deliveryfuncamtunits ofcloaded atfrom(null when that station is gone) delivered byvatst: wins and progress.Link a questa vocefunc on_delivery(sim: Sim, v: Vehicle, from: Station, st: Station, c: String, amt: int) -> floatReturns what the fare is multiplied by (a won subsidy's SUBSIDY_MULT, else 1).
- Parametri
sim: Simv: Vehiclefrom: Stationst: Stationc: Stringamt: int
- Valore restituito
float
scripts/sim/opportunities.gd:88Opportunities._reachesstatic funcWhether stationstreachesplace: an industry in its catchment, or a town it belongs to.Link a questa vocestatic func _reaches(m: WorldMap, st: Station, place: Object) -> bool- Parametri
m: WorldMapst: Stationplace: Object
- Valore restituito
bool
- Chiama
Economy.reaches
scripts/sim/opportunities.gd:117Opportunities._joinsstatic funcLink a questa vocestatic func _joins(o: Dictionary, a: Town, b: Town) -> bool- Parametri
o: Dictionarya: Townb: Town
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/opportunities.gd:123Opportunities._win_subsidyfuncLink a questa vocefunc _win_subsidy(sim: Sim, o: Dictionary, who: Company) -> void- Parametri
sim: Simo: Dictionarywho: Company
- Valore restituito
void
- Chiama
L.t,Calendar.format
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/opportunities.gd:127Opportunities._metfuncRequestkis met bywho: its reward, news, and it leaves the list.Link a questa vocefunc _met(sim: Sim, k: int, who: Company) -> void- Parametri
sim: Simk: intwho: Company
- Valore restituito
void
- Chiama
L.t
scripts/sim/opportunities.gd:139Opportunities.monthlyfuncMonth end (Sim._on_day, after the industries' month): service months and rights that end.Link a questa vocefunc monthly(sim: Sim) -> voidThen what lapses, as every day.
- Parametri
sim: Sim
- Valore restituito
void
scripts/sim/opportunities.gd:169Opportunities.dailyfuncEvery 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.Link a questa vocefunc daily(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
scripts/sim/opportunities.gd:187Opportunities._lapsefuncTakes 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.Link a questa vocefunc _lapse(sim: Sim, month_end: bool) -> Vector2iReturns how many subsidies (x) and requests (y) are still open.
- Parametri
sim: Simmonth_end: bool
- Valore restituito
Vector2i
- Chiama
L.t
scripts/sim/opportunities.gd:198Opportunities._count_servicefuncOne 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.Link a questa vocefunc _count_service(sim: Sim, o: Dictionary) -> void- Parametri
sim: Simo: Dictionary
- Valore restituito
void
scripts/sim/opportunities.gd:231Opportunities._leaderstatic funcThe company furthest on with a request (-1: nobody has started).Link a questa vocestatic func _leader(o: Dictionary) -> int- Parametri
o: Dictionary
- Valore restituito
int
scripts/sim/opportunities.gd:251Opportunities.industry_closedfuncAn industry closes (IndustryLife.close): offers about it are withdrawn, and a won subsidy ends.Link a questa vocefunc industry_closed(sim: Sim, ind: Industry) -> void- Parametri
sim: Simind: Industry
- Valore restituito
void
- Chiama
L.t
scripts/sim/opportunities.gd:260Opportunities.offer_subsidyfuncOffer 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.Link a questa vocefunc offer_subsidy(sim: Sim) -> DictionaryReturns it, or {}.
- Parametri
sim: Sim
- Valore restituito
Dictionary
scripts/sim/opportunities.gd:276Opportunities.pos_ofstatic funcWhere an industry or a town is: its middle.Link a questa vocestatic func pos_of(place: Object) -> Vector2- Parametri
place: Object
- Valore restituito
Vector2
scripts/sim/opportunities.gd:324Opportunities.offer_requestfuncAsk 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.Link a questa vocefunc offer_request(sim: Sim) -> DictionaryReturns the request, or {}.
- Parametri
sim: Sim
- Valore restituito
Dictionary
- Chiama
Goals.cargos_in_game
scripts/sim/opportunities.gd:330Opportunities.request_kindsfuncWhat towntcould 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.Link a questa vocefunc request_kinds(sim: Sim, t: Town, have: Array) -> Array- Parametri
sim: Simt: Townhave: Array
- Valore restituito
Array
scripts/sim/opportunities.gd:359Opportunities.make_requestfuncMake a request oftypefrom townt(see request_kinds), with news.Link a questa vocefunc 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).
- Parametri
sim: Simt: Towntype: Stringhave: Array
- Valore restituito
Dictionary
- Chiama
L.t,Calendar.format
scripts/sim/opportunities.gd:376Opportunities._link_partnerfuncA town for a link fromt: SUBSIDY_MIN..SUBSIDY_MAX tiles away, at least LINK_TO_POP people, and no passenger vehicle of anyone's calling at both yet.Link a questa vocefunc _link_partner(sim: Sim, t: Town) -> TownNull when there is none.
- Parametri
sim: Simt: Town
- Valore restituito
Town
scripts/sim/opportunities.gd:412Opportunities._offerfuncLink a questa vocefunc _offer(sim: Sim, type: String, cargo: String, expires: int) -> Dictionary- Parametri
sim: Simtype: Stringcargo: Stringexpires: int
- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/opportunities.gd:434Opportunities._offeredfuncWhether an industry or a town is the source of a subsidy already.Link a questa vocefunc _offered(place: Object) -> bool- Parametri
place: Object
- Valore restituito
bool
scripts/sim/opportunities.gd:443Opportunities._in_rangestatic funcLink a questa vocestatic func _in_range(a: Vector2, b: Vector2) -> bool- Parametri
a: Vector2b: Vector2
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/opportunities.gd:447Opportunities._roundstatic funcA target in round numbers: to the nearest 50, at least 100.Link a questa vocestatic func _round(n: float) -> int- Parametri
n: float
- Valore restituito
int
scripts/sim/opportunities.gd:453Opportunities.attractions_ofstatic funcThe attractions townthas, as Data.HOUSES types.Link a questa vocestatic func attractions_of(t: Town) -> Array- Parametri
t: Town
- Valore restituito
Array
scripts/sim/opportunities.gd:458Opportunities.request_offuncThe request townthas open, or {}.Link a questa vocefunc request_of(t: Town) -> Dictionary- Parametri
t: Town
- Valore restituito
Dictionary
scripts/sim/opportunities.gd:463Opportunities.whatstatic 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" (titlefor the start of one).Link a questa vocestatic func what(o: Dictionary) -> String- Parametri
o: Dictionary
- Valore restituito
String
- Chiama
L.t,L.lower,Fmt.int_commas
scripts/sim/opportunities.gd:474Opportunities.titlestatic funcwhat, starting with a capital: a heading.Link a questa vocestatic func title(o: Dictionary) -> String- Parametri
o: Dictionary
- Valore restituito
String
scripts/sim/opportunities.gd:488Opportunities.reward_namestatic funcWhat meeting a request brings, in a few words ("a grant of $50,000").Link a questa vocestatic func reward_name(reward: String) -> String- Parametri
reward: String
- Valore restituito
String
scripts/sim/opportunities.gd:494Opportunities.placestatic funcWhere an offer is, for the map: the middle of its route (or the town), and a zoom that shows it.Link a questa vocestatic func place(o: Dictionary) -> Array- Parametri
o: Dictionary
- Valore restituito
Array
scripts/sim/opportunities.gd:505Opportunities._newsfuncworld: news the player can't act on (a rival's win, an offer that lapsed): Sim.post_world_news.Link a questa vocefunc _news(sim: Sim, text: String, kind: String, o: Dictionary, world: bool = false) -> voidA new offer is the player's news: it is a chance for them.
- Parametri
sim: Simtext: Stringkind: Stringo: Dictionaryworld: bool = false
- Valore restituito
void
scripts/sim/opportunities.gd:513Opportunities.to_dictfuncLink a questa vocefunc to_dict() -> Dictionary- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/opportunities.gd:519Opportunities._refstatic funcAn industry or a town as a save keeps it: ["i" or "t", its id] ([] for none).Link a questa vocestatic func _ref(place: Object) -> Array- Parametri
place: Object
- Valore restituito
Array
scripts/sim/opportunities.gd:531Opportunities.restorefuncTake back the offers of a save (d: to_dict's) on mapm.Link a questa vocefunc restore(d: Dictionary, m: WorldMap) -> voidAn 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.
- Parametri
d: Dictionarym: WorldMap
- Valore restituito
void
scripts/sim/opportunities.gd:537
Pathfinder
Pathfinder.MAX_EXPANSIONSconstLink a questa voceconst MAX_EXPANSIONS := 400000Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/pathfinder.gd:8Pathfinder.findstatic funcReturns {"tiles": Array[Vector2i], "end_heading": int} or {} when there is no route.Link a questa vocestatic 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 = {}) -> DictionaryA 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_signalsfalse: 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).- Parametri
m: WorldMapkind: Stringstart: Vector2iheading: intgoals: Dictionaryallow_reverse_start: boolallow_dead_end_uturn: boolwired: bool = falseobey_signals: bool = trueavoid: Dictionary = {}
- Valore restituito
Dictionary
- Chiama
Const.opp
scripts/sim/pathfinder.gd:19Pathfinder._find_waterstatic funcThe way over water fromstartto the nearest ofgoals.Link a questa vocestatic func _find_water(m: WorldMap, start: Vector2i, goals: Dictionary) -> DictionaryShips turn where they like and sail a straight course afterwards (Vehicle.water_course), so this is the eight-way way of
find_seawith 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).- Parametri
m: WorldMapstart: Vector2igoals: Dictionary
- Valore restituito
Dictionary
- Chiama
BuildOps.dir_between
scripts/sim/pathfinder.gd:101Pathfinder.find_seastatic funcThe shortest way by water fromstarttogoal, moving between tiles in eight directions (diagonally only where both tiles beside the step are water too), or [] when there is none.Link a questa vocestatic 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).- Parametri
m: WorldMapstart: Vector2igoal: Vector2imax_len: float = INF
- Valore restituito
Array[Vector2i]
scripts/sim/pathfinder.gd:127Pathfinder._sea_memostatic funcA way over water found earlier underkeyfromstartto one ofends([] if none, if it no longer runs over open water, or if it answers another question whose key hashed the same).Link a questa vocestatic 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_memothen).- Parametri
m: WorldMapkey: intstart: Vector2iends: Dictionary
- Valore restituito
Array[Vector2i]
scripts/sim/pathfinder.gd:142Pathfinder._sea_rememberstatic funcLink a questa vocestatic func _sea_remember(m: WorldMap, key: int, tiles: Array[Vector2i]) -> void- Parametri
m: WorldMapkey: inttiles: Array[Vector2i]
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/pathfinder.gd:155Pathfinder._find_seastatic funcfind_sea's search, to the nearest ofgoals.Link a questa vocestatic func _find_sea(m: WorldMap, start: Vector2i, goals: Array, max_len: float) -> Array[Vector2i]- Parametri
m: WorldMapstart: Vector2igoals: Arraymax_len: float
- Valore restituito
Array[Vector2i]
scripts/sim/pathfinder.gd:162Pathfinder._octilestatic funcThe eight-way distance over open water from (x, y) to the nearest ofgoals.Link a questa vocestatic func _octile(x: int, y: int, goals: Array) -> float- Parametri
x: inty: intgoals: Array
- Valore restituito
float
scripts/sim/pathfinder.gd:223Pathfinder._heuristicstatic funcLink a questa vocestatic func _heuristic(t: Vector2i, goals: Array) -> float- Parametri
t: Vector2igoals: Array
- Valore restituito
float
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/pathfinder.gd:232Pathfinder._buildstatic funcLink a questa vocestatic func _build(m: WorldMap, came: Dictionary, s: int, end_heading: int) -> Dictionary- Parametri
m: WorldMapcame: Dictionarys: intend_heading: int
- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/pathfinder.gd:239Pathfinder._pushstatic funcLink a questa vocestatic func _push(f: PackedFloat32Array, s: PackedInt32Array, pri: float, state: int) -> void- Parametri
f: PackedFloat32Arrays: PackedInt32Arraypri: floatstate: int
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/pathfinder.gd:250Pathfinder._popstatic funcLink a questa vocestatic func _pop(f: PackedFloat32Array, s: PackedInt32Array) -> void- Parametri
f: PackedFloat32Arrays: PackedInt32Array
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/pathfinder.gd:263
Problems
Problems.SIGNAL_DAYSconsta train held at a red signal this longProblems.QUEUE_DAYSconsta vehicle held up in traffic, off a berth or holding this long (RAIL-26)Problems.NO_CALL_DAYSconsta station in use that no vehicle has called at for this longProblems.PILE_UPconstcargo piling up: at least this much waiting, more than comes in a month...Problems.PILE_RATINGconst...and the station's rating for it under this, so some of it gives upProblems.SERVICE_LATEconstoverdue a service: this many service intervals since the last oneProblems.STAFF_SHORTconstan industry with under this share of the staff it wantsProblems.HELD_UPconsta plant that needs every input holding this much while it waits for anotherProblems.REFRESHconstreal seconds between two looks (tick)Problems.TOLD_DAYSconsta vehicle that gets lost is announced at most once in this many daysProblems.rowsvarthe last look, most serious firstProblems.seriousvarrows of level 0Problems.revvargoes up when what is on the list (things and kinds) changesProblems._ofvarthing -> its most serious rowProblems._sigvarLink a questa vocevar _sig: Array = []Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/problems.gd:37Problems._waitvarLink a questa vocevar _wait := 0.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/problems.gd:38Problems._lostvarids of the vehicles lost at the last lookProblems._toldvarvehicle id -> game day it was last announced as lostProblems._primedvarthe first look announces nothing: those were lost alreadyProblems._alertsvarLink a questa vocevar _alerts: Array = []Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/problems.gd:42Problems.tickfuncLook again if REFRESH seconds have passed since the last look.Link a questa vocefunc tick(sim: Sim, delta: float) -> boolTrue when it did.
- Parametri
sim: Simdelta: float
- Valore restituito
bool
scripts/sim/problems.gd:46Problems.refreshfuncLook again now.Link a questa vocefunc refresh(sim: Sim) -> void- Parametri
sim: Sim
- Valore restituito
void
scripts/sim/problems.gd:55Problems.hasfuncLink a questa vocefunc has(thing: Object) -> bool- Parametri
thing: Object
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/problems.gd:83Problems.offuncThe most serious row aboutthing, or {}.Link a questa vocefunc of(thing: Object) -> Dictionary- Parametri
thing: Object
- Valore restituito
Dictionary
scripts/sim/problems.gd:88Problems.take_alertsfuncVehicles that got lost since the last call (at most once a month each): for a toast.Link a questa vocefunc take_alerts() -> Array- Valore restituito
Array
scripts/sim/problems.gd:93Problems.liststatic funcEvery problem of the player's company, most serious first.Link a questa vocestatic func list(sim: Sim) -> ArrayCheap 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.
- Parametri
sim: Sim
- Valore restituito
Array
scripts/sim/problems.gd:104Problems.vehicle_rowstatic funcThe worst problem of one vehicle, or {}.Link a questa vocestatic func vehicle_row(sim: Sim, v: Vehicle) -> Dictionary- Parametri
sim: Simv: Vehicle
- Valore restituito
Dictionary
scripts/sim/problems.gd:146Problems._station_rowsstatic funccallsis cargo -> the player's vehicles that take it on atst(see _note_calls).Link a questa vocestatic func _station_rows(sim: Sim, st: Station, out: Array, calls: Dictionary) -> void- Parametri
sim: Simst: Stationout: Arraycalls: Dictionary
- Valore restituito
void
- Chiama
L.t
scripts/sim/problems.gd:173Problems._piling_rowstatic funcCargocpiling up atst, and what holds it back.Link a questa vocestatic func _piling_row(st: Station, c: String, w: float, r: float, vs: Array) -> DictionaryWhen 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.
- Parametri
st: Stationc: Stringw: floatr: floatvs: Array
- Valore restituito
Dictionary
scripts/sim/problems.gd:189Problems._note_callsstatic funcNote the stops wherevtakes cargo on (not unload-only or don't-load ones), incalls: Station -> cargo -> [Vehicle].Link a questa vocestatic func _note_calls(v: Vehicle, calls: Dictionary) -> void- Parametri
v: Vehiclecalls: Dictionary
- Valore restituito
void
scripts/sim/problems.gd:219Problems._short_platformsstatic 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.Link a questa vocestatic func _short_platforms(m: WorldMap, v: Vehicle, platforms: Dictionary, short: Dictionary) -> void- Parametri
m: WorldMapv: Vehicleplatforms: Dictionaryshort: Dictionary
- Valore restituito
void
- Chiama
Vehicle.tiles_long
scripts/sim/problems.gd:232Problems._tradesstatic funcWhetherstcarries a cargoindmakes or takes.Link a questa vocestatic func _trades(ind: Industry, st: Station) -> bool- Parametri
ind: Industryst: Station
- Valore restituito
bool
scripts/sim/problems.gd:246Problems._industry_rowsstatic funcLink a questa vocestatic func _industry_rows(sim: Sim, ind: Industry, out: Array) -> void- Parametri
sim: Simind: Industryout: Array
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/problems.gd:253Problems._wherestatic funcWhere a vehicle is: the tile its front is on (or, before it has set off, its next stop).Link a questa vocestatic func _where(v: Vehicle) -> Vector2- Parametri
v: Vehicle
- Valore restituito
Vector2
scripts/sim/problems.gd:291Problems._rowstatic funcLink a questa vocestatic func _row(kind: String, level: int, obj: Object, pos: Vector2, text: String, fix: String) -> Dictionary- Parametri
kind: Stringlevel: intobj: Objectpos: Vector2text: Stringfix: String
- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/problems.gd:298Problems._beforestatic funcMost serious first, then by name.Link a questa vocestatic func _before(a: Dictionary, b: Dictionary) -> bool- Parametri
a: Dictionaryb: Dictionary
- Valore restituito
bool
scripts/sim/problems.gd:303
RouteBuilder
RouteBuilder.MAX_EXPANSIONSconstLink a questa voceconst MAX_EXPANSIONS := 8000Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/route_builder.gd:20RouteBuilder.SHAPE_EXPANSIONSconstThe second pass's share of the search budget, at the most.RouteBuilder.REACHconstHow far from the rough path (in tiles) the second pass may stray.RouteBuilder.DETOURconstA rough path up to this much longer than the straight distance had nothing much in its way.RouteBuilder.TURNconstWhat the shape of the line costs, in tiles of track: the first turning tile after straight trackRouteBuilder.LONE_BENDconst...when straight track follows it: a 90-degree bend (2.0 in all)RouteBuilder.SECOND_TURNconst...when it turns back on the next tile: the start of a diagonal (1.5)RouteBuilder.SIDESTEPconsta diagonal that ends after those two tiles: a one-tile sidestep (4.0)RouteBuilder.RUNconsteach further tile of a diagonal: it is that much shorter to driveRouteBuilder.HAIRPINconsttwo turns the same way on neighbouring tilesRouteBuilder.CAREFULconstThe 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.RouteBuilder.HASTYconstLink a questa voceconst HASTY := 2.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/route_builder.gd:37RouteBuilder.TURN_INDEXconst(way out - way in) & 3 -> straight on, right, leftLink a questa voceconst TURN_INDEX: Array[int] = [0, 1, 0, 2]Dichiarato inscripts/sim/route_builder.gd:38RouteBuilder.last_expansionsstatic varstates looked at by the last search (benchmark tooling)RouteBuilder.last_refinedstatic varwhether the last search's second pass finished (benchmark tooling)RouteBuilder.log_tostatic varan Array: every search adds itsdescribeentry (benchmark tooling)RouteBuilder.last_crossingsstatic 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}].Link a questa vocestatic var last_crossings: Array = []Empty when
Dichiarato injumpswas.scripts/sim/route_builder.gd:46RouteBuilder.CROSSINGconstWhat a crossing costs on top of its tiles, in tiles of track: short detours still win.Link a questa voceconst 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.)
Dichiarato inscripts/sim/route_builder.gd:50RouteBuilder.findstatic funcPath of tiles fromstarttogoal(both included).Link a questa vocestatic 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 enteringstart(-1: any).goal_dir: direction the path must leavegoalin (-1: any).reservedtiles 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.- Parametri
m: WorldMapkind: Stringstart: Vector2istart_dir: intgoal: Vector2igoal_dir: intreserved: Dictionary = {}max_expansions: int = 0jumps: Dictionary = {}
- Valore restituito
Array[Vector2i]
scripts/sim/route_builder.gd:58RouteBuilder.describestatic funcThe shape of a path: how many tiles turn, and how those turns group.Link a questa vocestatic func describe(path: Array[Vector2i], start_dir: int = -1, goal_dir: int = -1) -> DictionaryA 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.- Parametri
path: Array[Vector2i]start_dir: int = -1goal_dir: int = -1
- Valore restituito
Dictionary
- Chiama
BuildOps.dir_between
scripts/sim/route_builder.gd:104RouteBuilder._roughstatic funcThe first pass.Link a questa vocestatic 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 intoout_crossings.- Parametri
m: WorldMapkind: Stringstart: Vector2istart_dir: intgoal: Vector2igoal_dir: intreserved: Dictionarybudget: intjumps: Dictionary = {}out_crossings: Array = []
- Valore restituito
Array[Vector2i]
- Chiama
Pathfinder._push,Pathfinder._pop,Const.opp
scripts/sim/route_builder.gd:140RouteBuilder._refinestatic funcThe second pass: the best-shaped path throughcorridor(see _corridor).Link a questa vocestatic 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
shaperemembers 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 [] whenbudgetruns out.- Parametri
m: WorldMapkind: Stringrough: Array[Vector2i]corridor: Dictionarystart_dir: intgoal_dir: intreserved: Dictionarybudget: intweight: float
- Valore restituito
Array[Vector2i]
- Chiama
Pathfinder._push,Pathfinder._pop,Const.opp
scripts/sim/route_builder.gd:222RouteBuilder._corridorstatic 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.Link a questa vocestatic func _corridor(m: WorldMap, rough: Array[Vector2i]) -> Dictionary- Parametri
m: WorldMaprough: Array[Vector2i]
- Valore restituito
Dictionary
scripts/sim/route_builder.gd:336RouteBuilder.jumps_forstatic funcWhat find() may use to cross water and hills inyear: every bridge style there is by then, cheapest first ("unit": a span tile's price in tiles of plainkind), and tunnels (likewise).Link a questa vocestatic func jumps_for(kind: String, year: int) -> DictionaryA caller may add "crossing": what each crossing costs on top of its tiles (CROSSING if not).
- Parametri
kind: Stringyear: int
- Valore restituito
Dictionary
scripts/sim/route_builder.gd:399RouteBuilder._jumpstatic funcA bridge or tunnel from tiletheadingd(see last_crossings for its keys, plus "cost" in tiles of track), or {} when there is none to build.Link a questa vocestatic func _jump(m: WorldMap, kind: String, t: Vector2i, d: int, jumps: Dictionary, reserved: Dictionary, cache: Dictionary) -> DictionaryA 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.
- Parametri
m: WorldMapkind: Stringt: Vector2id: intjumps: Dictionaryreserved: Dictionarycache: Dictionary
- Valore restituito
Dictionary
- Chiama
WorldMap.axis_of
scripts/sim/route_builder.gd:413RouteBuilder._risesstatic funcWhether the ground on tilenclimbs on its way across it headingd.Link a questa vocestatic func _rises(m: WorldMap, n: Vector2i, d: int) -> bool- Parametri
m: WorldMapn: Vector2id: int
- Valore restituito
bool
- Chiama
BuildOps.edge_heights,Const.opp
scripts/sim/route_builder.gd:447RouteBuilder._bridgestatic funcThe shortest bridge from ramptheadingdthat the player's bridge tool would allow, in the cheapest style long enough for it.Link a questa vocestatic func _bridge(m: WorldMap, kind: String, t: Vector2i, d: int, jumps: Dictionary, reserved: Dictionary) -> Dictionary- Parametri
m: WorldMapkind: Stringt: Vector2id: intjumps: Dictionaryreserved: Dictionary
- Valore restituito
Dictionary
scripts/sim/route_builder.gd:455RouteBuilder._tunnelstatic funcThe tunnel the player's tunnel tool would dig from the hillside just ahead oft(headingd): the line goes fromtinto it and comes out on the tile beyond its far mouth.Link a questa vocestatic func _tunnel(m: WorldMap, kind: String, t: Vector2i, d: int, jumps: Dictionary, reserved: Dictionary) -> Dictionary- Parametri
m: WorldMapkind: Stringt: Vector2id: intjumps: Dictionaryreserved: Dictionary
- Valore restituito
Dictionary
scripts/sim/route_builder.gd:494RouteBuilder._build_jumpedstatic 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 intoout_crossings.Link a questa vocestatic func _build_jumped(m: WorldMap, came: Dictionary, s: int, jumped: Dictionary, out_crossings: Array) -> Array[Vector2i]- Parametri
m: WorldMapcame: Dictionarys: intjumped: Dictionaryout_crossings: Array
- Valore restituito
Array[Vector2i]
scripts/sim/route_builder.gd:539RouteBuilder._refine_betweenstatic 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.Link a questa vocestatic func _refine_between(m: WorldMap, kind: String, path: Array[Vector2i], crossings: Array, start_dir: int, goal_dir: int, reserved: Dictionary, budget: int) -> Array[Vector2i]- Parametri
m: WorldMapkind: Stringpath: Array[Vector2i]crossings: Arraystart_dir: intgoal_dir: intreserved: Dictionarybudget: int
- Valore restituito
Array[Vector2i]
scripts/sim/route_builder.gd:562RouteBuilder._manhattanstatic funcLink a questa vocestatic func _manhattan(a: Vector2i, b: Vector2i) -> float- Parametri
a: Vector2ib: Vector2i
- Valore restituito
float
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/route_builder.gd:599RouteBuilder._tile_coststatic funcCost of putting a piece withbitson tilet, or -1 when it can't be built.Link a questa vocestatic func _tile_cost(m: WorldMap, kind: String, t: Vector2i, bits: int, fine: bool = false) -> floatfine: for the second pass, which doesn't tell trees and slopes from open ground.- Parametri
m: WorldMapkind: Stringt: Vector2ibits: intfine: bool = false
- Valore restituito
float
scripts/sim/route_builder.gd:605RouteBuilder._buildstatic funcLink a questa vocestatic func _build(m: WorldMap, came: Dictionary, s: int, per_tile: int) -> Array[Vector2i]- Parametri
m: WorldMapcame: Dictionarys: intper_tile: int
- Valore restituito
Array[Vector2i]
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/route_builder.gd:645
SaveGame
SaveGame.VERSIONconstLink a questa voceconst VERSION := 1Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/save_game.gd:6SaveGame.DIRconstLink a questa voceconst DIR := "user://saves"Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/save_game.gd:7SaveGame.list_savesstatic funcLink a questa vocestatic func list_saves() -> Array- Valore restituito
Array
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/save_game.gd:10SaveGame.delete_savestatic funcLink a questa vocestatic func delete_save(path: String) -> void- Parametri
path: String
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/save_game.gd:29SaveGame._vstatic funcLink a questa vocestatic func _v(v: Vector2i) -> Array- Parametri
v: Vector2i
- Valore restituito
Array
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/save_game.gd:36SaveGame._vistatic funcLink a questa vocestatic func _vi(a: Array) -> Vector2i- Parametri
a: Array
- Valore restituito
Vector2i
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/save_game.gd:40SaveGame._b64static funcLink a questa vocestatic func _b64(p: PackedByteArray) -> String- Parametri
p: PackedByteArray
- Valore restituito
String
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/save_game.gd:44SaveGame._unb64static funcLink a questa vocestatic func _unb64(s: String) -> PackedByteArray- Parametri
s: String
- Valore restituito
PackedByteArray
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/save_game.gd:48SaveGame.savestatic funcLink a questa vocestatic func save(sim: Sim, path: String) -> Error- Parametri
sim: Simpath: String
- Valore restituito
Error
- Chiama
Mods.save_state,Town.size_of
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/save_game.gd:54SaveGame.load_simstatic funcLink a questa vocestatic func load_sim(path: String) -> Sim- Parametri
path: String
- Valore restituito
Sim
- Chiama
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
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/save_game.gd:177SaveGame._order_outstatic funcAn order as saved: [station id, full, then each of Vehicle.ORDER_FLAGS].Link a questa vocestatic func _order_out(o: Dictionary) -> Array- Parametri
o: Dictionary
- Valore restituito
Array
scripts/sim/save_game.gd:532SaveGame._order_instatic funcAn order back fromrow(see _order_out), at stationst.Link a questa vocestatic func _order_in(row: Array, st: Station) -> DictionaryFlags an older save didn't have are off.
- Parametri
row: Arrayst: Station
- Valore restituito
Dictionary
scripts/sim/save_game.gd:540SaveGame._floatsstatic funcLink a questa vocestatic func _floats(src: Dictionary) -> Dictionary- Parametri
src: Dictionary
- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/save_game.gd:547SaveGame._intsstatic funcLink a questa vocestatic func _ints(d: Dictionary) -> Dictionary- Parametri
d: Dictionary
- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/save_game.gd:554SaveGame._pairsstatic funccargo -> [units, $]Link a questa vocestatic func _pairs(d: Dictionary) -> Dictionary- Parametri
d: Dictionary
- Valore restituito
Dictionary
scripts/sim/save_game.gd:562SaveGame._stat_monthstatic funcLink a questa vocestatic func _stat_month(mo: Dictionary) -> Dictionary- Parametri
mo: Dictionary
- Valore restituito
Dictionary
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/save_game.gd:569SaveGame._course_outstatic funcA ship's course (see Vehicle.water_course) as [x, y, turn, x, y, turn, ...] over its route.Link a questa vocestatic func _course_out(v: Vehicle) -> Array- Parametri
v: Vehicle
- Valore restituito
Array
scripts/sim/save_game.gd:585SaveGame._course_instatic funcLink a questa vocestatic func _course_in(v: Vehicle, a: Array) -> void- Parametri
v: Vehiclea: Array
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/save_game.gd:596
SignalTraps
SignalTraps._memo_keystatic varLink a questa vocestatic var _memo_key := []Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/signal_traps.gd:17SignalTraps._memostatic varLink a questa vocestatic var _memo: Array = []Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/signal_traps.gd:18SignalTraps.findstatic funcThe stations ofwhothat one-way signals shut: [{"station", "way": "out" | "in", "signal"}], one per station ("out" when both are true), the order of map.stations.Link a questa vocestatic func find(sim: Sim, who: Company, over: Dictionary = {}) -> Arraysignalis 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.- Parametri
sim: Simwho: Companyover: Dictionary = {}
- Valore restituito
Array
scripts/sim/signal_traps.gd:26SignalTraps.after_clickstatic funcWhat setting the signal onttostatewould 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.Link a questa vocestatic func after_click(sim: Sim, who: Company, t: Vector2i, state: int) -> DictionaryA station that stays shut (say, the far end of a line made one-way) isn't news.
- Parametri
sim: Simwho: Companyt: Vector2istate: int
- Valore restituito
Dictionary
scripts/sim/signal_traps.gd:64SignalTraps.textstatic funcOne of find's rows in words.Link a questa vocestatic func text(r: Dictionary, when: String) -> Stringwhen: "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).- Parametri
r: Dictionarywhen: String
- Valore restituito
String
- Chiama
L.t
scripts/sim/signal_traps.gd:73SignalTraps.blockerstatic funcThe tile of the one-way signal that keeps trains from getting betweentilesand any of thegoalstiles - out oftilesor, withinward, into them - or (-1, -1) when they can, or when there is no track between them at all.Link a questa vocestatic func blocker(m: WorldMap, tiles: Dictionary, goals: Dictionary, inward: bool, over: Dictionary = {}) -> Vector2i- Parametri
m: WorldMaptiles: Dictionarygoals: Dictionaryinward: boolover: Dictionary = {}
- Valore restituito
Vector2i
scripts/sim/signal_traps.gd:92SignalTraps._passesstatic funcWhether a train headingh(or,inward, heading the other way) may pass tilen's signal.Link a questa vocestatic func _passes(m: WorldMap, n: Vector2i, h: int, inward: bool, over: Dictionary) -> bool- Parametri
m: WorldMapn: Vector2ih: intinward: boolover: Dictionary
- Valore restituito
bool
- Chiama
Const.opp
scripts/sim/signal_traps.gd:104SignalTraps._floodstatic funcFlood the rail network outward fromtilesuntil one ofgoalsis reached.Link a questa vocestatic func _flood(m: WorldMap, tiles: Dictionary, goals: Dictionary, obey: bool, inward: bool, over: Dictionary) -> ArrayReturns the steps from the start to that goal, [{"t": tile, "h": heading on entering it}], or [] when none is reached.
obeyfalse lets trains through one-way signals both ways.- Parametri
m: WorldMaptiles: Dictionarygoals: Dictionaryobey: boolinward: boolover: Dictionary
- Valore restituito
Array
- Chiama
Const.opp
scripts/sim/signal_traps.gd:112SignalTraps._stepstatic funcLink a questa vocestatic func _step(m: WorldMap, tile: Vector2i, d: int, bits: int, from: int, obey: bool, inward: bool, over: Dictionary, came: Dictionary, queue: PackedInt32Array) -> void- Parametri
m: WorldMaptile: Vector2id: intbits: intfrom: intobey: boolinward: boolover: Dictionarycame: Dictionaryqueue: PackedInt32Array
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/signal_traps.gd:142SignalTraps._minusstatic funcLink a questa vocestatic func _minus(a: Array, b: Array) -> Array- Parametri
a: Arrayb: Array
- Valore restituito
Array
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/signal_traps.gd:156
TerrainGen
TerrainGen.generatestatic funcTerrain only (no towns or industries).Link a questa vocestatic func generate(m: WorldMap, seed_value: int) -> voidWorldGen.generate builds a full world.
- Parametri
m: WorldMapseed_value: int
- Valore restituito
void
scripts/sim/terrain_gen.gd:7TerrainGen.heights_from_imagestatic funcHeights from a greyscale image (white = high, black = sea), like OpenTTD heightmaps.Link a questa vocestatic func heights_from_image(m: WorldMap, path: String) -> bool- Parametri
m: WorldMappath: String
- Valore restituito
bool
scripts/sim/terrain_gen.gd:14TerrainGen.generate_heightsstatic funcwater: sea level 0 (low) ..Link a questa vocestatic func generate_heights(m: WorldMap, seed_value: int, water: int = 1, rough: int = 2, sample_scale: float = 1.0) -> void3 (islands). rough: 0 flat .. 3 mountainous. sample_scale stretches the noise so a small preview map shows the same world as a big one.
- Parametri
m: WorldMapseed_value: intwater: int = 1rough: int = 2sample_scale: float = 1.0
- Valore restituito
void
scripts/sim/terrain_gen.gd:30TerrainGen.enforce_slopesstatic funcLower corners until every pair of edge-adjacent corners differs by at most one level.Link a questa vocestatic func enforce_slopes(m: WorldMap) -> void- Parametri
m: WorldMap
- Valore restituito
void
scripts/sim/terrain_gen.gd:73TerrainGen.classifystatic funcTerrain types (from heights) and tree cover.Link a questa vocestatic func classify(m: WorldMap, seed_value: int) -> void- Parametri
m: WorldMapseed_value: int
- Valore restituito
void
scripts/sim/terrain_gen.gd:100TerrainGen.terrain_typestatic funcLink a questa vocestatic func terrain_type(m: WorldMap, x: int, y: int) -> int- Parametri
m: WorldMapx: inty: int
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/terrain_gen.gd:123TerrainGen.classify_tilestatic funcRe-derive one tile's terrain after its corners changed; trees only survive on grass.Link a questa vocestatic func classify_tile(m: WorldMap, x: int, y: int) -> void- Parametri
m: WorldMapx: inty: int
- Valore restituito
void
scripts/sim/terrain_gen.gd:138TerrainGen._near_waterstatic funcLink a questa vocestatic func _near_water(m: WorldMap, x: int, y: int) -> bool- Parametri
m: WorldMapx: inty: int
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/terrain_gen.gd:145
UndoStack
UndoStack.MAX_STEPSconstLink a questa voceconst MAX_STEPS := 20Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/undo.gd:23UndoStack.MAX_AGE_DAYSconstLink a questa voceconst MAX_AGE_DAYS := 60.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/undo.gd:24UndoStack.stepsvaroldest firstUndoStack.enabledvarLink a questa vocevar enabled := trueQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/undo.gd:30UndoStack.lostvarThe step that was given up last, for the button's tooltip: {"what", "why"}.UndoStack.clearfuncLink a questa vocefunc clear() -> void- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/undo.gd:35UndoStack.sizefuncLink a questa vocefunc size() -> int- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/undo.gd:40UndoStack._tilestatic funcLink a questa vocestatic func _tile(m: WorldMap, t: Vector2i) -> Array- Parametri
m: WorldMapt: Vector2i
- Valore restituito
Array
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/undo.gd:46UndoStack._putstatic funcLink a questa vocestatic func _put(m: WorldMap, t: Vector2i, s: Array) -> void- Parametri
m: WorldMapt: Vector2is: Array
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/undo.gd:52UndoStack._stationstatic funcLink a questa vocestatic func _station(m: WorldMap, st: Station) -> Array- Parametri
m: WorldMapst: Station
- Valore restituito
Array
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/undo.gd:83UndoStack._orders_tostatic funcLink a questa vocestatic func _orders_to(sim: Sim, st: Station) -> int- Parametri
sim: Simst: Station
- Valore restituito
int
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/undo.gd:89UndoStack.bulldoze_tilesstatic funcEvery tile a bulldoze ofrectmay 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.Link a questa vocestatic func bulldoze_tiles(m: WorldMap, rect: Rect2i) -> Array- Parametri
m: WorldMaprect: Rect2i
- Valore restituito
Array
scripts/sim/undo.gd:100UndoStack.terraform_tilesstatic funcEvery tile raising or loweringcornersmay change (see BuildOps.apply_terraform).Link a questa vocestatic func terraform_tiles(m: WorldMap, corners: Array) -> Array- Parametri
m: WorldMapcorners: Array
- Valore restituito
Array
scripts/sim/undo.gd:124UndoStack.beginfuncCall before an action changes anything.Link a questa vocefunc begin(sim: Sim, who: Company, tiles: Array, opt: Dictionary = {}) -> Dictionarytiles: 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 ontiles), "ratings" (it may move council ratings). Returns whatcommitneeds; {} when the action isn't the player's (nothing is recorded then).- Parametri
sim: Simwho: Companytiles: Arrayopt: Dictionary = {}
- Valore restituito
Dictionary
scripts/sim/undo.gd:142UndoStack._log_ofstatic funcLink a questa vocestatic func _log_of(t: Town, cid: int) -> Variant- Parametri
t: Towncid: int
- Valore restituito
Variant
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/undo.gd:171UndoStack.commitfuncCall when the action is done and paid for.Link a questa vocefunc commit(sim: Sim, u: Dictionary, kind: String, info: Dictionary = {}) -> voidkindandinfo("n": how many tiles, "name": a station's or town's name, "category": the ledger line it was paid from) only describe it.- Parametri
sim: Simu: Dictionarykind: Stringinfo: Dictionary = {}
- Valore restituito
void
scripts/sim/undo.gd:177UndoStack._monthstatic funcLink a questa vocestatic func _month(sim: Sim) -> Vector2i- Parametri
sim: Sim
- Valore restituito
Vector2i
- Chiama
Calendar.from_day
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/undo.gd:237UndoStack.describestatic funcA step in words: "12 tiles of rail", "Ashford North", "demolition of 3 tiles".Link a questa vocestatic func describe(step: Dictionary) -> String- Parametri
step: Dictionary
- Valore restituito
String
scripts/sim/undo.gd:245UndoStack._problemfuncWhy the newest step can't be undone now: [reason, given up for good].Link a questa vocefunc _problem(sim: Sim, step: Dictionary) -> Array["", false] when it can.
- Parametri
sim: Simstep: Dictionary
- Valore restituito
Array
- Chiama
L.t
scripts/sim/undo.gd:266UndoStack._vehicle_onfuncLink a questa vocefunc _vehicle_on(sim: Sim, step: Dictionary) -> bool- Parametri
sim: Simstep: Dictionary
- Valore restituito
bool
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/undo.gd:299UndoStack._block_heldfuncWith realistic blocking: whether a train holds (stands in, or has been let into) a block of track that undoing the step would take away.Link a questa vocefunc _block_held(sim: Sim, step: Dictionary) -> bool- Parametri
sim: Simstep: Dictionary
- Valore restituito
bool
scripts/sim/undo.gd:320UndoStack.statusfuncFor the Undo button: {"can", "what", "money" (what undoing pays back), "tip"}.Link a questa vocefunc status(sim: Sim) -> DictionaryA step that can never be undone again is dropped here, with everything older.
- Parametri
sim: Sim
- Valore restituito
Dictionary
scripts/sim/undo.gd:340UndoStack.undofuncUndo the newest step.Link a questa vocefunc undo(sim: Sim) -> DictionaryReturns {"ok", "text" (what to tell the player), "what", "money"}.
- Parametri
sim: Sim
- Valore restituito
Dictionary
scripts/sim/undo.gd:362UndoStack._revertfuncLink a questa vocefunc _revert(sim: Sim, step: Dictionary) -> void- Parametri
sim: Simstep: Dictionary
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/undo.gd:376
WorldGen
WorldGen.DENSITYconstOptions: "water" 0..3 (sea level), "rough" 0..3 (terrain), "towns" / "industries" 0..3 (density), "heightmap" (path to a greyscale image, OpenTTD-style).WorldGen.INDUSTRY_AREAconstTiles 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.WorldGen.FEED_MINconstHow 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.WorldGen.FEED_MAXconstLink a questa voceconst FEED_MAX := 50.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_gen.gd:15WorldGen.SAME_APART_MAXconstUpper bound on how far apart two industries of one type are kept (see _place_industries).WorldGen.SPREAD_TRIESconstUsable sites weighed for each industry placed at random; the one farthest from its own kind wins.WorldGen.TOWN_SITE_TOWNSconstAn industry that stands by a town (a printing works) looks around the biggest few towns, up to TOWN_SITE_MAX tiles from the centre.WorldGen.TOWN_SITE_MAXconstLink a questa voceconst TOWN_SITE_MAX := 16.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_gen.gd:23WorldGen.TOWN_INDUSTRY_MINconstHow 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).WorldGen.TOWN_INDUSTRY_FALLBACKconstLink a questa voceconst TOWN_INDUSTRY_FALLBACK := 10.0Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_gen.gd:27WorldGen.TOWN_EXTRAconstLink a questa voceconst TOWN_EXTRAQuesta voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_gen.gd:28WorldGen.generatestatic funcLink a questa vocestatic func generate(m: WorldMap, seed_value: int, opts: Dictionary = {}) -> void- Parametri
m: WorldMapseed_value: intopts: Dictionary = {}
- Valore restituito
void
- Chiama
Data.era_index,L.t,TerrainGen.heights_from_image,TerrainGen.generate_heights,TerrainGen.classify
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_gen.gd:31WorldGen.add_rig_docksstatic funcEvery industry out at sea gets its own open dock (see BuildOps.add_rig_dock).Link a questa vocestatic func add_rig_docks(m: WorldMap) -> void- Parametri
m: WorldMap
- Valore restituito
void
- Chiama
BuildOps.add_rig_dock
scripts/sim/world_gen.gd:57WorldGen._place_industriesstatic funcLink a questa vocestatic func _place_industries(m: WorldMap, rng: RandomNumberGenerator, density: float = 1.0) -> void- Parametri
m: WorldMaprng: RandomNumberGeneratordensity: float = 1.0
- Valore restituito
void
- Chiama
Data.opens,Data.accepts
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_gen.gd:65WorldGen._place_town_industriesstatic 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.Link a questa vocestatic func _place_town_industries(m: WorldMap, rng: RandomNumberGenerator, density: float) -> void- Parametri
m: WorldMaprng: RandomNumberGeneratordensity: float
- Valore restituito
void
- Chiama
Data.opens
scripts/sim/world_gen.gd:84WorldGen._place_kindstatic funcPut down a new map's industries oftype(see type_count) and return them.Link a questa vocestatic func _place_kind(m: WorldMap, rng: RandomNumberGenerator, room: Vector2i, type: String, density: float) -> Array- Parametri
m: WorldMaprng: RandomNumberGeneratorroom: Vector2itype: Stringdensity: float
- Valore restituito
Array
scripts/sim/world_gen.gd:93WorldGen.industry_roomstatic funcThe room there is to build industries in: x land tiles (for industries ashore), y open water (for those at sea).Link a questa vocestatic func industry_room(m: WorldMap) -> Vector2iSampled every other tile, which is plenty for a head count.
- Parametri
m: WorldMap
- Valore restituito
Vector2i
scripts/sim/world_gen.gd:110WorldGen.type_countstatic funcHow many industries oftypea map withroom(see industry_room) gets atdensity: counts follow the room there is to build in, and every type gets at least one.Link a questa vocestatic func type_count(room: Vector2i, type: String, density: float) -> int- Parametri
room: Vector2itype: Stringdensity: float
- Valore restituito
int
scripts/sim/world_gen.gd:124WorldGen.spacingstatic funcHow far apartcountindustries oftypeare kept.Link a questa vocestatic func spacing(room: Vector2i, type: String, count: int) -> floatTwo 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).
- Parametri
room: Vector2itype: Stringcount: int
- Valore restituito
float
scripts/sim/world_gen.gd:132WorldGen.find_sitestatic funcWhere a new industry oftypegoes: near producers inunserved(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.Link a questa vocestatic func find_site(m: WorldMap, rng: RandomNumberGenerator, type: String, apart: float, unserved: Array) -> Vector3iA 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.
- Parametri
m: WorldMaprng: RandomNumberGeneratortype: Stringapart: floatunserved: Array
- Valore restituito
Vector3i
scripts/sim/world_gen.gd:144WorldGen.put_industrystatic funcPut an industry oftypewith ididonspot(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.Link a questa vocestatic func put_industry(m: WorldMap, id: int, type: String, spot: Vector3i) -> IndustryReturns it.
- Parametri
m: WorldMapid: inttype: Stringspot: Vector3i
- Valore restituito
Industry
scripts/sim/world_gen.gd:162WorldGen._site_levelstatic funcThe level asitekind 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.Link a questa vocestatic func _site_level(m: WorldMap, site: String, x: int, y: int) -> int- Parametri
m: WorldMapsite: Stringx: inty: int
- Valore restituito
int
scripts/sim/world_gen.gd:178WorldGen.unserved_feedersstatic funcIndustries making somethingtypeaccepts that have no taker within FEED_MAX tiles yet.Link a questa vocestatic func unserved_feeders(m: WorldMap, type: String) -> ArrayFor a plant that needs every input, all of them, taken or not: it can't work on one alone.
- Parametri
m: WorldMaptype: String
- Valore restituito
Array
- Chiama
Data.accepts
scripts/sim/world_gen.gd:189WorldGen._feeders_of_ownstatic funcIndustries making somethingtypeaccepts that have no industry oftypewithin FEED_MAX tiles: for a second customer of a cargo (a paper mill, where the forests already have a sawmill).Link a questa vocestatic func _feeders_of_own(m: WorldMap, type: String) -> Array- Parametri
m: WorldMaptype: String
- Valore restituito
Array
- Chiama
Data.accepts
scripts/sim/world_gen.gd:225WorldGen._site_near_feedersstatic funcA site FEED_MIN..FEED_MAX tiles from a producer inunservedand at leastaparttiles from any othertype: 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.Link a questa vocestatic func _site_near_feeders(m: WorldMap, rng: RandomNumberGenerator, site: String, type: String, apart: float, unserved: Array) -> Vector3iz is -1 when none turned up.
- Parametri
m: WorldMaprng: RandomNumberGeneratorsite: Stringtype: Stringapart: floatunserved: Array
- Valore restituito
Vector3i
- Chiama
Data.accepts
scripts/sim/world_gen.gd:239WorldGen._site_spreadstatic funcA usable site anywhere on the map: of SPREAD_TRIES random ones, the farthest from other industries oftype(best-candidate sampling, which spreads them out without a hard rule that could leave one unplaced).Link a questa vocestatic func _site_spread(m: WorldMap, rng: RandomNumberGenerator, site: String, type: String) -> Vector3iz is -1 when no usable site turned up.
- Parametri
m: WorldMaprng: RandomNumberGeneratorsite: Stringtype: String
- Valore restituito
Vector3i
scripts/sim/world_gen.gd:286WorldGen._site_by_townstatic funcA site by one of the TOWN_SITE_TOWNS biggest towns, at leastaparttiles from any othertype: 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.Link a questa vocestatic func _site_by_town(m: WorldMap, rng: RandomNumberGenerator, type: String, apart: float) -> Vector3iz is -1 when none turned up.
- Parametri
m: WorldMaprng: RandomNumberGeneratortype: Stringapart: float
- Valore restituito
Vector3i
scripts/sim/world_gen.gd:309WorldGen.level_groundstatic 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.Link a questa vocestatic func level_ground(m: WorldMap, ind: Industry) -> Rect2iReturns the tiles that changed.
- Parametri
m: WorldMapind: Industry
- Valore restituito
Rect2i
- Chiama
TerrainGen.classify_tile
scripts/sim/world_gen.gd:334WorldGen._gap_to_kindstatic funcDistance fromcto the nearest industry oftype, INF when there is none yet.Link a questa vocestatic func _gap_to_kind(m: WorldMap, type: String, c: Vector2) -> float- Parametri
m: WorldMaptype: Stringc: Vector2
- Valore restituito
float
scripts/sim/world_gen.gd:348WorldGen._sea_site_okstatic funcOffshore: open water all over the footprint and a margin, with a shore close enough for a dock.Link a questa vocestatic func _sea_site_ok(m: WorldMap, x: int, y: int) -> bool- Parametri
m: WorldMapx: inty: int
- Valore restituito
bool
scripts/sim/world_gen.gd:357WorldGen._near_coaststatic funcA harbour sits on the shore: open water within a couple of tiles of its footprint.Link a questa vocestatic func _near_coast(m: WorldMap, x: int, y: int) -> bool- Parametri
m: WorldMapx: inty: int
- Valore restituito
bool
scripts/sim/world_gen.gd:380WorldGen._industry_site_levelstatic funcReturns the level the footprint can be flattened to, or -1 if the site is unusable.Link a questa vocestatic func _industry_site_level(m: WorldMap, x: int, y: int) -> intFlattening only lowers corners by one, and only where that keeps neighbours within one level.
- Parametri
m: WorldMapx: inty: int
- Valore restituito
int
scripts/sim/world_gen.gd:391WorldGen._site_clearstatic 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).Link a questa vocestatic func _site_clear(m: WorldMap, x: int, y: int) -> boolThis 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.
- Parametri
m: WorldMapx: inty: int
- Valore restituito
bool
scripts/sim/world_gen.gd:419WorldGen._name_industriesstatic funcLink a questa vocestatic func _name_industries(m: WorldMap) -> void- Parametri
m: WorldMap
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_gen.gd:433WorldGen.industry_namestatic funcAn industry is named after the nearest town: "Ashford Coal Mine".Link a questa vocestatic func industry_name(m: WorldMap, ind: Industry) -> String- Parametri
m: WorldMapind: Industry
- Valore restituito
String
scripts/sim/world_gen.gd:439WorldGen._place_townsstatic funcLink a questa vocestatic func _place_towns(m: WorldMap, rng: RandomNumberGenerator, density: float = 1.0, opts: Dictionary = {}) -> void- Parametri
m: WorldMaprng: RandomNumberGeneratordensity: float = 1.0opts: Dictionary = {}
- Valore restituito
void
- Chiama
L.t,Town.pick_style
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_gen.gd:453WorldGen._town_site_okstatic funcLink a questa vocestatic func _town_site_ok(m: WorldMap, x: int, y: int, spacing: float = 22.0, industry_clear: float = TOWN_INDUSTRY_MIN) -> bool- Parametri
m: WorldMapx: inty: intspacing: float = 22.0industry_clear: float = TOWN_INDUSTRY_MIN
- Valore restituito
bool
- Chiama
BuildOps.can_build_house
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_gen.gd:481WorldGen._town_namestatic funcLink a questa vocestatic func _town_name(rng: RandomNumberGenerator, used: Dictionary) -> String- Parametri
rng: RandomNumberGeneratorused: Dictionary
- Valore restituito
String
- Chiama
Data.town_prefixes,Data.town_suffixes,L.t
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_gen.gd:502WorldGen._clear_treesstatic funcLink a questa vocestatic func _clear_trees(m: WorldMap) -> void- Parametri
m: WorldMap
- Valore restituito
void
Questa voce non descrive ancora il comportamento.
Dichiarato inscripts/sim/world_gen.gd:517
Opzioni dei file
I nomi dei campi distinguono maiuscole e minuscole. Le sezioni collegate contengono esempi e spiegano come usare ogni file.
| File o sezione | Campi obbligatori | Campi facoltativi |
|---|---|---|
mod.json | id | name, version, author, description |
data.json → vehicles.<id> | name, kind, cargos, speed, cost e run. Usa look o model e aggiungi max_wagons per le locomotive o cap per gli altri veicoli. | desc, year, rel, electric, steam, length |
data.json → cargo.<id> | ID di carico esistente | rate, days |
data.json → town_names | Nessuno | prefixes, suffixes, replace |
data.json → company_names | Elenco di nomi | Nessuno |
maps/<name>.json | Nessuno | name, description, settings |
In settings puoi impostare w e h (64, 128, 256, 512, 1024), year (1950, 1960, 1970, 1980, 1990, 2000), e towns, industries, rough e water (indici da 0 a 3). rough va da pianeggiante a montuoso. water va da basso a isole, passando per normale e alto.
Il booleano steam attiva gli effetti e il comportamento delle locomotive a vapore. length indica la lunghezza in caselle di un modello personalizzato.
Il dizionario Sim.options contiene cost, blocking, ai_level, max_loan, depots, breakdowns e goal. Sono opzioni della simulazione. Per le mod delle mappe usa i campi di settings elencati sopra.
ID dei carichi
| ID | Nome |
|---|---|
pax | Passengers |
coal | Coal |
wood | Wood |
grain | Grain |
oil | Oil |
goods | Goods |
food | Food |
iron_ore | Iron ore |
steel | Steel |
fish | Fish |
mail | |
plastics | Plastics |
waste | Waste |
electronics | Electronics |
cars | Cars |
paper | Paper |
news | Newspapers |
Modelli del gioco base
| ID | Nome | Tipo |
|---|---|---|
cargoplane | Pelican Freighter | air |
cargoprop | Stork Cargo Prop | air |
eplane | Breeze Electric Commuter | air |
h2liner | Aurora H2 Airliner | air |
jet | Albatross Jet | air |
jumbo | Condor Jumbo | air |
mailplane | Petrel Mailplane | air |
narrowbody | Falcon Narrowbody | air |
prop | Skylark Prop | air |
regional | Swift Regional Jet | air |
superjumbo | Leviathan Double-Deck | air |
supersonic | Arrow Supersonic | air |
turboprop | Kittiwake Turboprop | air |
widebody | Osprey Widebody | air |
diesel | Meridian Diesel | rail |
efreight | Tempest Electric Freight | rail |
electric | Aurora Electric | rail |
express | Vanguard Express | rail |
heavydiesel | Ironclad Freight Diesel | rail |
hst | Swift High-Speed | rail |
hydrogen | Zephyr Hydrogen | rail |
mogul | Highland Mogul | rail |
railcar | Sparrow Railcar | rail |
steam | Kestrel Steam | rail |
tank | Brigand Tank Engine | rail |
tilting | Swallow Tilting Express | rail |
artbus | Comet Articulated | road |
bus | Comet City Bus | road |
bus2 | Comet Coach | road |
cartruck | Atlas Car Transporter | road |
ddbus | Comet Double-Decker | road |
ebus | Volt Electric Bus | road |
etruck | Volt Electric Truck | road |
roadtrain | Titan Road Train | road |
truck | Atlas Hauler | road |
truck2 | Atlas Hauler Mk II | road |
truck3 | Atlas Hauler Mk III | road |
bulker | Granite Bulk Carrier | water |
container | Atlas Box Carrier | water |
eferry | Ripple Electric Ferry | water |
ferry | Gull Ferry | water |
freighter | Tern Freighter | water |
hydrofoil | Skimmer Hydrofoil | water |
liner | Majestic Liner | water |
tanker | Petrel Tanker | water |