Skip to content

Instantly share code, notes, and snippets.

@Mathnerd314
Last active February 20, 2021 19:39
Show Gist options
  • Save Mathnerd314/e5d12a12e200b2dbfa5e5146ac6ec16b to your computer and use it in GitHub Desktop.
Save Mathnerd314/e5d12a12e200b2dbfa5e5146ac6ec16b to your computer and use it in GitHub Desktop.
proposal 🕐 ⏩

Create a new rule "Rules" before rule "Info" which reads as follows:

All rules shall be numbered with a positive integer sequentially starting from 1. All subrules within a rule shall be numbered with a positive integer sequentially starting from 1. A subrule may be identified by the rule number followed by the subrule number, such as "1.2".

Remove the subrule "General" from "Info" which currently only concerns time.

Create a new subrule "Time" under rule "Info" which reads as follows:

Dates and times are officially listed as corresponding to UTC/GMT and the Gregorian calendar. Days begin at 00:00:00.

A "game event" is any event which causes the gamestate to change. Every game event has an initiative value. An initiative value can be any real number, and will generally be determined according to whatever rule governs the game event's creation. If a game event's initiative is not specified, it is zero by default. If multiple game events occur at a given time, the order of these events may be important. As such, the list of all possible orderings consistent with the ruleset are constructed, and this list is processed using tie-breaking rules:

  1. Prefer orderings where an event with higher initiative occurs first
  2. Prefer orderings where an event with an earlier location in the ruleset occurs first. The order is "Rule 1 < Subrule 1.1 < Subrule 1.2 < Rule 2". The position within the rule/subrule is also considered.

If after these tie-breaking rules there are still multiple orderings, attempt to perform the game events S in every possible order, and compare the gamestate after each. If they are all equivalent, then the gamestate changes according to any arbitrary ordering of S, since they are necessarily all the same in effect. Otherwise, execute the prefix and postfix of events that the orders all agree upon.

Modify the body of "Proposals" by removing:

If more than one proposal takes effect, they take effect in the order in which they were proposed.

and replacing it with:

The passing of a proposal is a game event with an initiative equal to the number of minutes remaining in the active voting period at the time it was submitted.

If a proposal specifies a numbering, that numbering is used, unless it would assign two rules or two subrules within a rule the same number, in which case the proposal is invalid and has no effect. Otherwise, an ordered list of lists of the rules and subrules consistent with the text of the proposal is constructed. If there are multiple such orders tie-breaking rules are applied in order:

  1. Prefer an order consistent with interpreting the prepositions "after" and "before" as "immediately after" and "immediately before" in the proposal
  2. Prefer an order placing existing rules/subrules before added rules/subrules
  3. Prefer an order placing added rules/subrules in the order they appear in the proposal

If these tie-breaking rules are insufficient to define a unique ordering then the proposal is invalid and has no effect. Otherwise, all rules and subrules are renumbered consistent with the list of lists and this ruleset becomes the new ruleset.

The ruleset and its numbering at the time immediately after this proposal is enacted is determined by taking the ordering and ruleset from https://infinitenomic.miraheze.org/w/index.php?title=Round_9/Ruleset&oldid=702, numbering the rules and subrules consistent with the order, and applying the above proposal numbering rule to any proposals enacted since that revision.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment