The results might be similar, but they aren't the same, and this version of the system is much less legible than the previous version, where it was extremely straightforward that each source of dispersion contributed a random amount between 0 and its max value.  If you feel you need to pull all the constants and logic into this method, that's fine, but keep the logic the same.