This document described the configuration syntax of monopd game configuration
files. See the actual configuration files within games/ to see how
this syntax is applied.

Configuration Groups
====================

<string>

Board configuration group. Possible values are: General, Board, CardGroups,
Cards, EstateGroups and Estates.

General
-------

The <General> group contains properties specific to the gameboard or all
elements on it. Possible key/value pairs are:

name=string

The name of the game configuration. "Atlantic", for example.

description=string

A short description of the game. "The classic Monopoly game", for example.

Board
-----

The <Board> group contains properties specific to the gameboard or all
elements on it. Possible key/value pairs are:

go=int

Defines which estate (0 being the first to be defined, 1 the next, and so
on) is the estate where players should start.

bgcolor=#rrggbb

Defines a background color for the board and is the default for all estates.

CardGroups
----------

The <CardGroups> group has no specific properties of its own, but it has
group elements/members (sets of cards) with properties (in the regular
key/value pairs).

[string]

Group element. String defines the name of the element. Possible key/value
pairs for cardgroups are:

color=#rrggbb
bgcolor=#rrggbb

Define a (text) color and background color for these cards. Different card
groups on real gameboards usually have different colors as well.

Cards
-----

The <Cards> group has no specific properties of its own, but it has group
elements (the cards) with properties (in the regular key/value pairs).

[string]

Group element. String defines the name or caption of the game card. Valid
key/value pairs are:

group=string

Defines to which group this card belongs. String must be identical to the
name of one of the cardgroups previously defined. Monopd will ignore cards
without a matching group.

nextutil=0|1

TODO...

tojail=0|1

TODO...

advanceto=int

Defines an estate a token should advance to. The integer defines the n-th
estate defined later, 0-indexed.

advance=int

Defines a number of fields to advance. Can be negative, in which case a
token should be taken back a number of fields.

pay=int

Defines an amount which should be paid upon getting this card. Can be
negative, in which case an amount of money is given to the player.

###################################
TODO: write docs for remaining part
###################################

nextrr=1

jailcard=1

payhouse=25
payhotel=100

payeach=50

tojail=1

payeach=-50

payhouse=40
payhotel=115

<EstateGroups>

[Dark Purple]
color=#6a346a
houseprice=50

[Light Blue]
color=#9cceff
houseprice=50

[Purple]
color=#9c0062
houseprice=100

[Orange]
color=#ff9900
houseprice=100

[Red]
color=#ff0000
houseprice=150

[Yellow]
color=#ffff39
houseprice=150

[Green]
color=#009900
houseprice=200

[Blue]
color=#0000ff
houseprice=200

[Railroads]
price=200
rentmath=12.5*(2^x)
rentvar=ownedbyplayer

[Utilities]
price=150

<Estates>

[Go]

[Mediterranean Avenue]
group=Dark Purple
price=60
rent0=2
rent1=10
rent2=30
rent3=90
rent4=160
rent5=250

[Community Chest]
takecard=Community Chest

[Baltic Avenue]
group=Dark Purple
price=60
rent0=4
rent1=20
rent2=60
rent3=180
rent4=320
rent5=450

[Income Tax]
tax=200
taxpercentage=10

[Reading Railroad]
group=Railroads

[Oriental Avenue]
group=Light Blue
price=100
rent0=6
rent1=30
rent2=90
rent3=270
rent4=400
rent5=550

[Chance]
takecard=Chance

[Vermont Avenue]
group=Light Blue
price=100
rent0=6
rent1=30
rent2=90
rent3=270
rent4=400
rent5=550

[Connecticut Avenue]
group=Light Blue
price=120
rent0=8
rent1=40
rent2=100
rent3=300
rent4=450
rent5=600

[In Jail / Just Visiting]
jail=1

[St. Charles Place]
group=Purple
price=140
rent0=10
rent1=50
rent2=150
rent3=450
rent4=625
rent5=750

[Electric Company]
group=Utilities

[States Avenue]
group=Purple
price=140
rent0=10
rent1=50
rent2=150
rent3=450
rent4=625
rent5=750

[Virginia Avenue]
group=Purple
price=160
rent0=12
rent1=60
rent2=180
rent3=500
rent4=700
rent5=900

[Pennsylvania Railroad]
group=Railroads

[St. James Place]
group=Orange
price=180
rent0=14
rent1=70
rent2=200
rent3=550
rent4=750
rent5=950

[Community Chest]
takecard=Community Chest

[Tennessee Avenue]
group=Orange
price=180
rent0=14
rent1=70
rent2=200
rent3=550
rent4=750
rent5=950

[New York Avenue]
group=Orange
price=200
rent0=18
rent1=80
rent2=220
rent3=600
rent4=800
rent5=1000

[Free Parking]

[Kentucky Avenue]
group=Red
price=220
rent0=18
rent1=90
rent2=250
rent3=700
rent4=875
rent5=1050

[Chance]
takecard=Chance

[Indiana Avenue]
group=Red
price=220
rent0=18
rent1=90
rent2=250
rent3=700
rent4=875
rent5=1050

[Illinois Avenue]
group=Red
price=240
rent0=20
rent1=100
rent2=300
rent3=750
rent4=925
rent5=1100

[B &amp; O Railroad]
group=Railroads

[Atlantic Avenue]
group=Yellow
price=260
rent0=22
rent1=110
rent2=330
rent3=800
rent4=975
rent5=1150

[Ventnor Avenue]
group=Yellow
price=260
rent0=22
rent1=110
rent2=330
rent3=800
rent4=975
rent5=1150

[Water Works]
group=Utilities

[Marvin Gardens]
group=Yellow
price=280
rent0=22
rent1=120
rent2=360
rent3=850
rent4=1025
rent5=1200

[Go to Jail]
tojail=1

[Pacific Avenue]
group=Green
price=300
rent0=26
rent1=130
rent2=390
rent3=900
rent4=1100
rent5=1275

[North Carolina Avenue]
group=Green
price=300
rent0=26
rent1=130
rent2=390
rent3=900
rent4=1100
rent5=1275

[Community Chest]
takecard=Community Chest

[Pennsylvania Avenue]
group=Green
price=320
rent0=28
rent1=150
rent2=450
rent3=1000
rent4=1200
rent5=1400

[Short Line]
group=Railroads

[Chance]
takecard=Chance

[Park Place]
group=Blue
price=350
rent0=35
rent1=175
rent2=500
rent3=1100
rent4=1300
rent5=1500

[Luxury Tax]
tax=75

[Boardwalk]
group=Blue
price=400
rent0=50
rent1=200
rent2=600
rent3=1400
rent4=1700
rent5=2000
