Index: src/engine.cpp =================================================================== --- src/engine.cpp (revision 24948) +++ src/engine.cpp (working copy) @@ -654,10 +654,11 @@ e->company_avail = 0; /* Don't randomise the start-date in the first two years after gamestart to ensure availability - * of engines in early starting games. + * of engines in early starting games. Also don't randomize the start-date if the NO_RANDOM_INTRO_DATE + * flag is set. * Note: TTDP uses fixed 1922 */ uint32 r = Random(); - e->intro_date = ei->base_intro <= ConvertYMDToDate(_settings_game.game_creation.starting_year + 2, 0, 1) ? ei->base_intro : (Date)GB(r, 0, 9) + ei->base_intro; + e->intro_date = ((ei->base_intro <= ConvertYMDToDate(_settings_game.game_creation.starting_year + 2, 0, 1)) || (HasBit(ei->misc_flags, EF_NO_RANDOM_INTRO_DATE))) ? ei->base_intro : (Date)GB(r, 0, 9) + ei->base_intro; if (e->intro_date <= _date) { e->age = (aging_date - e->intro_date) >> 5; e->company_avail = (CompanyMask)-1; Index: src/engine_type.h =================================================================== --- src/engine_type.h (revision 24948) +++ src/engine_type.h (working copy) @@ -158,6 +158,7 @@ EF_AUTO_REFIT = 4, ///< Automatic refitting is allowed EF_NO_DEFAULT_CARGO_MULTIPLIER = 5, ///< Use the new capacity algorithm. The default cargotype of the vehicle does not affect capacity multipliers. CB 15 is also called in purchase list. EF_NO_BREAKDOWN_SMOKE = 6, ///< Do not show black smoke during a breakdown. + EF_NO_RANDOM_INTRO_DATE = 7, ///< Do not randomize the vehicle introduction date. }; /**