1Building placement constraints
2==============================
3
4Todo: everything
5
6Building | Constraint
7---------|-----------
8Docks    | shallow water at the middle block and at least on ground block
9
10Range to keep building
11======================
12
13When a builder is tasked with building a building and that is completed, it
14will try to build another building. This not only applies to villagers present
15when the building is completed but also to villagers who only arrive after the
16building is completed.
17
18It appears to choose the closest building, where the distance is not rounded up
19to full tiles. When choosing whether or not a building is in range however,
20only full tile distances are taken into account.
21
22The range varies depending on the building size. They are however not just
23simple circles generated with Bresenham or Midpoint. In the following ASCII art
24pieces, each character represents one tile, where `o` is the tile the villager
25is in, `.` tiles are in range and `X` tiles are out of range. Only one tile of
26the building has to be in range, not all.
27
28For {1x1,3x3,5x5}-tile-buildings (all with odd size, 5x5 is wonder and largest
29building possible):
30
31```
32XXXXXXX.....XXXXXXX
33XXXX...........XXXX
34XXX.............XXX
35XX...............XX
36X.................X
37X.................X
38X.................X
39...................
40...................
41.........o.........
42...................
43...................
44X.................X
45X.................X
46X.................X
47XX...............XX
48XXX.............XXX
49XXXX...........XXXX
50XXXXXXX.....XXXXXXX
51```
52
53For {2x2,4x4(?)}-tile-buildings (all with even size):
54
55```
56XXXXXXXXXXXXXXXXXXX
57XXXXXXX.....XXXXXXX
58XXXXX.........XXXXX
59XXX.............XXX
60XXX.............XXX
61XX...............XX
62XX...............XX
63X.................X
64X.................X
65X........o........X
66X.................X
67X.................X
68XX...............XX
69XX...............XX
70XXX.............XXX
71XXX.............XXX
72XXXXX.........XXXXX
73XXXXXXX.....XXXXXXX
74XXXXXXXXXXXXXXXXXXX
75```
76