I often miss my last semi-rare in a run, due to it occurring too late to save me a turn. However, I often in aftercore want a semi-rare (say that nice 50 turns of Fishy one), so I'll pop a distention pill and eat a cookie. Now, with maths you can often pin down which counter is right, but mafia cannot, currently.
I think the logic to set the counters would go something like this : (clearly the first line in each section is the same logic as at present)
No semi-rare seen :
On turns <=80 : Expected start 70, expected end 80.
On turns >80 & <=280 : Expected start 230, expected end 280.
On turns >280 & <=480 : Expected start 390, expected end 480.
On turns >480 & <=680 : Expected start 550, expected end 680.
On turns >680 & <=710 : Expected start 710
Semi-rare seen :
<=200 turns since SR seen : Expected start 160, expected end 200.
>200 & <=400 turns since SR seen : Expected start 320, expected end 400.
>400 & <=600 turns since SR seen : Expected start 480, expected end 600.
>600 & <=640 turns since SR seen : Expected start 640
Clearly you could also count out some if you spent turns in a SR area without encountering them, but that's getting far too complicated.
Thoughts? It's clearly extra code, but wouldn't involve extra counters or extra server hits.
I think the logic to set the counters would go something like this : (clearly the first line in each section is the same logic as at present)
No semi-rare seen :
On turns <=80 : Expected start 70, expected end 80.
On turns >80 & <=280 : Expected start 230, expected end 280.
On turns >280 & <=480 : Expected start 390, expected end 480.
On turns >480 & <=680 : Expected start 550, expected end 680.
On turns >680 & <=710 : Expected start 710
Semi-rare seen :
<=200 turns since SR seen : Expected start 160, expected end 200.
>200 & <=400 turns since SR seen : Expected start 320, expected end 400.
>400 & <=600 turns since SR seen : Expected start 480, expected end 600.
>600 & <=640 turns since SR seen : Expected start 640
Clearly you could also count out some if you spent turns in a SR area without encountering them, but that's getting far too complicated.
Thoughts? It's clearly extra code, but wouldn't involve extra counters or extra server hits.