def main(disabled=False): # migration note; see also render_docs as it may already have methods for getting the tech tree in generation order print( 'roster engines list should be refactored to use order from role_group_mapping combined with engine generation' ) roster = Roster( id='pony', numeric_id=1, # ELRL, ELNG is mapped to RAIL, NG etc # default intro dates per generation, can be over-ridden if needed by setting intro_date kw on consist intro_dates={ 'RAIL': [1860, 1900, 1930, 1960, 1990, 2020], 'METRO': [1900, 1950, 2000], 'NG': [1860, 1905, 1950, 2000] }, # default speeds per generation, can be over-ridden if needed by setting speed kw arg on consist # speeds roughly same as RH trucks of same era + 5mph or so, and a bit higher at the top end (back and forth on this many times eh?), # NG is Corsican-style 1000mm, native brit NG is not a thing for gameplay speeds={ 'RAIL': { 'standard': [ 45, 45, 60, 75, 87, 96 ], # gen 5 and 6 forced down by design, really fast freight is imbalanced 'express': [ 60, 75, 90, 105, 115, 125 ], # smaller steps in gen 5 and 6, balances against faster HSTs 'hst': [0, 0, 0, 0, 125, 140], # only gen 5 and 6 HST provided 'very_high_speed': [0, 0, 0, 0, 140, 186] }, 'METRO': { 'standard': [45, 55, 65] }, # no express for metro in Pony 'NG': { 'standard': [ 45, 45, 55, 65 ], # NG standard/express all same in Pony, balanced against trams, RVs 'express': [45, 45, 55, 65] } }, # capacity factor per generation, will be multiplied by vehicle length freight_car_capacity_per_unit_length={ 'RAIL': [4, 4, 5, 5.5, 6, 6], 'NG': [3, 3, 4, 4] }, pax_car_capacity_per_unit_length={ 'RAIL': [3, 4, 5, 5, 6, 6], 'NG': [3, 4, 5, 6] }, # freight car weight factor varies slightly by gen, reflecting modern cars with lighter weight train_car_weight_factors=[0.5, 0.5, 0.5, 0.48, 0.44, 0.44], engines=[ # branch express lark, merrylegs, proper_job, stoat, pinhorse, shoebox, super_shoebox, ultra_shoebox, # express spinner, carrack, tencendur, kelpie, griffon, shredder, wyvern, thunderbird, revolution, upcountry, pegasus, dragon, hurly_burly, moor_gallop, roarer, fury, screamer, sizzler, # driving cab cars driving_cab_pony_gen_5, driving_cab_pony_gen_6, # branch freight saxon, little_bear, hercules, goliath, # freight gwynt, braf, haar, growler, slug, phoenix, girt_licker, lemon, chinook, grid, blackthorn, cheddar_valley, chimera, flindermouse, peasweep, flanders_storm, gosling_blast, # joker engines / snowploughs grub, gronk, snowplough_pony_gen_2, # diesel railcars deasil, slammer, tin_rocket, happy_train, gowsty, scooby, plastic_postbox, mail_rail, # electric railcars athena, geronimo, breeze, zeus, ares, dover, jupiter, pylon, # brit high speed pax blaze, scorcher, helm_wind_cab, helm_wind_middle, brenner_cab, brenner_middle, # metro serpentine, westbourne, fleet, longwater, tyburn, tideway, # ng engines cheese_bug, bean_feast, pikel, boar_cat, # ng railcars mumble, snapper, workish, zorro ]) roster.register(disabled=disabled)
def main(disabled=False): roster = Roster( id="pony", numeric_id=1, # ELRL, ELNG is mapped to RAIL, NG etc # default intro dates per generation, can be over-ridden if needed by setting intro_date kw on consist intro_dates={ "RAIL": [1860, 1900, 1930, 1960, 1990, 2020], "METRO": [1900, 1950, 2000], "NG": [1860, 1905, 1950, 2000], }, # default speeds per generation, can be over-ridden if needed by setting speed kw arg on consist # speeds roughly same as RH trucks of same era + 5mph or so, and a bit higher at the top end (back and forth on this many times eh?), # NG is Corsican-style 1000mm, native brit NG is not a thing for gameplay speeds={ "RAIL": { "standard": [ 45, 45, 60, 75, 87, 87, ], # gen 5 and 6 held down by design, really fast freight is imbalanced "railcar": [45, 45, 60, 75, 87, 99], # match standard, except gen 6 "express": [ 60, 75, 90, 105, 115, 125, ], # smaller steps in gen 5 and 6, balances against faster HSTs "hst": [0, 0, 0, 112, 125, 140], # only gen 4, 5 and 6 HST provided "very_high_speed": [0, 0, 0, 0, 140, 186], }, "METRO": { "standard": [45, 55, 65] # no express for metro in Pony }, "NG": { "standard": [ 45, 45, 55, 65, ], # NG standard/railcar/express all same in Pony, balanced against trams, RVs "railcar": [45, 45, 55, 65], "express": [45, 45, 55, 65], }, }, # capacity factor per generation, will be multiplied by vehicle length freight_car_capacity_per_unit_length={ "RAIL": [4, 4, 5, 5.5, 6, 6.5], "NG": [3, 3, 4, 4], }, pax_car_capacity_per_unit_length={ "RAIL": [4, 5, 6, 7, 8, 8], "NG": [3, 4, 5, 6], }, # freight car weight factor varies slightly by gen, reflecting modern cars with lighter weight train_car_weight_factors=[0.5, 0.5, 0.5, 0.48, 0.44, 0.40], # specify lists of cc1 and not_cc2 colours, and an option to remap all the cc1 to a specific other cc (allowing multiple input colours to map to one result) livery_presets={ "EWS": { "cc1": ["COLOUR_PINK"], "not_cc2": [], "remap_to_cc": None, "docs_image_input_cc": [("COLOUR_PINK", "COLOUR_YELLOW")], }, "FREIGHTLINER_GBRF": { "cc1": [ "COLOUR_PALE_GREEN", "COLOUR_GREEN", "COLOUR_DARK_GREEN", "COLOUR_MAUVE", ], # includes GBRF "not_cc2": [], "remap_to_cc": None, "docs_image_input_cc": [ ("COLOUR_PALE_GREEN", "COLOUR_YELLOW"), ("COLOUR_DARK_GREEN", "COLOUR_ORANGE"), ("COLOUR_GREEN", "COLOUR_ORANGE"), ("COLOUR_MAUVE", "COLOUR_CREAM"), ], }, # stupid hax to get a 47 with default intercity that can also be plain solid colour "PLAIN_NOT_INTERCITY": { "cc1": [ "COLOUR_DARK_BLUE", "COLOUR_PALE_GREEN", "COLOUR_PINK", "COLOUR_YELLOW", "COLOUR_RED", "COLOUR_LIGHT_BLUE", "COLOUR_GREEN", "COLOUR_DARK_GREEN", "COLOUR_BLUE", "COLOUR_CREAM", "COLOUR_MAUVE", "COLOUR_PURPLE", "COLOUR_ORANGE", "COLOUR_BROWN", "COLOUR_GREY", "COLOUR_WHITE", ], "not_cc2": ["COLOUR_WHITE"], "remap_to_cc": None, "docs_image_input_cc": [ ("COLOUR_GREY", "COLOUR_GREY"), ("COLOUR_RED", "COLOUR_RED"), ("COLOUR_DARK_BLUE", "COLOUR_DARK_BLUE"), ], }, # red stripe cc1 chosen to give nice wagon colour options "RAILFREIGHT_RED_STRIPE": { "cc1": [ "COLOUR_GREY", "COLOUR_BROWN", "COLOUR_YELLOW", "COLOUR_ORANGE", ], # not white, too limiting for other liveries "not_cc2": [ "COLOUR_GREY", "COLOUR_BROWN", "COLOUR_YELLOW", "COLOUR_ORANGE", "COLOUR_WHITE", ], # do ban white though, looks bad as lower stripe "remap_to_cc": "COLOUR_GREY", "docs_image_input_cc": [ ("COLOUR_GREY", "COLOUR_RED"), ("COLOUR_BROWN", "COLOUR_PINK"), ], }, # triple grey cc1 chosen to give nice wagon colour options # notcc2 chosen for (a) ensuring contrast of sector symbol (b) also happens to enable dutch yellow/grey livery # note the remap to white, to provide lightest of the triple greys as cc1 "RAILFREIGHT_TRIPLE_GREY": { "cc1": [ "COLOUR_GREY", "COLOUR_BROWN", "COLOUR_YELLOW", "COLOUR_ORANGE", ], # not white, too limiting for other liveries "not_cc2": [ "COLOUR_GREY", "COLOUR_BROWN", "COLOUR_YELLOW", "COLOUR_ORANGE", "COLOUR_WHITE", ], # do ban white though, looks bad with sector logo "remap_to_cc": "COLOUR_WHITE", "docs_image_input_cc": [ ("COLOUR_GREY", "COLOUR_RED"), ("COLOUR_YELLOW", "COLOUR_BLUE"), ("COLOUR_BROWN", "COLOUR_DARK_BLUE"), ], }, "YEOMAN": { "cc1": ["COLOUR_GREY", "COLOUR_WHITE"], "not_cc2": [], "remap_to_cc": None, "docs_image_input_cc": [ ("COLOUR_GREY", "COLOUR_BLUE"), ("COLOUR_WHITE", "COLOUR_DARK_BLUE"), ], }, }, # this list is manually maintained deliberately, even though it could be mostly automated using tech tree engines=[ # challenger, # for NA roster # branch express lark, merrylegs, proper_job, kelpie, griffon, pinhorse, argus, booster, tornado, # express (electro-diesels with non-standard position in power/length tree) shoebox, super_shoebox, ultra_shoebox, # express reliance, spinner, carrack, tencendur, merlion, shredder, thunderer, swift, strongbow, streamer, wyvern, intrepid, vanguard, resilient, evolution, # out of normal order so that the names read 'Evolution', 'Revolution' (usually jokers come after the tech tree version not before) revolution, pegasus, dragon, vulcan, onslaught, relentless, hurly_burly, moor_gallop, roarer, fury, hector, zebedee, screamer, nimbus, avenger, sizzler, # driving cab cars driving_cab_passenger_pony_gen_4, driving_cab_passenger_pony_gen_5, driving_cab_passenger_pony_gen_6, driving_cab_mail_pony_gen_5, driving_cab_mail_pony_gen_6, # branch freight buffalo, saxon, little_bear, captain_steel, goliath, stoat, zest, # freight hercules, braf, diablo, haar, viking, growler, slug, phoenix, vigilant, blind_smuir, girt_licker, lemon, esk, chinook, grid, bone, blackthorn, defiant, quietus, cheddar_valley, stentor, highlander, toaster, flindermouse, peasweep, flanders_storm, triton, # joker engines / snowploughs grub, lamia, gronk, chuggypig, magnum_70, snowplough_pony_gen_2, # cargo sprinter cargo_sprinter, # auto-coach (only one as autoreplace can't handle mixed cargo articulated consists) auto_coach_pony_gen_2, # diesel railcars deasil, slammer, tin_rocket, happy_train, gowsty, scooby, plastic_postbox, # electric railcars athena, geronimo, breeze, zeus, ares, dover, jupiter, pylon, # express electric railcars high_flyer, sunshine_coast, olympic, bright_country, # brit high speed pax firebird, blaze, scorcher, # iep_thing, helm_wind_cab, helm_wind_middle, brenner_cab, brenner_middle, # metro serpentine, westbourne, fleet, longwater, tyburn, tideway, # ng engines cheese_bug, bean_feast, pikel, boar_cat, # ng railcars mumble, snapper, workish, zorro, ], ) roster.register(disabled=disabled)