Cycle 20/Ruleset: Difference between revisions

No edit summary
No edit summary
Β 
(2 intermediate revisions by the same user not shown)
Line 37: Line 37:


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.
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.
Line 46: 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 54: 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 124: Line 121:
== Computemoji ==
== Computemoji ==


An instruction is a series of 1 or more emojis. Each instruction has a positive whole number index number, which starts at 0 and is incremented by 1 for each instruction added.
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.
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 add or replace an instruction in the program.
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.
Every emoji has an associated numeric value, which is initially 0.


Once total per phase, a player may iterate the program. This executes the instruction at the execution index, and then increments the execution index by 1. The effect, if any, of executing an instruction is determined by it's first emoji. The potential effects are as followed:
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.
* πŸ”„ sets each subsequent emoji to 0.
Line 140: Line 137:
* βž– decreases itself by each subsequent emoji.
* βž– decreases itself by each subsequent emoji.
* πŸ“‹ sets the third emoji to the second 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 ==
== Backflip ==
Line 146: Line 162:


Any player sending multiple backflip related messages in a single phase will have their feet glued to the floor for 2 phases.
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 ==
== 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.
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.