Ejemplo n.º 1
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id='saxon',
        base_numeric_id=1330,
        name='0-8-0 Saxon',
        role='branch_freight',
        power=1000,
        # dibble TE up for game balance, assume low gearing or something
        tractive_effort_coefficient=0.375,
        random_reverse=True,
        gen=3,
        intro_date_offset=-8,  # introduce earlier than gen epoch by design
        sprites_complete=True)

    consist.add_unit(type=SteamEngineUnit,
                     weight=65,
                     vehicle_length=6,
                     spriterow_num=0)

    return consist
Ejemplo n.º 2
0
def main(roster_id):
    consist = EngineConsist(roster_id=roster_id,
                            id='bean_feast',
                            base_numeric_id=240,
                            name='2-6-4 Bean Feast',
                            role='universal',
                            base_track_type='NG',
                            power=500,
                            tractive_effort_coefficient=0.2,
                            gen=2,
                            random_reverse=True,
                            sprites_complete=True)

    consist.add_unit(
        type=SteamEngineUnit,
        weight=22,
        vehicle_length=4,
        effect_z_offset=10,  # reduce smoke z position to suit NG engine height
        spriterow_num=0)

    return consist
Ejemplo n.º 3
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="merlion",
        base_numeric_id=6380,
        name="Merlion",
        role="freight",
        role_child_branch_num=-1,
        power=1750,
        tractive_effort_coefficient=0.26,
        fixed_run_cost_points=42,  # give a bonus so this can be a genuine mixed-traffic engine
        random_reverse=True,
        gen=4,
        intro_date_offset=-2,  # let's be a littler earlier for this one
        alternative_cc_livery="RAILFREIGHT_RED_STRIPE",
        sprites_complete=True,
    )

    consist.add_unit(
        type=DieselEngineUnit,
        weight=105,
        vehicle_length=8,
        effect_offsets=[(2, 0)],
        spriterow_num=0,
    )

    consist.description = (
        """I don't like the looks of it right much, but I suppose it will do."""
    )
    consist.foamer_facts = """BR Class 31, uprated EE 12CSVT prime mover"""

    return consist
Ejemplo n.º 4
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="bean_feast",
        base_numeric_id=240,
        name="2-6-4 Bean Feast",
        role="universal",
        role_child_branch_num=1,
        base_track_type="NG",
        power=400,
        tractive_effort_coefficient=0.2,
        gen=2,
        random_reverse=True,
        sprites_complete=True,
    )

    consist.add_unit(
        type=SteamEngineUnit,
        weight=22,
        vehicle_length=4,
        effect_z_offset=10,  # reduce smoke z position to suit NG engine height
        spriterow_num=0,
    )

    consist.description = """Great power and small size. We tested it in the field."""
    consist.foamer_facts = """generic narrow-gauge steam locomotives"""

    return consist
Ejemplo n.º 5
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="proper_job",
        base_numeric_id=1300,
        name="2-6-2 Proper Job",
        role="branch_express",
        role_child_branch_num=1,
        power=800,
        gen=3,
        tractive_effort_coefficient=0.2,
        fixed_run_cost_points=120,  # substantial cost bonus so it can make money
        random_reverse=True,
        sprites_complete=True,
    )

    consist.add_unit(type=SteamEngineUnit,
                     weight=57,
                     vehicle_length=6,
                     spriterow_num=0)

    consist.description = (
        """For when you need proper engine at proper price. Proper Job.""")
    consist.foamer_facts = """BR Standard Class 3, LMS Ivatt Class 2 and GWR 5101/6100 Class <i>Prairie Tanks</i>"""

    return consist
Ejemplo n.º 6
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="slug",
        base_numeric_id=1000,
        name="Slug",
        role="freight",
        role_child_branch_num=1,
        power=
        1950,  # progression calculated to maintain hp/speed ratio from previous gen
        random_reverse=True,
        gen=5,
        alternative_cc_livery="RAILFREIGHT_TRIPLE_GREY",
        default_livery_extra_docs_examples=[
            ("COLOUR_GREY", "COLOUR_YELLOW"),
            ("COLOUR_WHITE", "COLOUR_GREY"),
            ("COLOUR_GREY", "COLOUR_GREY"),
            ("COLOUR_PALE_GREEN", "COLOUR_PALE_GREEN"),
            ("COLOUR_LIGHT_BLUE", "COLOUR_WHITE"),
            ("COLOUR_YELLOW", "COLOUR_YELLOW"),
        ],
        sprites_complete=True,
    )

    consist.add_unit(type=DieselEngineUnit,
                     weight=110,
                     vehicle_length=8,
                     spriterow_num=0)

    consist.description = """We made these by uprating the Growler engine.  New paint too, don't spoil it."""
    consist.foamer_facts = """refurbished BR Class 37, with new alternator and uprated engine (per 2,000hp 37292)"""

    return consist
Ejemplo n.º 7
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="cheese_bug",
        base_numeric_id=490,
        name="2-6-2 Cheese Bug",
        role="universal",
        role_child_branch_num=1,
        base_track_type="NG",
        power=350,
        tractive_effort_coefficient=0.2,
        gen=1,
        random_reverse=True,
        sprites_complete=True,
    )

    consist.add_unit(
        type=SteamEngineUnit,
        weight=16,
        vehicle_length=4,
        effect_z_offset=10,  # reduce smoke z position to suit NG engine height
        spriterow_num=0,
    )

    consist.description = """I present you this trusty little engine."""
    consist.foamer_facts = """generic narrow-gauge steam locomotives"""

    return consist
Ejemplo n.º 8
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="saxon",
        base_numeric_id=1330,
        name="0-8-0 Saxon",
        role="branch_freight",
        role_child_branch_num=1,
        power=1000,
        # dibble TE up for game balance, assume low gearing or something
        tractive_effort_coefficient=0.375,
        random_reverse=True,
        gen=3,
        intro_date_offset=-8,  # introduce earlier than gen epoch by design
        sprites_complete=True,
    )

    consist.add_unit(type=SteamEngineUnit,
                     weight=65,
                     vehicle_length=6,
                     spriterow_num=0)

    consist.description = """I didn't do these, we've shipped them in. On ships like. On the sea. They pull well mind you."""
    consist.foamer_facts = """SR Z class, SR USA class (USATC S100 Class)"""

    return consist
Ejemplo n.º 9
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="daring",
        base_numeric_id=4920,
        name="Daring",
        role="express",
        role_child_branch_num=1,
        power=1750,
        tractive_effort_coefficient=0.26,
        fixed_run_cost_points=42,  # give a bonus so this can be a genuine mixed-traffic engine
        random_reverse=True,
        gen=4,
        intro_date_offset=1,  # let's be a littler later for this one
        default_livery_extra_docs_examples=[("COLOUR_GREEN", "COLOUR_WHITE")],
        sprites_complete=True,
    )

    consist.add_unit(
        type=DieselEngineUnit,
        weight=75,
        vehicle_length=8,
        effect_offsets=[(2, 0)],
        spriterow_num=0,
    )

    consist.description = (
        """."""
    )
    consist.foamer_facts = """BR Class 35 <i>Hymek</i>"""

    return consist
Ejemplo n.º 10
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="growler",
        base_numeric_id=2240,
        name="Growler",
        role="freight",
        role_child_branch_num=1,
        power=1750,
        random_reverse=True,
        gen=4,
        alternative_cc_livery="RAILFREIGHT_RED_STRIPE",
        default_livery_extra_docs_examples=[
            ("COLOUR_PALE_GREEN", "COLOUR_GREY"),
            ("COLOUR_PINK", "COLOUR_WHITE"),
        ],
        sprites_complete=True,
    )

    consist.add_unit(type=DieselEngineUnit,
                     weight=100,
                     vehicle_length=8,
                     spriterow_num=0)

    consist.description = """Sounds like a tractor, pulls like a train."""
    consist.foamer_facts = """BR Class 37, original TTD UU '37'"""

    return consist
Ejemplo n.º 11
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="maximillian",
        base_numeric_id=5910,
        name="Maximillian",
        role="universal",
        role_child_branch_num=2,
        power=900,
        random_reverse=True,
        base_track_type="NG",
        gen=4,
        intro_date_offset=10,
        sprites_complete=True,
    )

    consist.add_unit(
        type=DieselEngineUnit,
        weight=31,
        vehicle_length=6,
        effect_z_offset=9,  # reduce smoke z position to suit NG engine height
        spriterow_num=0,
    )

    consist.description = """The ultimate narrow gauge diesel."""
    consist.foamer_facts = (
        """CFD Locotracteur BB-400, South African 'Funkey' diesels, FAUR L45H B-B"""
    )

    return consist
Ejemplo n.º 12
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="nimbus",
        base_numeric_id=5500,
        name="Nimbus",
        role="heavy_express",
        role_child_branch_num=-3,
        power=5400,  # needs a bump from Screamer
        random_reverse=True,
        gen=6,
        pantograph_type="z-shaped-double",
        intro_date_offset=3,  # introduce later than gen epoch by design
        alternative_cc_livery="FREIGHTLINER_GBRF",
        default_livery_extra_docs_examples=[
            ("COLOUR_WHITE", "COLOUR_BLUE"),
            ("COLOUR_BLUE", "COLOUR_WHITE"),
            ("COLOUR_PINK", "COLOUR_DARK_BLUE"),
            ("COLOUR_WHITE", "COLOUR_RED"),
        ],
        sprites_complete=True,
    )

    consist.add_unit(type=ElectricEngineUnit,
                     weight=85,
                     vehicle_length=8,
                     spriterow_num=0)

    consist.description = (
        """I've done a faster Screamer, proven design, no fuss no bother.""")
    consist.foamer_facts = """BR Class 90"""

    return consist
Ejemplo n.º 13
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="intrepid",
        base_numeric_id=4810,
        name="Intrepid",
        role="heavy_express",
        role_child_branch_num=-1,  # -ve because Joker
        power=2200,
        random_reverse=True,
        gen=4,
        fixed_run_cost_points=
        40,  # give a bonus so this can be a genuine mixed-traffic engine
        intro_date_offset=6,  # let's be later for this one
        default_livery_extra_docs_examples=[("COLOUR_GREEN", "COLOUR_WHITE")],
        sprites_complete=False,
    )

    consist.add_unit(
        type=DieselEngineUnit,
        weight=115,  # bonus over Wyvern
        vehicle_length=8,
        spriterow_num=0,
    )

    consist.description = """These are a bit duff, but they're a bit lighter than a Wyvern so we'll give em a go."""
    consist.foamer_facts = """BR Class 47, prime mover downrated for reliability"""

    return consist
Ejemplo n.º 14
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="fury",
        base_numeric_id=2180,
        name="Fury",
        role="heavy_express",
        role_child_branch_num=3,
        power=3600,
        random_reverse=True,
        gen=5,
        pantograph_type="z-shaped-double",
        intro_date_offset=1,  # introduce later than gen epoch by design
        # alternative_cc_livery='RAILFREIGHT_TRIPLE_GREY', # unfinished
        default_livery_extra_docs_examples=[
            ("COLOUR_GREEN", "COLOUR_YELLOW"),
            ("COLOUR_PALE_GREEN", "COLOUR_PALE_GREEN"),
            ("COLOUR_PALE_GREEN", "COLOUR_YELLOW"),
            ("COLOUR_LIGHT_BLUE", "COLOUR_WHITE"),
        ],
        sprites_complete=True,
    )

    consist.add_unit(type=ElectricEngineUnit,
                     weight=82,
                     vehicle_length=8,
                     spriterow_num=0)

    consist.description = (
        """Rebuilt the Roarers. Very sound these are, last a long time they will."""
    )
    consist.foamer_facts = """BR Class 86"""

    return consist
Ejemplo n.º 15
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="pikel",
        base_numeric_id=430,
        name="Pikel",
        role="universal",
        role_child_branch_num=1,
        power=500,
        random_reverse=True,
        base_track_type="NG",
        gen=3,
        sprites_complete=True,
    )

    consist.add_unit(
        type=DieselEngineUnit,
        weight=22,
        vehicle_length=4,
        effect_z_offset=9,  # reduce smoke z position to suit NG engine height
        spriterow_num=0,
    )

    consist.description = """This diesel engine modernises our narrow gauge lines."""
    consist.foamer_facts = """FAUR L45H B-B, generic narrow-gauge diesel locomotives"""

    return consist
Ejemplo n.º 16
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="gronk",
        base_numeric_id=3970,
        name="Gronk",
        role="gronk!",
        role_child_branch_num=-1,
        power=400,
        speed=35,
        # dibble TE up for game balance, assume low gearing or something
        tractive_effort_coefficient=0.375,
        fixed_run_cost_points=100,  # substantial cost bonus so it can make money
        random_reverse=True,
        gen=4,
        intro_date_offset=-9,  # introduce much earlier than gen epoch by design
        vehicle_life=60,  # extended vehicle life for all gronks eh
        sprites_complete=True,
    )

    consist.add_unit(
        type=DieselEngineUnit, weight=55, vehicle_length=4, spriterow_num=0
    )

    consist.description = """The universal shunter.  Goes everywhere&hellip;slowly."""
    consist.foamer_facts = """BR Class 08/09"""

    return consist
Ejemplo n.º 17
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="avenger",
        base_numeric_id=4860,
        name="Avenger",
        role="heavy_express",
        role_child_branch_num=4,
        power=5800,
        random_reverse=True,
        gen=5,
        pantograph_type="z-shaped-single",
        intro_date_offset=
        -2,  # introduce slightly earlier than gen epoch by design
        sprites_complete=True,
    )

    consist.add_unit(type=ElectricEngineUnit,
                     weight=100,
                     vehicle_length=8,
                     spriterow_num=0)

    consist.description = """Daft as a brush if you ask me.  Or mad as a badger.  Goes like stink off a shovel though."""
    consist.foamer_facts = """BR Class 89"""

    return consist
Ejemplo n.º 18
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="screamer",
        base_numeric_id=450,
        name="Screamer",
        role="heavy_express",
        role_child_branch_num=-3,
        power=4800,
        random_reverse=True,
        gen=5,
        pantograph_type="z-shaped-double",
        intro_date_offset=2,  # introduce later than gen epoch by design
        alternative_cc_livery="FREIGHTLINER_GBRF",
        default_livery_extra_docs_examples=[
            ("COLOUR_WHITE", "COLOUR_BLUE"),
            ("COLOUR_BLUE", "COLOUR_WHITE"),
            ("COLOUR_PINK", "COLOUR_DARK_BLUE"),
            ("COLOUR_WHITE", "COLOUR_RED"),
        ],
        sprites_complete=True,
    )

    consist.add_unit(
        type=ElectricEngineUnit, weight=85, vehicle_length=8, spriterow_num=0
    )

    consist.description = """We're knocking these out cheap enough. Look after them, they might last longer."""
    consist.foamer_facts = """BR Class 90"""

    return consist
Ejemplo n.º 19
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="vanguard",
        base_numeric_id=3090,
        name="Vanguard",
        role="heavy_express",
        role_child_branch_num=1,
        power=2550,
        # dibble, assume super-slip control, intent is to give higher TE as a non-significant variation from Resilient
        tractive_effort_coefficient=0.4,
        random_reverse=True,
        gen=5,
        intro_date_offset=2,  # let's not have everything turn up in 1990
        fixed_run_cost_points=
        55,  # give a bonus so this can be a genuine mixed-traffic engine
        alternative_cc_livery="RAILFREIGHT_TRIPLE_GREY",
        sprites_complete=True,
    )

    consist.add_unit(type=DieselEngineUnit,
                     weight=115,
                     vehicle_length=8,
                     spriterow_num=0)

    consist.description = """They said they wanted these for a freight engine.  No I said.  We need a general purpose engine I said.  We talked about it for twenty minutes then we decided I was right."""
    consist.foamer_facts = """proposed BR Class 38/41/48"""

    return consist
Ejemplo n.º 20
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="zebedee",
        base_numeric_id=4950,
        name="Zebedee",
        role="heavy_express",
        role_child_branch_num=
        -3,  # it's a joker, tried it as heavy express 4, the power progression and dates are all wrong for that
        power=
        4000,  # bit unsure about power on this one, a larger electric is wanted, but don't want to power creep gen 4 too much
        random_reverse=True,
        gen=4,
        pantograph_type="z-shaped-double",
        intro_date_offset=9,  # introduce much later than gen epoch by design
        default_livery_extra_docs_examples=[("COLOUR_BLUE", "COLOUR_WHITE")],
        sprites_complete=True,
    )

    consist.add_unit(type=ElectricEngineUnit,
                     weight=82,
                     vehicle_length=8,
                     spriterow_num=0)

    consist.description = """These were heavy on the track, but we had em back and fitted extra springs."""
    consist.foamer_facts = """BR Class 87, Class 86"""

    return consist
Ejemplo n.º 21
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="moor_gallop",
        base_numeric_id=170,
        name="Moor Gallop",
        role="heavy_express",
        role_child_branch_num=3,
        power=2400,
        tractive_effort_coefficient=0.25,
        random_reverse=True,
        gen=3,
        pantograph_type="diamond-double",
        intro_date_offset=5,  # introduce later than gen epoch by design
        default_livery_extra_docs_examples=[
            ("COLOUR_LIGHT_BLUE", "COLOUR_WHITE"),
            ("COLOUR_PALE_GREEN", "COLOUR_WHITE"),
            ("COLOUR_DARK_GREEN", "COLOUR_WHITE"),
            ("COLOUR_BLUE", "COLOUR_BLUE"),
        ],
        sprites_complete=True,
    )

    consist.add_unit(type=ElectricEngineUnit,
                     weight=105,
                     vehicle_length=8,
                     spriterow_num=0)

    consist.description = (
        """It's not so hurly-burly, but it's a nice new electric engine for you."""
    )
    consist.foamer_facts = """LNER EM2 (BR Class 77)"""

    return consist
Ejemplo n.º 22
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="defiant",
        base_numeric_id=5070,
        name="Defiant",
        role="heavy_freight",
        role_child_branch_num=
        -2,  # child branch 1 empty, for tech tree drawing reasons (blackthorn and quietus in branch -1)
        power=3650,
        # dibble for game balance, assume super-slip control
        tractive_effort_coefficient=0.355,
        random_reverse=True,
        gen=6,
        intro_date_offset=-4,  # let's be a little bit earlier for this one
        fixed_run_cost_points=
        280,  # run cost nerf as light weight throws the cost too cheap
        sprites_complete=True,
    )

    consist.add_unit(
        type=DieselEngineUnit,
        weight=100,  # notably low weight
        vehicle_length=8,
        spriterow_num=0,
    )

    consist.description = """Amazing what they can do these days isn't it?"""
    consist.foamer_facts = """Vossloh Eurolight (DRS Class 68)"""

    return consist
Ejemplo n.º 23
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="withershins",
        base_numeric_id=6390,
        name="Withershins",
        role="heavy_freight",
        role_child_branch_num=-2,
        power=2900,
        random_reverse=True,
        gen=4,
        fixed_run_cost_points=
        118,  # minor run cost bonus as default algorithm makes run cost too high
        #alternative_cc_livery="RAILFREIGHT_RED_STRIPE",
        default_livery_extra_docs_examples=[
            ("COLOUR_PALE_GREEN", "COLOUR_GREY"),
            ("COLOUR_BLUE", "COLOUR_GREY"),
        ],
        sprites_complete=False,
    )

    consist.add_unit(type=DieselEngineUnit,
                     weight=85,
                     vehicle_length=6,
                     spriterow_num=0,
                     repeat=2)

    consist.description = """."""
    consist.foamer_facts = """BR Class 24, BR Class 25"""

    return consist
Ejemplo n.º 24
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="blackthorn",
        base_numeric_id=3470,
        name="Blackthorn",
        role="heavy_freight",
        role_child_branch_num=2,  # child branch 1 empty, for tech tree drawing reasons (blackthorn and quietus in branch -1)
        power=3650,
        random_reverse=True,
        gen=6,
        default_livery_extra_docs_examples=[("COLOUR_MAUVE", "COLOUR_CREAM")],
        sprites_complete=True,
    )

    consist.add_unit(
        type=DieselEngineUnit, weight=124, vehicle_length=8, spriterow_num=0
    )

    consist.description = (
        """I've fitted a bigger engine into the Grid.  Still not bad at all."""
    )
    consist.foamer_facts = """GBRF Class 69 (re-engineered BR Class 56)"""

    return consist
Ejemplo n.º 25
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="resilient",
        base_numeric_id=4940,
        name="Resilient",
        role="heavy_express",
        role_child_branch_num=-1,
        power=2550,
        random_reverse=True,
        gen=5,
        intro_date_offset=-4,  # let's not have everything turn up in 1990
        fixed_run_cost_points=
        65,  # give a bonus so this can be a genuine mixed-traffic engine
        alternative_cc_livery="PLAIN_NOT_INTERCITY",
        default_livery_extra_docs_examples=[("COLOUR_BLUE", "COLOUR_WHITE")],
        sprites_complete=True,
    )

    consist.add_unit(
        type=DieselEngineUnit,
        weight=112,
        vehicle_length=8,
        effect_offsets=[(2, 0)],
        spriterow_num=0,
    )

    consist.description = """I've completely rebuilt some Intrepids."""
    consist.foamer_facts = """BR Class 47, Brush Class 57, original TTD UU '47'"""

    return consist
Ejemplo n.º 26
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="thor",
        base_numeric_id=2030,
        name="0-4-4-0 Thor",
        role="universal",
        role_child_branch_num=2,
        base_track_type="NG",
        power=600,
        tractive_effort_coefficient=0.3,
        gen=1,
        intro_date_offset=15,
        random_reverse=True,
        sprites_complete=True,
    )

    consist.add_unit(
        type=SteamEngineUnit,
        weight=30,
        vehicle_length=6,
        effect_offsets=[(-3, 0), (1, 0)],  # double the smoke eh?
        effect_z_offset=10,  # reduce smoke z position to suit NG engine height
        spriterow_num=0,
    )

    consist.description = (
        """You could say it's twice the train. A god amongst engines.""")
    consist.foamer_facts = """Fairlie locomotives"""

    return consist
Ejemplo n.º 27
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="merrylegs",
        base_numeric_id=500,
        name="2-6-2 Merrylegs",
        role="branch_express",
        role_child_branch_num=1,
        power=650,
        tractive_effort_coefficient=0.2,
        fixed_run_cost_points=120,  # substantial cost bonus so it can make money
        random_reverse=True,
        gen=2,
        sprites_complete=True,
    )

    consist.add_unit(type=SteamEngineUnit,
                     weight=49,
                     vehicle_length=6,
                     spriterow_num=0)

    consist.description = (
        """Larks were getting a bit past it.  These are right well balanced."""
    )
    consist.foamer_facts = """GWR 4500 Class <i>Prairie Tank</i>"""

    return consist
Ejemplo n.º 28
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="flanders_storm",
        base_numeric_id=1740,
        name="Flanders Storm",
        role="heavy_freight",
        role_child_branch_num=4,
        power=5800,  # big jump from previous, IRL matches class 89 not 92
        # dibble for game balance, assume super-slip control
        tractive_effort_coefficient=0.4,
        random_reverse=True,
        gen=5,
        pantograph_type="z-shaped-double",
        intro_date_offset=-3,  # introduce earlier than gen epoch by design
        alternative_cc_livery="RAILFREIGHT_TRIPLE_GREY",
        sprites_complete=True,
    )

    consist.add_unit(type=ElectricEngineUnit,
                     weight=120,
                     vehicle_length=8,
                     spriterow_num=0)

    consist.description = (
        """This is a right proper engine.  Does work enough for two.""")
    consist.foamer_facts = """BR Class 92"""

    return consist
Ejemplo n.º 29
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="magnum_70",
        base_numeric_id=4960,
        name="Magnum 70",
        role="gronk!",
        role_child_branch_num=-2,
        power=500,
        speed=35,
        # dibble TE up for game balance, assume low gearing or something
        tractive_effort_coefficient=0.375,
        fixed_run_cost_points=100,  # substantial cost bonus so it can make money
        random_reverse=True,
        gen=6,
        intro_date_offset=-6,  # introduce earlier than gen epoch by design
        vehicle_life=60,  # extended vehicle life for all gronks eh
        sprites_complete=True,
    )

    consist.add_unit(type=DieselEngineUnit,
                     weight=70,
                     vehicle_length=4,
                     spriterow_num=0)

    consist.description = """Even Gronks don't last forever."""
    consist.foamer_facts = """Clayton CB40/CBD80/CBD90"""

    return consist
Ejemplo n.º 30
0
def main(roster_id):
    consist = EngineConsist(
        roster_id=roster_id,
        id="relentless",
        base_numeric_id=4400,
        name="Relentless",
        role="heavy_express",
        role_child_branch_num=2,
        power=
        3950,  # slightly more than standard progression, to enable higher speed to be reach quickly
        random_reverse=True,
        gen=6,
        intro_date_offset=
        -7,  # let's be earlier on this to keep the mail up with the HSTs etc
        fixed_run_cost_points=
        300,  # give a small malus to this one (balancing eh?)
        sprites_complete=True,
    )

    consist.add_unit(type=DieselEngineUnit,
                     weight=95,
                     vehicle_length=8,
                     spriterow_num=0)

    consist.description = """Solid piece of kit these."""
    consist.foamer_facts = (
        """Newag Griffin, Bombardier Traxx 2, Stadler Euro 4001, Siemens EuroRunner"""
    )

    return consist