B Rules!

Section 0
Emergencies and Dictators

0.1 In Case of Emergency

Section 1
Meta

1.1 B

The nomic defined and regulated by this ruleset is B. B is just coming out of a slump, and will always be coming out of a slump.

1.2 Rules

Rules are Game Documents which define and regulate the game of B. Each Rule has a number and a name. Rules should be contained in Sections, which also have names and numbers.

When a Rule is created, its number becomes the lowest multiple of 0.1 that is not already another Rule's number.

The Ministry of Law is a Ministry. The Minister of Law, known as the Rulekeeper, is responsible for maintaining a Public Display of the current Rules and Victory Conditions.

The Rulekeeper may do any of the following:

*Create a Section.
*Add, change, or remove a Section's Number or Name.
*Remove an empty Section.
*Move a Rule into a Section.

1.3 The Outsiders

An External Force is any entity which is not created by the Rules or some process described by the Rules.

An Outsider is a sapient, human and individual External Force.

1.4 Fora

A Forum is an External Force which allows Outsiders to communicate. There is a Forum Attribute with a Range of {{ Foreign (Defualt Value), Public, Discussion }}.

1.5 Game Actions and Transactions

A Game Action is an action that the Rules specify that an Outsider may, can, should, must, or shall take as a Game Action. Game Actions are performed by announcing that they are being taken on a Public Forum. When performing a Game Action, any targets and/or parameters must be specified.

Game Actions occur upon reaching the appropriate fora, in the order they arrived, unless a rule states otherwise. A Game Action that is caused by a Rule instead of by a Forum Post takes place at the time specified by the rule.

As a Game Action, an Outsider can submit a Transaction. A Transaction consists of:

*A clear statement marking the start of the Transaction, such as "BEGIN TRANSACTION".
*A list of Game Actions and assertions about the state of the game.
*A clear statement marking the end of the Transaction, such as "END TRANSACTION".

The list is considered in sequence. If it would be legal for the Outsider to take each Game Action within the Transaction exactly as specified, and each assertion would be true at the time it occurs within the list if the Game Actions were so taken, then the Transaction Succeeds. Otherwise, the Transaction Fails. If it cannot be determined with finality and certainty whether or not a Transaction Succeeds, then the Transaction Fails.
The Game Actions in a Transaction that Succeeds occur just as though the Outsider had taken them individually.

A Transaction that Fails has no effect.

1.6 Objection and Support

The Rules may explicitly require that a Game Action must be performed with an amount of Support and/ or without an amount of Objection, where the amounts of Support and/ or Objection are positive natural numbers, or 1 if an amount is not specified.

A Player may, as a Game Action, Support or Object to a Game Action which another Player intends to perform.

To perform a Game Action which requires a level of Support, an Outsider must specify their intent to perform that Game Action (as Game Action) and the level of Support it requires. A Game Action which requires Support is performed 2 days after its intent is specified, if the required level of Support has been gained.

To perform a Game Action without Objection, an Outsider must specify their intent to perform that Game Action (as a Game Action) and the level of Objection it must be perfomed without. A Game Action without Objection is perfomed 2 days after its intent is specified, if the number of Objections to it is less than the number of Objections it must be performed without.

1.7 Game Documents

A Game Document is a type of document which is defined in the Rules. The Rules may state that a Player may Submit a Game Document; this must be done as a Game Action.

1.8 Attributes

An Attribute is an object which is explicitly defined in the Rules, and has a Scope, a Range and a Defualt Value. The Scope of an Attribute is is the set of objects which posess an instance of that Attribute. The Range of an Attribute is the set of possible values for that Attribute. The Defualt Value of an Attribute is an element of its Range.

Each element of the Scope of an Attribute possesses an Instance of that Attribute. If the element in question does not possess such an Instance, one is created immediately. If a Game Object outside the Scope of an Attribute possesses an Instance of that Attribute, the Instance in question is destroyed immediately.

Instances of an Attribute are Game Objects which have a Value. The Value of an Attribute must be a member of the Range of the Attribute. When created, the Value of an Instance is its Attribute's Default Value, unless otherwise specified.

For brevity, the value of an Instance of an Attribute of some object may be referred to as the value of that attribute on the object in question.

The Scope, Range, and Default Value of Attributes are static and defined in the Rules. The Value of Instances of Attributes can be changed only as specified in the Rules.

A Property is an Attribute with a Range of {On, Off}. A Game Object with a Value of On for a particular Property may be said to possess that Property. Unless otherwise specified, the Default Value of a Property is Off.

Section 2
nTime

2.1 The Ministry of Time

The Ministry of Time is a Ministry. The Minister of Time, known as the Doctor, is responsible for maintaining a Public Display of the Clock, along with any actions that will occur or may occur automatically a certain number of ndays after another event [[such as actions without N objections or with N support]]. The Doctor is also responsible for announcing that a Public Holiday is about to happen on a Public Forum 1 nday before each Public Holiday.

2.2 The Clock

There is an object called the Clock, which consists of the following positive integers:

*The nday.
*The nmonth.
*The nyear.

At midnight (00:00:00) Coordinated Universal Time (UTC), the nday is incremented by 1.

At the beginning of each Gregorian calendar month, the nmonth is incremented by 1.

At the beginning of each Gregorian calendar year, the nyear is incremented by 1.

Each time that the Clock nday value changes the nday ends and a new nday begins. A period of one nday is the time intervening between two consecutive changes of the Clock nday value. 

A period of one nmonth is the time intervening between two consecutive changes of the Clock nmonth value.

2.3 Days

The ndays of the nmonth have the following names:

nday 1 = Breakday
nday 2 = Winday
nday 3 = Mulberry
nday 4 = Tango
nday 5 = Corvette
nday 6 = Halfday
nday 7 = Joel
nday 8 = Rushnight
nday 9 = Ballotday
nday 10 = Teucer
nday 11 = Zarpint
nday 12 = Thirnight
nday 13 = 
nday 14 = 
nday 15 =
nday 16 =
nday 17 =
nday 18 =
nday 19 =
nday 20 = 
nday 21 = 
nday 22 =
nday 23 = 
nday 24 =
nday 25 = 
nday 26 =
nday 27 =
nday 28 =
nday 29 = 
nday 30 = 
nday 31 = Armageddon

2.4 Eras

The First Era of B Nomic is the time starting with the creation of the game (approx. 5 Dec 2001, prompted by a five-month lull in A Nomic) and ending immediately before the start of The Second Era of B Nomic.

The Second Era of B Nomic is the time starting with nweek 85 (approx. 4 Apr 2005, prompted by data loss when the bnomic.org server crashed) and ending immediately before the start of The Third Era of B Nomic.

The Third Era of B Nomic is the time starting with nweek 112 (approx. 14 Nov 2006, prompted by another five-month lull) and ending immediately before the start of The Fourth Era of B Nomic

The Fourth Era of B Nomic is the time starting with nweek 135 (10 Dec 2007, prompted by a second State of Emergency in 2 nweeks), and ending immediately before the start of The Fifth Era of B Nomic.

The Fifth Era of B Nomic is the time starting with nweek 153 (2 Dec 2008, when http://b.nomic.net/index.php/User:Ehird/Make_it_Better passed), and ending immediately before the start of The Sixth Era of B Nomic.

The Sixth Era of B Nomic is the time starting with nweek 156 (2 March 2009, when a Fourth Era ruleset was restored as we discovered a broken comment rule had messed up the game) and continuing to the present.

2.5 Public Holidays

The following ndays are Public Holidays:

Corvette of the 4th nweek of an nyear is known as "Agoran Silly Hat Day", in commemoration of the epic surrender of Agoran player BobTHJ /* who intended to do it on behalf of Agora, but only succeeded in doing it on eir own behalf */ of nyear 14. On this holiday, it is customary for B to send Agora a mildly offensive message.

Breakday of the 5th nweek of an nyear is known as "Paranoia-Free Day", in commemoration of the salutary relegation of all irrational panic to an upstart foreign nomic. On this holiday, it is customary for Players of B to flick their Panic Buttons.

Zarpint of the 10th nweek of an nyear is known as "Gift Day".

2.6 The Temporal Prime Directive

No rule or game action may require or force any retroactive changes to the game state. It is, however, permissible, to create rules or perform otherwise-legal game actions that simulate retroactive changes to the game state.

Section 3
Players

3.1 The MoS

There exists a ministry known as the Ministry of Society. The Minister of Society, known as the Registrar, is responsible for maintaining a Public Display of the current Players and Factions and their Attributes and Properties, as well as a Public Display of the current Public and Discussion Fora.

3.2 Players

An Outsider may become a Player by announcing that they register on a Public Forum.

There is a Property "Active", with a Scope of all Players and a Defualt Value of On. A Player that is not Active is Inactive. At the end of each nmonth, all Players that voted in the most recent Voting Period gain the Active Property, all other Players lose it.

A Player may cease to be a Player by announcing that they Forfeit on a Public Forum, or announcing to the Registrar privately that they Forfeit.

A Player may, without objection, cause an Inactive Player to cease to be a Player.

Section 4
Ministries

4.1 The Ministry of Ministries

There exists a Ministry called the Ministry of Ministry, also known as the MetaMinistry. The Minister of Ministry may be referred to as the MoM, the MetaMin, or Kurt Gödel.

The MetaMin is responsible for maintaining a Public Display of all existing Ministries, showing their names, responsibilities, and current holders.

The MetaMin is also responsible for tracking and displaying any state of the game that isn't covered by another Ministry.

4.2 Ministries

A Ministry is a post that can be assigned to at most one Player. It represents the responsibility of that Player to keep Players aware of the state of a particular aspect of the game, and may also represent the power of that Player to affect the gamestate in ways specified in the Ministry's definition. 

If a Ministry's defined powers conflict with any other part of the Rules, the latter takes precedence.

There is an Attribute "Importance", with a Scope of all Ministries, and Range of {{ 0, 1(Defualt Value), 2, 3 or 4 }}. A Player may, with support and without 2 objections, change the Importance of a Ministry.

A Ministry that is not assigned to a player is Vacant.

The term "Minister" refers to the Player in possession of a given Ministry.

4.3 Assigning, Vacating and Usurping

A Player may, as a Game Action, assign a Vacant Ministry to himself.

A Minister may Resign from his Ministry via Game Action. At that time, the Ministry becomes Vacant.

A Player may, as a Game Action and without 2 objections, Usurp a non-Vacant Ministry. In this case, the Ministry is no longer assigned to the previous Minister and is assigned to the Usurper instead.

At the end of each nmonth, each Minister is awarded N Points in the following equation, where I is the total Importance of all Ministries that Minister is assigned to:

N = I * 10

Then all Ministries become Vacant.

4.4 Public Displays

A Public Display is a display of an aspect of the current state of the game in a form easily accessible to all Players. Good Public Displays can include the B Nomic wiki or posting on a regular basis to a Public Forum.

4.5 MiniMinistries
 
A MiniMinistry is a Ministry that is not explicitly defined by the rules. Any Minister of a MiniMinistry may be referred to as a MiniMin.

The MetaMin may, as a Game Action, create a MiniMinistry at any time, specifying its name and its responsibilities. He may also dissolve any MiniMinistry at any time.

Section 5
Proposals

5.1 The Ministry of Change

There exists a ministry known as the Ministry of Change. The Minister of Change, also known as the Chairman, is responsible for maintaining a Public Display of the current Proposals, including whether they have passed or failed if applicable.

5.2 Proposals

Proposals are Game Documents. Each Proposal has the following properties:

*A Title, which is a string
*A Body, which is a block of text that contains a list of instructions that if followed would result in changes to the state of the game
*A Status, which is one of Pending, Open, or Historical
*A Success state, which is one of Won, Lost or Undecided
*A Proposal Number, which is an integer or null
*A set of Conflicts, which are other proposals
*A set of Dependencies, which are other proposals

If, in a set of two proposals, either lists the other as a Conflict, those proposals are said to Conflict with each other.

If one proposal lists another on its list of Dependencies, then the first is said to Depend on the second.

5.3 Submision and Revision

Any player may submit a proposal at any time, or may revise a Pending proposal he owns by resubmitting it, unless a rule says otherwise. To submit a proposal, a player need only specify its Body. He may optionally also specify its Title, Conflicts, and Dependencies; if any of these are not specified, they default to being empty.

The player who submits a proposal is known as the Proposal's Author, and is said to own that proposal.

When a new proposal is submitted, it is assigned the Status Pending, the Success state Undecided, and the Proposal Number null. The Chairman must then assign it a new Proposal Number that is greater than all previously used Proposal Numbers as soon as he can.

As a Game Action a Player may withdraw a proposal with status Pending if they are the Author of that Proposal. A Proposal that is withdrawn has its Status set to Historical and its Success state set to Lost.

5.4 Opening Voting

A Voting Period begins at the start of the 9th nday of each nmonth and ends at the start of the 13th nday of each nmonth; this Voting Period is the Standard Voting Period.

A Voting Period begins at the start of the 18th nday of each nmonth and ends at the start of the 27th nday of the nmonth; this Voting Period is the Late Voting Period.
 
At the beginning of each Voting Period, all Pending proposals become Open.

A Registered Voter is an Outsider that is allowed to vote on Proposals. There is an Attribute Vote Power with a Scope of Registered Voters, a Range of the nonnegative rational numbers, and a Default Value of 0.

All Players are Registered Voters with a Vote Power of 1.

A Registered Voter may as a Game Action set their Vote Power to a number lower than its current value.

A Registered Voter may submit a Vote on an Open proposal at any time. The Vote must be one of the words FOR, AGAINST, or ABSTAIN; other words are ignored.

The most recent Vote on a proposal by a Registered Voter is called that Registered Voter's Final Vote on that proposal.

5.5 Closing Voting

A Proposal's Stamina is equal to the sum of the Vote Power of the Registered Voters whose Final Vote on that Proposal is FOR, plus the sum of the Vote Power of the Registered Voters whose Final Vote on that Proposal is AGAINST.

A proposal's Strength is equal to the sum of the Vote Power of the Registered Voters whose Final Vote on that proposal is FOR minus the sum of the Vote Power of the Registered Voters whose Final Vote on that proposal is AGAINST.

When Voting ends, the following events happen, in order:

*Each Open proposal with a Stamina less than the Quorum becomes Pending.
*Each Open proposal with positive Strength becomes Won; all other Open proposals become Lost.
*Dependency Culling occurs (see below).
*Conflict Culling occurs (see below).
*Dependency Culling occurs again.
*All Open proposals that are Won Pass, in order by Proposal Number.
*All Open proposals become Historical
*When a proposal Passes, its list of instructions is followed to make the resulting changes to the game occur.
*Proposals that do not Pass are said to have Failed.

5.6 Dependency and Confliction

When Dependency Culling occurs, every Open proposal is processed in ascending order by Proposal Number. When a proposal is processed in this manner, if it Depends on a proposal that is Lost, then it becomes Lost itself. This process is repeated as long as there is any Open proposal that Depends on a Lost proposal and is not Lost itself.

When Conflict Culling occurs, every Open proposal is processed in descending order of Strength, and of Proposal Number when Strength is equal. When a proposal is processed in this manner, if it is Won, then every proposal that Conflicts with it becomes Lost.

Section 6
Judgment

6.1 The Ministry of Questions

There exists a ministry known as the Ministry of Questions. The Minister of Questions, also known as the Oracle, is responsible for maintaining a Public Display of the current Consultations. There exists an Object called the staff of ZOT. The Oracle holds the staff of ZOT.

6.2 Consultations

Any player may, as a Game Action, submit a Consultation. This player is the Supplicant for that Consultation.

Consultations are Game Documents that contain a Question that is to be Answered. The Question must be posed in such a form as to permit a yes or no reply. Consultations may also contain:

*Reasoning, meaning text that clarifies the intent of the Consultation.
*The name of a Player that is to be considered as the Unbeliever for that Consultation.

Consultations automatically gain a Consultation Number upon submission. For each new Consultation, the Consultation number shall be equal to 1 or, if such Number is already in use, to the greatest existing Consultation Number incremented by one. The Oracle may arbitrarily override the normal assignment of Consultation numbers, and choose a number of his liking for a new Consultation.

A Consultation is in one of the states of Waiting, ZOTTED and Pondered. A Consultation is initially Waiting.

6.4 ZOTTING or Assignment

Upon submission of a Consultation the Oracle shall as a Game Action select a Priest for that Consultation. Alternatively the Oracle may wield the staff of ZOT and cause the Consultation to be ZOTTED, if in his insight he considers the contained Question to be malformed, ambiguous, irrelevant or otherwise unworthy. ZOTTED consultations have no further effect.

The Oracle may also ZOT a Waiting Consultation if has not been Answered yet and its assigned Priest requests him to do so. In this case the Oracle is required to grant the request or immediately reassign the Consultation to a new Priest instead.

6.4 Answering

Whenever a Priest is to be selected for a Consultation, the Oracle shall select one between the eligible Players. All Active Players, except the Supplicant, the Unbeliever if the Consultation names one, the Oracle and Players that have already been selected as Priests for that Consultation, are eligible for selection as Priests. If no Player is eligible, the Oracle is automatically selected as Priest.

If a consultation remains Waiting for four ndays after it is assigned, the Oracle shall assign a new Priest to it.

While a Consultation is Answered, any player (except the Supplicant, the Unbeliever, and the Priest) may, as a Game Action, make a Claim declaring the Answer to be exactly one of Consistent or Inconsistent.

When an Answered Consultation would otherwise become Pondered, if there exist more Claims of Inconsistency than Claims of Consistency regarding that Answer (counting only the last Claim submitted by each player regarding that Answer), it does not become Pondered; instead, the Consultation becomes Waiting, and the Oracle shall assign a new Priest to it.

6.5 Oracularities

As part of their answer a Priest may submit an Oracularity. An Oracularity is a Game Document which includes a list of changes to the rules and gamestate of B Nomic. By nature, an Oracularity is a transaction and is implied to be enclosed in "BEGIN TRANSACTION" and "END TRANSACTION" clauses.

If the answered question is in relation to an ambiguity in the rules, the Oracularity should address that ambiguity by including changes to the rules in question to clarify.

When a Consultation becomes Pondered then any Oracularity submitted with the answer is followed and the gamestate and rule changes it calls for take effect.

Section 7
Gameplay

7.1 Points

There is an Attribute "Points" with a Scope of all Players, a Range of 0 or any positive integer and a Default Value of 0. The Points of a Player is that Player's Score.

7.2 Victory

Trophies are Game Objects. The number of Trophies held by a player is known as that player's Win Count. Players may only receive Trophies in accordance with this rule. Each Trophy has a description, which is a block of text describing what the Trophy looks like.

Victory Conditions are Game Documents.

Each Victory Condition has four parts:

*A Trigger: The event that must happen to cause someone to win, plus any required conditions on the gamestate.
*Victors: A clause defining which player(s) win.
*A Cleanup: A set of gamestate changes that happen when this condition takes effect (presumably that make it so that the condition is no longer satisfied).
*A Prize: A description of the Trophy that is awarded to each Victor.

If the events in a Victory Condition's Trigger happen, then that Condition becomes Fulfilled, unless it already was. When a condition becomes Fulfilled, its Victors are each awarded a Trophy with the description given by its Prize, and then its Cleanup happens.
At the end of each nweek, every Fulfilled Victory Condition ceases to be Fulfilled.

7.3 RPG

There is an attribute "Hit Points" (syn. Health) with a scope of all players, a range of all non-negative integers, and a default value of 10. If a Player's Hit Points would ever be set to a value less than 0, it is instead set to 0. A Player whose Hit Points equal 0 is Dead; all other players are Alive. The maximum Hit Points of a Player is 10, or his Level multiplied by 2, whichever is greater. If a Player's Hit Points would ever be set to a value greater than his maximum, it is instead set to his maximum. At the start of each nday, each Alive player gains 1 Hit Point.

7.4 The Game Board

Section 8
Economy

8.1 The Ministry of Goods 

8.2 Currency 

A "currency owning object", or COO, is a type of game object that can own currency (also called "money"). All players are currency owning objects.

The rule or rules defining a new currency will define an attribute the scope of which is all COOs. The value of this attribute shows how much of that currency the COO has.

A COO can give currency to another COO by a game action, as follows: he specifies an amount (which cannot be greater than the value of his currency attribute) and a currency; his currency attribute for that currency goes down by the amount; the receiving COO's currency attribute for that currency goes up by the amount.

If the COO has a non-positive currency attribute for a given currency, then he cannot give that currency to another COO. If for any reason the receiving COO's currency attribute cannot go up, or the giving COO's currency attribute cannot go down, then nothing happens.

Players can, via game action, exchange points for currency. The rule or rules defining the currency will set the exchange rate. The player declares how many points he wishes to exchange (which cannot be less than 0 or more points than he has) and the currency he wishes to receive. He loses that many points and gains (exchange rate x points) in the currency. If for any reason the amount of his points cannot go down or the amount of his chosen currency cannot go up, then nothing happens.

8.3 Mackerel

The default currency of this game is mackerel, also known as a mack (singular) or macks (plural). This can be shortened to a lowercase m. [[See below.]]

There is an attribute "mackerel": scope is all currency owning objects; range is decimal numbers; default value is 50. The value of this attribute should always be expressed starting with a lowercase m, for example, m50 or m10.15.

The points -> mackerel exchange rate is 5.0 - that is, 1 point may be exchanged for m5.

8.4 Blueprints and Devices

Section 9
Contracts and Factions

9.1 Contracts

9.2 Factions

Section 10
Miscellaneous 

10.1 Official Quantities

For all game purposes the following phrases are defined to mean the indicated numbers:

A Few = 4
A Handful = 6
An nDozen = 11
A Thirnight = 12
A Confused Baker's Dozen = 14
A Bunch = 24
A Metric Bunch = 25
A Lot = 63
A Bucketful = 96
A Metric Bucketful = 100
A Heck of a Lot = 365
A Hell of a Lot = 366
A Truckload = 960
A Metric Truckload = 1000
A Zillion = 100 000 000
A Bajillion = 100 000 000 000 000
A Quorum = Any number greater than half the number of Active Players
An Insane Number = The number of players in the game

10.2 Tidiness

If the Rules contain errors of spelling, inconsistent capitalization, or other trivial errors, any Player may as a Game Action and without objection correct these errors by posting a Tidiness List on a public forum.

A Tidiness List is a Game Document that lists spelling errors in the rules, and the proposed corrections. The time limit on objections for tidiness lists is set to five ndays.
/* for practical purposes it is allowed to actually go on and make the changes to the wiki at the same time as posting the Tidiness List, but please mark your changes clearly so that they may be reverted easily */

If the corrections in a Tidiness List take place the Player that submitted the Tidiness List gains one point for every three errors corrected. Tidiness Lists correcting less than three errors give no points.

10.3 Comments

Except for this sentence, Game Document text appearing between [[ and the next ]] within the same paragraph, or between /* and the next */ within the same paragraph, is comment text.

Comment text is generally used to give examples and/or expectations, and loses precedence if it conflicts with non-comment rule text [[ e.g. the rules have changed such that an example is no longer accurate ]], but otherwise has the force of rule.

10.4 Disambiguation and Pronouns

All personal pronouns shall be taken to refer to entities of any gender or of no gender regardless of the purported gender of the words used. Language intended to apply only to members of a specific gender must explicitly say that it does so.

No text in any Rule shall be interpreted as a specific Player's name, unless that rule explicitly states that said text shall be interpreted as a specific Player's name.