New Content - Implemented July IotM - Cat Burglar (Familiar)

PeKaJe

Member
I encountered a "heist ready" message yesterday, that wasn't on the wiki or in the mafia code at the time:

cracks his knuckles and looks around for something steal

Also, a suggestion, always show both the charge counter and the heist counter on the charpane decoration (ideally in two lines).
Basically, remove the if/else and do something like this:

Code:
buffer.append( charge );
buffer.append( "/" );
buffer.append( minChargeCost );
buffer.append( " to heist<br>" );
buffer.append( heistsComplete );
buffer.append( "/" );
buffer.append( totalHeists + bankHeists );
buffer.append( " heists" );

As progress is cleared at rollover, it's useful to know if you're close to another heist to bank for the next day.
 

antipasta

Member
So I watched another couple rounds of heists, and mafia didn't miss any messages, but twice this time it was off by one in the opposite direction - mafia thought I had a heist available (at 20 charges), but the game didn't credit me until after another fight (21 charges). Yesterday it was the game that said I had a heist available, and mafia thought I wasn't ready yet.

Do we actually know that it's a hard 10/20/40/... charges? Maybe there's some rng involved.

----

Also, you can walk away from that heist choice adventure.
 

Erich

Member
Do we actually know that it's a hard 10/20/40/... charges? Maybe there's some rng involved.

I'm not going to speculate, but I know the Crimbo Shrub shows x/20 combats per fite, but I've seen many times mafia go 20/20, 21/20, 22/20, 0/20. So something like that isn't out of the realm of possibility.
 

Darzil

Developer
Also, a suggestion, always show both the charge counter and the heist counter on the charpane decoration (ideally in two lines).
Basically, remove the if/else and do something like this:

Code:
buffer.append( charge );
buffer.append( "/" );
buffer.append( minChargeCost );
buffer.append( " to heist<br>" );
buffer.append( heistsComplete );
buffer.append( "/" );
buffer.append( totalHeists + bankHeists );
buffer.append( " heists" );

As progress is cleared at rollover, it's useful to know if you're close to another heist to bank for the next day.

r18769 does something like that.
 

PeKaJe

Member
So I watched another couple rounds of heists, and mafia didn't miss any messages, but twice this time it was off by one in the opposite direction - mafia thought I had a heist available (at 20 charges), but the game didn't credit me until after another fight (21 charges). Yesterday it was the game that said I had a heist available, and mafia thought I wasn't ready yet.

Do we actually know that it's a hard 10/20/40/... charges? Maybe there's some rng involved.

There doesn't seem to be RNG involved, because the times I've seen the early charging by mafia, I manually counted encounters in the logs and it still fit.
What I suspect is happening is that on the combat where a heist is charged up, the counter to the next one is set to 0 by the game, but there might have been a bonus charge from the equipment.
Mafia will then be registering a charge more than the game does. If it then happens that the fight before the actual next heist fight does not have a bonus charge, mafia will think one is ready when it isn't.

As to how to fix this (if it is indeed the problem), it is possible that the charge counting needs to be reworked to a heist counter (triggered only by the heist ready messages) and a charge-to-next counter.
Until then, though, I'll be having my familiar switching script use the cat for the required charges plus how many heists I'm going for, to make sure I get the heists.
 

PeKaJe

Member
Hmm, that one seems to get the opposite problem.
The fight that got the second heist also had a bonus charge, which was then not counted, so counter stood at 19/20 with the next heist ready.
I parsed the logs and there were exactly 20 messages since the previous heist.
Perhaps, then, if the count is odd-numbered when the heist message shows up, add one more?
 

Darzil

Developer
Maybe we just cut our losses and round to the nearest factor of 10 when heist ready message shows!

If you use the sleep mask, can you check and see if "grabs a quick nap with his sleep mask, so he'll be fresh for the upcoming heist." is actually a Heist ready message for the sleepmask ?
 

Darzil

Developer
I think I may have it.

I think the heist message only appears on heist itself (and maybe only triggers extra heist then?).
But this can happen after a sleep mask adds the charge on the previous fight.
So heist message can be on, say 30 or 31, and we can be at charge 30 without having seen a heist message if it happens on the mask.

Does that fit your log parsing ? And is it the charge or heist message that matters ?
 

PeKaJe

Member
Nah, "grabs a quick nap with his sleep mask, so he'll be fresh for the upcoming heist" is a bonus charge message that occurs with equal frequency to the others, both on heist ready and heist not ready fights. I've now got my session logs onto a machine with much better text parsing tools, so I can go through what I have so far, in greater detail. Will have to wait for tomorrow, though, as brain's fried for the day.
But so far what I haven't spotted contradicting evidence for is that on the heist ready fight, the bonus is added before a check for having reached the target, and whatever the charge ends up with, counter to the next resets. So for first heist ... 8 charges / no bonus = no heist, 8 charges / bonus = heist, 9 charges / no bonus = heist, 9 charges / bonus = heist. And all have 0 charge to next after.
 

Darzil

Developer
If I get you right, you are seeing :
Before fight with 8 charges, heist message + sleep message = heist with 0 charge to next
Before fight with 8 charges, not a heist message + no sleep message = no heist with 9 charges to next
Before fight with 9 charges, heist message + sleep message = heist with 0 charge to next
Before fight with 9 charges, heist message + no sleep message = heist with 0 charge to next

If it is that, the we just add up the messages as +1 charge, and if we get a heist message, we round down charge to nearest factor of 10 ?
 
Last edited:

PeKaJe

Member
Yes, I believe that would work. Ultimately it comes down to mafia counting one extra (compared to the game) from the equipment bonus when said bonus gets the charge over the heist limit. So assuming it goes back to counting every message equally, rounding to nearest 10 when a heist message shows should work. Or subtracting one if it's an odd number. Whatever is easier to code.
 

zarqon

Well-known member
In Pocket Familiars, mafia gives me a message about the Cat Burglar's stats being unknown:

Cat Burglar x/x x/x x/x Claw Lick Unknown None

I suspect this will be a slightly bothersome bit of information to add for all future familiars. I just leveled mine up to 5; it's 2 swords and 4 hearts, with the Violent Shred ultimate skill.
 

Darzil

Developer
If you check session logs it should complete the first two x/x also, which we can't know from the final state.
 

zarqon

Well-known member
Got it. Here are all the messages:

Code:
Cat Burglar	x/x	x/x	x/x	Claw	Lick	Unknown	None
Cat Burglar	2/2	x/x	x/x	Claw	Lick	Unknown	None
Cat Burglar	2/2	2/3	x/x	Claw	Lick	Unknown	None
Cat Burglar	2/2	2/3	2/4	Claw	Lick	Unknown	None
Cat Burglar	2/2	2/3	2/4	Claw	Lick	Violent Shred	None
 
Top