Skip to content
Łukasz Domeradzki edited this page Jun 7, 2019 · 24 revisions

Poker

Poker module is a chat game that can be started by any user using poker command. During the next 30 seconds, all interested people can join using join command. The game starts if at least one player (apart from the host) has joined it during that period.


Rules

The game is based on The Witcher's Dice poker, with required improvements to turn it into a chat game.

At the start, every player rolls 5 dice, using r command. Afterwards, the player can decide which dice he wants to roll/keep, using r <dice> and k <dice> commands, accordingly. Both actions are the opposite of each other, which means that r 2 3 is the same as k 1 4 5. The player can also decide to keep/reroll all the dice, through k and r command (without arguments), accordingly.

The objective of the game is to obtain the strongest possible combination of dice. Starting from the weakest to the strongest, those are:

  • None, five mismatched dice forming no sequence longer than four.
  • Pair, two dice showing the same value.
  • TwoPairs, two pairs of dice, each showing the same value.
  • ThreeOfAKind, three dice showing the same value.
  • FiveHighStraight, dice showing values from 1 through 5, inclusive.
  • SixHighStraight, dice showing values from 2 through 6, inclusive.
  • FullHouse, Pair of one value and ThreeOfAKind of another.
  • FourOfAKind, four dice showing the same value.
  • FiveOfAKind, all five dice showing the same value.

In addition to that, each combination has additional power, which is based on the value of matching dice. The power of the combination is taken into account when comparing the same combination across different dice values. For example, FiveOfAKind of 6s is stronger than FiveOfAKind of 1s.


Elimination

After the end of the round, which happens once all the players get a chance to reroll dice of their choice, the weakest player is eliminated. After the elimination takes place, the game continues from the beginning until there is only one player left.


Timeout

Each player is given standard 30 seconds for reaction. If player doesn't make one during that period, ArchiBot will decide in the name of the player, aiming for the best optimal decision given the circumstances.


TODO

I need to decide upon logic for ties during elimination, right now ArchiBot just picks a random player to eliminate from the weakest ones.

Clone this wiki locally