Changeset - r23382:aedb2d552bed
[Not reviewed]
master
0 1 0
Eddi-z - 5 years ago 2019-03-02 21:28:22
43699911+Eddi-z@users.noreply.github.com
Change: Synchronize introduction date and reliability randomness across vehicles with the same base introduction date (#7147)
1 file changed with 8 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/engine.cpp
Show inline comments
 
@@ -652,7 +652,14 @@ void StartupOneEngine(Engine *e, Date ag
 
	/* Don't randomise the start-date in the first two years after gamestart to ensure availability
 
	 * of engines in early starting games.
 
	 * Note: TTDP uses fixed 1922 */
 
	SavedRandomSeeds saved_seeds;
 
	SaveRandomSeeds(&saved_seeds);
 
	SetRandomSeed(_settings_game.game_creation.generation_seed ^
 
	              ei->base_intro ^
 
	              e->type ^
 
	              e->GetGRFID());
 
	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;
 
	if (e->intro_date <= _date) {
 
		e->age = (aging_date - e->intro_date) >> 5;
 
@@ -672,6 +679,7 @@ void StartupOneEngine(Engine *e, Date ag
 

	
 
	e->reliability_spd_dec = ei->decay_speed << 2;
 

	
 
	RestoreRandomSeeds(saved_seeds);
 
	CalcEngineReliability(e);
 

	
 
	/* prevent certain engines from ever appearing. */
0 comments (0 inline, 0 general)