Símbols de scripts
L’índex recull les funcions, propietats, senyals, constants i enumeracions amb nom de les classes de simulació i de mods. Les signatures i els comentaris del codi són en anglès. Mod defineix els punts d’entrada dels scripts. Les altres classes i els membres que comencen per guió baix poden canviar entre versions.
Resultats
No hi ha cap símbol que coincideixi.
Mod
Mod.infovarMetadata for the loaded mod.Enllaç a aquesta entradavar info := {}Common keys are
Declarat aid,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.Enllaç a aquesta entradafunc _on_load() -> voidRead mod files or initialize settings here. Use
_on_new_gameor_on_game_loadedfor work that needs a simulation.- Retorna
void
scripts/core/mod.gd:25Mod._on_new_gamefuncA new game has been created (world generated, companies founded), before the first day.Enllaç a aquesta entradafunc _on_new_game(_sim: Sim) -> void- Paràmetres
_sim: Sim
- Retorna
void
scripts/core/mod.gd:30Mod._on_game_loadedfuncA saved game has been loaded.Enllaç a aquesta entradafunc _on_game_loaded(_sim: Sim) -> void- Paràmetres
_sim: Sim
- Retorna
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.Enllaç a aquesta entradafunc _on_day(_sim: Sim) -> voidRead
sim.day_intfor the day that has just started.- Paràmetres
_sim: Sim
- Retorna
void
scripts/core/mod.gd:40Mod._on_monthfuncRuns at the month boundary after Fourways closes the previous month’s accounts.Enllaç a aquesta entradafunc _on_month(_sim: Sim) -> voidMoney credited here is recorded in the new month.
- Paràmetres
_sim: Sim
- Retorna
void
Exemple
Declarat afunc _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.Enllaç a aquesta entradafunc _on_year(_sim: Sim, _year: int) -> void- Paràmetres
_sim: Sim_year: int
- Retorna
void
scripts/core/mod.gd:50Mod._on_deliveryfuncRuns after a vehicle earns a fare by delivering cargo.Enllaç a aquesta entradafunc _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.- Paràmetres
_sim: Sim_vehicle: Vehicle_station: Station_amount: int
- Retorna
void
scripts/core/mod.gd:55Mod._on_vehicle_boughtfuncA vehicle has been bought.Enllaç a aquesta entradafunc _on_vehicle_bought(_sim: Sim, _vehicle: Vehicle) -> void- Paràmetres
_sim: Sim_vehicle: Vehicle
- Retorna
void
scripts/core/mod.gd:60Mod._on_station_builtfuncA station has been built (or extended).Enllaç a aquesta entradafunc _on_station_built(_sim: Sim, _station: Station) -> void- Paràmetres
_sim: Sim_station: Station
- Retorna
void
scripts/core/mod.gd:65Mod._on_newsfuncRuns before a news item is posted.Enllaç a aquesta entradafunc _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.- Paràmetres
_sim: Sim_item: Dictionary
- Retorna
bool
scripts/core/mod.gd:70Mod._savefuncReturns the mod’s persistent state as a dictionary of plain values.Enllaç a aquesta entradafunc _save(_sim: Sim) -> DictionaryAn empty dictionary is omitted, so
_loadwill not run for that save. Return the data rather than writing a separate file.- Paràmetres
_sim: Sim
- Retorna
Dictionary
scripts/core/mod.gd:76Mod._loadfuncRestores this mod’s data before_on_game_loaded.Enllaç a aquesta entradafunc _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.- Paràmetres
_sim: Sim_data: Dictionary
- Retorna
void
scripts/core/mod.gd:80Mod.newsfuncPost a news item ("good", "info", "warn" or "bad").Enllaç a aquesta entradafunc news(sim: Sim, text: String, kind: String = "info", at: Vector2 = Vector2(-1, -1)) -> voidatis a tile to jump to when it's clicked.- Paràmetres
sim: Simtext: Stringkind: String = "info"at: Vector2 = Vector2(-1, -1)
- Retorna
void
scripts/core/mod.gd:87Mod.notefuncWrite a line to the game's log, tagged with the mod's id.Enllaç a aquesta entradafunc note(text: String) -> void- Paràmetres
text: String
- Retorna
void
scripts/core/mod.gd:92Mod.pathfuncA file inside the mod's folder, e.g.Enllaç a aquesta entradafunc path(file: String) -> Stringpath("data/extra.json").
- Paràmetres
file: String
- Retorna
String
scripts/core/mod.gd:97
Sim
Sim.news_postedsignal{"text", "kind": good|info|warn|bad, "pos": Vector2, "day"[, "veh"][, "urgent"][, "world"]}Enllaç a aquesta entradasignal news_posted(item: Dictionary)- Paràmetres
item: Dictionary
- Retorna
signal news_posted(item: Dictionary)
scripts/sim/sim.gd:6Sim.incomesignalEnllaç a aquesta entradasignal income(vehicle: Vehicle, station: Station, amount: int)- Paràmetres
vehicle: Vehiclestation: Stationamount: int
- Retorna
signal income(vehicle: Vehicle, station: Station, amount: int)
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:7Sim.vehicles_changedsignalEnllaç a aquesta entradasignal vehicles_changed- Retorna
signal vehicles_changed
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:8Sim.company_bankruptsignalEnllaç a aquesta entradasignal company_bankrupt(c: Company)- Paràmetres
c: Company
- Retorna
signal company_bankrupt(c: Company)
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:9Sim.SPEEDSconstEnllaç a aquesta entradaconst SPEEDS := [0, 1, 2, 4, 8]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:11Sim.mapvarThe live world map.Enllaç a aquesta entradavar map: WorldMapUse it to read towns, industries, stations, and terrain. Use simulation construction methods when changing infrastructure.
Declarat ascripts/sim/sim.gd:13Sim.companiesvarThe companies in the current simulation, including the player.Enllaç a aquesta entradavar companies: Array[Company] = []Compare a vehicle or station’s owner with a company object to filter its assets.
Declarat ascripts/sim/sim.gd:14Sim.companyvarThe player’s company.Enllaç a aquesta entradavar company: CompanyUse its
Declarat aidfor council ratings and itsearn()andspend()methods to record changes in the accounts.scripts/sim/sim.gd:15Sim.vehiclesvarThe vehicles active in the current simulation.Enllaç a aquesta entradavar vehicles: Array[Vehicle] = []Use buying and selling methods to manage ownership and accounting.
Declarat ascripts/sim/sim.gd:16Sim.next_vehicle_idvarEnllaç a aquesta entradavar next_vehicle_id := 1Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:17Sim.seed_valuevarEnllaç a aquesta entradavar seed_value := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:18Sim.rngvarThe simulation’s seeded random-number generator.Enllaç a aquesta entradavar rng := RandomNumberGenerator.new()Calls advance the same random stream the simulation uses.
Declarat ascripts/sim/sim.gd:19Sim.dayvarEnllaç a aquesta entradavar day := 0.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:20Sim.day_intvarEnllaç a aquesta entradavar day_int := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:21Sim.speedvarEnllaç a aquesta entradavar speed := 1Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:22Sim.newsvarEnllaç a aquesta entradavar news: Array = []Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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".Enllaç a aquesta entradavar options := {"cost": 1.0, "blocking": false, "ai_level": 1, "max_loan": Data.MAX_LOAN, "depots": false, "breakdowns": 0, "goal": "none"}"depots": road vehicles and trains are bought at (and serviced in) depots; "breakdowns" 0..2; "goal": the company goal (one of Goals.GOAL_IDS).
Declarat ascripts/sim/sim.gd:29Sim.occupiedvarsignal block id -> Vehicle (realistic blocking only)Sim.CRASH_RconstTrain crashes (see _check_crashes).Enllaç a aquesta entradaconst 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
Declarat ascripts/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}}].Enllaç a aquesta entradaconst WRECK_DAYS := 20.0Trains stop short of a wreck's tiles (see wreck_tiles). Not saved.
Declarat ascripts/sim/sim.gd:41Sim.wrecksvarEnllaç a aquesta entradavar wrecks: Array = []Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradavar road_at := PackedInt32Array()Road vehicles by the tile their front is in, as lists threaded through
Declarat aroad_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_listvarEnllaç a aquesta entradavar road_list: Array[Vehicle] = []Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_vehiclesvarEnllaç a aquesta entradavar dropped_vehicles := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_idvarEnllaç a aquesta entradavar next_line_id := 1Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:64Sim.next_industry_idvarIndustries open and close during the game (RAIL-23, IndustryLife).Enllaç a aquesta entradavar 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).
Declarat ascripts/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.Enllaç a aquesta entradavar industry_room := Vector2i(-1, -1)Not saved: the coast hardly moves in a game.
Declarat ascripts/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).Enllaç a aquesta entradastatic func create(params: Dictionary) -> Sim- Paràmetres
params: Dictionary
- Retorna
Sim
scripts/sim/sim.gd:80Sim._initfuncEnllaç a aquesta entradafunc _init(p_seed: int, size: int = Const.MAP_SIZE, generate: bool = true, size_h: int = -1) -> void- Paràmetres
p_seed: intsize: int = Const.MAP_SIZEgenerate: bool = truesize_h: int = -1
- Retorna
void
- Crida
WorldGen.generate,L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:110Sim.date_textfuncFormats the current simulation day for display using the active language.Enllaç a aquesta entradafunc date_text() -> StringFor date calculations use
day_intoryear().- Retorna
String
- Crida
Calendar.format
scripts/sim/sim.gd:121Sim.yearfuncReturns the calendar year ofday_int.Enllaç a aquesta entradafunc year() -> intUse it for year-based rules instead of dividing the elapsed day count by 365.
- Retorna
int
- Crida
Calendar.from_day
scripts/sim/sim.gd:125Sim.tickfuncAdvance by real seconds at the current game speed.Enllaç a aquesta entradafunc tick(real_dt: float) -> void- Paràmetres
real_dt: float
- Retorna
void
scripts/sim/sim.gd:132Sim.advancefuncAdvance byddgame days.Enllaç a aquesta entradafunc advance(dd: float) -> void- Paràmetres
dd: float
- Retorna
void
scripts/sim/sim.gd:139Sim._update_occupancyfuncWhich track blocks trains are standing in (only matters with realistic blocking).Enllaç a aquesta entradafunc _update_occupancy() -> voidSince RAIL-80 junctions are blocks too, so this runs without signals as well.
- Retorna
void
scripts/sim/sim.gd:162Sim._index_queuesfuncWhere road vehicles, ships and aircraft are, for the queues (RAIL-26).Enllaç a aquesta entradafunc _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.
- Retorna
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.Enllaç a aquesta entradafunc claim_stand(st: Station, holding: bool) -> boolOne already holding goes before one only just arriving.
- Paràmetres
st: Stationholding: bool
- Retorna
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.Enllaç a aquesta entradafunc _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).
- Paràmetres
dd: float
- Retorna
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.Enllaç a aquesta entradafunc _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.
- Retorna
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.Enllaç a aquesta entradafunc _contact(a: Dictionary, b: Dictionary) -> Variantaandbare entries of _check_crashes' list.- Paràmetres
a: Dictionaryb: Dictionary
- Retorna
Variant
scripts/sim/sim.gd:346Sim._crashfuncTwo trains have run into each other atat: both are wrecked, with all they carried.Enllaç a aquesta entradafunc _crash(a: Vehicle, b: Vehicle, at: Vector2) -> void- Paràmetres
a: Vehicleb: Vehicleat: Vector2
- Retorna
void
- Crida
Station.nearest_town,L.t
scripts/sim/sim.gd:374Sim._dir_indexstatic funcEnllaç a aquesta entradastatic func _dir_index(v: Vector2) -> int- Paràmetres
v: Vector2
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:403Sim._on_dayfuncEnllaç a aquesta entradafunc _on_day() -> void- Retorna
void
- Crida
Economy.produce,IndustryLife.near_wind_farm,Calendar.from_day,Mods.hook,Economy.monthly,IndustryLife.monthly,Data.intros,Data.model,L.t,L.lower
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:409Sim._growth_contextfuncWhat a town's land values depend on: stations with recent passenger service and nearby industry.Enllaç a aquesta entradafunc _growth_context(t: Town) -> Dictionary- Paràmetres
t: Town
- Retorna
Dictionary
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).Enllaç a aquesta entradafunc _new_era(era: Dictionary) -> void- Paràmetres
era: Dictionary
- Retorna
void
- Crida
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.Enllaç a aquesta entradafunc sync_era() -> voidStations look again at what they accept and supply.
- Retorna
void
- Crida
Data.era_index
scripts/sim/sim.gd:504Sim._match_daysfuncStadiums hold a match once a month, each on its own day (see match_offset).Enllaç a aquesta entradafunc _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.
- Retorna
void
- Crida
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.Enllaç a aquesta entradastatic func match_offset(t: Vector2i) -> intTownLife shows the fans walking to it then.
- Paràmetres
t: Vector2i
- Retorna
int
scripts/sim/sim.gd:546Sim._update_town_servicefuncEnllaç a aquesta entradafunc _update_town_service(t: Town) -> void- Paràmetres
t: Town
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:550Sim._yearlyfuncEnllaç a aquesta entradafunc _yearly(old_year: int) -> void- Paràmetres
old_year: int
- Retorna
void
- Crida
IndustryLife.yearly,L.t,Fmt.money
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc _check_bankruptcy() -> void- Retorna
void
- Crida
L.t
scripts/sim/sim.gd:578Sim._go_bankruptfuncEnllaç a aquesta entradafunc _go_bankrupt(c: Company) -> void- Paràmetres
c: Company
- Retorna
void
- Crida
L.t,WorldMap.crossing_tiles
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:606Sim.post_newsfuncveh: the id of the vehicle the news is about, if any (clicking the news opens it).Enllaç a aquesta entradafunc post_news(text: String, kind: String, pos: Vector2, veh: int = 0, about: String = "", urgent: bool = false, world: bool = false) -> 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.- Paràmetres
text: Stringkind: Stringpos: Vector2veh: int = 0about: String = ""urgent: bool = falseworld: bool = false
- Retorna
void
- Crida
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.Enllaç a aquesta entradafunc 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.
- Paràmetres
text: Stringkind: Stringpos: Vector2about: String = ""
- Retorna
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.Sim.vehicle_by_idfuncThe vehicle with this id, or null.Enllaç a aquesta entradafunc vehicle_by_id(id: int) -> Vehicle- Paràmetres
id: int
- Retorna
Vehicle
scripts/sim/sim.gd:706Sim.on_incomefuncEnllaç a aquesta entradafunc on_income(v: Vehicle, st: Station, amount: int) -> void- Paràmetres
v: Vehiclest: Stationamount: int
- Retorna
void
- Crida
Mods.hook
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:713Sim._with_moneyfuncMarks a plan as unaffordable if the company can't pay for it.Enllaç a aquesta entradafunc _with_money(p: Dictionary, who: Company) -> Dictionary- Paràmetres
p: Dictionarywho: Company
- Retorna
Dictionary
scripts/sim/sim.gd:721Sim._ownershipfuncTrack and stations belonging to other companies can't be touched.Enllaç a aquesta entradafunc _ownership(p: Dictionary, who: Company, tiles: Array) -> Dictionary- Paràmetres
p: Dictionarywho: Companytiles: Array
- Retorna
Dictionary
- Crida
L.t
scripts/sim/sim.gd:734Sim.preview_linefuncChecks a path of adjacent road or rail tiles for construction, ownership, and affordability.Enllaç a aquesta entradafunc preview_line(kind: String, pts: Array[Vector2i], who: Company = null) -> DictionaryReturns a plan with
ok,reasonandcostwithout laying track or spending money.- Paràmetres
kind: Stringpts: Array[Vector2i]who: Company = null
- Retorna
Dictionary
- Crida
BuildOps.plan_line
scripts/sim/sim.gd:754Sim.build_linefuncLays road or track along consecutive adjacent tiles and debits construction costs on success.Enllaç a aquesta entradafunc build_line(kind: String, pts: Array[Vector2i], who: Company = null) -> DictionaryPass at least two tiles as
Array[Vector2i]. The return value is a construction plan, so checkokbefore using it.- Paràmetres
kind: Stringpts: Array[Vector2i]who: Company = null
- Retorna
Dictionary
- Crida
BuildOps.apply_line
Exemple
Declarat avar 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.Enllaç a aquesta entradafunc 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).
- Paràmetres
kind: Stringpts: Array[Vector2i]crossings: Arraywho: Company = null
- Retorna
Dictionary
scripts/sim/sim.gd:785Sim._join_planfuncAdd a stretch's or crossing's plan to a route's (plan_route).Enllaç a aquesta entradafunc _join_plan(p: Dictionary, part: Dictionary) -> void- Paràmetres
p: Dictionarypart: Dictionary
- Retorna
void
scripts/sim/sim.gd:835Sim.preview_routefuncReturns the cost and validity of a road or rail route that can include bridges or tunnels.Enllaç a aquesta entradafunc preview_route(kind: String, pts: Array[Vector2i], crossings: Array, who: Company = null) -> DictionaryIt runs the route planner and checks funds without building the route.
- Paràmetres
kind: Stringpts: Array[Vector2i]crossings: Arraywho: Company = null
- Retorna
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.Enllaç a aquesta entradafunc build_route(kind: String, pts: Array[Vector2i], crossings: Array, who: Company = null) -> Dictionary- Paràmetres
kind: Stringpts: Array[Vector2i]crossings: Arraywho: Company = null
- Retorna
Dictionary
scripts/sim/sim.gd:860Sim.preview_stationfuncChecks placement, ownership, council permission, and affordability for a new station or extension.Enllaç a aquesta entradafunc preview_station(kind: String, pts: Array[Vector2i], axis: int, who: Company = null) -> DictionaryReturns a plan without building the station.
- Paràmetres
kind: Stringpts: Array[Vector2i]axis: intwho: Company = null
- Retorna
Dictionary
scripts/sim/sim.gd:886Sim.build_stationfuncBuilds or extends a station, charges the company, and firesMod._on_station_built.Enllaç a aquesta entradafunc 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.- Paràmetres
kind: Stringpts: Array[Vector2i]axis: intwho: Company = null
- Retorna
Dictionary
scripts/sim/sim.gd:904Sim.preview_bulldozefuncChecks which objects in the tile rectangle can be cleared by the company, and estimates the cost.Enllaç a aquesta entradafunc preview_bulldoze(rect: Rect2i, who: Company = null) -> DictionaryRead the plan before calling
build_bulldoze.- Paràmetres
rect: Rect2iwho: Company = null
- Retorna
Dictionary
scripts/sim/sim.gd:924Sim.build_bulldozefuncClears the allowed parts of a tile rectangle, updates track ownership counts, and charges the company.Enllaç a aquesta entradafunc build_bulldoze(rect: Rect2i, who: Company = null) -> DictionaryRemoving scenery and buildings can affect town council ratings.
- Paràmetres
rect: Rect2iwho: Company = null
- Retorna
Dictionary
scripts/sim/sim.gd:957Sim.preview_crossingfuncBridges (bis the far ramp) and tunnels (from hillside tilea).Enllaç a aquesta entradafunc preview_crossing(kind: String, type: String, a: Vector2i, b: Vector2i, who: Company = null, style: String = "") -> Dictionary- Paràmetres
kind: Stringtype: Stringa: Vector2ib: Vector2iwho: Company = nullstyle: String = ""
- Retorna
Dictionary
scripts/sim/sim.gd:981Sim.build_crossingfuncBuilds a bridge between the ramp tiles or a tunnel from the hillside tile.Enllaç a aquesta entradafunc build_crossing(kind: String, type: String, a: Vector2i, b: Vector2i, who: Company = null, style: String = "") -> DictionaryPass
bridgeortunnelfortype. A successful plan contains the newcrossing.- Paràmetres
kind: Stringtype: Stringa: Vector2ib: Vector2iwho: Company = nullstyle: String = ""
- Retorna
Dictionary
scripts/sim/sim.gd:992Sim.preview_signalfuncChecks placement, ownership, and cost for the signal action on a rail tile.Enllaç a aquesta entradafunc preview_signal(t: Vector2i, who: Company = null) -> DictionaryReturns the plan without applying it.
- Paràmetres
t: Vector2iwho: Company = null
- Retorna
Dictionary
- Crida
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.Enllaç a aquesta entradafunc build_signal(t: Vector2i, who: Company = null) -> Dictionary- Paràmetres
t: Vector2iwho: Company = null
- Retorna
Dictionary
scripts/sim/sim.gd:1019Sim.preview_terraformfuncChecks the cost and rules for raising or lowering a map corner.Enllaç a aquesta entradafunc preview_terraform(corner: Vector2i, delta: int, who: Company = null) -> DictionaryIt also rejects a plan if a vehicle occupies any affected tile.
- Paràmetres
corner: Vector2idelta: intwho: Company = null
- Retorna
Dictionary
- Crida
BuildOps.plan_terraform,L.t
scripts/sim/sim.gd:1030Sim.build_terraformfuncApplies an affordable height change to a map corner.Enllaç a aquesta entradafunc build_terraform(corner: Vector2i, delta: int, who: Company = null) -> DictionaryA positive
deltaraises it and a negative one lowers it.- Paràmetres
corner: Vector2idelta: intwho: Company = null
- Retorna
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.Enllaç a aquesta entradafunc preview_level(rect: Rect2i, height: int, who: Company = null) -> Dictionary- Paràmetres
rect: Rect2iheight: intwho: Company = null
- Retorna
Dictionary
- Crida
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.Enllaç a aquesta entradafunc build_level(rect: Rect2i, height: int, who: Company = null) -> DictionaryCheck the returned plan for skipped tiles.
- Paràmetres
rect: Rect2iheight: intwho: Company = null
- Retorna
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).Enllaç a aquesta entradafunc _level_upsets_towns(tiles: Array, who: Company) -> void- Paràmetres
tiles: Arraywho: Company
- Retorna
void
- Crida
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.Enllaç a aquesta entradafunc _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.
- Paràmetres
r: Rect2iwho: Company
- Retorna
void
scripts/sim/sim.gd:1109Sim.council_newsfuncTell the player the moment a council turns against them (or comes round).Enllaç a aquesta entradafunc council_news(t: Town, who: Company, was: float) -> void- Paràmetres
t: Townwho: Companywas: float
- Retorna
void
- Crida
L.t,Town.rating_name
scripts/sim/sim.gd:1141Sim.council_refusalfuncWhy a council refuseswhoneart, in words a player can act on.Enllaç a aquesta entradafunc council_refusal(t: Town, who: Company) -> String- Paràmetres
t: Townwho: Company
- Retorna
String
- Crida
L.t,Town.rating_name,L.lower
scripts/sim/sim.gd:1153Sim.town_actionfuncTown actions from the town window: "advertise", "trees" or "fund".Enllaç a aquesta entradafunc town_action(t: Town, action: String, who: Company = null) -> DictionaryReturns {ok, reason, cost}.
- Paràmetres
t: Townaction: Stringwho: Company = null
- Retorna
Dictionary
scripts/sim/sim.gd:1168Sim.renew_vehiclefuncCharges the owner the renewal price and resets the vehicle’s age, reliability, and last-service date.Enllaç a aquesta entradafunc renew_vehicle(v: Vehicle, who: Company = null) -> DictionaryCheck
okbefore reading the successful result’scost.- Paràmetres
v: Vehiclewho: Company = null
- Retorna
Dictionary
- Crida
L.t,Fmt.money,Data.reliability
scripts/sim/sim.gd:1215Sim.renew_pricefuncWhat renew_vehicle would charge forvright now.Enllaç a aquesta entradafunc renew_price(v: Vehicle) -> int- Paràmetres
v: Vehicle
- Retorna
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.Enllaç a aquesta entradastatic func same_route(a: Vehicle, b: Vehicle) -> bool- Paràmetres
a: Vehicleb: Vehicle
- Retorna
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.Enllaç a aquesta entradafunc vehicles_on_stops(kind: String, stops: Array, who: Company) -> int- Paràmetres
kind: Stringstops: Arraywho: Company
- Retorna
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.Enllaç a aquesta entradafunc route_vehicles(v: Vehicle) -> Array- Paràmetres
v: Vehicle
- Retorna
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.Enllaç a aquesta entradafunc make_line(v: Vehicle, line_name: String = "") -> LineReturns the line.
- Paràmetres
v: Vehicleline_name: String = ""
- Retorna
Line
scripts/sim/sim.gd:1290Sim.line_problemfuncWhyvcan't runln's stops ("" when it can).Enllaç a aquesta entradafunc line_problem(v: Vehicle, ln: Line) -> String- Paràmetres
v: Vehicleln: Line
- Retorna
String
- Crida
L.t
scripts/sim/sim.gd:1305Sim.join_linefuncPutvon lineln(it takes the line's stops).Enllaç a aquesta entradafunc join_line(v: Vehicle, ln: Line) -> DictionaryReturns {"ok", "reason"}.
- Paràmetres
v: Vehicleln: Line
- Retorna
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.Enllaç a aquesta entradafunc _put_on_line(v: Vehicle, ln: Line) -> void- Paràmetres
v: Vehicleln: Line
- Retorna
void
scripts/sim/sim.gd:1327Sim.leave_linefuncTakevoff its line: it keeps the stops as its own.Enllaç a aquesta entradafunc leave_line(v: Vehicle) -> void- Paràmetres
v: Vehicle
- Retorna
void
scripts/sim/sim.gd:1340Sim.set_line_ordersfuncGive linelnnew stops (validated for every model running on it).Enllaç a aquesta entradafunc 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"}.
- Paràmetres
ln: Linenew_orders: Array
- Retorna
Dictionary
scripts/sim/sim.gd:1350Sim.set_vehicle_ordersfuncGive a vehicle new stops: its own, or (on a line) the whole line's.Enllaç a aquesta entradafunc set_vehicle_orders(v: Vehicle, new_orders: Array, idx: int = -1) -> DictionaryReturns {"ok", "reason"}.
- Paràmetres
v: Vehiclenew_orders: Arrayidx: int = -1
- Retorna
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.Enllaç a aquesta entradafunc _stops_problem(kind: String, stops: Array, who: Company) -> String- Paràmetres
kind: Stringstops: Arraywho: Company
- Retorna
String
- Crida
L.t
scripts/sim/sim.gd:1402Sim.delete_linefuncDelete a line: its vehicles keep running its stops, each on its own.Enllaç a aquesta entradafunc delete_line(ln: Line) -> void- Paràmetres
ln: Line
- Retorna
void
scripts/sim/sim.gd:1419Sim.buy_for_linefuncBuy one more vehicle for lineln, liketemplate(the same model, cargo and wagons).Enllaç a aquesta entradafunc buy_for_line(ln: Line, template: Vehicle) -> DictionaryReturns buy_vehicle's answer.
- Paràmetres
ln: Linetemplate: Vehicle
- Retorna
Dictionary
scripts/sim/sim.gd:1429Sim.stop_linefuncStop (or start again) every vehicle on a line.Enllaç a aquesta entradafunc stop_line(ln: Line, stop: bool) -> void- Paràmetres
ln: Linestop: bool
- Retorna
void
scripts/sim/sim.gd:1445Sim.renew_linefuncRenew every vehicle on a line that is past its working life.Enllaç a aquesta entradafunc renew_line(ln: Line) -> DictionaryReturns {"n", "cost", "reason"}.
- Paràmetres
ln: Line
- Retorna
Dictionary
scripts/sim/sim.gd:1454Sim.line_by_idfuncLooks for a line with the given ID in the simulation and returnsnullif no line matches.Enllaç a aquesta entradafunc line_by_id(line_id: int) -> Line- Paràmetres
line_id: int
- Retorna
Line
scripts/sim/sim.gd:1470Sim._index_ofstatic funcEnllaç a aquesta entradastatic func _index_of(list: Array, st: Station, fallback: int) -> int- Paràmetres
list: Arrayst: Stationfallback: int
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:1477Sim._mark_servedfuncEnllaç a aquesta entradafunc _mark_served(v: Vehicle) -> void- Paràmetres
v: Vehicle
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:1487Sim.route_textstatic funcA vehicle's route in a few words: "Ashford → Millbury".Enllaç a aquesta entradastatic func route_text(v: Vehicle) -> String- Paràmetres
v: Vehicle
- Retorna
String
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).Enllaç a aquesta entradafunc 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.- Paràmetres
v: Vehiclemodel_id: Stringchecked: Dictionary = {}
- Retorna
Dictionary
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.Enllaç a aquesta entradafunc 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).
- Paràmetres
v: Vehiclemodel_id: Stringwho: Company = null
- Retorna
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)}.Enllaç a aquesta entradafunc replace_route_plan(v: Vehicle, model_id: String, checked: Dictionary = {}) -> Dictionary- Paràmetres
v: Vehiclemodel_id: Stringchecked: Dictionary = {}
- Retorna
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.Enllaç a aquesta entradafunc replace_route(v: Vehicle, model_id: String, who: Company = null) -> DictionaryThe player is told in one news item.
- Paràmetres
v: Vehiclemodel_id: Stringwho: Company = null
- Retorna
Dictionary
- Crida
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).Enllaç a aquesta entradafunc _pay_vehicles(who: Company, cost: int) -> void- Paràmetres
who: Companycost: int
- Retorna
void
scripts/sim/sim.gd:1608Sim._becomefuncThe swap itself:vbecomes a brand-newmodel_id(what renew_vehicle resets, on a new model).Enllaç a aquesta entradafunc _become(v: Vehicle, model_id: String) -> void- Paràmetres
v: Vehiclemodel_id: String
- Retorna
void
- Crida
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.Enllaç a aquesta entradaconst 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.
Declarat ascripts/sim/sim.gd:1629Sim._auto_renewfuncEnllaç a aquesta entradafunc _auto_renew() -> int- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:1630Sim.refit_costfuncWhat changing a vehicle's cargo would cost.Enllaç a aquesta entradafunc 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.- Paràmetres
v: Vehicleconsist: Array
- Retorna
Dictionary
- Crida
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).Enllaç a aquesta entradafunc refit_place(v: Vehicle) -> String- Paràmetres
v: Vehicle
- Retorna
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.Enllaç a aquesta entradafunc refit_plan(v: Vehicle, consist: Array) -> Dictionary- Paràmetres
v: Vehicleconsist: Array
- Retorna
Dictionary
- Crida
L.t
scripts/sim/sim.gd:1714Sim.refit_vehiclefuncOrder a change of what a vehicle carries (see refit_cost) and pay for it.Enllaç a aquesta entradafunc refit_vehicle(v: Vehicle, consist: Array, who: Company = null) -> 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.
- Paràmetres
v: Vehicleconsist: Arraywho: Company = null
- Retorna
Dictionary
scripts/sim/sim.gd:1729Sim.cancel_refitfuncCall off a change of cargo that hasn't been done yet; returns the money given back.Enllaç a aquesta entradafunc cancel_refit(v: Vehicle, who: Company = null) -> int- Paràmetres
v: Vehiclewho: Company = null
- Retorna
int
scripts/sim/sim.gd:1752Sim.finish_refitfuncDo the change of cargo a vehicle is waiting for (it has reached the depot).Enllaç a aquesta entradafunc finish_refit(v: Vehicle) -> void- Paràmetres
v: Vehicle
- Retorna
void
scripts/sim/sim.gd:1765Sim._occupied_tilesfuncEnllaç a aquesta entradafunc _occupied_tiles() -> Dictionary- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:1779Sim.check_ordersfuncCheck a vehicle order list: returns "" if fine, else why not.Enllaç a aquesta entradafunc check_orders(model_id: String, cargo: String, stops: Array, who: Company) -> String- Paràmetres
model_id: Stringcargo: Stringstops: Arraywho: Company
- Retorna
String
- Crida
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.Enllaç a aquesta entradafunc vehicle_price(model_id: String, wagons: int) -> intNon-rail models ignore the wagon count. It does not check funds, routes, or sale year.
- Paràmetres
model_id: Stringwagons: int
- Retorna
int
- Crida
Data.model
scripts/sim/sim.gd:1832Sim.buy_vehiclefuncBuys a model for a route of existing stations.Enllaç a aquesta entradafunc buy_vehicle(model_id: String, cargo: String, wagons: int, stops: Array, full_load_first: bool, who: Company = null, consist: Array = [], transfer_at: Array = []) -> 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.- Paràmetres
model_id: Stringcargo: Stringwagons: intstops: Arrayfull_load_first: boolwho: Company = nullconsist: Array = []transfer_at: Array = []
- Retorna
Dictionary
- Crida
Data.model,L.t,Data.available,Data.intro_year,Fmt.money,Data.reliability,Mods.hook,BuildOps.dir_between
scripts/sim/sim.gd:1840Sim.depots_requiredfuncEnllaç a aquesta entradafunc depots_required(who: Company) -> bool- Paràmetres
who: Company
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:1932Sim.depot_tilesfuncwho's depots for vehicles ofkind(road or rail), as a set of tiles.Enllaç a aquesta entradafunc depot_tiles(kind: String, who: Company) -> Dictionary- Paràmetres
kind: Stringwho: Company
- Retorna
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.Enllaç a aquesta entradafunc find_depot(kind: String, st: Station, who: Company, wired: bool = false) -> Vector2iFor the one a new vehicle drives out of, see depot_out.
- Paràmetres
kind: Stringst: Stationwho: Companywired: bool = false
- Retorna
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).Enllaç a aquesta entradafunc 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.
- Paràmetres
kind: Stringst: Stationwho: Companywired: bool = falseobey_signals: bool = true
- Retorna
Vector2i
- Crida
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).Enllaç a aquesta entradafunc 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.
- Paràmetres
kind: Stringst: Stationgoals: Dictionarywired: bool = falseobey_signals: bool = true
- Retorna
Dictionary
- Crida
Pathfinder.find
scripts/sim/sim.gd:1973Sim.preview_electrifyfuncEnllaç a aquesta entradafunc preview_electrify(pts: Array[Vector2i], who: Company = null) -> Dictionary- Paràmetres
pts: Array[Vector2i]who: Company = null
- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:1996Sim.build_electrifyfuncEnllaç a aquesta entradafunc build_electrify(pts: Array[Vector2i], who: Company = null) -> Dictionary- Paràmetres
pts: Array[Vector2i]who: Company = null
- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:2003Sim.preview_depotfuncEnllaç a aquesta entradafunc preview_depot(kind: String, t: Vector2i, facing: int, who: Company = null) -> Dictionary- Paràmetres
kind: Stringt: Vector2ifacing: intwho: Company = null
- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:2014Sim.build_depotfuncEnllaç a aquesta entradafunc build_depot(kind: String, t: Vector2i, facing: int, who: Company = null) -> Dictionary- Paràmetres
kind: Stringt: Vector2ifacing: intwho: Company = null
- Retorna
Dictionary
- Crida
BuildOps.apply_depot
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/sim.gd:2031Sim.sell_vehiclefuncSell a vehicle.Enllaç a aquesta entradafunc sell_vehicle(v: Vehicle, who: Company = null) -> intwhomust own it (defaults to the player); returns the refund, or -1 if refused.- Paràmetres
v: Vehiclewho: Company = null
- Retorna
int
scripts/sim/sim.gd:2048Sim.company_vehiclesfuncReturns the vehicles owned by the suppliedCompany.Enllaç a aquesta entradafunc company_vehicles(who: Company) -> ArrayThe returned array can be filtered or reordered independently, but its vehicle objects are live.
- Paràmetres
who: Company
- Retorna
Array
scripts/sim/sim.gd:2061Sim.company_valuefuncCalculates cash minus loans plus vehicle resale value, station tile value, and owned track value.Enllaç a aquesta entradafunc company_value(who: Company) -> intThis is the value used for company comparisons.
- Paràmetres
who: Company
- Retorna
int
scripts/sim/sim.gd:2065
Company
Company.COLORSconstEnllaç a aquesta entradaconst COLORSAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/company.gd:5Company.CATEGORIESconstEnllaç a aquesta entradaconst CATEGORIES := ["construction", "vehicles", "running", "property", "infrastructure", "interest", "income"]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/company.gd:8Company.idvarEnllaç a aquesta entradavar id := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/company.gd:10Company.namevarEnllaç a aquesta entradavar name := "Fourways Transport Co."Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/company.gd:11Company.colorvarEnllaç a aquesta entradavar color := Color(0.18, 0.45, 0.85)Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/company.gd:12Company.is_aivarEnllaç a aquesta entradavar is_ai := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/company.gd:13Company.moneyvarThe company’s current cash balance in game dollars.Enllaç a aquesta entradavar money: int = Data.START_LOANUse the accounting methods to change it when the transaction should appear in the ledger.
Declarat ascripts/sim/company.gd:14Company.loanvarThe company’s outstanding debt in game dollars.Enllaç a aquesta entradavar loan: int = Data.START_LOANUse
Declarat aborrowandrepayto adjust cash and debt together.scripts/sim/company.gd:15Company.ledgervarEnllaç a aquesta entradavar ledger := {}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/company.gd:16Company.ledger_lastvarEnllaç a aquesta entradavar ledger_last := {}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/company.gd:17Company.founded_dayvarEnllaç a aquesta entradavar founded_day := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/company.gd:18Company.max_loanvarEnllaç a aquesta entradavar max_loan: int = Data.MAX_LOANAquesta entrada encara no descriu el comportament.
Declarat ascripts/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.bankruptvarEnllaç a aquesta entradavar bankrupt := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/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_lastvarEnllaç a aquesta entradavar cargo_last := {}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/company.gd:28Company.kind_yearvarvehicle kind -> $ earned this yearCompany.kind_lastvarEnllaç a aquesta entradavar kind_last := {}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/company.gd:30Company.yearsvarclosed years, oldest first (last 60): see_year_rowCompany.auto_renewvarEnllaç a aquesta entradavar auto_renew := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/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_monthfuncEnllaç a aquesta entradafunc record_month(value: int) -> void- Paràmetres
value: int
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/company.gd:38Company.note_deliveryfuncA delivery:unitsof cargocpaidpay, carried by a vehicle ofkind.Enllaç a aquesta entradafunc note_delivery(c: String, units: int, pay: int, kind: String) -> void- Paràmetres
c: Stringunits: intpay: intkind: String
- Retorna
void
scripts/sim/company.gd:50Company._initfuncEnllaç a aquesta entradafunc _init(p_id: int = 0, p_name: String = "Fourways Transport Co.") -> void- Paràmetres
p_id: int = 0p_name: String = "Fourways Transport Co."
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/company.gd:61Company.can_affordfuncChecks whether the company’s current cash coverscost.Enllaç a aquesta entradafunc can_afford(cost: int) -> boolIt does not borrow money or change its balance.
- Paràmetres
cost: int
- Retorna
bool
scripts/sim/company.gd:70Company.spendfuncDeducts the cost from cash and records it in the category and monthly accounts.Enllaç a aquesta entradafunc spend(cost: int, category: String) -> boolReturns
falseand leaves the accounts untouched if cash is insufficient. Typical categories includeconstructionandvehicles.- Paràmetres
cost: intcategory: String
- Retorna
bool
scripts/sim/company.gd:74Company.chargefuncCosts that are paid whether or not there is cash (running costs, interest).Enllaç a aquesta entradafunc charge(cost: int, category: String) -> void- Paràmetres
cost: intcategory: String
- Retorna
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.Enllaç a aquesta entradafunc earn(amount: int) -> void- Paràmetres
amount: int
- Retorna
void
scripts/sim/company.gd:92Company.borrowfuncAdds up toamountto cash and debt, limited by the company’s remaining loan allowance.Enllaç a aquesta entradafunc borrow(amount: int) -> boolReturns whether any money was borrowed.
- Paràmetres
amount: int
- Retorna
bool
scripts/sim/company.gd:98Company.repayfuncRepays up toamount, limited by cash and outstanding debt.Enllaç a aquesta entradafunc repay(amount: int) -> boolReturns whether a payment was made.
- Paràmetres
amount: int
- Retorna
bool
scripts/sim/company.gd:107Company.roll_yearfuncClose the books onyear;valueis the company value at its end.Enllaç a aquesta entradafunc roll_year(year: int = 0, value: int = 0) -> void- Paràmetres
year: int = 0value: int = 0
- Retorna
void
scripts/sim/company.gd:117Company.profitfuncCalculates net profit from a ledger dictionary by subtracting recorded expense categories from income.Enllaç a aquesta entradafunc profit(l: Dictionary) -> int- Paràmetres
l: Dictionary
- Retorna
int
scripts/sim/company.gd:130Company._year_rowfuncA ledger boiled down to one line of the yearly summary.Enllaç a aquesta entradafunc _year_row(l: Dictionary, year: int, value: int) -> Dictionary- Paràmetres
l: Dictionaryyear: intvalue: int
- Retorna
Dictionary
scripts/sim/company.gd:139Company.year_rowsfuncThe yearly summary, oldest first: every closed year, then the year in progress ("open": true).Enllaç a aquesta entradafunc year_rows(year: int, month: int, value: int) -> 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.- Paràmetres
year: intmonth: intvalue: int
- Retorna
Array
- Crida
Calendar.from_day
scripts/sim/company.gd:149
Town
Town.idvarEnllaç a aquesta entradavar id := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:5Town.namevarEnllaç a aquesta entradavar name := ""Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:6Town.cxvarEnllaç a aquesta entradavar cx := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:7Town.cyvarEnllaç a aquesta entradavar cy := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:8Town.gridvarroad spacing; houses fill the blocks between grid linesTown.popvarEnllaç a aquesta entradavar pop := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:10Town.house_countvarEnllaç a aquesta entradavar house_count := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:11Town.grow_timervarEnllaç a aquesta entradavar grow_timer := 30Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:12Town.paxvarpassengers generated this monthTown.pax_movedvar...and picked up by stationsTown.pax_lastvarEnllaç a aquesta entradavar pax_last := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:15Town.pax_moved_lastvarEnllaç a aquesta entradavar pax_moved_last := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:16Town.suppliedvargoods and food delivered this monthTown.supplied_lastvarEnllaç a aquesta entradavar supplied_last := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_untilvarEnllaç a aquesta entradavar exclusive_until := -1Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:29Town.cheapvarEnllaç a aquesta entradavar cheap := {}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:30Town.rating_logvarWhy each company's rating moved lately: company id -> [{"day", "delta", "why"}], newest last.Town.RATING_STARTconstEnllaç a aquesta entradaconst RATING_START := 60.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:35Town.RATING_REFUSEconstEnllaç a aquesta entradaconst RATING_REFUSE := 30.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:36Town.COUNCIL_RADIUSconstEnllaç a aquesta entradaconst COUNCIL_RADIUS := 18Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:37Town.RATING_CRASHconstEnllaç a aquesta entradaconst RATING_CRASH := -20.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradaconst 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.
Declarat ascripts/sim/town.gd:43Town.RATING_STREETconstEnllaç a aquesta entradaconst RATING_STREET := -3.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:44Town.RATING_TREEconstEnllaç a aquesta entradaconst RATING_TREE := -0.5Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:45Town.RATING_TREES_MAXconstEnllaç a aquesta entradaconst RATING_TREES_MAX := -6.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:46Town.BUSY_NOISEconstHow far the noise of a busy industry lowers land values (Industry.BUSY, land_value).Town.LOG_SIZEconstEnllaç a aquesta entradaconst LOG_SIZE := 8Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:49Town.ratingfuncReturns the council’s current rating for a company ID on the 0–100 scale.Enllaç a aquesta entradafunc rating(cid: int) -> floatCompanies without a recorded rating receive the starting value.
- Paràmetres
cid: int
- Retorna
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.Enllaç a aquesta entradafunc change_rating(cid: int, delta: float, why: String = "", day: int = -1) -> void- Paràmetres
cid: intdelta: floatwhy: String = ""day: int = -1
- Retorna
void
scripts/sim/town.gd:58Town.is_streetfuncA town's own streets: roads inside the built-up area.Enllaç a aquesta entradafunc is_street(x: int, y: int) -> boolRoads a company lays in open country aren't.
- Paràmetres
x: inty: int
- Retorna
bool
scripts/sim/town.gd:77Town.rating_namestatic funcEnllaç a aquesta entradastatic func rating_name(r: float) -> String- Paràmetres
r: float
- Retorna
String
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:81Town._markfuncEnllaç a aquesta entradafunc _mark(x: int, y: int) -> void- Paràmetres
x: inty: int
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:91Town._initfuncEnllaç a aquesta entradafunc _init(p_id: int, p_name: String, x: int, y: int, p_grid: int) -> void- Paràmetres
p_id: intp_name: Stringx: inty: intp_grid: int
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:96Town.roll_monthfuncEnllaç a aquesta entradafunc roll_month() -> void- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:104Town.growth_intervalfuncDays between growth spurts: faster when served by stations and supplied with goods / food.Enllaç a aquesta entradafunc growth_interval(day: int) -> int- Paràmetres
day: int
- Retorna
int
scripts/sim/town.gd:117Town.boundsfuncTile rectangle the town's buildings occupy (used for redraws after growth).Town.on_grid_xfuncEnllaç a aquesta entradafunc on_grid_x(x: int) -> bool- Paràmetres
x: int
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:136Town.on_grid_yfuncEnllaç a aquesta entradafunc on_grid_y(y: int) -> bool- Paràmetres
y: int
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:140Town.seed_roadsfuncThe initial crossroads at the town centre.Enllaç a aquesta entradafunc seed_roads(m: WorldMap, rng: RandomNumberGenerator) -> void- Paràmetres
m: WorldMaprng: RandomNumberGenerator
- Retorna
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.Enllaç a aquesta entradavar zone_pop := {"R": 0, "C": 0, "I": 0, "L": 0, "A": 0}Declarat ascripts/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).Enllaç a aquesta entradafunc demand(day: int = -1) -> Vector3Homes follow jobs, shops follow residents and deliveries, workshops follow residents.
- Paràmetres
day: int = -1
- Retorna
Vector3
scripts/sim/town.gd:168Town._pick_zonefuncEnllaç a aquesta entradafunc _pick_zone(rng: RandomNumberGenerator, day: int) -> String- Paràmetres
rng: RandomNumberGeneratorday: int
- Retorna
String
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc 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.- Paràmetres
m: WorldMapx: inty: intctx: Dictionary
- Retorna
float
scripts/sim/town.gd:195Town._type_forfuncThe building a zone gets on a plot of this land value, in this year's style.Enllaç a aquesta entradafunc _type_for(zone: String, lv: float, rng: RandomNumberGenerator, year: int = 1950) -> String- Paràmetres
zone: Stringlv: floatrng: RandomNumberGeneratoryear: int = 1950
- Retorna
String
- Crida
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.Enllaç a aquesta entradafunc grow(m: WorldMap, rng: RandomNumberGenerator, ctx: Dictionary = {}) -> bool- Paràmetres
m: WorldMaprng: RandomNumberGeneratorctx: Dictionary = {}
- Retorna
bool
scripts/sim/town.gd:267Town._try_housefuncEnllaç a aquesta entradafunc _try_house(m: WorldMap, x: int, y: int, rng: RandomNumberGenerator, zone: String = "R", ctx: Dictionary = {}) -> bool- Paràmetres
m: WorldMapx: inty: intrng: RandomNumberGeneratorzone: String = "R"ctx: Dictionary = {}
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:290Town._try_roadfuncEnllaç a aquesta entradafunc _try_road(m: WorldMap, x: int, y: int, rng: RandomNumberGenerator) -> bool- Paràmetres
m: WorldMapx: inty: intrng: RandomNumberGenerator
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:306Town._organic_okfuncOrganic streets wander, but never run right alongside another street (which would leave no room for buildings).Enllaç a aquesta entradafunc _organic_ok(m: WorldMap, x: int, y: int, d: int) -> bool- Paràmetres
m: WorldMapx: inty: intd: int
- Retorna
bool
scripts/sim/town.gd:345Town._try_upgradefuncEnllaç a aquesta entradafunc _try_upgrade(m: WorldMap, rng: RandomNumberGenerator, ctx: Dictionary = {}) -> bool- Paràmetres
m: WorldMaprng: RandomNumberGeneratorctx: Dictionary = {}
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:358Town._try_landmarkfuncLandmarks arrive as the town grows: a church, then a park, then a town hall.Enllaç a aquesta entradafunc _try_landmark(m: WorldMap, rng: RandomNumberGenerator) -> boolAttractions (cinema, museum, funfair, stadium, and a resort by the sea) follow as it gets bigger.
- Paràmetres
m: WorldMaprng: RandomNumberGenerator
- Retorna
bool
scripts/sim/town.gd:392Town._place_landmarkfuncEnllaç a aquesta entradafunc _place_landmark(m: WorldMap, rng: RandomNumberGenerator, want: String) -> bool- Paràmetres
m: WorldMaprng: RandomNumberGeneratorwant: String
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:418Town._redevelopfuncNo free plot: rebuild a modest building near the centre as the new landmark or attraction.Enllaç a aquesta entradafunc _redevelop(m: WorldMap, rng: RandomNumberGenerator, want: String, r: int) -> bool- Paràmetres
m: WorldMaprng: RandomNumberGeneratorwant: Stringr: int
- Retorna
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.Enllaç a aquesta entradastatic func pick_style(m: WorldMap, t: Town) -> StringDerived from the name so it doesn't disturb world generation.
- Paràmetres
m: WorldMapt: Town
- Retorna
String
scripts/sim/town.gd:462Town._near_seafuncEnllaç a aquesta entradafunc _near_sea(m: WorldMap) -> bool- Paràmetres
m: WorldMap
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc _place_attraction(m: WorldMap, rng: RandomNumberGenerator, want: String) -> bool- Paràmetres
m: WorldMaprng: RandomNumberGeneratorwant: String
- Retorna
bool
scripts/sim/town.gd:489Town._water_distancefuncEnllaç a aquesta entradafunc _water_distance(m: WorldMap, x: int, y: int) -> float- Paràmetres
m: WorldMapx: inty: int
- Retorna
float
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:525Town._set_buildingfuncEnllaç a aquesta entradafunc _set_building(o: Dictionary, type: String, rng: RandomNumberGenerator) -> void- Paràmetres
o: Dictionarytype: Stringrng: RandomNumberGenerator
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:534Town._countfuncEnllaç a aquesta entradafunc _count(type: String, people: int) -> void- Paràmetres
type: Stringpeople: int
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:544Town.remove_buildingfuncRemove a building's people (it was demolished).Enllaç a aquesta entradafunc remove_building(o: Dictionary) -> void- Paràmetres
o: Dictionary
- Retorna
void
scripts/sim/town.gd:551Town.restore_buildingfuncPut back a building's people (its demolition was undone): the opposite of remove_building.Enllaç a aquesta entradafunc restore_building(o: Dictionary) -> void- Paràmetres
o: Dictionary
- Retorna
void
scripts/sim/town.gd:559Town.recountfuncRebuild the zone tallies from the map (after loading).Enllaç a aquesta entradafunc recount(m: WorldMap) -> void- Paràmetres
m: WorldMap
- Retorna
void
scripts/sim/town.gd:567Town.recount_allstatic funcrecountfor every town of the map in one pass over its tiles.Enllaç a aquesta entradastatic func recount_all(m: WorldMap) -> void- Paràmetres
m: WorldMap
- Retorna
void
scripts/sim/town.gd:578Town.place_housefuncPlace a house facing directionfacing(towards its road).Enllaç a aquesta entradafunc place_house(m: WorldMap, x: int, y: int, facing: int, type: String, rng: RandomNumberGenerator) -> void- Paràmetres
m: WorldMapx: inty: intfacing: inttype: Stringrng: RandomNumberGenerator
- Retorna
void
scripts/sim/town.gd:592Town.MODESTconstEnllaç a aquesta entradaconst MODEST := ["cottage", "house", "shop", "modern", "workshop"]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:619Town.size_ofstatic funcHow many tiles along each side a building oftypetakes.Enllaç a aquesta entradastatic func size_of(type: String) -> int- Paràmetres
type: String
- Retorna
int
scripts/sim/town.gd:623Town.building_atstatic funcThe town building on tilet, whichever of its tiles that is; null where there is none.Enllaç a aquesta entradastatic func building_at(m: WorldMap, t: Vector2i) -> Variant- Paràmetres
m: WorldMapt: Vector2i
- Retorna
Variant
scripts/sim/town.gd:628Town.anchor_ofstatic funcThe north-west tile of the building ont(titself for a one-tile building).Enllaç a aquesta entradastatic func anchor_of(m: WorldMap, t: Vector2i) -> Vector2i- Paràmetres
m: WorldMapt: Vector2i
- Retorna
Vector2i
scripts/sim/town.gd:638Town.footprintstatic funcEvery tile of the building whose north-west tile isanchor.Enllaç a aquesta entradastatic func footprint(m: WorldMap, anchor: Vector2i) -> Array[Vector2i]- Paràmetres
m: WorldMapanchor: Vector2i
- Retorna
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.Enllaç a aquesta entradafunc 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.- Paràmetres
m: WorldMapx: inty: intfacing: intrebuild: bool = false
- Retorna
Rect2i
scripts/sim/town.gd:658Town._plot_freefuncEnllaç a aquesta entradafunc _plot_free(m: WorldMap, t: Vector2i, rebuild: bool) -> bool- Paràmetres
m: WorldMapt: Vector2irebuild: bool
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/town.gd:673Town._place_bigfuncPut a big building onplot(see big_plot), facingfacing.Enllaç a aquesta entradafunc _place_big(m: WorldMap, plot: Rect2i, facing: int, type: String, rng: RandomNumberGenerator) -> void- Paràmetres
m: WorldMapplot: Rect2ifacing: inttype: Stringrng: RandomNumberGenerator
- Retorna
void
scripts/sim/town.gd:683Town.restore_annexesstatic funcMark the other tiles of every big building (after loading: only its own tile is saved).Enllaç a aquesta entradastatic func restore_annexes(m: WorldMap) -> void- Paràmetres
m: WorldMap
- Retorna
void
scripts/sim/town.gd:705Town.enlarge_old_buildingsstatic funcA game saved before big buildings has its stadium on a single tile.Enllaç a aquesta entradastatic 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.
- Paràmetres
m: WorldMap
- Retorna
void
scripts/sim/town.gd:720
Station
Station.CATCH_RAILconstEnllaç a aquesta entradaconst CATCH_RAIL := 4Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:5Station.CATCH_ROADconstEnllaç a aquesta entradaconst CATCH_ROAD := 3Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:6Station.CATCH_DOCKconstEnllaç a aquesta entradaconst CATCH_DOCK := 4Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:7Station.CATCH_AIRconstEnllaç a aquesta entradaconst CATCH_AIR := 5Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:8Station.TRANSFER_DISTANCEconstEnllaç a aquesta entradaconst TRANSFER_DISTANCE := 3Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:9Station.SUFFIXESconstEnllaç a aquesta entradaconst SUFFIXESAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:10Station.idvarEnllaç a aquesta entradavar id := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:13Station.namevarEnllaç a aquesta entradavar name := ""Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:14Station.tilesvarEnllaç a aquesta entradavar tiles: Array[Vector2i] = []Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:15Station.has_railvarEnllaç a aquesta entradavar has_rail := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:16Station.has_roadvarEnllaç a aquesta entradavar has_road := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:17Station.has_dockvarEnllaç a aquesta entradavar has_dock := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:18Station.has_airvarEnllaç a aquesta entradavar has_air := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:19Station.catchmentvartile index -> trueStation.acceptsvarCargo IDs that can be delivered in this station’s catchment.Enllaç a aquesta entradavar accepts: Array = []A vehicle can unload and earn a fare here for a supported cargo.
Declarat ascripts/sim/station.gd:21Station.suppliesvarCargo IDs supplied by towns or industries in the station’s catchment.Enllaç a aquesta entradavar supplies: Array = []Read
Declarat awaitingfor the amount currently available to load.scripts/sim/station.gd:22Station.deletedvarEnllaç a aquesta entradavar deleted := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:23Station.ownervarThe company that owns the station.Enllaç a aquesta entradavar owner: Company = nullCan be
Declarat anull, 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.Enllaç a aquesta entradavar rig: Industry = nullSuch a dock belongs to nobody: every company's ships may call there, and it is never built or removed by hand.
Declarat ascripts/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.Enllaç a aquesta entradavar transfers: Array = []It is part of
Declarat awaitingtoo; 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_arrivalvarEnllaç a aquesta entradavar first_arrival := trueAquesta entrada encara no descriu el comportament.
Declarat ascripts/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_lastvarEnllaç a aquesta entradavar picked_last := {}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:47Station.deliveredvarcargo -> units unloaded (and paid for) this monthStation.delivered_lastvarEnllaç a aquesta entradavar delivered_last := {}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:49Station.earnedvarfares paid for deliveries here this monthStation.earned_lastvarEnllaç a aquesta entradavar earned_last := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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).Enllaç a aquesta entradavar inflow := {}Production and transfers count; a match-day crowd doesn't, so the fans who can't get away go home over the following weeks.
Declarat ascripts/sim/station.gd:55Station.arrivedvarcargo -> units come since the last production runStation.catch_rectvarEnllaç a aquesta entradavar catch_rect := Rect2i()Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:59Station.house_okvarEnllaç a aquesta entradavar house_ok := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:60Station._housesvarEnllaç a aquesta entradavar _houses := PackedInt32Array()Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:61Station.roll_monthfuncEnllaç a aquesta entradafunc roll_month() -> void- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:64Station._initfuncEnllaç a aquesta entradafunc _init(p_id: int, p_name: String) -> void- Paràmetres
p_id: intp_name: String
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:73Station.tiles_offuncTiles vehicles ofkindstop on: platforms, road stops, the water in front of a dock, the airfield.Enllaç a aquesta entradafunc tiles_of(m: WorldMap, kind: String) -> Dictionary- Paràmetres
m: WorldMapkind: String
- Retorna
Dictionary
scripts/sim/station.gd:79Station.usable_byfuncWhetherwho's vehicles may have orders here: its own stations and the open docks of oil rigs.Enllaç a aquesta entradafunc usable_by(who: Company) -> bool- Paràmetres
who: Company
- Retorna
bool
scripts/sim/station.gd:100Station.has_kindfuncTests whether the station supportsrail,road,water, orair.Enllaç a aquesta entradafunc has_kind(kind: String) -> boolFor ships use
water, even though the construction kind for a dock isdock.- Paràmetres
kind: String
- Retorna
bool
scripts/sim/station.gd:104Station.transfer_neighborsfuncOther stations of the same company within TRANSFER_DISTANCE steps of any of our tiles.Enllaç a aquesta entradafunc transfer_neighbors(m: WorldMap) -> Array[Station]- Paràmetres
m: WorldMap
- Retorna
Array[Station]
scripts/sim/station.gd:114Station.transfer_amountfuncUnits ofcleft here by transfers and still waiting.Enllaç a aquesta entradafunc transfer_amount(c: String) -> int- Paràmetres
c: String
- Retorna
int
scripts/sim/station.gd:132Station.add_transferfuncLeave cargo from a vehicle here for another to pick up (see Economy.unload).Enllaç a aquesta entradafunc add_transfer(p: Dictionary) -> void- Paràmetres
p: Dictionary
- Retorna
void
scripts/sim/station.gd:141Station.add_waitingfuncCargoccomes here to wait: counted inwaitingand in what arrives (seeinflow).Enllaç a aquesta entradafunc add_waiting(c: String, amt: float) -> void- Paràmetres
c: Stringamt: float
- Retorna
void
scripts/sim/station.gd:147Station.take_transfersfuncTake up tonunits of transferredc(oldest first), as packets to put on board.Enllaç a aquesta entradafunc take_transfers(c: String, n: int) -> ArrayWaiting cargo that went away (a poor rating, the cap) takes the transferred share with it first.
- Paràmetres
c: Stringn: int
- Retorna
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).Enllaç a aquesta entradafunc platform_len(m: WorldMap, t: Vector2i) -> int- Paràmetres
m: WorldMapt: Vector2i
- Retorna
int
scripts/sim/station.gd:185Station.longest_platformfuncThe longest of this station's platforms, in tiles (0 without any).Enllaç a aquesta entradafunc longest_platform(m: WorldMap) -> int- Paràmetres
m: WorldMap
- Retorna
int
scripts/sim/station.gd:205Station.air_posfuncWhere aircraft park: the middle of the runway.Enllaç a aquesta entradafunc air_pos(m: WorldMap) -> Vector2- Paràmetres
m: WorldMap
- Retorna
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).Enllaç a aquesta entradastatic func is_runway(o: Dictionary) -> bool- Paràmetres
o: Dictionary
- Retorna
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.Enllaç a aquesta entradafunc total_waiting() -> intFor a single cargo read that key in
waiting.- Retorna
int
scripts/sim/station.gd:232Station.sign_posfuncReturns the average position of the station’s tile centers, in world tile coordinates.Enllaç a aquesta entradafunc sign_pos() -> Vector2Useful for locating a news item on the map.
- Retorna
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.Enllaç a aquesta entradafunc stop_pos(m: WorldMap, kind: String) -> Vector2- Paràmetres
m: WorldMapkind: String
- Retorna
Vector2
scripts/sim/station.gd:247Station.refreshfuncRecompute station type flags, catchment and what it accepts / supplies.Enllaç a aquesta entradafunc refresh(m: WorldMap) -> void- Paràmetres
m: WorldMap
- Retorna
void
scripts/sim/station.gd:257Station.refresh_coveragefuncRecheck what reaches this station after its surroundings change.Enllaç a aquesta entradafunc refresh_coverage(m: WorldMap) -> void- Paràmetres
m: WorldMap
- Retorna
void
scripts/sim/station.gd:300Station.house_tilesfuncThe tiles of the catchment with a house on them, in catchment order.Enllaç a aquesta entradafunc house_tiles(m: WorldMap) -> PackedInt32Array- Paràmetres
m: WorldMap
- Retorna
PackedInt32Array
scripts/sim/station.gd:309Station.add_catchmentstatic funcEnllaç a aquesta entradastatic func add_catchment(m: WorldMap, catch: Dictionary, t: Vector2i, r: int) -> void- Paràmetres
m: WorldMapcatch: Dictionaryt: Vector2ir: int
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:335Station.coveragestatic funcWhat a catchment area accepts and supplies.Enllaç a aquesta entradastatic 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).
- Paràmetres
m: WorldMapcatch: Dictionary
- Retorna
Dictionary
scripts/sim/station.gd:346Station.nearest_townstatic funcEnllaç a aquesta entradastatic func nearest_town(m: WorldMap, p: Vector2, within: float) -> Town- Paràmetres
m: WorldMapp: Vector2within: float
- Retorna
Town
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:409Station.make_namestatic funcEnllaç a aquesta entradastatic func make_name(m: WorldMap, at: Vector2i) -> String- Paràmetres
m: WorldMapat: Vector2i
- Retorna
String
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/station.gd:420
Vehicle
Vehicle.LOCO_LENconstEnllaç a aquesta entradaconst LOCO_LEN := 0.56Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:8Vehicle.CAR_LENconstEnllaç a aquesta entradaconst CAR_LEN := 0.5Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:9Vehicle.RV_LENconstEnllaç a aquesta entradaconst RV_LEN := 0.46Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:10Vehicle.SHIP_LENconstEnllaç a aquesta entradaconst SHIP_LEN := 0.9Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:11Vehicle.PLANE_LENconstEnllaç a aquesta entradaconst PLANE_LEN := 0.7Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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).Enllaç a aquesta entradaconst 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.
Declarat ascripts/sim/vehicle.gd:19Vehicle.ROAD_GIVE_UPconstEnllaç a aquesta entradaconst ROAD_GIVE_UP := 3.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:20Vehicle.QUEUE_GIVE_UPconstEnllaç a aquesta entradaconst QUEUE_GIVE_UP := 15.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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).Enllaç a aquesta entradaconst ORDER_FLAGS := ["transfer", "unload", "no_load", "depot"]Saved in this order (see SaveGame).
Declarat ascripts/sim/vehicle.gd:30Vehicle.idvarEnllaç a aquesta entradavar id := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:32Vehicle.namevarEnllaç a aquesta entradavar name := ""Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:33Vehicle.model_idvarEnllaç a aquesta entradavar model_id := ""Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:34Vehicle.modelvarEnllaç a aquesta entradavar model: DictionaryAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:35Vehicle.kindvarEnllaç a aquesta entradavar kind := "road"Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:36Vehicle.cargovarEnllaç a aquesta entradavar cargo := "pax"Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:37Vehicle.wagonsvarEnllaç a aquesta entradavar wagons := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:38Vehicle.ownervarEnllaç a aquesta entradavar owner: CompanyAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:39Vehicle.ordersvar[{"st": Station, "full": bool, and any of ORDER_FLAGS: bool (missing: false)}]Vehicle.order_idxvarEnllaç a aquesta entradavar order_idx := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:41Vehicle.statevarloading | moving | lost | stopped | servicing | wrecked (see Sim.wrecks)Vehicle.statusvarEnllaç a aquesta entradavar status := ""Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:44Vehicle.timervarEnllaç a aquesta entradavar timer := 0.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:45Vehicle.segsvarpath history; the last one is the one the head is onVehicle.tvarprogress along the last segment (0..1)Vehicle.routevarEnllaç a aquesta entradavar route: Array[Vector2i] = []Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:48Vehicle.rpvarindex inrouteof the tile the head is inVehicle.speedvarcurrent speed, tiles per dayVehicle.at_stationvarEnllaç a aquesta entradavar at_station: Station = nullAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:51Vehicle.lost_ctxvarEnllaç a aquesta entradavar lost_ctx := {}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:52Vehicle.lost_triesvarEnllaç a aquesta entradavar lost_tries := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:53Vehicle.capvarEnllaç a aquesta entradavar cap := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:55Vehicle.packetsvar[{"amt": int, "from": Station, "day": float}]Vehicle.profit_thisvarEnllaç a aquesta entradavar profit_this := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:57Vehicle.profit_lastvarEnllaç a aquesta entradavar profit_last := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:58Vehicle.income_totalvarEnllaç a aquesta entradavar income_total := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:59Vehicle.age_daysvarEnllaç a aquesta entradavar age_days := 0.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:60Vehicle.costvarEnllaç a aquesta entradavar cost := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:61Vehicle.tripsvarEnllaç a aquesta entradavar trips := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:62Vehicle.stopped_by_playervarEnllaç a aquesta entradavar stopped_by_player := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/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_warnedvarEnllaç a aquesta entradavar old_warned := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/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.breakdownsvarEnllaç a aquesta entradavar breakdowns := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_fromvarEnllaç a aquesta entradavar air_from := Vector2.ZEROAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:95Vehicle.air_tovarEnllaç a aquesta entradavar air_to := Vector2.ZEROAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:96Vehicle.air_dvarEnllaç a aquesta entradavar air_d := 0.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:97Vehicle.air_y0varEnllaç a aquesta entradavar air_y0 := 0.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:98Vehicle.air_y1varEnllaç a aquesta entradavar air_y1 := 0.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_ofvarEnllaç a aquesta entradavar _len_of := ""Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_MAXconstEnllaç a aquesta entradaconst SEG_CACHE_MAX := 200000Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:113Vehicle._initfuncEnllaç a aquesta entradafunc _init(p_id: int, p_model: String, p_cargo: String, p_wagons: int, p_owner: Company) -> void- Paràmetres
p_id: intp_model: Stringp_cargo: Stringp_wagons: intp_owner: Company
- Retorna
void
- Crida
Data.model,Data.wagon_cap
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:116Vehicle._default_namefuncThe name a vehicle gets when bought: what it is and its number.Enllaç a aquesta entradafunc _default_name() -> String- Retorna
String
- Crida
L.t
scripts/sim/vehicle.gd:135Vehicle.load_amountfuncEnllaç a aquesta entradafunc load_amount() -> int- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:145Vehicle.set_consistfuncA train's wagons, one cargo each (front to back).Enllaç a aquesta entradafunc set_consist(list: Array) -> voidcargobecomes the first wagon's.- Paràmetres
list: Array
- Retorna
void
- Crida
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.Enllaç a aquesta entradafunc 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.
- Paràmetres
list: Arraym: WorldMap = null
- Retorna
void
scripts/sim/vehicle.gd:168Vehicle._trim_loadfuncDrop what no longer fits on board (was: the cargo of packets from before they were labelled).Enllaç a aquesta entradafunc _trim_load(was: String) -> void- Paràmetres
was: String
- Retorna
void
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).Enllaç a aquesta entradafunc 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.
- Paràmetres
p_model: String
- Retorna
void
- Crida
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).Enllaç a aquesta entradafunc _grow_tail(m: WorldMap) -> void- Paràmetres
m: WorldMap
- Retorna
void
- Crida
Const.opp
scripts/sim/vehicle.gd:228Vehicle.cargosfuncThe cargos this vehicle carries (several for a mixed train).Vehicle.is_mixedfuncEnllaç a aquesta entradafunc is_mixed() -> bool- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:273Vehicle.cap_offuncReturns the capacity for one cargo ID.Enllaç a aquesta entradafunc 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.
- Paràmetres
c: String
- Retorna
int
- Crida
Data.wagon_cap
scripts/sim/vehicle.gd:277Vehicle.load_offuncAdds up the units in the vehicle’s cargo packets for one cargo ID.Enllaç a aquesta entradafunc load_of(c: String) -> intThis is the current load, rather than available room.
- Paràmetres
c: String
- Retorna
int
scripts/sim/vehicle.gd:287Vehicle.running_costfuncReturns the annual running cost of the model plus its wagons.Vehicle.life_yearsfuncReturns the usual service life in years for the vehicle’s transport kind.Vehicle.is_oldfuncChecks whether the vehicle’s age in days exceeds its service life in years, using 365 days per year.Vehicle.valuefuncReturns the current resale value in dollars.Enllaç a aquesta entradafunc value() -> intThe value falls with age and bottoms out at 15 percent of purchase cost.
- Retorna
int
scripts/sim/vehicle.gd:307Vehicle.max_speedfuncReturns the model’s maximum speed in tiles per game day.Enllaç a aquesta entradafunc max_speed() -> floatSteam trains lose three percent of model speed per wagon in this calculation.
- Retorna
float
scripts/sim/vehicle.gd:311Vehicle.train_lengthfuncEnllaç a aquesta entradafunc train_length() -> float- Retorna
float
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:318Vehicle.tiles_longstatic funcHow many platform tiles a train withn_wagonswagons needs to stand alongside in full.Enllaç a aquesta entradastatic 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.- Paràmetres
n_wagons: int
- Retorna
int
scripts/sim/vehicle.gd:330Vehicle.OVERHANG_OKconstEnllaç a aquesta entradaconst OVERHANG_OK := 0.1Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:334Vehicle.platform_fitstatic funcThe share of a train oflengthtiles that is alongside a platform ofplatformtiles.Enllaç a aquesta entradastatic 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).
- Paràmetres
length: floatplatform: int
- Retorna
float
scripts/sim/vehicle.gd:340Vehicle.body_lenstatic funcLength of a road vehicle, ship or aircraft of this model (see Data.LENGTH).Enllaç a aquesta entradastatic func body_len(id: String) -> float- Paràmetres
id: String
- Retorna
float
- Crida
Data.model,Data.look
scripts/sim/vehicle.gd:347Vehicle.destfuncEnllaç a aquesta entradafunc dest() -> Station- Retorna
Station
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:356Vehicle._edgestatic funcEnllaç a aquesta entradastatic func _edge(t: Vector2i, d: int) -> Vector2- Paràmetres
t: Vector2id: int
- Retorna
Vector2
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:362Vehicle._centerstatic funcEnllaç a aquesta entradastatic func _center(t: Vector2i) -> Vector2- Paràmetres
t: Vector2i
- Retorna
Vector2
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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).Enllaç a aquesta entradastatic 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.- Paràmetres
t: Vector2ia: intb: intchord: int = 0
- Retorna
Dictionary
scripts/sim/vehicle.gd:374Vehicle._seg_lenstatic funcEnllaç a aquesta entradastatic func _seg_len(s: Dictionary) -> float- Paràmetres
s: Dictionary
- Retorna
float
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:404Vehicle.seg_posstatic funcEnllaç a aquesta entradastatic func seg_pos(s: Dictionary, u: float) -> Vector2- Paràmetres
s: Dictionaryu: float
- Retorna
Vector2
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:414Vehicle.seg_dirstatic funcThe way along segmentsatu(not normalised; zero only half-way round a U-turn).Enllaç a aquesta entradastatic func seg_dir(s: Dictionary, u: float) -> Vector2- Paràmetres
s: Dictionaryu: float
- Retorna
Vector2
scripts/sim/vehicle.gd:426Vehicle.rev_segstatic funcEnllaç a aquesta entradastatic func rev_seg(s: Dictionary) -> Dictionary- Paràmetres
s: Dictionary
- Retorna
Dictionary
- Crida
WorldMap.flip_shape
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:437Vehicle._segfuncA segment through tiletthat knows whether it's part of a diagonal run.Enllaç a aquesta entradafunc _seg(m: WorldMap, t: Vector2i, a: int, b: int) -> Dictionary- Paràmetres
m: WorldMapt: Vector2ia: intb: int
- Retorna
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.Enllaç a aquesta entradastatic 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}.- Paràmetres
m: WorldMaptiles: Array
- Retorna
Dictionary
- Crida
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.Enllaç a aquesta entradastatic func _sea_clear(m: WorldMap, a: Vector2i, b: Vector2i) -> bool- Paràmetres
m: WorldMapa: Vector2ib: Vector2i
- Retorna
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.Enllaç a aquesta entradastatic func _walk_line(p: Vector2, q: Vector2, tiles: Array[Vector2i], cross: PackedVector2Array) -> void- Paràmetres
p: Vector2q: Vector2tiles: Array[Vector2i]cross: PackedVector2Array
- Retorna
void
scripts/sim/vehicle.gd:515Vehicle.course_segstatic funcThe piece of a ship's course (see water_course) in itskth tile.Enllaç a aquesta entradastatic 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).- Paràmetres
c: Dictionaryk: inta: int = -2from: Variant = null
- Retorna
Dictionary
scripts/sim/vehicle.gd:552Vehicle.free_segstatic funcA segment through tilet(sidesatob) along any curve: fromp0top2, pulled towardsc.Enllaç a aquesta entradastatic func free_seg(t: Vector2i, a: int, b: int, p0: Vector2, c: Vector2, p2: Vector2) -> Dictionary- Paràmetres
t: Vector2ia: intb: intp0: Vector2c: Vector2p2: Vector2
- Retorna
Dictionary
scripts/sim/vehicle.gd:569Vehicle.course_segsstatic funcEvery piece of a ship's course, first to last.Enllaç a aquesta entradastatic func course_segs(c: Dictionary) -> Array- Paràmetres
c: Dictionary
- Retorna
Array
scripts/sim/vehicle.gd:576Vehicle._set_routefuncSet off alongtiles(from the head's tile): a ship's course is pulled straight first.Enllaç a aquesta entradafunc _set_route(m: WorldMap, tiles: Array[Vector2i]) -> void- Paràmetres
m: WorldMaptiles: Array[Vector2i]
- Retorna
void
scripts/sim/vehicle.gd:584Vehicle._first_segfuncThe first piece of a new route, from where the head is now.Enllaç a aquesta entradafunc _first_seg(m: WorldMap, a: int) -> Dictionary- Paràmetres
m: WorldMapa: int
- Retorna
Dictionary
- Crida
BuildOps.dir_between
scripts/sim/vehicle.gd:594Vehicle._pos_backfuncWalkdback from the head along the history: {"i": segment index, "u": position in it}.Enllaç a aquesta entradafunc _pos_back(d: float) -> Dictionary- Paràmetres
d: float
- Retorna
Dictionary
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.Enllaç a aquesta entradafunc _back_i(d: float) -> int- Paràmetres
d: float
- Retorna
int
scripts/sim/vehicle.gd:623Vehicle.pos_atfuncPositiondbehind the nose, or Vector2.INF for a hidden segment when it is excluded.Enllaç a aquesta entradafunc pos_at(d: float, include_hidden: bool = true) -> Vector2- Paràmetres
d: floatinclude_hidden: bool = true
- Retorna
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.Enllaç a aquesta entradafunc body_points(step: float) -> PackedVector2ArrayFor crash checks (see Sim._check_crashes).
- Paràmetres
step: float
- Retorna
PackedVector2Array
scripts/sim/vehicle.gd:651Vehicle.headingfuncDirection of travel in the current tile (0..3).Enllaç a aquesta entradafunc heading() -> int- Retorna
int
- Crida
Const.opp
scripts/sim/vehicle.gd:663Vehicle.head_tilefuncEnllaç a aquesta entradafunc head_tile() -> Vector2i- Retorna
Vector2i
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:674Vehicle.spawnfuncPlace the vehicle stopped at the centre of station tiletile, facing directionfacing.Enllaç a aquesta entradafunc 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.
- Paràmetres
tile: Vector2ifacing: intm: WorldMap = nullhide_behind: bool = false
- Retorna
void
- Crida
Const.opp
scripts/sim/vehicle.gd:684Vehicle.updatefuncEnllaç a aquesta entradafunc update(sim: Sim, dt: float) -> void- Paràmetres
sim: Simdt: float
- Retorna
void
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:724Vehicle._remainingfuncEnllaç a aquesta entradafunc _remaining() -> float- Retorna
float
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:763Vehicle._on_coursefuncWhether the ship is following a course worked out for its route (not one from an older save).Vehicle._movefuncEnllaç a aquesta entradafunc _move(sim: Sim, dt: float) -> void- Paràmetres
sim: Simdt: float
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc _advance(sim: Sim) -> boolReturns false if movement must stop.
- Paràmetres
sim: Sim
- Retorna
bool
- Crida
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.Enllaç a aquesta entradafunc _gate(m: WorldMap, k: int) -> int- Paràmetres
m: WorldMapk: int
- Retorna
int
- Crida
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.Enllaç a aquesta entradafunc 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.
- Paràmetres
m: WorldMapblocks: Dictionaryk: intgate: int
- Retorna
Array
- Crida
BuildOps.dir_between
scripts/sim/vehicle.gd:927Vehicle._dir_infuncThe way the head entered the tile it is in, or -1.Enllaç a aquesta entradafunc _dir_in() -> int- Retorna
int
- Crida
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.Enllaç a aquesta entradafunc claims_ahead(m: WorldMap, blocks: Dictionary) -> Array- Paràmetres
m: WorldMapblocks: Dictionary
- Retorna
Array
- Crida
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).Enllaç a aquesta entradafunc _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).
- Paràmetres
sim: Simk: intgate: int
- Retorna
bool
scripts/sim/vehicle.gd:998Vehicle._deadlockedfuncA train that has waited GIVE_UP_DAYS for the way ahead.Enllaç a aquesta entradafunc _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).
- Paràmetres
sim: Simneed: Array
- Retorna
bool
scripts/sim/vehicle.gd:1022Vehicle._busyfuncEnllaç a aquesta entradafunc _busy(sim: Sim, need: Array) -> bool- Paràmetres
sim: Simneed: Array
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc _detour(sim: Sim, blocks: Dictionary, need: Array) -> boolTaken only when it isn't much longer. Returns whether the route changed.
- Paràmetres
sim: Simblocks: Dictionaryneed: Array
- Retorna
bool
- Crida
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.Enllaç a aquesta entradafunc _red_signal_dist(sim: Sim) -> float- Paràmetres
sim: Sim
- Retorna
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.Enllaç a aquesta entradafunc _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.
- Paràmetres
sim: Sim
- Retorna
float
- Crida
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.Enllaç a aquesta entradafunc _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.
- Paràmetres
sim: Sim
- Retorna
float
- Crida
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.Vehicle._heading_statusfuncEnllaç a aquesta entradafunc _heading_status() -> String- Retorna
String
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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).Enllaç a aquesta entradafunc _free_stops(sim: Sim, tiles: Dictionary) -> Dictionary- Paràmetres
sim: Simtiles: Dictionary
- Retorna
Dictionary
scripts/sim/vehicle.gd:1215Vehicle._usablefuncA stop the vehicle can actually use: still exists and has tiles of this vehicle's kind.Enllaç a aquesta entradafunc _usable(sim: Sim, st: Station) -> bool- Paràmetres
sim: Simst: Station
- Retorna
bool
scripts/sim/vehicle.gd:1226Vehicle._skip_to_usablefuncMoveorder_idxforward (starting at the current order) to the first usable stop.Enllaç a aquesta entradafunc _skip_to_usable(sim: Sim) -> bool- Paràmetres
sim: Sim
- Retorna
bool
scripts/sim/vehicle.gd:1231Vehicle._go_lostfuncNo route right now: wait and retry, backing off, and after a few failures try the next stop.Enllaç a aquesta entradafunc _go_lost(target: Station, ctx: Dictionary) -> void- Paràmetres
target: Stationctx: Dictionary
- Retorna
void
- Crida
L.t
scripts/sim/vehicle.gd:1240Vehicle._reroutefuncThe way ahead disappeared: find a new route from tiletile, where the head sits on edgeside.Enllaç a aquesta entradafunc _reroute(sim: Sim, tile: Vector2i, side: int) -> bool- Paràmetres
sim: Simtile: Vector2iside: int
- Retorna
bool
- Crida
Pathfinder.find,Const.opp,L.t
scripts/sim/vehicle.gd:1252Vehicle._extend_platformfuncEnllaç a aquesta entradafunc _extend_platform(sim: Sim, tiles: Array[Vector2i]) -> Array[Vector2i]- Paràmetres
sim: Simtiles: Array[Vector2i]
- Retorna
Array[Vector2i]
- Crida
BuildOps.dir_between
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:1273Vehicle._arrivefuncEnllaç a aquesta entradafunc _arrive(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
- Crida
L.t,Economy.unload
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:1296Vehicle._loadfuncEnllaç a aquesta entradafunc _load(sim: Sim, st: Station) -> int- Paràmetres
sim: Simst: Station
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:1337Vehicle._load_transfersfuncEnllaç a aquesta entradafunc _load_transfers(source: Station, pickup: Station, c: String, room: int) -> int- Paràmetres
source: Stationpickup: Stationc: Stringroom: int
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:1371Vehicle._note_pickupfuncEnllaç a aquesta entradafunc _note_pickup(st: Station, c: String, day: float) -> void- Paràmetres
st: Stationc: Stringday: float
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:1384Vehicle._nearby_transfer_sourcesfuncA feeder can't take transfers from its own drop-off orders, even from a nearby pickup stop.Enllaç a aquesta entradafunc _nearby_transfer_sources(sim: Sim, st: Station) -> Array[Station]- Paràmetres
sim: Simst: Station
- Retorna
Array[Station]
scripts/sim/vehicle.gd:1392Vehicle.order_flagfuncWhether the order this vehicle is carrying out atsthas flagkey(see ORDER_FLAGS).Enllaç a aquesta entradafunc order_flag(st: Station, key: String) -> bool- Paràmetres
st: Stationkey: String
- Retorna
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).Enllaç a aquesta entradafunc transfers_at(st: Station) -> bool- Paràmetres
st: Station
- Retorna
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.Enllaç a aquesta entradafunc loads_at(st: Station) -> bool- Paràmetres
st: Station
- Retorna
bool
scripts/sim/vehicle.gd:1417Vehicle.dropsstatic funcWhether orderoleaves the cargo its stop doesn't accept there: transfer and unload-only stops.Enllaç a aquesta entradastatic func drops(o: Dictionary) -> bool- Paràmetres
o: Dictionary
- Retorna
bool
scripts/sim/vehicle.gd:1422Vehicle.transfer_stopsstatic funcThe stations inorderswhere cargo is left for another vehicle (see drops).Enllaç a aquesta entradastatic func transfer_stops(p_orders: Array) -> Array- Paràmetres
p_orders: Array
- Retorna
Array
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)].Enllaç a aquesta entradastatic 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).- Paràmetres
cargos: Arraystops: Arraytransfers: Array = []
- Retorna
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.Enllaç a aquesta entradafunc _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).
- Paràmetres
sim: Simst: Station
- Retorna
void
scripts/sim/vehicle.gd:1459Vehicle.clear_stuckfuncForget the undeliverable cargo (it was delivered, or the orders or the cargo changed).Vehicle.problemfuncWhat is wrong with the vehicle's route, for the player ("" when nothing is).Vehicle._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.Enllaç a aquesta entradafunc _wants_more(sim: Sim, st: Station) -> boolNever at a stop where it takes nothing on.
- Paràmetres
sim: Simst: Station
- Retorna
bool
scripts/sim/vehicle.gd:1511Vehicle._fed_herefuncWhether another vehicle of the same company can leave cargochere or at a nearby station.Enllaç a aquesta entradafunc _fed_here(sim: Sim, st: Station, nearby: Array[Station], c: String) -> bool- Paràmetres
sim: Simst: Stationnearby: Array[Station]c: String
- Retorna
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).Enllaç a aquesta entradafunc _pickup_fill(st: Station) -> float-1 at a pure drop-off, so leaving the far end of a one-way freight run empty doesn't halve the average load.
- Paràmetres
st: Station
- Retorna
float
scripts/sim/vehicle.gd:1546Vehicle._update_loadingfuncEnllaç a aquesta entradafunc _update_loading(sim: Sim, dt: float) -> void- Paràmetres
sim: Simdt: float
- Retorna
void
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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).Enllaç a aquesta entradafunc _spacing_wait(sim: Sim) -> floatNever longer than one gap all told, so a slow round can't hold a line up.
- Paràmetres
sim: Sim
- Retorna
float
scripts/sim/vehicle.gd:1611Vehicle.dailyfuncOnce a day: wear, and perhaps a breakdown.Enllaç a aquesta entradafunc daily(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
scripts/sim/vehicle.gd:1629Vehicle.service_duefuncEnllaç a aquesta entradafunc service_due(sim: Sim) -> bool- Paràmetres
sim: Sim
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:1638Vehicle._break_downfuncEnllaç a aquesta entradafunc _break_down(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:1642Vehicle._servicedfuncEnllaç a aquesta entradafunc _serviced(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
- Crida
Data.reliability
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:1652Vehicle._try_servicefuncHead for the nearest depot if one is close (any_distance: however far).Enllaç a aquesta entradafunc _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.
- Paràmetres
sim: Simany_distance := false
- Retorna
bool
- Crida
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.Enllaç a aquesta entradafunc _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.
- Paràmetres
sim: Sim
- Retorna
bool
- Crida
Pathfinder.find
scripts/sim/vehicle.gd:1679Vehicle._depot_statusfuncEnllaç a aquesta entradafunc _depot_status() -> String- Retorna
String
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:1694Vehicle._go_to_depotfuncLeave for the depot at the end ofres(a Pathfinder route from the head's tile).Enllaç a aquesta entradafunc _go_to_depot(sim: Sim, res: Dictionary, goals: Dictionary) -> void- Paràmetres
sim: Simres: Dictionarygoals: Dictionary
- Retorna
void
scripts/sim/vehicle.gd:1699Vehicle._stop_no_ordersfuncHalt because no stop can be used.Enllaç a aquesta entradafunc _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.- Paràmetres
ctx: Dictionary = {}
- Retorna
void
- Crida
L.t
scripts/sim/vehicle.gd:1720Vehicle.resumefuncRestart a stopped vehicle (from the vehicle window).Vehicle._route_to_orderfuncLeave the current tile for the current order's station.Enllaç a aquesta entradafunc _route_to_order(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
- Crida
L.t,BuildOps.dir_between,Const.opp
scripts/sim/vehicle.gd:1736Vehicle._findfuncPathfinder.find for this vehicle, remembering the answer underslot(-1: don't).Enllaç a aquesta entradafunc _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.
- Paràmetres
sim: Simslot: intstart: Vector2ih: intgoals: Dictionaryreverse_start: booluturn: bool
- Retorna
Dictionary
- Crida
Pathfinder.find
scripts/sim/vehicle.gd:1781Vehicle._route_standsfuncWhether every step oftilescan still be driven (the checks _advance makes on the way).Enllaç a aquesta entradafunc _route_stands(m: WorldMap, tiles: Array[Vector2i]) -> bool- Paràmetres
m: WorldMaptiles: Array[Vector2i]
- Retorna
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).Enllaç a aquesta entradafunc _free_platforms(sim: Sim, tiles: Dictionary) -> DictionaryA platform is a straight row of station tiles.
- Paràmetres
sim: Simtiles: Dictionary
- Retorna
Dictionary
scripts/sim/vehicle.gd:1831Vehicle._platform_rowstatic funcEnllaç a aquesta entradastatic func _platform_row(m: WorldMap, t: Vector2i) -> Vector2i- Paràmetres
m: WorldMapt: Vector2i
- Retorna
Vector2i
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:1859Vehicle._turnfuncTurn the train round where it stands (RAIL-80) and route it on, keeping off the blocks inavoid.Enllaç a aquesta entradafunc _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.- Paràmetres
sim: Simavoid: Dictionary = {}skip_depot: bool = false
- Retorna
bool
- Crida
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.Enllaç a aquesta entradafunc turn_around(sim: Sim) -> StringA trip to a depot for a service is dropped. Returns "" or why it can't.
- Paràmetres
sim: Sim
- Retorna
String
- Crida
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).Enllaç a aquesta entradafunc _flip(sim: Sim, goals: Dictionary, slot: int = -1, avoid: Dictionary = {}) -> bool- Paràmetres
sim: Simgoals: Dictionaryslot: int = -1avoid: Dictionary = {}
- Retorna
bool
- Crida
Pathfinder.find
scripts/sim/vehicle.gd:1924Vehicle.car_posesfuncWorld transforms of each car: [{"pos": Vector3, "dir": Vector3}] front to back.Enllaç a aquesta entradafunc car_poses(m: WorldMap) -> Array- Paràmetres
m: WorldMap
- Retorna
Array
scripts/sim/vehicle.gd:1959Vehicle.place_at_airportfuncPark at an airport (start of service).Enllaç a aquesta entradafunc place_at_airport(st: Station, m: WorldMap) -> void- Paràmetres
st: Stationm: WorldMap
- Retorna
void
scripts/sim/vehicle.gd:1999Vehicle.head_tile_airfuncEnllaç a aquesta entradafunc head_tile_air() -> Vector2i- Retorna
Vector2i
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:2007Vehicle._air_lenfuncEnllaç a aquesta entradafunc _air_len() -> float- Retorna
float
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:2012Vehicle._air_xyfuncEnllaç a aquesta entradafunc _air_xy() -> Vector2- Retorna
Vector2
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:2016Vehicle._hold_entryfuncWhere the plane broke off its approach: HOLD_AT short of the airport.Enllaç a aquesta entradafunc _hold_entry() -> Vector2- Retorna
Vector2
scripts/sim/vehicle.gd:2029Vehicle._hold_centrefuncEnllaç a aquesta entradafunc _hold_centre() -> Vector2- Retorna
Vector2
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Vehicle._hold_startfuncThe angle round the circle of the point where the plane broke off.Enllaç a aquesta entradafunc _hold_start() -> float- Retorna
float
scripts/sim/vehicle.gd:2045Vehicle._take_offfuncStart a flight totarget's airport.Enllaç a aquesta entradafunc _take_off(sim: Sim, target: Station) -> void- Paràmetres
sim: Simtarget: Station
- Retorna
void
- Crida
L.t
scripts/sim/vehicle.gd:2051Vehicle._move_airfuncEnllaç a aquesta entradafunc _move_air(sim: Sim, dt: float) -> void- Paràmetres
sim: Simdt: float
- Retorna
void
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc _hold(sim: Sim, st: Station, vmax: float, dt: float) -> void- Paràmetres
sim: Simst: Stationvmax: floatdt: float
- Retorna
void
scripts/sim/vehicle.gd:2120Vehicle._air_altfuncAltitude profile: taxi, climb out, cruise, descend and land.Vehicle._air_posefuncEnllaç a aquesta entradafunc _air_pose(m: WorldMap) -> Dictionary- Paràmetres
m: WorldMap
- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/vehicle.gd:2143
WorldMap
WorldMap.TerrainenumEnllaç a aquesta entradaenum Terrain { GRASS, SAND, ROCK, SNOW, WATER }Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:6WorldMap.changedsignalEmitted after construction changes a rectangle of tiles.Enllaç a aquesta entradasignal changed(rect: Rect2i, what: int)whatis a mask of CH_* flags.- Paràmetres
rect: Rect2iwhat: int
- Retorna
signal changed(rect: Rect2i, what: int)
scripts/sim/world_map.gd:9WorldMap.CH_TERRAINconstEnllaç a aquesta entradaconst CH_TERRAIN := 1Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:10WorldMap.CH_NETWORKconstEnllaç a aquesta entradaconst CH_NETWORK := 2Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:11WorldMap.CH_OBJECTSconstEnllaç a aquesta entradaconst CH_OBJECTS := 4Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:12WorldMap.CH_TREESconstEnllaç a aquesta entradaconst CH_TREES := 8Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:13WorldMap.CH_ALLconstEnllaç a aquesta entradaconst CH_ALL := 15Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:14WorldMap.wvarEnllaç a aquesta entradavar w: intAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:16WorldMap.hvarEnllaç a aquesta entradavar h: intAquesta entrada encara no descriu el comportament.
Declarat ascripts/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.terrainvarEnllaç a aquesta entradavar terrain := PackedByteArray()Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:20WorldMap.treesvarEnllaç a aquesta entradavar trees := PackedByteArray()Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:21WorldMap.variantvarEnllaç a aquesta entradavar variant := PackedByteArray()Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:22WorldMap.roadvarconnection bitmask N=1 E=2 S=4 W=8WorldMap.railvarEnllaç a aquesta entradavar rail := PackedByteArray()Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradavar towns: Array[Town] = []A town object gives access to its population, position, and council ratings.
Declarat ascripts/sim/world_map.gd:27WorldMap.industriesvarIndustries currently on the map.Enllaç a aquesta entradavar industries: Array[Industry] = []This collection can change as industries open, close, or progress through the eras.
Declarat ascripts/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.Enllaç a aquesta entradavar era := 0Follows the date (Sim.sync_era); not saved.
Declarat ascripts/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_nvarEnllaç a aquesta entradavar _near_ind_n := -1Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:39WorldMap._near_ind_revvarEnllaç a aquesta entradavar _near_ind_rev := -1Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:40WorldMap.stationsvarStation objects in the current world.Enllaç a aquesta entradavar stations: Array[Station] = []A station can serve more than one transport mode, so use
Declarat ahas_kindto select the desired type.scripts/sim/world_map.gd:41WorldMap.next_station_idvarEnllaç a aquesta entradavar next_station_id := 1Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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)}.Enllaç a aquesta entradavar crossings: Array = []For bridges the spans are the tiles strictly between the two ramps; for tunnels they include both portals.
Declarat ascripts/sim/world_map.gd:46WorldMap.spansvarVector2i -> crossingWorldMap.depotsvarVector2i -> depot object (also in objs)WorldMap.elecvar1 where the track has overhead wiresWorldMap.next_crossing_idvarEnllaç a aquesta entradavar next_crossing_id := 1Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_PAIRSconstEnllaç a aquesta entradaconst DIAG2_PAIRS := [[[0, 1], [2, 3]], [[1, 2], [3, 0]]]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_cachevarEnllaç a aquesta entradavar block_cache := {}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradaconst 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.
Declarat ascripts/sim/world_map.gd:65WorldMap.road_revvarEnllaç a aquesta entradavar road_rev := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:66WorldMap.rail_revvarEnllaç a aquesta entradavar rail_rev := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:67WorldMap._road_logvarEnllaç a aquesta entradavar _road_log: Array[Rect2i] = []Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:68WorldMap._rail_logvarEnllaç a aquesta entradavar _rail_log: Array[Rect2i] = []Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:69WorldMap._net_syncedvarEnllaç a aquesta entradavar _net_synced := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:70WorldMap._sh_roadvarthe network as it was at the last notify, to spot real changesWorldMap._sh_railvarEnllaç a aquesta entradavar _sh_rail := PackedByteArray()Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:72WorldMap._sh_elecvarEnllaç a aquesta entradavar _sh_elec := PackedByteArray()Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:73WorldMap._sh_statevarEnllaç a aquesta entradavar _sh_state := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_cachevarEnllaç a aquesta entradavar eco_cache := {}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:78WorldMap._town_cargo_levelsvarEnllaç a aquesta entradavar _town_cargo_levels: Array[int] = []Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:79WorldMap._shape_memovarpiece_shape results by tile (see shape_of): tile index -> {sides and network -> shape}.Enllaç a aquesta entradavar _shape_memo := {}Emptied around every change that is announced with
Declarat anotify. Not saved.scripts/sim/world_map.gd:82WorldMap.sea_memovarRoutes over water found by Pathfinder, by question (see Pathfinder._sea_memo).Enllaç a aquesta entradavar sea_memo := {}Emptied whenever the ground changes. Not saved.
Declarat ascripts/sim/world_map.gd:85WorldMap._initfuncEnllaç a aquesta entradafunc _init(width: int = Const.MAP_SIZE, height: int = Const.MAP_SIZE) -> void- Paràmetres
width: int = Const.MAP_SIZEheight: int = Const.MAP_SIZE
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:88WorldMap.set_erafuncMove the chains to erae: every industry takes and makes what its kind does then.Enllaç a aquesta entradafunc set_era(e: int) -> voidStations take it on when they are next refreshed.
- Paràmetres
e: int
- Retorna
void
scripts/sim/world_map.gd:106WorldMap.is_electrifiedfuncOverhead wires over this tile's track (bridge decks and tunnels count as wired).Enllaç a aquesta entradafunc is_electrified(t: Vector2i) -> bool- Paràmetres
t: Vector2i
- Retorna
bool
scripts/sim/world_map.gd:114WorldMap.notifyfuncEnllaç a aquesta entradafunc notify(rect: Rect2i, what: int) -> void- Paràmetres
rect: Rect2iwhat: int
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:121WorldMap._town_cargo_levels_changedfuncA population threshold changes acceptance at any stop serving that town, even far from the build.Enllaç a aquesta entradafunc _town_cargo_levels_changed() -> bool- Retorna
bool
scripts/sim/world_map.gd:150WorldMap.net_revfuncThe revision of the road or rail network (-1 for anything else, which has none).Enllaç a aquesta entradafunc net_rev(kind: String) -> intWhatever caches something derived from the network keeps this number with it.
- Paràmetres
kind: String
- Retorna
int
scripts/sim/world_map.gd:169WorldMap.net_changed_infuncWhether thekindnetwork changed insideboxsince revisionsince(true when it can't tell).Enllaç a aquesta entradafunc net_changed_in(kind: String, since: int, box: Rect2i) -> bool- Paràmetres
kind: Stringsince: intbox: Rect2i
- Retorna
bool
scripts/sim/world_map.gd:178WorldMap.net_touchfuncRecord that thekindnetwork changed insiderect.Enllaç a aquesta entradafunc 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.- Paràmetres
kind: Stringrect: Rect2i
- Retorna
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).WorldMap._net_statefuncEnllaç a aquesta entradafunc _net_state() -> int- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:223WorldMap._net_syncfuncEnllaç a aquesta entradafunc _net_sync() -> void- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:227WorldMap._net_scanfuncAfter a change insiderect: compare the network there with how it was, and record what changed.Enllaç a aquesta entradafunc _net_scan(rect: Rect2i) -> void- Paràmetres
rect: Rect2i
- Retorna
void
scripts/sim/world_map.gd:236WorldMap.sig_allowsfuncWhether a train headinghmay pass the signal on tilet(one-way signals only allow one way).Enllaç a aquesta entradafunc sig_allows(t: Vector2i, h: int) -> bool- Paràmetres
t: Vector2ih: int
- Retorna
bool
scripts/sim/world_map.gd:272WorldMap.sig_facesfuncWhether the signal ontcontrols trains headingh(it faces them).Enllaç a aquesta entradafunc sig_faces(t: Vector2i, h: int) -> bool- Paràmetres
t: Vector2ih: int
- Retorna
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).Enllaç a aquesta entradafunc block_key(t: Vector2i, d: int) -> Variant- Paràmetres
t: Vector2id: int
- Retorna
Variant
- Crida
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).Enllaç a aquesta entradafunc 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.- Paràmetres
t: Vector2id: int = -1
- Retorna
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).Enllaç a aquesta entradafunc block_key_at(p: Vector2, d: int) -> Variant- Paràmetres
p: Vector2d: int
- Retorna
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).Enllaç a aquesta entradafunc blocks() -> DictionaryKeyed by block_key().
- Retorna
Dictionary
- Crida
WorldMap.axis_of
scripts/sim/world_map.gd:325WorldMap.cifuncEnllaç a aquesta entradafunc ci(x: int, y: int) -> int- Paràmetres
x: inty: int
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:384WorldMap.tifuncEnllaç a aquesta entradafunc ti(x: int, y: int) -> int- Paràmetres
x: inty: int
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:388WorldMap.in_boundsfuncEnllaç a aquesta entradafunc in_bounds(x: int, y: int) -> bool- Paràmetres
x: inty: int
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:392WorldMap.near_industryfuncWhether (x, y) lies within BuildOps.INDUSTRY_GAP tiles of an industry's footprint, diagonals included.Enllaç a aquesta entradafunc near_industry(x: int, y: int) -> bool- Paràmetres
x: inty: int
- Retorna
bool
scripts/sim/world_map.gd:397WorldMap.net_bitsfuncEnllaç a aquesta entradafunc net_bits(kind: String, i: int) -> int- Paràmetres
kind: Stringi: int
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:411WorldMap.sailablefuncOpen water ships can sail through (not under an oil rig or other industry).Enllaç a aquesta entradafunc sailable(i: int) -> boolThe dock out at a rig stands in open water and ships sail onto it to berth.
- Paràmetres
i: int
- Retorna
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.Enllaç a aquesta entradafunc linked(kind: String, t: Vector2i, d: int) -> bool- Paràmetres
kind: Stringt: Vector2id: int
- Retorna
bool
- Crida
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).Enllaç a aquesta entradafunc pieces(kind: String, t: Vector2i) -> Array- Paràmetres
kind: Stringt: Vector2i
- Retorna
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).Enllaç a aquesta entradafunc _lone_corner(kind: String, t: Vector2i, a: int, b: int) -> bool- Paràmetres
kind: Stringt: Vector2ia: intb: int
- Retorna
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.Enllaç a aquesta entradafunc 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.
- Paràmetres
kind: Stringt: Vector2ia: intb: int
- Retorna
int
- Crida
Const.opp
scripts/sim/world_map.gd:480WorldMap.is_chordfuncEnllaç a aquesta entradafunc is_chord(kind: String, t: Vector2i, a: int, b: int) -> bool- Paràmetres
kind: Stringt: Vector2ia: intb: int
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc _plain_straight(kind: String, t: Vector2i, d: int) -> bool- Paràmetres
kind: Stringt: Vector2id: int
- Retorna
bool
- Crida
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 itEnllaç a aquesta entradafunc piece_shape(kind: String, t: Vector2i, a: int, b: int) -> int- Paràmetres
kind: Stringt: Vector2ia: intb: int
- Retorna
int
- Crida
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.Enllaç a aquesta entradafunc 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.- Paràmetres
kind: Stringt: Vector2ia: intb: int
- Retorna
int
scripts/sim/world_map.gd:545WorldMap.flip_shapestatic funcshapefor the same piece travelled the other way (ends a and b swapped).Enllaç a aquesta entradastatic func flip_shape(shape: int) -> int- Paràmetres
shape: int
- Retorna
int
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.Enllaç a aquesta entradastatic 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.
- Paràmetres
a: intb: intshape: int
- Retorna
Array
- Crida
Const.opp
scripts/sim/world_map.gd:573WorldMap.chord_curvestatic funcEnllaç a aquesta entradastatic func chord_curve(a: int, b: int, ends: int) -> Array- Paràmetres
a: intb: intends: int
- Retorna
Array
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:619WorldMap.cubic_tangentstatic funcEnllaç a aquesta entradastatic func cubic_tangent(c: Array, u: float) -> Vector2- Paràmetres
c: Arrayu: float
- Retorna
Vector2
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:623WorldMap.cubicstatic funcEnllaç a aquesta entradastatic func cubic(c: Array, u: float) -> Vector2- Paràmetres
c: Arrayu: float
- Retorna
Vector2
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:629WorldMap.axis_ofstatic funcEnllaç a aquesta entradastatic func axis_of(d: int) -> int- Paràmetres
d: int
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:634WorldMap.span_alongfuncThe bridge or tunnel ofkindthat tiletis part of, if travel in directiondruns along it.Enllaç a aquesta entradafunc span_along(kind: String, t: Vector2i, d: int) -> Variant- Paràmetres
kind: Stringt: Vector2id: int
- Retorna
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.Enllaç a aquesta entradafunc exit_bits(kind: String, t: Vector2i, h: int) -> int- Paràmetres
kind: Stringt: Vector2ih: int
- Retorna
int
- Crida
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.Enllaç a aquesta entradafunc travel_y(kind: String, fx: float, fz: float, dir: Vector2) -> float- Paràmetres
kind: Stringfx: floatfz: floatdir: Vector2
- Retorna
float
scripts/sim/world_map.gd:662WorldMap.portal_levelfuncLevel of the tunnel mouth on tile (x, y), or -1.Enllaç a aquesta entradafunc portal_level(x: int, y: int) -> intMouth tiles are dug out flat to the tunnel floor.
- Paràmetres
x: inty: int
- Retorna
int
scripts/sim/world_map.gd:675WorldMap.add_crossingfuncEnllaç a aquesta entradafunc add_crossing(c: Dictionary) -> void- Paràmetres
c: Dictionary
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:682WorldMap.remove_crossingfuncEnllaç a aquesta entradafunc remove_crossing(c: Dictionary) -> void- Paràmetres
c: Dictionary
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:688WorldMap.crossing_tilesstatic funcEnllaç a aquesta entradastatic func crossing_tiles(c: Dictionary) -> Array[Vector2i]- Paràmetres
c: Dictionary
- Retorna
Array[Vector2i]
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:695WorldMap.cornerfuncEnllaç a aquesta entradafunc corner(x: int, y: int) -> int- Paràmetres
x: inty: int
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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).Enllaç a aquesta entradafunc corners(x: int, y: int) -> Vector4i- Paràmetres
x: inty: int
- Retorna
Vector4i
scripts/sim/world_map.gd:711WorldMap.tile_minfuncEnllaç a aquesta entradafunc tile_min(x: int, y: int) -> int- Paràmetres
x: inty: int
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:715WorldMap.tile_maxfuncEnllaç a aquesta entradafunc tile_max(x: int, y: int) -> int- Paràmetres
x: inty: int
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_map.gd:720WorldMap.is_waterfuncEnllaç a aquesta entradafunc is_water(x: int, y: int) -> bool- Paràmetres
x: inty: int
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc slope(x: int, y: int) -> int- Paràmetres
x: inty: int
- Retorna
int
scripts/sim/world_map.gd:730WorldMap.is_flatfuncEnllaç a aquesta entradafunc is_flat(x: int, y: int) -> bool- Paràmetres
x: inty: int
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc incline_axis(x: int, y: int) -> int- Paràmetres
x: inty: int
- Retorna
int
scripts/sim/world_map.gd:748WorldMap.split_nw_sefuncThe mesh folds along NW-SE when those corners match, else along NE-SW.Enllaç a aquesta entradafunc split_nw_se(x: int, y: int) -> bool- Paràmetres
x: inty: int
- Retorna
bool
scripts/sim/world_map.gd:758WorldMap.terrain_yfuncExact height of the rendered terrain surface (matches the mesh triangles).Enllaç a aquesta entradafunc terrain_y(fx: float, fz: float) -> float- Paràmetres
fx: floatfz: float
- Retorna
float
scripts/sim/world_map.gd:763WorldMap.surface_yfuncVisible surface: terrain or water, whichever is higher.Enllaç a aquesta entradafunc surface_y(fx: float, fz: float) -> floatOutside the map returns -INF.
- Paràmetres
fx: floatfz: float
- Retorna
float
scripts/sim/world_map.gd:786WorldMap.compute_corner_yfuncRecompute rendered corner heights.Enllaç a aquesta entradafunc compute_corner_y() -> voidSea-floor corners sink deeper the farther they are from land.
- Retorna
void
scripts/sim/world_map.gd:793
Industry
Industry.SIZEconstEnllaç a aquesta entradaconst SIZE := 3Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradaconst LOCAL_REACH := 8.0Walkers-in fill at most LOCAL_MAX of the jobs: the rest takes commuters, however big the town.
Declarat ascripts/sim/industry.gd:11Industry.LOCAL_PER_POPconstEnllaç a aquesta entradaconst LOCAL_PER_POP := 0.16Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:12Industry.LOCAL_MAXconstEnllaç a aquesta entradaconst LOCAL_MAX := 0.55Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:13Industry.PRIMARY_MINconstOutput with nobody at work and with a full staff (see output_factor).Industry.PRIMARY_MAXconstEnllaç a aquesta entradaconst PRIMARY_MAX := 1.5Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:16Industry.PLANT_MINconstEnllaç a aquesta entradaconst PLANT_MIN := 0.8Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:17Industry.PLANT_MAXconstEnllaç a aquesta entradaconst PLANT_MAX := 1.3Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.idvarEnllaç a aquesta entradavar id := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:24Industry.typevarEnllaç a aquesta entradavar type := ""Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:25Industry.xvarEnllaç a aquesta entradavar x := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:26Industry.yvarEnllaç a aquesta entradavar y := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:27Industry.namevarEnllaç a aquesta entradavar name := ""Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:28Industry.prod_ratevarmonthly output of a primary industryIndustry.stockvarsecondary output waiting to be shippedIndustry.producedvarthis month, by cargoIndustry.transportedvarEnllaç a aquesta entradavar transported := {}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:32Industry.receivedvarEnllaç a aquesta entradavar received := {}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:33Industry.produced_lastvarEnllaç a aquesta entradavar produced_last := {}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:34Industry.transported_lastvarEnllaç a aquesta entradavar transported_last := {}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:35Industry.received_lastvarEnllaç a aquesta entradavar received_last := {}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_lastvarEnllaç a aquesta entradavar workers_last := 0.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.closedvarEnllaç a aquesta entradavar closed := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradavar accepts: Array = []Shared and read-only.
Declarat ascripts/sim/industry.gd:49Industry.producesvarEnllaç a aquesta entradavar produces: Array = []Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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._initfuncEnllaç a aquesta entradafunc _init(p_id: int, p_type: String, px: int, py: int) -> void- Paràmetres
p_id: intp_type: Stringpx: intpy: int
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:58Industry.infofuncEnllaç a aquesta entradafunc info() -> Dictionary- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:67Industry.set_erafuncTake on what its kind takes and makes in eraera.Enllaç a aquesta entradafunc set_era(era: int) -> void- Paràmetres
era: int
- Retorna
void
- Crida
Data.accepts,Data.produces
scripts/sim/industry.gd:72Industry.centerfuncReturns the center of the industry footprint in map coordinates.Enllaç a aquesta entradafunc center() -> Vector2It can be used as the destination for a news message.
- Retorna
Vector2
scripts/sim/industry.gd:86Industry.tile_indicesfuncEnllaç a aquesta entradafunc tile_indices(m: WorldMap) -> Array[int]- Paràmetres
m: WorldMap
- Retorna
Array[int]
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:90Industry.roll_monthfuncEnllaç a aquesta entradafunc roll_month() -> void- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc local(m: WorldMap, index: StaffingIndex = null) -> float- Paràmetres
m: WorldMapindex: StaffingIndex = null
- Retorna
float
scripts/sim/industry.gd:168Industry.local_from_townsfuncEnllaç a aquesta entradafunc local_from_towns(m: WorldMap, index: StaffingIndex = null) -> float- Paràmetres
m: WorldMapindex: StaffingIndex = null
- Retorna
float
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry.gd:174Industry.rect_gapstatic funcDistance between the nearest edges of two rectangles (0 when they touch or overlap).Enllaç a aquesta entradastatic func rect_gap(a: Rect2, b: Rect2) -> float- Paràmetres
a: Rect2b: Rect2
- Retorna
float
scripts/sim/industry.gd:186Industry.commutersfuncCommuters counting toward the staff: this month's, or last month's while this one is young.Industry.staffingfuncShare of the staff it wants that turns up (0..1); 1 for an industry that wants none.Enllaç a aquesta entradafunc staffing(m: WorldMap, index: StaffingIndex = null) -> float- Paràmetres
m: WorldMapindex: StaffingIndex = null
- Retorna
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.Enllaç a aquesta entradafunc output_factor(m: WorldMap, index: StaffingIndex = null) -> floatAn industry that wants no staff runs at 1.
- Paràmetres
m: WorldMapindex: StaffingIndex = null
- Retorna
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.Enllaç a aquesta entradafunc hire(m: WorldMap, n: float) -> floatA third of them go home again (SHIFT_BACK, see Economy.produce).
- Paràmetres
m: WorldMapn: float
- Retorna
float
scripts/sim/industry.gd:219Industry.nearest_townfuncThe town with the nearest centre: where the industry window suggests bringing workers from.Enllaç a aquesta entradafunc nearest_town(m: WorldMap) -> Town- Paràmetres
m: WorldMap
- Retorna
Town
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.Enllaç a aquesta entradaconst INDUSTRYA power station makes nothing for staff to raise, so it wants none. The eras rewrite the chains (RAIL-29).
Declarat atakesandmakesare 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.Enllaç a aquesta entradaconst TOWN_MAKES := {"mail": 0, "waste": 2}Declarat ascripts/core/data.gd:86Data.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.Enllaç a aquesta entradaconst HOUSES
Declarat apopcounts the people a building brings (residents or workers) - they all travel, so they all make passengers.scripts/core/data.gd:95Data.ZONE_NAMESconstEnllaç a aquesta entradaconst ZONE_NAMES := {"R": "Residential", "C": "Commercial", "I": "Industrial", "L": "Landmark", "A": "Attraction"}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradaconst ERASEach brings new kinds of buildings, more productive industry and faster-growing towns.
Declarat ascripts/core/data.gd:127Data.BUILD_INTROconstYear each building type starts appearing in towns.Enllaç a aquesta entradaconst BUILD_INTRO := {"apartment": 1955, "tower": 1962, "highrise": 1968, "modern": 1975, "mall": 1983, "techpark": 1992}Declarat ascripts/core/data.gd:135Data.era_indexstatic funcEnllaç a aquesta entradastatic func era_index(year: int) -> int- Paràmetres
year: int
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:138Data.can_buildstatic funcEnllaç a aquesta entradastatic func can_build(type: String, year: int) -> bool- Paràmetres
type: Stringyear: int
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradastatic func accepts(type: String, era: int) -> ArrayShared and read-only.
- Paràmetres
type: Stringera: int
- Retorna
Array
scripts/core/data.gd:161Data.producesstatic funcWhat an industry oftypemakes in eraera.Enllaç a aquesta entradastatic func produces(type: String, era: int) -> ArrayShared and read-only.
- Paràmetres
type: Stringera: int
- Retorna
Array
scripts/core/data.gd:166Data._chainstatic funcEnllaç a aquesta entradastatic func _chain(type: String, era: int) -> Dictionary- Paràmetres
type: Stringera: int
- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:170Data.existsstatic funcWhether industries oftypeare around by eraera.Enllaç a aquesta entradastatic func exists(type: String, era: int) -> bool- Paràmetres
type: Stringera: int
- Retorna
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).Enllaç a aquesta entradastatic func opens(type: String, era: int) -> bool- Paràmetres
type: Stringera: int
- Retorna
bool
scripts/core/data.gd:198Data.retiringstatic funcWhethertypeis on its way out by eraera(see INDUSTRY'sretires).Enllaç a aquesta entradastatic func retiring(type: String, era: int) -> bool- Paràmetres
type: Stringera: int
- Retorna
bool
scripts/core/data.gd:203Data.town_makesstatic funcThe cargos houses make in eraera, passengers aside (see TOWN_MAKES).Enllaç a aquesta entradastatic func town_makes(era: int) -> Array- Paràmetres
era: int
- Retorna
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).Enllaç a aquesta entradastatic func town_takes(era: int) -> Dictionary- Paràmetres
era: int
- Retorna
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).Enllaç a aquesta entradastatic func town_takes_by_size(era: int) -> Dictionary- Paràmetres
era: int
- Retorna
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).Enllaç a aquesta entradastatic func town_pop(c: String) -> int- Paràmetres
c: String
- Retorna
int
scripts/core/data.gd:227Data._town_tablesstatic funcEnllaç a aquesta entradastatic func _town_tables() -> void- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradastatic func cargos(era: int) -> ArrayShared and read-only.
- Paràmetres
era: int
- Retorna
Array
scripts/core/data.gd:260Data.era_changesstatic funcWhat eraichanges in the industry chains, a sentence each (for the news and the Timeline).Enllaç a aquesta entradastatic func era_changes(i: int) -> Array- Paràmetres
i: int
- Retorna
Array
- Crida
L.t,L.lower,Fmt.cargo_list,Fmt.int_commas
scripts/core/data.gd:278Data.TOWN_PREFIXconstEnllaç a aquesta entradaconst TOWN_PREFIXAquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:308Data.TOWN_SUFFIXconstEnllaç a aquesta entradaconst TOWN_SUFFIXAquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:312Data.FREIGHTconstCars (RAIL-32) are in ALL_CARGO only: trains carry them on car wagons, roads on the car transporter.Enllaç a aquesta entradaconst FREIGHT := ["coal", "wood", "grain", "oil", "goods", "food", "iron_ore", "steel", "fish", "mail", "paper", "news", "plastics", "waste", "electronics"]Declarat ascripts/core/data.gd:316Data.ALL_CARGOconstEnllaç a aquesta entradaconst ALL_CARGOAquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:317Data.BULKconstWhat ships carry: newspapers aren't among them, as they would go stale long before a ship got anywhere.Enllaç a aquesta entradaconst BULK := ["coal", "wood", "grain", "oil", "goods", "food", "iron_ore", "steel", "fish", "paper", "plastics", "waste", "electronics"]Declarat ascripts/core/data.gd:320Data.MODELSconstEnllaç a aquesta entradaconst MODELSAquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:323Data.WAGONconstEnllaç a aquesta entradaconst WAGON := {"cost": 6500, "run": 450}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.INTROconstEnllaç a aquesta entradaconst INTROAquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:351Data.LATER_MODELSconstEnllaç a aquesta entradaconst LATER_MODELSAquesta entrada encara no descriu el comportament.
Declarat ascripts/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 varEnllaç a aquesta entradastatic var MOD_COMPANY_NAMES: Array = []Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:404Data._town_prefixesstatic varEnllaç a aquesta entradastatic var _town_prefixes: Array = TOWN_PREFIXAquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:405Data._town_suffixesstatic varEnllaç a aquesta entradastatic var _town_suffixes: Array = TOWN_SUFFIXAquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:406Data.clear_modsstatic funcEnllaç a aquesta entradastatic func clear_mods() -> void- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:409Data.add_modelstatic funcEnllaç a aquesta entradastatic func add_model(id: String, m: Dictionary) -> void- Paràmetres
id: Stringm: Dictionary
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:417Data.add_town_namesstatic funcExtra name pieces for towns;replacedrops the game's own.Enllaç a aquesta entradastatic func add_town_names(prefixes: Array, suffixes: Array, replace: bool = false) -> void- Paràmetres
prefixes: Arraysuffixes: Arrayreplace: bool = false
- Retorna
void
scripts/core/data.gd:422Data.town_prefixesstatic funcEnllaç a aquesta entradastatic func town_prefixes() -> Array- Retorna
Array
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:429Data.town_suffixesstatic funcEnllaç a aquesta entradastatic func town_suffixes() -> Array- Retorna
Array
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:433Data.has_modelstatic funcChecks for an ID in the stock and enabled mod vehicle catalogs.Enllaç a aquesta entradastatic func has_model(id: String) -> boolUse this before looking up an ID from a mod or save.
- Paràmetres
id: String
- Retorna
bool
scripts/core/data.gd:437Data.modelstatic funcReturns the definition dictionary for an existing vehicle model ID, including enabled mods.Enllaç a aquesta entradastatic func model(id: String) -> DictionaryUse
has_model(id)first when the ID might be missing.- Paràmetres
id: String
- Retorna
Dictionary
Exemple
Declarat aif 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.Enllaç a aquesta entradastatic func all_models() -> ArrayUse
available(id, year)to filter by sale date.- Retorna
Array
scripts/core/data.gd:447Data.intro_yearstatic funcThe year a model goes on sale (0: from the start).Enllaç a aquesta entradastatic func intro_year(id: String) -> int- Paràmetres
id: String
- Retorna
int
scripts/core/data.gd:452Data.introsstatic funcEvery model with an introduction year: id -> year.Enllaç a aquesta entradastatic func intros() -> Dictionary- Retorna
Dictionary
scripts/core/data.gd:459Data.availablestatic funcChecks whether the current year is at or after a model’s introduction year.Enllaç a aquesta entradastatic func available(id: String, year: int) -> boolUse
has_model(id)separately to verify the ID.- Paràmetres
id: Stringyear: int
- Retorna
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".Enllaç a aquesta entradastatic func look(id: String) -> String- Paràmetres
id: String
- Retorna
String
scripts/core/data.gd:472Data.cargo_ratestatic funcReturns the payment rate per unit of the named cargo over 25 tiles before age penalties.Enllaç a aquesta entradastatic func cargo_rate(c: String) -> floatUses the active mod override when one is set.
- Paràmetres
c: String
- Retorna
float
scripts/core/data.gd:477Data.cargo_daysstatic funcReturns how many days the named cargo qualifies for the full rate.Enllaç a aquesta entradastatic func cargo_days(c: String) -> floatUses the active mod override when one is set.
- Paràmetres
c: String
- Retorna
float
scripts/core/data.gd:481Data.COSTconstEnllaç a aquesta entradaconst COSTAquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:484Data.START_LOANconstwhat rivals start with (cash, all borrowed)Data.PLAYER_START_LOANSconstthe player's start-up loan choicesEnllaç a aquesta entradaconst PLAYER_START_LOANS := [100000, 250000, 500000]Declarat ascripts/core/data.gd:496Data.PLAYER_START_LOANconst...and the defaultData.BANKRUPT_MONTHSconstmonths in the red before a company goes bankruptData.MAX_LOANconstEnllaç a aquesta entradaconst MAX_LOAN := 500000Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:499Data.LOAN_INTERESTconstEnllaç a aquesta entradaconst LOAN_INTEREST := 0.04Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:500Data.wagon_capstatic funcEnllaç a aquesta entradastatic func wagon_cap(cargo: String) -> int- Paràmetres
cargo: String
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:503Data.BRIDGESconstBridge styles: cost multiplier, longest span (tiles between the ramps), year available.Data.BRIDGE_ORDERconstEnllaç a aquesta entradaconst BRIDGE_ORDER := ["beam", "truss", "viaduct", "arch", "suspension"]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:515Data.LIFEconstYears a vehicle of this kind runs well; older ones put customers off.Enllaç a aquesta entradaconst LIFE := {"road": 15, "rail": 25, "water": 30, "air": 20}Declarat ascripts/core/data.gd:519Data.BREAKDOWN_NAMESconstBreakdowns (a new-game option): none, reduced, normal.Enllaç a aquesta entradaconst BREAKDOWN_NAMES := ["None", "Reduced", "Normal"]Declarat ascripts/core/data.gd:522Data.BREAKDOWN_RATEconstEnllaç a aquesta entradaconst BREAKDOWN_RATE := [0.0, 0.4, 1.0]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradastatic func reliability(model_id: String) -> float- Paràmetres
model_id: String
- Retorna
float
scripts/core/data.gd:528Data.kind_namestatic funcEnllaç a aquesta entradastatic func kind_name(kind: String) -> String- Paràmetres
kind: String
- Retorna
String
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/data.gd:536
AiPlayer
AiPlayer.NAMESconstEnllaç a aquesta entradaconst NAMESAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:10AiPlayer.ROUTES_PER_YEARconstEnllaç a aquesta entradaconst ROUTES_PER_YEAR := [1.0, 1.5, 3.0]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:13AiPlayer.CEILINGSconstshare of the maximum loan the AI will use for expansionAiPlayer.THINKconstEnllaç a aquesta entradaconst THINK := [[30, 60], [18, 40], [10, 24]]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:15AiPlayer.FOUNDINGconstEnllaç a aquesta entradaconst FOUNDING := [150, 120, 50]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:18AiPlayer.FOUNDING_GAPconstEnllaç a aquesta entradaconst FOUNDING_GAP := [70, 60, 30]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:19AiPlayer.COMPETE_SHAREconstEnllaç a aquesta entradaconst COMPETE_SHARE := [0.35, 0.55, 0.8]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:21AiPlayer.EXTRA_VEHICLESconstEnllaç a aquesta entradaconst EXTRA_VEHICLES := [1, 3, 5]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_RATEconstEnllaç a aquesta entradaconst BUILD_RATE := {"rail": [2, 3, 4], "road": [3, 5, 7]}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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 sizeEnllaç a aquesta entradaconst SHIP_MAX := {"freight": 80.0, "ferry": 60.0}Declarat ascripts/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 reachEnllaç a aquesta entradaconst PORT_POP := {"water": 150, "air": 200}Declarat ascripts/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.levelvarEnllaç a aquesta entradavar level := 1Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:47AiPlayer.loan_ceilingvarEnllaç a aquesta entradavar loan_ceiling: floatAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:48AiPlayer.companyvarEnllaç a aquesta entradavar company: CompanyAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:51AiPlayer.rngvarEnllaç a aquesta entradavar rng := RandomNumberGenerator.new()Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:52AiPlayer.next_thinkvarEnllaç a aquesta entradavar next_think := 20Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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 {}.Enllaç a aquesta entradavar project := {}"kind" (rail/road), "line" (the points to lay, in order), "at" (index of the last point laid so far), "head"/"tail" (points at either end that are station platforms, kept when the rest is re-routed), "reserved" (tiles a re-route must avoid), "route" (its entry for
Declarat aroutesonce 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].Enllaç a aquesta entradavar _sites := {}Not saved: it is only a cache.
Declarat ascripts/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 funcEnllaç a aquesta entradastatic func create_competitors(sim: Sim, count: int) -> void- Paràmetres
sim: Simcount: int
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:73AiPlayer.dailyfuncEnllaç a aquesta entradafunc daily(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:94AiPlayer._expandfuncEnllaç a aquesta entradafunc _expand(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:111AiPlayer._operatingstatic funcIncome less the cost of running the network (vehicles, stations, track, interest) in ledgerl.Enllaç a aquesta entradastatic func _operating(l: Dictionary) -> int- Paràmetres
l: Dictionary
- Retorna
int
scripts/sim/ai_player.gd:124AiPlayer._troubledfuncIn the red, or about to be: no time for new ventures.AiPlayer._open_routesfuncEnllaç a aquesta entradafunc _open_routes() -> int- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:134AiPlayer._count_routesfuncRoutes still open, of one kind ("" for all), and of one cargo ifcargois given.Enllaç a aquesta entradafunc _count_routes(kind: String, cargo := "") -> int- Paràmetres
kind: Stringcargo := ""
- Retorna
int
scripts/sim/ai_player.gd:139AiPlayer._scaledstatic funcConstruction prices follow the game's building-cost setting, for rivals as for the player.Enllaç a aquesta entradastatic func _scaled(sim: Sim, cost: int) -> int- Paràmetres
sim: Simcost: int
- Retorna
int
scripts/sim/ai_player.gd:148AiPlayer._managefuncEnllaç a aquesta entradafunc _manage(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
- Crida
Data.wagon_cap,Data.model
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:154AiPlayer._fleetsfuncOur vehicles sorted by the route they were bought for: one list for each entry ofroutes.Enllaç a aquesta entradafunc _fleets(sim: Sim) -> Array- Paràmetres
sim: Sim
- Retorna
Array
scripts/sim/ai_player.gd:245AiPlayer._buyfuncOne more vehicle ofmodelfor router.Enllaç a aquesta entradafunc _buy(sim: Sim, r: Dictionary, model: String) -> bool- Paràmetres
sim: Simr: Dictionarymodel: String
- Retorna
bool
- Crida
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.Enllaç a aquesta entradafunc _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.
- Paràmetres
sim: Simr: Dictionary
- Retorna
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.Enllaç a aquesta entradafunc industry_closed(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
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.Enllaç a aquesta entradastatic func _orphaned(r: Dictionary) -> boolStops a route doesn't have yet (a bus line still being built) are null.
- Paràmetres
r: Dictionary
- Retorna
bool
scripts/sim/ai_player.gd:337AiPlayer._station_in_usefuncEnllaç a aquesta entradafunc _station_in_use(sim: Sim, st: Station, r: Dictionary) -> bool- Paràmetres
sim: Simst: Stationr: Dictionary
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:346AiPlayer._own_track_fromfuncOur own plain track joined to stationst(the AI never shares track between its lines).Enllaç a aquesta entradafunc _own_track_from(sim: Sim, st: Station) -> Array[Vector2i]- Paràmetres
sim: Simst: Station
- Retorna
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.Enllaç a aquesta entradafunc _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.
- Paràmetres
sim: Simkind: Stringcargo: Stringcurrent: String
- Retorna
String
- Crida
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).Enllaç a aquesta entradafunc _plan_line(sim: Sim, kind: String, pts: Array[Vector2i]) -> Dictionary- Paràmetres
sim: Simkind: Stringpts: Array[Vector2i]
- Retorna
Dictionary
- Crida
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).Enllaç a aquesta entradafunc _plan_route(sim: Sim, kind: String, pts: Array[Vector2i], crossings: Array) -> Dictionary- Paràmetres
sim: Simkind: Stringpts: Array[Vector2i]crossings: Array
- Retorna
Dictionary
scripts/sim/ai_player.gd:408AiPlayer._affordfuncMake surecostcan be paid, borrowing if needed.Enllaç a aquesta entradafunc _afford(sim: Sim, cost: int) -> boolReturns false if it can't.
- Paràmetres
sim: Simcost: int
- Retorna
bool
scripts/sim/ai_player.gd:413AiPlayer._try_new_routefuncEnllaç a aquesta entradafunc _try_new_route(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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).Enllaç a aquesta entradastatic func _nothing_to_build(plan: Dictionary) -> bool- Paràmetres
plan: Dictionary
- Retorna
bool
scripts/sim/ai_player.gd:469AiPlayer._whyfuncEnllaç a aquesta entradafunc _why(msg: String) -> void- Paràmetres
msg: String
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:473AiPlayer._try_busesfuncEnllaç a aquesta entradafunc _try_buses(sim: Sim) -> bool- Paràmetres
sim: Sim
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:478AiPlayer._links_townsfuncWhether one of our passenger lines ofkind(road or rail) already runs between these two towns.Enllaç a aquesta entradafunc _links_towns(a: Town, b: Town, kind: String = "road") -> bool- Paràmetres
a: Townb: Townkind: String = "road"
- Retorna
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.Enllaç a aquesta entradafunc _try_mail(sim: Sim) -> bool- Paràmetres
sim: Sim
- Retorna
bool
scripts/sim/ai_player.gd:552AiPlayer._town_stop_tilestatic funcA straight town road tile near the centre that can take a stop.Enllaç a aquesta entradastatic func _town_stop_tile(m: WorldMap, t: Town) -> Dictionary- Paràmetres
m: WorldMapt: Town
- Retorna
Dictionary
scripts/sim/ai_player.gd:578AiPlayer._map_scalestatic funcEnllaç a aquesta entradastatic func _map_scale(sim: Sim) -> float- Paràmetres
sim: Sim
- Retorna
float
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:594AiPlayer._industry_pairfuncPick a producing industry and the nearest industry that accepts its cargo within a distance band.Enllaç a aquesta entradafunc _industry_pair(sim: Sim, min_d: float, max_d: float, kind: String) -> 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).
- Paràmetres
sim: Simmin_d: floatmax_d: floatkind: String
- Retorna
Array
- Crida
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.Enllaç a aquesta entradastatic func _customer_rank(q: Industry, c: String) -> intThose pay for what is delivered all the same, so they do when there is nothing better.
- Paràmetres
q: Industryc: String
- Retorna
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.Enllaç a aquesta entradastatic func _output(p: Industry, c: String) -> float- Paràmetres
p: Industryc: String
- Retorna
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.Enllaç a aquesta entradastatic func _customer_town(sim: Sim, p: Industry, min_d: float, max_d: float, pop: int = 0) -> Town- Paràmetres
sim: Simp: Industrymin_d: floatmax_d: floatpop: int = 0
- Retorna
Town
scripts/sim/ai_player.gd:680AiPlayer._good_sourcestatic funcA producing industry on land (see_producing).Enllaç a aquesta entradastatic func _good_source(ind: Industry) -> bool- Paràmetres
ind: Industry
- Retorna
bool
scripts/sim/ai_player.gd:694AiPlayer._producingstatic funcA primary industry, or a processing plant that's being supplied.Enllaç a aquesta entradastatic func _producing(ind: Industry) -> bool- Paràmetres
ind: Industry
- Retorna
bool
scripts/sim/ai_player.gd:699AiPlayer._served_bystatic funcEnllaç a aquesta entradastatic func _served_by(sim: Sim, ind: Industry, c: String, who: Company) -> bool- Paràmetres
sim: Simind: Industryc: Stringwho: Company
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:710AiPlayer._served_by_anyonestatic funcEnllaç a aquesta entradastatic func _served_by_anyone(sim: Sim, ind: Industry, c: String) -> bool- Paràmetres
sim: Simind: Industryc: String
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:717AiPlayer._terminalfuncFind platform tiles nearindfor a terminal oflengthtiles, ending on the side facingtoward.Enllaç a aquesta entradafunc _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.- Paràmetres
sim: Simkind: Stringind: Industrylength: inttoward: Vector2partner: Dictionary = {}
- Retorna
Dictionary
scripts/sim/ai_player.gd:727AiPlayer._terminal_infuncThe same for any area: the best site whose first tile lies inarea.Enllaç a aquesta entradafunc _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.- Paràmetres
sim: Simkind: Stringarea: Rect2ilength: inttoward: Vector2min_pop: intpartner: Dictionary = {}
- Retorna
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.Enllaç a aquesta entradafunc _try_waste(sim: Sim) -> boolTowns big enough to fill a truck now and then, and not served by us already.
- Paràmetres
sim: Sim
- Retorna
bool
scripts/sim/ai_player.gd:791AiPlayer._count_routes_fromfuncOur open routes loadingcargoat a stop in townt.Enllaç a aquesta entradafunc _count_routes_from(t: Town, cargo: String) -> int- Paràmetres
t: Towncargo: String
- Retorna
int
scripts/sim/ai_player.gd:816AiPlayer._try_trucksfuncEnllaç a aquesta entradafunc _try_trucks(sim: Sim) -> bool- Paràmetres
sim: Sim
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:824AiPlayer._try_railfuncEnllaç a aquesta entradafunc _try_rail(sim: Sim) -> bool- Paràmetres
sim: Sim
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:833AiPlayer._try_pax_railfuncA passenger (and mail) railway between two sizeable towns a good way apart.Enllaç a aquesta entradafunc _try_pax_rail(sim: Sim) -> bool- Paràmetres
sim: Sim
- Retorna
bool
scripts/sim/ai_player.gd:841AiPlayer._build_pax_railfuncEnllaç a aquesta entradafunc _build_pax_rail(sim: Sim, a: Town, b: Town, key: String) -> bool- Paràmetres
sim: Sima: Townb: Townkey: String
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:864AiPlayer._build_freightfuncEnllaç a aquesta entradafunc _build_freight(sim: Sim, kind: String, p: Industry, q: Industry, cargo: String) -> bool- Paràmetres
sim: Simkind: Stringp: Industryq: Industrycargo: String
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc _build_town_delivery(sim: Sim, p: Industry, town: Town, cargo: String, pickup := false) -> bool- Paràmetres
sim: Simp: Industrytown: Towncargo: Stringpickup := false
- Retorna
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.Enllaç a aquesta entradafunc _try_ships(sim: Sim) -> boolA ferry earns far less than a freighter, so a rival runs only a few (FERRIES).
- Paràmetres
sim: Sim
- Retorna
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.Enllaç a aquesta entradafunc _try_ship_freight(sim: Sim) -> bool- Paràmetres
sim: Sim
- Retorna
bool
- Crida
Data.cargo_rate
scripts/sim/ai_player.gd:1052AiPlayer._build_ship_freightfuncEnllaç a aquesta entradafunc _build_ship_freight(sim: Sim, p: Industry, q: Industry, cargo: String) -> bool- Paràmetres
sim: Simp: Industryq: Industrycargo: String
- Retorna
bool
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc _try_ferry(sim: Sim) -> bool- Paràmetres
sim: Sim
- Retorna
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.Enllaç a aquesta entradafunc _try_air(sim: Sim) -> boolA town's airport is used again for its next service rather than building another.
- Paràmetres
sim: Sim
- Retorna
bool
scripts/sim/ai_player.gd:1145AiPlayer._pair_keystatic funcEnllaç a aquesta entradastatic func _pair_key(what: String, a: Town, b: Town) -> String- Paràmetres
what: Stringa: Townb: Town
- Retorna
String
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:1171AiPlayer._build_town_linkfuncA passenger service ofkind("water" or "air") between two towns, calling atpaandpb(see_town_port).Enllaç a aquesta entradafunc _build_town_link(sim: Sim, kind: String, a: Town, b: Town, pa: Dictionary, pb: Dictionary) -> bool- Paràmetres
sim: Simkind: Stringa: Townb: Townpa: Dictionarypb: Dictionary
- Retorna
bool
- Crida
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.Enllaç a aquesta entradafunc _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.
- Paràmetres
sim: Simr: Dictionarycount: intnews: Stringnews_at: Vector2
- Retorna
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).Enllaç a aquesta entradafunc _town_port(sim: Sim, kind: String, town: Town) -> Dictionary- Paràmetres
sim: Simkind: Stringtown: Town
- Retorna
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.Enllaç a aquesta entradafunc _port_toward(sim: Sim, ind: Industry, toward: Vector2) -> Dictionary{} if ships can't reach it.
- Paràmetres
sim: Simind: Industrytoward: Vector2
- Retorna
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).Enllaç a aquesta entradafunc _ports_of(sim: Sim, ind: Industry) -> ArrayRemembered for a while.
- Paràmetres
sim: Simind: Industry
- Retorna
Array
scripts/sim/ai_player.gd:1272AiPlayer._industry_docksstatic funcEnllaç a aquesta entradastatic func _industry_docks(m: WorldMap, ind: Industry) -> Array- Paràmetres
m: WorldMapind: Industry
- Retorna
Array
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc _remembered(sim: Sim, key: String, search: Callable)- Paràmetres
sim: Simkey: Stringsearch: Callable
- Retorna
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.Enllaç a aquesta entradastatic func _port_site(m: WorldMap, kind: String, town: Town) -> Dictionary{"tiles", "axis"}, or {} when there's none.
- Paràmetres
m: WorldMapkind: Stringtown: Town
- Retorna
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.Enllaç a aquesta entradastatic func _port_fits(m: WorldMap, kind: String, r: Rect2i) -> bool- Paràmetres
m: WorldMapkind: Stringr: Rect2i
- Retorna
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.Enllaç a aquesta entradastatic func _pop_table(m: WorldMap, area: Rect2i) -> PackedInt32Array- Paràmetres
m: WorldMaparea: Rect2i
- Retorna
PackedInt32Array
scripts/sim/ai_player.gd:1356AiPlayer._pop_instatic funcEnllaç a aquesta entradastatic func _pop_in(sums: PackedInt32Array, area: Rect2i, r: Rect2i) -> int- Paràmetres
sums: PackedInt32Arrayarea: Rect2ir: Rect2i
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:1374AiPlayer._berthstatic funcThe water tile ships berth at for a dock end of a route ({"station"} or a shore site).Enllaç a aquesta entradastatic func _berth(m: WorldMap, port: Dictionary) -> Vector2i- Paràmetres
m: WorldMapport: Dictionary
- Retorna
Vector2i
- Crida
BuildOps.dock_facing
scripts/sim/ai_player.gd:1387AiPlayer._second_berthfuncShips take turns at a berth (RAIL-26).Enllaç a aquesta entradafunc _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.
- Paràmetres
sim: Simfleet: Array
- Retorna
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.Enllaç a aquesta entradastatic func _berth_beside(m: WorldMap, t: Vector2i, facing: int) -> Vector2i(-1, -1) if there's none.
- Paràmetres
m: WorldMapt: Vector2ifacing: int
- Retorna
Vector2i
- Crida
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.Enllaç a aquesta entradastatic func _berth_taken(m: WorldMap, w: Vector2i) -> bool- Paràmetres
m: WorldMapw: Vector2i
- Retorna
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).Enllaç a aquesta entradastatic 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.
- Paràmetres
m: WorldMapa: Vector2ib: Vector2i
- Retorna
bool
- Crida
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).Enllaç a aquesta entradafunc _carries_from(sim: Sim, ind: Industry, c: String) -> bool- Paràmetres
sim: Simind: Industryc: String
- Retorna
bool
scripts/sim/ai_player.gd:1463AiPlayer._startfuncBegin layingline, a stretch a day (seeproject).Enllaç a aquesta entradafunc _start(line: Array[Vector2i], head: int, tail: int, reserved: Dictionary, to_lay: bool, route: Dictionary, buy: int, news: String, news_at: Vector2, extra: Dictionary = {}) -> 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).- Paràmetres
line: Array[Vector2i]head: inttail: intreserved: Dictionaryto_lay: boolroute: Dictionarybuy: intnews: Stringnews_at: Vector2extra: Dictionary = {}
- Retorna
void
scripts/sim/ai_player.gd:1475AiPlayer._constructfuncA day's work on the line under construction, and opening it once it's finished.Enllaç a aquesta entradafunc _construct(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
scripts/sim/ai_player.gd:1484AiPlayer._next_crossingstatic funcThe next bridge or tunnel the line under construction comes to ({} when none is left).Enllaç a aquesta entradastatic func _next_crossing(p: Dictionary) -> Dictionary- Paràmetres
p: Dictionary
- Retorna
Dictionary
scripts/sim/ai_player.gd:1536AiPlayer._reroutefuncA new way from where the line has got to, to its far end.Enllaç a aquesta entradafunc _reroute(sim: Sim) -> boolFalse if there's none (or the line has been re-routed too often already).
- Paràmetres
sim: Sim
- Retorna
bool
scripts/sim/ai_player.gd:1550AiPlayer._openfuncThe line is finished: place the stops still missing, buy the first vehicles and open for business.Enllaç a aquesta entradafunc _open(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
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.Enllaç a aquesta entradafunc _abandon(sim: Sim, why: String) -> void- Paràmetres
sim: Simwhy: String
- Retorna
void
scripts/sim/ai_player.gd:1642AiPlayer.to_dictfuncEnllaç a aquesta entradafunc to_dict() -> Dictionary- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:1661AiPlayer._route_to_dictstatic funcEnllaç a aquesta entradastatic func _route_to_dict(r: Dictionary) -> Dictionary- Paràmetres
r: Dictionary
- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:1681AiPlayer._route_from_dictstatic funcA route saved by_route_to_dict, or {} if one of its stations is gone.Enllaç a aquesta entradastatic func _route_from_dict(r: Dictionary, by_id: Dictionary, partial := false) -> DictionaryWith
partial, a station not placed yet (-1) is allowed.- Paràmetres
r: Dictionaryby_id: Dictionarypartial := false
- Retorna
Dictionary
scripts/sim/ai_player.gd:1692AiPlayer._flatstatic funcEnllaç a aquesta entradastatic func _flat(tiles: Array) -> Array- Paràmetres
tiles: Array
- Retorna
Array
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:1713AiPlayer._tilesstatic funcEnllaç a aquesta entradastatic func _tiles(flat: Array) -> Array[Vector2i]- Paràmetres
flat: Array
- Retorna
Array[Vector2i]
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:1721AiPlayer.from_dictstatic funcEnllaç a aquesta entradastatic func from_dict(sim: Sim, d: Dictionary) -> AiPlayer- Paràmetres
sim: Simd: Dictionary
- Retorna
AiPlayer
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/ai_player.gd:1728
BuildOps
BuildOps._planstatic funcEnllaç a aquesta entradastatic func _plan() -> Dictionary- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:8BuildOps._failstatic funcEnllaç a aquesta entradastatic func _fail(p: Dictionary, t: Vector2i, why: String) -> void- Paràmetres
p: Dictionaryt: Vector2iwhy: String
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:12BuildOps.dir_betweenstatic funcEnllaç a aquesta entradastatic func dir_between(a: Vector2i, b: Vector2i) -> int- Paràmetres
a: Vector2ib: Vector2i
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:18BuildOps.network_bits_okstatic funcWhether a tile can carry a road or rail piece with the given full connection bitmask.Enllaç a aquesta entradastatic func network_bits_ok(m: WorldMap, x: int, y: int, bits: int, strict: bool = false) -> boolFlat tiles take any shape; simple inclines only take pieces running along the incline.
- Paràmetres
m: WorldMapx: inty: intbits: intstrict: bool = false
- Retorna
bool
scripts/sim/build_ops.gd:26BuildOps._slope_reasonstatic funcEnllaç a aquesta entradastatic func _slope_reason(m: WorldMap, x: int, y: int) -> String- Paràmetres
m: WorldMapx: inty: int
- Retorna
String
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:50BuildOps._obj_reasonstatic funcEnllaç a aquesta entradastatic func _obj_reason(o: Dictionary) -> String- Paràmetres
o: Dictionary
- Retorna
String
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:58BuildOps._is_crossingstatic funcEnllaç a aquesta entradastatic func _is_crossing(existing_other: int, bits: int) -> bool- Paràmetres
existing_other: intbits: int
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:67BuildOps.span_problemstatic funcGround construction under a bridge or over a tunnel: allowed only across its line.Enllaç a aquesta entradastatic func span_problem(m: WorldMap, x: int, y: int, bits: int) -> String- Paràmetres
m: WorldMapx: inty: intbits: int
- Retorna
String
- Crida
L.t,WorldMap.axis_of
scripts/sim/build_ops.gd:72BuildOps.under_bridgestatic funcEnllaç a aquesta entradastatic func under_bridge(m: WorldMap, x: int, y: int) -> bool- Paràmetres
m: WorldMapx: inty: int
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:86BuildOps.rail_tile_problemstatic funcWhy rail with full bitmaskbitscan't go on this tile, or "" if it can.Enllaç a aquesta entradastatic func rail_tile_problem(m: WorldMap, x: int, y: int, bits: int) -> String- Paràmetres
m: WorldMapx: inty: intbits: int
- Retorna
String
- Crida
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.Enllaç a aquesta entradastatic func road_tile_problem(m: WorldMap, x: int, y: int, bits: int) -> String- Paràmetres
m: WorldMapx: inty: intbits: int
- Retorna
String
- Crida
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).Enllaç a aquesta entradastatic func can_link_road(m: WorldMap, x: int, y: int, d: int, strict: bool = false) -> bool- Paràmetres
m: WorldMapx: inty: intd: intstrict: bool = false
- Retorna
bool
- Crida
Const.opp
scripts/sim/build_ops.gd:152BuildOps.link_roadstatic funcEnllaç a aquesta entradastatic func link_road(m: WorldMap, x: int, y: int, d: int) -> void- Paràmetres
m: WorldMapx: inty: intd: int
- Retorna
void
- Crida
Const.opp
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:171BuildOps.can_build_housestatic funcHouses need a flat, dry, empty tile, clear of the ground kept around industries.Enllaç a aquesta entradastatic func can_build_house(m: WorldMap, x: int, y: int) -> bool- Paràmetres
m: WorldMapx: inty: int
- Retorna
bool
scripts/sim/build_ops.gd:181BuildOps.plan_linestatic funcPlan a road or rail line through consecutive, 4-adjacent tilespts.Enllaç a aquesta entradastatic func plan_line(m: WorldMap, kind: String, pts: Array[Vector2i]) -> DictionaryExtra keys: kind, add (Vector2i -> bits to add).
- Paràmetres
m: WorldMapkind: Stringpts: Array[Vector2i]
- Retorna
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.Enllaç a aquesta entradastatic func _parallel_diagonal(existing: int, adding: int) -> int- Paràmetres
existing: intadding: int
- Retorna
int
scripts/sim/build_ops.gd:245BuildOps.apply_linestatic funcEnllaç a aquesta entradastatic func apply_line(m: WorldMap, p: Dictionary) -> void- Paràmetres
m: WorldMapp: Dictionary
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:255BuildOps.dock_facingstatic funcDirection from a shore tile down to open water, or -1.Enllaç a aquesta entradastatic 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).
- Paràmetres
m: WorldMapx: inty: int
- Retorna
int
scripts/sim/build_ops.gd:276BuildOps.station_tile_problemstatic funcEnllaç a aquesta entradastatic func station_tile_problem(m: WorldMap, kind: String, x: int, y: int, axis: int) -> String- Paràmetres
m: WorldMapkind: Stringx: inty: intaxis: int
- Retorna
String
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradastatic 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).
- Paràmetres
m: WorldMapkind: Stringpts: Array[Vector2i]axis: int
- Retorna
Dictionary
scripts/sim/build_ops.gd:333BuildOps.apply_stationstatic funcEnllaç a aquesta entradastatic func apply_station(m: WorldMap, p: Dictionary) -> Station- Paràmetres
m: WorldMapp: Dictionary
- Retorna
Station
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradastatic 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.
- Paràmetres
m: WorldMapind: Industry
- Retorna
Station
- Crida
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.Enllaç a aquesta entradastatic func rig_dock_spot(m: WorldMap, ind: Industry) -> Vector2i(-1, -1) if none.
- Paràmetres
m: WorldMapind: Industry
- Retorna
Vector2i
scripts/sim/build_ops.gd:455BuildOps.is_rig_dockstatic funcTrue on the tile of a rig's own dock (see add_rig_dock).Enllaç a aquesta entradastatic func is_rig_dock(o) -> bool- Paràmetres
o
- Retorna
bool
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.Enllaç a aquesta entradastatic 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.- Paràmetres
m: WorldMapx: inty: intwho_id: int = -1
- Retorna
Dictionary
scripts/sim/build_ops.gd:494BuildOps.plan_bulldozestatic funcExtra keys: rect, count.Enllaç a aquesta entradastatic func plan_bulldoze(m: WorldMap, rect: Rect2i, who_id: int = -1) -> Dictionary- Paràmetres
m: WorldMaprect: Rect2iwho_id: int = -1
- Retorna
Dictionary
- Crida
L.t
scripts/sim/build_ops.gd:526BuildOps.apply_bulldozestatic funcApplies to every removable tile in the rect; industries are skipped.Enllaç a aquesta entradastatic func apply_bulldoze(m: WorldMap, p: Dictionary) -> void- Paràmetres
m: WorldMapp: Dictionary
- Retorna
void
scripts/sim/build_ops.gd:566BuildOps.plan_terraformstatic funcRaise (delta = 1) or lower (delta = -1) one tile corner.Enllaç a aquesta entradastatic 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).
- Paràmetres
m: WorldMapc: Vector2idelta: int
- Retorna
Dictionary
- Crida
L.t
scripts/sim/build_ops.gd:648BuildOps.apply_terraformstatic funcEnllaç a aquesta entradastatic func apply_terraform(m: WorldMap, p: Dictionary) -> void- Paràmetres
m: WorldMapp: Dictionary
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:701BuildOps.plan_levelstatic funcLevel the tiles inrect(all their corners) toheight, as far as the rules allow.Enllaç a aquesta entradastatic 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).- Paràmetres
m: WorldMaprect: Rect2iheight: intblocked: Dictionary = {}
- Retorna
Dictionary
- Crida
L.t
scripts/sim/build_ops.gd:723BuildOps._level_problemstatic funcWhy tiletcan't change shape while levelling ("" if it can).Enllaç a aquesta entradastatic func _level_problem(m: WorldMap, t: Vector2i, blocked: Dictionary) -> String- Paràmetres
m: WorldMapt: Vector2iblocked: Dictionary
- Retorna
String
- Crida
L.t
scripts/sim/build_ops.gd:783BuildOps._level_stepstatic funcMove cornercone level (delta) tov, dragging neighbours along.Enllaç a aquesta entradastatic func _level_step(m: WorldMap, c: Vector2i, v: int, delta: int, work: Dictionary, blocked: Dictionary, problems: Dictionary, p: Dictionary) -> boolFails, changing nothing in
work, when a corner that would move belongs to a tile that can't change (recorded in p.why).- Paràmetres
m: WorldMapc: Vector2iv: intdelta: intwork: Dictionaryblocked: Dictionaryproblems: Dictionaryp: Dictionary
- Retorna
bool
scripts/sim/build_ops.gd:800BuildOps.apply_levelstatic funcEnllaç a aquesta entradastatic func apply_level(m: WorldMap, p: Dictionary) -> void- Paràmetres
m: WorldMapp: Dictionary
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:838BuildOps.MAX_BRIDGEconstEnllaç a aquesta entradaconst MAX_BRIDGE := 24Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:857BuildOps.MAX_TUNNELconstEnllaç a aquesta entradaconst MAX_TUNNEL := 30Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:858BuildOps.edge_heightsstatic funcCorner heights of the edge of tiletfacing directiond.Enllaç a aquesta entradastatic func edge_heights(m: WorldMap, t: Vector2i, d: int) -> Vector2i- Paràmetres
m: WorldMapt: Vector2id: int
- Retorna
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.Enllaç a aquesta entradastatic func _end_piece(m: WorldMap, p: Dictionary, t: Vector2i, d: int) -> void- Paràmetres
m: WorldMapp: Dictionaryt: Vector2id: int
- Retorna
void
scripts/sim/build_ops.gd:871BuildOps.plan_bridgestatic funcA bridge from ramp tileato ramp tileb(same row or column).Enllaç a aquesta entradastatic 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).
- Paràmetres
m: WorldMapkind: Stringa: Vector2ib: Vector2istyle: String = ""
- Retorna
Dictionary
- Crida
L.t,L.lower,Const.opp,WorldMap.axis_of
scripts/sim/build_ops.gd:890BuildOps.plan_electrifystatic funcOverhead wires over the track alongpts.Enllaç a aquesta entradastatic 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).
- Paràmetres
m: WorldMappts: Array[Vector2i]
- Retorna
Dictionary
- Crida
L.t
scripts/sim/build_ops.gd:966BuildOps.apply_electrifystatic funcEnllaç a aquesta entradastatic func apply_electrify(m: WorldMap, p: Dictionary) -> void- Paràmetres
m: WorldMapp: Dictionary
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:984BuildOps.plan_depotstatic funcA depot on tilet, its door - and its one road or track connection - facingfacing.Enllaç a aquesta entradastatic 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.
- Paràmetres
m: WorldMapkind: Stringt: Vector2ifacing: int
- Retorna
Dictionary
scripts/sim/build_ops.gd:999BuildOps.apply_depotstatic funcEnllaç a aquesta entradastatic func apply_depot(m: WorldMap, p: Dictionary, owner: Company) -> void- Paràmetres
m: WorldMapp: Dictionaryowner: Company
- Retorna
void
- Crida
Const.opp
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradastatic 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).
- Paràmetres
m: WorldMapa: Vector2id: intlevel: int
- Retorna
int
scripts/sim/build_ops.gd:1060BuildOps._edge_cornersstatic funcThe corners of the edge of tiletfacing directiond, in edge_heights' order.Enllaç a aquesta entradastatic func _edge_corners(t: Vector2i, d: int) -> Array[Vector2i]- Paràmetres
t: Vector2id: int
- Retorna
Array[Vector2i]
scripts/sim/build_ops.gd:1072BuildOps.plan_tunnelstatic funcA tunnel starting at hillside tilea(an incline rising straight ahead).Enllaç a aquesta entradastatic 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.- Paràmetres
m: WorldMapkind: Stringa: Vector2ihint: bool = true
- Retorna
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).Enllaç a aquesta entradastatic 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.
- Paràmetres
m: WorldMapp: Dictionarya: Vector2id: intlevel: inthint: bool
- Retorna
void
- Crida
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.Enllaç a aquesta entradastatic 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.- Paràmetres
m: WorldMapp: Dictionaryt: Vector2id: intlevel: intkeep: Array
- Retorna
void
scripts/sim/build_ops.gd:1189BuildOps._set_cornersstatic funcPut corner heights (corner -> height) on the map as they are, without redrawing anything.Enllaç a aquesta entradastatic func _set_corners(m: WorldMap, corners: Dictionary) -> DictionaryReturns the heights they had, to put back the same way.
- Paràmetres
m: WorldMapcorners: Dictionary
- Retorna
Dictionary
scripts/sim/build_ops.gd:1234BuildOps.apply_crossingstatic funcEnllaç a aquesta entradastatic func apply_crossing(m: WorldMap, p: Dictionary) -> Dictionary- Paràmetres
m: WorldMapp: Dictionary
- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:1243BuildOps.signal_problemstatic funcEnllaç a aquesta entradastatic func signal_problem(m: WorldMap, t: Vector2i) -> String- Paràmetres
m: WorldMapt: Vector2i
- Retorna
String
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradastatic func plan_signal(m: WorldMap, t: Vector2i) -> DictionaryExtra keys: tile, state (see WorldMap.signals).
- Paràmetres
m: WorldMapt: Vector2i
- Retorna
Dictionary
scripts/sim/build_ops.gd:1288BuildOps.apply_signalstatic funcEnllaç a aquesta entradastatic func apply_signal(m: WorldMap, p: Dictionary) -> void- Paràmetres
m: WorldMapp: Dictionary
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/build_ops.gd:1307BuildOps._corner_ofstatic func[a, b] ifbitsis a single corner piece, else [].Enllaç a aquesta entradastatic func _corner_of(bits: int) -> Array- Paràmetres
bits: int
- Retorna
Array
scripts/sim/build_ops.gd:1314BuildOps.signal_dirsstatic funcThe two directions trains can pass a signal on tilet(headings on entering the tile).Enllaç a aquesta entradastatic func signal_dirs(m: WorldMap, t: Vector2i) -> Array- Paràmetres
m: WorldMapt: Vector2i
- Retorna
Array
- Crida
Const.opp
scripts/sim/build_ops.gd:1323
Calendar
Calendar.MONTHSconstEnllaç a aquesta entradaconst MONTHS := ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/calendar.gd:4Calendar.MONTH_DAYSconstEnllaç a aquesta entradaconst MONTH_DAYS := [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/calendar.gd:5Calendar.is_leapstatic funcEnllaç a aquesta entradastatic func is_leap(y: int) -> bool- Paràmetres
y: int
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/calendar.gd:8Calendar.year_daysstatic funcEnllaç a aquesta entradastatic func year_days(y: int) -> int- Paràmetres
y: int
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/calendar.gd:12Calendar.from_daystatic funcReturns Vector3i(year, month 0-11, day of month 1-31).Enllaç a aquesta entradastatic func from_day(day: int) -> Vector3i- Paràmetres
day: int
- Retorna
Vector3i
scripts/core/calendar.gd:17Calendar.formatstatic funcEnllaç a aquesta entradastatic func format(day: int) -> String- Paràmetres
day: int
- Retorna
String
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/calendar.gd:33Calendar.is_christmasstatic funcChristmas time in the towns: 1 December to 6 January.Enllaç a aquesta entradastatic func is_christmas(day: int) -> bool- Paràmetres
day: int
- Retorna
bool
scripts/core/calendar.gd:39Calendar.doy_is_christmasstatic funcThe same for a day of the year (0 = 1 January), ignoring leap years.Enllaç a aquesta entradastatic func doy_is_christmas(doy: int) -> bool- Paràmetres
doy: int
- Retorna
bool
scripts/core/calendar.gd:45Calendar.day_of_year_startstatic funcDay number of 1 January ofyear.Enllaç a aquesta entradastatic func day_of_year_start(year: int) -> int- Paràmetres
year: int
- Retorna
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.Enllaç a aquesta entradaconst 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.
Declarat ascripts/sim/connect_planner.gd:24ConnectPlanner.SHORTCUT_SHAREconstEnllaç a aquesta entradaconst SHORTCUT_SHARE := 0.3Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/connect_planner.gd:25ConnectPlanner.SHORTCUT_PRICEconstEnllaç a aquesta entradaconst SHORTCUT_PRICE := 0.25Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/connect_planner.gd:26ConnectPlanner.SHORTCUT_CROSSINGconstEnllaç a aquesta entradaconst SHORTCUT_CROSSING := 2.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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).Enllaç a aquesta entradastatic func path(m: WorldMap, kind: String, a: Vector2i, b: Vector2i, arriving: int = -1, max_expansions: int = 0, pairs_tried: int = PAIRS) -> Array[Vector2i]arriving: the way a line already 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.- Paràmetres
m: WorldMapkind: Stringa: Vector2ib: Vector2iarriving: int = -1max_expansions: int = 0pairs_tried: int = PAIRS
- Retorna
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}.Enllaç a aquesta entradastatic func route(m: WorldMap, kind: String, a: Vector2i, b: Vector2i, year: int, arriving: int = -1, max_expansions: int = 0, pairs_tried: int = PAIRS) -> Dictionaryyear: the bridge styles there are by then (-1: no bridges or tunnels at all).- Paràmetres
m: WorldMapkind: Stringa: Vector2ib: Vector2iyear: intarriving: int = -1max_expansions: int = 0pairs_tried: int = PAIRS
- Retorna
Dictionary
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.Enllaç a aquesta entradastatic func _shortcut(jumps: Dictionary) -> Dictionary- Paràmetres
jumps: Dictionary
- Retorna
Dictionary
scripts/sim/connect_planner.gd:73ConnectPlanner._routestatic funcOne search withjumps, from the best sides of the ends: route's {"tiles", "crossings"}.Enllaç a aquesta entradastatic func _route(m: WorldMap, kind: String, a: Vector2i, b: Vector2i, jumps: Dictionary, arriving: int, max_expansions: int, pairs_tried: int) -> Dictionary- Paràmetres
m: WorldMapkind: Stringa: Vector2ib: Vector2ijumps: Dictionaryarriving: intmax_expansions: intpairs_tried: int
- Retorna
Dictionary
- Crida
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.Enllaç a aquesta entradastatic func ends(m: WorldMap, kind: String, p: Vector2i, toward: Vector2i) -> Array- Paràmetres
m: WorldMapkind: Stringp: Vector2itoward: Vector2i
- Retorna
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.Enllaç a aquesta entradastatic func _takes_a_piece(m: WorldMap, kind: String, t: Vector2i) -> bool- Paràmetres
m: WorldMapkind: Stringt: Vector2i
- Retorna
bool
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).Enllaç a aquesta entradastatic func _open(m: WorldMap, kind: String, t: Vector2i) -> bool- Paràmetres
m: WorldMapkind: Stringt: Vector2i
- Retorna
bool
scripts/sim/connect_planner.gd:163
Const
Const.MAP_SIZEconstEnllaç a aquesta entradaconst MAP_SIZE := 128Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/constants.gd:4Const.CHUNKconstEnllaç a aquesta entradaconst CHUNK := 16Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/constants.gd:5Const.HEIGHT_STEPconstworld units per height levelConst.MAX_HEIGHTconstEnllaç a aquesta entradaconst MAX_HEIGHT := 10Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_YEARconstEnllaç a aquesta entradaconst START_YEAR := 1950Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/constants.gd:14Const.DIRSconstEnllaç a aquesta entradaconst DIRS: Array[Vector2i] = [Vector2i(0, -1), Vector2i(1, 0), Vector2i(0, 1), Vector2i(-1, 0)]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/constants.gd:17Const.BITconstEnllaç a aquesta entradaconst BIT: Array[int] = [1, 2, 4, 8]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/constants.gd:18Const.AXIS_BITSconstEnllaç a aquesta entradaconst AXIS_BITS: Array[int] = [10, 5]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/constants.gd:20Const.oppstatic funcEnllaç a aquesta entradastatic func opp(d: int) -> int- Paràmetres
d: int
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_POPconstEnllaç a aquesta entradaconst PER_POP := {"pax": PAX_PER_POP, "mail": MAIL_PER_POP, "waste": WASTE_PER_POP}Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/economy.gd:12Economy.MAX_WAITINGconstEnllaç a aquesta entradaconst MAX_WAITING := 3000.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradastatic func payment(c: String, amount: float, dist: float, days: float) -> int- Paràmetres
c: Stringamount: floatdist: floatdays: float
- Retorna
int
scripts/sim/economy.gd:22Economy.farestatic funcWhat one unit of cargocpays fordisttiles afterdayson the way.Enllaç a aquesta entradastatic 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).
- Paràmetres
c: Stringdist: floatdays: float
- Retorna
float
- Crida
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).Enllaç a aquesta entradastatic func time_factor(c: String, days: float) -> float- Paràmetres
c: Stringdays: float
- Retorna
float
- Crida
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.Enllaç a aquesta entradastatic func late_loss_per_day(c: String) -> floatIn the steep part of the curve it falls about twice as fast.
- Paràmetres
c: String
- Retorna
float
- Crida
Data.cargo_days
scripts/sim/economy.gd:44Economy.station_distancestatic funcEnllaç a aquesta entradastatic func station_distance(a: Station, b: Station) -> float- Paràmetres
a: Stationb: Station
- Retorna
float
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/economy.gd:48Economy.producestatic funcEnllaç a aquesta entradastatic func produce(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/economy.gd:56Economy._linksstatic funcWhich stations reach which industries, both ways round: {"sts": Industry -> [Station], "inds": Station -> [Industry]}, each list in map order.Enllaç a aquesta entradastatic func _links(m: WorldMap) -> DictionaryKept on the map and rebuilt only when a station's catchment changes or a station or industry comes or goes (never saved).
- Paràmetres
m: WorldMap
- Retorna
Dictionary
scripts/sim/economy.gd:112Economy.industry_stationsstatic funcStations whose catchment touches any tile of the industry.Enllaç a aquesta entradastatic func industry_stations(m: WorldMap, ind: Industry) -> Array- Paràmetres
m: WorldMapind: Industry
- Retorna
Array
scripts/sim/economy.gd:142Economy._distributestatic funcGiveamtof cargo to the (up to two) best-rated stations that serve it.Enllaç a aquesta entradastatic func _distribute(stations: Array, c: String, amt: float) -> floatReturns the amount moved.
- Paràmetres
stations: Arrayc: Stringamt: float
- Retorna
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).Enllaç a aquesta entradastatic func shut_out(st: Station) -> bool- Paràmetres
st: Station
- Retorna
bool
scripts/sim/economy.gd:195Economy._update_ratingsstatic funcRatings drift toward a target set by pickup frequency, vehicle speed and waiting cargo.Enllaç a aquesta entradastatic func _update_ratings(sim: Sim) -> voidThen cargo that has piled up gives up (see give_up).
- Paràmetres
sim: Sim
- Retorna
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%.Enllaç a aquesta entradastatic 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.
- Paràmetres
st: Stationc: String
- Retorna
float
scripts/sim/economy.gd:234Economy._update_inflowstatic funcFold what came tostsince the last production run into its estimate of a month's inflow.Enllaç a aquesta entradastatic func _update_inflow(st: Station) -> void- Paràmetres
st: Station
- Retorna
void
scripts/sim/economy.gd:242Economy.unloadstatic funcUnload what this station accepts; pay the owner.Enllaç a aquesta entradastatic func unload(sim: Sim, v: Vehicle, st: Station) -> intReturns units moved.
- Paràmetres
sim: Simv: Vehiclest: Station
- Retorna
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.Enllaç a aquesta entradaconst 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.
Declarat ascripts/sim/economy.gd:324Economy.deliver_to_industriesstatic funcEnllaç a aquesta entradastatic func deliver_to_industries(sim: Sim, st: Station, c: String, amount: int) -> void- Paràmetres
sim: Simst: Stationc: Stringamount: int
- Retorna
void
- Crida
IndustryLife.build
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradastatic 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.
- Paràmetres
ind: Industryc: Stringamount: float
- Retorna
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.Enllaç a aquesta entradastatic 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).
- Paràmetres
m: WorldMapst: Stationamount: float
- Retorna
float
scripts/sim/economy.gd:384Economy.reachesstatic funcWhetherst's catchment touchesind(from the cached links: nothing is copied).Enllaç a aquesta entradastatic func reaches(m: WorldMap, st: Station, ind: Industry) -> bool- Paràmetres
m: WorldMapst: Stationind: Industry
- Retorna
bool
scripts/sim/economy.gd:394Economy.industry_stations_reversestatic funcEnllaç a aquesta entradastatic func industry_stations_reverse(m: WorldMap, st: Station) -> Array- Paràmetres
m: WorldMapst: Station
- Retorna
Array
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/economy.gd:398Economy.monthlystatic funcEnllaç a aquesta entradastatic func monthly(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/economy.gd:413Economy._charge_infrastructurestatic funcMonthly upkeep of everything companies own besides stations: track, overhead wires, signals, bridges and tunnels, and depots.Enllaç a aquesta entradastatic func _charge_infrastructure(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
scripts/sim/economy.gd:446Economy._councilstatic funcCouncils like companies that serve their town and grow tired of neglected stations.Enllaç a aquesta entradastatic func _council(sim: Sim, t: Town) -> void- Paràmetres
sim: Simt: Town
- Retorna
void
- Crida
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.Enllaç a aquesta entradastatic func staff_lean(m: WorldMap, ind: Industry, index: Industry.StaffingIndex = null) -> float_maybe_change_production weighs it into growing or shrinking; closures (RAIL-23) can too.
- Paràmetres
m: WorldMapind: Industryindex: Industry.StaffingIndex = null
- Retorna
float
scripts/sim/economy.gd:528Economy._maybe_change_productionstatic funcEnllaç a aquesta entradastatic func _maybe_change_production(sim: Sim, ind: Industry, index: Industry.StaffingIndex) -> void- Paràmetres
sim: Simind: Industryindex: Industry.StaffingIndex
- Retorna
void
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradastatic func town_pair(m: WorldMap, around: Vector2) -> Array[Town, Town], or [] on a map with fewer than two towns.
- Paràmetres
m: WorldMaparound: Vector2
- Retorna
Array
scripts/sim/first_steps.gd:15FirstSteps._fromstatic funcEnllaç a aquesta entradastatic func _from(t: Town, p: Vector2) -> float- Paràmetres
t: Townp: Vector2
- Retorna
float
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/first_steps.gd:35FirstSteps.towns_joinedstatic funcWhether a road runs from the middle of townato the middle of townb.Enllaç a aquesta entradastatic func towns_joined(m: WorldMap, a: Town, b: Town) -> bool- Paràmetres
m: WorldMapa: Townb: Town
- Retorna
bool
- Crida
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.Enllaç a aquesta entradastatic func _centre_roads(m: WorldMap, t: Town) -> Dictionary- Paràmetres
m: WorldMapt: Town
- Retorna
Dictionary
scripts/sim/first_steps.gd:49FirstSteps.road_stopsstatic funcwho's road stops (a station with a road stop).Enllaç a aquesta entradastatic func road_stops(m: WorldMap, who: Company) -> Array- Paràmetres
m: WorldMapwho: Company
- Retorna
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 [].Enllaç a aquesta entradastatic func joined_stops(sim: Sim, who: Company) -> ArrayOne search per stop at most, each towards all the stops after it.
- Paràmetres
sim: Simwho: Company
- Retorna
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.Enllaç a aquesta entradastatic func depot_ready(sim: Sim, who: Company, st: Station) -> bool- Paràmetres
sim: Simwho: Companyst: Station
- Retorna
bool
scripts/sim/first_steps.gd:87FirstSteps.route_vehiclestatic funcwho's newest vehicle that has a route (two stops or more), or null.Enllaç a aquesta entradastatic func route_vehicle(sim: Sim, who: Company) -> Vehicle- Paràmetres
sim: Simwho: Company
- Retorna
Vehicle
scripts/sim/first_steps.gd:92FirstSteps.has_stationstatic funcWhetherwhohas a station of any kind.Enllaç a aquesta entradastatic func has_station(m: WorldMap, who: Company) -> bool- Paràmetres
m: WorldMapwho: Company
- Retorna
bool
scripts/sim/first_steps.gd:101FirstSteps.town_linkstatic funcA vehicle ofwho's that carries passengers between stops in two different towns, or null.Enllaç a aquesta entradastatic func town_link(sim: Sim, who: Company) -> Vehicle- Paràmetres
sim: Simwho: Company
- Retorna
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).Enllaç a aquesta entradastatic func industry_takes(c: String) -> bool- Paràmetres
c: String
- Retorna
bool
- Crida
Data.accepts
scripts/sim/first_steps.gd:128
Fmt
Fmt.int_commasstatic funcEnllaç a aquesta entradastatic func int_commas(n: int) -> String- Paràmetres
n: int
- Retorna
String
- Crida
L.thousands
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/fmt.gd:5Fmt.moneystatic funcFormats an integer dollar amount with the active language’s digit grouping and currency placement.Enllaç a aquesta entradastatic func money(n: int) -> StringThe result is a string for display.
- Paràmetres
n: int
- Retorna
String
- Crida
L.t
scripts/core/fmt.gd:15Fmt.cargo_liststatic funcEnllaç a aquesta entradastatic func cargo_list(ids: Array) -> String- Paràmetres
ids: Array
- Retorna
String
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/fmt.gd:19Fmt.short_moneystatic funcCompact money for chart axes and tiles: $950, $12k, $1.4M.Enllaç a aquesta entradastatic func short_money(n: int) -> String- Paràmetres
n: int
- Retorna
String
- Crida
L.t
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.KINDSconstEnllaç a aquesta entradaconst KINDS := ["road", "rail", "water", "air"]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradaconst GOAL_IDS := ["none", "value_1m", "value_10m", "league"]Declarat ascripts/sim/goals.gd:49Goals.GOALSconstEnllaç a aquesta entradaconst GOALSAquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc check_steps(sim: Sim) -> voidCheap: see the top of the file.
- Paràmetres
sim: Sim
- Retorna
void
scripts/sim/goals.gd:72Goals._check_stepsfunccargo: what the company has delivered lately, cargo -> [units, $];rail_paid: a train has earned.Enllaç a aquesta entradafunc _check_steps(sim: Sim, cargo: Dictionary, rail_paid: bool) -> void- Paràmetres
sim: Simcargo: Dictionaryrail_paid: bool
- Retorna
void
- Crida
FirstSteps.has_station,FirstSteps.route_vehicle,FirstSteps.town_link,FirstSteps.industry_takes
scripts/sim/goals.gd:80Goals._tickfuncEnllaç a aquesta entradafunc _tick(sim: Sim, id: String) -> void- Paràmetres
sim: Simid: String
- Retorna
void
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/goals.gd:107Goals.step_titlestatic funcEnllaç a aquesta entradastatic func step_title(id: String) -> String- Paràmetres
id: String
- Retorna
String
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc monthly(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
scripts/sim/goals.gd:127Goals._judgefuncLook at the figures again and unlock what they reach, then decide the goal if it is due.Enllaç a aquesta entradafunc _judge(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
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.Enllaç a aquesta entradastatic func operating_profit(mo: Dictionary) -> int- Paràmetres
mo: Dictionary
- Retorna
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.Enllaç a aquesta entradafunc measure(sim: Sim) -> Dictionarybestis the best rival's value;leads, whether the company is worth more than every rival and old enough to count.- Paràmetres
sim: Sim
- Retorna
Dictionary
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.Enllaç a aquesta entradastatic func cargos_in_game(m: WorldMap) -> ArrayCargos whose industries haven't appeared yet (a later era's) aren't among them until one opens.
- Paràmetres
m: WorldMap
- Retorna
Array
- Crida
Data.town_makes
scripts/sim/goals.gd:190Goals.ids_ofstatic funcThe ids of an achievement's tiers (or its one id).Enllaç a aquesta entradastatic func ids_of(a: Dictionary) -> Array- Paràmetres
a: Dictionary
- Retorna
Array
scripts/sim/goals.gd:201Goals.reachedstatic funcWhether the figuresf(see measure) reach achievementid.Enllaç a aquesta entradastatic func reached(id: String, f: Dictionary) -> bool- Paràmetres
id: Stringf: Dictionary
- Retorna
bool
scripts/sim/goals.gd:208Goals.unlockfuncWin achievementidtoday (if it isn't already), with news.Enllaç a aquesta entradafunc unlock(sim: Sim, id: String) -> void- Paràmetres
sim: Simid: String
- Retorna
void
- Crida
L.t
scripts/sim/goals.gd:219Goals.achievement_namestatic funcWhat an achievement is called: the tier's own name, or the achievement's.Enllaç a aquesta entradastatic func achievement_name(id: String) -> String- Paràmetres
id: String
- Retorna
String
- Crida
L.t,Fmt.money,Fmt.int_commas
scripts/sim/goals.gd:228Goals.title_ofstatic funcAn achievement's heading in the Goals window.Enllaç a aquesta entradastatic func title_of(kind: String) -> String- Paràmetres
kind: String
- Retorna
String
- Crida
L.t
scripts/sim/goals.gd:240Goals.goal_ofstatic funcEnllaç a aquesta entradastatic func goal_of(sim: Sim) -> String- Paràmetres
sim: Sim
- Retorna
String
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/goals.gd:255Goals.goal_namestatic funcWhat a goal asks, in a few words.Enllaç a aquesta entradastatic func goal_name(id: String) -> String- Paràmetres
id: String
- Retorna
String
scripts/sim/goals.gd:260Goals.goal_shortstatic funcThe same, short enough for the new-game screen's list.Enllaç a aquesta entradastatic func goal_short(id: String) -> String- Paràmetres
id: String
- Retorna
String
- Crida
L.t
scripts/sim/goals.gd:270Goals.round_numberstatic funcA round number in few characters: 50, 100k, 10M.Enllaç a aquesta entradastatic func round_number(n: int) -> String- Paràmetres
n: int
- Retorna
String
scripts/sim/goals.gd:280Goals.deadlinestatic funcThe last day to reach the goal: so many years after the company was founded.Enllaç a aquesta entradastatic func deadline(sim: Sim) -> int- Paràmetres
sim: Sim
- Retorna
int
scripts/sim/goals.gd:289Goals.goal_metstatic funcWhether figuresf(see measure) meet the game's goal.Enllaç a aquesta entradastatic func goal_met(sim: Sim, f: Dictionary) -> bool- Paràmetres
sim: Simf: Dictionary
- Retorna
bool
scripts/sim/goals.gd:297Goals._check_goalfuncEnllaç a aquesta entradafunc _check_goal(sim: Sim, f: Dictionary) -> void- Paràmetres
sim: Simf: Dictionary
- Retorna
void
- Crida
L.t
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/goals.gd:306Goals._newsfuncEnllaç a aquesta entradafunc _news(sim: Sim, text: String, kind: String = "good") -> void- Paràmetres
sim: Simtext: Stringkind: String = "good"
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/goals.gd:322Goals.to_dictfuncEnllaç a aquesta entradafunc to_dict() -> Dictionary- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/goals.gd:329Goals.from_dictstatic funcEnllaç a aquesta entradastatic func from_dict(d: Dictionary) -> Goals- Paràmetres
d: Dictionary
- Retorna
Goals
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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).Enllaç a aquesta entradastatic func caught_up(sim: Sim) -> Goals- Paràmetres
sim: Sim
- Retorna
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 funcEnllaç a aquesta entradastatic func monthly(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
- Crida
L.t,Economy.staff_lean
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/industry_life.gd:40IndustryLife.yearlystatic funcOnce a year: retiring mines make a little less.Enllaç a aquesta entradastatic func yearly(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
- Crida
Data.retiring
scripts/sim/industry_life.gd:72IndustryLife._roomstatic funcThe map's room for industries ashore and at sea (see Sim.industry_room).Enllaç a aquesta entradastatic func _room(sim: Sim) -> Vector2i- Paràmetres
sim: Sim
- Retorna
Vector2i
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.Enllaç a aquesta entradastatic func served(sim: Sim, ind: Industry, days: float) -> bool- Paràmetres
sim: Simind: Industrydays: float
- Retorna
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.Enllaç a aquesta entradastatic 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.
- Paràmetres
sim: Simind: Industryindex: Industry.StaffingIndex = null
- Retorna
bool
- Crida
Data.retiring
scripts/sim/industry_life.gd:107IndustryLife.warnstatic funcTell everyoneindcloses in a year unless it is served by then.Enllaç a aquesta entradastatic func warn(sim: Sim, ind: Industry) -> void- Paràmetres
sim: Simind: Industry
- Retorna
void
- Crida
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.Enllaç a aquesta entradastatic func closing_text(ind: Industry) -> String- Paràmetres
ind: Industry
- Retorna
String
- Crida
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.Enllaç a aquesta entradastatic func rescue(ind: Industry) -> String- Paràmetres
ind: Industry
- Retorna
String
- Crida
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).Enllaç a aquesta entradastatic func close(sim: Sim, ind: Industry) -> void- Paràmetres
sim: Simind: Industry
- Retorna
void
- Crida
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.Enllaç a aquesta entradastatic 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.
- Paràmetres
sim: Sim
- Retorna
String
- Crida
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).Enllaç a aquesta entradastatic func _renewable(type: String) -> bool- Paràmetres
type: String
- Retorna
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).Enllaç a aquesta entradastatic 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).
- Paràmetres
sim: Sim
- Retorna
void
scripts/sim/industry_life.gd:205IndustryLife._made_fromstatic funcThe kind an industry oftypewas before it was finished (a wind farm: its site), ortype.Enllaç a aquesta entradastatic func _made_from(type: String) -> String- Paràmetres
type: String
- Retorna
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.Enllaç a aquesta entradastatic func build(sim: Sim, ind: Industry, c: String, amount: float, who: Company) -> void- Paràmetres
sim: Simind: Industryc: Stringamount: floatwho: Company
- Retorna
void
scripts/sim/industry_life.gd:232IndustryLife.finishstatic funcA site has all it needs: it becomes a wind farm.Enllaç a aquesta entradastatic 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.
- Paràmetres
sim: Simind: Industry
- Retorna
void
- Crida
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).Enllaç a aquesta entradastatic func near_wind_farm(m: WorldMap, t: Town) -> bool- Paràmetres
m: WorldMapt: Town
- Retorna
bool
scripts/sim/industry_life.gd:270IndustryLife.openstatic funcOpen an industry oftypewhere WorldGen would put one, on ground where nothing is built.Enllaç a aquesta entradastatic 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).
- Paràmetres
sim: Simtype: String
- Retorna
Industry
- Crida
WorldGen.find_site,WorldGen.spacing,WorldGen.unserved_feeders,WorldGen.put_industry,WorldGen.industry_name,BuildOps.add_rig_dock,WorldGen.level_ground,L.t,L.lower
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).Enllaç a aquesta entradastatic func _ships_through(sim: Sim, r: Rect2i) -> bool- Paràmetres
sim: Simr: Rect2i
- Retorna
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).Enllaç a aquesta entradastatic func _changed(sim: Sim, r: Rect2i) -> void- Paràmetres
sim: Simr: Rect2i
- Retorna
void
scripts/sim/industry_life.gd:323
L
L.DIRSconstEnllaç a aquesta entradaconst DIRS := ["res://lang", "user://lang"]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/l.gd:18L.FALLBACKconstEnllaç a aquesta entradaconst FALLBACK := "en"Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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 varEnllaç a aquesta entradastatic var lang := "en"Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/l.gd:25L._tablesstatic varlanguage code -> {english: translated}L._tablestatic varthe current language's tableL._loadedstatic varEnllaç a aquesta entradastatic var _loaded := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/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 varEnllaç a aquesta entradastatic var _miss_mutex := Mutex.new()Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/l.gd:32L._guardedstatic varEnllaç a aquesta entradastatic var _guarded := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/core/l.gd:33L._elidestatic varEnllaç a aquesta entradastatic var _elide: RegEx = nullAquesta entrada encara no descriu el comportament.
Declarat ascripts/core/l.gd:34L.tstatic funcThe text in the current language.Enllaç a aquesta entradastatic func t(s: String) -> String- Paràmetres
s: String
- Retorna
String
scripts/core/l.gd:58L.tidystatic funcSmooth text assembled from pieces, where a name was dropped into a translated sentence.Enllaç a aquesta entradastatic 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.)
- Paràmetres
s: String
- Retorna
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".Enllaç a aquesta entradastatic func lower(s: String) -> String- Paràmetres
s: String
- Retorna
String
scripts/core/l.gd:86L.nstatic func"1 tile" / "7 tiles":oneis used for exactly one,many(with a %d) otherwise.Enllaç a aquesta entradastatic func n(one: String, many: String, count: int) -> String- Paràmetres
one: Stringmany: Stringcount: int
- Retorna
String
scripts/core/l.gd:91L.eachstatic funcA list of names in the current language, e.g.Enllaç a aquesta entradastatic func each(items: Array) -> PackedStringArraycargo names from the data tables.
- Paràmetres
items: Array
- Retorna
PackedStringArray
scripts/core/l.gd:98L.load_allstatic funcRead every language file.Enllaç a aquesta entradastatic func load_all(extra_dirs: Array = []) -> voidLater directories (the player's own, then mods) override earlier ones.
- Paràmetres
extra_dirs: Array = []
- Retorna
void
scripts/core/l.gd:106L.load_filestatic funcParse one language file into the tables.Enllaç a aquesta entradastatic func load_file(path: String) -> intReturns the number of translations read.
- Paràmetres
path: String
- Retorna
int
scripts/core/l.gd:122L._unquotestatic funcText that starts or ends with a space is written in double quotes: > "Tip: "Enllaç a aquesta entradastatic func _unquote(s: String) -> String- Paràmetres
s: String
- Retorna
String
scripts/core/l.gd:148L.languagesstatic funcLanguages the player can pick: [[code, name in that language]], English first.Enllaç a aquesta entradastatic func languages() -> Array- Retorna
Array
scripts/core/l.gd:155L.system_languagestatic funcThe language to use for a setting of "auto": the system's, if we have it.Enllaç a aquesta entradastatic func system_language() -> String- Retorna
String
scripts/core/l.gd:168L.set_languagestatic funcSwitch language.Enllaç a aquesta entradastatic func set_language(code: String) -> void"auto" follows the system.
- Paràmetres
code: String
- Retorna
void
scripts/core/l.gd:176L.releasestatic funcTake our translations back out of the TranslationServer (see _Guard).L.thousandsstatic funcHow thousands are grouped: 1,234 in English, 1.234 in most others, 1 234 in French.Enllaç a aquesta entradastatic func thousands() -> String- Retorna
String
scripts/core/l.gd:203L._guardstatic funcEnllaç a aquesta entradastatic func _guard() -> void- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/l.gd:207
Line
Line.COLORSconstEnllaç a aquesta entradaconst COLORSAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/line.gd:11Line.idvarEnllaç a aquesta entradavar id := 0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/line.gd:14Line.namevarEnllaç a aquesta entradavar name := ""Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/line.gd:15Line.colorvarEnllaç a aquesta entradavar color := Color.WHITEAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/line.gd:16Line.kindvarEnllaç a aquesta entradavar kind := "road"Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/line.gd:17Line.ownervarEnllaç a aquesta entradavar owner: CompanyAquesta entrada encara no descriu el comportament.
Declarat ascripts/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._initfuncEnllaç a aquesta entradafunc _init(p_id: int = 0, p_name: String = "", p_kind: String = "road", p_owner: Company = null) -> void- Paràmetres
p_id: int = 0p_name: String = ""p_kind: String = "road"p_owner: Company = null
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc vehicles(sim: Sim) -> Array- Paràmetres
sim: Sim
- Retorna
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.Enllaç a aquesta entradafunc gap(n: int) -> float0 when there is nothing to keep apart, or no round trip timed yet.
- Paràmetres
n: int
- Retorna
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).Enllaç a aquesta entradafunc note_departure(day: float, lap: float) -> void- Paràmetres
day: floatlap: float
- Retorna
void
scripts/sim/line.gd:54Line.route_textfuncA route in a few words: "Ashford → Millbury".Line.totalsfuncThe line's numbers, added up over its vehicles: {"count", "profit", "last", "load" (-1 when none known), "running", "old", "stopped"}.Enllaç a aquesta entradafunc totals(sim: Sim) -> Dictionary- Paràmetres
sim: Sim
- Retorna
Dictionary
scripts/sim/line.gd:73
Mods
Mods.DIRSconstEnllaç a aquesta entradaconst DIRS := ["res://mods", "user://mods"]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/mods.gd:14Mods.USER_DIRconstEnllaç a aquesta entradaconst USER_DIR := "user://mods"Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/mods.gd:15Mods.UNPACKEDconstEnllaç a aquesta entradaconst UNPACKED := "user://mods/.unpacked"Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradaconst SAMPLES_ZIP := "res://sample_mods.zip"Declarat ascripts/core/mods.gd:19Mods.SAMPLESconstEnllaç a aquesta entradaconst SAMPLES := "user://mods/.samples"Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/mods.gd:20Mods.KINDSconstEnllaç a aquesta entradaconst KINDS := ["rail", "road", "water", "air"]Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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 varEnllaç a aquesta entradastatic var _applied := falseAquesta entrada encara no descriu el comportament.
Declarat ascripts/core/mods.gd:30Mods.log_linesstatic varwhat went wrong, for the Mods screenMods.scanstatic funcLook through the mod folders.Enllaç a aquesta entradastatic func scan() -> voidZips in the player's folder are unpacked first.
- Retorna
void
scripts/core/mods.gd:37Mods.read_infostatic funcRead a mod folder's mod.json.Enllaç a aquesta entradastatic func read_info(path: String) -> DictionaryReturns {} if it isn't a mod (with a note in the log if it tried to be).
- Paràmetres
path: String
- Retorna
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).Enllaç a aquesta entradastatic func _unpack_zips() -> void- Retorna
void
scripts/core/mods.gd:102Mods._unpack_samplesstatic funcUnpack the samples that ship in an exported game (once per version of them).Enllaç a aquesta entradastatic func _unpack_samples() -> boolFalse if that failed.
- Retorna
bool
scripts/core/mods.gd:143Mods._remove_treestatic funcEnllaç a aquesta entradastatic func _remove_tree(path: String) -> void- Paràmetres
path: String
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/mods.gd:172Mods._notestatic funcEnllaç a aquesta entradastatic func _note(line: String) -> void- Paràmetres
line: String
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/mods.gd:184Mods.enabledstatic funcEnllaç a aquesta entradastatic func enabled() -> Array- Retorna
Array
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/mods.gd:189Mods.by_idstatic funcEnllaç a aquesta entradastatic func by_id(id: String) -> Dictionary- Paràmetres
id: String
- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/mods.gd:193Mods.set_enabledstatic funcSwitch a mod on or off and rebuild what mods add.Enllaç a aquesta entradastatic func set_enabled(id: String, on: bool) -> voidRemembered in the settings.
- Paràmetres
id: Stringon: bool
- Retorna
void
scripts/core/mods.gd:201Mods.applystatic funcRebuild everything the enabled mods add.Enllaç a aquesta entradastatic func apply(rescan: bool = true) -> voidSafe to call again: it starts from the plain game.
- Paràmetres
rescan: bool = true
- Retorna
void
scripts/core/mods.gd:214Mods._apply_onestatic funcEnllaç a aquesta entradastatic func _apply_one(m: Dictionary) -> String- Paràmetres
m: Dictionary
- Retorna
String
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/mods.gd:241Mods._apply_datastatic funcCheck and merge one mod's data.json.Enllaç a aquesta entradastatic func _apply_data(m: Dictionary, d: Dictionary) -> StringReturns "" or what's wrong (nothing is added then).
- Paràmetres
m: Dictionaryd: Dictionary
- Retorna
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, ...).Enllaç a aquesta entradastatic func _collect_maps(m: Dictionary) -> void- Paràmetres
m: Dictionary
- Retorna
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.Enllaç a aquesta entradastatic func vehicle_mesh(model_id: String) -> ArrayMeshThe mesh keeps the materials it was made with.
- Paràmetres
model_id: String
- Retorna
ArrayMesh
- Crida
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).Enllaç a aquesta entradastatic func load_glb(file: String) -> ArrayMeshConvention, as for the game's own models: the vehicle faces -Z, stands on y = 0, centred.
- Paràmetres
file: String
- Retorna
ArrayMesh
scripts/core/mods.gd:379Mods._merge_meshesstatic funcEnllaç a aquesta entradastatic func _merge_meshes(n: Node, xf: Transform3D, out: ArrayMesh) -> void- Paràmetres
n: Nodexf: Transform3Dout: ArrayMesh
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/core/mods.gd:393Mods.hookstatic funcCall a hook on every enabled script mod.Enllaç a aquesta entradastatic func hook(method: String, args: Array = []) -> voidA mod whose hook fails is reported, not fatal.
- Paràmetres
method: Stringargs: Array = []
- Retorna
void
scripts/core/mods.gd:424Mods.allow_newsstatic funcNews goes out unless a mod's _on_news returns false.Enllaç a aquesta entradastatic func allow_news(sim: Sim, item: Dictionary) -> bool- Paràmetres
sim: Simitem: Dictionary
- Retorna
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.Enllaç a aquesta entradastatic func save_state(sim: Sim) -> Dictionary- Paràmetres
sim: Sim
- Retorna
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).Enllaç a aquesta entradastatic func load_state(sim: Sim, state: Dictionary) -> Array- Paràmetres
sim: Simstate: Dictionary
- Retorna
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).Enllaç a aquesta entradaconst MAX_SUBSIDIES := 2subsidies on offer at once (won ones aside)
Declarat ascripts/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.Enllaç a aquesta entradaconst DAY_CHANCE := 1.0 - pow(1.0 - OFFER_CHANCE, 1.0 / 30.0)Declarat ascripts/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_MAXconstEnllaç a aquesta entradaconst SUBSIDY_MAX := 60Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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)Enllaç a aquesta entradaconst TOWN_CARGO := ["goods", "food"]Declarat ascripts/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 giveEnllaç a aquesta entradaconst REQUEST_MONTHS := Vector2i(6, 18)Declarat ascripts/sim/opportunities.gd:66Opportunities.REWARDSconstThe rewards that fit each request; one is chosen when it is made.Enllaç a aquesta entradaconst REWARDSExclusive rights take a new link: good service alone, which rivals' stations give without trying, doesn't shut the others out.
Declarat ascripts/sim/opportunities.gd:69Opportunities.RATING_BOOSTconstEnllaç a aquesta entradaconst RATING_BOOST := 25.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/opportunities.gd:71Opportunities.GRANTconstEnllaç a aquesta entradaconst GRANT := 50000Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.offersvarEnllaç a aquesta entradavar offers: Array = []Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradavar rng := RandomNumberGenerator.new()Declarat ascripts/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.Enllaç a aquesta entradafunc 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).
- Paràmetres
sim: Simv: Vehiclefrom: Stationst: Stationc: Stringamt: int
- Retorna
float
scripts/sim/opportunities.gd:88Opportunities._reachesstatic funcWhether stationstreachesplace: an industry in its catchment, or a town it belongs to.Enllaç a aquesta entradastatic func _reaches(m: WorldMap, st: Station, place: Object) -> bool- Paràmetres
m: WorldMapst: Stationplace: Object
- Retorna
bool
- Crida
Economy.reaches
scripts/sim/opportunities.gd:117Opportunities._joinsstatic funcEnllaç a aquesta entradastatic func _joins(o: Dictionary, a: Town, b: Town) -> bool- Paràmetres
o: Dictionarya: Townb: Town
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/opportunities.gd:123Opportunities._win_subsidyfuncEnllaç a aquesta entradafunc _win_subsidy(sim: Sim, o: Dictionary, who: Company) -> void- Paràmetres
sim: Simo: Dictionarywho: Company
- Retorna
void
- Crida
L.t,Calendar.format
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/opportunities.gd:127Opportunities._metfuncRequestkis met bywho: its reward, news, and it leaves the list.Enllaç a aquesta entradafunc _met(sim: Sim, k: int, who: Company) -> void- Paràmetres
sim: Simk: intwho: Company
- Retorna
void
- Crida
L.t
scripts/sim/opportunities.gd:139Opportunities.monthlyfuncMonth end (Sim._on_day, after the industries' month): service months and rights that end.Enllaç a aquesta entradafunc monthly(sim: Sim) -> voidThen what lapses, as every day.
- Paràmetres
sim: Sim
- Retorna
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.Enllaç a aquesta entradafunc daily(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
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.Enllaç a aquesta entradafunc _lapse(sim: Sim, month_end: bool) -> Vector2iReturns how many subsidies (x) and requests (y) are still open.
- Paràmetres
sim: Simmonth_end: bool
- Retorna
Vector2i
- Crida
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.Enllaç a aquesta entradafunc _count_service(sim: Sim, o: Dictionary) -> void- Paràmetres
sim: Simo: Dictionary
- Retorna
void
scripts/sim/opportunities.gd:231Opportunities._leaderstatic funcThe company furthest on with a request (-1: nobody has started).Enllaç a aquesta entradastatic func _leader(o: Dictionary) -> int- Paràmetres
o: Dictionary
- Retorna
int
scripts/sim/opportunities.gd:251Opportunities.industry_closedfuncAn industry closes (IndustryLife.close): offers about it are withdrawn, and a won subsidy ends.Enllaç a aquesta entradafunc industry_closed(sim: Sim, ind: Industry) -> void- Paràmetres
sim: Simind: Industry
- Retorna
void
- Crida
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.Enllaç a aquesta entradafunc offer_subsidy(sim: Sim) -> DictionaryReturns it, or {}.
- Paràmetres
sim: Sim
- Retorna
Dictionary
scripts/sim/opportunities.gd:276Opportunities.pos_ofstatic funcWhere an industry or a town is: its middle.Enllaç a aquesta entradastatic func pos_of(place: Object) -> Vector2- Paràmetres
place: Object
- Retorna
Vector2
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.Enllaç a aquesta entradafunc offer_request(sim: Sim) -> DictionaryReturns the request, or {}.
- Paràmetres
sim: Sim
- Retorna
Dictionary
- Crida
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.Enllaç a aquesta entradafunc request_kinds(sim: Sim, t: Town, have: Array) -> Array- Paràmetres
sim: Simt: Townhave: Array
- Retorna
Array
scripts/sim/opportunities.gd:359Opportunities.make_requestfuncMake a request oftypefrom townt(see request_kinds), with news.Enllaç a aquesta entradafunc make_request(sim: Sim, t: Town, type: String, have: Array) -> Dictionary{} when there is nothing to ask for after all (a link with no town in reach that isn't linked already).
- Paràmetres
sim: Simt: Towntype: Stringhave: Array
- Retorna
Dictionary
- Crida
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.Enllaç a aquesta entradafunc _link_partner(sim: Sim, t: Town) -> TownNull when there is none.
- Paràmetres
sim: Simt: Town
- Retorna
Town
scripts/sim/opportunities.gd:412Opportunities._offerfuncEnllaç a aquesta entradafunc _offer(sim: Sim, type: String, cargo: String, expires: int) -> Dictionary- Paràmetres
sim: Simtype: Stringcargo: Stringexpires: int
- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/opportunities.gd:434Opportunities._offeredfuncWhether an industry or a town is the source of a subsidy already.Enllaç a aquesta entradafunc _offered(place: Object) -> bool- Paràmetres
place: Object
- Retorna
bool
scripts/sim/opportunities.gd:443Opportunities._in_rangestatic funcEnllaç a aquesta entradastatic func _in_range(a: Vector2, b: Vector2) -> bool- Paràmetres
a: Vector2b: Vector2
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/opportunities.gd:447Opportunities._roundstatic funcA target in round numbers: to the nearest 50, at least 100.Enllaç a aquesta entradastatic func _round(n: float) -> int- Paràmetres
n: float
- Retorna
int
scripts/sim/opportunities.gd:453Opportunities.attractions_ofstatic funcThe attractions townthas, as Data.HOUSES types.Enllaç a aquesta entradastatic func attractions_of(t: Town) -> Array- Paràmetres
t: Town
- Retorna
Array
scripts/sim/opportunities.gd:458Opportunities.request_offuncThe request townthas open, or {}.Enllaç a aquesta entradafunc request_of(t: Town) -> Dictionary- Paràmetres
t: Town
- Retorna
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).Enllaç a aquesta entradastatic func what(o: Dictionary) -> String- Paràmetres
o: Dictionary
- Retorna
String
- Crida
L.t,L.lower,Fmt.int_commas
scripts/sim/opportunities.gd:474Opportunities.titlestatic funcwhat, starting with a capital: a heading.Enllaç a aquesta entradastatic func title(o: Dictionary) -> String- Paràmetres
o: Dictionary
- Retorna
String
scripts/sim/opportunities.gd:488Opportunities.reward_namestatic funcWhat meeting a request brings, in a few words ("a grant of $50,000").Enllaç a aquesta entradastatic func reward_name(reward: String) -> String- Paràmetres
reward: String
- Retorna
String
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.Enllaç a aquesta entradastatic func place(o: Dictionary) -> Array- Paràmetres
o: Dictionary
- Retorna
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.Enllaç a aquesta entradafunc _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.
- Paràmetres
sim: Simtext: Stringkind: Stringo: Dictionaryworld: bool = false
- Retorna
void
scripts/sim/opportunities.gd:513Opportunities.to_dictfuncEnllaç a aquesta entradafunc to_dict() -> Dictionary- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/opportunities.gd:519Opportunities._refstatic funcAn industry or a town as a save keeps it: ["i" or "t", its id] ([] for none).Enllaç a aquesta entradastatic func _ref(place: Object) -> Array- Paràmetres
place: Object
- Retorna
Array
scripts/sim/opportunities.gd:531Opportunities.restorefuncTake back the offers of a save (d: to_dict's) on mapm.Enllaç a aquesta entradafunc 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.
- Paràmetres
d: Dictionarym: WorldMap
- Retorna
void
scripts/sim/opportunities.gd:537
Pathfinder
Pathfinder.MAX_EXPANSIONSconstEnllaç a aquesta entradaconst MAX_EXPANSIONS := 400000Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/pathfinder.gd:8Pathfinder.findstatic funcReturns {"tiles": Array[Vector2i], "end_heading": int} or {} when there is no route.Enllaç a aquesta entradastatic func find(m: WorldMap, kind: String, start: Vector2i, heading: int, goals: Dictionary, allow_reverse_start: bool, allow_dead_end_uturn: bool, wired: bool = false, obey_signals: bool = true, avoid: Dictionary = {}) -> 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).- Paràmetres
m: WorldMapkind: Stringstart: Vector2iheading: intgoals: Dictionaryallow_reverse_start: boolallow_dead_end_uturn: boolwired: bool = falseobey_signals: bool = trueavoid: Dictionary = {}
- Retorna
Dictionary
- Crida
Const.opp
scripts/sim/pathfinder.gd:19Pathfinder._find_waterstatic funcThe way over water fromstartto the nearest ofgoals.Enllaç a aquesta entradastatic 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).- Paràmetres
m: WorldMapstart: Vector2igoals: Dictionary
- Retorna
Dictionary
- Crida
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.Enllaç a aquesta entradastatic func find_sea(m: WorldMap, start: Vector2i, goal: Vector2i, max_len: float = INF) -> Array[Vector2i]Ships pull it straight afterwards (Vehicle.water_course): unlike the four-way route, it already runs close to the direct line, so the pulled course doesn't keep the corners of an L.
max_len: ways longer than this don't count, which keeps the search to the water near the straight line (an answer of "none" then comes quickly even on a big sea).- Paràmetres
m: WorldMapstart: Vector2igoal: Vector2imax_len: float = INF
- Retorna
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).Enllaç a aquesta entradastatic func _sea_memo(m: WorldMap, key: int, start: Vector2i, ends: Dictionary) -> Array[Vector2i]Ships ask the same questions at every departure, and open water only changes with the ground (WorldMap.notify empties
sea_memothen).- Paràmetres
m: WorldMapkey: intstart: Vector2iends: Dictionary
- Retorna
Array[Vector2i]
scripts/sim/pathfinder.gd:142Pathfinder._sea_rememberstatic funcEnllaç a aquesta entradastatic func _sea_remember(m: WorldMap, key: int, tiles: Array[Vector2i]) -> void- Paràmetres
m: WorldMapkey: inttiles: Array[Vector2i]
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/pathfinder.gd:155Pathfinder._find_seastatic funcfind_sea's search, to the nearest ofgoals.Enllaç a aquesta entradastatic func _find_sea(m: WorldMap, start: Vector2i, goals: Array, max_len: float) -> Array[Vector2i]- Paràmetres
m: WorldMapstart: Vector2igoals: Arraymax_len: float
- Retorna
Array[Vector2i]
scripts/sim/pathfinder.gd:162Pathfinder._octilestatic funcThe eight-way distance over open water from (x, y) to the nearest ofgoals.Enllaç a aquesta entradastatic func _octile(x: int, y: int, goals: Array) -> float- Paràmetres
x: inty: intgoals: Array
- Retorna
float
scripts/sim/pathfinder.gd:223Pathfinder._heuristicstatic funcEnllaç a aquesta entradastatic func _heuristic(t: Vector2i, goals: Array) -> float- Paràmetres
t: Vector2igoals: Array
- Retorna
float
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/pathfinder.gd:232Pathfinder._buildstatic funcEnllaç a aquesta entradastatic func _build(m: WorldMap, came: Dictionary, s: int, end_heading: int) -> Dictionary- Paràmetres
m: WorldMapcame: Dictionarys: intend_heading: int
- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/pathfinder.gd:239Pathfinder._pushstatic funcEnllaç a aquesta entradastatic func _push(f: PackedFloat32Array, s: PackedInt32Array, pri: float, state: int) -> void- Paràmetres
f: PackedFloat32Arrays: PackedInt32Arraypri: floatstate: int
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/pathfinder.gd:250Pathfinder._popstatic funcEnllaç a aquesta entradastatic func _pop(f: PackedFloat32Array, s: PackedInt32Array) -> void- Paràmetres
f: PackedFloat32Arrays: PackedInt32Array
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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._sigvarEnllaç a aquesta entradavar _sig: Array = []Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/problems.gd:37Problems._waitvarEnllaç a aquesta entradavar _wait := 0.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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._alertsvarEnllaç a aquesta entradavar _alerts: Array = []Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/problems.gd:42Problems.tickfuncLook again if REFRESH seconds have passed since the last look.Enllaç a aquesta entradafunc tick(sim: Sim, delta: float) -> boolTrue when it did.
- Paràmetres
sim: Simdelta: float
- Retorna
bool
scripts/sim/problems.gd:46Problems.refreshfuncLook again now.Enllaç a aquesta entradafunc refresh(sim: Sim) -> void- Paràmetres
sim: Sim
- Retorna
void
scripts/sim/problems.gd:55Problems.hasfuncEnllaç a aquesta entradafunc has(thing: Object) -> bool- Paràmetres
thing: Object
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/problems.gd:83Problems.offuncThe most serious row aboutthing, or {}.Enllaç a aquesta entradafunc of(thing: Object) -> Dictionary- Paràmetres
thing: Object
- Retorna
Dictionary
scripts/sim/problems.gd:88Problems.take_alertsfuncVehicles that got lost since the last call (at most once a month each): for a toast.Enllaç a aquesta entradafunc take_alerts() -> Array- Retorna
Array
scripts/sim/problems.gd:93Problems.liststatic funcEvery problem of the player's company, most serious first.Enllaç a aquesta entradastatic 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.
- Paràmetres
sim: Sim
- Retorna
Array
scripts/sim/problems.gd:104Problems.vehicle_rowstatic funcThe worst problem of one vehicle, or {}.Enllaç a aquesta entradastatic func vehicle_row(sim: Sim, v: Vehicle) -> Dictionary- Paràmetres
sim: Simv: Vehicle
- Retorna
Dictionary
scripts/sim/problems.gd:146Problems._station_rowsstatic funccallsis cargo -> the player's vehicles that take it on atst(see _note_calls).Enllaç a aquesta entradastatic func _station_rows(sim: Sim, st: Station, out: Array, calls: Dictionary) -> void- Paràmetres
sim: Simst: Stationout: Arraycalls: Dictionary
- Retorna
void
- Crida
L.t
scripts/sim/problems.gd:173Problems._piling_rowstatic funcCargocpiling up atst, and what holds it back.Enllaç a aquesta entradastatic 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.
- Paràmetres
st: Stationc: Stringw: floatr: floatvs: Array
- Retorna
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].Enllaç a aquesta entradastatic func _note_calls(v: Vehicle, calls: Dictionary) -> void- Paràmetres
v: Vehiclecalls: Dictionary
- Retorna
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.Enllaç a aquesta entradastatic func _short_platforms(m: WorldMap, v: Vehicle, platforms: Dictionary, short: Dictionary) -> void- Paràmetres
m: WorldMapv: Vehicleplatforms: Dictionaryshort: Dictionary
- Retorna
void
- Crida
Vehicle.tiles_long
scripts/sim/problems.gd:232Problems._tradesstatic funcWhetherstcarries a cargoindmakes or takes.Enllaç a aquesta entradastatic func _trades(ind: Industry, st: Station) -> bool- Paràmetres
ind: Industryst: Station
- Retorna
bool
scripts/sim/problems.gd:246Problems._industry_rowsstatic funcEnllaç a aquesta entradastatic func _industry_rows(sim: Sim, ind: Industry, out: Array) -> void- Paràmetres
sim: Simind: Industryout: Array
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/problems.gd:253Problems._wherestatic funcWhere a vehicle is: the tile its front is on (or, before it has set off, its next stop).Enllaç a aquesta entradastatic func _where(v: Vehicle) -> Vector2- Paràmetres
v: Vehicle
- Retorna
Vector2
scripts/sim/problems.gd:291Problems._rowstatic funcEnllaç a aquesta entradastatic func _row(kind: String, level: int, obj: Object, pos: Vector2, text: String, fix: String) -> Dictionary- Paràmetres
kind: Stringlevel: intobj: Objectpos: Vector2text: Stringfix: String
- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/problems.gd:298Problems._beforestatic funcMost serious first, then by name.Enllaç a aquesta entradastatic func _before(a: Dictionary, b: Dictionary) -> bool- Paràmetres
a: Dictionaryb: Dictionary
- Retorna
bool
scripts/sim/problems.gd:303
RouteBuilder
RouteBuilder.MAX_EXPANSIONSconstEnllaç a aquesta entradaconst MAX_EXPANSIONS := 8000Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.HASTYconstEnllaç a aquesta entradaconst HASTY := 2.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/route_builder.gd:37RouteBuilder.TURN_INDEXconst(way out - way in) & 3 -> straight on, right, leftEnllaç a aquesta entradaconst TURN_INDEX: Array[int] = [0, 1, 0, 2]Declarat ascripts/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}].Enllaç a aquesta entradastatic var last_crossings: Array = []Empty when
Declarat ajumpswas.scripts/sim/route_builder.gd:46RouteBuilder.CROSSINGconstWhat a crossing costs on top of its tiles, in tiles of track: short detours still win.Enllaç a aquesta entradaconst CROSSING := 8.0(The first pass leans towards the goal, so a tile sideways looks dearer to it than it is: this has to cover that too.)
Declarat ascripts/sim/route_builder.gd:50RouteBuilder.findstatic funcPath of tiles fromstarttogoal(both included).Enllaç a aquesta entradastatic func find(m: WorldMap, kind: String, start: Vector2i, start_dir: int, goal: Vector2i, goal_dir: int, reserved: Dictionary = {}, max_expansions: int = 0, jumps: Dictionary = {}) -> Array[Vector2i]start_dir: direction of travel when 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.- Paràmetres
m: WorldMapkind: Stringstart: Vector2istart_dir: intgoal: Vector2igoal_dir: intreserved: Dictionary = {}max_expansions: int = 0jumps: Dictionary = {}
- Retorna
Array[Vector2i]
scripts/sim/route_builder.gd:58RouteBuilder.describestatic funcThe shape of a path: how many tiles turn, and how those turns group.Enllaç a aquesta entradastatic func describe(path: Array[Vector2i], start_dir: int = -1, goal_dir: int = -1) -> 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.- Paràmetres
path: Array[Vector2i]start_dir: int = -1goal_dir: int = -1
- Retorna
Dictionary
- Crida
BuildOps.dir_between
scripts/sim/route_builder.gd:104RouteBuilder._roughstatic funcThe first pass.Enllaç a aquesta entradastatic func _rough(m: WorldMap, kind: String, start: Vector2i, start_dir: int, goal: Vector2i, goal_dir: int, reserved: Dictionary, budget: int, jumps: Dictionary = {}, out_crossings: Array = []) -> Array[Vector2i]With
jumps, the bridges and tunnels on the path found go intoout_crossings.- Paràmetres
m: WorldMapkind: Stringstart: Vector2istart_dir: intgoal: Vector2igoal_dir: intreserved: Dictionarybudget: intjumps: Dictionary = {}out_crossings: Array = []
- Retorna
Array[Vector2i]
scripts/sim/route_builder.gd:140RouteBuilder._refinestatic funcThe second pass: the best-shaped path throughcorridor(see _corridor).Enllaç a aquesta entradastatic func _refine(m: WorldMap, kind: String, rough: Array[Vector2i], corridor: Dictionary, start_dir: int, goal_dir: int, reserved: Dictionary, budget: int, weight: float) -> Array[Vector2i]A* over (tile, entry direction, shape), where
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.- Paràmetres
m: WorldMapkind: Stringrough: Array[Vector2i]corridor: Dictionarystart_dir: intgoal_dir: intreserved: Dictionarybudget: intweight: float
- Retorna
Array[Vector2i]
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.Enllaç a aquesta entradastatic func _corridor(m: WorldMap, rough: Array[Vector2i]) -> Dictionary- Paràmetres
m: WorldMaprough: Array[Vector2i]
- Retorna
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).Enllaç a aquesta entradastatic func jumps_for(kind: String, year: int) -> DictionaryA caller may add "crossing": what each crossing costs on top of its tiles (CROSSING if not).
- Paràmetres
kind: Stringyear: int
- Retorna
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.Enllaç a aquesta entradastatic 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.
- Paràmetres
m: WorldMapkind: Stringt: Vector2id: intjumps: Dictionaryreserved: Dictionarycache: Dictionary
- Retorna
Dictionary
- Crida
WorldMap.axis_of
scripts/sim/route_builder.gd:413RouteBuilder._risesstatic funcWhether the ground on tilenclimbs on its way across it headingd.Enllaç a aquesta entradastatic func _rises(m: WorldMap, n: Vector2i, d: int) -> bool- Paràmetres
m: WorldMapn: Vector2id: int
- Retorna
bool
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.Enllaç a aquesta entradastatic func _bridge(m: WorldMap, kind: String, t: Vector2i, d: int, jumps: Dictionary, reserved: Dictionary) -> Dictionary- Paràmetres
m: WorldMapkind: Stringt: Vector2id: intjumps: Dictionaryreserved: Dictionary
- Retorna
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.Enllaç a aquesta entradastatic func _tunnel(m: WorldMap, kind: String, t: Vector2i, d: int, jumps: Dictionary, reserved: Dictionary) -> Dictionary- Paràmetres
m: WorldMapkind: Stringt: Vector2id: intjumps: Dictionaryreserved: Dictionary
- Retorna
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.Enllaç a aquesta entradastatic func _build_jumped(m: WorldMap, came: Dictionary, s: int, jumped: Dictionary, out_crossings: Array) -> Array[Vector2i]- Paràmetres
m: WorldMapcame: Dictionarys: intjumped: Dictionaryout_crossings: Array
- Retorna
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.Enllaç a aquesta entradastatic func _refine_between(m: WorldMap, kind: String, path: Array[Vector2i], crossings: Array, start_dir: int, goal_dir: int, reserved: Dictionary, budget: int) -> Array[Vector2i]- Paràmetres
m: WorldMapkind: Stringpath: Array[Vector2i]crossings: Arraystart_dir: intgoal_dir: intreserved: Dictionarybudget: int
- Retorna
Array[Vector2i]
scripts/sim/route_builder.gd:562RouteBuilder._manhattanstatic funcEnllaç a aquesta entradastatic func _manhattan(a: Vector2i, b: Vector2i) -> float- Paràmetres
a: Vector2ib: Vector2i
- Retorna
float
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/route_builder.gd:599RouteBuilder._tile_coststatic funcCost of putting a piece withbitson tilet, or -1 when it can't be built.Enllaç a aquesta entradastatic func _tile_cost(m: WorldMap, kind: String, t: Vector2i, bits: int, fine: bool = false) -> floatfine: for the second pass, which doesn't tell trees and slopes from open ground.- Paràmetres
m: WorldMapkind: Stringt: Vector2ibits: intfine: bool = false
- Retorna
float
scripts/sim/route_builder.gd:605RouteBuilder._buildstatic funcEnllaç a aquesta entradastatic func _build(m: WorldMap, came: Dictionary, s: int, per_tile: int) -> Array[Vector2i]- Paràmetres
m: WorldMapcame: Dictionarys: intper_tile: int
- Retorna
Array[Vector2i]
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/route_builder.gd:645
SaveGame
SaveGame.VERSIONconstEnllaç a aquesta entradaconst VERSION := 1Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/save_game.gd:6SaveGame.DIRconstEnllaç a aquesta entradaconst DIR := "user://saves"Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/save_game.gd:7SaveGame.list_savesstatic funcEnllaç a aquesta entradastatic func list_saves() -> Array- Retorna
Array
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/save_game.gd:10SaveGame.delete_savestatic funcEnllaç a aquesta entradastatic func delete_save(path: String) -> void- Paràmetres
path: String
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/save_game.gd:29SaveGame._vstatic funcEnllaç a aquesta entradastatic func _v(v: Vector2i) -> Array- Paràmetres
v: Vector2i
- Retorna
Array
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/save_game.gd:36SaveGame._vistatic funcEnllaç a aquesta entradastatic func _vi(a: Array) -> Vector2i- Paràmetres
a: Array
- Retorna
Vector2i
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/save_game.gd:40SaveGame._b64static funcEnllaç a aquesta entradastatic func _b64(p: PackedByteArray) -> String- Paràmetres
p: PackedByteArray
- Retorna
String
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/save_game.gd:44SaveGame._unb64static funcEnllaç a aquesta entradastatic func _unb64(s: String) -> PackedByteArray- Paràmetres
s: String
- Retorna
PackedByteArray
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/save_game.gd:48SaveGame.savestatic funcEnllaç a aquesta entradastatic func save(sim: Sim, path: String) -> Error- Paràmetres
sim: Simpath: String
- Retorna
Error
- Crida
Mods.save_state,Town.size_of
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/save_game.gd:54SaveGame.load_simstatic funcEnllaç a aquesta entradastatic func load_sim(path: String) -> Sim- Paràmetres
path: String
- Retorna
Sim
- Crida
Data.era_index,Town.restore_annexes,Town.enlarge_old_buildings,Town.recount_all,WorldGen.add_rig_docks,Data.has_model,Data.reliability,Vehicle.make_seg,Vehicle.free_seg,AiPlayer.from_dict,Goals.from_dict,Goals.caught_up,Mods.load_state,Mods.hook
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/save_game.gd:177SaveGame._order_outstatic funcAn order as saved: [station id, full, then each of Vehicle.ORDER_FLAGS].Enllaç a aquesta entradastatic func _order_out(o: Dictionary) -> Array- Paràmetres
o: Dictionary
- Retorna
Array
scripts/sim/save_game.gd:532SaveGame._order_instatic funcAn order back fromrow(see _order_out), at stationst.Enllaç a aquesta entradastatic func _order_in(row: Array, st: Station) -> DictionaryFlags an older save didn't have are off.
- Paràmetres
row: Arrayst: Station
- Retorna
Dictionary
scripts/sim/save_game.gd:540SaveGame._floatsstatic funcEnllaç a aquesta entradastatic func _floats(src: Dictionary) -> Dictionary- Paràmetres
src: Dictionary
- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/save_game.gd:547SaveGame._intsstatic funcEnllaç a aquesta entradastatic func _ints(d: Dictionary) -> Dictionary- Paràmetres
d: Dictionary
- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/save_game.gd:554SaveGame._pairsstatic funccargo -> [units, $]Enllaç a aquesta entradastatic func _pairs(d: Dictionary) -> Dictionary- Paràmetres
d: Dictionary
- Retorna
Dictionary
scripts/sim/save_game.gd:562SaveGame._stat_monthstatic funcEnllaç a aquesta entradastatic func _stat_month(mo: Dictionary) -> Dictionary- Paràmetres
mo: Dictionary
- Retorna
Dictionary
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradastatic func _course_out(v: Vehicle) -> Array- Paràmetres
v: Vehicle
- Retorna
Array
scripts/sim/save_game.gd:585SaveGame._course_instatic funcEnllaç a aquesta entradastatic func _course_in(v: Vehicle, a: Array) -> void- Paràmetres
v: Vehiclea: Array
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/save_game.gd:596
SignalTraps
SignalTraps._memo_keystatic varEnllaç a aquesta entradastatic var _memo_key := []Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/signal_traps.gd:17SignalTraps._memostatic varEnllaç a aquesta entradastatic var _memo: Array = []Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradastatic 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.- Paràmetres
sim: Simwho: Companyover: Dictionary = {}
- Retorna
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.Enllaç a aquesta entradastatic 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.
- Paràmetres
sim: Simwho: Companyt: Vector2istate: int
- Retorna
Dictionary
scripts/sim/signal_traps.gd:64SignalTraps.textstatic funcOne of find's rows in words.Enllaç a aquesta entradastatic 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).- Paràmetres
r: Dictionarywhen: String
- Retorna
String
- Crida
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.Enllaç a aquesta entradastatic func blocker(m: WorldMap, tiles: Dictionary, goals: Dictionary, inward: bool, over: Dictionary = {}) -> Vector2i- Paràmetres
m: WorldMaptiles: Dictionarygoals: Dictionaryinward: boolover: Dictionary = {}
- Retorna
Vector2i
scripts/sim/signal_traps.gd:92SignalTraps._passesstatic funcWhether a train headingh(or,inward, heading the other way) may pass tilen's signal.Enllaç a aquesta entradastatic func _passes(m: WorldMap, n: Vector2i, h: int, inward: bool, over: Dictionary) -> bool- Paràmetres
m: WorldMapn: Vector2ih: intinward: boolover: Dictionary
- Retorna
bool
- Crida
Const.opp
scripts/sim/signal_traps.gd:104SignalTraps._floodstatic funcFlood the rail network outward fromtilesuntil one ofgoalsis reached.Enllaç a aquesta entradastatic 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.- Paràmetres
m: WorldMaptiles: Dictionarygoals: Dictionaryobey: boolinward: boolover: Dictionary
- Retorna
Array
- Crida
Const.opp
scripts/sim/signal_traps.gd:112SignalTraps._stepstatic funcEnllaç a aquesta entradastatic func _step(m: WorldMap, tile: Vector2i, d: int, bits: int, from: int, obey: bool, inward: bool, over: Dictionary, came: Dictionary, queue: PackedInt32Array) -> void- Paràmetres
m: WorldMaptile: Vector2id: intbits: intfrom: intobey: boolinward: boolover: Dictionarycame: Dictionaryqueue: PackedInt32Array
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/signal_traps.gd:142SignalTraps._minusstatic funcEnllaç a aquesta entradastatic func _minus(a: Array, b: Array) -> Array- Paràmetres
a: Arrayb: Array
- Retorna
Array
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/signal_traps.gd:156
TerrainGen
TerrainGen.generatestatic funcTerrain only (no towns or industries).Enllaç a aquesta entradastatic func generate(m: WorldMap, seed_value: int) -> voidWorldGen.generate builds a full world.
- Paràmetres
m: WorldMapseed_value: int
- Retorna
void
scripts/sim/terrain_gen.gd:7TerrainGen.heights_from_imagestatic funcHeights from a greyscale image (white = high, black = sea), like OpenTTD heightmaps.Enllaç a aquesta entradastatic func heights_from_image(m: WorldMap, path: String) -> bool- Paràmetres
m: WorldMappath: String
- Retorna
bool
scripts/sim/terrain_gen.gd:14TerrainGen.generate_heightsstatic funcwater: sea level 0 (low) ..Enllaç a aquesta entradastatic func generate_heights(m: WorldMap, seed_value: int, water: int = 1, rough: int = 2, sample_scale: float = 1.0) -> 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.
- Paràmetres
m: WorldMapseed_value: intwater: int = 1rough: int = 2sample_scale: float = 1.0
- Retorna
void
scripts/sim/terrain_gen.gd:30TerrainGen.enforce_slopesstatic funcLower corners until every pair of edge-adjacent corners differs by at most one level.Enllaç a aquesta entradastatic func enforce_slopes(m: WorldMap) -> void- Paràmetres
m: WorldMap
- Retorna
void
scripts/sim/terrain_gen.gd:73TerrainGen.classifystatic funcTerrain types (from heights) and tree cover.Enllaç a aquesta entradastatic func classify(m: WorldMap, seed_value: int) -> void- Paràmetres
m: WorldMapseed_value: int
- Retorna
void
scripts/sim/terrain_gen.gd:100TerrainGen.terrain_typestatic funcEnllaç a aquesta entradastatic func terrain_type(m: WorldMap, x: int, y: int) -> int- Paràmetres
m: WorldMapx: inty: int
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/terrain_gen.gd:123TerrainGen.classify_tilestatic funcRe-derive one tile's terrain after its corners changed; trees only survive on grass.Enllaç a aquesta entradastatic func classify_tile(m: WorldMap, x: int, y: int) -> void- Paràmetres
m: WorldMapx: inty: int
- Retorna
void
scripts/sim/terrain_gen.gd:138TerrainGen._near_waterstatic funcEnllaç a aquesta entradastatic func _near_water(m: WorldMap, x: int, y: int) -> bool- Paràmetres
m: WorldMapx: inty: int
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/terrain_gen.gd:145
UndoStack
UndoStack.MAX_STEPSconstEnllaç a aquesta entradaconst MAX_STEPS := 20Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/undo.gd:23UndoStack.MAX_AGE_DAYSconstEnllaç a aquesta entradaconst MAX_AGE_DAYS := 60.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/undo.gd:24UndoStack.stepsvaroldest firstUndoStack.enabledvarEnllaç a aquesta entradavar enabled := trueAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/undo.gd:30UndoStack.lostvarThe step that was given up last, for the button's tooltip: {"what", "why"}.UndoStack.clearfuncEnllaç a aquesta entradafunc clear() -> void- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/undo.gd:35UndoStack.sizefuncEnllaç a aquesta entradafunc size() -> int- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/undo.gd:40UndoStack._tilestatic funcEnllaç a aquesta entradastatic func _tile(m: WorldMap, t: Vector2i) -> Array- Paràmetres
m: WorldMapt: Vector2i
- Retorna
Array
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/undo.gd:46UndoStack._putstatic funcEnllaç a aquesta entradastatic func _put(m: WorldMap, t: Vector2i, s: Array) -> void- Paràmetres
m: WorldMapt: Vector2is: Array
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/undo.gd:52UndoStack._stationstatic funcEnllaç a aquesta entradastatic func _station(m: WorldMap, st: Station) -> Array- Paràmetres
m: WorldMapst: Station
- Retorna
Array
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/undo.gd:83UndoStack._orders_tostatic funcEnllaç a aquesta entradastatic func _orders_to(sim: Sim, st: Station) -> int- Paràmetres
sim: Simst: Station
- Retorna
int
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradastatic func bulldoze_tiles(m: WorldMap, rect: Rect2i) -> Array- Paràmetres
m: WorldMaprect: Rect2i
- Retorna
Array
scripts/sim/undo.gd:100UndoStack.terraform_tilesstatic funcEvery tile raising or loweringcornersmay change (see BuildOps.apply_terraform).Enllaç a aquesta entradastatic func terraform_tiles(m: WorldMap, corners: Array) -> Array- Paràmetres
m: WorldMapcorners: Array
- Retorna
Array
scripts/sim/undo.gd:124UndoStack.beginfuncCall before an action changes anything.Enllaç a aquesta entradafunc 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).- Paràmetres
sim: Simwho: Companytiles: Arrayopt: Dictionary = {}
- Retorna
Dictionary
scripts/sim/undo.gd:142UndoStack._log_ofstatic funcEnllaç a aquesta entradastatic func _log_of(t: Town, cid: int) -> Variant- Paràmetres
t: Towncid: int
- Retorna
Variant
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/undo.gd:171UndoStack.commitfuncCall when the action is done and paid for.Enllaç a aquesta entradafunc 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.- Paràmetres
sim: Simu: Dictionarykind: Stringinfo: Dictionary = {}
- Retorna
void
scripts/sim/undo.gd:177UndoStack._monthstatic funcEnllaç a aquesta entradastatic func _month(sim: Sim) -> Vector2i- Paràmetres
sim: Sim
- Retorna
Vector2i
- Crida
Calendar.from_day
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/undo.gd:237UndoStack.describestatic funcA step in words: "12 tiles of rail", "Ashford North", "demolition of 3 tiles".Enllaç a aquesta entradastatic func describe(step: Dictionary) -> String- Paràmetres
step: Dictionary
- Retorna
String
scripts/sim/undo.gd:245UndoStack._problemfuncWhy the newest step can't be undone now: [reason, given up for good].Enllaç a aquesta entradafunc _problem(sim: Sim, step: Dictionary) -> Array["", false] when it can.
- Paràmetres
sim: Simstep: Dictionary
- Retorna
Array
- Crida
L.t
scripts/sim/undo.gd:266UndoStack._vehicle_onfuncEnllaç a aquesta entradafunc _vehicle_on(sim: Sim, step: Dictionary) -> bool- Paràmetres
sim: Simstep: Dictionary
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradafunc _block_held(sim: Sim, step: Dictionary) -> bool- Paràmetres
sim: Simstep: Dictionary
- Retorna
bool
scripts/sim/undo.gd:320UndoStack.statusfuncFor the Undo button: {"can", "what", "money" (what undoing pays back), "tip"}.Enllaç a aquesta entradafunc status(sim: Sim) -> DictionaryA step that can never be undone again is dropped here, with everything older.
- Paràmetres
sim: Sim
- Retorna
Dictionary
scripts/sim/undo.gd:340UndoStack.undofuncUndo the newest step.Enllaç a aquesta entradafunc undo(sim: Sim) -> DictionaryReturns {"ok", "text" (what to tell the player), "what", "money"}.
- Paràmetres
sim: Sim
- Retorna
Dictionary
scripts/sim/undo.gd:362UndoStack._revertfuncEnllaç a aquesta entradafunc _revert(sim: Sim, step: Dictionary) -> void- Paràmetres
sim: Simstep: Dictionary
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_MAXconstEnllaç a aquesta entradaconst FEED_MAX := 50.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_MAXconstEnllaç a aquesta entradaconst TOWN_SITE_MAX := 16.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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_FALLBACKconstEnllaç a aquesta entradaconst TOWN_INDUSTRY_FALLBACK := 10.0Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_gen.gd:27WorldGen.TOWN_EXTRAconstEnllaç a aquesta entradaconst TOWN_EXTRAAquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_gen.gd:28WorldGen.generatestatic funcEnllaç a aquesta entradastatic func generate(m: WorldMap, seed_value: int, opts: Dictionary = {}) -> void- Paràmetres
m: WorldMapseed_value: intopts: Dictionary = {}
- Retorna
void
- Crida
Data.era_index,L.t,TerrainGen.heights_from_image,TerrainGen.generate_heights,TerrainGen.classify
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_gen.gd:31WorldGen.add_rig_docksstatic funcEvery industry out at sea gets its own open dock (see BuildOps.add_rig_dock).Enllaç a aquesta entradastatic func add_rig_docks(m: WorldMap) -> void- Paràmetres
m: WorldMap
- Retorna
void
scripts/sim/world_gen.gd:57WorldGen._place_industriesstatic funcEnllaç a aquesta entradastatic func _place_industries(m: WorldMap, rng: RandomNumberGenerator, density: float = 1.0) -> void- Paràmetres
m: WorldMaprng: RandomNumberGeneratordensity: float = 1.0
- Retorna
void
- Crida
Data.opens,Data.accepts
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/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.Enllaç a aquesta entradastatic func _place_town_industries(m: WorldMap, rng: RandomNumberGenerator, density: float) -> void- Paràmetres
m: WorldMaprng: RandomNumberGeneratordensity: float
- Retorna
void
- Crida
Data.opens
scripts/sim/world_gen.gd:84WorldGen._place_kindstatic funcPut down a new map's industries oftype(see type_count) and return them.Enllaç a aquesta entradastatic func _place_kind(m: WorldMap, rng: RandomNumberGenerator, room: Vector2i, type: String, density: float) -> Array- Paràmetres
m: WorldMaprng: RandomNumberGeneratorroom: Vector2itype: Stringdensity: float
- Retorna
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).Enllaç a aquesta entradastatic func industry_room(m: WorldMap) -> Vector2iSampled every other tile, which is plenty for a head count.
- Paràmetres
m: WorldMap
- Retorna
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.Enllaç a aquesta entradastatic func type_count(room: Vector2i, type: String, density: float) -> int- Paràmetres
room: Vector2itype: Stringdensity: float
- Retorna
int
scripts/sim/world_gen.gd:124WorldGen.spacingstatic funcHow far apartcountindustries oftypeare kept.Enllaç a aquesta entradastatic 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).
- Paràmetres
room: Vector2itype: Stringcount: int
- Retorna
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.Enllaç a aquesta entradastatic 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.
- Paràmetres
m: WorldMaprng: RandomNumberGeneratortype: Stringapart: floatunserved: Array
- Retorna
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.Enllaç a aquesta entradastatic func put_industry(m: WorldMap, id: int, type: String, spot: Vector3i) -> IndustryReturns it.
- Paràmetres
m: WorldMapid: inttype: Stringspot: Vector3i
- Retorna
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.Enllaç a aquesta entradastatic func _site_level(m: WorldMap, site: String, x: int, y: int) -> int- Paràmetres
m: WorldMapsite: Stringx: inty: int
- Retorna
int
scripts/sim/world_gen.gd:178WorldGen.unserved_feedersstatic funcIndustries making somethingtypeaccepts that have no taker within FEED_MAX tiles yet.Enllaç a aquesta entradastatic 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.
- Paràmetres
m: WorldMaptype: String
- Retorna
Array
- Crida
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).Enllaç a aquesta entradastatic func _feeders_of_own(m: WorldMap, type: String) -> Array- Paràmetres
m: WorldMaptype: String
- Retorna
Array
- Crida
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.Enllaç a aquesta entradastatic func _site_near_feeders(m: WorldMap, rng: RandomNumberGenerator, site: String, type: String, apart: float, unserved: Array) -> Vector3iz is -1 when none turned up.
- Paràmetres
m: WorldMaprng: RandomNumberGeneratorsite: Stringtype: Stringapart: floatunserved: Array
- Retorna
Vector3i
- Crida
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).Enllaç a aquesta entradastatic func _site_spread(m: WorldMap, rng: RandomNumberGenerator, site: String, type: String) -> Vector3iz is -1 when no usable site turned up.
- Paràmetres
m: WorldMaprng: RandomNumberGeneratorsite: Stringtype: String
- Retorna
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.Enllaç a aquesta entradastatic func _site_by_town(m: WorldMap, rng: RandomNumberGenerator, type: String, apart: float) -> Vector3iz is -1 when none turned up.
- Paràmetres
m: WorldMaprng: RandomNumberGeneratortype: Stringapart: float
- Retorna
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.Enllaç a aquesta entradastatic func level_ground(m: WorldMap, ind: Industry) -> Rect2iReturns the tiles that changed.
- Paràmetres
m: WorldMapind: Industry
- Retorna
Rect2i
scripts/sim/world_gen.gd:334WorldGen._gap_to_kindstatic funcDistance fromcto the nearest industry oftype, INF when there is none yet.Enllaç a aquesta entradastatic func _gap_to_kind(m: WorldMap, type: String, c: Vector2) -> float- Paràmetres
m: WorldMaptype: Stringc: Vector2
- Retorna
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.Enllaç a aquesta entradastatic func _sea_site_ok(m: WorldMap, x: int, y: int) -> bool- Paràmetres
m: WorldMapx: inty: int
- Retorna
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.Enllaç a aquesta entradastatic func _near_coast(m: WorldMap, x: int, y: int) -> bool- Paràmetres
m: WorldMapx: inty: int
- Retorna
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.Enllaç a aquesta entradastatic 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.
- Paràmetres
m: WorldMapx: inty: int
- Retorna
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).Enllaç a aquesta entradastatic 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.
- Paràmetres
m: WorldMapx: inty: int
- Retorna
bool
scripts/sim/world_gen.gd:419WorldGen._name_industriesstatic funcEnllaç a aquesta entradastatic func _name_industries(m: WorldMap) -> void- Paràmetres
m: WorldMap
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_gen.gd:433WorldGen.industry_namestatic funcAn industry is named after the nearest town: "Ashford Coal Mine".Enllaç a aquesta entradastatic func industry_name(m: WorldMap, ind: Industry) -> String- Paràmetres
m: WorldMapind: Industry
- Retorna
String
scripts/sim/world_gen.gd:439WorldGen._place_townsstatic funcEnllaç a aquesta entradastatic func _place_towns(m: WorldMap, rng: RandomNumberGenerator, density: float = 1.0, opts: Dictionary = {}) -> void- Paràmetres
m: WorldMaprng: RandomNumberGeneratordensity: float = 1.0opts: Dictionary = {}
- Retorna
void
- Crida
L.t,Town.pick_style
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_gen.gd:453WorldGen._town_site_okstatic funcEnllaç a aquesta entradastatic func _town_site_ok(m: WorldMap, x: int, y: int, spacing: float = 22.0, industry_clear: float = TOWN_INDUSTRY_MIN) -> bool- Paràmetres
m: WorldMapx: inty: intspacing: float = 22.0industry_clear: float = TOWN_INDUSTRY_MIN
- Retorna
bool
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_gen.gd:481WorldGen._town_namestatic funcEnllaç a aquesta entradastatic func _town_name(rng: RandomNumberGenerator, used: Dictionary) -> String- Paràmetres
rng: RandomNumberGeneratorused: Dictionary
- Retorna
String
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_gen.gd:502WorldGen._clear_treesstatic funcEnllaç a aquesta entradastatic func _clear_trees(m: WorldMap) -> void- Paràmetres
m: WorldMap
- Retorna
void
Aquesta entrada encara no descriu el comportament.
Declarat ascripts/sim/world_gen.gd:517
Opcions dels fitxers
Els noms dels camps distingeixen majúscules i minúscules. Les seccions enllaçades tenen exemples i expliquen l’ús de cada fitxer.
| Fitxer o secció | Camps obligatoris | Camps opcionals |
|---|---|---|
mod.json | id | name, version, author, description |
data.json → vehicles.<id> | name, kind, cargos, speed, cost i run. Fes servir look o model i, segons el tipus, max_wagons per a locomotores o cap per als altres vehicles. | desc, year, rel, electric, steam, length |
data.json → cargo.<id> | Identificador de càrrega existent | rate, days |
data.json → town_names | Cap | prefixes, suffixes, replace |
data.json → company_names | Llista de noms | Cap |
maps/<name>.json | Cap | name, description, settings |
A settings, s’admeten w i h (64, 128, 256, 512, 1024), year (1950, 1960, 1970, 1980, 1990, 2000), i towns, industries, rough i water (índexs de 0 a 3). rough va de pla a muntanyós. water va de baix a illes, passant per normal i alt.
El camp booleà steam activa els efectes i el comportament d’una locomotora de vapor. length indica la llargada en caselles d’un model personalitzat.
El diccionari Sim.options conté cost, blocking, ai_level, max_loan, depots, breakdowns i goal. Són opcions de la simulació. Per als mods de mapes, fes servir els camps de settings de més amunt.
Identificadors de càrrega
| ID | Nom |
|---|---|
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 |
Models del joc base
| ID | Nom | Tipus |
|---|---|---|
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 |