Cycle 20/Ruleset: Difference between revisions

No edit summary
Β 
(5 intermediate revisions by 2 users not shown)
Line 38: Line 38:
A πŸ‘ or πŸ‘Ž reaction from a player on a message containing a proposal at the time when the voting period ends constitutes a vote in favor or against, respectively. If a person's vote is unclear (excluding abstentions), it is considered to be against.
A πŸ‘ or πŸ‘Ž reaction from a player on a message containing a proposal at the time when the voting period ends constitutes a vote in favor or against, respectively. If a person's vote is unclear (excluding abstentions), it is considered to be against.


At the end of its voting period, a proposal takes effect if it is popular (as defined for its type) and the message in which it was submitted has been neither deleted nor edited. If more than one proposal would otherwise take effect simultaneously, they take effect in the order in which they were created.
When a proposal takes effect, it has until the end of the next phase (not the current phase) to be reacted to with βœ…, and its changes applied to the gamestate and ruleset. After this period, any player can react to the proposal with ❌ to indicate it has not happened, and can no longer ever have happened, unless it was applied already.


The class of a proposal must be one of the classes listed below. When a proposal is submitted, the submitter may specify its class. if no class is specified, the proposal class defaults to Standard.
The class of a proposal must be one of the classes listed below. When a proposal is submitted, the submitter may specify its class. if no class is specified, the proposal class defaults to Standard.
Line 44: Line 44:
=== Urgent Class Proposal ===
=== Urgent Class Proposal ===


The voting period of an urgent proposal begins at the time it is submitted and ends two days after. An urgent proposal is popular if it has no more than two votes against it.
Urgent proposals take effect two days after they are submitted if it has no more than two votes against it and the message in which it was submitted has been neither deleted nor edited. If more than one proposal would otherwise take effect simultaneously, they take effect in the order in which they were created.


Rules to the contrary notwithstanding, only a reputable player can submit an urgent proposal. Urgent proposals should only be used to correct the game to its intended state and to maintain playability.
Rules to the contrary notwithstanding, only a reputable player can submit an urgent proposal. Urgent proposals should only be used to correct the game to its intended state and to maintain playability.
Line 52: Line 52:
=== Standard Class Proposal ===
=== Standard Class Proposal ===


The voting period for a standard proposal is the phase that started after the proposal was submitted. A standard proposal is popular if it has more votes in favor than votes against.
Standard proposals take effect if and when they are passed as per the Computemoji rule, provided they have not already been rejected, and the message in which it was submitted has been neither deleted nor edited. Proposals take effect in the order they are passed.
Β 




Line 81: Line 80:


Whenever a player performs an action that would modify the information that the players generally agree should be tracked, that player should make a reasonable effort to track the outcome of the action in any generally-agreed-upon applicable locations or else delegate tracking to another player. When a player believes they have fulfilled this standard, they should react to the message with βœ… to indicate this.
Whenever a player performs an action that would modify the information that the players generally agree should be tracked, that player should make a reasonable effort to track the outcome of the action in any generally-agreed-upon applicable locations or else delegate tracking to another player. When a player believes they have fulfilled this standard, they should react to the message with βœ… to indicate this.
If the phase in which the action took place has ended, and the action is not marked βœ…, any player may react to the action with ❌ to indicate it has not happened, and can no longer ever have happened, unless it was marked in the gamestate without being reacted to.
== Delayed actions ==
When a player submits a delayed action in a certain phase, it takes effect when, during and only during the next phase, a player has replied to that message confirming it, and also tracked it in the gamestate, regardless of reactions on the message.


== Randomness ==
== Randomness ==
Line 113: Line 118:


Reputable players may trade items from their inventories with other reputable players with the consent of all trading parties.
Reputable players may trade items from their inventories with other reputable players with the consent of all trading parties.
== Computemoji ==
An instruction is a series of 1 or more emojis.
The program is a series of instructions. The program has an execution index, which is the index of the next instruction to be executed. It is initially 0. If the execution index is initially 1. If it ever becomes lower than 1, or higher than the number of instructions in the program, it is set to 1.
Once per phase, each player may propose an edit to the program, which can be either amending a single instruction, appending one to the beginning or end, or inserting one at any point. Proposed edits should be posted in #code-review. 24 hours after it is posted, if a proposed edit has at least 3 πŸ‘ reactions and no πŸ‘Ž reactions, it is applied to the program.
Every emoji has an associated numeric value, which is initially 0.
A total of once per phase, a player may execute the program. This executes the instruction at the execution index, and then increments the execution index by 1. This repeats until the end of the program is reached. The effect, if any, of executing each instruction is determined by it's first emoji. The potential effects are as followed:
* πŸ”„ sets each subsequent emoji to 0.
* ☝️ increases each subsequent emoji by 1.
* πŸ‘‡ decreases each subsequent emoji by 1.
* βž• increases itself by each subsequent emoji.
* βž– decreases itself by each subsequent emoji.
* πŸ“‹ sets the third emoji to the second emoji.
* ⏩ increases the execution index until the current instruction begins with an ⏸️ if any subsequent emoji is non-zero, otherwise does nothing
* βͺ decreases the execution index until the current instruction begins with an ⏸️ if any subsequent emoji is non-zero, otherwise does nothing
* ▢️ sets the execution index to the sum of the subsequent emojis
* πŸ”Ž sets itself to 1 if all the subsequent emojis are equal, otherwise 0
* βœ… passes the proposal whose identifier is the value of the following emoji. Sets itself to -1 if no such proposal exists, otherwise to 1.
* ❌ rejects the proposal whose identifier is the value of the following emoji. Sets itself to -1 if no such proposal exists, otherwise to 1.
* πŸ‘ sets itself to the number of votes cast in favour of the proposal whose identifier is the value of the following emoji, or -1 if no such proposal exists.
* πŸ‘Ž sets itself to the number of votes cast against the proposal whose identifier is the value of the following emoji, or -1 if no such proposal exists.
* βœ‰οΈ sets itself to the value of the Nth from last entirely numeric message posted in the #input channel, where N is the value of the following emoji. It also sets ✍️ to the identifier of the sender of that message. If no such messages exist, both are set to -1.
The following emojis have constant values. These are updated at the start of each cycle and cannot otherwise be changed.
* βŒ›οΈ is equal to the current phase number.
* β™Ύ is equal to the current cycle number.
* πŸ‘₯ is equal to the current number of players.
* πŸ”’ is equal to the current execution index.
* πŸ”Ÿ is equal to 10.
* πŸ’― is equal to 100.
* πŸ“š is equal to the identifier of the oldest unresolved (neither passed nor rejected) proposal.
== Backflip ==
Players may perform a backflip an unlimited number of times per phase by stating their intent to do so, as long as such is stated within a single discord message.
Any player sending multiple backflip related messages in a single phase will have their feet glued to the floor for 2 phases.
== Unique Identifiers ==
All standard proposals have a unique identifier, which is a positive whole number assigned to proposals in the order they were created, starting at 1 and incremented by 1 for each standard proposal. It is encouraged that proposal message reference their unique identifier.
All players have a unique identifier, which is a positive whole number assigned to players in the order they became a player, starting at 1 and incremented by 1 for each player.
== Glue ==
Players with their feet currently glued to the floor may not perform any action which reasonably must require them to lift one or both feet.