diff --git a/src/date_type.h b/src/date_type.h index bff1d65776..a004413a73 100644 --- a/src/date_type.h +++ b/src/date_type.h @@ -36,6 +36,7 @@ static const int STATION_ACCEPTANCE_TICKS = 250; ///< cycle duration for updatin static const int CARGO_AGING_TICKS = 185; ///< cycle duration for aging cargo static const int INDUSTRY_PRODUCE_TICKS = 256; ///< cycle duration for industry production static const int TOWN_GROWTH_TICKS = 70; ///< cycle duration for towns trying to grow. (this originates from the size of the town array in TTD +static const int INDUSTRY_CUT_TREE_TICKS = INDUSTRY_PRODUCE_TICKS * 2; ///< cycle duration for lumber mill's extra action /* diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index d80652faaf..4a0391a508 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1086,7 +1086,7 @@ static void ProduceIndustryGoods(Industry *i) if (plant) PlantRandomFarmField(i); } if ((indbehav & INDUSTRYBEH_CUT_TREES) != 0) { - bool cut = ((i->counter & 0x1FF) == 0); + bool cut = ((i->counter % INDUSTRY_CUT_TREE_TICKS) == 0); if (HasBit(indsp->callback_mask, CBM_IND_SPECIAL_EFFECT)) { cut = (GetIndustryCallback(CBID_INDUSTRY_SPECIAL_EFFECT, 0, 1, i, i->type, i->location.tile) != 0); }