I'm curious as to what setting
discharge_hack 0, do then?
So, I was playing around with the random map selection, and I the results I was getting didn't seem to be uniformly random. Here are the following conditions being met:
1) Total of 30 custom maps are being used; 12 custom maps are levsize 1; 10 custom maps are levsize 2; 8 custom maps are levsize 3.
2) Of the original id maps, all levsize 1 maps are set to FALSE in user_allowed_maps, 6 levsize 2 maps are set to TRUE in user_allowed_maps, and 3 levsize 3 maps are set to TRUE in user_allowed_maps.
3) I was the only client on the server, so the server will see only 1 client.
4) The pick_map_size function was untouched, so there's a 85% chance of picking a small (levsize 1) map, and a 15% chance of picking a medium (levsize 2) map.
5) After the levsize is determined, there is a 50% chance of picking an original id map or picking a custom map from the select_map function (use_lp >0).
Now, with that being said, here is a sample of the random map selection process with the aforementioned conditions explained:
Code:
skull - custom (small)
skull - custom (small)
skull - custom (small)
north - custom (small)
north - custom (small)
ztndm4 - custom (small)
e1m2 - original id (medium)
rf2 - custom (small)
lacrima - custom (small)
agggressr - custom (small)
e2m3 - original id (medium)
e2m3 - original id (medium)
ultrav - custom (small)
ztndm3 - custom (medium)
e2m2 - original id (medium)
e2m2 - original id (medium)
e2m2 - original id (medium)
lilith - custom (small)
aggressr - custom (small)
ztndm4 - custom (small)
ztndm4 - custom (small)
xntrick - custom (small)
xntrick - custom (small)
xdm4 - custom (small)
xdm4 - custom (small)
dranzdm8 - custom (medium)
ultav - custom (small)
e2m1 - original id (medium)
e1m5 - original id (medium)
skull - custom (small)
auhdm2 - custom (small)
auhdm2 - custom (small)
auhdm2 - custom (small)
As you can see, a number of the maps get selected consecutively twice or three times before switching to a different map. Is this due to the number of selected maps being relatively small, or maybe the random function requires a seed? Thinking about this some more, however, is that I was testing the random map selection process by having a very small time between level changes, ie, I either had a 1 minute time limit running, or I was using vote-exit to go to the next map. So, if there is a seed for the random function, it might be based on a time, and if the time constant for the seed is slower than than the time constant I was using to change levels (1 minute), then that could be the source of the problem as well.
Edit: added select_map function condition to condition list.