mirror of https://github.com/OpenTTD/OpenTTD
Codechange: Use EnumBitSet for IndustryLifeTypes.
parent
2bb3f368e3
commit
1916454776
|
@ -982,7 +982,7 @@ bool IsTileForestIndustry(TileIndex tile)
|
|||
const Industry *ind = Industry::GetByTile(tile);
|
||||
|
||||
/* Check for organic industry (i.e. not processing or extractive) */
|
||||
if ((GetIndustrySpec(ind->type)->life_type & INDUSTRYLIFE_ORGANIC) == 0) return false;
|
||||
if (!GetIndustrySpec(ind->type)->life_type.Test(IndustryLifeType::Organic)) return false;
|
||||
|
||||
/* Check for wood production */
|
||||
return std::any_of(std::begin(ind->produced), std::end(ind->produced), [](const auto &p) { return IsValidCargoType(p.cargo) && CargoSpec::Get(p.cargo)->label == CT_WOOD; });
|
||||
|
@ -2841,7 +2841,7 @@ static void ChangeIndustryProduction(Industry *i, bool monthly)
|
|||
if (indspec->life_type == INDUSTRYLIFE_BLACK_HOLE) return;
|
||||
}
|
||||
|
||||
if (standard || (!callback_enabled && (indspec->life_type & (INDUSTRYLIFE_ORGANIC | INDUSTRYLIFE_EXTRACTIVE)) != 0)) {
|
||||
if (standard || (!callback_enabled && indspec->life_type.Any({IndustryLifeType::Organic, IndustryLifeType::Extractive}))) {
|
||||
/* decrease or increase */
|
||||
bool only_decrease = indspec->behaviour.Test(IndustryBehaviour::DontIncrProd) && _settings_game.game_creation.landscape == LandscapeType::Temperate;
|
||||
|
||||
|
@ -2919,7 +2919,7 @@ static void ChangeIndustryProduction(Industry *i, bool monthly)
|
|||
increment = 0;
|
||||
}
|
||||
|
||||
if (!callback_enabled && (indspec->life_type & INDUSTRYLIFE_PROCESSING)) {
|
||||
if (!callback_enabled && indspec->life_type.Test(IndustryLifeType::Processing)) {
|
||||
if (TimerGameEconomy::year - i->last_prod_year >= PROCESSING_INDUSTRY_ABANDONMENT_YEARS && Chance16(1, original_economy ? 2 : 180)) {
|
||||
closeit = true;
|
||||
}
|
||||
|
@ -3107,7 +3107,7 @@ void CheckIndustries()
|
|||
*/
|
||||
bool IndustrySpec::IsRawIndustry() const
|
||||
{
|
||||
return (this->life_type & (INDUSTRYLIFE_EXTRACTIVE | INDUSTRYLIFE_ORGANIC)) != 0;
|
||||
return this->life_type.Any({IndustryLifeType::Extractive, IndustryLifeType::Organic});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3117,7 +3117,7 @@ bool IndustrySpec::IsRawIndustry() const
|
|||
bool IndustrySpec::IsProcessingIndustry() const
|
||||
{
|
||||
/* Lumber mills are neither raw nor processing */
|
||||
return (this->life_type & INDUSTRYLIFE_PROCESSING) != 0 &&
|
||||
return this->life_type.Test(IndustryLifeType::Processing) &&
|
||||
!this->behaviour.Test(IndustryBehaviour::CutTrees);
|
||||
}
|
||||
|
||||
|
|
|
@ -20,12 +20,14 @@
|
|||
#include "newgrf_commons.h"
|
||||
|
||||
/** Available types of industry lifetimes. */
|
||||
enum IndustryLifeType : uint8_t {
|
||||
INDUSTRYLIFE_BLACK_HOLE = 0, ///< Like power plants and banks
|
||||
INDUSTRYLIFE_EXTRACTIVE = 1 << 0, ///< Like mines
|
||||
INDUSTRYLIFE_ORGANIC = 1 << 1, ///< Like forests
|
||||
INDUSTRYLIFE_PROCESSING = 1 << 2, ///< Like factories
|
||||
enum class IndustryLifeType : uint8_t {
|
||||
Extractive = 0, ///< Like mines
|
||||
Organic = 1, ///< Like forests
|
||||
Processing = 2, ///< Like factories
|
||||
};
|
||||
using IndustryLifeTypes = EnumBitSet<IndustryLifeType, uint8_t>;
|
||||
|
||||
static constexpr IndustryLifeTypes INDUSTRYLIFE_BLACK_HOLE{}; ///< Like power plants and banks
|
||||
|
||||
/**
|
||||
* Available procedures to check whether an industry may build at a given location.
|
||||
|
@ -114,7 +116,7 @@ struct IndustrySpec {
|
|||
uint8_t minimal_cargo;
|
||||
std::array<CargoType, INDUSTRY_NUM_INPUTS> accepts_cargo; ///< 16 accepted cargoes.
|
||||
uint16_t input_cargo_multiplier[INDUSTRY_NUM_INPUTS][INDUSTRY_NUM_OUTPUTS]; ///< Input cargo multipliers (multiply amount of incoming cargo for the produced cargoes)
|
||||
IndustryLifeType life_type; ///< This is also known as Industry production flag, in newgrf specs
|
||||
IndustryLifeTypes life_type; ///< This is also known as Industry production flag, in newgrf specs
|
||||
LandscapeTypes climate_availability; ///< Bitmask, giving landscape enums as bit position
|
||||
IndustryBehaviours behaviour; ///< How this industry will behave, and how others entities can use it
|
||||
uint8_t map_colour; ///< colour used for the small map
|
||||
|
|
|
@ -3759,7 +3759,7 @@ static ChangeInfoResult IndustriesChangeInfo(uint first, uint last, int prop, By
|
|||
}
|
||||
|
||||
case 0x0B: // Industry production flags
|
||||
indsp->life_type = (IndustryLifeType)buf.ReadByte();
|
||||
indsp->life_type = IndustryLifeTypes{buf.ReadByte()};
|
||||
break;
|
||||
|
||||
case 0x0C: // Industry closure message
|
||||
|
|
|
@ -176,7 +176,7 @@ static bool CMSAMine(TileIndex tile)
|
|||
const Industry *ind = Industry::GetByTile(tile);
|
||||
|
||||
/* No extractive industry */
|
||||
if ((GetIndustrySpec(ind->type)->life_type & INDUSTRYLIFE_EXTRACTIVE) == 0) return false;
|
||||
if (!GetIndustrySpec(ind->type)->life_type.Test(IndustryLifeType::Extractive)) return false;
|
||||
|
||||
for (const auto &p : ind->produced) {
|
||||
/* The industry extracts something non-liquid, i.e. no oil or plastic, so it is a mine.
|
||||
|
|
|
@ -1151,7 +1151,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_POWER_STATION, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_COAL, 15, CT_INVALID, 0, 5,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_EXTRACTIVE, LandscapeTypes({LandscapeType::Temperate, LandscapeType::Arctic}),
|
||||
IndustryLifeType::Extractive, LandscapeTypes({LandscapeType::Temperate, LandscapeType::Arctic}),
|
||||
IndustryBehaviour::CanSubsidence,
|
||||
STR_INDUSTRY_NAME_COAL_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1171,7 +1171,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_FOREST, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_GOODS, 0, CT_INVALID, 0, 5,
|
||||
CT_WOOD, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_PROCESSING, LandscapeType::Temperate,
|
||||
IndustryLifeType::Processing, LandscapeType::Temperate,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_SAWMILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1181,7 +1181,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_SAWMILL, IT_PAPER_MILL, IT_INVALID, CHECK_FOREST,
|
||||
CT_WOOD, 13, CT_INVALID, 0, 30,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_ORGANIC, LandscapeTypes({LandscapeType::Temperate, LandscapeType::Arctic}),
|
||||
IndustryLifeType::Organic, LandscapeTypes({LandscapeType::Temperate, LandscapeType::Arctic}),
|
||||
{},
|
||||
STR_INDUSTRY_NAME_FOREST, STR_NEWS_INDUSTRY_PLANTED,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
|
||||
|
@ -1191,7 +1191,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_OIL_RIG, IT_INVALID, IT_INVALID, CHECK_REFINERY,
|
||||
CT_GOODS, 0, CT_INVALID, 0, 5,
|
||||
CT_OIL, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_PROCESSING, LandscapeTypes({LandscapeType::Temperate, LandscapeType::Arctic, LandscapeType::Tropic}),
|
||||
IndustryLifeType::Processing, LandscapeTypes({LandscapeType::Temperate, LandscapeType::Arctic, LandscapeType::Tropic}),
|
||||
IndustryBehaviour::AirplaneAttacks,
|
||||
STR_INDUSTRY_NAME_OIL_REFINERY, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1201,7 +1201,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_OIL_REFINERY, IT_INVALID, IT_INVALID, CHECK_OIL_RIG,
|
||||
CT_OIL, 15, CT_PASSENGERS, 2, 5,
|
||||
CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0,
|
||||
INDUSTRYLIFE_EXTRACTIVE, LandscapeType::Temperate,
|
||||
IndustryLifeType::Extractive, LandscapeType::Temperate,
|
||||
IndustryBehaviours({IndustryBehaviour::BuiltOnWater, IndustryBehaviour::After1960, IndustryBehaviour::AIAirShipRoutes}),
|
||||
STR_INDUSTRY_NAME_OIL_RIG, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1211,7 +1211,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_FARM, IT_STEEL_MILL, IT_INVALID, CHECK_NOTHING,
|
||||
CT_GOODS, 0, CT_INVALID, 0, 5,
|
||||
MCT_LIVESTOCK_FRUIT, 256, MCT_GRAIN_WHEAT_MAIZE, 256, CT_STEEL, 256,
|
||||
INDUSTRYLIFE_PROCESSING, LandscapeType::Temperate,
|
||||
IndustryLifeType::Processing, LandscapeType::Temperate,
|
||||
IndustryBehaviour::ChopperAttacks,
|
||||
STR_INDUSTRY_NAME_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1221,7 +1221,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_PAPER_MILL, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_GOODS, 0, CT_INVALID, 0, 5,
|
||||
CT_PAPER, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_PROCESSING, LandscapeType::Arctic,
|
||||
IndustryLifeType::Processing, LandscapeType::Arctic,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_PRINTING_WORKS, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1231,7 +1231,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_IRON_MINE, IT_FACTORY, IT_INVALID, CHECK_NOTHING,
|
||||
CT_STEEL, 0, CT_INVALID, 0, 5,
|
||||
CT_IRON_ORE, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_PROCESSING, LandscapeType::Temperate,
|
||||
IndustryLifeType::Processing, LandscapeType::Temperate,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_STEEL_MILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1241,7 +1241,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_FACTORY, IT_FOOD_PROCESS, IT_INVALID, CHECK_FARM,
|
||||
MCT_GRAIN_WHEAT_MAIZE, 10, MCT_LIVESTOCK_FRUIT, 10, 5,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_ORGANIC, LandscapeTypes({LandscapeType::Temperate, LandscapeType::Arctic}),
|
||||
IndustryLifeType::Organic, LandscapeTypes({LandscapeType::Temperate, LandscapeType::Arctic}),
|
||||
IndustryBehaviours({IndustryBehaviour::PlantFields, IndustryBehaviour::PlantOnBuild}),
|
||||
STR_INDUSTRY_NAME_FARM, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
|
||||
|
@ -1251,7 +1251,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_COPPER_ORE, 10, CT_INVALID, 0, 5,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_EXTRACTIVE, LandscapeType::Tropic,
|
||||
IndustryLifeType::Extractive, LandscapeType::Tropic,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_COPPER_ORE_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1261,7 +1261,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_OIL_REFINERY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_OIL, 12, CT_INVALID, 0, 5,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_EXTRACTIVE, LandscapeTypes({LandscapeType::Temperate, LandscapeType::Arctic, LandscapeType::Tropic}),
|
||||
IndustryLifeType::Extractive, LandscapeTypes({LandscapeType::Temperate, LandscapeType::Arctic, LandscapeType::Tropic}),
|
||||
IndustryBehaviours({IndustryBehaviour::DontIncrProd, IndustryBehaviour::Before1950}),
|
||||
STR_INDUSTRY_NAME_OIL_WELLS, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1281,7 +1281,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_FRUIT_PLANTATION, IT_FARM, IT_FARM_2, CHECK_NOTHING,
|
||||
CT_FOOD, 0, CT_INVALID, 0, 5,
|
||||
MCT_LIVESTOCK_FRUIT, 256, MCT_GRAIN_WHEAT_MAIZE, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_PROCESSING, LandscapeTypes({LandscapeType::Arctic, LandscapeType::Tropic}),
|
||||
IndustryLifeType::Processing, LandscapeTypes({LandscapeType::Arctic, LandscapeType::Tropic}),
|
||||
{},
|
||||
STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1291,7 +1291,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_FOREST, IT_PRINTING_WORKS, IT_INVALID, CHECK_NOTHING,
|
||||
CT_PAPER, 0, CT_INVALID, 0, 5,
|
||||
CT_WOOD, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_PROCESSING, LandscapeType::Arctic,
|
||||
IndustryLifeType::Processing, LandscapeType::Arctic,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_PAPER_MILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1301,7 +1301,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_BANK_TROPIC_ARCTIC, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
MCT_VALUABLES_GOLD_DIAMONDS, 7, CT_INVALID, 0, 5,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_EXTRACTIVE, LandscapeType::Arctic,
|
||||
IndustryLifeType::Extractive, LandscapeType::Arctic,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_GOLD_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1321,7 +1321,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_BANK_TROPIC_ARCTIC, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
MCT_VALUABLES_GOLD_DIAMONDS, 7, CT_INVALID, 0, 5,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_EXTRACTIVE, LandscapeType::Tropic,
|
||||
IndustryLifeType::Extractive, LandscapeType::Tropic,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_DIAMOND_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1331,7 +1331,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_STEEL_MILL, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_IRON_ORE, 10, CT_INVALID, 0, 5,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_EXTRACTIVE, LandscapeType::Temperate,
|
||||
IndustryLifeType::Extractive, LandscapeType::Temperate,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_IRON_ORE_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1341,7 +1341,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_FOOD_PROCESS, IT_INVALID, IT_INVALID, CHECK_PLANTATION,
|
||||
MCT_LIVESTOCK_FRUIT, 10, CT_INVALID, 0, 15,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_ORGANIC, LandscapeType::Tropic,
|
||||
IndustryLifeType::Organic, LandscapeType::Tropic,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_FRUIT_PLANTATION, STR_NEWS_INDUSTRY_PLANTED,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
|
||||
|
@ -1351,7 +1351,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_PLANTATION,
|
||||
CT_RUBBER, 10, CT_INVALID, 0, 15,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_ORGANIC, LandscapeType::Tropic,
|
||||
IndustryLifeType::Organic, LandscapeType::Tropic,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_RUBBER_PLANTATION, STR_NEWS_INDUSTRY_PLANTED,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
|
||||
|
@ -1361,7 +1361,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_WATER_TOWER, IT_INVALID, IT_INVALID, CHECK_WATER,
|
||||
CT_WATER, 12, CT_INVALID, 0, 5,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_EXTRACTIVE, LandscapeType::Tropic,
|
||||
IndustryLifeType::Extractive, LandscapeType::Tropic,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_WATER_SUPPLY, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1381,7 +1381,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_RUBBER_PLANTATION, IT_COPPER_MINE, IT_LUMBER_MILL, CHECK_PLANTATION,
|
||||
CT_GOODS, 0, CT_INVALID, 0, 5,
|
||||
CT_RUBBER, 256, CT_COPPER_ORE, 256, CT_WOOD, 256,
|
||||
INDUSTRYLIFE_PROCESSING, LandscapeType::Tropic,
|
||||
IndustryLifeType::Processing, LandscapeType::Tropic,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_FACTORY_2, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1391,7 +1391,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_FOOD_PROCESS, IT_INVALID, IT_INVALID, CHECK_PLANTATION,
|
||||
MCT_GRAIN_WHEAT_MAIZE, 11, CT_INVALID, 0, 5,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_ORGANIC, LandscapeType::Tropic,
|
||||
IndustryLifeType::Organic, LandscapeType::Tropic,
|
||||
IndustryBehaviours({IndustryBehaviour::PlantFields, IndustryBehaviour::PlantOnBuild}),
|
||||
STR_INDUSTRY_NAME_FARM_2, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
|
||||
|
@ -1401,7 +1401,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_LUMBERMILL,
|
||||
CT_WOOD, 0, CT_INVALID, 0, 5,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_PROCESSING, LandscapeType::Tropic,
|
||||
IndustryLifeType::Processing, LandscapeType::Tropic,
|
||||
IndustryBehaviour::CutTrees,
|
||||
STR_INDUSTRY_NAME_LUMBER_MILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1411,7 +1411,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_COTTON_CANDY, 13, CT_INVALID, 0, 30,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_ORGANIC, LandscapeType::Toyland,
|
||||
IndustryLifeType::Organic, LandscapeType::Toyland,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_COTTON_CANDY_FOREST, STR_NEWS_INDUSTRY_PLANTED,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1421,7 +1421,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_COTTON_CANDY, IT_TOFFEE_QUARRY, IT_SUGAR_MINE, CHECK_NOTHING,
|
||||
CT_CANDY, 0, CT_INVALID, 0, 5,
|
||||
CT_SUGAR, 256, CT_TOFFEE, 256, CT_COTTON_CANDY, 256,
|
||||
INDUSTRYLIFE_PROCESSING, LandscapeType::Toyland,
|
||||
IndustryLifeType::Processing, LandscapeType::Toyland,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_CANDY_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1431,7 +1431,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_BATTERIES, 11, CT_INVALID, 0, 30,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_ORGANIC, LandscapeType::Toyland,
|
||||
IndustryLifeType::Organic, LandscapeType::Toyland,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_BATTERY_FARM, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
|
||||
|
@ -1441,7 +1441,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_FIZZY_DRINK_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_COLA, 12, CT_INVALID, 0, 5,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_EXTRACTIVE, LandscapeType::Toyland,
|
||||
IndustryLifeType::Extractive, LandscapeType::Toyland,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_COLA_WELLS, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1461,7 +1461,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_PLASTIC_FOUNTAINS, IT_BATTERY_FARM, IT_TOY_SHOP, CHECK_NOTHING,
|
||||
CT_TOYS, 0, CT_INVALID, 0, 5,
|
||||
CT_PLASTIC, 256, CT_BATTERIES, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_PROCESSING, LandscapeType::Toyland,
|
||||
IndustryLifeType::Processing, LandscapeType::Toyland,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_TOY_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1471,7 +1471,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_PLASTIC, 14, CT_INVALID, 0, 5,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_EXTRACTIVE, LandscapeType::Toyland,
|
||||
IndustryLifeType::Extractive, LandscapeType::Toyland,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1481,7 +1481,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_COLA_WELLS, IT_BUBBLE_GENERATOR, IT_INVALID, CHECK_NOTHING,
|
||||
CT_FIZZY_DRINKS, 0, CT_INVALID, 0, 5,
|
||||
CT_COLA, 256, CT_BUBBLES, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_PROCESSING, LandscapeType::Toyland,
|
||||
IndustryLifeType::Processing, LandscapeType::Toyland,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_FIZZY_DRINK_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1491,7 +1491,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_FIZZY_DRINK_FACTORY, IT_INVALID, IT_INVALID, CHECK_BUBBLEGEN,
|
||||
CT_BUBBLES, 13, CT_INVALID, 0, 5,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_EXTRACTIVE, LandscapeType::Toyland,
|
||||
IndustryLifeType::Extractive, LandscapeType::Toyland,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_BUBBLE_GENERATOR, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1501,7 +1501,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_TOFFEE, 10, CT_INVALID, 0, 5,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_EXTRACTIVE, LandscapeType::Toyland,
|
||||
IndustryLifeType::Extractive, LandscapeType::Toyland,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_TOFFEE_QUARRY, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
@ -1511,7 +1511,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_SUGAR, 11, CT_INVALID, 0, 5,
|
||||
CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
|
||||
INDUSTRYLIFE_EXTRACTIVE, LandscapeType::Toyland,
|
||||
IndustryLifeType::Extractive, LandscapeType::Toyland,
|
||||
{},
|
||||
STR_INDUSTRY_NAME_SUGAR_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
|
Loading…
Reference in New Issue