Just wondering if anyone in the know could tell me what the passenger and mail generation rates are? E.g. mail is generated at the same rate as passengers? Or half the rate? Thanks
Hi
V102 Pak64. Isnt the passenger and mail generated by buildings shown? It varies per building type.
Im my game my 5 biggest cities generate five times as many passengers as mail. Although not all travel. Ten times as many passengers travel than mail ...because my mail network has less coverage. (figures from the city list Passengers, travel, mail, sent)
Passenger : mail generation is like 3:1, ie. everytime a city decides to generate passenger/mail it chooses in 75% of all cases passengers. The amount of mail/passenger generated depends on the buildings and their level.
Thanks, that's helpful!
Well, the mail generation versus passenger generation also depend on buidling type. COMmercial buildings generate as much mail as passengers, RESidential twice passengers tahn mail and INDustrial buildings generate twice more mail than passengers. At least that is the intended behaviour.
OK, as long as passenger generation is approximately equal to mail generation over the size of a map, within an order of magnitude, then that means my balancing spreadsheet works OK.
I'm not sure that that's right: this is the code for determining the quantity of passengers to mail. As is borne out in use of the game, more passengers are created than mail by several times. This code is the same in Simutrans-Standard as Simutrans-Experimental:
// post oder pax erzeugen ?
// "post or generate pax"
const ware_besch_t* wtyp;
if (simrand(400) < 300)
{
wtyp = warenbauer_t::passagiere;
}
else
{
wtyp = warenbauer_t::post;
}
@James: no, this code determines only whether passengers or mail is created.
There should be some code for the level, which is different for mail or passengers. It is in haus_besch_t:
/**
* Mail generation level
* @author Hj. Malthaner
*/
uint16 haus_besch_t::get_post_level() const
{
switch (gtyp) {
default:
case gebaeude_t::wohnung: return level;
case gebaeude_t::gewerbe: return level * 2;
case gebaeude_t::industrie: return level / 2;
}
}