Bugfix
It is morning. 02:07(AM), November 13th 2025.
While I was playing a game today and I wrote down such description for that bug:
I encountered a bug
in situation where there was 6 players in the game (5 bots and me). 3 players
left in the game (me and 2 bots). I was player number 4, also there was player 3 with one influence left and
player 6 with one influence left. So the flow was as such - I had 7 coins and I "COUPED" player number 1
killing his last influence. Then It was turn of player 6 and he claimed "TAX", I challenged his action
(and it means that I interrupted decision made by player 3, because player 3 was the one who is next player
after player 6), then IT SEEMS even though my challenge of "TAX" action of player 6 was successful
still the last influence he lost turned out to be DUKE and then player 3(bot) froze. I assume player 3 froze
because I interrupted his action, so I could take a look at the code why it happened, but also I have to
take a look at the logs to see if somehow my challenge went successful even though player 6 had a duke while
claiming "TAX". The log of that game is here if you are interested
file.
And the screenshot of the game state looks like this:
And just now I was able to research and figure out this situation which took around 88 minutes. First of all the
challenge that I performed was processed correctly, because the 6th player had dead DUKE before I challenged
him, and he had to reveal the contessa. It became obvious from the logs. But the frozen bot issue has happened
because of the buggy logic which was not properly filtering out the STEAL action form available actions because
it considered dead players who had more then zero coins towards to the players that STEAL action could be
performed against and I fixed that issue here
and wrote unit test that covers this situation here.
My many thanks for your time and participation in this project.
The Emperor Protects.