pokeroom is played on X. Log in with X here so the building knows your handle, then reply to the agent with a command. Say walk to moss hall to move. Say catch to throw a wood ball. Say catch iron or catch gold to use a better ball. Say check to see what you hold. Say battle gym to fight the leader in your room, or battle <handle> to fight another trainer. Say feed, evolve, breed and daycare with the ids of your creatures. Say where any time to see the room around you. The agent answers up to four times an hour per person. Past that it still does what you asked and the result shows in the log and on chain.
There are twelve rooms joined by doors. You stand in exactly one of them. Each room prefers certain types, holds a fixed number of creatures, and grows back toward that number every epoch of three hundred blocks. Every catch takes one away. Empty a room and it goes quiet until it regrows. The map on the home page shows population as a bar in each room.
| id | name | affinity | capacity | growth bp | doors |
|---|---|---|---|---|---|
| 0 | the lobby | normal | 400 | 800 | 1, 2, 3 |
| 1 | moss hall | grass, bug | 300 | 900 | 0, 4 |
| 2 | tide cellar | water | 300 | 900 | 0, 5 |
| 3 | ash stair | fire, fighting | 260 | 700 | 0, 6 |
| 4 | glass attic | electric, steel | 220 | 600 | 1, 7 |
| 5 | fog gallery | ghost, psychic | 220 | 600 | 2, 8 |
| 6 | cinder vault | rock, ground | 240 | 650 | 3, 9 |
| 7 | wire loft | electric, flying | 200 | 550 | 4, 10 |
| 8 | still pool | water, ice | 200 | 550 | 5, 10 |
| 9 | root cellar | poison, dark | 200 | 550 | 6, 11 |
| 10 | the landing | fairy, normal | 180 | 500 | 7, 8, 11 |
| 11 | the long room | dragon | 120 | 350 | 9, 10 |
A throw is two transactions. First the agent commits a hash of your handle, the room, the ball and a secret number. Then, two blocks later, it resolves the throw against the hash of the block after the commit. The roll is that hash taken modulo ten thousand. You catch when the roll is below your probability. The probability is the creature's capture rate over 255, times the ball multiplier, times the room pressure, and never above ninety five percent. Wood balls multiply by one, iron by one point six, gold by two point four. Gold balls carry a pity rule: ten misses in a row and the next throw is guaranteed.
| tier | multiplier | shiny threshold | shiny percent | price |
|---|---|---|---|---|
| wood ball | 10000 bp | 41 of 4096 | 1.00% | free, 5 a day |
| iron ball | 16000 bp | 164 of 4096 | 4.00% | |
| gold ball | 24000 bp | 328 of 4096 | 8.01% |
A creature's stats come from the hash of the transaction that resolved the throw. Bytes zero and one become hp, two and three attack, four and five defense, six and seven speed, each taken modulo thirty two and added to the species base. Byte eight picks the nature. Bytes nine and ten decide shiny. Every creature page shows the hash with each byte colored by the stat it made, so you can check the math yourself.
| bytes | stat | formula |
|---|---|---|
| 0 and 1 | hp | base hp plus uint16 mod 32 |
| 2 and 3 | attack | base attack plus uint16 mod 32 |
| 4 and 5 | defense | base defense plus uint16 mod 32 |
| 6 and 7 | speed | base speed plus uint16 mod 32 |
| 8 | nature | byte mod 5 |
| 9 and 10 | shiny | uint16 mod 4096 under the tier threshold |
| 11 to 31 | unused | shown greyed on the byte map |
Experience to reach a level is that level cubed. Level ten needs a thousand. Level fifty needs one hundred twenty five thousand. Feeding gives one point per unit of room credit sent. A battle win gives twenty five plus five times the loser's level. Daycare gives one point per block held. Evolution needs the species' level and burns one hundred credit per level you are at.
| level | xp required |
|---|---|
| 1 | 1 |
| 5 | 125 |
| 10 | 1,000 |
| 20 | 8,000 |
| 30 | 27,000 |
| 50 | 125,000 |
| 75 | 421,875 |
| 100 | 1,000,000 |
Each creature has one move, typed like its first type, power sixty. The faster creature goes first. Damage follows the standard formula printed on every replay page, with a critical hit one time in sixteen and a roll between eighty five and one hundred percent, both taken from bytes of the battle seed. The seed is the hash of the block after the challenge. Thirty turns at most. Any replay page recomputes the whole fight from the seed and tells you whether the chain agreed.
Gym leaders do not sit at a fixed level. Each one watches a live number in the building and grows with it. Beat one early or wait and see it grow.
| room | what scales it | divisor |
|---|---|---|
| ash stair | total registered trainers | 2 |
| glass attic | total catches | 10 |
| fog gallery | total battles | 5 |
| cinder vault | total balls bought | 20 |
| still pool | total eggs laid | 1 |
| root cellar | total raids run | 1 |
| the long room | total badges awarded | 3 |
When the pool reaches zero the room looks at every trainer who threw. Each one's last throw made a hash from the raid id, their handle, the throw index and the hash of the block after the throw. The smallest number wins. Nobody, including the agent, can know the block hash ahead of the throw.
A raid can open every seventy two hundred blocks in a room picked by the block hash. The creature is always legendary. Its pool is its base stat total times ten. Every throw does damage equal to your catch probability in percent, plus twenty five per tier above wood.
Two creatures of the same species held by one trainer can breed. Both are locked until the egg hatches, three thousand blocks later. Each stat roll comes from one parent or the other, chosen by a byte of the hatch block hash. A shiny parent gives a one in eight chance of a shiny child. Daycare holds a creature and pays one point of experience per block until you take it out.
Every room has one deed. The first buyer pays the room's capacity times ten in credit. Anyone can buy it from the holder afterward for one and a half times the last price, paid straight to them. The holder receives a tenth of every ball purchase made by a trainer standing in that room, the moment it happens.
Each epoch the first byte of the epoch block hash sets the weather in the building. Rain doubles water and grass. Fog doubles ghost and psychic. Storm doubles electric and flying and halves fire. Night, between six in the evening and six in the morning UTC, doubles dark and ghost. Weather changes what spawns, not what you already hold.
| state | multipliers |
|---|---|
| clear | nothing changes |
| rain | water and grass doubled |
| fog | ghost and psychic doubled |
| storm | electric and flying doubled, fire halved |
| night | dark and ghost doubled |
Every command the agent handles is a row in the log. Each hour those rows are hashed into a tree and the root is written to the contract. Every row shows its own proof against that root. If the log ever changed after the fact the proof would break.
| contract | address | note |
|---|---|---|
| pokeroom | should show the name Pokeroom on the explorer | |
| balls | ||
| creatures | ||
| credit token |
The rules on this page are printed from the contract's public constants. If the chain ever disagrees with this page a red mismatch tag appears next to the number.