Here is version 0.2 of the proto-contract for Agora: The Role-Playing Game. I've incorporated all of the corrections that I mentioned yesterday. I've added provisions to allow for a separate mailing list for activity related to the contest. The major change from version 0.1 is that I've added provisions for encounters when exploring the dungeon. I have not come up with provisions for combat yet.
Proto-Contract: Agora: The Role-Playing Game Version 0.2 1. The name of this public contract is "Agora: The Role-Playing Game." 2. If this contract is a contest, the Game Master is its contestmaster; otherwise, the Game Master is Sir Toby. The Game Master SHALL issue a weekly report detailing all information that the Game Master tracks, and the text of this contract. 3. All parties to this contract are known as Characters. Any player CAN become party to this contract by announcement. Any Character CAN cease being a party to this contract by announcement. All Characters that are first-class players are known as Player Characters. All Characters that are not first-class players are known as non-Player Characters. 4. Any player CAN amend this contract without 3 objections. 5. The Game Master MUST make a mailing list available for use by Characters. This mailing list will be referred to as the RPG mailing list in this contract. The RPG mailing list MAY be specified as "public messages", in which case sending a public message satisfies any provisions of this contract that requires a message be sent to the RPG mailing list. If no specification has been made for the RPG mailing list, it is specified as "public messages". 6. Participating in the RPG mailing list is defined as being able to send email to the RPG mailing list and being able to receive email from the RPG mailing list. No player shall be prohibited from participating in the RPG mailing list. The Game Master's report MUST include sufficient instructions for players to participate in the RPG mailing list. If the RPG mailing list is specified as "public message", simply stating this in the report is sufficient. Each Character SHOULD ensure the e is able to participate in the RPG mailing list. The Game Master CAN change the specification for the RPG mailing list without objection provided that in the announcement e provides sufficient instructions for players to participate in the new mailing list. 7. Where this contract defines an action that CAN be performed "by announcement to the RPG mailing list", a Character performs that action by unambiguously specifying the action and sending an email to the RPG mailing list stating that e performs it. Any action performed in this fashion is performed at the time date-stamped on that message. 8. Whenever this contract calls for a Player Character to generate one or more random numbers, e shall do so using the Nomic.Net email dice server, "http://dice.nomic.net/email.html". When requesting one or more random numbers, the Player Character MUST specify the parameters exactly as this contract requires, MUST include a comment unambiguously stating the purpose of the random number(s), and MUST include the RPG mailing list on the recipients list. If the RPG mailing list is specified as "public messages", it is REQUIRED that the Game Master be on the recipients list and RECOMMENDED that a public forum be on the recipients list. If any of these requirements are not met, the generated random number(s) CANNOT be used. If the RPG mailing list is specified as "public messages" and for any reason the message from the Nomic.Net email dice server is not received by a public forum, the Game Master MUST forward the message in its entirety and without alteration to a public forum as soon as possible. If the RPG mailing list is not specified as "public messages", the Game Master MUST ensure that the Nomic.Net email dice server is able to send email to the RPG mailing list. 9. The following values are defined: - Base Health : 5 - Base Vitality : 10 - Base Experience : 10 - Base Monster Health : 5 10. Location is an attribute of Player Characters. The Game Master tracks the location of all Player Characters. A Player Character's location can have only one of the following values: Town Square, Healer, Gold Exchanger, the name of any non-Player Character, or Dungeon Level N (where N is an integer greater than 0). A Player Character's location CAN only change as permitted by this contract. When a Player Character becomes party to this contract, eir location is set to Town Square. When a non-Player Character ceases being a party to this contract, any Player Location whose location is the name of the departing non-Player Character has eir location set to Town Square. 11. Level is an attribute of Player Characters. The Game Master tracks the level of all Player Characters. A Player Character's level is an integer greater than 0. A Player Character's level CAN only change as permitted by this contract. When a Player Character becomes party to this contract, eir level is set to 1. 12. Experience is an attribute of Player Characters. The Game Master tracks the experience of all Player Characters. A Player Character's experience is an integer greater than or equal to 0. A Player Character's experience CAN only change as permitted by this contract. When a Player Character becomes party to this contract, eir experience is set to 0. 13. Maximum health is an attribute of Player Characters. The Game Master tracks the maximum health of all Player Characters. A Player Character's maximum health is an integer greater than or equal to 0. A Player Character's maximum health CAN only change as permitted by this contract. When a Player Character becomes party to this contract, eir maximum health is set to base health. 14. Health is an attribute of Player Characters. The Game Master tracks the health of all Player Characters. A Player Character's health is an integer greater than or equal to 0. A Player Character's health CAN only change as permitted by this contract. When a Player Character becomes party to this contract, eir health is set to base health. If a Player Character's health is set to a value that is greater than that Player Character's maximum health, eir health is set to eir maximum health. 15. Maximum vitality is an attribute of Player Characters. The Game Master tracks the maximum vitality of all Player Characters. A Player Character's maximum vitality is an integer greater than or equal to 0. A Player Character's maximum vitality CAN only change as permitted by this contract. When a Player Character becomes party to this contract, eir maximum vitality is set to base vitality. 16. Vitality is an attribute of Player Characters. The Game Master tracks the vitality of all Player Characters. A Player Character's vitality is an integer greater than or equal to 0. A Player Character's vitality CAN only change as permitted by this contract. When a Player Character becomes party to this contract, eir vitality is set to base vitality. If a Player Character's vitality is set to a value that is greater than that Player Character's maximum vitality, eir vitality is set to eir maximum vitality. 17. The following currencies are defined (where N is an integer greater than 0): gold, weapon level N, armor level N, health potion level N, vitality potion level N. The Game Master is the recordkeepor of these currencies. Ownership of these currencies is restricted to Characters. These currencies CAN only be created as permitted by this contract. These currencies CAN only be transferred as permitted by this contract. A Player Character CAN transfer instances of these currencies to another Player Character by announcement to the RPG mailing list, if both Player Characters are at the same location. A Player Character CAN transfer instances of these currencies to a non-Player Character by announcement to the RPG mailing list, if the location of the Player Character is the name of the non-Player Character. A non-Player Character CAN transfer instances of these currencies to a Player Character by announcement to the RPG mailing list, if the location of the Player Character is the name of the non-Player Character. A non-Player Character CAN transfer instances of these currencies to a non-Player Character by announcement to the RPG mailing list. 18. Movement tokens are a class of fixed assets and are a currency. The Game Master is the recordkeepor of movement tokens. Ownership of movement tokens is limited to Player Characters. Movement tokens CAN only be created as permitted by this contract. 19. Knowledge of stairway down from level N (where N is an integer greater than 0) is a series of attributes of Player Characters with values true and false. The Game Master tracks the state of these attributes for all Player Characters. These attributes CAN only change as permitted by this contract. When a Player Character becomes party to this contract, these attributes are all set to false for that Player Character. 20. Attack level is a computed attribute of Player Characters. Its value is equal to the highest level of weapon the Player Character has in eir possession, or 0 if e has no weapons. 21. Defense level is a computed attribute of Player Characters. Its value is equal to the highest level of armor the Player Character has in eir possession, or 0 if e has no armor. 22. Monsters are entities that Player Characters must fight. 23. Level is an attribute of monsters. A monster's level is an integer greater than 0. When a Player Character encounters a monster, the encounter will specify the level of the monster. A monster's level CANNOT change. 24. Health is an attribute of monsters. A monster's health is an integer greater than or equal to 0. A monster's health CAN only change as permitted by this contract. When a Player Character encounters a monster, the monster's health is set to the monster's level times base monster health. 25. A move has the following properties: a starting location, a destination location, and optional restrictions. A move has the following form: "from <starting location> to <destination location>[, provided <restrictions>]." The following moves are defined (N is defined as an integer greater than 0): - From Town Square to Healer - From Town Square to Gold Exchanger - From Town Square to the name of any non-Player Character - From Town Square to Dungeon Level 1 - From Healer to Town Square - From Gold Exchanger to Town Square - From The name of any non-Player Character to Town Square - From Dungeon Level 1 to Town Square - From Dungeon Level N to Dungeon Level N - From Dungeon Level N to Dungeon Level N+1, provided the Player Character's knowledge of stairway down from level N attribute is set to true - From Dungeon Level N+1 to Dungeon Level N 26. A Player Character CAN destroy one movement token e owns and specify a move by announcement to the RPG mailing list. This action is INVALID unless the location of the Player Character is the same as the starting location of the move and the Player Character meets all of the requirements specified by the move. The location of that Player Character then changes to the destination of the move and the Player Character's vitality is decremented by 1. If the Player Character's vitality is currently 0, and thus cannot be decremented further, instead the Player Character's health is decremented by 1 and the Player Character's vitality is incremented by 2 times the Player Character's level. 27. A Player Character who specifies the move "from Dungeon Level N to Dungeon Level N" (where N is defined as an integer greater than 0) is exploring the dungeon and has an encounter. This encounter must be resolved before the Player Character CAN make another move. To determine which encounter the Player Character has, e must generate a random number using 100 sides, 1 die, and 1 roll. The resulting random number will be used to determine the encounter the Player Character has as follows (N is defined as the level of the dungeon in which the Player Character is located): - 1 to 10 : Finding the Stairway Down - 11 : Finding a Level N-1 Weapon - 12 to 14 : Finding a Level N Weapon - 15 : Finding a Level N+1 Weapon - 16 : Finding Level N-1 Armor - 17 to 19 : Finding Level N Armor - 20 : Finding Level N+1 Armor - 20 to 23 : Finding a Level N-1 Health Potion - 23 to 31 : Finding a Level N Health Potion - 32 to 35 : Finding a Level N+1 Health Potion - 36 to 38 : Finding a Level N-1 Vitality Potion - 39 to 47 : Finding a Level N Vitality Potion - 48 to 50 : Finding a Level N+1 Vitality Potion - 50 to 60 : Finding a Level N-1 Monster - 60 to 90 : Finding a Level N Monster - 90 to 100 : Finding a Level N+1 Monster 28. Finding the stairway down is an encounter that a Player Character may have while exploring the dungeon. When a Player Character has this encounter, eir knowledge of stairway down from level N attribute is set to true and this encounter is immediately resolved (where N is defined as the level of the dungon in which the Player Character is located). 29. Finding a level N weapon is an encounter that a Player Character may have while exploring the dungeon (N will be specified when a Player Character has this encounter). If N is specified as 0 when a Player Character has this encounter, a piece of gold is created in possession of the Player Character; otherwise, a weapon level N is created in possession of the Player Character. In either case, this encounter is immediately resolved. 30. Finding level N armor is an encounter that a Player Character may have while exploring the dungeon (N will be specified when a Player Character has this encounter). If N is specified as 0 when a Player Character has this encounter, a piece of gold is created in possession of the Player Character; otherwise, an armor level N is created in possession of the Player Character. In either case, this encounter is immediately resolved. 31. Finding a level N health potion is an encounter that a Player Character may have while exploring the dungeon (N will be specified when a Player Character has this encounter). If N is specified as 0 when a Player Character has this encounter, a piece of gold is created in possession of the Player Character; otherwise, a health potion level N is created in possession of the Player Character. In either case, this encounter is immediately resolved. 32. Finding a level N vitality potion is an encounter that a Player Character may have while exploring the dungeon (N will be specified when a Player Character has this encounter). If N is specified as 0 when a Player Character has this encounter, a piece of gold is created in possession of the Player Character; otherwise, a vitality potion level N is created in possession of the Player Character. In either case, this encounter is immediately resolved. 33. Finding a level N monster is an encounter that a Player Character may have while exploring the dungeon (N will be specified when a Player Character has this encounter). If N is specified as 0 when a Player Character has this encounter, a piece of gold is created in possession of the Player Character and this encounter is immediately resolved; otherwise, the Player Character must engage in combat against a level N monster and this encounter is resolved once the combat is resolved. 34. Combat - TBD 35. A Player Character CAN destroy one health potion level N (where N is defined as an integer greater than 0) e owns and specify e is drinking it by announcement to the RPG mailing list. If the Player Character's health is less than eir maximum health, eir health is incremented by N times 2. Otherwise, the Player Character's maximum health is incremented by N. 36. A Player Character CAN destroy one vitality potion level N (where N is defined as an integer greater than 0) e owns and specify e is drinking it by announcement to the RPG mailing list. If the Player Character's vitality is less than eir maximum vitality, eir vitality is incremented by N times 4. Otherwise, the Player Character's maximum vitality is incremented by N times 2. 37. If a Player Character's location is "Healer", that Player Character CAN destroy gold in eir possession equal to eir level times 2 and specify e is healing by announcement to the RPG mailing list. The Player Character's health is set to eir maximum health and eir vitality is set to eir maximum vitality. 38. Except for the Game Master, if any Player Character's location is "Gold Exchanger", that Player Character CAN destroy any amount of gold in eir possession and specify e is exchanging gold by announcement to the RPG mailing list. As soon as possible at the end of each Agoran week, the Game Master SHALL award points to each Player Character equal to the amount of gold that was destroyed in this fashion by that Player Character during the previous week. If the Game Master is unable to award enough points to equal the amount of gold that was destroyed in this fashion, the Game Master SHALL award as many points as possible to those Player Characters who destroyed gold in this fashion on a first-come, first-served basis, and then the Game Master SHALL create an amount of gold in the possession of each Player Character equal to the number of points that the Game Master was unable to award to that Player Character. 39. When a Player Character becomes party to this contract, 5 movement tokens are created in eir possession, provided that the Player Character has never been party to this contract, or at least 7 days have passed since e was last party to this contract. 40. The movement token accumulation factor for each Player Character is the Player Character's level plus 4. At the beginning of each Agoran week, a number of movement tokens are created in the possession of each Player Character equal to the movement token accumulation factor of the Player Character. After the movement tokens are created, if any Player Character possesses more movement tokens than two times eir movement token accumulation factor, a number of movement tokens in possession of that Player Character are destroyed equal to the total number of movement tokens in eir possession minus the movement token accumulation factor for that Player Character. 41. When a Player Character's experience is equal to or greater than eir level times base experience, the following happen: - The Player Character's experience is decremented by the Player Character's level times base experience. - The Player Character's level is incremented by one. - The Player Character's maximum health is incremented by base health. - The Player Character's health is incremented by base health. - The Player Character's maximum vitality is incremented by base vitality. - The Player Character's vitality is incremented by base vitality. 42. When a Player Character's health is 0, the following happen: - The Player Character's location is set to Town Square. - The Player Character's level is set to 1. - The Player Character's experience is set to 0. - The Player Character's maximum health is set to base health. - The Player Character's health is set to base health. - The Player Character's maximum vitality is set to base vitality. - The Player Character's vitality is set to base vitality. - All instances of all currencies defined by this contract in possession of the Player Character are destroyed. - All knowledge of stairway down from level N (where N is an integer greater than 0) attributes for the Player Character are set to false. -- Jeff Weston (Sir Toby) PGP public key available from http://pgp.mit.edu/ PGP Key ID: 0x14B456ED