From: David Sharpe Date: Thu, 3 Mar 2016 21:08:58 +0000 (+0200) Subject: Merge X-Git-Url: https://git.ctpug.org.za/?a=commitdiff_plain;h=597d0be4e0942ce456e4ba8850decec1af7d0b4b;hp=3f18bba4fc135cf788409155711e5d53eb14148d;p=koperkapel.git Merge --- diff --git a/images/roach/eyes_1.png b/images/roach/eyes_1.png deleted file mode 100644 index c77fa0c..0000000 Binary files a/images/roach/eyes_1.png and /dev/null differ diff --git a/images/roach/eyes_2.png b/images/roach/eyes_2.png deleted file mode 100644 index 3545635..0000000 Binary files a/images/roach/eyes_2.png and /dev/null differ diff --git a/images/roach/eyes_3.png b/images/roach/eyes_3.png deleted file mode 100644 index c77fa0c..0000000 Binary files a/images/roach/eyes_3.png and /dev/null differ diff --git a/images/roach/eyes_4.png b/images/roach/eyes_4.png deleted file mode 100644 index 6273074..0000000 Binary files a/images/roach/eyes_4.png and /dev/null differ diff --git a/images/roach/roach_1.png b/images/roach/roach_1.png deleted file mode 100644 index 7227eba..0000000 Binary files a/images/roach/roach_1.png and /dev/null differ diff --git a/images/roach/roach_2.png b/images/roach/roach_2.png deleted file mode 100644 index 4e4f5d6..0000000 Binary files a/images/roach/roach_2.png and /dev/null differ diff --git a/images/roach/roach_3.png b/images/roach/roach_3.png deleted file mode 100644 index c967f99..0000000 Binary files a/images/roach/roach_3.png and /dev/null differ diff --git a/images/roach/roach_4.png b/images/roach/roach_4.png deleted file mode 100644 index 314e742..0000000 Binary files a/images/roach/roach_4.png and /dev/null differ diff --git a/koperkapel/constants.py b/koperkapel/constants.py new file mode 100644 index 0000000..54f8a20 --- /dev/null +++ b/koperkapel/constants.py @@ -0,0 +1,7 @@ +# Various constants + +TITLE = "Koperkapel" + +TILE_SIZE = 64 + +WIDTH, HEIGHT = 1024, 768 diff --git a/koperkapel/generators/maps.py b/koperkapel/generators/maps.py index 51aae65..4f917c6 100644 --- a/koperkapel/generators/maps.py +++ b/koperkapel/generators/maps.py @@ -2,10 +2,13 @@ import random import math +import json +import os i = random.randint(0,100) +<<<<<<< HEAD class Room: def __init__(self, region): """ @@ -76,6 +79,16 @@ class Room: :return: """ self.passages.append([local_tile, foriegn_tile]) +======= +ATTRIBUTE_MAP = { + '#': {'base': 'cwall', + 'behaviour': [], + }, + ' ': {'base': 'floor', + 'behaviour': ['walk', 'fly'], + }, +} +>>>>>>> 0b2149fff63b346192148b7eb334e00ad3b9283d class LevelGenerator: @@ -214,9 +227,29 @@ class LevelGenerator: file.write(''.join(l)) file.write('\n') file.close() +<<<<<<< HEAD for l in self.region_map: +======= + self._to_json() + for l in self.regions: +>>>>>>> 0b2149fff63b346192148b7eb334e00ad3b9283d print(l) + def _to_json(self): + level = {} + level['tiles'] = [] + for l in self.map: + row = [] + for t in l: + row.append(ATTRIBUTE_MAP[t]) + level['tiles'].append(row) + name = os.path.join(os.path.dirname(__file__), '..', 'levels', 'map.json') + # FIXME: Do a lot better here + # Crude hack so the level is written into the levels folder + f = open(name, 'w') + json.dump(level, f) + f.close() + if __name__ == '__main__': while True: diff --git a/koperkapel/images/roach/eyes_1.png b/koperkapel/images/roach/eyes_1.png new file mode 100644 index 0000000..c77fa0c Binary files /dev/null and b/koperkapel/images/roach/eyes_1.png differ diff --git a/koperkapel/images/roach/eyes_2.png b/koperkapel/images/roach/eyes_2.png new file mode 100644 index 0000000..3545635 Binary files /dev/null and b/koperkapel/images/roach/eyes_2.png differ diff --git a/koperkapel/images/roach/eyes_3.png b/koperkapel/images/roach/eyes_3.png new file mode 100644 index 0000000..c77fa0c Binary files /dev/null and b/koperkapel/images/roach/eyes_3.png differ diff --git a/koperkapel/images/roach/eyes_4.png b/koperkapel/images/roach/eyes_4.png new file mode 100644 index 0000000..6273074 Binary files /dev/null and b/koperkapel/images/roach/eyes_4.png differ diff --git a/koperkapel/images/roach/roach_1.png b/koperkapel/images/roach/roach_1.png new file mode 100644 index 0000000..7227eba Binary files /dev/null and b/koperkapel/images/roach/roach_1.png differ diff --git a/koperkapel/images/roach/roach_2.png b/koperkapel/images/roach/roach_2.png new file mode 100644 index 0000000..4e4f5d6 Binary files /dev/null and b/koperkapel/images/roach/roach_2.png differ diff --git a/koperkapel/images/roach/roach_3.png b/koperkapel/images/roach/roach_3.png new file mode 100644 index 0000000..c967f99 Binary files /dev/null and b/koperkapel/images/roach/roach_3.png differ diff --git a/koperkapel/images/roach/roach_4.png b/koperkapel/images/roach/roach_4.png new file mode 100644 index 0000000..314e742 Binary files /dev/null and b/koperkapel/images/roach/roach_4.png differ diff --git a/koperkapel/images/roach_21/eyes_1.png b/koperkapel/images/roach_21/eyes_1.png new file mode 100644 index 0000000..4b964ee Binary files /dev/null and b/koperkapel/images/roach_21/eyes_1.png differ diff --git a/koperkapel/images/roach_21/eyes_2.png b/koperkapel/images/roach_21/eyes_2.png new file mode 100644 index 0000000..71ee549 Binary files /dev/null and b/koperkapel/images/roach_21/eyes_2.png differ diff --git a/koperkapel/images/roach_21/eyes_3.png b/koperkapel/images/roach_21/eyes_3.png new file mode 100644 index 0000000..4b964ee Binary files /dev/null and b/koperkapel/images/roach_21/eyes_3.png differ diff --git a/koperkapel/images/roach_21/eyes_4.png b/koperkapel/images/roach_21/eyes_4.png new file mode 100644 index 0000000..24a72d8 Binary files /dev/null and b/koperkapel/images/roach_21/eyes_4.png differ diff --git a/koperkapel/images/roach_21/roach_1.png b/koperkapel/images/roach_21/roach_1.png new file mode 100644 index 0000000..e38ccb7 Binary files /dev/null and b/koperkapel/images/roach_21/roach_1.png differ diff --git a/koperkapel/images/roach_21/roach_2.png b/koperkapel/images/roach_21/roach_2.png new file mode 100644 index 0000000..4ef0c77 Binary files /dev/null and b/koperkapel/images/roach_21/roach_2.png differ diff --git a/koperkapel/images/roach_21/roach_3.png b/koperkapel/images/roach_21/roach_3.png new file mode 100644 index 0000000..f8fb51b Binary files /dev/null and b/koperkapel/images/roach_21/roach_3.png differ diff --git a/koperkapel/images/roach_21/roach_4.png b/koperkapel/images/roach_21/roach_4.png new file mode 100644 index 0000000..e8ad8d3 Binary files /dev/null and b/koperkapel/images/roach_21/roach_4.png differ diff --git a/koperkapel/images/roach_32/eyes_1.png b/koperkapel/images/roach_32/eyes_1.png new file mode 100644 index 0000000..c6bc80f Binary files /dev/null and b/koperkapel/images/roach_32/eyes_1.png differ diff --git a/koperkapel/images/roach_32/eyes_2.png b/koperkapel/images/roach_32/eyes_2.png new file mode 100644 index 0000000..4132fe1 Binary files /dev/null and b/koperkapel/images/roach_32/eyes_2.png differ diff --git a/koperkapel/images/roach_32/eyes_3.png b/koperkapel/images/roach_32/eyes_3.png new file mode 100644 index 0000000..c6bc80f Binary files /dev/null and b/koperkapel/images/roach_32/eyes_3.png differ diff --git a/koperkapel/images/roach_32/eyes_4.png b/koperkapel/images/roach_32/eyes_4.png new file mode 100644 index 0000000..7b38368 Binary files /dev/null and b/koperkapel/images/roach_32/eyes_4.png differ diff --git a/koperkapel/images/roach_32/roach_1.png b/koperkapel/images/roach_32/roach_1.png new file mode 100644 index 0000000..6dd6516 Binary files /dev/null and b/koperkapel/images/roach_32/roach_1.png differ diff --git a/koperkapel/images/roach_32/roach_2.png b/koperkapel/images/roach_32/roach_2.png new file mode 100644 index 0000000..b293fc7 Binary files /dev/null and b/koperkapel/images/roach_32/roach_2.png differ diff --git a/koperkapel/images/roach_32/roach_3.png b/koperkapel/images/roach_32/roach_3.png new file mode 100644 index 0000000..6a9237d Binary files /dev/null and b/koperkapel/images/roach_32/roach_3.png differ diff --git a/koperkapel/images/roach_32/roach_4.png b/koperkapel/images/roach_32/roach_4.png new file mode 100644 index 0000000..ca3bffa Binary files /dev/null and b/koperkapel/images/roach_32/roach_4.png differ diff --git a/koperkapel/images/roach_nonet/eyes_1.png b/koperkapel/images/roach_nonet/eyes_1.png new file mode 100644 index 0000000..ff82b8e Binary files /dev/null and b/koperkapel/images/roach_nonet/eyes_1.png differ diff --git a/koperkapel/images/roach_nonet/eyes_2.png b/koperkapel/images/roach_nonet/eyes_2.png new file mode 100644 index 0000000..1ed3637 Binary files /dev/null and b/koperkapel/images/roach_nonet/eyes_2.png differ diff --git a/koperkapel/images/roach_nonet/eyes_3.png b/koperkapel/images/roach_nonet/eyes_3.png new file mode 100644 index 0000000..7b7f304 Binary files /dev/null and b/koperkapel/images/roach_nonet/eyes_3.png differ diff --git a/koperkapel/images/roach_nonet/eyes_4.png b/koperkapel/images/roach_nonet/eyes_4.png new file mode 100644 index 0000000..8c584f5 Binary files /dev/null and b/koperkapel/images/roach_nonet/eyes_4.png differ diff --git a/koperkapel/images/roach_nonet/roach_1.png b/koperkapel/images/roach_nonet/roach_1.png new file mode 100644 index 0000000..aa357aa Binary files /dev/null and b/koperkapel/images/roach_nonet/roach_1.png differ diff --git a/koperkapel/images/roach_nonet/roach_2.png b/koperkapel/images/roach_nonet/roach_2.png new file mode 100644 index 0000000..4d1d8ef Binary files /dev/null and b/koperkapel/images/roach_nonet/roach_2.png differ diff --git a/koperkapel/images/roach_nonet/roach_3.png b/koperkapel/images/roach_nonet/roach_3.png new file mode 100644 index 0000000..f0f1160 Binary files /dev/null and b/koperkapel/images/roach_nonet/roach_3.png differ diff --git a/koperkapel/images/roach_nonet/roach_4.png b/koperkapel/images/roach_nonet/roach_4.png new file mode 100644 index 0000000..d830eab Binary files /dev/null and b/koperkapel/images/roach_nonet/roach_4.png differ diff --git a/koperkapel/images/roach_quartet/eyes_1.png b/koperkapel/images/roach_quartet/eyes_1.png new file mode 100644 index 0000000..1ee83f6 Binary files /dev/null and b/koperkapel/images/roach_quartet/eyes_1.png differ diff --git a/koperkapel/images/roach_quartet/eyes_2.png b/koperkapel/images/roach_quartet/eyes_2.png new file mode 100644 index 0000000..b1df069 Binary files /dev/null and b/koperkapel/images/roach_quartet/eyes_2.png differ diff --git a/koperkapel/images/roach_quartet/eyes_3.png b/koperkapel/images/roach_quartet/eyes_3.png new file mode 100644 index 0000000..d28b5ac Binary files /dev/null and b/koperkapel/images/roach_quartet/eyes_3.png differ diff --git a/koperkapel/images/roach_quartet/eyes_4.png b/koperkapel/images/roach_quartet/eyes_4.png new file mode 100644 index 0000000..5af7a66 Binary files /dev/null and b/koperkapel/images/roach_quartet/eyes_4.png differ diff --git a/koperkapel/images/roach_quartet/roach_1.png b/koperkapel/images/roach_quartet/roach_1.png new file mode 100644 index 0000000..9654f1f Binary files /dev/null and b/koperkapel/images/roach_quartet/roach_1.png differ diff --git a/koperkapel/images/roach_quartet/roach_2.png b/koperkapel/images/roach_quartet/roach_2.png new file mode 100644 index 0000000..dbb1ac0 Binary files /dev/null and b/koperkapel/images/roach_quartet/roach_2.png differ diff --git a/koperkapel/images/roach_quartet/roach_3.png b/koperkapel/images/roach_quartet/roach_3.png new file mode 100644 index 0000000..0ac48e4 Binary files /dev/null and b/koperkapel/images/roach_quartet/roach_3.png differ diff --git a/koperkapel/images/roach_quartet/roach_4.png b/koperkapel/images/roach_quartet/roach_4.png new file mode 100644 index 0000000..66d08c6 Binary files /dev/null and b/koperkapel/images/roach_quartet/roach_4.png differ diff --git a/koperkapel/levels/level1.json b/koperkapel/levels/level1.json index 42e9782..c88d2c7 100644 --- a/koperkapel/levels/level1.json +++ b/koperkapel/levels/level1.json @@ -1,855 +1 @@ -{ - "tiles": [ - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 3 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 5 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 7 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 0, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 3 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 5 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 7 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 1, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 3 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 2, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 5 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 7 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 2, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 3 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 3, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 5 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 3, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 7 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 3, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 4, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 4, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 4, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 4, - 3 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 4, - 4 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 4, - 5 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 4, - 6 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 4, - 7 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 4, - 8 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 4, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 5, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 5, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 5, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 5, - 3 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 5, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 5, - 5 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 5, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 5, - 7 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 5, - 8 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 5, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 6, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 6, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 6, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 6, - 3 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 6, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 6, - 5 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 6, - 6 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 6, - 7 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 6, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 6, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 3 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 5 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 7, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 7 - ] - }, - { - "behaviour": [ - "walk", - "fly" - ], - "base": "floor", - "pos": [ - 7, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 7, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 3 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 5 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 7 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 8, - 9 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 0 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 1 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 2 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 3 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 4 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 5 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 6 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 7 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 8 - ] - }, - { - "behaviour": [], - "base": "cwall", - "pos": [ - 9, - 9 - ] - } - ] -} +{"width": 32, "tiles": [[{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}], [{"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}], [{"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": ["walk", "fly"], "base": "floor"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}, {"behaviour": [], "base": "cwall"}]], "height": 32} \ No newline at end of file diff --git a/koperkapel/loaders/levelloader.py b/koperkapel/loaders/levelloader.py new file mode 100644 index 0000000..124161f --- /dev/null +++ b/koperkapel/loaders/levelloader.py @@ -0,0 +1,36 @@ +"""Loader a level, using the pygame-zero ResourceLoader infrastructure""" + +import json + +from pgzero.loaders import images, ResourceLoader + + +class LevelLoader(ResourceLoader): + """ Level loader. """ + + EXTNS = ['json'] + TYPE = 'level' + + def _load(self, level_path): + f = open(level_path, 'r') + level_data = json.load(f) + f.close() + self._height = len(level_data['tiles']) + self._width = len(level_data['tiles'][0]) + self._tiles = level_data['tiles'] + # Consistency check, so we can assume things are correct + # in the level renderer + for row, row_data in enumerate(self._tiles): + if len(row_data) != self._width: + raise RuntimeError("Incorrect len for row %d" % row) + self._load_tile_images() + return level_data + + def _load_tile_images(self): + """Load all the tile images""" + for row_data in self._tiles: + for tile in row_data: + tile['image'] = images.load(tile['base']) + + +levels = LevelLoader('levels') diff --git a/koperkapel/pgzapp.py b/koperkapel/pgzapp.py index 109e39e..ca9a23f 100644 --- a/koperkapel/pgzapp.py +++ b/koperkapel/pgzapp.py @@ -4,10 +4,8 @@ import sys from .scenes.base import Engine from .scenes.menu import MenuScene +from .constants import WIDTH, HEIGHT, TITLE -TITLE = "Koperkapel" -WIDTH = 1024 -HEIGHT = 768 engine = Engine(sys.modules[__name__], MenuScene()) diff --git a/koperkapel/scenes/constants.py b/koperkapel/scenes/constants.py deleted file mode 100644 index cc6f1cb..0000000 --- a/koperkapel/scenes/constants.py +++ /dev/null @@ -1,8 +0,0 @@ -# Various constants - -import os - -TILE_SIZE = 64 - -# FIXME: Do betterer -LEVEL_PATH = os.path.join(os.path.dirname(__file__), '..', 'levels') diff --git a/koperkapel/scenes/level.py b/koperkapel/scenes/level.py index 6537e5c..71373c0 100644 --- a/koperkapel/scenes/level.py +++ b/koperkapel/scenes/level.py @@ -1,40 +1,30 @@ """Render a level""" -import json -import os - from pgzero.constants import keys -from pgzero.loaders import images +from ..loaders.levelloader import levels from .base import Scene, ChangeSceneEvent -from .constants import TILE_SIZE, LEVEL_PATH +from ..constants import TILE_SIZE, WIDTH, HEIGHT class LevelScene(Scene): """ Level scene. """ def __init__(self, level_name): - self._level_name = level_name - f = open(os.path.join(LEVEL_PATH, level_name + '.json')) - level_data = json.load(f) - f.close() - self._tiles = level_data['tiles'] - self._load_tile_images() + self._level_data = levels.load(level_name) + self._tiles = self._level_data['tiles'] - def draw(self, screen): + def draw(self, screen, viewport=(0, 0)): screen.clear() - #screen.draw.text("This is level {}".format(self._level_name), (200, 100)) - for tile in self._tiles: - pos = tile['pos'] - pos = [pos[0] * TILE_SIZE, pos[1] * TILE_SIZE] - if not 'image' in tile: - # Skip broken tiles for now - continue - screen.blit(tile['image'], pos) - - def _load_tile_images(self): - """Load all the tile images""" - for tile in self._tiles: - tile['image'] = getattr(images, tile['base']) + for y, row in enumerate(self._tiles): + for x, tile in enumerate(row): + pos = (x * TILE_SIZE - viewport[0], + y * TILE_SIZE - viewport[1]) + if 'image' not in tile: + # Skip broken tiles for now + continue + if 0 <= pos[0] < WIDTH: + if 0 <= pos[1] < HEIGHT: + screen.blit(tile['image'], pos) def on_key_down(self, key, mod, unicode): if key == keys.ESCAPE: diff --git a/koperkapel/scenes/menu.py b/koperkapel/scenes/menu.py index 39ab12c..c91c142 100644 --- a/koperkapel/scenes/menu.py +++ b/koperkapel/scenes/menu.py @@ -18,6 +18,8 @@ class MenuScene(Scene): self._nav = ActorNavigator() self._menu = [ TextButton("Play", action=self.change_to_level), + TextButton("View Last Generated Level", + action=self.change_to_viewer), TextButton("Credits", action=self.change_to_credits), TextButton("Quit", action=self.quit), ] @@ -33,6 +35,10 @@ class MenuScene(Scene): from .level import LevelScene return [ChangeSceneEvent(LevelScene('level1'))] + def change_to_viewer(self): + from .viewlevel import ViewLevelScene + return [ChangeSceneEvent(ViewLevelScene('map'))] + def change_to_credits(self): from .credits import CreditsScene return [ChangeSceneEvent(CreditsScene())] diff --git a/koperkapel/scenes/viewlevel.py b/koperkapel/scenes/viewlevel.py new file mode 100644 index 0000000..8a101df --- /dev/null +++ b/koperkapel/scenes/viewlevel.py @@ -0,0 +1,31 @@ +"""Render a level and allow moving the scene""" + +from pgzero.constants import keys +from .level import LevelScene +from ..constants import TILE_SIZE + + +class ViewLevelScene(LevelScene): + """ Level scene. """ + + def __init__(self, level_name): + super(ViewLevelScene, self).__init__(level_name) + self._pos = (0, 0) + + def draw(self, screen): + super(ViewLevelScene, self).draw(screen, self._pos) + + def on_key_down(self, key, mod, unicode): + if key == keys.DOWN: + self._pos = self._pos[0], self._pos[1] + TILE_SIZE + return + elif key == keys.UP: + self._pos = self._pos[0], self._pos[1] - TILE_SIZE + return + elif key == keys.LEFT: + self._pos = self._pos[0] - TILE_SIZE, self._pos[1] + return + elif key == keys.RIGHT: + self._pos = self._pos[0] + TILE_SIZE, self._pos[1] + return + return super(ViewLevelScene, self).on_key_down(key, mod, unicode) diff --git a/sources/vector/generate_bitmaps.sh b/sources/vector/generate_bitmaps.sh index bb1a259..af9d370 100755 --- a/sources/vector/generate_bitmaps.sh +++ b/sources/vector/generate_bitmaps.sh @@ -1,10 +1,59 @@ #!/bin/bash +# Simple generation of 64x64 tiles + +imgdir=../../koperkapel/images + for dir in roach do - mkdir -p ../../images/$dir + mkdir -p ${imgdir}/$dir for x in $dir/* do - inkscape -z -e ../../images/${x%.*}.png -w 64 -h 64 $x + inkscape -z -e ${imgdir}/${x%.*}.png -w 64 -h 64 $x done done + +# Smaller roaches + +for size in 32 21 +do + mkdir -p ${imgdir}/roach_${size} + + for x in roach/* + do + xbase=`basename $x` + inkscape -z -e ${imgdir}/roach_${size}/${xbase%.*}.png -w ${size} -h ${size} $x + done +done + +# Roach quartet + +mkdir -p ${imgdir}/roach_quartet + +function quartet_tile { + for tile in roach eyes + do + montage ${imgdir}/roach_32/${tile}_${1}.png ${imgdir}/roach_32/${tile}_${2}.png ${imgdir}/roach_32/${tile}_${3}.png ${imgdir}/roach_32/${tile}_${4}.png -geometry -10+0 -background none ${imgdir}/roach_quartet/${tile}_${1}.png + done +} + +quartet_tile 1 2 3 4 +quartet_tile 2 3 4 1 +quartet_tile 3 4 1 2 +quartet_tile 4 1 2 3 + +# Roach nonet + +mkdir -p ${imgdir}/roach_nonet + +function nonet_tile { + for tile in roach eyes + do + montage ${imgdir}/roach_21/${tile}_${1}.png ${imgdir}/roach_21/${tile}_${2}.png ${imgdir}/roach_21/${tile}_${3}.png ${imgdir}/roach_21/${tile}_${4}.png ${imgdir}/roach_21/${tile}_${1}.png ${imgdir}/roach_21/${tile}_${2}.png ${imgdir}/roach_21/${tile}_${3}.png ${imgdir}/roach_21/${tile}_${4}.png ${imgdir}/roach_21/${tile}_${1}.png -geometry +0+0 -background none - | convert - -background none -gravity southeast -splice 1x1 ${imgdir}/roach_nonet/${tile}_${1}.png + done +} + +nonet_tile 1 2 3 4 +nonet_tile 2 3 4 1 +nonet_tile 3 4 1 2 +nonet_tile 4 1 2 3