Bug semirare counter desyncing

taltamir

Member
Lately, every now and then I would have a semi-rare counter be desynced somehow.
It will think the semi-rare is right now, but in fact it is not, I go to a semirare location (that is not the same as before) and I get a completely normal adventure.

This might take some time to track down, but from now on I am recording my log every time I find such an instance occurring, and if anyone else is having it please share yours too.

Hopefully can narrow it down to a specific action being taking and causing the issue. I will also be testing individual suspected locations (such as NEP) by drinking a lindy before and after and then posting the results here.

2018-10-19 log from when I first drank lucky lindy until I got a normal adventure instead of SR
Adv 481 in haunted pantry should have been SR. Previous SR was in The Outskirts of Cobb's Knob
I am unable to upload it for some reason, so here is an external link for it
https://mega.nz/#!6NEh3YiA!QP_WTyQtJebH9tf8QwMe9aFqlWPteIbLJdOtwF078rE
 

Crowther

Active member
I've been having issues with the semi-rare counter as well, but I haven't narrowed down anything about it. Skimming your log, the main thing I see in common with my situation is the Never-ending Party.
 

Darzil

Developer
What path etc were you on? Did you eat Optimal Dog to reset SR counter?
Normal paths, I think are:
First SR = Turn 70-80
Second SR = 160-200 turns later = Turn 230-280
Third SR = 160-200 turns later = Turn 390-480

So, you drank Lindy on just before turn 459, and it gave result 22, which if it works like Fortune Cookie means counter is either 22 or 0. So due either on turn 459 (possible) or turn 481 (impossible).

My current guess therefore is that it was due on turn 459 and you didn't get it as you fought a photocopy on that turn.

Or is there an extra 1 in there? So are the ranges 70-80, 231-281, 392-482 etc ?

I had heard something weird reported around losing a free fight resulting in a turn being added but counters being pushed out by a turn, but I haven't seen spading around that.
 

Crowther

Active member
What path etc were you on? Did you eat Optimal Dog to reset SR counter?
For me, these were fortune cookie and/or Lucky Lindy numbers. Some I missed I just shrugged off as the problems you listed. Others were done correctly and should have worked. I checked "counters" and it had the right window before consuming. I don't know if I can locate a good log. I'll try this weekend.

I had heard something weird reported around losing a free fight resulting in a turn being added but counters being pushed out by a turn, but I haven't seen spading around that.
I don't see such a loss in taltamir's log.
 

taltamir

Member
What path etc were you on? Did you eat Optimal Dog to reset SR counter?
Normal paths, I think are:
First SR = Turn 70-80
Second SR = 160-200 turns later = Turn 230-280
Third SR = 160-200 turns later = Turn 390-480

So, you drank Lindy on just before turn 459, and it gave result 22, which if it works like Fortune Cookie means counter is either 22 or 0. So due either on turn 459 (possible) or turn 481 (impossible).

My current guess therefore is that it was due on turn 459 and you didn't get it as you fought a photocopy on that turn.

Or is there an extra 1 in there? So are the ranges 70-80, 231-281, 392-482 etc ?

I had heard something weird reported around losing a free fight resulting in a turn being added but counters being pushed out by a turn, but I haven't seen spading around that.
The latest occurance was in aftercore.
I did an HCCS, on day 1 I ate an optimal dog to reset counter. On day 2 I had finished the path, and in aftercore I drank a lucky lindy which gave that 22. At the time I did not have an open / close counter for it due to having missed previous window without using a cookie/lindy

I think it might have happened a week or so ago in a big run where I never used an optimal dog. I will continue to try narrowing it down.

Interesting thing about lindy giving a number when it is at 0. I will have to test this too.

Another idea I had was involving free fights, and free kills. And possibly the mix of the two. What happens if I enamorang a free kill monster? Or shattering punch a free fight in NEP? Will have to test it out.

Of course today, I got three semi-rares without issue.
yea, its very intermittent. Also, I will do some more focused testing on NEP.
 
Last edited:

taltamir

Member
Ok, I found something interesting... there seems to be something about exiting HCCS. (which I think is not the only issue there is as there was also the time I got this in big last week, but is one).

Basically what I did was:
1. Finish 2DHCCS run
2. Drank a lucky lindy. Got the number 6.
3. Ate a fortune cookie. Got Lucky numbers: 110, 280, 189. Lucky number 280 ignored - too large to be a semirare. At this point I have 3 different fortune cookie counters. And lindy and fortune cookie disagreed.
4. Took a turn at the sleazy back alley and did not get a semirare.
5. Drank a lucky lindy, got the number 178
6. Ate a fortune cookie, got the numbers 105, 178, 102

It is worth noting that during day 2 of HCCS I only perform 3 free fights in the LOV tunnel, then just go through the various tests.
I Believe that something in community service makes lindy/fortune cookie give incorrect answers unless you had just performed a battle. I will do further testing on it after next ascension.

I also believe there is a different and separate issue as per my big desync happening last week. Will continue to spade it.
 

xKiv

Active member
Ok, I found something interesting... there seems to be something about exiting HCCS. (which I think is not the only issue there is as there was also the time I got this in big last week, but is one).

Basically what I did was:
1. Finish 2DHCCS run
2. Drank a lucky lindy. Got the number 6.
3. Ate a fortune cookie. Got Lucky numbers: 110, 280, 189. Lucky number 280 ignored - too large to be a semirare. At this point I have 3 different fortune cookie counters. And lindy and fortune cookie disagreed.
4. Took a turn at the sleazy back alley and did not get a semirare.
5. Drank a lucky lindy, got the number 178
6. Ate a fortune cookie, got the numbers 105, 178, 102

It is worth noting that during day 2 of HCCS I only perform 3 free fights in the LOV tunnel, then just go through the various tests.
I Believe that something in community service makes lindy/fortune cookie give incorrect answers unless you had just performed a battle. I will do further testing on it after next ascension.

I also believe there is a different and separate issue as per my big desync happening last week. Will continue to spade it.

Let me guess. You missed a semirare (because it occured during one of those CS tests), then, *without hitting adventure.php*, you drank lindy and ate fortune cookies. This gave you bogus (completely random) numbers, because the SR schedule (on server) was not set (it is only set when hitting adventure.php, which incidentally includes almost all semirares in the game (I think there is (was?) one that isn't in adventure.php).

Maybe mafia could be somehow made aware of this situation? It cannot be detected reliably (you can spend all of your SR window without hitting a SR zone, so you don't know if the one adventure.php hit in the middle happened before or after the actual SR in the window (the first one would mean that you now have "undecided" SR schedule, the second would give you reliable numbers from lindy/FC)), but maybe we are fine with "mafia cannot guarantee that these numbers are reliable"?
 

taltamir

Member
Let me guess. You missed a semirare (because it occured during one of those CS tests), then, *without hitting adventure.php*, you drank lindy and ate fortune cookies. This gave you bogus (completely random) numbers, because the SR schedule (on server) was not set (it is only set when hitting adventure.php, which incidentally includes almost all semirares in the game (I think there is (was?) one that isn't in adventure.php).
That sounds about right

Maybe mafia could be somehow made aware of this situation? It cannot be detected reliably (you can spend all of your SR window without hitting a SR zone, so you don't know if the one adventure.php hit in the middle happened before or after the actual SR in the window (the first one would mean that you now have "undecided" SR schedule, the second would give you reliable numbers from lindy/FC)), but maybe we are fine with "mafia cannot guarantee that these numbers are reliable"?
If it could be tracked, maybe have a "are you sure you want to eat fortune cookie / drink lucky lindy without first allowing the server to generate the semirare number? This will likely result in random useless numbers instead of semirare number"
 

taltamir

Member
Let me guess. You missed a semirare (because it occured during one of those CS tests), then, *without hitting adventure.php*, you drank lindy and ate fortune cookies. This gave you bogus (completely random) numbers, because the SR schedule (on server) was not set (it is only set when hitting adventure.php, which incidentally includes almost all semirares in the game (I think there is (was?) one that isn't in adventure.php).
Tried it again and this is definitely happening to me after finishing 2DHCCS runs.

That said, IIRC there was still the time it happened in big which should not be this scenario. I will keep looking into it.

Ideally though, mafia would indeed detect such an occurrence and warn you that your lucky numbers are useless.
 

lostcalpolydude

Developer
Staff member
Ideally though, mafia would indeed detect such an occurrence and warn you that your lucky numbers are useless.

I feel like you don't understand how complicated the situation is, and therefore how unreasonably difficult that would be to reliably track.

You should be able to at least tell if your last adventure was adventure.php though. Just hover over it, and let your browser show you the URL. If it's a button instead of a link you can hover over to see the URL, then it isn't adventure.php.

That just leaves the case where your counter is exactly 0, where you will also get bogus numbers from a fortune cookie (not sure about a lindy, but probably there too).
 

Darzil

Developer
Lets imagine a case, where you are playing HCCS, and have a Semi rare window of 0-40 ahead, but aren't aiming to get a Semi Rare. I guess this is roughly your case?

So then you:
Complete a trial that takes 8 turns.
Adventure in an adv.php location that has a semi-rare for 3 turns.
Adventure in an adv.php location that doesn't have a semi-rare for 5 turns.
Complete a trial that takes 10 turns.
Complete a trial that takes 5 turns.
Adventure in an adv.php location that doesn't have a semi-rare for 6 turns.
Complete your final trial that takes 8 turns.

You are now in aftercore.
Is your semi-rare set? There is no way to know.

Or, you could adventure once in adv.php (in the place you'd like to get the semi-rare, with a free runaway familiar or item), and THEN drink your Lucky Lindy. Absolute guarantee tracking works, and wastes as a maximum one free runaway (and I know I tend to have loads spare in aftercore) or one fight.
 

taltamir

Member
You are now in aftercore.
Is your semi-rare set? There is no way to know.
True, in the scenario you described you can't 100% know if your SR is set or not.
However, in that scenario you can with absolute certainty know that the SR counter is compromised and thus has a chance of being faulty.

Also, in the alternative scenario of
Semirare is 0-40 encounters ahead
complete a trial that takes 8 turns
complete a trial that takes 40 turns
complete a trial that takes 30 turns
complete a trial that takes 50 turns
finished run, now in aftercore

in that scenario you can with 100% certainty know that the SR counter is NOT set. Because 100% of the SR range was covered by community service trials and no turns were taken since.

Ideally, it is possible to track 3 states:
1. mafia is certain that the counter is set
2. mafia is uncertain
3. mafia is certain that the counter is not set

2 and 3 could produce a warning when trying to fortune cookie / lindy. The warning can even be different for those 2 conditions.

However, if the ideal is too much, you don't even have to thoroughly cover every single possible eventuality.
Rather, you can simplify a lot of scenarios (and thus coding) into condition 2 of "mafia is uncertain".

I feel like you don't understand how complicated the situation is, and therefore how unreasonably difficult that would be to reliably track.

You should be able to at least tell if your last adventure was adventure.php though. Just hover over it, and let your browser show you the URL. If it's a button instead of a link you can hover over to see the URL, then it isn't adventure.php.
Or, you could adventure once in adv.php (in the place you'd like to get the semi-rare, with a free runaway familiar or item), and THEN drink your Lucky Lindy. Absolute guarantee tracking works, and wastes as a maximum one free runaway (and I know I tend to have loads spare in aftercore) or one fight.
Now that I am aware of the issue, I am handling it.
I still think it is doable to note the possibility of it being compromised and giving the warning that mafia is uncertain and that you should perform an adventure to set it.
That just leaves the case where your counter is exactly 0, where you will also get bogus numbers from a fortune cookie (not sure about a lindy, but probably there too).
I will test lindy when counter is 0 soon-ish and post the result here.
BTW, if the counter is compromised than just like fortune cookie can give multiple possible numbers. It can give both 0 and the number given as a possibility.
 
Last edited:

lostcalpolydude

Developer
Staff member
I have no interest in putting in lots of extra tracking to handle aftercore semirares. The meat from finding them just isn't important enough. Your concern about 20k meat for a semirare while being willing to throw turns at Twin Peak until you burn it down confuses me.

It's also possible to go from certain that it is not set to certain that it is set, or to uncertain about whether it is set. Go 1000 turns without getting a semirare, then spend 50 turns in Fernswarthy's Basement. The nonsense of tracking overlapping ranges is the real reason why there's no point in trying to track all of this. It's probably possible to track in some limited cases, but I don't see how it's ever important.
 

zarqon

Well-known member
A few suggestions that might be easier than trying to track adventure.php visits and windows:

  1. If you have existing counters and reveal new counters, none of which match your prior counters, the pre-existing counter(s) are definitely wrong. So if none of the counters match, discard them all before adding the newly revealed ones. That won't prevent invalid counters, but it will at least reduce them.
  2. I think it may be possible to hit adventure.php in a way that doesn't spend a turn but sets the counter (it's not available at the beginning of a run, but the Shore gift shop should work). So perhaps mafia could simply visit the Shore gift shop (if unlocked) prior to eating cookies/drinking Lindies, to ensure the viability of the resultant counters. I doubt simply visiting adventure.php without parameters is enough (it looks like the sort of "You should not be here" message that prevents the rest of the page code from executing), but if that works that would be even better.
 

Darzil

Developer
For point 1, this is only true if 0 is not an option for a valid counter.
For point 2, Mafia normally tries to avoid extra server hits.
 
Last edited:

lostcalpolydude

Developer
Staff member
I think it may be possible to hit adventure.php in a way that doesn't spend a turn but sets the counter (it's not available at the beginning of a run, but the Shore gift shop should work). So perhaps mafia could simply visit the Shore gift shop (if unlocked) prior to eating cookies/drinking Lindies, to ensure the viability of the resultant counters. I doubt simply visiting adventure.php without parameters is enough (it looks like the sort of "You should not be here" message that prevents the rest of the page code from executing), but if that works that would be even better.

Any place that is "safe" to load adventure.php is also useless. It can only be safe if wandering monsters can't show up, and then it won't set the counter.
 

zarqon

Well-known member
Aha. Well then, guess that's out.

For point 1, why would anyone eat a fortune cookie with a pre-existing counter of 0? That's user error. Which means it will probably happen. :) So, updated wording to account for users sometimes doing the inexplicable: anytime you get all new counters, all the nonzero pre-existing counters are wrong and can be discarded.
 
Top