diff --git a/src/environment.cpp b/src/environment.cpp index 53a7fdf..20ecaff 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -203,6 +203,19 @@ u32 Environment::getDayNightRatio() return time_to_daynight_ratio(m_time_of_day); } +/* + ABMWithState +*/ + +ABMWithState::ABMWithState(ActiveBlockModifier *abm_): + abm(abm_), + timer(0) +{ + // Initialize timer to random value to spread processing + float itv = abm->getTriggerInterval(); + timer = myrand_range(-0.51*itv, 0.51*itv); +} + /* ActiveBlockList */ diff --git a/src/environment.h b/src/environment.h index f8df77f..beb4988 100644 --- a/src/environment.h +++ b/src/environment.h @@ -129,10 +129,7 @@ struct ABMWithState ActiveBlockModifier *abm; float timer; - ABMWithState(ActiveBlockModifier *abm_): - abm(abm_), - timer(0) - {} + ABMWithState(ActiveBlockModifier *abm_); }; /*