Example #1
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id="farm",
    prod_cargo_types_with_multipliers=[],
    prob_in_game="3",
    prob_map_gen="15",  # intended to be relatively prevalent in Steeltown, split this per economy if needed
    map_colour="85",
    special_flags=[
        "IND_FLAG_PLANT_FIELDS_PERIODICALLY",
        "IND_FLAG_PLANT_FIELDS_WHEN_BUILT",
    ],
    # basic farm doesn't cluster, by design - no industry location checks needed
    prospect_chance="0.75",
    name="string(STR_IND_FARM)",
    extra_text_fund="string(STR_FUND_FARM)",
    nearby_station_name="string(STR_STATION_BARNS)",
    fund_cost_multiplier="49",
)

# definitely not in Arctic Basic, farm has been added and removed more than once from that economy :P

industry.economy_variations["IN_A_HOT_COUNTRY"].enabled = True
industry.economy_variations["IN_A_HOT_COUNTRY"].prod_cargo_types_with_multipliers = [
    ("MAIZ", 14),
    ("LVST", 13),
]
# industry.economy_variations['IN_A_HOT_COUNTRY'].prod_cargo_types_with_multipliers = [('MAIZ', 14), ('LVST', 13), ('NUTS', 14), ('WOOL', 10)]
industry.economy_variations["IN_A_HOT_COUNTRY"].prob_map_gen = "14"

###industry.economy_variations['BETTER_LIVING_THROUGH_CHEMISTRY'].enabled = True
Example #2
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id="orchard_piggery",
    prod_cargo_types_with_multipliers=[("FRUT", 9), ("LVST", 8)],
    map_colour="85",
    prob_in_game="4",
    prob_map_gen="11",
    prospect_chance="0.75",
    name="string(STR_IND_ORCHARD_PIGGERY)",
    extra_text_fund="string(STR_FUND_ORCHARD_PIGGERY)",
    location_checks=dict(require_cluster=[72, 4]),
    nearby_station_name="string(STR_STATION_ORCHARDS)",
    fund_cost_multiplier="54",
    override_default_construction_states=True,
    pollution_and_squalor_factor=1,
)

industry.economy_variations["BASIC_TEMPERATE"].enabled = True

industry.add_tile(
    id="orchard_piggery_tile_1",
    foundations="return CB_RESULT_NO_FOUNDATIONS",
    autoslope="return CB_RESULT_NO_AUTOSLOPE",
    location_checks=TileLocationChecks(
        disallow_above_snowline=True,
        disallow_desert=True,
        disallow_industry_adjacent=True,
    ),
)
industry.add_tile(
Example #3
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id='fruit_plantation',
    prob_in_game='4',
    prob_random='10',
    prospect_chance='0.75',
    map_colour='207',
    name='TTD_STR_INDUSTRY_NAME_FRUIT_PLANTATION',
    extra_text_fund='string(STR_FUND_FRUIT_PLANTATION)',
    nearby_station_name='string(STR_STATION_PLANTATION)',
    spec_flags=
    'bitmask(IND_FLAG_PLANT_FIELDS_PERIODICALLY, IND_FLAG_PLANT_FIELDS_WHEN_BUILT)',
    # fruit plantation doesn't cluster, by design - no industry location checks needed
    prod_cargo_types=['FRUT', 'FICR'],
    fund_cost_multiplier='54',
    prod_multiplier='[16, 12]',
    override_default_construction_states=True)

industry.economy_variations['FIRS'].enabled = True
industry.economy_variations['MISTAH_KURTZ'].enabled = True

industry.add_tile(id='fruit_plantation_tile_1',
                  foundations='return CB_RESULT_NO_FOUNDATIONS',
                  autoslope='return CB_RESULT_NO_AUTOSLOPE',
                  location_checks=TileLocationChecks(
                      disallow_above_snowline=True,
                      disallow_desert=True,
                      disallow_coast=True,
                      disallow_industry_adjacent=True))
industry.add_tile(
Example #4
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(id='arable_farm',
                                  prod_cargo_types=['GRAI', 'SGBT'],
                                  prob_in_game='4',
                                  prob_random='11',
                                  prod_multiplier='[14, 14]',
                                  map_colour='209',
                                  spec_flags='bitmask(IND_FLAG_PLANT_FIELDS_PERIODICALLY, IND_FLAG_PLANT_FIELDS_WHEN_BUILT)',
                                  location_checks=dict(cluster=[72, 4]),
                                  prospect_chance='0.75',
                                  name='string(STR_IND_ARABLE_FARM)',
                                  extra_text_fund='string(STR_FUND_ARABLE_FARM)',
                                  nearby_station_name='string(STR_STATION_FARM_1)',
                                  fund_cost_multiplier='55',
                                  graphics_change_dates=[1928])

industry.economy_variations['FIRS'].enabled = True

industry.add_tile(id='arable_farm_tile_1',
                  location_checks=TileLocationChecks(disallow_slopes=True,
                                                     disallow_above_snowline=True,
                                                     disallow_desert=True,
                                                     disallow_industry_adjacent=True))

sprite_ground = industry.add_sprite(
    sprite_number='GROUNDTILE_MUD_TRACKS'
)
spriteset_ground_empty = industry.add_spriteset(
    type='empty'
)
Example #5
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id="dairy_farm",
    prod_cargo_types_with_multipliers=[("LVST", 12), ("MILK", 14)],
    prob_in_game="3",
    prob_map_gen="11",
    map_colour="164",
    # fields aren't 100% appropriate, but without them there are zero farm fields planted in Basic Temperate economy
    special_flags=[
        "IND_FLAG_PLANT_FIELDS_PERIODICALLY",
        "IND_FLAG_PLANT_FIELDS_WHEN_BUILT",
    ],
    location_checks=dict(cluster=[72, 4]),
    prospect_chance="0.75",
    name="string(STR_IND_DAIRY_FARM)",
    extra_text_fund="string(STR_FUND_DAIRY_FARM)",
    nearby_station_name="string(STR_STATION_FARM_2)",
    fund_cost_multiplier="60",
)

industry.economy_variations["BASIC_TEMPERATE"].enabled = True
###industry.economy_variations['BETTER_LIVING_THROUGH_CHEMISTRY'].enabled = True

industry.add_tile(
    id="dairy_farm_tile_1",
    location_checks=TileLocationChecks(
        disallow_steep_slopes=True,
        disallow_above_snowline=True,
        disallow_desert=True,
        disallow_coast=True,
Example #6
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id="fruit_plantation",
    prod_cargo_types_with_multipliers=[("FRUT", 16)],
    prob_in_game="4",
    prob_map_gen="10",
    prospect_chance="0.75",
    map_colour="207",
    name="TTD_STR_INDUSTRY_NAME_FRUIT_PLANTATION",
    extra_text_fund="string(STR_FUND_FRUIT_PLANTATION)",
    nearby_station_name="string(STR_STATION_PLANTATION)",
    # fruit plantation doesn't cluster, by design - no industry location checks needed
    fund_cost_multiplier="54",
    override_default_construction_states=True,
)

###industry.economy_variations['BETTER_LIVING_THROUGH_CHEMISTRY'].enabled = True
industry.economy_variations["IN_A_HOT_COUNTRY"].enabled = True

industry.add_tile(
    id="fruit_plantation_tile_1",
    foundations="return CB_RESULT_NO_FOUNDATIONS",
    autoslope="return CB_RESULT_NO_AUTOSLOPE",
    location_checks=TileLocationChecks(
        disallow_above_snowline=True,
        disallow_coast=True,
        disallow_industry_adjacent=True,
    ),
)
industry.add_tile(
Example #7
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id="rubber_plantation",
    prod_cargo_types_with_multipliers=[("RUBR", 16)],
    map_colour="121",
    prob_in_game="4",
    prob_map_gen="11",
    prospect_chance="0.75",
    name="TTD_STR_INDUSTRY_NAME_RUBBER_PLANTATION",
    extra_text_fund="string(STR_FUND_RUBBER_PLANTATION)",
    nearby_station_name="string(STR_STATION_TAPPERS_SHED)",
    location_checks=dict(require_cluster=[72, 4]),
    fund_cost_multiplier="54",
    override_default_construction_states=True,
)

industry.economy_variations["IN_A_HOT_COUNTRY"].enabled = True
industry.economy_variations[
    "IN_A_HOT_COUNTRY"].prod_cargo_types_with_multipliers = [("RUBR", 16)]
# industry.economy_variations['IN_A_HOT_COUNTRY'].prod_cargo_types_with_multipliers = [('LATX', 16)]

industry.add_tile(
    id="rubber_plantation_tile_1",
    foundations="return CB_RESULT_NO_FOUNDATIONS",
    autoslope="return CB_RESULT_NO_AUTOSLOPE",
    location_checks=TileLocationChecks(
        disallow_above_snowline=True,
        disallow_coast=True,
        disallow_industry_adjacent=True,
    ),
Example #8
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id='mixed_farm',
    prod_cargo_types=['LVST', 'FICR'],
    prob_in_game='3',
    prob_random='11',
    prod_multiplier='[13, 14]',
    map_colour='85',
    spec_flags=
    'bitmask(IND_FLAG_PLANT_FIELDS_PERIODICALLY, IND_FLAG_PLANT_FIELDS_WHEN_BUILT)',
    # mixed farm doesn't cluster, by design - no industry location checks needed
    prospect_chance='0.75',
    name='string(STR_IND_MIXEDFARM)',
    extra_text_fund='string(STR_FUND_MIXED_FARM)',
    nearby_station_name='string(STR_STATION_BARNS)',
    fund_cost_multiplier='49')

industry.economy_variations['FIRS'].enabled = True
industry.economy_variations['FERNZ'].enabled = True
# definitely not in Arctic Basic, farm has been added and removed more than once from that economy :P
industry.economy_variations['MISTAH_KURTZ'].enabled = True
industry.economy_variations['MISTAH_KURTZ'].prod_cargo_types = ['MAIZ', 'LVST']
industry.economy_variations['MISTAH_KURTZ'].prob_random = '14'
industry.economy_variations['MISTAH_KURTZ'].prod_multiplier = '[14, 13]'

industry.economy_variations['STEELTOWN'].enabled = True
industry.economy_variations['STEELTOWN'].name = 'string(STR_IND_BASICFARM)'
industry.economy_variations['STEELTOWN'].prod_cargo_types = ['FOOD']

industry.add_tile(id='mixed_farm_tile_1',
Example #9
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id='forest',
    prob_in_game='3',
    prob_random='10',
    map_colour='83',
    prospect_chance='0.75',
    prod_cargo_types=['WOOD'],
    location_checks=dict(cluster=[72, 3]),
    name='TTD_STR_INDUSTRY_NAME_FOREST',
    extra_text_fund='string(STR_FUND_FOREST)',
    fund_cost_multiplier='95',
    prod_multiplier='[19]',
    substitute='INDUSTRYTYPE_FOREST',
    nearby_station_name='string(STR_STATION_FOREST)',
    graphics_change_dates=[1935, 1990],
    override_default_construction_states=True)

industry.economy_variations['FIRS'].enabled = True
industry.economy_variations['BASIC_ARCTIC'].enabled = True
industry.economy_variations['BASIC_ARCTIC'].prod_cargo_types = ['WOOD']
industry.economy_variations['BASIC_ARCTIC'].prod_multiplier = '[24]'
industry.economy_variations['MISTAH_KURTZ'].enabled = True

industry.add_tile(id='forest_tile_1',
                  foundations='return CB_RESULT_NO_FOUNDATIONS',
                  autoslope='return CB_RESULT_NO_AUTOSLOPE',
                  location_checks=TileLocationChecks(
                      disallow_desert=True,
                      disallow_coast=True,
Example #10
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id='ranch',
    prod_cargo_types=['LVST', 'WOOL'],
    prob_in_game='4',
    prob_random='11',
    prod_multiplier='[14, 13]',
    map_colour='168',
    location_checks=dict(cluster=[72, 4]),
    prospect_chance='0.75',
    name='string(STR_IND_RANCH)',
    nearby_station_name='string(STR_STATION_FARM_3)',
    fund_cost_multiplier='45')

industry.economy_variations['BASIC_TROPIC'].enabled = True

industry.add_tile(id='ranch_tile_1',
                  location_checks=TileLocationChecks(
                      disallow_coast=True, disallow_industry_adjacent=True))

spriteset_ground = industry.add_spriteset(type='empty')
spriteset_ground_overlay = industry.add_spriteset(type='empty')
spriteset_1 = industry.add_spriteset(sprites=[(10, 10, 64, 52, -31, -21)], )
spriteset_2 = industry.add_spriteset(sprites=[(80, 10, 64, 52, -31, -19)], )
spriteset_3 = industry.add_spriteset(sprites=[(150, 10, 64, 52, -31, -21)], )
spriteset_4 = industry.add_spriteset(sprites=[(220, 10, 64, 52, -31, -21)], )
spriteset_5 = industry.add_spriteset(sprites=[(290, 10, 64, 52, -31, -21)], )

industry.add_spritelayout(id='ranch_spritelayout_1',
                          ground_sprite=spriteset_ground,
Example #11
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id='dairy_farm',
    prod_cargo_types=['LVST', 'MILK'],
    prob_in_game='3',
    prob_random='11',
    prod_multiplier='[12, 14]',
    map_colour='164',
    location_checks=dict(cluster=[72, 4]),
    prospect_chance='0.75',
    name='string(STR_IND_DAIRY_FARM)',
    extra_text_fund='string(STR_FUND_DAIRY_FARM)',
    nearby_station_name='string(STR_STATION_FARM_2)',
    fund_cost_multiplier='60')

industry.economy_variations['FIRS'].enabled = True
industry.economy_variations['BASIC_TEMPERATE'].enabled = True

industry.add_tile(id='dairy_farm_tile_1',
                  location_checks=TileLocationChecks(
                      disallow_steep_slopes=True,
                      disallow_above_snowline=True,
                      disallow_desert=True,
                      disallow_coast=True,
                      disallow_industry_adjacent=True))

sprite_ground = industry.add_sprite(sprite_number='GROUNDTILE_MUD_TRACKS')
spriteset_ground_empty = industry.add_spriteset(type='empty')
spriteset_ground_overlay = industry.add_spriteset(type='empty')
spriteset_barn1 = industry.add_spriteset(sprites=[(10, 10, 64, 52, -31, -21)
Example #12
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id="herding_coop",
    prod_cargo_types_with_multipliers=[("FOOD", 7)],
    prob_in_game="14",
    prob_map_gen="14",
    map_colour="207",
    special_flags=["IND_FLAG_NO_PRODUCTION_INCREASE"],
    # herding_coop doesn't cluster, by design - no industry location checks needed
    prospect_chance="0.75",
    name="string(STR_IND_HERDING_COOP)",
    extra_text_fund="string(STR_FUND_HERDING_COOP)",
    nearby_station_name="string(STR_STATION_HERDING_COOP)",
    fund_cost_multiplier="88",
)

industry.economy_variations["BASIC_ARCTIC"].enabled = True

industry.add_tile(
    id="herding_coop_tile_1",
    animation_length=71,
    animation_looping=True,
    animation_speed=2,
    location_checks=TileLocationChecks(
        disallow_desert=True, disallow_coast=True, disallow_industry_adjacent=True
    ),
)

spriteset_ground = industry.add_spriteset(type="empty")
sprite_ground_mud = industry.add_sprite(sprite_number=3943)
Example #13
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id='sheep_farm',
    prod_cargo_types=['LVST', 'WOOL'],
    prob_in_game='4',
    prob_random='11',
    prod_multiplier='[12, 14]',
    map_colour='168',
    location_checks=dict(cluster=[72, 4]),
    spec_flags=
    'bitmask(IND_FLAG_PLANT_FIELDS_PERIODICALLY, IND_FLAG_PLANT_FIELDS_WHEN_BUILT)',
    prospect_chance='0.75',
    name='string(STR_IND_SHEEPFARM)',
    nearby_station_name='string(STR_STATION_SHEEP_FOLD)',
    fund_cost_multiplier='45')

industry.economy_variations['FIRS'].enabled = True

industry.add_tile(id='sheep_farm_tile_1',
                  location_checks=TileLocationChecks(
                      disallow_coast=True, disallow_industry_adjacent=True))

spriteset_ground = industry.add_spriteset(type='empty')
spriteset_ground_overlay = industry.add_spriteset(type='empty')
spriteset_1 = industry.add_spriteset(sprites=[(10, 10, 64, 52, -31, -21)], )
spriteset_2 = industry.add_spriteset(sprites=[(80, 10, 64, 52, -31, -19)], )
spriteset_3 = industry.add_spriteset(sprites=[(150, 10, 64, 52, -31, -21)], )
spriteset_4 = industry.add_spriteset(sprites=[(220, 10, 64, 52, -31, -21)], )
spriteset_5 = industry.add_spriteset(sprites=[(290, 10, 64, 52, -31, -21)], )
Example #14
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id='orchard_piggery',
    map_colour='85',
    prob_in_game='4',
    prob_random='11',
    prospect_chance='0.75',
    name='string(STR_IND_ORCHARD_PIGGERY)',
    extra_text_fund='string(STR_FUND_ORCHARD_PIGGERY)',
    location_checks=dict(cluster=[72, 4]),
    prod_cargo_types=['FRUT', 'LVST'],
    nearby_station_name='string(STR_STATION_ORCHARDS)',
    fund_cost_multiplier='54',
    prod_multiplier='[9, 8]',
    override_default_construction_states=True)

industry.economy_variations['BASIC_TEMPERATE'].enabled = True
industry.economy_variations['FERNZ'].enabled = True

industry.add_tile(id='orchard_piggery_tile_1',
                  foundations='return CB_RESULT_NO_FOUNDATIONS',
                  autoslope='return CB_RESULT_NO_AUTOSLOPE',
                  location_checks=TileLocationChecks(
                      disallow_above_snowline=True,
                      disallow_desert=True,
                      disallow_industry_adjacent=True))
industry.add_tile(id='orchard_piggery_tile_2',
                  autoslope='return CB_RESULT_AUTOSLOPE',
                  location_checks=TileLocationChecks(
                      disallow_above_snowline=True,
Example #15
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id="coffee_estate",
    prod_cargo_types_with_multipliers=[("JAVA", 11), ("FRUT", 8)],
    map_colour="70",
    prob_in_game="3",
    prob_map_gen="10",
    prospect_chance="0.75",
    name="string(STR_IND_COFFEE_ESTATE)",
    extra_text_fund="string(STR_FUND_COFFEE_ESTATE)",
    location_checks=dict(cluster=[72, 4]),
    nearby_station_name="string(STR_STATION_ESTATE)",
    fund_cost_multiplier="54",
    override_default_construction_states=True,
)

industry.economy_variations["IN_A_HOT_COUNTRY"].enabled = True
industry.economy_variations["BASIC_TROPIC"].enabled = True
industry.economy_variations[
    "BASIC_TROPIC"].prod_cargo_types_with_multipliers = [
        ("JAVA", 9),
        ("FRUT", 9),
    ]

industry.add_tile(
    id="coffee_estate_tile_1",
    foundations="return CB_RESULT_NO_FOUNDATIONS",
    autoslope="return CB_RESULT_NO_AUTOSLOPE",
    location_checks=TileLocationChecks(
        disallow_above_snowline=True,
Example #16
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id="vineyard",
    prod_cargo_types_with_multipliers=[("BEER", 9), ("FRUT", 9)],
    map_colour="85",
    prob_in_game="3",
    prob_map_gen="10",
    prospect_chance="0.75",
    name="string(STR_IND_VINEYARD)",
    extra_text_fund="string(STR_FUND_VINEYARD)",
    location_checks=dict(require_cluster=[72, 4]),
    nearby_station_name="string(STR_STATION_WINERY)",
    fund_cost_multiplier="54",
    prod_multiplier="[11, 8]",
    override_default_construction_states=True,
)

industry.economy_variations["BASIC_TROPIC"].enabled = True

industry.add_tile(
    id="vineyard_tile_1",
    foundations="return CB_RESULT_NO_FOUNDATIONS",
    autoslope="return CB_RESULT_NO_AUTOSLOPE",
    location_checks=TileLocationChecks(
        disallow_above_snowline=True,
        disallow_desert=True,
        disallow_industry_adjacent=True,
    ),
)
industry.add_tile(
Example #17
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id='rubber_plantation',
    map_colour='121',
    prob_in_game='4',
    prob_random='11',
    prospect_chance='0.75',
    name='TTD_STR_INDUSTRY_NAME_RUBBER_PLANTATION',
    extra_text_fund='string(STR_FUND_RUBBER_PLANTATION)',
    nearby_station_name='string(STR_STATION_TAPPERS_SHED)',
    location_checks=dict(cluster=[72, 4]),
    prod_cargo_types=['RUBR'],
    fund_cost_multiplier='54',
    prod_multiplier='[16]',
    override_default_construction_states=True)

industry.economy_variations['MISTAH_KURTZ'].enabled = True

industry.add_tile(id='rubber_plantation_tile_1',
                  foundations='return CB_RESULT_NO_FOUNDATIONS',
                  autoslope='return CB_RESULT_NO_AUTOSLOPE',
                  location_checks=TileLocationChecks(
                      disallow_above_snowline=True,
                      disallow_coast=True,
                      disallow_industry_adjacent=True))
industry.add_tile(
    id='rubber_plantation_tile_2',  # house
    autoslope='return CB_RESULT_AUTOSLOPE',
    location_checks=TileLocationChecks(disallow_above_snowline=True,
                                       disallow_coast=True,
Example #18
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id="arable_farm",
    prod_cargo_types_with_multipliers=[("GRAI", 14), ("BEAN", 14)],
    prob_in_game="4",
    prob_map_gen="11",
    map_colour="209",
    special_flags=[
        "IND_FLAG_PLANT_FIELDS_PERIODICALLY",
        "IND_FLAG_PLANT_FIELDS_WHEN_BUILT",
    ],
    location_checks=dict(require_cluster=[72, 4]),
    prospect_chance="0.75",
    name="string(STR_IND_ARABLE_FARM)",
    extra_text_fund="string(STR_FUND_ARABLE_FARM)",
    nearby_station_name="string(STR_STATION_FARM_1)",
    fund_cost_multiplier="55",
    graphics_change_dates=[1928],
)

industry.economy_variations["BASIC_TROPIC"].enabled = True
industry.economy_variations[
    "BASIC_TROPIC"].prod_cargo_types_with_multipliers = [
        ("GRAI", 14),
        ("BEAN", 14),
    ]

industry.economy_variations["IN_A_HOT_COUNTRY"].enabled = True
industry.economy_variations[
    "IN_A_HOT_COUNTRY"].prod_cargo_types_with_multipliers = [
Example #19
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id="fish_farm",
    accept_cargo_types=[],
    prod_cargo_types_with_multipliers=[("FISH", 8)],
    prob_in_game="14",
    prob_map_gen="14",
    substitute="5",
    map_colour="160",
    life_type="IND_LIFE_TYPE_EXTRACTIVE",
    special_flags=[
        "IND_FLAG_BUILT_ON_WATER",
        "IND_FLAG_NO_PRODUCTION_INCREASE",
        "IND_FLAG_AI_CREATES_AIR_AND_SHIP_ROUTES",
    ],
    location_checks=dict(cluster=[60, 5], coast_distance=True),
    prospect_chance="0.75",
    name="string(STR_IND_FISH_FARM)",
    nearby_station_name=
    "string(STR_STATION_SEAFOOD)",  # appears to not work - maybe water industries don't accept station names?
    fund_cost_multiplier="88",
)

industry.economy_variations["BASIC_ARCTIC"].enabled = True

industry.add_tile(
    id="fish_farm_tile_1",
    land_shape_flags="bitmask(LSF_ONLY_ON_FLAT_LAND)",
    location_checks=TileLocationChecks(always_allow_founder=False),
)
Example #20
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id="forest",
    prod_cargo_types_with_multipliers=[("WOOD", 19)],
    prob_in_game="3",
    prob_map_gen="10",
    map_colour="83",
    prospect_chance="0.75",
    location_checks=dict(cluster=[72, 3]),
    name="TTD_STR_INDUSTRY_NAME_FOREST",
    extra_text_fund="string(STR_FUND_FOREST)",
    fund_cost_multiplier="95",
    substitute="INDUSTRYTYPE_FOREST",
    nearby_station_name="string(STR_STATION_FOREST)",
    graphics_change_dates=[1935, 1990],
    override_default_construction_states=True,
)

industry.economy_variations["BASIC_ARCTIC"].enabled = True
industry.economy_variations[
    "BASIC_ARCTIC"].prod_cargo_types_with_multipliers = [("WOOD", 24)]
industry.economy_variations["IN_A_HOT_COUNTRY"].enabled = True

industry.add_tile(
    id="forest_tile_1",
    foundations="return CB_RESULT_NO_FOUNDATIONS",
    autoslope="return CB_RESULT_NO_AUTOSLOPE",
    location_checks=TileLocationChecks(disallow_desert=True,
                                       disallow_coast=True,
                                       disallow_industry_adjacent=True),
Example #21
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id="sheep_farm",
    prod_cargo_types_with_multipliers=[("LVST", 12), ("WOOL", 14)],
    prob_in_game="4",
    prob_map_gen="11",
    map_colour="168",
    location_checks=dict(require_cluster=[72, 4]),
    prospect_chance="0.75",
    name="string(STR_IND_SHEEPFARM)",
    nearby_station_name="string(STR_STATION_SHEEP_FOLD)",
    fund_cost_multiplier="45",
)

industry.add_tile(
    id="sheep_farm_tile_1",
    location_checks=TileLocationChecks(disallow_coast=True,
                                       disallow_industry_adjacent=True),
)

spriteset_ground = industry.add_spriteset(type="empty")
spriteset_ground_overlay = industry.add_spriteset(type="empty")
spriteset_1 = industry.add_spriteset(sprites=[(10, 10, 64, 52, -31, -21)], )
spriteset_2 = industry.add_spriteset(sprites=[(80, 10, 64, 52, -31, -19)], )
spriteset_3 = industry.add_spriteset(sprites=[(150, 10, 64, 52, -31, -21)], )
spriteset_4 = industry.add_spriteset(sprites=[(220, 10, 64, 52, -31, -21)], )
spriteset_5 = industry.add_spriteset(sprites=[(290, 10, 64, 52, -31, -21)], )

industry.add_spritelayout(
    id="sheep_farm_spritelayout_1",
Example #22
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(id='herding_coop',
                                  prod_cargo_types=['FOOD'],
                                  prob_in_game='14',
                                  prob_random='14',
                                  prod_multiplier='[5, 0]',
                                  map_colour='207',
                                  spec_flags='bitmask(IND_FLAG_NO_PRODUCTION_INCREASE)',
                                  # herding_coop doesn't cluster, by design - no industry location checks needed
                                  prospect_chance='0.75',
                                  name='string(STR_IND_HERDING_COOP)',
                                  extra_text_fund='string(STR_FUND_HERDING_COOP)',
                                  nearby_station_name='string(STR_STATION_HERDING_COOP)',
                                  fund_cost_multiplier='88')

industry.economy_variations['BASIC_ARCTIC'].enabled = True

industry.add_tile(id='herding_coop_tile_1',
                  animation_length=71,
                  animation_looping=True,
                  animation_speed=2,
                  location_checks=TileLocationChecks(disallow_desert=True,
                                                     disallow_coast=True,
                                                     disallow_industry_adjacent=True))

spriteset_ground = industry.add_spriteset(
    type='empty'
)
sprite_ground_mud = industry.add_sprite(
    sprite_number=3943
Example #23
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(id='vineyard',
                                  map_colour='85',
                                  prob_in_game='3',
                                  prob_random='10',
                                  prospect_chance='0.75',
                                  name='string(STR_IND_VINEYARD)',
                                  extra_text_fund='string(STR_FUND_VINEYARD)',
                                  location_checks=dict(cluster=[72, 4]),
                                  prod_cargo_types=['BEER', 'FRUT'],
                                  nearby_station_name='string(STR_STATION_WINERY)',
                                  fund_cost_multiplier='54',
                                  prod_multiplier='[11, 8]',
                                  override_default_construction_states=True)

industry.economy_variations['BASIC_TROPIC'].enabled = True
industry.economy_variations['BASIC_TROPIC'].prod_multiplier = '[9, 9]'

industry.economy_variations['FERNZ'].enabled = True


industry.add_tile(id='vineyard_tile_1',
                  foundations='return CB_RESULT_NO_FOUNDATIONS',
                  autoslope='return CB_RESULT_NO_AUTOSLOPE',
                  location_checks=TileLocationChecks(disallow_above_snowline=True,
                                                     disallow_desert=True,
                                                     disallow_industry_adjacent=True))
industry.add_tile(id='vineyard_tile_2',  # house
                  autoslope='return CB_RESULT_AUTOSLOPE',
                  location_checks=TileLocationChecks(disallow_above_snowline=True,
Example #24
0
from industry import IndustryPrimaryOrganic, TileLocationChecks

industry = IndustryPrimaryOrganic(
    id='peatlands',
    prod_cargo_types=['PEAT'],
    prob_in_game='2',
    prob_random='3',
    prod_multiplier='[14, 14]',
    map_colour='72',
    # allow longer distance on clustering than usual, and more clusters, as industry is hard to locate
    location_checks=dict(cluster=[90, 4]),
    prospect_chance='0.75',
    name='string(STR_IND_PEATLANDS)',
    nearby_station_name='string(STR_IND_PEATLANDS)',
    fund_cost_multiplier='210')

industry.economy_variations['FIRS'].enabled = True

# 2 tiles for this industry: pit outer tile cannot be on slopes; pit inner tiles and processor tiles can be
# cases for both tiles ensure that tiles can only be built at same height as north tile
industry.add_tile(id='peatlands_tile_1',
                  location_checks=TileLocationChecks(
                      require_effectively_flat=True,
                      disallow_desert=True,
                      disallow_industry_adjacent=True))
industry.add_tile(
    id='peatlands_tile_2',
    foundations=
    'return CB_RESULT_NO_FOUNDATIONS',  # might not be needed, cargo-culted from previous code, didn't test; may be needed to stop rear foundations showing in some cases?
    autoslope='return CB_RESULT_NO_AUTOSLOPE',
    location_checks=TileLocationChecks(disallow_slopes=True,