The "claimThrone []" function contains a logical error in its access control check that completely breaks the core game mechanics. The require statement on line 188 "require(msg.sender == currentKing, "Game: You are already the king. No need to re-claim.");" incorrectly allows only the current King to claim the throne again, while the intended behavior, as per the game rules, is to prevent the current King from reclaiming it.
What should happen: Any player (except the current king) should be able to claim the throne by paying the required fee.
What actually happens: Prevents other players from claiming the throne, as the condition "msg.sender == currentKing" will always be false for new claimants.
Likelihood:
Affects 100% of subsequent claim attempts
Makes the game completely unplayable after the first claim.
Impact:
The first king becomes permanent winner by default, effectively blocking other players from participating. This disrupts the game's fairness and intended mechanics.
No competition possible, leading to game breakdown
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.