industry.economy_variations["BASIC_TROPIC"].enabled = True ###industry.economy_variations['BETTER_LIVING_THROUGH_CHEMISTRY'].enabled = True industry.economy_variations["IN_A_HOT_COUNTRY"].enabled = True industry.economy_variations["IN_A_HOT_COUNTRY"].prob_map_gen = "14" # industry.economy_variations['IN_A_HOT_COUNTRY'].accept_cargo_types = ['FOOD', 'GOOD', 'BEER', 'TEXT'] industry.economy_variations["STEELTOWN"].enabled = True industry.economy_variations["STEELTOWN"].accept_cargo_types = [ "FOOD", ] industry.add_tile( id="general_store_tile_1", location_checks=TileLocationChecks(require_road_adjacent=True), ) spriteset_ground = industry.add_spriteset(type="slab", ) spriteset_ground_overlay = industry.add_spriteset(sprites=[(10, 10, 64, 31, -31, 0)], ) spriteset_1 = industry.add_spriteset(sprites=[(10, 60, 64, 48, -31, -18)]) industry.add_spritelayout( id="general_store_spritelayout", ground_sprite=spriteset_ground, ground_overlay=spriteset_ground_overlay, building_sprites=[spriteset_1], ) industry.add_industry_layout( id="general_store_industry_layout", layout=[(0, 0, "general_store_tile_1", "general_store_spritelayout")],
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, disallow_desert=True, disallow_industry_adjacent=True)) sprite_ground = industry.add_sprite( sprite_number=3962 ) spriteset_ground_overlay = industry.add_spriteset( type='empty' ) spriteset_1 = industry.add_spriteset( sprites=[(10, 10, 64, 59, -31, -28)],
industry.economy_variations["STEELTOWN"].enabled = True industry.economy_variations[ "STEELTOWN"].prob_in_game = "1" # low chance of build during gameplay industry.add_tile( id="electric_arc_furnace_tile_1", animation_length=71, animation_looping=True, animation_speed=2, custom_animation_control={ "macro": "random_first_frame", "animation_triggers": "bitmask(ANIM_TRIGGER_INDTILE_CONSTRUCTION_STATE)", }, location_checks=TileLocationChecks(require_effectively_flat=True, disallow_industry_adjacent=True), ) spriteset_ground = industry.add_spriteset(type="hard_standing_dirt", ) spriteset_ground_overlay = industry.add_spriteset(type="empty", ) spriteset_1 = industry.add_spriteset(sprites=[(10, 10, 64, 76, -31, -45)], ) spriteset_2 = industry.add_spriteset(sprites=[(80, 10, 64, 76, -31, -45)], ) spriteset_3 = industry.add_spriteset(sprites=[(150, 10, 64, 63, -31, -32)], ) spriteset_scrap_1 = industry.add_spriteset(sprites=[(220, 10, 64, 63, -31, -32) ], ) spriteset_scrap_2 = industry.add_spriteset(sprites=[(290, 10, 64, 63, -31, -32) ], ) spriteset_metal_1 = industry.add_spriteset(sprites=[(360, 10, 64, 63, -31, -32) ], ) spriteset_metal_2 = industry.add_spriteset(sprites=[(430, 10, 64, 63, -31, -32) ], )
nearby_station_name="string(STR_STATION_BONEYARD)", fund_cost_multiplier="101", graphics_change_dates=[1949, 1960, 1980, 2000], ) industry.economy_variations["BASIC_TEMPERATE"].enabled = True industry.economy_variations["STEELTOWN"].enabled = True industry.economy_variations["STEELTOWN"].prob_map_gen = "14" industry.add_tile( id="junk_yard_tile_1", location_checks=TileLocationChecks( disallow_steep_slopes=True, require_houses_nearby=True, disallow_industry_adjacent=True, ), ) sprite_ground = industry.add_sprite(sprite_number="GROUNDTILE_MUD_TRACKS") spriteset_ground_overlay = industry.add_spriteset(type="empty") spriteset_1 = industry.add_spriteset( sprites=[(10, 10, 64, 55, -31, -24)], ) spriteset_2 = industry.add_spriteset( sprites=[(80, 10, 64, 55, -31, -24)], ) spriteset_3 = industry.add_spriteset( sprites=[(150, 10, 64, 55, -31, -24)], )
industry.economy_variations['BASIC_ARCTIC'].enabled = True industry.economy_variations['BASIC_ARCTIC'].accept_cargo_types = [ 'BOOM', 'PEAT', 'GOOD' ] industry.economy_variations['BASIC_ARCTIC'].prod_cargo_types = ['FMSP', 'BEER'] industry.economy_variations['MISTAH_KURTZ'].enabled = True industry.economy_variations['MISTAH_KURTZ'].accept_cargo_types = [ 'DIAM', 'JAVA', 'RUBR' ] industry.economy_variations['MISTAH_KURTZ'].prod_cargo_types = ['ENSP', 'FMSP'] industry.add_tile( id='trading_post_tile_1', land_shape_flags='bitmask(LSF_ONLY_ON_FLAT_LAND)', location_checks=TileLocationChecks(always_allow_founder=False)) industry.add_tile(id='trading_post_tile_2', foundations='return CB_RESULT_NO_FOUNDATIONS', location_checks=TileLocationChecks( always_allow_founder=False, require_coast=True)) sprite_ground = industry.add_sprite(sprite_number='GROUNDSPRITE_WATER') spriteset_ground_empty = industry.add_spriteset(type='empty') spriteset_concrete = industry.add_spriteset( sprites=[(10, 10, 64, 39, -31, -8)], always_draw=1, ) spriteset_jetty_se_nw = industry.add_spriteset( sprites=[(10, 60, 64, 39, -31, -7)], always_draw=1, ) spriteset_jetty_ne_sw = industry.add_spriteset(sprites=[(80, 60, 64, 39, -31,
spec_flags= 'bitmask(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_FISHING_GROUND)', nearby_station_name='string(STR_STATION_SHOALS)', fund_cost_multiplier='88') industry.economy_variations['FIRS'].enabled = True industry.economy_variations['BASIC_TEMPERATE'].enabled = True industry.economy_variations['BASIC_TROPIC'].enabled = True industry.economy_variations['BASIC_ARCTIC'].enabled = True industry.add_tile( id='fishing_grounds_tile_1', location_checks=TileLocationChecks(disallow_industry_adjacent=True)) sprite_ground = industry.add_sprite(sprite_number='GROUNDSPRITE_WATER', ) spriteset_ground_empty = industry.add_spriteset(type='empty') spriteset_1 = industry.add_spriteset(sprites=[(10, 10, 64, 31, -31, 0)], ) spriteset_2 = industry.add_spriteset(sprites=[(80, 10, 64, 31, -31, 0)], ) spriteset_3 = industry.add_spriteset(sprites=[(150, 10, 64, 31, -31, 0)], ) spriteset_4 = industry.add_spriteset(sprites=[(220, 10, 64, 31, -31, 0)], ) spriteset_5 = industry.add_spriteset(sprites=[(290, 10, 64, 31, -31, -32)], ) industry.add_spritelayout(id='fishing_grounds_spritelayout_1', ground_sprite=sprite_ground, ground_overlay=spriteset_ground_empty, building_sprites=[spriteset_1]) industry.add_spritelayout(id='fishing_grounds_spritelayout_2', ground_sprite=sprite_ground,
industry.economy_variations["IN_A_HOT_COUNTRY"].prob_map_gen = "14" ###industry.economy_variations['BETTER_LIVING_THROUGH_CHEMISTRY'].enabled = True ###industry.economy_variations['BETTER_LIVING_THROUGH_CHEMISTRY'].prod_cargo_types_with_multipliers = [('GRAI', 14), ('LVST', 13)] industry.economy_variations["STEELTOWN"].enabled = True industry.economy_variations["STEELTOWN"].prod_cargo_types_with_multipliers = [ ("FOOD", 14) ] industry.add_tile( id="farm_tile_1", location_checks=TileLocationChecks( disallow_steep_slopes=True, disallow_above_snowline=True, 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="GROUNDSPRITE_CLEARED") spriteset_ground_overlay = industry.add_spriteset(type="empty") spriteset_1 = industry.add_spriteset( sprites=[(10, 10, 64, 52, -31, -21)], ) spriteset_1_ground = industry.add_spriteset( sprites=[(10, 70, 64, 52, -31, -21)], ) spriteset_2 = industry.add_spriteset(
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, ), ) industry.add_tile( id="rubber_plantation_tile_2", # house autoslope="return CB_RESULT_AUTOSLOPE", location_checks=TileLocationChecks( disallow_above_snowline=True, disallow_coast=True, disallow_industry_adjacent=True, ), ) sprite_ground = industry.add_sprite(sprite_number=3962) spriteset_ground_overlay = industry.add_spriteset(type="empty")
industry.economy_variations["IN_A_HOT_COUNTRY"].enabled = True industry.economy_variations[ "IN_A_HOT_COUNTRY"].prod_cargo_types_with_multipliers = [ ("SAND", 14), ("GRVL", 14), ] # industry.economy_variations['IN_A_HOT_COUNTRY'].prod_cargo_types_with_multipliers = [('LIME', 16)] # 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="quarry_tile_1", location_checks=TileLocationChecks( require_effectively_flat=True, disallow_desert=True, disallow_industry_adjacent=True, ), ) industry.add_tile( id="quarry_tile_2", animation_length=56, animation_looping=True, animation_speed=4, custom_animation_control={ "macro": "random_first_frame", "animation_triggers": "bitmask(ANIM_TRIGGER_INDTILE_CONSTRUCTION_STATE)", }, 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?
life_type='IND_LIFE_TYPE_BLACK_HOLE', location_checks=dict(same_type_distance=16), prospect_chance='0.75', name='string(STR_IND_PETROLPUMP)', nearby_station_name='string(STR_STATION_PUMPS)', fund_cost_multiplier='8', intro_year=1900) industry.economy_variations['FIRS'].enabled = True industry.economy_variations['FERNZ'].enabled = True industry.economy_variations['MISTAH_KURTZ'].enabled = True industry.economy_variations['MISTAH_KURTZ'].prob_random = '8' industry.economy_variations['MISTAH_KURTZ'].prob_in_game = '8' industry.add_tile(id='petrol_pump_tile_1', location_checks=TileLocationChecks(require_road_adjacent=True, require_effectively_flat=True)) sprite_ground = industry.add_sprite( sprite_number='GROUNDTILE_SLABS', ) sprite_ground_overlay = industry.add_sprite( sprite_number='GROUNDTILE_SLABS', ) spriteset_1 = industry.add_spriteset( sprites=[(10, 60, 64, 59, -31, -28)] ) spriteset_2 = industry.add_spriteset( sprites=[(80, 60, 64, 59, -31, -28)] ) industry.add_spritelayout(
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 ) 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(
industry.economy_variations["IN_A_HOT_COUNTRY"].enabled = True industry.economy_variations[ "IN_A_HOT_COUNTRY"].accept_cargos_with_input_ratios = [ ("CASS", 6), ("MAIZ", 6), ] industry.add_tile( id="flour_mill_tile_1", animation_length=6, animation_looping=True, animation_speed=3, location_checks=TileLocationChecks( require_effectively_flat=True, require_houses_nearby=True, disallow_industry_adjacent=True, ), ) spriteset_ground_bakery = industry.add_spriteset(type="cobble", ) spriteset_ground_overlay_1 = industry.add_spriteset(sprites=[(10, 10, 64, 31, -31, 0)], ) spriteset_ground_overlay_2 = industry.add_spriteset(sprites=[(80, 10, 64, 31, -31, 0)]) spriteset_ground_overlay_3 = industry.add_spriteset(sprites=[(150, 10, 64, 31, -31, 0)]) spriteset_ground_overlay_4 = industry.add_spriteset(sprites=[(220, 10, 64, 31, -31, 0)]) spriteset_1 = industry.add_spriteset(sprites=[(10, 10, 64, 31, -31, 0)]) spriteset_2 = industry.add_spriteset(sprites=[(80, 10, 64, 31, -31, 0)])
prospect_chance="0.75", name="string(STR_IND_HOTEL)", nearby_station_name="string(STR_STATION_BAR_GRILL_AND_ROOMS)", fund_cost_multiplier="101", ) industry.economy_variations["BASIC_TEMPERATE"].enabled = True industry.economy_variations["BASIC_TROPIC"].enabled = True industry.economy_variations["BASIC_ARCTIC"].enabled = True ###industry.economy_variations['BETTER_LIVING_THROUGH_CHEMISTRY'].enabled = True industry.economy_variations["IN_A_HOT_COUNTRY"].enabled = True industry.add_tile( id="hotel_tile_1", location_checks=TileLocationChecks( require_effectively_flat=True, require_houses_nearby=True ), ) sprite_ground = industry.add_sprite(sprite_number="GROUNDSPRITE_CLEARED") spriteset_ground_overlay = industry.add_spriteset( type="empty", ) sprite_building_1 = industry.add_sprite( sprite_number="(terrain_type == TILETYPE_SNOW) ? 4583 : 4475" ) sprite_building_2 = industry.add_sprite( sprite_number="(terrain_type == TILETYPE_SNOW) ? 4584 : 4476" ) industry.add_spritelayout(
map_colour="207", life_type="IND_LIFE_TYPE_BLACK_HOLE", location_checks=dict(same_type_distance=32), prospect_chance="0.75", name="string(STR_IND_VEHICLE_DISTRIBUTOR)", nearby_station_name="string(STR_STATION_VEHICLE_DISTRIBUTOR)", fund_cost_multiplier="8", ) industry.economy_variations["STEELTOWN"].enabled = True industry.add_tile( id="vehicle_distributor_tile_1", location_checks=TileLocationChecks( # require_road_adjacent=True, require_houses_nearby=True, require_effectively_flat=True, ), ) spriteset_ground = industry.add_spriteset(type="concrete", ) spriteset_ground_overlay = industry.add_spriteset(type="empty") spriteset_1 = industry.add_spriteset(sprites=[(10, 60, 64, 59, -31, -28)]) spriteset_2 = industry.add_spriteset(sprites=[(80, 60, 64, 59, -31, -28)]) industry.add_spritelayout( id="vehicle_distributor_spritelayout_1", ground_sprite=spriteset_ground, ground_overlay=spriteset_ground_overlay, building_sprites=[spriteset_1], fences=["nw", "ne", "se", "sw"],
life_type="IND_LIFE_TYPE_EXTRACTIVE", location_checks=dict( same_type_distance=16, require_town_industry_count=["recycling_depot", 0, 0], ), name="string(STR_IND_RECYCLING_DEPOT)", nearby_station_name="string(STR_STATION_TOWN_2)", fund_cost_multiplier="118", intro_year=1978, ) industry.add_tile( id="recycling_depot_tile_1", location_checks=TileLocationChecks( always_allow_founder=False, require_houses_nearby=True, disallow_industry_adjacent=True, ), ) sprite_ground = industry.add_sprite(sprite_number="GROUNDTILE_SLABS", ) spriteset_ground_overlay = industry.add_spriteset(type="empty") spriteset_hut = industry.add_spriteset(sprites=[(10, 10, 64, 31, -31, 0)]) spriteset_no_hut = industry.add_spriteset(sprites=[(80, 10, 64, 31, -31, 0)]) industry.add_spritelayout( id="recycling_depot_spritelayout_hut", ground_sprite=sprite_ground, ground_overlay=spriteset_ground_overlay, building_sprites=[spriteset_hut], fences=["nw", "ne", "se", "sw"],