The first steps towards enemy generators
authorNeil <neil@dip.sun.ac.za>
Sat, 5 Mar 2016 18:31:50 +0000 (20:31 +0200)
committerNeil <neil@dip.sun.ac.za>
Sat, 5 Mar 2016 18:43:41 +0000 (20:43 +0200)
koperkapel/gamelib/enemy_generator.py [new file with mode: 0644]
koperkapel/gamelib/level.py
koperkapel/levels/floor2 [new file with mode: 0644]
koperkapel/levels/level1.json
koperkapel/levels/level2.json
koperkapel/levels/level_converter.py
koperkapel/levels/map.json [new file with mode: 0644]
koperkapel/levels/tunnel2 [new file with mode: 0644]
koperkapel/loaders/levelloader.py
koperkapel/scenes/base.py
koperkapel/scenes/level.py

diff --git a/koperkapel/gamelib/enemy_generator.py b/koperkapel/gamelib/enemy_generator.py
new file mode 100644 (file)
index 0000000..3003064
--- /dev/null
@@ -0,0 +1,32 @@
+""" Add enemies to the level as required """
+
+import os
+from pgzero.actor import Actor
+from pgzero.clock import each_tick
+
+class EnemyGenerator(Actor):
+    """Generators are currently invisble, but we want the update hook."""
+
+    def __init__(self, info):
+        self.gen_pos = info['pos']
+        self.enemy_type = info['type']
+        self.rate = info['rate']
+        self.max_enemies = info['max']
+        self._time_since_last_update = 0
+        self.paused = False
+        each_tick(self.update)
+        super().__init__(os.path.join('weapons', 'blank'))
+
+    def update(self, dt):
+        if self.paused:
+            return
+        self._time_since_last_update += dt
+        if self._time_since_last_update > self.rate:
+            print('A horrible monster (%s) appears' % self.enemy_type, self.gen_pos)
+            self._time_since_last_update = 0
+
+    def pause(self):
+        self.paused = True
+
+    def unpause(self):
+        self.paused = False
index a754f29c80e996d9be2a238393116c9911805a42..8b275b1911f2c1f9d0ab012d355c1ecae4824d56 100644 (file)
@@ -16,6 +16,7 @@ class Level(object):
         self.start_pos = (0, 0)
         self.exit = None
         self.enemies = []
         self.start_pos = (0, 0)
         self.exit = None
         self.enemies = []
+        self.enemy_generators = []
         self.friends = []
 
     def get_neighbors(self, x, y):
         self.friends = []
 
     def get_neighbors(self, x, y):
diff --git a/koperkapel/levels/floor2 b/koperkapel/levels/floor2
new file mode 100644 (file)
index 0000000..3e5827b
--- /dev/null
@@ -0,0 +1,17 @@
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wffffffffwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wsgffgffffffwwwwwwwwwwwwwwwwwwwwwwwwww
+wffffffffwwfffffffffffffffffffffffffww
+wwwwfwwwwwwwwwffffffffffffffffffffwwww
+wwwwfwwwwwwwwfffffffffffffffffffffffww
+wffffffffwwwwwwffffffffffffffffffgfffw
+wfgffgffffffwwffffffffffffffffffffffww
+wffffffffwwffffwfffffwffffffffwffffgfw
+wwfwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+wwfwwwwwwwwwwwwwffffffwfffffffwwwwwwww
+wwfwwwwwwwwwwwwwfwwwwfffwfwwwffffwwwww
+wwfwwwwwwwwwwwffffwwwwwwwfwwwwgwfwwwww
+wwfffwwwwwwwwwfwwfwwwwwwwffffwwwfwwwww
+wwfffffffffffffwwfffffffwwwwfffffffwww
+wwwwwwwwwwwwwwwwwwwwwwwffffffwwwwwwwww
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
index 782ec6562d11c4a12f0d2e21597b2d0311f5dd37..88c188a315ef1de3391cddc1ba35f7a0d98dbcb7 100644 (file)
          21,
          8
       ]
          21,
          8
       ]
+   ],
+   "enemy generators": [
+      {
+       "type": "roach",
+       "pos": [18, 8],
+       "rate": 1.0,
+       "max": 2
+      }
    ]
 }
    ]
 }
index 5d565cfa6b4729b353a6821e7c54b3d7a5fd227e..99571fd75658e48bfeedb3b6bae06d1e07b82117 100644 (file)
       "next level": "level1"
    },
    "items": [],
       "next level": "level1"
    },
    "items": [],
-   "friendly roaches": []
+   "friendly roaches": [],
+   "enemy generators": [
+      {
+       "type": "roach",
+       "pos": [16, 9],
+       "rate": 1.0,
+       "max": 2
+      }
+   ]
 }
 }
index 0004aa1b8a6991c539daf4e61a99a396db7133bd..a8b8d679c7a8a6c6e7ccb41d6e36cd2ebbffb2d6 100644 (file)
@@ -74,6 +74,7 @@ class level_generator:
                 level['starting pos'] = []
                 level['door_info'] = []
                 level['friendly roaches'] = []
                 level['starting pos'] = []
                 level['door_info'] = []
                 level['friendly roaches'] = []
+                level['enemy generators'] = []
 
                 for l, lu in zip(p, t):
                     row = []
 
                 for l, lu in zip(p, t):
                     row = []
diff --git a/koperkapel/levels/map.json b/koperkapel/levels/map.json
new file mode 100644 (file)
index 0000000..9fecec0
--- /dev/null
@@ -0,0 +1,7633 @@
+{
+   "tiles": [
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly", 
+                  "crawl"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly", 
+                  "crawl"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly", 
+                  "crawl"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly", 
+                  "crawl"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly", 
+                  "crawl"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly", 
+                  "crawl"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly", 
+                  "crawl"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [
+                  "walk", 
+                  "fly"
+               ], 
+               "base": "floor"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [
+                  "crawl"
+               ], 
+               "base": "tunnel"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ], 
+      [
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }, 
+         {
+            "tunnels": {
+               "behaviour": [], 
+               "base": "underground"
+            }, 
+            "floor": {
+               "behaviour": [], 
+               "base": "cwall"
+            }
+         }
+      ]
+   ], 
+   "tileset": "bunker", 
+   "door_info": [], 
+   "starting pos": [
+      1, 
+      1
+   ], 
+   "friendly roaches": []
+}
\ No newline at end of file
diff --git a/koperkapel/levels/tunnel2 b/koperkapel/levels/tunnel2
new file mode 100644 (file)
index 0000000..f36073d
--- /dev/null
@@ -0,0 +1,17 @@
+tttttttttttttttttttttttttttttttttttttt
+tttttttttttttttttttttttttttttttttttttt
+tt-----------------------------------t
+ttt-tttttttttttttttttttttttttttttttt-t
+ttt-tt----tttttttttttttttttttttttttt-t
+ttt----tt-tttttttttttttttttttttttttt-t
+ttt-ttttt-tttttttttttttttttttttt---t-t
+tt--------tttttttttttttttttttttt-ttt-t
+tt-ttttttttt----ttttt---t-----tt-tt--t
+tt-ttttttttt-tt-ttttt-t-t-ttt-tt-ttt-t
+tt-ttttttttt-tt-------t---ttt-tt-ttt-t
+tt-----------tttttttttttttttt-t--ttt-t
+tttt-ttttttttttttttttttttt------tttt-t
+tttt-ttttttttttttttttttttt-ttttttttt-t
+tttt-ttt----------ttttt----ttttttttt-t
+tttt-----tttttttt-------tttttttttttt-t
+tttttttttttttttttttttttttttttttttttttt
index ccab73f1f017dc1000c94027687f4194a796b6cd..a775838dc54b1b02c18734ab69709d4a34c16230 100644 (file)
@@ -10,6 +10,7 @@ from ..gamelib.door import Door
 from ..gamelib.keypad import Keypad
 from ..gamelib.friendlyroach import get_friendly_roach
 from ..gamelib.items import get_item
 from ..gamelib.keypad import Keypad
 from ..gamelib.friendlyroach import get_friendly_roach
 from ..gamelib.items import get_item
+from ..gamelib.enemy_generator import EnemyGenerator
 
 
 TILES = {
 
 
 TILES = {
@@ -37,7 +38,7 @@ class LevelLoader(ResourceLoader):
         self._level.tileset = level_data['tileset']
         self._level.start_pos = level_data["starting pos"]
         self._level.exit = level_data["exit"]
         self._level.tileset = level_data['tileset']
         self._level.start_pos = level_data["starting pos"]
         self._level.exit = level_data["exit"]
-        self._level.enemies = []
+        self._level.enemy_generators = []
         self._level.friends = []
         self._level.items = []
         # Consistency check, so we can assume things are correct
         self._level.friends = []
         self._level.items = []
         # Consistency check, so we can assume things are correct
@@ -71,6 +72,9 @@ class LevelLoader(ResourceLoader):
             self._level.friends.append(roach)
         for item in level_data['items']:
             self._level.items.append(get_item(item))
             self._level.friends.append(roach)
         for item in level_data['items']:
             self._level.items.append(get_item(item))
+        for generator in level_data['enemy generators']:
+            enemy = EnemyGenerator(generator)
+            self._level.enemy_generators.append(enemy)
         return self._level
 
     def _load_tile_images(self):
         return self._level
 
     def _load_tile_images(self):
index 24a8c615fa06c43f97fe893f302d5aab3197f26b..623eb42a977276e506449831be35956d83758d32 100644 (file)
@@ -29,10 +29,8 @@ class Engine:
             ev.apply(self)
 
     def change_scene(self, scene):
             ev.apply(self)
 
     def change_scene(self, scene):
-        print('here', self._scene)
         self._apply_events(self._scene.exit(self._world.proxy()))
         self._scene = scene
         self._apply_events(self._scene.exit(self._world.proxy()))
         self._scene = scene
-        print('there', self._scene)
         self._apply_events(self._scene.enter(self._world.proxy()))
 
     def change_world(self, *args, **kw):
         self._apply_events(self._scene.enter(self._world.proxy()))
 
     def change_world(self, *args, **kw):
index 60e230568575670baa72e1de4a4d3f1ffce1dab2..a1515997dc48d470044925e0193495cc904d4add 100644 (file)
@@ -84,18 +84,22 @@ class BaseLevelScene(Scene):
 class GameLevelScene(BaseLevelScene):
 
     def enter(self, world):
 class GameLevelScene(BaseLevelScene):
 
     def enter(self, world):
-        print('enter', world['level']['name'], self._level)
         if self._level is not None:
         if self._level is not None:
+            for generator in self._generators:
+                generator.unpause()
             return
         super().enter(world)
         self._roaches = self.actors.add_layer("roaches", level=10)
         self._friends = self.actors.add_layer("friendly roaches", level=9)
         self._items = self.actors.add_layer("items", level=9)
             return
         super().enter(world)
         self._roaches = self.actors.add_layer("roaches", level=10)
         self._friends = self.actors.add_layer("friendly roaches", level=9)
         self._items = self.actors.add_layer("items", level=9)
+        self._generators = self.actors.add_layer("enemy generators", level=8)
+        self._enemies = self.actors.add_layer("enemies", level=7)
         self._vehicle = Vehicle.current(world)
         self._mode = 'walk'
         self._angle = 0
         self._init_items()
         self._init_friendly_roaches()
         self._vehicle = Vehicle.current(world)
         self._mode = 'walk'
         self._angle = 0
         self._init_items()
         self._init_friendly_roaches()
+        self._init_generators()
         return self._init_roaches(world)
 
     def _init_items(self):
         return self._init_roaches(world)
 
     def _init_items(self):
@@ -106,6 +110,17 @@ class GameLevelScene(BaseLevelScene):
         for friend in self._level.friends:
             self._friends.add(friend)
 
         for friend in self._level.friends:
             self._friends.add(friend)
 
+    def exit(self, world):
+        for generator in self._generators:
+            # We don't want these running while we're on other levels, but we don't want to delete them
+            # here either (because of the vehicle management view)
+            generator.pause()
+
+    def _init_generators(self):
+        for generator in self._level.enemy_generators:
+            self._generators.add(generator)
+            generator.unpause()
+
     def _init_roaches(self, world):
         x, y = self._level.start_pos
         self._level_layer = 'floor'
     def _init_roaches(self, world):
         x, y = self._level.start_pos
         self._level_layer = 'floor'