Compare commits

...

54 Commits

Author SHA1 Message Date
Shadow15510 3461399823 Merge branch 'dev' 2023-01-06 13:28:22 +01:00
Shadow15510 c4b2f9de75 Minor fix on spell purchase 2023-01-06 11:27:31 +01:00
Shadow15510 5bb9a29f38 Merge branch 'dev' 2023-01-05 15:51:21 +01:00
Shadow15510 811ef62748 Minor fix 2023-01-05 15:50:24 +01:00
Shadow15510 01869395de Fix entity behavior 2023-01-05 15:31:57 +01:00
Shadow15510 dc97c16c7f Add tiled maps 2023-01-05 15:25:45 +01:00
Shadow15510 a523e52f89 Add maps and fix bugs on magical fights 2023-01-05 15:25:08 +01:00
Shadow15510 f0a164dd5a Re-update repo 2022-09-02 08:27:02 +02:00
Shadow15510 9b3e91afd4 Update .gitignore 2022-09-02 08:26:31 +02:00
Shadow15510 e7ade8cbba Update repo 2022-09-02 08:22:30 +02:00
Shadow15510 20dd7fc659 Minor changement 2022-07-13 09:38:42 +02:00
Shadow15510 9d9cea8dc0 re-organize repo 2022-07-12 12:53:44 +02:00
Shadow15510 e3853d453e Merge branch 'dev' 2022-07-12 11:19:15 +02:00
Shadow15510 b280dd80a7 store factoring 2022-07-12 11:18:04 +02:00
Shadow15510 e5b2c7f5ff Update NPC's id 2022-06-24 13:36:40 +02:00
Shadow15510 43af744569 Scenario generator added 2022-06-24 13:23:44 +02:00
Shadow15510 13903d57e3 Merge branch 'dev' 2022-06-24 13:22:42 +02:00
Shadow15510 a6e8ac6c86 Fix bug with houses and shops 2022-06-10 10:36:11 +02:00
Shadow15510 2d2f61a5f6 Add an empty new scenario folder 2022-04-18 11:03:48 +02:00
Shadow15510 430459c378 Add an empty scenario generator 2022-04-18 10:58:53 +02:00
Shadow15510 c88e98029c Update charts 2022-04-18 10:05:07 +02:00
Shadow15510 dfb7a8c9fa Add magic point on HUD 2022-04-17 23:08:45 +02:00
Shadow15510 bc52d3112a Add magic points on HUD 2022-04-17 23:08:05 +02:00
Shadow15510 7f2221f5c3 Add a HUD \o/ in the low bar 2022-04-17 22:46:18 +02:00
Shadow15510 0c40574e4b Minor fix 2022-04-17 22:43:36 +02:00
Shadow15510 8778fdafcd Fix accents and update Asci to 1.8.2 2022-04-17 22:29:26 +02:00
Shadow15510 2b050e0136 Add map's image 2022-04-16 14:16:08 +02:00
Shadow15510 21fd0f4172 Update .gitignore 2022-04-16 14:14:47 +02:00
Shadow15510 36e49db03e Review spell casting and improve random dialogues 2022-04-15 15:59:29 +02:00
Shadow15510 b4785aa86d Minor change 2022-04-15 15:52:08 +02:00
Shadow15510 43ab375d95 Review spell casting and random dialogues 2022-04-15 15:49:59 +02:00
Shadow15510 424e7cc99f fix bug 2022-02-28 17:19:15 +01:00
Shadow15510 6f0a697b3a fix bug 2022-02-28 17:18:10 +01:00
Shadow15510 8b59e7a727 Update Asci and fix bug on quicksave 2022-02-28 17:05:16 +01:00
Shadow15510 a0bdc54aff Fix .gitignore 2022-02-28 17:03:19 +01:00
Shadow15510 49773dfcaa Deleting DLC 2022-02-28 17:02:49 +01:00
Shadow15510 ce3cc9162b Update Asci 1.7.2 -> 1.8.1 and some other fixes 2022-02-28 16:58:59 +01:00
Shadow15510 22f9d6cc03 Update .gitignore 2022-02-28 16:57:20 +01:00
Shadow15510 ec6cc70fe5 Beginning of DLC 2022-02-26 23:12:11 +01:00
Shadow15510 cfce721648 DLC deleted 2022-02-14 22:35:37 +01:00
Shadow15510 603bf6158f Fixing indentation 2022-02-14 22:30:27 +01:00
Shadow15510 48a46d7c08 Bug fix on Lithy's dialogue 2022-02-14 22:17:52 +01:00
Shadow15510 ad617b948a Update Asci 1.7.0 -> 1.7.2 2022-01-30 14:14:35 +01:00
Shadow15510 2241356192 Update automap.sh 2022-01-29 10:54:42 +01:00
Shadow15510 7eb6a4e6df Minor changes on entity 2022-01-29 10:38:08 +01:00
Shadow15510 a6c0e6bfb8 Update to Asci 1.7.0 2022-01-29 00:08:33 +01:00
Shadow15510 5de8f520ad Minor change on games' files to support DLC 2022-01-26 18:45:40 +01:00
Shadow15510 495e43a590 Update Asci 2022-01-26 18:44:46 +01:00
Shadow15510 08fbe5a62a Minor changes 2022-01-16 11:49:13 +01:00
Shadow15510 ace8c48628 Adding a blank scenario file 2022-01-16 11:39:44 +01:00
Shadow15510 d9e946ca40 Continue cleaning repository 2022-01-16 11:39:20 +01:00
Shadow15510 ad349b3a4d Update README 2022-01-15 23:39:10 +01:00
Shadow15510 5dcf19ace6 fix bugs 2022-01-15 23:36:50 +01:00
Shadow15510 017e5d36d4 Change game organization 2022-01-15 23:10:47 +01:00
36 changed files with 4285 additions and 2134 deletions

5
.gitignore vendored
View File

@ -1,5 +1,4 @@
__pycache__/
tiled_map/__pycache__/
src/__pycache__/
demo/__pycache__/
notes.txt
idk/__pycache__/
idk/dlc_idk.py

View File

@ -4,8 +4,6 @@
Pour commencer merci à KikooDX qui m'a donné le titre. IDK est un jeu de rôle en Python pour Graph 90+E sur fond de mythologie nordique. Le but général est divisé en deux : s'amuser avec la mythologie nordique d'une part et réussir à finir la quête principale d'autre part.
Seule la version de démonstration est jouable à ce jour.
## Licence
La totalité du projet est sous licence GNU General Public Licence v3.0.
@ -23,7 +21,7 @@ Allez dans le menu Python, ouvrez le dossier `idk` et lancez le script `idk.py`
### Contrôles
Pour interagir, le joueur doit entrer le numéro ou la lettre correspondante puis appuyer sur [EXE] pour valider.
- 1, 2, 3 5 : se déplacer
- 1, 2, 3 et 5 : se déplacer (respectivement vers la gauche, le bas, la droite et le haut)
- 4 : statistiques du joueur (nom, vitesse, agilité, attaque, défense, points de magie et de vie)
- 7 : les sorts connus du joueur
- 8 : informations générales (nom du monde actuelle, période de la journée et heure, classe du joueur et pièces d'or)

BIN
cartes/alfheim.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

BIN
cartes/asgard.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 KiB

BIN
cartes/jotunheim.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 KiB

BIN
cartes/midgard.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

BIN
cartes/muspellheim.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 KiB

BIN
cartes/nidavellir.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

BIN
cartes/niflheim.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

38
cartes/notes.txt Normal file
View File

@ -0,0 +1,38 @@
------------------------
Liens entre les mondes
------------------------
Alfheim Asgard Muspellheim
↑ ↑ ↑
Vanaheim ← Midgard → Nidavellir
↓ ↓ ↓
Jotunheim Niflheim Svartalfheim
------------------------
Notes sur chaque monde
------------------------
Alheim
Monde des elfes clairs, peu présent dans ce premier opus.
Asgard
Monde des dieux Ases, une des deux grande famille du panthéon nordique. Mené par Odin et Thor, il s'agit des dieux de la guerre.
Muspellheim
Le monde du feu, dirigé par un géant. Également secondaire pour l'instant.
Vanaheim
Royaume des dieux Vanes, la deuxième grande famille. Mené par Freyja et Freyr, il s'agit des dieux de l'amour, de la beauté et de l'érotisme.
Midgard
Le monde des Hommes. Protégés des autres mondes par un océan gardé par Jormungandr, un serpent géant qui entoure complètement le monde.
Nidavellir
Le Royaume des Nains.
Jotunheim
Le monde des Géants.
Niflheim (ou Helheim)
Le royaume des morts, gardé par la déesse Hel.
Svartalfheim
Le monde des elfes noirs, sortes de créatures maléfiques. Il est, en plus d'être secondaire dans ce jeu, très dur d'accès puisqu'il faut passer par Nidavellir qui est un véritable labyrinthe.

BIN
cartes/svartalfheim.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 KiB

BIN
cartes/vanaheim.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

180
gen_sce Executable file
View File

@ -0,0 +1,180 @@
#! /usr/bin/env python3
from sys import argv
def nouveau_scenario(nom):
functions = (
"asgard_po",
"asgard_npc",
"h_9_npc",
"h_10_npc",
"h_11_npc",
"h_12_npc",
"h_13_npc",
"h_14_npc",
"h_15_npc",
"h_16_npc",
"h_17_npc",
"h_18_npc",
"h_19_npc",
"h_20_npc",
"vanaheim_po",
"vanaheim_npc",
"h_21_npc",
"h_22_npc",
"alfheim_po",
"alfheim_npc",
"h_23_npc",
"h_24_npc",
"midgard_po",
"midgard_npc",
"h_25_npc",
"h_26_npc",
"h_27_npc",
"h_28_npc",
"niflheim_po",
"niflheim_npc",
"h_29_npc",
"h_30_npc",
"jotunheim_po",
"jotunheim_npc",
"h_31_npc",
"h_32_npc",
"h_33_npc",
"h_34_npc",
"h_35_npc",
"h_36_npc",
"nidavellir_po",
"nidavellir_npc",
"h_37_npc",
"h_38_npc",
"h_39_npc",
"h_40_npc",
"h_41_npc",
"muspellheim_po",
"muspellheim_npc",
"h_42_npc",
"h_43_npc",
"h_44_npc",
"svartalfheim_po",
"svartalfheim_npc",
"h_45_npc",
"h_46_npc",
"h_47_npc",
"h_48_npc")
default_content = """from idk_lib import *
try:
import dlc_{0} as dlc
spells = dlc.dlc_spells
spells_level = dlc.dlc_spells_level
spells_effect = dlc.dlc_spells_effect
weapons = dlc.dlc_weapons
armors = dlc.dlc_armors
dlc_entities = dlc.dlc_entities
except:
dlc = None
dlc_entities = ()
# Game
def npc(data, stat, entities, identifiant):
npc_data = (
asgard_npc,
vanaheim_npc,
alfheim_npc,
midgard_npc,
niflheim_npc,
jotunheim_npc,
nidavellir_npc,
muspellheim_npc,
svartalfheim_npc,
h_9_npc, h_10_npc, h_11_npc, h_12_npc, h_13_npc, h_14_npc, h_15_npc, h_16_npc, h_17_npc, h_18_npc, h_19_npc, h_20_npc,
h_21_npc, h_22_npc,
h_23_npc, h_24_npc,
h_25_npc, h_26_npc, h_27_npc, h_28_npc,
h_29_npc, h_30_npc,
h_31_npc, h_32_npc, h_33_npc, h_34_npc, h_35_npc, h_36_npc,
h_37_npc, h_38_npc, h_39_npc, h_40_npc, h_41_npc,
h_42_npc, h_43_npc, h_44_npc,
h_45_npc, h_46_npc, h_47_npc, h_48_npc)
if dlc:
event = dlc.dlc_npc(data, stat, entities, identifiant)
if event: return "dlc", event
return npc_core(npc_data[data[1]], data, stat, entities, identifiant)
def point_of_interest(data, stat, entities, identifiant):
po_data = (
asgard_po,
vanaheim_po,
alfheim_po,
midgard_po,
niflheim_po,
jotunheim_po,
nidavellir_po,
muspellheim_po,
svartalfheim_po
)
coords = data[2], data[3]
event = po_data[data[1]](coords, identifiant)
if not event: return [0, "Il n'y a rien à voir ici."]
else: return event
entities = asgard_entities + vanaheim_entities + alfheim_entities + midgard_entities + niflheim_entities + jotunheim_entities + nidavellir_entities + muspellheim_entities + svartalfheim_entities + dlc_entities
print(center("{0}", 21, " "))
print("Entrez '{0}()' pour\\nune nouvelle partie.")
events = {{"*": npc, "?": point_of_interest}}
keys = {{4: display_stat, 7: spell, 8: misc_stat, 6: inventory, 9: sleep, "s": quick_save}}
def {0}(save_code=None):
# stat = [0 - PV, 1 - pièces d'or, 2 - [vitesse, agilité, attaque, defense, magie], 3 - [arme, armure], 4 - ticks, 5 - nom, 6 - classe, 7 - sorts connus : (id, level), 8 - sous-quêtes terminées]
if not save_code:
stat = init_stat()
name = stat[5]
data = [{{"main": 0}}, 3, 44, 66]
print_text("introduction")
else:
stat, data = decode_save(save_code)
idk_game = Asci(maps, entities, events, keys)
stat, data = idk_game.mainloop(1, stat, data, routine=routine, low_bar=low_bar, door="^_", walkable=".,`' ", exit_key="q")
if stat[9] != -1: data[0]["main"] -= stat[9]
if data[0]["main"] == 1:
print_text("conclusion")
else:
print("{0}(\\"{{}}\\")".format(encode_save(data, stat[:-1])))
# Scenario
def shop_interaction(data, stat, nb_choice, *events):
for choice in range(nb_choice):
if data[0]["main"] == stat[9] + choice + 1:
stat[9] = -1
if stat[1] < events[choice][0]: return events[choice][2], choice + 1
else: return events[choice][1], choice + 1
""".format(nom)
for fn in functions:
if fn.endswith("_po"):
default_content += f"\n\n\n# - - - {fn[:-3].title()} - - - #\ndef {fn}(coords, identifiant):\n pass"
else:
default_content += f"\n\n\ndef {fn}(data, stat, entites, identifiant):\n pass"
with open(f"{nom}.py", "w") as file:
file.write(default_content)
nouveau_scenario(argv[1])

179
gen_scenario Executable file
View File

@ -0,0 +1,179 @@
#! /usr/bin/env python3
from sys import argv
def nouveau_scenario(nom):
functions = (
"asgard_po",
"asgard_npc",
"h_9_npc",
"h_10_npc",
"h_11_npc",
"h_12_npc",
"h_13_npc",
"h_14_npc",
"h_15_npc",
"h_16_npc",
"h_17_npc",
"h_18_npc",
"h_19_npc",
"h_20_npc",
"vanaheim_po",
"vanaheim_npc",
"h_22_npc",
"alfheim_po",
"alfheim_npc",
"h_23_npc",
"h_24_npc",
"midgard_po",
"midgard_npc",
"h_25_npc",
"h_26_npc",
"h_27_npc",
"h_28_npc",
"niflheim_po",
"niflheim_npc",
"h_29_npc",
"h_30_npc",
"jotunheim_po",
"jotunheim_npc",
"h_31_npc",
"h_32_npc",
"h_33_npc",
"h_34_npc",
"h_35_npc",
"h_36_npc",
"nidavellir_po",
"nidavellir_npc",
"h_37_npc",
"h_38_npc",
"h_39_npc",
"h_40_npc",
"h_41_npc",
"muspellheim_po",
"muspellheim_npc",
"h_42_npc",
"h_43_npc",
"h_44_npc",
"svartalfheim_po",
"svartalfheim_npc",
"h_45_npc",
"h_46_npc",
"h_47_npc",
"h_48_npc")
default_content = """from idk_lib import *
try:
import dlc_{0} as dlc
spells = dlc.dlc_spells
spells_level = dlc.dlc_spells_level
spells_effect = dlc.dlc_spells_effect
weapons = dlc.dlc_weapons
armors = dlc.dlc_armors
dlc_entities = dlc.dlc_entities
except:
dlc = None
dlc_entities = ()
# Game
def npc(data, stat, entities, identifiant):
npc_data = (
asgard_npc,
vanaheim_npc,
alfheim_npc,
midgard_npc,
niflheim_npc,
jotunheim_npc,
nidavellir_npc,
muspellheim_npc,
svartalfheim_npc,
h_9_npc, h_10_npc, h_11_npc, h_12_npc, h_13_npc, h_14_npc, h_15_npc, h_16_npc, h_17_npc, h_18_npc, h_19_npc, h_20_npc,
h_21_npc, h_22_npc,
h_23_npc, h_24_npc,
h_25_npc, h_26_npc, h_27_npc, h_28_npc,
h_29_npc, h_30_npc,
h_31_npc, h_32_npc, h_33_npc, h_34_npc, h_35_npc, h_36_npc,
h_37_npc, h_38_npc, h_39_npc, h_40_npc, h_41_npc,
h_42_npc, h_43_npc, h_44_npc,
h_45_npc, h_46_npc, h_47_npc, h_48_npc)
if dlc:
event = dlc.dlc_npc(data, stat, entities, identifiant)
if event: return "dlc", event
return npc_core(npc_data[data[1]], data, stat, entities, identifiant)
def point_of_interest(data, stat, entities, identifiant):
po_data = (
asgard_po,
vanaheim_po,
alfheim_po,
midgard_po,
niflheim_po,
jotunheim_po,
nidavellir_po,
muspellheim_po,
svartalfheim_po
)
coords = data[2], data[3]
event = po_data[data[1]](coords, identifiant)
if not event: return [0, "Il n'y a rien à voir ici."]
else: return event
entities = asgard_entities + vanaheim_entities + alfheim_entities + midgard_entities + niflheim_entities + jotunheim_entities + nidavellir_entities + muspellheim_entities + svartalfheim_entities + dlc_entities
print(center("{0}", 21, " "))
print("Entrez '{0}()' pour\\nune nouvelle partie.")
events = {{"*": npc, "?": point_of_interest}}
keys = {{4: display_stat, 7: spell, 8: misc_stat, 6: inventory, 9: sleep, "s": quick_save}}
def {0}(save_code=None):
# stat = [0 - PV, 1 - pièces d'or, 2 - [vitesse, agilité, attaque, defense, magie], 3 - [arme, armure], 4 - ticks, 5 - nom, 6 - classe, 7 - sorts connus : (id, level), 8 - sous-quêtes terminées]
if not save_code:
stat = init_stat()
name = stat[5]
data = [{{"main": 0}}, 3, 44, 66]
print_text("introduction")
else:
stat, data = decode_save(save_code)
idk_game = Asci(maps, entities, events, keys)
stat, data = idk_game.mainloop(1, stat, data, routine=routine, low_bar=low_bar, door="^_", walkable=".,`' ", exit_key="q")
if stat[9] != -1: data[0]["main"] -= stat[9]
if data[0]["main"] == 1:
print_text("conclusion")
else:
print("{0}(\\"{{}}\\")".format(encode_save(data, stat[:-1])))
# Scenario
def shop_interaction(data, stat, nb_choice, *events):
for choice in range(nb_choice):
if data[0]["main"] == stat[9] + choice + 1:
stat[9] = -1
if stat[1] < events[choice][0]: return events[choice][2], choice + 1
else: return events[choice][1], choice + 1
""".format(nom)
for fn in functions:
if fn.endswith("_po"):
default_content += f"\n\n\n# - - - {fn[:-3].title()} - - - #\ndef {fn}(coords, identifiant):\n pass"
else:
default_content += f"\n\n\ndef {fn}(data, stat, entites, identifiant):\n pass"
with open(f"{nom}.py", "w") as file:
file.write(default_content)
nouveau_scenario(argv[1])

View File

@ -3,46 +3,46 @@ alfheim = (r"""
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~ ~~~~ ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~ * ~~~~~~ ## ~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~~~~~~~~
~~~~~~ ~~~~~~ ## ~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~~~~~~~~
~~~~~ ~~~~~~~ #### ~~~~~~~ ## ~~~~~~~~
~~~ ~~~~~ || ~~~~~~~ * #### __ ## ~~~~~~~
~~~ ~~~~~ || ~~~~~~~ #### __ ## ~~~~~~~
~~~ ~~~~~~~~ ## ~~~~~ ## || /[]\ #### ~~~~~
~~~ ~~~~~~~~~~~~ #### ## ## #### ` ' |__| || __ ~~~
~~~ ~~~~~~~~~~~~ #### ## ## #### ` ' |^_| || __ ~~~
~~~ ~~~~~~~~~~~~ ## || #### #### || ,' '.' / \ ~~~
~~~ ~~~~~ ~~~~ #### || || ` ' __ '`' . ` |__| ~~
~~~ ~~~~~ ~~~~ #### || || ` ' __ '`' . ` |^_| ~~
~~~ ## ~~~ || '' /[]\ ' . ## ~~
~~ #### ## _ _________________ |__| ## `.` #### ~~
~~ #### ## _ _________________ |_^| ## `.` #### ~~
~~ || #### / \ / |]O[| |]O[| \ #### __ || ~~
~~~~ || |_| /___________________\ ## ## || /[]\ ~~
~~~~ ## _ |_/ \_/ _ \_/ \_| ## ## |__| ## ~~~~
~~~~ || |^| /___________________\ ## ## || /[]\ ~~
~~~~ ## _ |_/ \_/ _ \_/ \_| ## ## |^_| ## ~~~~
~~~~ #### / \ |_| |_|/^\|_| |_| __ #### ~~~~
~~~~ || _ |_| * ## ## / \ `' || ~~~~
~~~~ /-\ ### ### ## ## |__| . , ~~~~
~~~~~~~~~ |_| _ ##### ##### `' `_ ,, , ~~~
~~~~~~~~~ /o\ ### ? ### ' _ ``' / \ ~~~
~~~~~~~~~~~ |_| /-\ /-\ , / \ |_| ~~~~ ~~~
~~~~~~~~~~~~ ### ### ' ,|_| .' _ ~~~~~ ~~~
~~~~~~ ~~~~~~~ ### ##### ` ##### . ` .,. /-\ ~~~~~ ~~~
~~~~~ ~~~~~~~ ##### ### ' ### _ ` , _ |_| _ ~~~~~~ ~~~
~~~~ || _ |^| ## ## / \ `' || ~~~~
~~~~ / \ ### ### ## ## |^_| . , ~~~~
~~~~~~~~~ |^| _ ##### ##### `' `_ ,, , ~~~
~~~~~~~~~ /o\ ### ### ' _ ``' / \ ~~~
~~~~~~~~~~~ |^| /-\ /-\ , / \ |^| ~~~~ ~~~
~~~~~~~~~~~~ ### ### ' ,|^| .' _ ~~~~~ ~~~
~~~~~~ ~~~~~~~ ### ##### ` ##### . ` .,. / \ ~~~~~ ~~~
~~~~~ ~~~~~~~ ##### ### ' ### _ ` , _ |^| _ ~~~~~~ ~~~
~~~~~ __ ~~ ### /-\ /-\ ` / \ , /o\ / \ ~~~~~~~~~~
~~~~~~ / \ /-\ ' . '``,'' |_|` |_| |_| ~~~~~~~~~~
~~~~~~ |__| ,. ' .` ', ~~~~~~~~~~
~~~~~~ / \ /-\ ' . '``,'' |^|` |^| |^| ~~~~~~~~~~
~~~~~~ |_^| ,. ' .` ', ~~~~~~~~~~
~~~~~~ __ ### ., _ . , _ ,. ~~~~~~~~~~
~~~~~~~~ / \ ##### ### / \ ` ' /o\__ `. ~~~~~~~~~
~~~~~~~~~ |__| ### ##### ### |_| . |_ o \==| .'`. ~~~~~~~
~~~~~~~~~ |^_| ### ##### ### |^| . |_ o \==| .'`. ~~~~~~~
~~~~~~~~~~~~ ### /-\ ### ##### ,.` ||^|__| | . . ~~~~~~~
~~~~~~~~~~~~ ##### /-\ ### | .' ~~~~~~
~~~~~~~~~~~~~ ##### ### /-\ ### ### | ,`','` '',, ~~~~~~
~~~~~~~~~~~ ### ##### ### ##### ##### |==|==|==| ~~~~~
~~~~~~~~~~ ### |_| ##### ##### ### ### _ ~~~~~
~~~~~~~~~ ##### ### ##### /-\ /-\ ### _ / \ _ ~~~~
~~~~~~~~~ ##### |_| ### ### ##### /-\ |_| / \ ~~~~
~~~~~~~~~ ### |_| ##### ### ### |_| |_| ~~~~
~~~~~~~~~ ##### |_| ### ### ##### / \ |^| / \ ~~~~
~~~~~~~~~ ### |_| ##### ### ### |^| |^| ~~~~
~~~~~~~ |_| ~~~~~~~ ##### ##### /-\ _ ~~~~
~~~~~~~ ~~~~~~~~~~~~~~~~~~ ### ##### / \ _ ~~~~
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ |_| ### |_| / \ _ ~~~~
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~ |_| |_| / \ ~~~~
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ |_| ~~~~
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ |_| ### |^| / \ _ ~~~~
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~ |_| |^| / \ ~~~~
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ |^| ~~~~
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ ~~~
~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ ~~~~~~
~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~
@ -50,14 +50,14 @@ alfheim = (r"""
~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ ### ### ~~~~~~~~~~~~
~~~~~~~~~~ __ ~~~~~~~~~~~~~~~~~~~~ __ ### ## ## ~~~~~~~~~~~~
~~~~~~~~~~ / \ ~~~~~~~~~~~~~~~~~~~~ / \ ##### ~~~~~~ ~~~~
~~~~~~~~~~ |__| ~~~~~~~~~~~~~ |__| ##### ## ## ~~~~~ ~~~~
~~~~~~~~~~ |^_| ~~~~~~~~~~~~~ |_^| ##### ## ## ~~~~~ ~~~~
~~~~~~~~~~ ### ~~~~~~~~ ### ### ### ~~ ~~~~
~~~~~~~~~ ##### ,'' |_| #### #### ~~~
~~~~~~~~ ##### ' * ### ,,,. ### ~~~
~~~~~~~~ ##### ' ### ,,,. ### ~~~
~~~~~~~~ ### ### ##### `,, ##### ~~~
~~~~~~~ |_| . ##### ##### ',, __ ### ##### ~~~
~~~~~~ ### ,##### ### ` / \ ### ##### ### ~~~
~~~~~~ ##### ### , ### |_|`' ### |__| ##### ##### |_| ~~~
~~~~~~ ##### ### , ### |_|`' ### |_^| ##### ##### |_| ~~~
~~~~~~ ##### #####``|_| ### ` ##### ##### ### ~~~
~~~~~~ ### ##### ' ##### ##### ### |_| ### ~~~
~~~~~~ |_| ### ,' ##### ### |_| ##### ~~~
@ -67,7 +67,7 @@ alfheim = (r"""
~~~~~ ## || ,` ' ~~~~~~~~~~~~~~~ ~~~~~~ ~~~~~~~~ ~~~
~~~~ #### _ ~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ ~~~~~~~~~~~ ~~~
~~~~~ || /-\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ ~~~~
~~~~~~ ~ |_| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ ~~~~~
~~~~~~ ~ |^| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ ~~~~~
~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -80,6 +80,34 @@ alfheim = (r"""
# Maisons
(34, 16, 23, 25, 19),
(52, 31, 24, 20, 19), # Librairie
(56, 8, 55, 3, 9),
(65, 10, 56, 3, 9),
(51, 12, 57, 11, 9),
(15, 14, 58, 4, 4),
(61, 15, 59, 3, 9),
(19, 17, 60, 4, 4),
(55, 18, 61, 3, 9),
(14, 19, 62, 4, 4),
(19, 21, 63, 4, 4),
(61, 21, 64, 4, 4),
(49, 22, 65, 4, 4),
(58, 24, 66, 4, 4),
(46, 26, 67, 4, 4),
(52, 26, 68, 4, 4),
(61, 26, 69, 4, 4),
(9, 27, 70, 11, 9),
(14, 30, 71, 3, 9),
(41, 30, 72, 4, 4),
(63, 37, 73, 4, 4),
(59, 38, 74, 4, 4),
(67, 38, 75, 4, 4),
(56, 41, 76, 4, 4),
(63, 42, 77, 4, 4),
(67, 43, 78, 4, 4),
(13, 51, 79, 3, 9),
(40, 51, 80, 11, 9),
(43, 58, 81, 11, 9),
)
@ -89,7 +117,7 @@ h_23 = (r"""
| _ _ |
| / \ / \ |
| \_/ \_/ |
| |_| * |_| |
| |_| |_| |
| |
| _ _ |
| / \ / \ |
@ -104,14 +132,14 @@ h_23 = (r"""
| | | | | | | |
| | | | | | | |
/ \______/ \_______|^|______/ \______/ \ """,
(25, 19, 2, 34, 16)) # * : (23, 5)
(25, 19, 2, 34, 16))
h_24 = (r"""
|====|_|======| |=====|_|====|
| /___\ | | /___\ |
| |===| |===========| |===| |
| * | | |
| | | |
| +---+ | _ _ | +---+ |
| | | | (~) (~) | | | |
| | | | |_| |_| | | | |
@ -120,7 +148,7 @@ h_24 = (r"""
| | _ _ | |
|=============| (~) (~) |============|
| | |_| |_| | |
| * |
| |
| |
| | _ _ | |
|=============| (~) (~) |============|
@ -128,4 +156,334 @@ h_24 = (r"""
| |
|====| |====|
|====|^|====| """,
(20, 19, 2, 52, 31)) # * : (12, 3) * : (36, 12)
(20, 19, 2, 52, 31))
h_55 = (r"""
|=======|-|===|
| _ /___\ |
| |_| |+++| |
| |_| |
| |_| |
| |
| _ |
| (_) |
| /=\ |
|=/^\=========|""",
(3, 9, 1, 56, 8),
)
h_56 = (r"""
|/=\/=\/=\/=\/|
| |
| +--+ |
| | | |
| | | |
| +--+ |
| |
| |
| |
|=|^|/=\/=\/=\|""",
(3, 9, 1, 65, 10),
)
h_57 = (r"""
|=============|
| |
| [=] [=] |
| /-\ /-\ |
| |
| [=] [=] |
| /-\ /-\ |
| |
| |
|=========/^\=|""",
(11, 9, 1, 0, 0),
)
h_58 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 15, 14),
)
h_59 = (r"""
|======|======|
| /=\ |
| |
| +--+ |
| | | |
| +--+ |
| (_) |
| [I] |
| |
|=/^\=========|""",
(3, 9, 1, 61, 15),
)
h_60 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 19, 17),
)
h_61 = (r"""
|=========||==|
| /__\ |
| |
| |-| |
| |-| |
| |-| |
| |
| |
| |
|=/^\=========|""",
(3, 9, 1, 55, 18),
)
h_62 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 14, 19),
)
h_63 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 19, 21),
)
h_64 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 61, 21),
)
h_65 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 49, 22),
)
h_66 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 58, 24),
)
h_67 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 46, 26),
)
h_68 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 52, 26),
)
h_69 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 61, 26),
)
h_70 = (r"""
|========|-|==|
| /---\ |
| |###| |
| |
| +---+ |
| | | |
| | | |
| | | |
| +---+ |
|=========/^\=|""",
(11, 9, 1, 9, 27),
)
h_71 = (r"""
|-------------|
| [===] [===] |
| |
| [===] [===] |
| |
| [===] [===] |
| |
| [===] [===] |
| |
|-|^|---------|""",
(3, 9, 1, 14, 30),
)
h_72 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 41, 30),
)
h_73 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 63, 37),
)
h_74 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 59, 38),
)
h_75 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 57, 38),
)
h_76 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 56, 41),
)
h_77 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 63, 42),
)
h_78 = (r"""
/======\
/ \
| |
| |
|==|^[|==|""",
(4, 4, 1, 67, 43),
)
h_79 = (r"""
|====|-|======|
| /___\ |
| |###| |
| |
| +---+ |
| | | |
| | | |
| +---+ |
| |
|=/^\=========|""",
(3, 9, 1, 13, 51),
)
h_80 = (r"""
|=============|
| _ _ _ |
| |_| |_| |_| |
| |_| |_| |_| |
| |
| +---+ |
| | | |
| +---+ |
| |
|=========/^\=|""",
(11, 9, 1, 40, 51),
)
h_81 = (r"""
|===|_|=======|
|===|_|=======|
| /{O}\ |
| |###| |
| |
| |
| |
| |
| |
|=========/^\=|""",
(11, 9, 1, 43, 58),
)
alfheim_entities = (
[0, '*', 2, 23, 17, 'stand by'],
[0, '*', 2, 11, 4, 'stand by'],
[0, '*', 2, 46, 6, 'stand by'],
[0, '*', 2, 27, 54, 'stand by'],
["Sagriel", '*', 23, 23, 5, 'stand by'],
["Diomwar", '*', 24, 36, 12, 'stand by'],
[0, '*', 24, 12, 3, 'stand by'],
)

View File

@ -1,142 +1,131 @@
# Asci (version 1.6.1)
# Asci (1.9.3)
from math import floor, ceil
class Screen:
def __init__(self, screen_width=21, screen_height=6):
# Screen configuration
self.screen_width = screen_width
self.screen_height = screen_height
self._data = [[" " for _ in range(screen_width)] for _ in range(screen_height)]
def clear(self):
print("\n" * self.screen_height)
def set_world(self, world):
self._world = [[char for char in line] for line in world.split("\n")[1:]]
self.map_width = max([len(line) for line in self._world])
self.map_height = len(self._world)
def set_data(self, coords):
x, y = coords
for x_map in range(x, x + self.screen_width):
for y_map in range(y, y + self.screen_height):
self._data[y_map - y][x_map - x] = " "
if 0 <= x_map < self.map_width and 0 <= y_map < self.map_height:
try: self._data[y_map - y][x_map - x] = self._world[y_map][x_map]
except: pass
def set_cell(self, x, y, value):
self._data[y][x] = value
def display(self, return_input=True):
for line in self._data:
print("".join(line))
if return_input: return input(">")
def display_text(self, string):
paragraphs = [i for i in text_formater(string) if i]
nb_par = len(paragraphs)
for index in range(nb_par):
self.clear()
print(paragraphs[index])
if index + 1 == nb_par: return input(">")
else: input()
def get_cell(self, x, y):
return self._data[y][x]
def get_map_size(self):
return self.map_width, self.map_height
SCREEN_WIDTH = 21
SCREEN_HEIGHT = 7
class Asci:
def __init__(self, maps, events_mapping, keys_mapping, screen_width=21, screen_height=6):
# Load maps
def __init__(self, maps, entities, events_mapping, keys_mapping, behaviors=None):
# Load maps and entities
self.maps = [Map(*i) for i in maps]
self.entities = {}
entity_id = 0
for i in entities:
if not i[0]:
i[0] = entity_id
entity_id += 1
if i[0] in self.entities: raise KeyError("'{}' is already a registered entities".format(i[0]))
else: self.entities[i[0]] = Entity(*i)
# Custom functions
self.legend = list(events_mapping.keys())
self._game_events_mapping = [events_mapping[i] for i in self.legend]
self._legend = list(events_mapping.keys())
self._game_events_mapping = [events_mapping[i] for i in self._legend]
self._game_keys_mapping = {key: keys_mapping[key] for key in keys_mapping if not key in (1, 2, 3, 5)}
# Custom entities behavior
self._behaviors = {"permanent": permanent, "stand by": stand_by, "follow": follow, "walk between": walk_between, "walk to": walk_to, "follow by player": follow_by_player}
if behaviors:
for i in behaviors: self._behaviors[i] = behaviors[i]
# Screen initialisation
self.screen = Screen(screen_width, screen_height)
self.screen = Screen()
self.current_map = None
def _looked_case(self, direction):
# Left
if direction == 1:
return self.data[2] + 9, self.data[3] + 3
if direction == 1: # Left
return self.data[2] - 1, self.data[3]
# Right
elif direction == 3:
return self.data[2] + 11, self.data[3] + 3
elif direction == 3: # Right
return self.data[2] + 1, self.data[3]
# Up
elif direction == 5:
return self.data[2] + 10, self.data[3] + 2
elif direction == 5: # Up
return self.data[2], self.data[3] - 1
# Down
elif direction == 2:
return self.data[2] + 10, self.data[3] + 4
elif direction == 2: # Down
return self.data[2], self.data[3] + 1
return self.data[2] + 10, self.data[3] + 3
return self.data[2], self.data[3]
def _cell_test(self, direction):
if direction == 1:
if self.data[-2] + 9 < 0: return -1
else: cell = self.screen.get_cell(9, 3)
if self.data[2] - 1 < 0: return -1
else: cell = self.screen.get_cell(self.data[2] - 1, self.data[3])
if direction == 3:
if self.data[-2] + 11 >= self.map_width: return -1
else: cell = self.screen.get_cell(11, 3)
if self.data[2] + 1 >= self.map_width: return -1
else: cell = self.screen.get_cell(self.data[2] + 1, self.data[3])
if direction == 5:
if self.data[-1] + 2 < 0: return -1
else: cell = self.screen.get_cell(10, 2)
if self.data[3] - 1 < 0: return -1
else: cell = self.screen.get_cell(self.data[2], self.data[3] - 1)
if direction == 2:
if self.data[-1] + 4 >= self.map_height: return -1
else: cell = self.screen.get_cell(10, 4)
if self.data[3] + 1 >= self.map_height: return -1
else: cell = self.screen.get_cell(self.data[2], self.data[3] + 1)
cell_patterns = self.legend
cell_patterns = self._legend
for pattern_index in range(len(cell_patterns)):
if cell in cell_patterns[pattern_index]: return pattern_index
return -1
def _keyboard(self, key):
def _keyboard(self, key, interaction=True):
# Interaction while moving
if key in (1, 3, 5, 2):
cell_test = self._cell_test(key)
# Change map
if cell_test == len(self.legend) - 2: # or (self.data[1] and cell_test < 0):
self.data[1], self.data[2], self.data[3] = self._get_map(key)
self.screen.set_world(self.maps[self.data[1]].map_data)
self.map_width, self.map_height = self.screen.get_map_size()
# Move
elif cell_test == len(self.legend) - 1:
if cell_test == len(self._legend) - 1:
if key == 1: self.data[2] -= 1
if key == 3: self.data[2] += 1
if key == 5: self.data[3] -= 1
if key == 2: self.data[3] += 1
# Change map
elif interaction and cell_test == len(self._legend) - 2:
new_map, self.data[2], self.data[3] = self._get_map(key)
if self.data[1] != new_map: self._change_map(new_map)
# Interaction
elif cell_test >= 0: self._interaction(key, cell_test)
elif interaction and cell_test >= 0: self._interaction(key, cell_test)
# Custom functions
elif key in self._game_keys_mapping:
self.screen.clear()
self._game_keys_mapping[key](self.data, self.stat)
# Quit
elif key == 9:
self.screen.clear()
def _get_map(self, direction):
current_coords = self._looked_case(direction)
for coords in self.current_map.coords:
if coords[:2] == current_coords:
return coords[2], coords[3], coords[4]
return self.data[1], self.data[2], self.data[3]
def _change_map(self, new_map):
# Update map id and data
old_map, self.data[1] = self.data[1], new_map
self.current_map = self.maps[self.data[1]]
self.current_map.entities = {}
# Update entities
for i in self.entities:
entity = self.entities[i]
if entity.map_id == old_map and entity.behavior == "follow":
entity.pos_x = entity.pos_y = -1
entity.map_id = new_map
if entity.map_id == new_map: self.current_map.entities[i] = entity
# Update screen configuration
self.screen.set_world(self.current_map.map_data)
self.map_width, self.map_height = self.screen.get_map_size()
def _interaction(self, direction, cell_content):
x, y = self._looked_case(direction)
data_copy = [self.data[0], self.data[1], x, y]
data_copy = [self.data[0], self.data[1], x, y, self.data[4]]
# Get the event
event = self._game_events_mapping[cell_content](data_copy, self.stat)
event = self._game_events_mapping[cell_content](data_copy, self.stat, self.current_map.entities, self._get_entity_id(x, y))
if type(event) == tuple:
quest, event = event
else:
@ -145,12 +134,10 @@ class Asci:
# data modification
self.data[0] = data_copy[0]
if self.data[1] != data_copy[1]:
self.data[1] = data_copy[1]
self.screen.set_world(self.maps[self.data[1]].map_data)
self.map_width, self.map_height = self.screen.get_map_size()
self._change_map(data_copy[1])
if data_copy[2] != x: self.data[2] = data_copy[2] - 10
if data_copy[3] != y: self.data[3] = data_copy[3] - 3
if data_copy[2] != x: self.data[2] = data_copy[2]
if data_copy[3] != y: self.data[3] = data_copy[3]
if not event: return
event = read_event(self.data, event, quest)
@ -167,17 +154,13 @@ class Asci:
self.data[0][quest] += answer_selected
self._interaction(direction, cell_content)
def _get_map(self, direction):
current_coords = self._looked_case(direction)
current_map = self.data[1]
def _get_entity_id(self, x, y):
for entity in self.current_map.entities.values():
if entity.pos_x == x and entity.pos_y == y:
return entity.entity_id
for coords in self.maps[current_map].coords:
if coords[:2] == current_coords:
return coords[2], coords[3] - 10, coords[4] - 3
return current_map, self.data[2], self.data[3]
def mainloop(self, end_game, stat=None, data=None, routine=None, player="@", door="^", walkable=" ", exit_key=9):
# Mainloop
def mainloop(self, end_game, stat=None, data=None, routine=None, low_bar=None, player="@", door="^", walkable=" ", exit_key=9, multi_move="."):
if exit_key in self._game_keys_mapping:
raise ValueError("'{}' is already assigned to a function.".format(exit_key))
@ -185,36 +168,121 @@ class Asci:
if not stat or type(stat) != list: self.stat = [100]
else: self.stat = stat
if not data: self.data = [{"main": 0}, 0, 0, 0]
else: self.data = [data[0], data[1], data[2] - 10, data[3] - 3]
if not data: self.data = [{"main": 0}, 0, 0, 0, 0]
else: self.data = [data[0], data[1], data[2], data[3], 0]
self.legend.append(door)
self.legend.append(walkable)
# Configuration
self._legend.append(door)
self._legend.append(walkable)
self._change_map(self.data[1])
self.screen.load_data(self.data)
# Screen and map configuration
self.screen.set_world(self.maps[self.data[1]].map_data)
self.map_width, self.map_height = self.screen.get_map_size()
key = key_buffer = 0
key = 0
while key != exit_key and self.stat[0] > 0 and self.data[0]["main"] < end_game:
self.screen.set_data(self.data[-2:])
# Update the map
self.screen.set_screen()
# Compute the player's and entities' positions
data_copy = self.data[:]
for entity in self.current_map.entities.values():
self._behaviors[entity.behavior](entity, data_copy, self.stat, self.screen, walkable)
if entity.map_id == self.data[1] and (0 <= entity.pos_x - self.data[2] + self.screen.pos_player[0] < SCREEN_WIDTH) and (0 <= entity.pos_y - self.data[3] + self.screen.pos_player[1] < SCREEN_HEIGHT):
self.screen.set_cell(entity.pos_x, entity.pos_y, entity.symbol)
self.screen.set_cell(10, 3, player)
key = convert(self.screen.display())
self.screen.set_cell(self.data[2], self.data[3], player)
# Display map, low bar, get the key and update key buffer
if low_bar: bar = low_bar(self.data[:], self.stat[:])
else: bar = None
key = convert(self.screen.display(low_bar=bar))
if not key: key = self.data[4]
else: self.data[4] = key
if not key: key = key_buffer
else: key_buffer = key
# Multi-move and key gestion
if type(key) == str and key[0] == multi_move:
key = key[1:]
for k, r in get_multi_move(key):
for _ in range(r):
self._keyboard(k, False)
self.screen.set_screen()
self._keyboard(key)
self.data[4] = k
else:
self._keyboard(key)
# Launching the game routine
if routine: routine(self.data, self.stat)
if routine:
data_copy = self.data[:]
routine(data_copy, self.stat)
if self.stat[0] <= 0: self.stat[0] = 100
self.data[2] += 10
self.data[3] += 3
return self.stat, self.data
return self.stat, self.data[:-1]
# Classes used by Asci
class Screen:
def __init__(self):
# Screen configuration
self.pos_player = (SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2)
self._on_screen = [[" " for _ in range(SCREEN_WIDTH)] for _ in range(SCREEN_HEIGHT)]
self._asci_data = []
def load_data(self, data):
self._asci_data = data
def get_map_size(self):
return self.map_width, self.map_height
def set_world(self, world):
self._world = [[char for char in line] for line in world.split("\n")[1:]]
self.map_width = max([len(line) for line in self._world])
self.map_height = len(self._world)
def set_screen(self):
x = self._asci_data[2] - self.pos_player[0] ; y = self._asci_data[3] - self.pos_player[1]
for x_map in range(x, x + SCREEN_WIDTH):
for y_map in range(y, y + SCREEN_HEIGHT):
self._on_screen[y_map - y][x_map - x] = " "
if 0 <= x_map < self.map_width and 0 <= y_map < self.map_height:
try: self._on_screen[y_map - y][x_map - x] = self._world[y_map][x_map]
except: pass
def display(self, return_input=True, low_bar=None):
for line_no in range(len(self._on_screen)):
line = "".join(self._on_screen[line_no])
if line_no + 1 == SCREEN_HEIGHT and return_input:
if not low_bar: line = line[:-6] + ">"
else: line = low_bar + ">"
print(line, end="")
return input()
else:
print(line)
def clear(self):
print("\n" * SCREEN_HEIGHT)
def display_text(self, string):
paragraphs = [i for i in text_formater(string) if i]
nb_par = len(paragraphs)
for index in range(nb_par):
self.clear()
print(paragraphs[index])
if index + 1 == nb_par: return input(">")
else: input()
def set_cell(self, x, y, value):
x = x - (self._asci_data[2] - self.pos_player[0])
y = y - (self._asci_data[3] - self.pos_player[1])
if 0 <= x < SCREEN_WIDTH and 0 <= y < SCREEN_HEIGHT:
self._on_screen[y][x] = value
def get_cell(self, x, y):
x = x - (self._asci_data[2] - self.pos_player[0])
y = y - (self._asci_data[3] - self.pos_player[1])
if 0 <= x < SCREEN_WIDTH and 0 <= y < SCREEN_HEIGHT:
return self._on_screen[y][x]
else: return " "
class Event:
@ -229,8 +297,29 @@ class Map:
def __init__(self, map_data, *coords):
self.map_data = map_data
self.coords = coords
self.entities = {}
class Entity:
def __init__(self, entity_id, symbol, map_id, x, y, behavior, *args):
self.entity_id = entity_id
self.symbol = symbol
self.map_id = map_id
self.pos_x = x
self.pos_y = y
self.behavior = behavior
self.args = list(args)
def change_behavior(self, new_behavior, *args):
if self.behavior != "permanent":
self.behavior = new_behavior
self.args = list(args)
def teleport(self, map_id, x, y):
if self.behavior != "permanent": self.map_id, self.pos_x, self.pos_y = map_id, x, y
# Functions used by Asci
def convert(string, force_int=False):
try: return int(string)
except:
@ -238,28 +327,35 @@ def convert(string, force_int=False):
else: return string
def text_formater(string, screen_width=21, screen_height=6):
def text_formater(string):
screen_displayable_height = SCREEN_HEIGHT - 1
def line_formater(string, screen_width):
if len(string) <= screen_width: return string
def line_formater(string):
string_result = ""
while len(string) > SCREEN_WIDTH:
stop_index = SCREEN_WIDTH
while stop_index > 0 and not string[stop_index].isspace(): stop_index -= 1
if not stop_index: stop_index = SCREEN_WIDTH
stop_index = screen_width
while stop_index > 0 and not string[stop_index].isspace(): stop_index -= 1
if not stop_index: stop_index = screen_width
return string[:stop_index].strip() + "\n" + line_formater(string[stop_index:].strip(), screen_width)
string_result += string[:stop_index].strip() + "\n"
string = string[stop_index:].strip()
def paragraph_formater(lines, screen_height):
if len(lines) < screen_height: return "\n".join(lines)
return string_result + string
return "\n".join(lines[:screen_height]) + "\n\n" + paragraph_formater(lines[screen_height:], screen_height)
def paragraph_formater(lines):
paragraphs = ""
while len(lines) >= screen_displayable_height:
paragraphs += "\n".join(lines[:screen_displayable_height]) + "\n\n"
lines = lines[screen_displayable_height:]
return paragraphs + "\n".join(lines)
lines = []
for line in string.split("\n"):
for formated_line in line_formater(line, screen_width).split("\n"):
for formated_line in line_formater(line).split("\n"):
lines.append(formated_line)
return paragraph_formater(lines, screen_height).split("\n\n")
return paragraph_formater(lines).split("\n\n")
def read_event(data, event, quest):
@ -276,6 +372,109 @@ def read_event(data, event, quest):
return Event(*event)
def get_multi_move(key):
if "," in key:
result = []
for k in key.split(","):
if "*" in k:
k = k.split("*")
result.append((convert(k[0]), convert(k[1])))
else:
result.append((convert(k), 1))
return result
elif "*" in key:
key = key.split("*")
return [(convert(key[0]), convert(key[1]))]
else:
return [(convert(k), 1) for k in key]
# Motions functions
def stand_by(entity, data, stat, screen, walkable):
pass
def permanent(entity, data, stat, screen, walkable):
pass
def follow(entity, data, stat, screen, walkable):
if entity.pos_x == entity.pos_y == -1:
entity.pos_x, entity.pos_y = data[2], data[3]
elif data[4] in (1, 2, 3, 5):
direction = (data[4] - 1) if data[4] != 5 else 3
if entity.args: walkable += entity.args[0]
cases = [(data[2] + 1, data[3]), (data[2], data[3] - 1), (data[2] - 1, data[3]), (data[2], data[3] + 1)]
pos = cases[direction]
if not (0 <= pos[0] < screen.map_width and 0 <= pos[1] < screen.map_height) or (not screen.get_cell(pos[0], pos[1]) in walkable):
find = False
cases.remove(cases[(direction + 2) % 4])
for pos in cases:
if (0 <= pos[0] < screen.map_width and 0 <= pos[1] < screen.map_height) and (screen.get_cell(pos[0], pos[1]) in walkable):
find = True
entity.pos_x, entity.pos_y = pos
break
if not find:
entity.pos_x, entity.pos_y = data[2], data[3]
else:
entity.pos_x, entity.pos_y = pos
def walk_between(entity, data, stat, screen, walkable):
frame = (entity.args[0] + 1) % len(entity.args[1])
new_x, new_y = _walk_engine(entity, frame)
if screen.get_cell(new_x, new_y) in walkable:
entity.pos_x, entity.pos_y = new_x, new_y
if (entity.pos_x, entity.pos_y) == entity.args[1][frame]: entity.args[0] = frame
def walk_to(entity, data, stat, screen, walkable):
frame = entity.args[0]
print(frame, len(entity.args[1]), entity.args)
if len(entity.args[1]) == frame:
entity.behavior = "stand by"
entity.args = []
return
new_x, new_y = _walk_engine(entity, frame)
if screen.get_cell(new_x, new_y) in walkable:
entity.pos_x, entity.pos_y = new_x, new_y
if (entity.pos_x, entity.pos_y) == entity.args[1][frame]: entity.args[0] += 1
def follow_by_player(entity, data, stat, screen, walkable):
frame = entity.args[0]
if len(entity.args[1]) == frame:
entity.behavior = "stand by"
entity.args = []
return
new_x, new_y = _walk_engine(entity, frame)
if abs(data[2] - new_x) < 5 and abs(data[3] - new_y) < 3 and screen.get_cell(new_x, new_y) in walkable:
entity.pos_x, entity.pos_y = new_x, new_y
if (new_x, new_y) == entity.args[1][frame]: entity.args[0] += 1
def _walk_engine(entity, frame):
delta_x, delta_y = list(map(lambda x,y: y - x, (entity.pos_x, entity.pos_y), entity.args[1][frame]))
new_x = entity.pos_x
new_y = entity.pos_y
if delta_x: new_x += abs(delta_x) // delta_x
if delta_y: new_y += abs(delta_y) // delta_y
return new_x, new_y
# Extra functions
def print_text(text, min_value=0, max_value=0, default_value=0):
paragraphs = [i for i in text_formater(text) if i]
nb = len(paragraphs)
@ -283,7 +482,7 @@ def print_text(text, min_value=0, max_value=0, default_value=0):
print("\n" * 7)
print(paragraphs[index])
if index + 1 == nb and max_value:
if index + 1 == nb and (min_value or max_value or default_value) and min_value <= max_value:
result = input(">")
try: result = int(result)
except: result = default_value
@ -292,3 +491,14 @@ def print_text(text, min_value=0, max_value=0, default_value=0):
return result
else: input()
def center(string, total_length, symbol):
left = floor((total_length - len(string)) / 2)
right = ceil((total_length - len(string)) / 2)
return left * symbol + string + right * symbol
def enumerate(data):
return [(i, data[i]) for i in range(len(data))]

View File

@ -5,81 +5,75 @@ asgard = (r"""
\ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ /
\ /\ / \ /\ / \ /\ / \ / \ / \ / \ /\ / \ /\ / \ /\ / \ /\ / \ / \ / \ / \ / \ /\ /
/ \ / \ / \ / \ / \ / \ / \ \ / \ / \ / \ / / \
/\ / \ /\ / \ /\ / \ /\ /\ / \ /\ / \ /\ / \ /\ / \ \/ \/ \/ \/ /\ / \
\ / \ / \ * / \ / \ _ / \ / \ / \ / \ /
\ / \ / \ / \ /\ / \ /\ /o\ / \ / \ / \ / \ /\ /
\ / /\ \ / \ _______ / ~\ / \ |_| \ / \ / \ ___________________________ / / \
/ \ /\ /Glitnir\ /\ / ~~\ /\ / \ /\ /\ \/ \ /___________________________\ \
/\ / \ /\ / \ /\ / \ /\ /\ / \ /\ / \ /\ / \ /\ / \ / \/ \/ \/ \/ /\ / \
\ / \ / \ / / \ / \ _ / \ / \ / \ / / \ /
\ / \ / \ / / \ /\ / \ /\ /o\ / \ / \ / \ / / \ /\ /
\ / /\ \ / \ _______ / ~\ / \ |_| \ / \ / \ / ___________________________ / / \
/ \ /\ /Glitnir\ /\ / ~~\ /\ / \ /\ /\ \/ \/ /___________________________\ \
/ \ / \ |__|^|__| / \ ~~ / \ / \ / \ /\ /\ | Valaskjalf | /\ \
/\ / \ /\ /\ / \ /\~/ \ /\ / \ /\ / \ / \ / \ /_______________________________\ / \
/ \ / \ * / \ / \~ / \ / \ \ / \ /\ / \ |_/ \_/ \_/ _ \_/ \_/ \_| /\ / \ /\
/ \ / \ / \ / \~ \ \ \ \ \ / \ /\ / \ |_/ \_/ \_/ _ \_/ \_/ \_| /\ / \ /\
/\ /\ / \ /\ / \ / \ / \~ / \ / \ \ / / \ /\ \ |_| |_| |_|/^\|_| |_| |_| / \ /
/ \ / \ / \ / ~ \ / \ / \ / \ | | / \ /\ /
/ \/ \ /\ / \ ### _ ~ _________ / /\ / \ /\ -|--|--|--|-/ | /\ / / \
/ \ ##### ## /o\ ~ /Gladsheim\ / \ / \ / / / \ / \
/\ / \ ### #### |_| ~~ ## |<o> _ <o>| ## / \ /\ / \ | |--|--|--|--|- /\ / \ /\ / /\\
/ \~ /-\ ## ###### ------- #### |___|^|___| #### / / \ \ \ / \ / \ / \
/\ / \~ * #### ###### ###### ###### / \ /\ -|--|--|--|--| | / \ /\ / \ / \
/ \ ~~ ###### #### ###### ###### / /\ / \ / / * / \ \/ \
/\ / \~ #### ###### ###### ###### / \ /\ -|--|--|--|--| | / \ /\ / \ / \
/ \ ~~ ###### #### ###### ###### / /\ / \ / / / \ \/ \
/ \ /\ ~~ ### ###### || -------- #### #### /\ / \ \ | |--|--|--|--|- /\ / \ /\
\ / \ ~~ ##### #### ## ~~~ || __ || / \ \ \ \ /\ / \ /\ \/ \
\ /\ / \ ~~ ### || #### ~~~~ / \ ## / \ /\ -|--|--|--|--| | / \ /\ / \ \ /\
/ \ ~~ /-\ ###### ~~~ |__| _ #### /\ / \ / / \ \ \ / \
/ \ ~~ * ### ###### ~~~~ / \ ###### /\ / \ \ /\ /\ ? / \ /\ / \
/ \ ~~ ### ###### ~~~~ / \ ###### /\ / \ \ /\ /\ / \ /\ / \
## ## ~~ ##### #### ### ~~~~~~ |_| ###### _ / \ \ /\ / \ / \ /\ /\ / \ / \
### #### ~~ ________ ### || ##### ~~~~~~ #### /o\ / \ / \ / / \ / \ /\ / \ /\ /
#### ###### ~~ / Ydalir \ /-\ ### ~~~~~ || |_| / \ / \ / / \ /\/ \/ \ /
#### ###### ~~~ /__________\ ### /-\ ~~~~~ / / \ / \ /
### #### ~~ |_//^^\\_| ##### ~~~ ### _________ / \ /\ / \/
|| ## || ~~ |_| |_| _ ### ### ~~~~~ | | ##### /Folkvangr\ * / \ ~/\
#### ~~~ |_| |_| /o\ /-\ ##### ~~~~~| | ### |[O] _ [O]| _ / \ ~~/ \
|| ## || ~~ |_| |_| _ ### ### ~~~~~ | | ##### /Folkvangr\ / \ ~/\
#### ~~~ |_| |_| /o\ /-\ ##### ~~~~~| | ### |<o> _ <o>| _ / \ ~~/ \
###### _ ~~~ |_| ### ______ ~~| | /-\ |___|^|___| /o\ ~~~~~/
###### /o\ ~~~ * /-\ /Noatun\ | |~~ ### |_| _ ~~/\ /
###### /o\ ~~~ /-\ /Noatun\ | |~~ ### |_| _ ~~/\ /
#### |_| ~~~~~~~~~~~~~~~~~ |_/^^\_| ### | |~~~~~~ ##### ##### /o\ ~~/ \
|| ~~~~~~~~~~~~~~~~~~~~~~ | | ##### | ~~~~~ ### ### ######### |_| ~~/ \ /\
## ___________ ~~~~~~~~| | * ### * ~~~~~ /-\ ##### _ #Landvidi# ~/ \ /
#### /Breidablik \ * ~| |~~~~ /-\ ~~~~~~ ### /o\ ######### ~~~ /
## ___________ ~~~~~~~~| | ### ~~~~~ /-\ ##### _ #Landivi# ~/ \ /
#### /Breidablik \ ~| |~~~~ /-\ ~~~~~~ ### /o\ ######### ~~~ /
##### |o|o|o|o|o|o| ### | | ~~~~~~~~~~~~~ ~~~~~~ /-\ |_| ##### ~~~~ /\ /
##### /_____________\ ##### ### ### ~~~~~~~~~~~~ ~~~~~~~~ |^| _ ~~~~~ / \ /\
#### |_/ \_/ \_| ### ##### ##### ### ~~~~~~~~~~~~~~~~ ~~~~~~~~~ /o\ ~~~~ / \ / \
|| |_| |^| |_| /-\ ### ### ### ##### ~~~~~~~~~~~~~~| |~~~~~~~~~~~~~~~ |_| ~~~~ / \ / \
## * /-\ /-\ ##### ### ~~~~~~~| |~~~~~~~~~~~~~~~~~~ ~~~~ / /
## /-\ /-\ ##### ### ~~~~~~~| |~~~~~~~~~~~~~~~~~~ ~~~~ / /
#### ### ### /-\ ~~~~~~~~~~~~~ ~~~~~ /\ /
###### ##### ### ### ### /-\ ### ___________ ~~~~~~~~~~ ~~~~~~ / \ /
###### ### ##### ##### ##### ~~~ ##### /Thrymrheimr\ ~~~~~~~~~~~~~~~~~~ /\ / \ /
#### _ ### /-\ ### ### ### ~(~)~ ### /_____________\ _ ~~~~~~~~~~~~~~ ### / \ \
|| /o\ ##### /-\ /-\ /-\ /~(___)~\ /-\ |_/ \_/ \_| ### ### /o\ ~~~~~~~~~~~ ##### / \ /\
## |_| ### \~~~~~~~/ * |_| |^| |_| ##### ##### |_| ~~~~~~~~~~ ### / \ / \
~ #### /-\ * ### ### ### ~~~~~~~~~~ /|\ ### / \
~###### ____________ #### #### ### /-\ /|\ ### ##### ~~~~~~~~~~ ### ##### /\ \
~###### / Himinbjorg \ #### #### ##### ### ### ##### ### ~~~~~~~~ ##### ### / \
~ #### /______________\ ### ### ### ##### ##### ### ### /|\ ~~~~~~~~~ _ ### /|\ / \ /
~ || ### | ]O[ __ ]O[ | ? /-\ ### ### _ ##### _ /|\ ~~~~~~~~~ /o\ /|\ / \ /
~ _ ##### |_____|^^|_____| ### ### ### /-\ /-\ ### /o\ ### /o\ ------------- |_| ### /
~ /o\ ### ##### #### #### ##### |_| /|\ |_| ### ##### ###/
~ |_| /-\ ### #### #### ### ### ##### ### #####
~ * /-\ ##### ### /-\ ### ### ------------- /|\ ###
~~ ### ### _ ### ### ##### ##### /|\ ~~~~~~~ ### /|\ ###
~~ ##### ##### ### ### ### /o\ /-\ ##### ### ### ### ~~~~~~~ ### ##### ####
~~ ### ### ##### ##### ##### |_| ### ### /-\ ##### ### /|\ ### ~~~~~~ ### ##### ### ###
~~ /-\ /-\ ### ### ### ___________ /-\ ##### ### ##### * ##### ~~~~~ ##### ### /|\ /|\
~~ |_| |_| |_| /Sokkvabekkr\ ### /|\ ### ### ~~~~~~ ### /|\ ###
~~ * /_____________\ /-\ ### /|\ /|\ ~~~~~~~ /|\ ### #####
~~ ________ ### ### ### _ /_|_/__\_/__\_|_\ ##### ### ### ~~~~~~~~ ##### ###
~~ /Alfheimr\ ##### ##### ##### /o\ |_| |^| |_| _ ### ##### ### ##### ~~~~~~~~ ### /|\
~~~ |]O[__]O[| ### ### ### |_| /o\ /-\ ### ##### ### ~~~~~~~~~ _ /|\ ###
~~~ |__|^^|__| |_| |_| |_| ##### ##### |_| /-\ ### /|\ ~~~~~~~~~~ _ /o\ #####
~~~ ##### ##### /|\ ~~~~~~~~~~ /-\ |_| ### ~
~~~ * ~~~~~~~~~~~~ |_| * /|\ ~~
~~~~~ ~~~~~~~~~~~~~~~~~~~ ~~~~~~~~
~~~~~~~~~~~ ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~""",
## |_| ### \~~~~~~~/ |_| |^| |_| ##### ##### |_| ~~~~~~~~~~ ### / \ / \
#### /-\ ### ### ### ~~~~~~~~~~ /|\ ### / \
###### ____________ #### #### ### /-\ /|\ ### ##### ~~~~~~~~~~ ### ##### /\ \
###### / Himinbjorg \ #### #### ##### ### ### ##### ### ~~~~~~~~ ##### ### / \
#### /______________\ ### ### ### ##### ##### ### ### /|\ ~~~~~~~~~ _ ### /|\ / \ /
|| ### | ]O[ __ ]O[ | /-\ ### ### _ ##### _ /|\ ~~~~~~~~~ /o\ /|\ / \ /
# _ ##### |_____|^^|_____| ### ### ### /-\ /-\ ### /o\ ### /o\ ------------- |_| ### /
### /o\ ### ##### #### #### ##### |_| /|\ |_| ### ##### ###/
##### |_| /-\ ### #### #### ### ### ##### ### #####
### /-\ ##### ### /-\ ### ### ------------- /|\ ###
/-\ ### ### _ ### ### ##### ##### /|\ ~~~~~~~ ### /|\ ###
##### ##### ### ### ### /o\ /-\ ##### ### ### ### ~~~~~~~ ### ##### ####
### ### ##### ##### ##### |_| ### ### /-\ ##### ### /|\ ### ~~~~~~ ### ##### ### ###
###/-\ /-\ ### ### ### ___________ /-\ ##### ### ##### ##### ~~~~~ ##### ### /|\ /|\
##### |_| |_| |_| /Sokkvabekkr\ ### /|\ ### ### ~~~~~~ ### /|\ ###
### /_____________\ /-\ ### /|\ /|\ ~~~~~~~ /|\ ### #####
/-\ ________ ### ### ### _ /_|_/__\_/__\_|_\ ##### ### ### ~~~~~~~~ ##### ### ~
/Alfheimr\ ##### ##### ##### /o\ |_| |^| |_| _ ### ##### ### ##### ~~~~~~~~ ### /|\ ~
### |]O[__]O[| ### ### ### |_| /o\ /-\ ### ##### ### ~~~~~~~~~ _ /|\ ### ~
#####|__|^^|__| |_| |_| |_| ##### ##### |_| /-\ ### /|\ ~~~~~~~~~~ _ /o\ ##### ~
### ##### ##### ~~~~~~~~~ /|\ ~~~~~~~~~~ /-\ |_| ### ~~
/-\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ |^| /|\ ~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~""",
# Autres mondes (Asgard = 0)
(126, 71, 3, 72, 6), # Midgard
@ -108,7 +102,7 @@ h_9 = (r"""
|[===][===]|
| |
| |
|=========| * |=========|
|=========| |=========|
| |
| _ _ _ _ |
| |_| |_| |_| |_| |
@ -118,7 +112,7 @@ h_9 = (r"""
|============| |=============|
| |
||^|| """,
(15, 13, 0, 30, 11)) # * : (19, 4)
(15, 13, 0, 30, 11))
h_10 = (r"""
@ -133,7 +127,7 @@ h_10 = (r"""
| |<>| |
| |__| |
| /____\ \ |
| / * | |
| / | |
| | | |
| | | |
| |================/ \=================| |
@ -147,7 +141,7 @@ h_10 = (r"""
|__| |__| |__| |__| |__| |__|
/__\ /__\ /__\__^^__/__\ /__\ /__\ """,
(29, 23, 0, 116, 14),
(30, 23, 0, 116, 14)) # * : (25, 11)
(30, 23, 0, 116, 14))
h_11 = (r"""
@ -158,7 +152,7 @@ h_11 = (r"""
| (___ ___) |
| (____ ____) |
|=========| (_____ _____) |========|
| * |
| |
| |
| __ ### __ |
| |__| +-#####-+ |__| |
@ -171,7 +165,7 @@ h_11 = (r"""
|======================| |======================|
|=+<>+=+<>+=+<>+=+<>+==| |==+<>+=+<>+=+<>+=+<>+=|
|^| """,
(24, 19, 0, 70, 19)) # * : (34, 7)
(24, 19, 0, 70, 19))
h_12 = (r"""
@ -179,7 +173,7 @@ h_12 = (r"""
| __ |
| |()| |
| |__| |
| * |====| |
| |====| |
| |
| ~~~~ |
|=-=-=-=-=| ~~\/~~ |=-=-=-=-=|
@ -196,7 +190,7 @@ h_12 = (r"""
| - -| |- - |
/- - \_____|^^|_____/ - -\ """,
(24, 19, 0, 25, 31),
(25, 19, 0, 26, 31)) # * : (19, 4)
(25, 19, 0, 26, 31))
h_13 = (r"""
@ -208,20 +202,20 @@ h_13 = (r"""
|[=-=/ \-==]| |o| __ |
|[==/ \==]| (___) | | |
| | |__| |
|======/ \======| * | | |
|======/ \======| | | |
| |__| |
| | | |
| |__| |
| |
|==================| |==================|
|^| """,
(20, 14, 0, 110, 34)) # * : (21, 8)
(20, 14, 0, 110, 34))
h_14 = (r"""
|=|\/|==|\/|=|\/|=|\/|==|\/|=|
| |
| * |
| |
| |
| |================| |
| | __ __ | |
@ -235,7 +229,7 @@ h_14 = (r"""
|=|\/|==|\/|=| |=|\/|==|\/|=|
|^^| """,
(14, 14, 0, 63, 36),
(15, 14, 0, 64, 36)) # * : (26, 2)
(15, 14, 0, 64, 36))
h_15 = (r"""
@ -245,7 +239,7 @@ h_15 = (r"""
# #
#_ _#
#(_) [] (_)#
#|~| * |__| |~|#
#|~| |__| |~|#
# #
# _ _ #
# (_) (_) #
@ -254,7 +248,7 @@ h_15 = (r"""
#### ####
| |
|^| """,
(14, 14, 0, 120, 41)) # * : (10, 6)
(14, 14, 0, 120, 41))
h_16 = (r"""
@ -272,7 +266,7 @@ h_16 = (r"""
| [=====][=====] | | [=====][=====] |
| [=====][=====] _ _ [=====][=====] |
| (_) (_) |
| |=| |=| * |
| |=| |=| |
| ___ ___ ___ ___ |
| | | | | | | | | |
| |___| |___| _ _ |___| |___| |
@ -288,7 +282,7 @@ h_16 = (r"""
|===================| _ | | _ |===================|
(_) | | (_)
|=| |/^\| |=| """,
(29, 29, 0, 13, 43)) # * : (50, 14)
(29, 29, 0, 13, 43))
h_17 = (r"""
@ -306,7 +300,7 @@ h_17 = (r"""
| |
| _ _ _ _ |
| (-) (-) (-) (-) |
| |_| |_| |_| * |_| |
| |_| |_| |_| |_| |
| |
| |
| |
@ -317,7 +311,7 @@ h_17 = (r"""
| |
|======================| |=======================|
|^| """,
(24, 24, 0, 75, 50)) # * : (36, 14)
(24, 24, 0, 75, 50))
h_18 = (r"""
@ -330,7 +324,7 @@ h_18 = (r"""
| |--| __ |--| |
| | | |<>| | | |
| | | |--| | | |
| |__| |____| * |__| |
| |__| |____| |__| |
| |
| |
| __ __ |
@ -347,7 +341,7 @@ h_18 = (r"""
\| |/
/|^^|\ """,
(24, 24, 0, 27, 56),
(25, 24, 0, 28, 56)) # * : (30, 9)
(25, 24, 0, 28, 56))
h_19 = (r"""
@ -358,7 +352,7 @@ h_19 = (r"""
| ###### ###### |
| ###### __ |===[]===| __ ###### |
| (__) | |__| | (__) |
| |--| | *| |--| |
| |--| | | |--| |
| |__| | | |__| |
| ###### |==/ \==| ###### |
| ###### ###### |
@ -366,7 +360,7 @@ h_19 = (r"""
| |
| |
|=======================|^|======================|""",
(25, 14, 0, 57, 67)) # * : (28, 7)
(25, 14, 0, 57, 67))
h_20 = (r"""
@ -379,7 +373,7 @@ h_20 = (r"""
| ~~~ | | | |
| ~~~(~)~~~ | _ |____| _ |
| /~~(_____)~~\ | (-) (-) |
| \___________/ | |_| * |_| |
| \___________/ | |_| |_| |
| |
| |
| |
@ -396,4 +390,37 @@ h_20 = (r"""
| |
|============|^^|============|""",
(34, 24, 0, 10, 69),
(35, 24, 0, 11, 69)) # * : (39, 9)
(35, 24, 0, 11, 69))
asgard_entities = (
[0, '*', 0, 34, 7, 'stand by'],
[0, '*', 0, 121, 21, 'stand by'],
[0, '*', 0, 117, 32, 'stand by'],
[0, '*', 0, 29, 13, 'stand by'],
[0, '*', 0, 19, 20, 'stand by'],
[0, '*', 0, 28, 26, 'stand by'],
[0, '*', 0, 46, 35, 'stand by'],
[0, '*', 0, 57, 38, 'stand by'],
[0, '*', 0, 82, 38, 'stand by'],
[0, '*', 0, 22, 39, 'stand by'],
[0, '*', 0, 8, 44, 'stand by'],
[0, '*', 0, 58, 50, 'stand by'],
[0, '*', 0, 83, 51, 'stand by'],
[0, '*', 0, 32, 59, 'stand by'],
[0, '*', 0, 104, 63, 'stand by'],
[0, '*', 0, 46, 65, 'stand by'],
[0, '*', 0, 16, 71, 'stand by'],
[0, '*', 0, 138, 71, 'stand by'],
["Forseti", '*', 9, 19, 4, 'stand by'],
["Odin", '*', 10, 25, 11, 'stand by'],
[0, '*', 11, 34, 7, 'stand by'],
[0, '*', 12, 19, 4, 'stand by'],
[0, '*', 13, 21, 8, 'stand by'],
[0, '*', 14, 26, 2, 'stand by'],
["Vidar", '*', 15, 10, 6, 'stand by'],
["Baldr", '*', 16, 50, 14, 'stand by'],
[0, '*', 17, 36, 14, 'stand by'],
[0, '*', 18, 30, 9, 'stand by'],
[0, '*', 19, 28, 7, 'stand by'],
[0, '*', 20, 39, 9, 'stand by'],
)

440
idk/hypo.py Normal file
View File

@ -0,0 +1,440 @@
from idk_lib import *
# Game
def npc(data, stat, entities, identifiant):
npc_data = (
asgard_npc,
vanaheim_npc,
alfheim_npc,
midgard_npc,
niflheim_npc,
jotunheim_npc,
nidavellir_npc,
muspellheim_npc,
svartalfheim_npc,
h_9_npc, h_10_npc, h_11_npc, h_12_npc, h_13_npc, h_14_npc, h_15_npc, h_16_npc, h_17_npc, h_18_npc, h_19_npc, h_20_npc,
h_21_npc, h_22_npc,
h_23_npc, h_24_npc,
h_25_npc, h_26_npc, h_27_npc, h_28_npc,
h_29_npc, h_30_npc,
h_31_npc, h_32_npc, h_33_npc, h_34_npc, h_35_npc, h_36_npc,
h_37_npc, h_38_npc, h_39_npc, h_40_npc, h_41_npc,
h_42_npc, h_43_npc, h_44_npc,
h_45_npc, h_46_npc, h_47_npc, h_48_npc,
)
if identifiant == "Kvasir": return kvasir(data, stat, entities)
elif identifiant == 12: return frigg(data, stat, entities)
elif identifiant == "Freyja": return freyja(data, stat, entities)
else: return npc_core(npc_data[data[1]], data, stat, entities, identifiant)
def point_of_interest(data, stat, entities, identifiant):
po_data = (
asgard_po,
vanaheim_po,
alfheim_po,
midgard_po,
niflheim_po,
jotunheim_po,
nidavellir_po,
muspellheim_po,
svartalfheim_po,
)
coords = data[2], data[3]
event = po_data[data[1]](coords, identifiant)
if not event: return [0, "Il n'y a rien à voir ici."]
else: return event
entities = asgard_entities + vanaheim_entities + alfheim_entities + midgard_entities + niflheim_entities + jotunheim_entities + nidavellir_entities + muspellheim_entities + svartalfheim_entities + dlc_entities + (["Kvasir", "*", 3, 46, 66, "stand by"], )
print(center("L'Hydromel poetique", 21, " "))
print("---------------------")
print()
print("Entrez 'hypo()' pour\nune nouvelle partie.")
events = {"*": npc, "?": point_of_interest}
keys = {4: display_stat, 7: spell, 8: misc_stat, 6: inventory, 9: sleep, "s": quick_save}
def hypo(save_code=None):
# stat = [0 - PV, 1 - pièces d'or, 2 - [vitesse, agilité, attaque, defense, magie], 3 - [arme, armure], 4 - ticks, 5 - nom, 6 - classe, 7 - sorts connus : (id, level), 8 - sous-quêtes terminées, 9 - misc]
if not save_code:
stat = init_stat()
name = stat[5]
data = [{"main": 0}, 3, 44, 66]
print_text("A l'issue de la guerre qui opposa Ases et Vanes, Odin et Freyja conclurent un accord de paix durant lequel ils cracherent dans une meme cuve. De cette cuve naquit Kvasir, l'etre le plus sage qui soit. Venere par tous, Kvasir est tres souvent appelle au chevet des Dieux pour prodiguer ses precieux conseils. Odin et Freyja vous ont missionne pour escorter et assister Kvasir dans ses deplacements.")
else:
stat, data = decode_save(save_code)
idk_game = Asci(maps, entities, events, keys)
npc_init_position(idk_game.entities, data[0]["main"])
stat, data = idk_game.mainloop(100, stat, data, routine=routine, low_bar=low_bar, door="^_", walkable=".,`' ", exit_key="q")
if data[0]["main"] == 100:
print_text("conclusion")
else:
print("hypo(\"{}\")".format(encode_save(data, stat)))
def npc_init_position(entites, xp):
if xp < 2: entites["Kvasir"].change_behavior("follow")
elif xp < 11: entites["Kvasir"].teleport(16, 50, 16)
elif xp < 13: entites["Kvasir"].teleport(16, 29, 28)
elif xp < 24: entites["Kvasir"].teleport(16, 30, 28)
else:
entites["Kvasir"].teleport(16, 50, 16)
entites["Freyja"].teleport(16, 48, 14)
if 16 < xp < 17: entites[12].teleport(4, 79, 20)
elif 17 <= xp < 21: entites[12].teleport(4, 71, 32)
def kvasir(data, stat, entites):
if data[0]["main"] == 13: entites["Kvasir"].teleport(16, 30, 28)
return {
"base": [0, "Je suis Kvasir."],
0: [1, "Baldr m'a confie etre preoccupe par de recents reves premonitoires. Nous devrions aller le voir."],
1: [0, "Nous devrions aller voir Baldr. Il habite dans le Breidablik, a Asgard."],
2: [0, "Je vais rester ici pour veiller sur Baldr, va chercher Freyja et reviens vite !"],
13: [1, "En partant, pense a prevenir la mere de Baldr. [KVASIR SE DECALA POUR VOUS CEDER LE PASSAGE.]"],
25: [0, "Grace a toi et a Hel, Baldr est maintenant invincible ! [POUR APPUYER SES PROPOS, KVASIR DEGAINA UNE PETITE DAGUE QU'IL PORTAIT A LA TAILLE ET L'ENFONCA DANS LE VENTRE DE BALDR. LA BLESSURE NE SEMBLAIT PAS LE FAIRE SOUFFRIR LE MOINDRE DU MONDE ET CICATRISA AU FUR ET A MESURE QUE KVASIR RECUPERAIT SON ARME.]"],
28: [0, "Il me semble que Baldr a une petite commission a te demander."]
}
def frigg(data, stat, entites):
if data[0]["main"] == 16: entites[12].teleport(4, 79, 20)
elif data[0]["main"] == 17: entites[12].change_behavior("follow by player", 0, ((82, 20), (82, 32), (71, 32)))
elif data[0]["main"] == 18:
if stat[9] == -1: return [0, "[FRIGG SE TOURNA, VERS VOUS, UNE POINTE D'EMOTION DANS LA VOIX.] Nous voila devant le palais de Hel.\n1. Mais pourquoi sommes nous ici ?\n2. Que faisons-nous maintenant ?", 2]
else: return [0, "[FRIGG SE TOURNA, VERS VOUS, UNE POINTE D'EMOTION DANS LA VOIX.] Nous voila devant le palais de Hel.\n1. Mais pourquoi sommes nous ici ?\n2. Que faisons-nous maintenant ?\n3. Souhaitez-moi bonne chance !", 3]
elif data[0]["main"] == 21:
stat[9] = -1
entites[12].teleport(0, 8, 44)
return {
"base": [0, "Je suis Frigg, deesse du mariage et de la maternite."],
14: [0, "Frigg, deesse du mariage et de la maternite, que puis-je pour toi ?\n1. Pour moi rien, c'est votre fils, Baldr.", 1],
15: [0, "Que lui arrive-t-il ?\n1. Il reve de sa mort. Freyja va tenter de voir son avenir grace au Seidr.", 1],
16: [1, "Le Seidr ne fait pas tout, c'est Hel qu'il faut aller voir. On se retrouve a Helheim."],
17: [1, "Je savais que tu viendrais, suis-moi."],
19: [-1, "Les reves premonitoires ne sont jamais bon signe. Si Baldr reve de sa mort, le meilleur moyen de l'empecher de passer de l'autre cote est encore de convaincre Hel de le rendre immortel."],
20: [-2, "Il va te falloir convaincre Hel pour qu'elle rende Baldr immortel. Aucun Dieu, aucun humain, aucun animal, aucune plante ni aucune chose ne doit pouvoir le blesser ni le tuer.", 0, (9, 1)],
21: [1, "Bon courage {}. Et merci ! Pour ma part je vais retourner au chevet de mon fils.".format(stat[5])],
}
def freyja(data, stat, entites):
if data[0]["main"] == 10: data[1], data[2], data[3] = 16, 29, 28
return {
"base": [0, "Je suis Freyja, la reine des Vanes."],
7: [0, "Tu n'as pas l'air tres frais {}...\n1. Desole, je viens d'Asgard, le voyage a ete... brutal.\n2. Baldr m'envoie requerir votre aide.".format(stat[5]), 2],
8: [-1, "C'est Freyr qui t'as teleporte ? Pourtant je lui ai fait repeter le sort des dizaines de fois..."],
9: [0, "Baldr ?! Que lui arrive-t-il ?\n1. Il reve de sa propre mort, et voudrais que le Seidr eclaire son avenir.", 1],
10: [1, "Hmm... Je vais voir ce que je peux faire. As-tu prevenu Frigg, sa mere ? Tu la trouveras non loin du Breidablik. [UNE DOUCE CHALEUR VOUS ENVELOPPA, VOUS FERMEZ LES YEUX ET TOMBEZ DANS UN SOMMEIL PROFOND.]"],
25: [0, "Baldr savoure sa jeune immortalite, et ignore les avertissements du Seidr.\n1. Comment cela ?\n2. Cela n'a guere d'importance : il est immortel.", 2],
26: [2, "Il m'accuse de jouer les rabas-joie, mais je sais ce que j'ai vu, et Baldr est aussi immortel et toi et moi... enfin... surtout toi."],
27: [1, "Tu seras moins sur de toi quand il mourra."],
28: [0, "Baldr mourra. Et plus tot qu'on ne le pense."],
}
# - - - Asgard - - - #
def asgard_po(coords, identifiant):
pass
def asgard_npc(data, stat, entites, identifiant):
pass
def h_9_npc(data, stat, entites, identifiant):
pass
def h_10_npc(data, stat, entites, identifiant):
if identifiant == "Odin":
return {
"base": [0, "Je suis Odin, le plus puissant des Ases."],
29: [],
}
def h_11_npc(data, stat, entites, identifiant):
pass
def h_12_npc(data, stat, entites, identifiant):
pass
def h_13_npc(data, stat, entites, identifiant):
coords = data[2], data[3]
if coords == (21, 8):
if data[0]["main"] == 6: data[1], data[2], data[3] = 1, 54, 29
return {
"base": [0, "Freyr, pour te servir."],
2: [0, "[FREYR SE RETOURNE VERS VOUS.] Oh, bonjour {}. Que puis-je faire pour toi ?\n1. Baldr reve de sa mort et aimerait en savoir plus sur son destin.\n2. Je cherche Freyja.\n3. Que faites-vous ici ?\n4. Pouvez-vous m'envoyer a Vanaheim s'il vous plait ?".format(stat[5]), 4],
3: [-1, "Hum, je comprends... Pour ce genre de question, Freyja est plus douee que moi."],
4: [-2, "La derniere fois que je l'ai vue elle etait a Vanaheim."],
5: [-3, "Depuis la fin de la Premiere Guerre, Ases et Vanes ont echanges des Dieux en signe d'appaisement. Je suis ainsi arrive chez les Ases. Freyja vient de temps en temps me rendre visite."],
6: [1, "Mais bien sur {} ! [L'HABITUELLE TORPEUR VOUS PRIT, VOTRE VISION D'ESTOMPA DANS UNE SENSATION NAUSEEUSE DE FLOTTEMENT. LE CHOC BRUTAL CONTRE LA TERRE VOUS REVEILLA COMME D'UN MAUVAIS REVE.]".format(stat[5])],
}
def h_14_npc(data, stat, entites, identifiant):
pass
def h_15_npc(data, stat, entites, identifiant):
pass
def h_16_npc(data, stat, entites, identifiant):
if identifiant == "Baldr":
if data[0]["main"] == 1:
entites["Kvasir"].change_behavior("stand by")
entites["Kvasir"].teleport(16, 50, 16)
elif data[0]["main"] == 11:
entites["Kvasir"].change_behavior("walk to", 0, ((50, 25), (29, 25), (29, 28)))
return {
"base": [0, "Baldr, fils d'Odin et de Frigg. Dieu de la lumiere, de la jeunesse, de l'amour et de la beaute."],
1: [0, "Ah ! Vous voila enfin ! Depuis quelques temps, je fais des reves etranges dans lesquels je me vois mourir. Maintenant, j'ai meme peur de sortir du Breidablik !\n1. Nous pouvons vous aider ?", 1],
2: [0, "Si vous pouviez demander de l'aide à Freyja, je vous en serais reconnaissant.\n1. En quoi Freyja peut vous aider ?\n2. Ou pouvons-nous la trouver ?", 2],
3: [-1, "Freyja pratique le Seidr, et, avec Odin, elle est la meilleure seidr de tout l'Yggdrasil. Avant que tu ne me demandes, le Seidr est une forme de magie divinatoire. Nous autres, Dieux, la pratiquons et pour certains avec beaucoup de puissance. Mais les humains peuvent aussi en faire."],
4: [-2, "Habituellement, elle reside dans son palais a Vanaheim, mais depuis la treve et en signe de paix, elle se rend regulierement au Folkvangr."],
11: [0, "Ah {} deja de retour !\n1. Freyja m'a dit qu'elle allait faire son possible.".format(stat[5]), 1],
12: [1, "Très bien ! Merci beaucoup de ton aide ! Voici quelques pieces. [+15 PO]", 0, (1, 15)],
25: [0, "Ah merci {} ! Grace a toi je ne crains plus la mort ! Odin, mon pere, n'a plus besoin de s'inquieter de rien !".format(stat[5])],
28: [1, "{}, mon ami ! Va porter ce plis a mon pere, Odin.".format(stat[5])],
}
def h_17_npc(data, stat, entites, identifiant):
pass
def h_18_npc(data, stat, entites, identifiant):
pass
def h_19_npc(data, stat, entites, identifiant):
pass
def h_20_npc(data, stat, entites, identifiant):
pass
# - - - Vanaheim - - - #
def vanaheim_po(coords, identifiant):
pass
def vanaheim_npc(data, stat, entites, identifiant):
pass
def h_21_npc(data, stat, entites, identifiant):
pass
def h_22_npc(data, stat, entites, identifiant):
pass
# - - - Alfheim - - - #
def alfheim_po(coords, identifiant):
pass
def alfheim_npc(data, stat, entites, identifiant):
pass
def h_23_npc(data, stat, entites, identifiant):
pass
def h_24_npc(data, stat, entites, identifiant):
pass
# - - - Midgard - - - #
def midgard_po(coords, identifiant):
pass
def midgard_npc(data, stat, entites, identifiant):
pass
def h_25_npc(data, stat, entites, identifiant):
pass
def h_26_npc(data, stat, entites, identifiant):
pass
def h_27_npc(data, stat, entites, identifiant):
pass
def h_28_npc(data, stat, entites, identifiant):
pass
# - - - Niflheim - - - #
def niflheim_po(coords, identifiant):
pass
def niflheim_npc(data, stat, entites, identifiant):
pass
def h_29_npc(data, stat, entites, identifiant):
pass
def h_30_npc(data, stat, entites, identifiant):
if identifiant == "Hel":
if data[0]["main"] == 24:
entites["Kvasir"].teleport(16, 50, 16)
entites["Freyja"].teleport(16, 48, 14)
return {
"base": [0, "Je suis Hel, deesse de la mort et reine de Niflheim"],
22: [0, "Un humain !? C'est chose rare ici... surtout vivant.\n1. Je viens de la part de Frigg", 1],
23: [0, "[HEL LEVA LES YEUX D'UN AIR EXASPÉRÉ.] Que veux-t-elle ?\n1. Baldr reve de sa mort et Frigg aimerait lui garantir la vie eternelle.", 1],
24: [1, "Encore !? Bon d'accord, cette fois-ci je le ferai."],
25: [0, "Oui, oui c'est bon je m'en occupe !"],
}
# - - - Jotunheim - - - #
def jotunheim_po(coords, identifiant):
pass
def jotunheim_npc(data, stat, entites, identifiant):
pass
def h_31_npc(data, stat, entites, identifiant):
pass
def h_32_npc(data, stat, entites, identifiant):
pass
def h_33_npc(data, stat, entites, identifiant):
pass
def h_34_npc(data, stat, entites, identifiant):
pass
def h_35_npc(data, stat, entites, identifiant):
pass
def h_36_npc(data, stat, entites, identifiant):
pass
# - - - Nidavellir - - - #
def nidavellir_po(coords, identifiant):
pass
def nidavellir_npc(data, stat, entites, identifiant):
pass
def h_37_npc(data, stat, entites, identifiant):
pass
def h_38_npc(data, stat, entites, identifiant):
pass
def h_39_npc(data, stat, entites, identifiant):
pass
def h_40_npc(data, stat, entites, identifiant):
pass
def h_41_npc(data, stat, entites, identifiant):
pass
# - - - Muspellheim - - - #
def muspellheim_po(coords, identifiant):
pass
def muspellheim_npc(data, stat, entites, identifiant):
pass
def h_42_npc(data, stat, entites, identifiant):
pass
def h_43_npc(data, stat, entites, identifiant):
pass
def h_44_npc(data, stat, entites, identifiant):
pass
# - - - Svartalfheim - - - #
def svartalfheim_po(coords, identifiant):
pass
def svartalfheim_npc(data, stat, entites, identifiant):
pass
def h_45_npc(data, stat, entites, identifiant):
pass
def h_46_npc(data, stat, entites, identifiant):
pass
def h_47_npc(data, stat, entites, identifiant):
pass
def h_48_npc(data, stat, entites, identifiant):
pass

1475
idk/idk.py

File diff suppressed because it is too large Load Diff

651
idk/idk_lib.py Normal file
View File

@ -0,0 +1,651 @@
from asci import Asci, print_text, center, enumerate
import asci
from random import randint, choice
from math import floor
from asgard import *
from vanaheim import *
from alfheim import *
from midgard import *
from niflheim import *
from jotunheim import *
from nidavellir import *
from muspellheim import *
from svartalfheim import *
maps = (
asgard,
vanaheim,
alfheim,
midgard,
niflheim,
jotunheim,
nidavellir,
muspellheim,
svartalfheim,
h_9, h_10, h_11, h_12, h_13, h_14, h_15, h_16, h_17, h_18, h_19, h_20, # asgard's houses
h_21, h_22, # vanaheim's houses
h_23, h_24, # alfheim's houses
h_25, h_26, h_27, h_28,
h_29, h_30,
h_31, h_32, h_33, h_34, h_35, h_36,
h_37, h_38, h_39, h_40, h_41,
h_42, h_43, h_44,
h_45, h_46, h_47, h_48,
h_49, h_50, h_51, h_52, h_53, h_54, # vanaheim's extra houses
h_55, h_56, h_57, h_58, h_59, h_60, h_61, h_62, h_63, h_64, h_65, h_66, h_67, h_68, h_69, h_70, h_71, h_72, h_73, h_74, h_75, h_76, h_77, h_78, h_79, h_80, h_81, # alfheim's extra house
h_82, h_83, h_84, h_85, h_86, h_87, h_88, h_89, h_90, h_91, h_92, h_93, h_94, h_95, h_96, h_97, # midgard's extra houses
h_98, h_99, h_100, h_101, h_102, h_103, h_104, h_105, h_106, h_107, h_108, h_109, h_110, # niflheim's extra houses
)
spells = (("Soin", 4, 1, True), ("Flammes", 4, -1, False), ("Givre", 4, -1, False), ("Etincelles", 4, -1, False), ("Fatigue", 0, -1, False)) # (capacity, factor, True on player; False on opponent)
spells_level = ("I", "II", "III", "IV", "V")
weapons = ("<aucune>", "Dague", "Marteau", "Masse", "Fleau", "Hache", "Epee", "Espadon", "Hache double")
armors = ("<aucune>", "Rondache", "Pavois", "Cote de maille", "Broigne", "Harnois")
# Shop functions
def inn_interaction(data, stat, nb_choice, text, *events):
choice = print_text(text, 1, nb_choice, 0) - 1
if choice == -1: return [0, None], choice
if stat[1] < events[choice][0]: return events[choice][2], choice + 1
else: return events[choice][1], choice + 1
def spell_selection(text, spells_to_display):
message = text + "\n" + "\n".join(["{0}. {1} {2}".format(nb + 1, spells[sp_id][0], spells_level[sp_lvl - 1]) for sp_id, sp_lvl in spells_to_display])
return print_text(message, 1, len(spells_to_display), 0) - 1
def spell_purchase(data, stat, text, spell_purchased, already_known, not_enough_money, too_many_spell):
spells_sale = []
while len(spells_sale) < 3:
sp_id = randint(0, len(spells) - 1)
sp_lvl = randint(1, len(spells_level))
check = True
for sp in spells_sale:
if sp == (sp_id, sp_lvl):
check = False
break
if check: spells_sale.append((sp_id, sp_lvl))
choice = spell_selection(text, spells_sale)
if choice == -1: return [0, ""]
spell_selected = spells_sale[choice]
if stat[1] < 10 * spell_selected[1]: return [0, not_enough_money]
for spell in stat[7]:
if spell_selected[0] == spell[0]:
if spell_selected[1] <= spell[1]: return [0, already_known]
else: stat[7].remove(spell)
if len(stat[7]) >= 3: return [0, too_many_spell]
stat[7].append(spell_selected)
return [0, spell_purchased, 0, (1, -10 * spell_selected[1])]
def spell_deletion(data, stat, text, spell_deleted, no_spell_known, health_cost, not_enough_health=""):
if not stat[7]: return [0, no_spell_known]
choice = spell_selection(text, stat[7])
if choice == -1: return [0, ""]
if stat[0] <= health_cost: return [0, not_enough_health]
stat[7].remove(stat[7][choice])
return [0, spell_deleted, 0, (0, -health_cost)]
def weapon_selection(text, weapons_to_display):
message = text + "\n" + "\n".join(["{0}. {1} [-{2} PO]".format(i + 1, weapons[wpn_index], 10 * wpn_index) for i, wpn_index in enumerate(weapons_to_display)])
return print_text(message, 1, len(weapons_to_display), 0) - 1
def weapon_purchase(data, stat, text, weapon_purchased, already_have_one, not_enough_money):
if stat[3][0]: return [0, already_have_one]
weapons_sale = []
while len(weapons_sale) < 3:
wpn_id = randint(1, len(weapons) - 1)
if not wpn_id in weapons_sale: weapons_sale.append(wpn_id)
choice = weapon_selection(text, weapons_sale)
if choice == -1: return [0, ""]
weapon_selected = weapons_sale[choice]
if stat[1] < 10 * weapon_selected: return [0, not_enough_money]
stat[3][0] = weapon_selected
return [0, weapon_purchased, 0, (1, -10 * weapon_selected)]
def weapon_sale(data, stat, text, weapon_sold, sale_aborted, no_weapon_owned, price):
if not stat[3][0]: return [0, no_weapon_owned]
choice = print_text(text + "\n1. Oui\n2. Non", 1, 2, 0)
if choice == 0: return [0, ""]
elif choice == 1:
stat[3][0] = 0
return [0, weapon_sold, 0, (1, price)]
else: return [0, sale_aborted]
def armor_selection(text, armors_to_display):
message = text + "\n" + "\n".join(["{0}. {1} [-{2} PO]".format(i + 1, armors[arm_index], 10 * arm_index) for i, arm_index in enumerate(armors_to_display)])
return print_text(message, 1, len(armors_to_display), 0) - 1
def armor_purchase(data, stat, text, armor_purchased, already_have_one, not_enough_money):
if stat[3][1]: return [0, already_have_one]
armors_sale = []
while len(armors_sale) < 3:
arm_id = randint(1, len(armors) - 1)
if not arm_id in armors_sale: armors_sale.append(arm_id)
choice = armor_selection(text, armors_sale)
if choice == -1: return [0, ""]
armor_selected = armors_sale[choice]
if stat[1] < 10 * armor_selected: return [0, not_enough_money]
stat[3][1] = armor_selected
return [0, armor_purchased, 0, (1, -10 * armor_selected)]
def armor_sale(data, stat, text, armor_sold, sale_aborted, no_armor_owned, price):
if not stat[3][1]: return [0, no_armor_owned]
choice = print_text(text + "\n1. Oui\n2. Non", 1, 2, 0)
if choice == 0: return [0, ""]
elif choice == 1:
stat[3][1] = 0
return [0, armor_sold, 0, (1, price)]
else: return [0, sale_aborted]
# Asci functions
def npc_core(event_fn, data, stat, entities, identifiant):
event = event_fn(data, stat, entities, identifiant)
if not event:
msg = ("Hmm ?", "Besoin de quelque chose ?", "Vous cherchez quelqu'un ?", "Vous etes... ?", "Oui ?", "He ! Regarde ou tu vas.", "Un probleme ?")
sel_choice = print_text("{0}\n1. Attaquer\n2. Voler".format(choice(msg)), 1, 2, 0)
if sel_choice == 1:
opponent_stat = [randint(5, stat[2][i] + 5) for i in range(4)]
opponent_stat.append(randint(50, 150))
return launch_fight(data, stat, (opponent_stat, "Ennemi", randint(10, 30), 0))
elif sel_choice == 2:
if stat_test(stat[2], 1)[0]:
amount = randint(5, 25)
return [0, "Vous avez reussi a voler {} PO.".format(amount), 0, (1, amount)]
else:
return [0, "Votre victime vous a vu et vous a mis une raclee.", 0, (0, -10)]
else:
return None
elif type(event) == tuple and len(event) > 2:
if len(event) == 4: quest = "main"
else: event, quest = event[:-1], event[-1]
return launch_fight(data, stat, event, quest)
else:
return event
def launch_fight(data, stat, event, quest="main"):
issue, stat[0] = fight(stat, event[0], event[1])
if issue == 0:
stat[1] += event[2]
if sum(stat[2][:-1]) >= 200: return [event[3], "Vous avez gagne le combat. [+{}PO]".format(event[2])]
print_text("Vous avez gagne le combat. [+{}PO]".format(event[2]))
data[0][quest] += event[3]
sel_choice = 0
while not sel_choice:
print("<o> Amelioration <o>")
print(" |1. Vitesse |")
print(" |2. Agilite |")
print(" |3. Attaque |")
print(" |4. Defense |")
print("<o> ============= <o>")
sel_choice = get_input()
if (sel_choice < 0 or sel_choice > 4) and stat[2][sel_choice - 1] >= 50: sel_choice = 0
print_text("Vous gagnez 2 points {}".format(("de vitesse", "d'agilite", "d'attaque", "de defense")[sel_choice - 1]))
stat[2][sel_choice - 1] += 2
if stat[2][sel_choice -1] > 50: stat[2][sel_choice - 1] = 50
return None
elif issue == 1: return [0, "Vous etes mort."]
elif issue == 2: return [0, "Vous avez fuit."]
def routine(data, stat):
stat[4] = (stat[4] + 1) % 1440
# Health regeneration
if stat[0] < 100 and not (stat[4] % 60):
stat[0] += 1
if stat[0] > 999: stat[0] = 999
# Mana regeneration
if stat[2][4] < stat[0] // 2 and not (stat[4] % 30):
stat[2][4] += 1
if stat[2][4] > 99: stat[2][4] = 99
def low_bar(data, stat):
h = stat[4] // 60
m = stat[4] % 60
if m < 10: m = "0" + str(m)
return "{0}h|{2}PV|{3}PM ".format(h, m, stat[0], stat[2][4])
# Game mecanics
def fight(stat, opponent_stat, opponent_name):
def player_turn():
end = False
msg = "Tour de {}".format(stat[5])
if sel_choice == 1:
damage = stat_test(player_stat, 2)[1] - opponent_stat[3]
if damage < 0: damage = 0
if damage == 0:
msg += "\n{} bloque l'attaque.".format(opponent_name)
elif stat_test(opponent_stat[:-1], 1)[0]:
msg += "\n{} esquive le coup.".format(opponent_name)
else:
opponent_stat[4] -= damage
msg += "\n{0} perd {1} PV.".format(opponent_name, damage)
elif sel_choice == 2:
if len(stat[7]) == 0:
msg += "\nVous ne connaissez pas de sort."
else:
spell_choice = 0
while not spell_choice:
print("\n" * 6 + "Sort(s) connu(s) :")
count = 0
for spell_id, level in stat[7]:
print("{0}. {1} {2}".format(count + 1, spells[spell_id][0], spells_level[level - 1]))
count += 1
spell_choice = get_input()
if spell_choice < 0 or spell_choice > len(stat[7]): spell_choice = 0
spell_choice -= 1
spell_id, level = stat[7][spell_choice][0], stat[7][spell_choice][1]
if stat[2][4] >= level * 10:
msg += "\nVous lancez {0} de niveau {1} [-{2} PM].".format(spells[spell_id][0], spells_level[level - 1], level * 10)
stat[2][4] -= level * 10
pts = 12 * level + randint(-5, 5)
capacity, factor, apply_on_player = spells[spell_id][1:]
if apply_on_player:
player_stat[capacity] += factor * pts
msg += "\nVous {0} {1} points de {2}".format(("perdez", "gagnez")[factor > 0], pts, ("vitesse", "agilité", "attaque", "défense", "vie")[capacity])
else:
opponent_stat[capacity] += factor * pts
msg += "\n{0} {1} {2} points de {3}".format(opponent_name, ("perd", "gagne")[factor > 0], pts, ("vitesse", "agilité", "attaque", "défense", "vie")[capacity])
else:
msg += "\nVous ne parvenez pas a lancer le sort."
elif sel_choice == 3:
if stat_test(player_stat, 1)[0] or not stat_test(opponent_stat, 1)[1]:
end = True
else:
msg += "\nVotre tentative de fuite echoue."
print_text(msg)
return end
def opponent_turn():
msg = "Tour de {}".format(opponent_name)
damage = stat_test(opponent_stat, 2)[1] - player_stat[3]
if damage < 0: damage = 0
if damage == 0:
msg += "\n{} bloque l'attaque.".format(stat[5])
elif stat_test(player_stat, 1)[0]:
msg += "\n{} esquive le coup.".format(stat[5])
else:
player_stat[4] -= damage
msg += "\n{0} perd {1} PV.".format(stat[5], damage)
print_text(msg)
# *_stat = [vitesse, agilité, attaque, défense, vie]
player_stat = [stat[2][0], stat[2][1], stat[2][2] + stat[3][0] * 5, stat[2][3] + stat[3][1] * 5, stat[0]]
end = False
while not end:
sel_choice = 0
while not sel_choice:
print("<o> Combat <o>")
print(" | 1. Attaquer |")
print(" | 2. Ensorceler |")
print(" | 3. Fuir |")
print(" | 4. Statistiques |")
print("<o> ============= <o>")
sel_choice = get_input()
if sel_choice < 0 or sel_choice > 4: sel_choice = 0
if sel_choice == 4:
p_capacities = ["{} ".format(i) if i < 10 else str(i) for i in player_stat]
o_capacities = ["{} ".format(i) if i < 10 else str(i) for i in opponent_stat[:-1]]
p_health = str(player_stat[4]) + " " * (3 - len(str(player_stat[4])))
o_health = str(opponent_stat[4]) + " " * (3 - len(str(opponent_stat[4])))
print(" Joueur | Ennemi")
print("Vit: {0} | {1}".format(p_capacities[0], o_capacities[0]))
print("Agi: {0} | {1}".format(p_capacities[1], o_capacities[1]))
print("Att: {0} | {1}".format(p_capacities[2], o_capacities[2]))
print("Def: {0} | {1}".format(p_capacities[3], o_capacities[3]))
print("Vie: {0} | {1}".format(p_health, o_health))
input()
sel_choice = 0
# Who start
player = opponent = False
while player == False and opponent == False:
player = stat_test(player_stat, 0)[0]
opponent = stat_test(opponent_stat[:-1], 0)[0]
if player == True and opponent == True:
if player_stat[0] < opponent_stat[0]: opponent = False
else: player = False
# Fight
if player > opponent:
end = player_turn()
if end: return 2, player_stat[4]
if opponent_stat[4] <= 0: return 0, player_stat[4]
opponent_turn()
else:
opponent_turn()
if player_stat[4] <= 0: return 1, player_stat[4]
end = player_turn()
if opponent_stat[4] <= 0: return 0, player_stat[4]
if player_stat[4] <= 0: return 1, player_stat[4]
return 2, player_stat[4]
def misc_stat(data, stat):
if data[1] < 9: place = ("Asgard", "Vanaheim", "Alfheim", "Midgard", "Niflheim", "Jotunheim", "Nidavellir", "Muspellheim", "Svartalfheim")[data[1]]
elif data[1] == 27: place = "chez vous"
else: place = "interieur"
money, ticks, player_class = stat[1], stat[4], stat[6]
hours = ticks // 60
if 4 <= hours <= 5:
hours = " |aube - {}h".format(hours)
elif 6 <= hours <= 12:
hours = " |matin - {}h".format(hours)
elif 13 <= hours <= 18:
hours = " |apres-midi - {}h".format(hours)
elif 19 <= hours <= 20:
hours = " |crepuscule - {}h".format(hours)
else:
hours = " |nuit - {}h".format(hours)
player_class = (" |Guerrier", " |Voleur", " |Moine", " |Mage", " |Assassin")[player_class]
money = " |Argent: {} PO".format(money)
print("<o> Informations <o>")
print(" |" + center(place, 17, " ") + "|")
print(player_class + " " * (19 - len(player_class)) + "|")
print(hours + " " * (19 - len(hours)) + "|")
print(money + " " * (19 - len(money)) + "|")
print("<o> ============= <o>")
input()
def display_stat(data, stat):
capacities = ["{} ".format(i) if i < 10 else str(i) for i in stat[2]]
first_line = " |Vit : {0} Agi : {1}|".format(capacities[0], capacities[1])
second_line = " |Att : {0} Def : {1}|".format(capacities[2], capacities[3])
health = " |Vie : {} PV".format(stat[0])
mana = " |Magie : {} PM".format(stat[2][4])
print("<o> {} <o>".format(center(stat[5], 13, " ")))
print(first_line)
print(second_line)
print(mana + " " * (19 - len(mana)) + "|")
print(health + " " * (19 - len(health)) + "|")
print("<o> ============= <o>")
input()
def inventory(data, stat):
weapon = weapons[stat[3][0]]
armor = armors[stat[3][1]]
weapon = " |" + weapon + " " * (17 - len(weapon)) + "|"
armor = " |" + armor + " " * (17 - len(armor)) + "|"
print("<o> Inventaire <o>")
print(" |- Arme : |\n{}".format(weapon))
print(" |- Armure : |\n{}".format(armor))
print("<o> ============= <o>")
input()
def sleep(data, stat):
sleep_hours = 0
hours = "= {0} h ".format(stat[4] // 60)
if stat[4] % 60 < 10: hours += "0{1} ="
else: hours += "{1} ="
hours = center(hours.format(stat[4] // 60, stat[4] % 60), 21, " ")
while not sleep_hours:
print(hours)
print("Combien d'heures\nvoulez-vous dormir ?")
sleep_hours = get_input() % 25
if not sleep_hours or sleep_hours < 0: return
stat[4] += sleep_hours * 60
if stat[0] < 100: stat[0] += sleep_hours // 2
if stat[2][4] < 50: stat[2][4] += sleep_hours
# If the player is at home
if data[1] == 27:
if stat[0] < 100: stat[0] += sleep_hours
if stat[2][4] < 50: stat[2][4] += sleep_hours * 2
print_text("Vous vous reposez {0} heure{1}.".format(sleep_hours, ("", "s")[sleep_hours > 1]))
def spell(data, stat):
to_disp = "Magie : {} PM".format(stat[2][4])
print("<o> Sorts <o>")
print(" |" + to_disp + " " * (16 - len(to_disp)) + "|")
for i in range(3):
if i < len(stat[7]):
spell_id, level = stat[7][i]
if spell_id >= 0:
to_disp = "{0} {1}".format(spells[spell_id][0], spells_level[level - 1])
print(" |{}.".format(i + 1) + to_disp + " " * (14 - len(to_disp)) + "|")
else:
print(" |<aucun> |")
print("<o> ============ <o>")
spell_choice = get_input()
if not (1 <= spell_choice <= len(stat[7])): spell_choice = 0
if spell_choice:
spell_choice -= 1
spell_id, level = stat[7][spell_choice][0], stat[7][spell_choice][1]
spell_name, capacity, factor, apply_on_player = spells[spell_id]
if not apply_on_player:
print_text("Vous ne pouvez pas lancer ce sort.")
elif stat[2][4] >= level * 10:
msg = "".format()
stat[2][4] -= level * 10
pts = 12 * level + randint(-5, 5)
if capacity == 4: # Health
stat[0] += factor * pts
else:
stat[2][capacity] += factor * pts
cost = level * 10
if stat[6] == 3: cost = level * 8
print_text("Vous lancez {0} de niveau {1} [-{2} PM] et {3} {4} points de {5}".format(spell_name, spells_level[level - 1], level * 10, ("perdez", "gagnez")[factor > 0], pts, ("vitesse", "agilité", "attaque", "défense", "vie")[capacity]))
else:
print_text("Vous n'avez plus assez de points de Magie.")
def quick_save(data, stat):
data_copy = data[:]
stat_copy = stat[:]
print_text("\"{}\"".format(encode_save(data_copy, stat_copy)))
# Misc functions
def get_input(string=">"):
string = input(string)
try:
return int(string)
except:
return 0
def stat_test(stat, test_id):
score = (80 + randint(-20, 20)) * stat[test_id] / 50
return randint(1, 100) <= score, floor(score)
def init_stat():
name = input("Entrez votre nom :\n>")
while len(name) == 0 or len(name) > 13:
print("Erreur : nom invalide.")
name = input("Entrez votre nom :\n>")
player_class = 0
while(not player_class):
print("Choisissez une classe\n1. Guerrier\n2. Voleur\n3. Moine\n4. Mage\n5. Assassin")
player_class = get_input()
if player_class < 0 or player_class > 5: player_class = 0
if player_class == 1:
stat = [6, 6, 10, 6, 6]
elif player_class == 2:
stat = [6, 20, 6, 6, 6]
elif player_class == 3:
stat = [6, 6, 6, 20, 6]
elif player_class == 4:
stat = [6, 6, 6, 6, 12]
elif player_class == 5:
stat = [10, 6, 6, 6, 6]
stat = [100, 10, stat, [0, 0], 360, name, player_class - 1, [], 1, -1]
if player_class == 1:
stat[3][1] = 1
elif player_class == 4:
stat[7].append((1, 1))
elif player_class == 5:
stat[3][0] = 1
return stat
def encode_save(data, stat):
xp = ["{0}-{1}".format(key, data[0][key]) for key in data[0] if key == "main" or data[0][key]]
data = "{0},{1},{2},{3}".format(data[1], data[2], data[3], ",".join(xp))
stat[5] = 0
if not stat[7]: stat[7] = 0
else: stat[7] = ",".join(["{0}-{1}".format(i[0], i[1]) for i in stat[7]])
save_code = []
for i in stat:
if type(i) == list:
for j in i: save_code.append(str(j))
else: save_code.append(str(i))
return ",".join(save_code) + ".{}".format(data)
def decode_save(save_code):
stat, data = save_code.split(".")
encoded_stat = stat.split(",")
encoded_data = data.split(",")
encoded_stat = [encoded_stat[0], encoded_stat[1], encoded_stat[2: 7], encoded_stat[7: 9], encoded_stat[9], 0, encoded_stat[11], encoded_stat[12: -2], encoded_stat[-2], encoded_stat[-1]]
if encoded_stat[7] == ["0"]:
encoded_stat[7] = []
else:
spells = []
for spell in encoded_stat[7]:
s_id, s_lv = spell.split("-")
spells.append((s_id, s_lv))
encoded_stat[7] = spells
stat = str_to_int(encoded_stat)
for i in range(len(stat[7])):
stat[7][i] = tuple(stat[7][i])
# Money check
if stat[1] < 0: stat[1] = 0
if stat[1] > 100000: stat[1] = 100000
# Stat check
for i in range(len(stat[2])):
if stat[2][i] > 50: stat[2][i] = 50
if stat[2][i] < 0: stat[2][i] = 0
# Player's class check
if not (0 <= stat[6] <= 5):
raise ValueError("classe du joueur inconnue")
# PLayer's name check
name = input("Entrez votre nom :\n>")
while len(name) == 0 or len(name) > 13:
print("Erreur : Nom invalide")
name = input("Entrez votre nom :\n>")
stat[5] = name
xp = {}
for quest in encoded_data[3:]:
q_id, q_xp = quest.split("-")
xp[q_id] = int(q_xp)
data = [xp, int(encoded_data[0]), int(encoded_data[1]), int(encoded_data[2])]
return stat, data
def str_to_int(data):
result = []
for i in data:
if isinstance(i, (list, tuple)):
result.append(str_to_int(i))
else:
result.append(int(i))
return result

View File

@ -9,7 +9,7 @@ jotunheim = (r"""
/ \ / \ /\ \ / \ / \ /\ / / \ / \ / / / \ ~~~~~
/ / / \ ___ ### / \ / \ /\ / \ / \ /\ / / \ ~~~
/\ / / \ /O O\ ##### / ### / / \ \ / \ / \ /\ / / \ /\ ~~
/ \ /\ / / \ * |_ | |=| ##### / / \ / ~/ / \ / \ / \ ~
/ \ /\ / / \ |_ | |=| ##### / / \ / ~/ / \ / \ / \ ~
/ \ / ### \ |^|_| |=| / / \ ### ### ~/ / \ /\ / \ /\
/ \ ##### ### / ### \ ##### ##### ~/ / \ / \ / \ / \
\ / \ |=| ### ##### _______ ##### |=| |=| ~ / _ \ / \ /\ / /
@ -19,7 +19,7 @@ jotunheim = (r"""
~~ / / \ / \ /\ ##### | | ##### /________\ ##### ~~~~~~ || / / \ /\
~~ / / \ / \ / \ /\ |=| |[] |]O[| []| |=| |<o> <o>| ### |=| ~~~~~ / / \__
~ / / \/ / / \ |___________| | __ | ##### ~~ _____ /\ / \
~ / / / \ * ### |__|__|__| |=| _ / \___ / \_ / \
~ / / / \ ### |__|__|__| |=| _ / \___ / \_ / \
~~~ /\ / / \ /\ ### ##### __/o\ / \ / \ / \
~~ / \__ / / \__ ##### |=| ### ### / o | /____________\ / \ ~
~~~ / \ /\ / \ |=| ##### ### ##### |____| | O O O | _ /\ ~~~
@ -27,7 +27,7 @@ jotunheim = (r"""
~ / \/ \__ / \ \ / \ ##### |=| ## #### ## |__|^|_______| / | / \ ~~
~ /\ / \ / \ /\ / \ |=| ## #### ## ## #### |____| / \ /\ ~~
/ \__ / \ \ / \ / \ _ #### ## #### || ## ## ## / \_ ~
/ * \ / \ /\ /\ / \ __/ \ ## || ## || #### ## #### /\ / \ ~
/ \ / \ /\ /\ / \ __/ \ ## || ## || #### ## #### /\ / \ ~
~~ \ / \ / \ \ /\ / | || || ## ## #### ## / \_ / \~
~~ \ /\ / \ / \ / \ |____| ## ## #### ## || ## || / \ ~~
~ /\ \/ \ /\ / \ \ /\ / \ #### #### ## #### || / \ /\ ~~~
@ -43,50 +43,50 @@ jotunheim = (r"""
/\ / \ \ /\ / \ / \ ______ / \ / \ / \_ / \ /\ ~
/ \ \ \/ \ /________\ / \ /________\ |_| / \ / \ / \_ ~
/ \ _ / \ | | _______________ /________\ |<o> <o>| / \ / \
/ /\ \ / \ / \ | o o o o| / Utgard \ | [] [] | | _ | /\ /\ / /\ \
/ \ |_| * |________| / () () () () \ | | |__|^|___| / \_ / \_ / \_
/ /\ \ / \ / \ | o o o o| / \ | [] [] | | _ | /\ /\ / /\ \
/ \ |_| |________| / () () () () \ | | |__|^|___| / \_ / \_ / \_
/ \ /\ /___________________\ |________| / _ \ / \ / \
/ \/ \ ______ |_/ \_/ \_/ \_| / / \ \/ /\ \/ \
/ \ _ / \ ### |I| |I| _ |I| |I| ______ |_| _/ \
/ \ / \ /________\ ##### |I|* |I|/_\|I| |I| / \ / \ /\
/ \ / \ /________\ ##### |I| |I|/_\|I| |I| / \ / \ /\
/\ |_| ___ |<o> <o>| ### |I| |I|[^]|I| |I| ### /________\ _ \ _/ \
/ \ /\ * /<o>\ | | /-\ ##### ||]O[| | / \ /\ / \
/ \ /\ /<o>\ | | /-\ ##### ||]O[| | / \ /\ / \
/ \ \ | | |________| ### ### ### | | |_| _/ \ / \
/ \ \ /\ |___| ### ##### ##### /-\ |________| /\ / \ /\
\/ \ ##### |=| |=| _/ \ / _/ \
/\ / \ ~~~~~~~ ### ### / \ / \
/ \ /\ / ~~~~~~~~~~|----* ### /-\ ### ### ### ##### / \ /\ / \ /\
/ \ / \ ~~~~~~~~~~~~~~| ##### ##### ? ##### ##### ### _/ \ _/ \
/ \ /\ / ~~~~~~~~~~|---- ### /-\ ### ### ### ##### / \ /\ / \ /\
/ \ / \ ~~~~~~~~~~~~~~| ##### ##### ##### ##### ### _/ \ _/ \
\/ \ ~~~~~~~~~~~~~~~| ### |=| |=| ### /-\ / \ /\ / \
~~~ / \~~~~~~~~~~~~~~~|---- /-\ ### ~~~ /-\ / _/ \ / \
~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~ ### ##### _~/~\~_ ### ___ / \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ##### ### ### /~~|~|~~\ ##### /<o>\ /\ \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ### ##### /-\ \_______/ ### | | /\ _/ \ /\ /\
~~~~~~~~~~~~~~~~~~~~~~~~~~ /-\ ### ### |=======| /-\ |___| _/ \ / \ _/ \ _/ \
~~~~~~~~~~~~~~~~~~~~~~~ /-\ ##### * ### /~ \/ / \ / \
~~~~~~~~~~~~~~~~~~~~~~~ /-\ ##### ### /~ \/ / \ / \
~~~~~~~~~~~~~~~~~~~~ ### ### ### ##### /~ / \/ ## \
~~~~~~~~~~~~~~~~ ##### ##### ### /-\ ___ ### ### ~~ ## ####
~~~~~~~~~~~~ __ ### ### ##### /[O]\ ##### /-\ ~~ #### ## ######
~~~~~~~~~~~ /()\ /-\ /-\ ### ___ | | ___ ___ ### ~~~ ###### #### ########
~~~~~~~~~~ | =| /-\ /O O\ |___| /<o>\ /() \ /-\ ~~~ ######## ###### ## ######
~~~~~~~~~ |= | ? ### | | * | | | | ~~~~ ###### ######## #### ####
~~~~~~~~~ |= | ### | | | | | | ~~~~ ###### ######## #### ####
~~~~~~~~ | =| ### ##### |___| |___| |___| ~~~~~~~ #### ###### ###### |--|
~~~~~~ * |= | ##### ### ___ ~~~~~~~~~~ ## |--| #### ########|--|
~~~~~~ |= | ##### ### ___ ~~~~~~~~~~ ## |--| #### ########|--|
~~~~~ /____\ ### /-\ /<o>\ ~~~~~~~~~~~~~~~~ #### |--| |--| ######
~~~~~ ~~~~~~~~ /-\ | | ~~~~~~~~~~~~~~~~~ | ## ## ### |--| ## #### ##
~~~~ ~~~~~~~~~~~~~~~~~ *|___| ~~~~~~~~~~~~~~~~ | #### || ##### ## #### |--| ####
~~~~ ~~~~~~~~~~~~~~~~~ |___| ~~~~~~~~~~~~~~~~ | #### || ##### ## #### |--| ####
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~ ## ## | ## ##### #### ###### |--| ######
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |~~~~~~~~~~~~~~~~~~~ ## #### #### | || ### ###### ######## ########
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| |~~~~~~~~~~~~~~ | #### ## /\ /\ | ### |_| ######## ###### ######
~~~~~~~~~~~~~~~~~~~~ # ~~~~~| |~~ | /\ #### | ## ##### ###### #### ####
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ ## #### #### | || ### ###### ######## ########
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | #### ## /\ /\ | ### |_| ######## ###### ######
~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~ | /\ #### | ## ##### ###### #### ####
~~~~~~~~~~~~~~ ### # |==| () /\ () | #### ##### #### |--| ## |--|
~~~~~~~~~ ##### ### | /__\ __ /__\ | ## ### |--| |--| #### |--|
~~~~~~ # ### # ##### | | |___/()\___| | | || |_| |--| ######
~~~~~ ### __ |-| ### ### | ## |[]| [] [] |[]| | ### ### ######## ##
~~~~ # ##### /()\ ##### |-| |#### | | __ | | | ##### ##### ## ###### ####
~~~~ ### ### | \____ ### # | /\ |__|___|^^|___|__| ## | ##### ##### #### #### ######
~~~~ ##### |-| | |]O[|\ |-| ### | ? #### | ### ### ###### ## |--| ########
~~~~ ### | _ | ##### | * /\ | |_| |_| ######## #### |--| ######
~~~~ ##### |-| | |]O[|\ |-| ### | #### | ### ### ###### ## |--| ########
~~~~ ### | _ | ##### | /\ | |_| |_| ######## #### |--| ######
~~~~~ |-| |____|^|_| # ### # | # # | ### ###### ###### ####
~~~~~~ ### |-| ### |==|==|==|===| |=|==|==|==|==| ##### ## #### ######## |--|
~~~~~~~~~ # ##### ##### ### ##### #### |--| ###### |--|
@ -97,7 +97,7 @@ jotunheim = (r"""
~~~~~~~~~~~~~~ ##### |-| ### |-| |-| |_| ##### ##### ##### |--| #### #### ######
~~~~~~~~~~~~~ ### |-| ### ##### ### |--| ###### ###### ####
~~~~~ ~~~~ |-| ~~~~~ # ### |_| ### ### |_| ######## ########|--|
~~~~ * ~~ ~~~~~~~ ~~~~~~~~~~ ### ##### ##### |_| ### ###### ###### |--|
~~~~ ~~ ~~~~~~~ ~~~~~~~~~~ ### ##### ##### |_| ### ###### ###### |--|
~~~ ~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~ # ##### ##### ##### ### ##### #### ## ####
~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ### ### ### ### ### ##### ##### |--| #### |--|
~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ##### |-| |_| ##### |_| ##### ### |--| ######|--|
@ -119,7 +119,7 @@ jotunheim = (r"""
~~~ (_____) #### ##### ##### ##### ##### |_| ##### |_| ###### ## #### ~~
~~ _ |-----| ## ### ### ### ##### ### ##### ### ### ######## #### |--| ~~
~~~ /-\ _ || ##### |_| |_| ### ### ##### ### ##### |_| ###### ###### |--| ~~
~~~~ |_| __/o\ ~~~~ ##### ### ##### |_| ##### |_| ### ##### ### #### ######## ~~~~~~
~~~~ |^| __/o\ ~~~~ ##### ### ##### |_| ##### |_| ### ##### ### #### ######## ~~~~~~
~~~~~~ / o | ~~~~~~~~~ ### ##### ##### ### ##### ### ##### |--| ###### ~~~~~~
~~~~~~~~ |____| ~~~~~~~~~~~~~~ |_| ##### ### |_| ##### |_| ##### |--| #### ~~~~~~~~~~
~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~ ### |_| ### ~~~~ ### |--| ~~~~~~~~~~~~~
@ -143,7 +143,7 @@ h_31 = (r"""
| /__\ | | /__\ |
| |==| | _ | |==| |
| (_) | |
| |_| | * __ |
| |_| | __ |
| ____ | | | |
| |____| | |__| |
| | _ | | | |
@ -154,7 +154,7 @@ h_31 = (r"""
| | |
| | | |
|============|====|^|====|=============|""",
(19, 14, 5, 29, 11)) # * : (28, 4)
(19, 14, 5, 29, 11))
h_32 = (r"""
@ -164,7 +164,7 @@ h_32 = (r"""
| |
| |============================|
| ____ ____ |=====____==========____=====|
| \__/ \__/ * \__/ \__/ |
| \__/ \__/ \__/ \__/ |
| | | | | | | | | |
| | | | | | | | | |
| |__| |__| |__| |__| |
@ -183,7 +183,7 @@ h_32 = (r"""
| |
|============| |==============|
|============|^|==============| """,
(14, 24, 5, 88, 25)) # * : (28, 6)
(14, 24, 5, 88, 25))
h_33 = (r"""
@ -192,9 +192,9 @@ h_33 = (r"""
| /_____\ | | /_____\ |
| |=====| |===|]O[|==|]O[|===| |=====| |
| |==================| |
| _ _ * |
| _ _ |
| (~) (~) |
| __ __ |_| * |_| __ __ |
| __ __ |_| |_| __ __ |
| | | | | | | | | |
| |__| |__| |__| |__| |
| | | | | | | | | |
@ -212,7 +212,7 @@ h_33 = (r"""
| |
|============================| |===========================|
|=[]=[]=[]=[]=[]=[]=[]=[]=[]=|^|=[]=[]=[]=[]=[]=[]=[]=[]=[]|""",
(30, 24, 5, 89, 45)) # * : (48, 5) * : (24, 7)
(30, 24, 5, 89, 45))
h_34 = (r"""
@ -222,7 +222,7 @@ h_34 = (r"""
| | | |
| |============| |
| |============| |
| ####### * ####### |
| ####### ####### |
| ######### ######### |
| ######### ######### |
| ######### ######### |
@ -246,7 +246,7 @@ h_34 = (r"""
|==|II|================|II| |II|================|II|==|
|II| |II| |II| |II|
|II| |II|/|^=|\|II| |II| """,
(34, 29, 5, 60, 50)) # * : (26, 6)
(34, 29, 5, 60, 50))
h_35 = (r"""
@ -255,7 +255,7 @@ h_35 = (r"""
| |
| _ _ |
| ### (~) (~) ### |
| ##### * |=| |=| ##### |
| ##### |=| |=| ##### |
| ### ### |
| |=| |=| |
| ### _ _ ### |
@ -271,24 +271,49 @@ h_35 = (r"""
|======================\ /======================|
|==|/\|=|/\|=|/\|=|/\|=/^^\=|/\|=|/\|=|/\|=|/\|==|""",
(24, 19, 5, 64, 85),
(25, 19, 5, 65, 85)) # * : (17, 5)
(25, 19, 5, 65, 85))
h_36 = (r"""
|======================================|
| |
| _ _ _ _ |
| (_) *(_) (_) (_) |
| (_) (_) (_) (_) |
| |_| |_| |_| |_| |
| |
| |
|=================| |====== =======|
| | | [I] [I] |
| +---+ +---+ | | /|\ /|\ |
| | | | | | * |
| | | | | | |
| +---+ * +---+ | | [====] [====] |
| | | | | | |
| +---+ +---+ | | [====] [====] |
| | | [====] [====] |
|=================|^^|=================|""",
(19, 14, 5, 23, 88),
(20, 14, 5, 23, 88)) # * : (11, 3) * : (27, 10) * : (9, 12)
(20, 14, 5, 23, 88))
jotunheim_entities = (
["Utarg", '*', 5, 34, 56, 'stand by'],
[0, '*', 5, 25, 10, 'stand by'],
[0, '*', 5, 39, 20, 'stand by'],
[0, '*', 5, 3, 28, 'stand by'],
[0, '*', 5, 34, 45, 'stand by'],
[0, '*', 5, 53, 49, 'stand by'],
[0, '*', 5, 19, 51, 'stand by'],
[0, '*', 5, 64, 64, 'stand by'],
[0, '*', 5, 54, 70, 'stand by'],
[0, '*', 5, 8, 72, 'stand by'],
[0, '*', 5, 40, 75, 'stand by'],
[0, '*', 5, 72, 87, 'stand by'],
[0, '*', 5, 6, 98, 'stand by'],
[0, '*', 31, 28, 4, 'stand by'],
[0, '*', 32, 28, 6, 'stand by'],
[0, '*', 33, 14, 7, 'stand by'],
[0, '*', 33, 48, 5, 'stand by'],
["Thrym", '*', 34, 26, 6, 'stand by'],
["Gullveig", '*', 35, 17, 5, 'stand by'],
["jotunheim_aubergiste", '*', 36, 27, 10, 'stand by'],
[0, '*', 36, 0, 0, 'stand by'],
[0, '*', 36, 0, 0, 'stand by'],
)

View File

@ -5,10 +5,10 @@ midgard = (r"""
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ ~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ ~~ ~~~~~~ ~~~ _ ~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ ~~~ ~~~ ~~~ /-\ ~~~~~~~ ~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ ~~~~~ ~~~ ~~~~ ~~~ |_| ~~~~~~~ ~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ ~~~~~ ~~~ ~~~~ ~~~ |^| ~~~~~~~ ~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~ ~~ ~~~~ ~~ ~~ ~~~~~ ~ ~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ ~~~ ~ ~~~~~ ~~ ~~~ ~~~ ~~~~ ~~~~~ ~ ~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ? ~~~~~~~ ~ ~~ ~~~~~ ~~~ ~~ ~~~~ ~~~ ~ ~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ ~ ~~ ~~~~~ ~~~ ~~ ~~~~ ~~~ ~ ~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ ~ ~~~~~ ~~~~ ~~~ ~~~ ~~ ~ ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ ~ ~ ~~~~~ ~~~~ ~~~~ ~~~ ~~~~ ~~ ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ ~ ~~~~~~ ~~~ ~~~~ ~~~ ~~~ ~ ~~~~~~~~
@ -23,7 +23,7 @@ midgard = (r"""
~~~~~~~~~~~~~~~~~~~~~~~ ~ ~ \ #### ## || ######## ## ## #### ## #### ~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~ /\ #### ##|| ## #### ##|| #### ## #### ## ~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~ / \ ## #### || ## #### #### ##|| #### ##|| ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ / \ || #### ? || #### ## #### ## #### ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ / \ || #### || #### ## #### ## #### ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## ## || #### || #### ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ /\ || || ## ## ## ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ _/ \ /\ ## ||#### || ## ~~~~~~~
@ -44,55 +44,55 @@ midgard = (r"""
~~~~~~~~~~~~~ ~~ ~~~ ~~~ ### , ' / Midgard \ /-\ ~~~~~~~~~
~~~~~~~~~~~~~ ~~~~~~~~~~~~ ~~~~~ /-\ . ' ' / \ ### ~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ , , . ' /_ __ _ ___ _ __ _\ ##### ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ |_/ \_/ ? \_/ \_| ### ~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ __ ### |_| |_| *|_| |_| /-\ ~~~~~
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ |_/ \_/ \_/ \_| ### ~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ __ ### |_| |_| |_| |_| /-\ ~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~ ### /[]\____ ##### ### ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ##### |_ o o \ ### _ ##### ~~~~~~
~~~~~~~~~~~~~~~~~~~~~ ~~~~ ### * |^|_____| /-\ _ /o\___ ### ~~~~~~
~~~~~~~~~~~~~~~~~~~~~ ~~~~ ### |^|_____| /-\ _ /o\___ ### ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~ /-\ /o\ |_ ]O[\ /-\ ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~ |_| |^|___| ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~ |^| |^|___| ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~ ### ' __ , ### _ ~~~~~~~
~~~~~~~~~~~~~~~~~~~ ##### / \ ##### / \ ~~~~~~~
~~~~~~~~~~~~~~~~~ ### ### ' |__| , ### |_| _ ~~~~~~
~~~~~~~~~~~~~~~~~ ### ### ' |^_| , ### |^| _ ~~~~~~
~~~~~~~~ ##### /-\ ### /-\ /o\ ~~~~~~
~~~~~~~~ _ ### ##### . , , * |_| ~~~~~~
~~~~~~~~ _ ### ##### . , , |^| ~~~~~~
~~~~~ /-\ ### /-\ ### . , . __ _ ~~~~~~
~~~~~~~ |_| ##### /-\ ,. ' /[]\ / \ ~~~~~~~
~~~~~~ * ### ' . |__| |_| ~~~~~~~~~~
~~~~~~~~~~~~~~ /-\ . ' . * __ _ ~~~~~~~~~~~
~~~~~~~ |^| ##### /-\ ,. ' /[]\ / \ ~~~~~~~
~~~~~~ ### ' . |^_| |^| ~~~~~~~~~~
~~~~~~~~~~~~~~ /-\ . ' . __ _ ~~~~~~~~~~~
~~~~~~~~~~~~~~~~ /<>\ _ /-\ ~~~~~~~~~~~
~~~~~~~~~~~~~~~~ __ ' ' . |__| /o\ |_| ~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~ /<>\ ' ___ |_| _ ~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~ |__| / _\ .. /o\ ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~ ' . |_|^| . _ _ |_| ~~~~~~~
~~~~~~~~~~~~~~~~ __ ' ' . |_^| /o\ |^| ~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~ /<>\ ' ___ |^| _ ~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~ |^_| / _\ .. /o\ ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~ ' . |_|^| . _ _ |^| ~~~~~~~
~~~~~~~~~~~~~~~~~~~ ' /o\____/o\ ~~~~~~
~~~~~~~~~~~~~~~~~~~~ ' ' __ |==|==| o o |==|==| __ ~~~~~
~~~~~~~~~~~~~~~~~~~~ ' /[]\ | | __ | | /<>\ ~~~~~
~~~~~~~~~~~~~~~ ' |__| | |__|^^|__| | |__| ~~~~
~~~~~~~~~~~~~~~ ' |^_| | |__|^^|__| | |_^| ~~~~
~~~~~~~~~~~~~~~~~ ___ | | ~~~~~
~~~~~~~~~~~~~~~~~~~ . /]O[\ | #### #### * | ~~~~~~~
~~~~~~~~~~~~~~~~~~~ . |___| | #### #### | ~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~ . /]O[\ | #### #### | ~~~~~~~
~~~~~~~~~~~~~~~~~~~ . |__^| | #### #### | ~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~ ' , __ | #### #### | ~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~ / \ | | ~~~~~~~~~~~~~~
~~~~~~~~~~~~~~ . |__| | #### #### | ~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~ . |_^| | #### #### | ~~~~~~~~~~~~~~~
~~~~~~~~~~ | #### #### | ~~~~~~~~~~~~~~
~~~~~~~~~~~ | #### #### | ~~~~~~~~~~~~
~~~~~~~ ### ### | | ~~~~~~~~~~~
~~~~~~~~~ ### ##### ##### ### | ? + + | ~~~~~~~~~~~
~~~~~~~~~ ### ##### ##### ### | + + | ~~~~~~~~~~~
~~~~~~~~~ ##### ### ##### ##### |==|==|==| |==|==|==| ~~~~~~~~~~~
~~~~~~~~~ ##### /|\ ### ### ### ~~~~~~~~~~
~~~~~~~~~ ### ### /|\ ##### /|\ ~~~~~~~~~~
~~~~~~~~ /|\ ##### ### ### ### ### ~~~~~~~~~
~~~~~~~~ ##### ### /|\ ##### ##### ##### ### |--|--|--|~~~~
~~~~~~~~~ ### ### ##### ##### ### ### ##### *|~~~~
~~~~~~~~~ ### ### ##### ##### ### ### ##### |~~~~
~~~~~~~~~~ ##### /|\ ##### ### ### /|\ /|\ ### |~~~~
~~~~~~~~~~~ ##### ### ##### /|\ /|\ |--|--|--|~~~~
~~~~~~~~~~~~~ ### _ /|\ ##### ### ### ~~~~~~~~~~~
~~~~~~~~~~~~~~~ /|\ /-\ ### ### ##### ##### ~~~~~~~~~~~~
~~~~~~~~~~~~~~~~ |_| _ /|\ ##### ##### ##### ### ~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~ |^| _ /|\ ##### ##### ##### ### ~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~ / \ _ ##### ### ### ### ##### ~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~ |_| / \ ### /|\ ##### /|\ ### ~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~ |_| /|\ ### /|\ ~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~ |^| / \ ### /|\ ##### /|\ ### ~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~ |^| /|\ ### /|\ ~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /|\ ~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -111,6 +111,23 @@ midgard = (r"""
(44, 65, 27, 9, 16), # Maison du joueur
(60, 69, 28, 24, 14), # Mesnie fortifiée (1/2)
(61, 69, 28, 25, 14), # Mesnie fortifiée (2/2)
(58, 51, 82, 5, 4),
(51, 54, 83, 4, 9),
(69, 54, 84, 5, 4),
(89, 56, 85, 5, 4),
(71, 59, 86, 4, 9),
(81, 59, 87, 5, 4),
(61, 62, 88, 5, 4),
(69, 63, 89, 5, 4),
(29, 64, 90, 4, 9),
(82, 65, 91, 5, 4),
(36, 69, 92, 4, 9),
(88, 69, 93, 10, 9),
(32, 72, 94, 10, 9),
(42, 75, 95, 10, 9),
(33, 92, 96, 5, 4),
(38, 93, 97, 5, 4),
)
@ -142,9 +159,9 @@ h_26 = (r"""
| |==============[]==|
| | |
| | _ _ _ |
| | |_| |_| |_|* |
| |_|* |_|* |_| |
| |_|* |_| |_|* |
| | |_| |_| |_| |
| |_| |_| |_| |
| |_| |_| |_| |
| | |
| |------------------|
| |
@ -180,7 +197,7 @@ h_28 = (r"""
| [===][===] | | /" "\ | | [===][===] |
| [===][===] | | |____| | | [===][===] |
| |------| |------| |
| * |
| |
| |
| ______ ______ |
| |\/||\/| |\/||\/| |
@ -190,4 +207,200 @@ h_28 = (r"""
|__+ +__|
|\/|^^|\/| """,
(24, 14, 3, 60, 69),
(25, 14, 3, 61, 69)) # * : (27, 6)
(25, 14, 3, 61, 69))
h_82 = (r"""
|==|=====|
| /#\ |
| |
| |
|===|^|==|""",
(5, 4, 3, 58, 51))
h_83 = (r"""
|<><><>|~|<><>|
| |~| |
| /{O}\ |
| |###| |
| +--+ |
| | | |
| | | |
| +--+ |
| |
|<>|^|<><><><>|""",
(4, 9, 3, 51, 54))
h_84 = (r"""
|========|
| [=]|
| /-\|
| |
|===|^|==|""",
(5, 4, 3, 69, 54))
h_85 = (r"""
|<><><><>|
|[===] |
| |
| |
|<o>|^|<>|""",
(5, 4, 3, 89, 56))
h_86 = (r"""
|=-=-=-=-=-=-=|
|[====] _ |
| (_) |
|[====] [I] |
| |
|[====] _ |
| (_) |
|[====] [I] |
| |
|<>|^|<><><><>|""",
(4, 9, 3, 71, 59))
h_87 = (r"""
|==|=====|
| /_\ |
| |
| |
|===|^|==|""",
(5, 4, 3, 81, 59))
h_88 = (r"""
|========|
|+-+ |
|| | |
|+-+ |
|===|^|==|""",
(5, 4, 3, 61, 62))
h_89 = (r"""
|========|
| |
| |
| |
|===|^|==|""",
(5, 4, 3, 69, 63))
h_90 = (r"""
|=======|_|====|
| /###\ |
| |
| +---+ |
| | | |
| | | |
| | | |
| +---+ |
| |
|==|^|========|""",
(4, 9, 3, 29, 64))
h_91 = (r"""
|==|=====|
| /#\ |
| |
| |
|===|^|==|""",
(5, 4, 3, 82, 65))
h_92 = (r"""
|<><><[I]><><>|
| [I] |
| /-\ [====]|
| |
| [====]|
| [I] |
| /-\ [====]|
| |
| [====]|
|<>|^|<><><><>|""",
(4, 9, 3, 36, 69))
h_93 = (r"""
|/\/\/\|/\/\/\|
|\/\/\/|\/\/\/|
| [I] |
| _ /-\ _ |
| |_| |_| |
| |_| |_| |
| |_| |_| |
| |
| |
|========|^|==|""",
(10, 9, 3, 88, 69))
h_94 = (r"""
|<><><><><o><><><><>|
| |
| |
| |
| |
| |
| |
| |
| |
|<><><><>|^|<><><><>|""",
(10, 9, 3, 32, 72))
h_95 = (r"""
|<><><>|<><><>|
| |
| |
| |
| |
| |
| |
| |
| |
|<><><><>|^|<>|""",
(10, 9, 3, 42, 75))
h_96 = (r"""
|========|
| +-+|
| | ||
| +-+|
|===|^|==|""",
(5, 4, 3, 33, 92))
h_97 = (r"""
|=====|==|
| /-\ |
| |
| |
|===|^|==|""",
(5, 4, 3, 38, 93))
midgard_entities = (
[0, '*', 3, 39, 49, 'stand by'],
[0, '*', 3, 8, 59, 'stand by'],
[0, '*', 3, 66, 56, "stand by"],
[0, '*', 3, 67, 46, 'stand by'],
[0, '*', 3, 66, 56, 'stand by'],
[0, '*', 3, 68, 71, 'stand by'],
[0, '*', 3, 94, 85, 'stand by'],
["Rosahil Green", '*', 26, 27, 6, 'stand by'],
[0, '*', 26, 17, 7, 'stand by'],
[0, '*', 26, 22, 7, 'stand by'],
[0, '*', 26, 17, 8, 'stand by'],
[0, '*', 26, 27, 8, 'stand by'],
[0, '*', 28, 27, 6, 'stand by'],
)

View File

@ -7,13 +7,13 @@ muspellheim = (r"""
~~~~~~~ /o\ ##### ~~~~~~~~~~~~~~~~~~~~~ ### /_|_\ ~~~~
~~~~~~~ /_|_\ ### ~~~~~~~~~~~~~ ##### ~~~~~
~~~~~~~~ /_\ ### ### ### _ _ _ ~~~~~
~~~~~~~~~ ##### /_\ ##### ? / \__ /o\ /-\ ~~~~
~~~~~~~~~ _ ### _ ### | <>\ /_|_\ |_| ~~~~
~~~~~~~~~ ##### /_\ ##### / \__ /o\ /-\ ~~~~
~~~~~~~~~ _ ### _ ### | <>\ /_|_\ |^| ~~~~
~~~~~~~~ _ /o\ /_\ / \__ ### ### /_\ |____| ~~~~~
~~~~ /o\ /_|_\ | <>\ ##### ##### _ ~~~~~~
~~~ /_|_\ ### * |____| ### ### ### /o\__ ~~~~~~
~~~ /_|_\ ### |____| ### ### ### /o\__ ~~~~~~
~~~ ### ##### ##### /_\ /_\ ` |_ \ ~~~~~~
~~~##### ### ##### ### `,.` , * |^|__| ~~~~~~
~~~##### ### ##### ### `,.` , |^|__| ~~~~~~
~~~############ ### ### ` /_\ ',` `, ~~~~~~
~~~ ### ##### |=|### ##### , ' ` ' . ' ,, ` ```,'' . ~~~~~~
~~~ |=| ### ##### ### ##### `' ., ` ' ','., ,`.. ,,`,,` ,`'. ` `` ~~~~~~~
@ -24,29 +24,29 @@ muspellheim = (r"""
### ##### |=| ### ,` ` ##### ##### ### ##### ### ##### ##### ##### ### ~~~~~~~~~
|=| ### ### ##### , , ' ### ##### |=| ##### ##### ### ### ##### |=| ~~~~~~~~
|=|##### ### ###### ' `. ` |=| ### ### ##### |=| |=| ### ### ~~~~~
########### ### ,. `.,''. |=| |=| ### ', |=| ##### ###
########### ### ,,,,. `.,''. |=| |=| ### ', |=| ##### ###
### ##### |=| ' `' ### `, |=| .''` ### . ##### #####
|=| ### ### ##### . ### ### ` ##### `'`. ### #####
|=| ##### ### ##### ### ##### ##### ### ,##### ' . |=| ###
### `,., ##### ##### ### ` ##### ### ##### ##### ##### ### ' |=|
### #####` ### ##### |=| ##### ##### ### ### ##### ,|=| ` ,. . `` , #
###### ### ######. .` |=| ### .,` ### ##### |=| |=| ### ` . .,, ' ###
########### ### . |=| ' ### |=| ' ### |=| '. ', ### #####
### ##### |=| ### ### ` ##### |=| ### ` ` ##### ### #####
### #####` ` ,,. ### ##### |=| ##### ##### ### ### ##### ,|=| ` ,. . `` ,
###### ### ######. '.` |=| ### .,` ### ##### |=| |=| ### ` . .,, ' ###
########### ### .. |=| ' ### |=| ' ### |=| '. ', ### #####
### ##### |=| '` ### ### ` ##### |=| ### ` ` ##### ### #####
|=| ### ### `. ##### ##### ### ##### ### ##### '' ##### ##### ###
|=|##### ### ,##### ##### ##### ### ' , ##### ### ##### `' `` ### ##### |=|
##### ##### '### ### ##### |=| ,', ##### ##### ### ,`` ` |=| ### ~~
##### ##### '### ### ##### |=| ,', ##### ##### ### ,`` ``,.' |=| ### ~~
### ##### '|=| |=| ### `.`' ### ##### |=| , ' |=| ~~~~
|=| ### |=| ### . ' . |=| ### .,` ### ~~~~~~
### |=| , ### ##### `` ' |=| , . ### ##### ~~~~~~
##### , ##### ### ##### ,,' ##### ### ##### ~~~~~~~
##### .,` ##### ##### ### `. , ` .,'. ##### ##### ### ~~~~~~~~~
### ` ` . ` ### ##### |=| ` , , ,` , ` ### ##### |=| ~~~~~~~~~
|=| ' |=| ### . ' ' `' `' |=| ### ~~~~~~~~~
### ., |=| , . .' '' ., |=| ### ~~~~~~~~~
##### .` . ### ##### ~~~~~~~~~
|=| ,, '' '` `,.` , ' '` ` ..` ##### ### ~~~~~~~~~
### .'. .'` ' ,`,, ' , `'.. ### ### /_\ ~~~~~~~~~
### |=| , ### ##### `` ' |=| ,''. ### ##### ~~~~~~
##### , ##### ### ##### ,,' `.,'. ##### ### ##### ~~~~~~~
# ########## .,` ##### ##### ### `. , ` .,'. ##### ##### ### ~~~~~~~~~
####### ### ` ` . ` ### ##### |=| ` , , ,` , ` ### ##### |=| ~~~~~~~~~
##### |=| ... . ' ' |=| ### . ' ' `' `' |=| ### ~~~~~~~~~
### ., |=| , . .' '' ., |=| ### ~~~~~~~~~
|=| .` . `' ,'``,, ,,. , ,` ### ##### ~~~~~~~~~
,, '' ',,, '` `,.` , ' '` ` ..` ##### ### ~~~~~~~~~
### .'. .'` `'. ,' ' ,`,, ' , `'.. ### ### /_\ ~~~~~~~~~
##### ### ` .'' ... `' . '` ### `,, /_\ ##### ~~~~~~~~
/\ ### ##### ### .` ` ##### ',' . ### ~~~~~~~~
/ \_ /_\ ### ##### .' ' ### ### ` `, ### /_\ ~~~~~~~~~
@ -79,7 +79,7 @@ muspellheim = (r"""
/ \_ / \_ / \_ ### ##### ` ##### #####~~~~~ ~~~~
\ / \ / \ / \ ,. /_\ ### , ### ### ~~~ ~~~~
\ /\ / \ /\ / \ /\ / \ . /_\ /_\ /_\ ~~~ ~~~~
/ \_ / \_ / \_ .. * ` .' ,' ~~~ ~~~~
/ \_ / \_ / \_ .. ` .' ,' ~~~ ~~~~
/ \ / \ / \ . .'''. ''`. ` `````..', ' ,..,, , . ~~~~ ~~~~
/ \ /\ / \ /\ / \ /\ .,. . _ ,' ..,` ,', _ ` ~~~~ ~~~~
/ \_ / \_ / \_ . (_) (_) ., ~~~~~ ~~~
@ -90,13 +90,13 @@ muspellheim = (r"""
/ \ /\ / \ /\ / \ /\ / \ | | o|[] __ []|o | | `. ~~~~ ~~~~
~~ / \_ / \_ / \_ | |__|__|^^|__|__| | , ~~~~~~~
~~~~ / \ / \ / \ __ | | ~~~~~~~
~~~~~ / \ / \ / \ /o \ | * #### #### | .`' ~~~~~
~~~~~ / \ / \ / \ /o \ | #### #### | .`' ~~~~~
~~~~~~~ __ |__| | #### #### | `. ~~~~
~~~~~~~ __ / \ __ | #### #### | , '` ~~~
~~~~~~~ /()\|__| * /<>\ | | ,,', ~~~
~~~~~~~ /()\|__| /<>\ | | ,,', ~~~
~~~~~~~~ ~~~ |__| |__| |_ _ _ _| ` .'` ~~~
~~~~~~~~~ ~~~~~~~~~~~ ~~~ (_) oo (_) (_) oo (_) . , ~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ',.. |=|==||==|=|?'` |=|==||==|=| ', ~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ',.. |=|==||==|=| '` |=|==||==|=| ', ~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ` ..` . . ` .'' ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ` '` '' . . ` ``.` ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ ', ''', ',. , , , ` ,.' ` ~~
@ -112,7 +112,7 @@ muspellheim = (r"""
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' . ` ~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ ~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ ~~~~~~~~~ ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~ * ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~~~~~~~ ~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -132,21 +132,21 @@ muspellheim = (r"""
h_42 = (r"""
|===================|
| * |
| |
|--[]---------------|
| |
| |
| * |=============|
| |=============|
| |
| |
| * |
| +------+ +------+ +------+ |
| | | | | | |* |
| | | | | | | |
| *+------+ +------+ +------+ |
| | | | | | | |
| +------+ +------+ +------+ |
| |
| |
|==============|^|================|""",
(16, 14, 7, 87, 14)) # * : (11, 5) * : (6, 7) * : (31, 9) * : (2, 11)
(16, 14, 7, 87, 14))
h_43 = (r"""
@ -154,24 +154,24 @@ h_43 = (r"""
|====|--|============|--|=========|
| /____\ /____\ |
| |====| |====| |
| * |
| * |
| |
| |
| +----+ +----+ +----+ |
| | | | | | | |
| +----+ +----+ +----+ |
| * |
| |
|=============================| |
|=============================| |
| |
| |
|[^]|""",
(32, 14, 7, 47, 53)) # * : (24, 4) * : (6, 5) * : (13, 9)
(32, 14, 7, 47, 53))
h_44 = (r"""
|==|==|==|==|==|==|==|==|==|==|==|
| |
| * ### ### |
| ### ### |
| ##### ##### |
| ### ### |
| ### |_| |_| ### |
@ -189,10 +189,29 @@ h_44 = (r"""
| |___| |___| |___| |___| |
| |
| [I] [I] |
| * /|\ /|\ |
| /|\ /|\ |
| [========] [========] |
| [========] [========] |
|=|/\|==|/\|=|/\|=|/\|=| |=|/\|=|/\|=|/\|==|/\|=|
|=|\/|==|\/|=|\/|=|\/|=|^^|=|\/|=|\/|=|\/|==|\/|=|""",
(24, 24, 7, 67, 89),
(25, 24, 7, 68, 89)) # * : (13, 2) * : (13, 20)
(25, 24, 7, 68, 89))
muspellheim_entities = (
[0, '*', 7, 20, 12, 'stand by'],
[0, '*', 7, 78, 14, 'stand by'],
[0, '*', 7, 54, 80, 'stand by'],
[0, '*', 7, 59, 91, 'stand by'],
[0, '*', 7, 39, 94, 'stand by'],
[0, '*', 7, 29, 113, 'stand by'],
["muspellheim_aubergiste", '*', 42, 6, 7, 'stand by'],
[0, '*', 42, 14, 1, 'stand by'],
[0, '*', 42, 11, 5, 'stand by'],
[0, '*', 42, 2, 11, 'stand by'],
[0, '*', 42, 31, 9, 'stand by'],
["Bertfrid", '*', 43, 24, 4, 'stand by'],
[0, '*', 43, 13, 9, 'stand by'],
[0, '*', 43, 6, 5, 'stand by'],
[0, '*', 44, 13, 20, 'stand by'],
[0, '*', 44, 13, 2, 'stand by'],
)

View File

@ -6,8 +6,8 @@ nidavellir = (r"""
~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~
~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~
~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~ _ ~~
~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ? ~~~~~~~~~~~~ /-\ ~
~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ |_| ~
~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ /-\ ~
~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ |^| ~
/\ ~~~~~~~ /\ ~~~~~~~~~~~~~~~ `.
\ /\ ~~~~~~ / \ /\ ~~~~~~~~ /\ ,. . ,, /\ /\
\ / \ ~~~~~ / \ / \ /\ / \ /\ '` ,` / \ / \
@ -15,37 +15,37 @@ nidavellir = (r"""
/ ~~~~~ / / / \ /\ / / \ / \ / \ /
/ ~~~~~ /\ / / \ / \ /\ / / / \ /\ / \ /\ /
~~~~ / \ /\ / \ / \ / \ /\ / / \ / \ / \
/\ ~~~~ / \ / _\ / / \ / \ / \ / \ / \
/\ ~~~~ / \ / \ / / \ / \ / \ / \ / \
/ \ /\ ~~~~ / / /^\\ /_ / / \ / \ / \
\ / \ ~~~ / / \ /-\ / / \ / \ / \
/ ~~~~~ / \ |_| / \ /\ /\
/ ~~~~~ / \ |^| / \ /\ /\
/ ~~~~~~ /\ / \ /\ / \ /\
/ ~~~~~~ / \ /\ * / \ / \ /\ / \ / \ /\
/ ~~~~~~ / \ /\ / \ / \ /\ / \ / \ /\
/\ ~~~ / \ / \ /\ /\ / / \ / \ / / \ / \
/ \ /\ ~~~ / / \ / \ /_ \ /\ / / / \/ / / \
/ \ /\ ~~~ / / \ / \ / \ /\ / / / \/ / / \
\ / \ /\ ~~~~ / / \ //^\ \ / \ /\ / /\ / \ / / \
/ \ / \ ~~~~~ / / \ / / \ / \ / _\ /\ \ / \
/ \ / \ ~~~~~ / / \ / / \ / \ / \ /\ \ / \
/ / \ ~~~~~~ / / / / \ / /^\\ / \ /\
/ / \ ~~~~~~~~~~ ## / / \ / / \ / \
/\ / ## \ ~~~~~~~~~ #### / \ / / / \ /\
/ \ /\ #### ## ~~~~~~~ ## / ## / \ \ /\
\ /_ \ ## #### ~~~~~~~ || /\ #### / ## \ \ / \ /\
//^\ \ || ## * ~~~~~~~ / \ /\ ## #### / \ / \
\ / \ ## #### ~~~~~~~ || /\ #### / ## \ \ / \ /\
//^\ \ || ## ~~~~~~~ / \ /\ ## #### / \ / \
/ \ || ~~~~~~ /^\ \ / \ /\ || ## / /
/ \ /\ ~~~~ / / \ / \ || / /
\ /\ /_ \ /\ ~~~~~~ / / / \ ## /\ /
\ /\ / \ /\ ~~~~~~ / / / \ ## /\ /
\ / \ /\ //^\ \ / \ /\ ~~~~ / / \ #### / \ /\
/ \ / \ / / \ / \ ~~~~ / \ ## / \ / \ /\
/ / \ / / / _ \ ------ || / / \ / \
/ / \ / / / \ ------ || / / \ / \
/ / \ / / /^\ \ /\ ## / / /
/ \ / \ -------- / \ /\ #### / /
\ /\ /\ ~~~~ / \ / \ /\ ## /\ /
\ / \ /\ / _\ /\ ~~~ / / \ / \ || / \ /\
\ / \ /\ / \ /\ ~~~ / / \ / \ || / \ /\
/ \ / \ / /^\\ / \ /\ ~~~ / / / /^\ / \ / \ /\
/ / \ / / \ / \ ~~~~~ / / \ / / \ / \
/ / \ / / / \ ~~~~~~ /\ / \ / / /
/ \ / / \ ~~~~~ / \ /\ ## / /
\ /\ / \ ~~~~ / \ / \ /\ * #### /\ /
\ /\ / \ ~~~~ / \ / \ /\ #### /\ /
\ / \ /\ ~~~ / / \ / \ ## ## / \ /\
/ \ / \ /\ ~~~ / / / \ #### || / \ / \ /\
/ /^\ \ //^\ /\ ~~~~ / / \ ## . / / \ / \
@ -54,13 +54,13 @@ nidavellir = (r"""
\ /\ ~~ / / \ /\ ~~~~~~~~~~~~ . /\ /
\ / \ /\ ~~~~~ / / \ / \ /\ ~~~~~~~~~~~~~~~~ .'` / \ /\
/ \ / \ ~~~~) / \/ \ / \ /\ ~~~~~~~~~~~~~~ `.` / \ / \
/ /_ \ * (~~~~~ / / \ / \ ~~~~~~ ` / / \ /
/ /_ \ (~~~~~ / / \ / \ ~~~~~~ ` / / \ /
/ //-\ \ ~~~/ / / \ /\ ~~~~ . / / /
/ |_| \ ~~~~~~~/ / \ / \ /\ ~~~~ ' / /
\ /\ /\ ~~~~ / / \ / \? /\ ~~~~ , /
/ |^| \ ~~~~~~~/ / \ / \ /\ ~~~~ ' / /
\ /\ /\ ~~~~ / / \ / \ /\ ~~~~ , /
\ / \ /\ / \ /\ ~~~~~~~ / / \ / \ ~~~~~ . /\
/ \ / \ / \ / \ /\ ~~~~~~ / / \ ~~~~ / \
/ / \ / / \ / _\ , ~~~~ / / ~~ \ * ~~~~ .' / \ /
/ / \ / / \ / \ , ~~~~ / / ~~ \ ~~~~ .' / \ /
/ / \ / / / /^\\ ` ~~~~~~ / ~~ \ ~~~~ / /
/ \ / / \ .,` (~~~~~~~~~~~~~~~~ ~~~~ ~~~~ .`, / /
\ /\ / \ . ~~~~~~~~~~~~~~~ . /
@ -101,32 +101,32 @@ nidavellir = (r"""
h_37 = (r"""
|============|===|===========|
| * | | * |
| | | |
| +---+ |
| | | |
| | | | | |
| +---+ * | |===========|
| +---+ | |===========|
| | | |
|============| | +---+ |
| | | | | * |
| | | | | |
| __ | | | | |
| *| | +---+ |
| | | +---+ |
| | | |
| |__| | | |
| | | |
|=============|^|============|""",
(15, 14, 6, 69, 26)) # * : (2, 1) * : (26, 1) * : (10, 5) * : (27, 8) * : (3, 10)
(15, 14, 6, 69, 26))
h_38 = (r"""
|=========|
| [=====] |
| |
| *+---+ |
| +---+ |
| | | |
|=========| +---+ |========|
| [====] [====] |
| _ * |
| _ |
| (_) |
| |_| |
|=========| |========|
@ -134,15 +134,15 @@ h_38 = (r"""
| |
| |
|===|^|===| """,
(15, 14, 6, 7, 31)) # * : (12, 3) * : (19, 7)
(15, 14, 6, 7, 31))
h_39 = (r"""
|===================|---|====|
| /_____\ |
| +---+* |=====| |
| +---+ |=====| |
| | | |
| | | |
| | |* |
| +---+ +------+ |
| | | |
| +------+ |
@ -153,7 +153,7 @@ h_39 = (r"""
| |_| |_| |
| |
|=|/\|=|/\|==|^|===|/\|=|/\|=|""",
(14, 14, 6, 35, 38)) # * : (9, 2) * : (9, 4)
(14, 14, 6, 35, 38))
h_40 = (r"""
@ -162,7 +162,7 @@ h_40 = (r"""
| /___\ |
| |===| +------+ |
| | | |
| * | | |
| | | |
| | | |
| +------+ |
| |
@ -172,19 +172,19 @@ h_40 = (r"""
| |
|=========| |==============|
|==========|^|===============|""",
(12, 14, 6, 22, 22)) # * : (14, 5)
(12, 14, 6, 22, 42))
h_41 = (r"""
|==|==|==||==|==|==|
| |
| ### * ### |
| ### ### |
| ##### #####|
| ### ### |
| /|\ /|\ |
|==| |============|
| _ [I] [I] |
| (_) /*\ /|\ |
| (_) / \ /|\ |
| |_| |
| __ |
| _ | | |
@ -196,4 +196,24 @@ h_41 = (r"""
| |_| /|\ |
| |
|========|^|=======|""",
(10, 19, 6, 23, 51)) # * : (12, 2) * : (10, 8)
(10, 19, 6, 23, 51))
nidavellir_entities = (
[0, '*', 6, 49, 21, 'stand by'],
[0, '*', 6, 25, 31, 'stand by'],
[0, '*', 6, 74, 46, 'stand by'],
[0, '*', 6, 16, 55, 'stand by'],
[0, '*', 6, 77, 61, 'stand by'],
["Muin", '*', 37, 2, 1, 'stand by'],
[0, '*', 37, 26, 1, 'stand by'],
[0, '*', 37, 10, 5, 'stand by'],
[0, '*', 37, 4, 10, 'stand by'],
[0, '*', 37, 27, 8, 'stand by'],
[0, '*', 38, 12, 3, 'stand by'],
[0, '*', 38, 19, 7, 'stand by'],
[0, '*', 39, 9, 2, 'stand by'],
[0, '*', 39, 9, 4, "stand by"],
[0, '*', 40, 14, 5, 'stand by'],
[0, '*', 41, 10, 8, 'stand by'],
[0, '*', 41, 12, 2, 'stand by'],
)

View File

@ -13,25 +13,25 @@ _\ ### ##### ### ##### /_\ ### ##### ##### /_\ ##### /_
#### ### ##### ### |+| |_| ##### /_\##### /_\ |+| #########
#### /_\ ##### /_\ |_| ##### ##### _ |_| ### ####
### ### ### ### |+| ___ ### /_\ ###
/_\ /_\ _ /_\ /_\ |_| /[O]\ ##### /_\
### ### |+| |___| ##### ###
/_\ /_\ _ /_\ /_\ |_| / _\ ##### /_\
### ### |+| |_|^| ##### ###
##### ##### ' ' |_| ___ _ ### #####
##### ##### __ / \ ` ' _ |+| /_\ #####
### ### _ .' ,` /()\ |___| /-\ |_| ### ###
/_\ /_\ |+| .` | |____ |_| _ ##### /_\
##### ##### __ / _\ ` ' _ |+| /_\ #####
### ### _ .' ,` /()\ |_|^| /-\ |_| ### ###
/_\ /_\ |+| .` | |____ |^| _ ##### /_\
### ### |_| '' |_ () \ _ `' ` |+| #####
#### ##### ,, |^|_____| |+| ___ , |_| ###
#### ##### , `` |_| /o o\ , ,., /_\ ###
### ### ,` ` |___| ,, #####
#### ##### , `` |_| /_ \ , ,., /_\ ###
### ### ,` ` |^|_| ,, #####
/_\ /_\ _ ' .` _ , _ #####
### |+| _ , |+| .., |+| ###
##### |_| _ |+| , |_| __ __ . |_| /_\
##### |+| |_| . `, /<>\ ____ /<>\ ` ###
### |_| , , ' | |____/O O\____| | ' _ ##### ###
/_\ '' ' |[]| [] | | [] |[]| , |+| ##### ####
### _ `` '' | | | __ | | | ,'. *|_| ### ### ####
##### ### / \ ` . * |__|____|/^^\|____|__| ,`` #####/_\ ###
# ########## _ |_| ' ',, ` ?, ##### /_\
### ___ `` '' | | | __ | | | ,'. |_| ### ### ####
##### ### /_ \ ` . |__|____|/^^\|____|__| ,`` #####/_\ ###
# ########## _ |^|_| ' ',, ` , ##### /_\
## ### ##### |+| '` ` `' , ###
## /_\ ### |_| `` _ ` _ .. _ ` /_\ ###
# /_\ |+| . (o) ',',, (o) ``` _ ### #####
@ -40,33 +40,33 @@ _\ ### ##### ### ##### /_\ ### ##### ##### /_\ ##### /_
##### ##### |+| ` ,` , '' . ` ` ` . ### /_\
##### ### |_| _ _ ' .' _ ,'., ,, /_\ #
### /_\ . |+| ___ (o) . (o) .`. ___ ### ##
/_\ ### ` |_| /___\ /-\ '', /-\ ', , / \ ##### ##
##### ### , |___| , |___| ##### #
/_\ ### ` |_| / _\ /-\ '', /-\ ', , /_ \ ##### ##
##### ### , |_|^| , |^|_| ##### #
##### ##### , ___ _ . _ `,.,`. ### /
### #### ##### .`.` , , /---\ (o) ' (o) ' . /_\ ###
##### /_\ ### ', , |___| /-\ ,.` /-\ .. ___ _ #####
##### /_\ _ `, ','. , `. /<o>\ ` |+| #####
### ### |+| '' _ ___ . . ` |___| ` |_| ###
/_\ ##### |_| ' |+| / \ , , _ ... ### /_\
### ##### _ ', |_| |___| ', /-\ ', ,''`' #####
##### ### ___ |+| , |_| ` #####
##### /_\ _ / \ |_| '.` '` _ , ###
### /-\ |___| ,. ` ' ``', , |+| , ### /_\###
## /_\ ### |_| _ . _ ` _ |_| . ##### #####
### #### ##### .`.` , , / _\ (o) ' (o) ' . /_\ ###
##### /_\ ### ', , |_|^| /-\ ,.` /-\ .. ___ _ #####
##### /_\ _ `, ','. , `. / _\ ` |+| #####
### ### |+| '' _ ___ . . ` |_|^| ` |_| ###
/_\ ##### |_| ' |+| /_ \ , , ___ ... ### /_\
### ##### _ ', |_| |^|_| ', /_ \ ', ,''`' #####
##### ### ___ |+| , |^|_| ` #####
##### /_\ ___ /[] \ |_| '.` '` _ , ###
### /_ \ |___| ,. ` ' ``', , |+| , ### /_\###
## /_\ ### |^|_| _ . _ ` _ |_| . ##### #####
### ##### , ___ |+| _ |+| . |+| ##### #####
### ##### ., / \ |_| ' |+| |_| . |_| , ### ###
## ### ., |___| _ ' |_| .`,` . /_\ /_\
### ##### ., / _\ |_| ' |+| |_| . |_| , ### ###
## ### ., |_|^| _ ' |_| .`,` . /_\ /_\
_\ /_\ ### ', |+| ___ ' '. ``,..' '.`.``` ,`..`'' ,, ###
### ##### , |_| / \ `.`` ' ,..' ``'` .' ` , . ##### ###
##### ##### . , |___| ' _ _ ##########
##### ### '`` * ,` |+| |+| ### ### #####
### ##### , |_| / _\ `.`` ' ,..' ``'` .' ` , . ##### ###
##### ##### . , |_|^| ' _ _ ##########
##### ### '`` ,` |+| |+| ### ### #####
### ### /_\ , ,' `` _ |_| |_| ### ##### /_\ ###
/_\##### '. '``, ,.. ``, |+| ##### ##### ### /_\
##### ### ### |_| ### ##### ### ##### ###
### ##### ##### ##### ### /_\ ##### #####
/_\ ##### ### ##### ### ### ##### /_\ ### #####
### ### ##### ### ### ### ### ##### ##### ### ### /_\ ### ###
##### /_\ ##### /_\ ##### ##### ##### ##### ##### ##### /_\ ### ### * #####/_\
##### /_\ ##### /_\ ##### ##### ##### ##### ##### ##### /_\ ### ### #####/_\
##### ### ### ### ##### ##### ##### ### ### ### ##### ##### ##### #####
### ##### /_\ ##### ### ### ### ### /_\ ### /_\ ##### ### ### ##### ### ##### ### ###
/_\ ##### ### ##### /_\ ### /_\ ### /_\##### ##### ### ##### ### /_\ ##### ### ##### ### #####/_\
@ -81,6 +81,20 @@ _\ /_\ ### ', |+| ___ ' '. ``,..' '.`.`
(38, 21, 29, 15, 14), # Librairie
(70, 31, 30, 24, 19),
(71, 31, 30, 25, 19),
(73, 15, 98, 11, 9),
(66, 18, 99, 11, 9),
(68, 23, 100, 3, 9),
(31, 32, 101, 3, 9),
(37, 42, 102, 11, 9),
(96, 42, 103, 3, 9),
(54, 45, 104, 11, 9),
(93, 47, 105, 11, 9),
(52, 49, 106, 3, 9),
(82, 50, 107, 3, 9),
(18, 53, 108, 11, 9),
(25, 56, 109, 11, 9),
(43, 59, 110, 11, 9),
)
@ -90,7 +104,7 @@ h_29 = (r"""
| [=-=][===-/ \==--][--=] |
| [==-][=-=/ \-==][==-] |
| |
| * |
| |
| [I] [I] [I] [I] |
| /|\ /|\ /|\ /|\ |
| |
@ -100,7 +114,7 @@ h_29 = (r"""
| [===] [=-=] [==] [-==] |
| |
|=============|^|============|""",
(15, 14, 4, 38, 21)) # * : (5, 5)
(15, 14, 4, 38, 21))
h_30 = (r"""
@ -108,9 +122,9 @@ h_30 = (r"""
| /______\ | | /______\ |
| | | |========| | | |
| |======| |======| |
| _ _ * |
| _ _ |
| (_) (_) |
| __ __ * |_| |_| __ __ |
| __ __ |_| |_| __ __ |
| | | | | | | | | |
| |__| |__| |__| |__| |
| | | | | _ _ | | | | |
@ -125,4 +139,195 @@ h_30 = (r"""
| |========| |========| |
|=============| |^^| |=============|""",
(24, 19, 4, 70, 31),
(25, 19, 4, 71, 31)) # * : (37, 4) * : (17, 6)
(25, 19, 4, 71, 31))
h_98 = (r"""
|=============|
| |
| |
| |
| |
| |
| |
| |
| |
|=========|^|=|""",
(11, 9, 4, 73, 15))
h_99 = (r"""
|=============|
| |
| |
| |
| |
| |
| |
| |
| |
|=========|^|=|""",
(11, 9, 4, 66, 18))
h_100 = (r"""
|=============|
| |
| |
| |
| |
| |
| |
| |
| |
|=|^|=========|""",
(3, 9, 4, 68, 23))
h_101 = (r"""
|=============|
| |
| |
| |
| |
| |
| |
| |
| |
|=|^|=========|""",
(3, 9, 4, 31, 32))
h_102 = (r"""
|=============|
| |
| |
| |
| |
| |
| |
| |
| |
|=========|^|=|""",
(11, 9, 4, 37, 42))
h_103 = (r"""
|=============|
| |
| |
| |
| |
| |
| |
| |
| |
|=|^|=========|""",
(3, 9, 4, 96, 42))
h_104 = (r"""
|=============|
| |
| |
| |
| |
| |
| |
| |
| |
|=========|^|=|""",
(11, 9, 4, 54, 45))
h_105 = (r"""
|=============|
| |
| |
| |
| |
| |
| |
| |
| |
|=========|^|=|""",
(11, 9, 4, 93, 47))
h_106 = (r"""
|=============|
| |
| |
| |
| |
| |
| |
| |
| |
|=|^|=========|""",
(3, 9, 4, 52, 49))
h_107 = (r"""
|=============|
| |
| |
| |
| |
| |
| |
| |
| |
|=|^|=========|""",
(3, 9, 4, 82, 50))
h_108 = (r"""
|=============|
| |
| |
| |
| |
| |
| |
| |
| |
|=========|^|=|""",
(11, 9, 4, 18, 53))
h_109 = (r"""
|=============|
| |
| |
| |
| |
| |
| |
| |
| |
|=========|^|=|""",
(11, 9, 4, 25, 56))
h_110 = (r"""
|=============|
| |
| |
| |
| |
| |
| |
| |
| |
|=========|^|=|""",
(11, 9, 4, 43, 59))
niflheim_entities = (
[0, '*', 4, 95, 30, 'stand by'],
[0, '*', 4, 57, 31, 'stand by'],
[0, '*', 4, 39, 60, 'stand by'],
[0, '*', 4, 108, 67, 'stand by'],
["Merath", '*', 29, 5, 5, 'stand by'],
["Hel", '*', 30, 37, 4, 'stand by'],
[0, '*', 30, 17, 6, 'stand by'],
)

File diff suppressed because it is too large Load Diff

View File

@ -23,20 +23,20 @@ svartalfheim = (r"""
~~ /<>\ || #### || #### #### /\_ /\ / \ /\ ~~~ #### #### ## ######## ~~~ /<>\ ~~~~~~~~~
~~ |__| #### ## ## / \ / \ \ / \ ~~~~ ## ## #### ## ## #### ~~~ |__| ~~~~~~~~~~~
~~~ |__| ## || ## || / \ /\/ \ /\ / \ /\ ~~~~~ || || #### #### || ## ~~ |__| ~~~~~~~~~~~
~~~~ |^_| * || ## #### / \ / \ / \ ~~~~~~~ ## #### || ~~~ |__| ~~~~~~~~~~~~
~~~~ |^_| || ## #### / \ / \ / \ ~~~~~~~ ## #### || ~~~ |__| ~~~~~~~~~~~~
~~~~~ #### #### /\ / \ /\/ \ / \ ~~~~~~~ || ## ~~~~~~ ~~~~~~~~~~~~~
~~~~~~~ ### #### ## / \ / \ ~ ~~~~~~ || ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
~~~~~~~~ ##### ## || / \ /\ / \ /\ ~~~ ~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~ ### || ### / \ / \ ~~~~ ~~~~~~~~ ~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~ /-\ ##### /\_ / \ /\ / \ /\ ~~~~~ __ |==|~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~ ### / \ / \ / \ ### ### /<>\___ | *|~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~ ### / \ / \ / \ ### ### /<>\___ | |~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~ ### /-\ / \ / \ /\ / \ /\_ ##### ##### | <o>\ | | ~~~~~~~~~~~~~~~~~~
~~~~~~~~~~ ##### ### /\ / \ / \ ### ### |_ | ~~~~~~~~~~~~~~~~~~
~~~~~~~~~~ ### ##### ### / \ / \ /\ / \ ### /|\ /|\ |^|____| ~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~ /-\ ### ##### / \ /\ / \ ##### ### ~~~~~ ~~~~~~~~~
~~~~~~~~~~~~ ### /-\ ### / \ ~ / \ /\_ ### ### ##### ~~ ~~~~~~~~
~~~~~~~~~~~~ ### ##### /-\ /\_ / \ ~~~ / \ /|\ ##### ### ~~~~~~~
~~~~~~~~~~~~ ##### ### ### / \ ~~~ / \ ### /|\ ### ? ~~~~~~
~~~~~~~~~~~~ ##### ### ### / \ ~~~ / \ ### /|\ ### ~~~~~~
~~~~~~~~~~~ ### /-\ ##### / \ /\_ ~~~ ### /|\ ##### ### __ ~~~~~
~~~~~~~~~~ /-\ ### / \ ~~~ ##### ### ##### /<>\ ~~~~~
~~~~~~~~~ ### /-\ /\_ / \ ~~ ### /|\ ### |__| ~~~~~~
@ -45,29 +45,29 @@ svartalfheim = (r"""
~~~ |__| ### /-\ #####/ \ / \ /\ ~~~~~~~~~~~~~~~ ~~~~~~~~~~~
~~~ |__| ##### ### /\ / \ / \ ### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~ |__| ### /-\ /\ / \ /\ /\ ##### ### ~~~~~~~~~~~~~~~~~~~~~
~~~~~~ /-\ _ __ / \ / \ /\ / \ ####### ##### * ~~~~~~~~~~~~~
~~~~~~ /-\ _ __ / \ / \ /\ / \ ####### ##### ~~~~~~~~~~~~~
~~~~~~~~~ / \ / \ /\ /\ / \ #|-|# ### ### ### __ ~~~~~~~~~~~~
~~~~~~~~~ ## |_| |__| / \ /\ / \ ### ### |_| ##### /-\ ### ##### /<>\ ~~~~|==|~~~
~~~~~~~~~~ #### ## / \ ## ##### ##### ####### ### ##### ### |__| ~~~~| *|~~~
~~~~~~~~~~~ * _ #### #### ####### ####### #|-|# ##### ### ### /-\ |__| ~~~~ | |~~~
~~~~~~~~~~ #### ## / \ ## ##### ##### ####### ### ##### ### |__| ~~~~| |~~~
~~~~~~~~~~~ _ #### #### ####### ####### #|-|# ##### ### ### /-\ |__| ~~~~ | |~~~
~~~~~~~~~~~ ## __ / \ _ __ ## #|-|# #|-|# |_| ### ##### /-\ |__| ~~~~~~ ~~~
~~~~~~~~~~ #### / \ |_| / \ / \ #### |_| |_| ### /-\ ### ~~~~~~~ ~~~
~~~~~~~ ## |__| ## |_| |__| ##### /-\ ### ~~~~~~~~~~~ ~~~
~~~~~~ #### * #### ####### ##### ~~~~~~~~~~~~ ~~~
~~~~~~ #### #### ####### ##### ~~~~~~~~~~~~ ~~~
~~~~ _ __ ## ___________________ #|-|# ### ~~~~~~~~~~~~ ~~~
~~~ ## __ / \ / \ #### /_|]O[|_|]O[|_|]O[|_\ |_| ### ### /-\ ~~~~~~~~~~ ### ~~~
~~~ __ #### / \ |_| |__| /_____________________\ ##### ##### __ ~~~~~~~~~ ##### ~~~~
~~ /<>\ |__| __ |_/___\_/___\_/___\_| ####### ### /<>\ ~~~~~~~~~~ ### ~~~~~
~~~ |__| / \ |_| |_|/^\|_| |_| #|-|# /-\ |__| ~~~~~~~~~~ /-\ ~~~~~
~~~ |__| __ |__| |_| ### |__| ~~~~~~~ ### ~~~~~
~~~~~ |__| ## ## * / \ _ ##### ### |__| ~~~~~~ ##### ~~~~~
~~~~~ |__| ## ## / \ _ ##### ### |__| ~~~~~~ ##### ~~~~~
~~~~~~~ #### #### |__| ## ### / \ ### ### ##### ~~~~~~~ ### ### ~~~~~
~~~~~~~~~~~~~ #### ##### |_| ##### /-\ ### ~~~~~~~~~~ /-\ ##### ~~~~
~~~~~~~~~~~~~~~ ## ####### ####### /-\ ~~~~~~~~~~ _ ### ~~~
~~~~~~~~~~~~~~~~~ #### __ #|-|# ### __ #|-|# ### ~~~~~~~~~~ /-\ /-\ ~~
~~~~~~~~~~~~~~~~~ /<>\ |_| ##### /<>\ |_| ##### ~~~~~~~~~~~ |_| ~~
~~~~~~~~~~~~~~~~~ /<>\ |_| ##### /<>\ |_| ##### ~~~~~~~~~~~ |^| ~~
~~~~~~~~~~~~~~~~~~ |__| ####### ### |__| ####### ~~~~~~~~~~~~ ### ~~
~~~~~~~~~~~~~~~~~~~~~~ |__| ~~~~ #|-|# ##### |__| #|-|# ~~~~~~~~~~~~ ##### * ~~
~~~~~~~~~~~~~~~~~~~~~~ |__| ~~~~ #|-|# ##### |__| #|-|# ~~~~~~~~~~~~ ##### ~~
~~~~~~~~~~~~~~~~~~~~~~~~ |__| ~~~~~~ |_| ####### |__| ~~~ |_| ~~~~~~~~~~~ ### ### ~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ #|-|# ~~~~~~~~~ ~~~~~~~~~~~~~ ##### /-\ ~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ |_| ~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ ### ~~
@ -90,7 +90,7 @@ h_45 = (r"""
|=================| |==================|
| | | |
| |===========| |
| __ * __ |
| __ __ |
| | | | | |
| |__| [O] [O] |__| |
| | | |_| |_| | | |
@ -112,9 +112,9 @@ h_45 = (r"""
h_46 = (r"""
|===||=============|
| /__\ |
| |==| *+--+ |
| |==| +--+ |
| | | |
| | | |
| *| | |
| | | |
| +--+ |
| |
@ -128,11 +128,11 @@ h_47 = (r"""
| [-=-==] |
| [===--] |
| |
| * |==================|
| |==================|
| |
| __ __ |
| | | | | |
| *|__| |__| |
| |__| |__| |
| | | | | |
| |__| |__| |
| | | | | |
@ -148,8 +148,8 @@ h_48 = (r"""
| |
| ~~~~ |
| __ ~~(~~)~~ __ |
| | | ~(______)~ | |* |
| |__| (__________) *|__| |
| | | ~(______)~ | | |
| |__| (__________) |__| |
| | | | | |
| |__| |__| |
| |
@ -159,3 +159,19 @@ h_48 = (r"""
|==| |======| |=| |=| |======| |==|
| | | | |^=| | | | | """,
(19, 14, 8, 57, 59))
svartalfheim_entities = (
[0, '*', 8, 104, 30, 'stand by'], [0, '*', 8, 120, 49, 'stand by'],
[0, '*', 8, 105, 46, 'stand by'],
[0, '*', 8, 22, 50, 'stand by'],
[0, '*', 8, 15, 54, 'stand by'],
[0, '*', 8, 25, 61, 'stand by'],
[0, '*', 8, 121, 68, 'stand by'],
[0, '*', 45, 15, 4, 'stand by'],
[0, '*', 46, 13, 2, 'stand by'],
[0, '*', 46, 13, 4, 'stand by'],
[0, '*', 47, 3, 4, 'stand by'],
[0, '*', 47, 15, 8, 'stand by'],
[0, '*', 48, 34, 5, 'stand by'],
[0, '*', 48, 29, 8, 'stand by'],
)

View File

@ -11,25 +11,25 @@ vanaheim = (r"""
/\ / \ / \ / \_ / / \
/ \ / \ /\ / \ __ |_ o\ /\ / \
/ \ / \ _ /<>\ |^|_| / \
/ \ /\ / \ /o\ * |__| / \ /\
/ \ / \ |_| _ / \ / \
/ \ /\ / \ /o\ |_^| / \ /\
/ \ / \ |^| _ / \ / \
/\ / \ /\ ### . ###### ###### /o\ /\ /
\ / / \ ##### ### ###### ###### |_| / \ /
\ / / \ ##### ### ###### ###### |^| / \ /
\ /\ / \ ### '. ##### ##### ##### / \ /\
\ / \ / \ /|\ ` ### #### #### ### / \ / \
/ \ __ /|\ ##### /\ / \
/\ / \ /\ / \ .`' #### #### ### / \ /
/ \ / \ |__| #####? ##### /|\ / \
/ \ / \ |__| ##### ##### /|\ / \
\ / \ ,' . `` ###### ###### / \ /\
\ /\ / \ /\ '`'., ###### ###### * ### / \
\ /\ / \ /\ '`'., ###### ###### ### / \
/ \ / \ ### ``' ##### / \ /
/\ / \ / \ ##### _ __ ### /\ / \ /
\ / \ /\ / ### / \ ' /<>\ ` /|\ / \ /
\ / \ /|\ |_| . |__| .' / \ /\ /
\ / \ /|\ |^| . |^_| .' / \ /\ /
\ /\ / \ ` ``' ### , _ / \ / \
/ \ / \ /\ _ ##### ', /o\ / \
/ \ / \ . / \ ### , |_| /\ \ /
/ \ /\ / \ |_| /|\ , * ` / \ /
/ \ / \ /\ _ ##### ', /-\ / \
/ \ / \ . / \ ### , |^| /\ \ /
/ \ /\ / \ |^| /|\ , ` / \ /
/ \ / \ ,. _ ',` '' / \ /\
/ \ ### _/ \ ### _____ ' / \ / \
/ \ /\ ##### /o | ##### /_____\ `' /\ / \
@ -38,13 +38,13 @@ vanaheim = (r"""
/ \ /\ / \ __ `,'.``` .', .``' ` / \ /\
/ \ / \ /<>\ ### ,,.' / \
/ \ |__| ##### ### / \
/\ / \ /\ ' ### * ##### /\ \
/\ / \ /\ ' ### ##### /\ \
/ \ / \ ` /|\ _ ### _ / \
/ \ / \ /\ .. /o\ ./|\ /o\ / \ /\
/ \ /\ / \ / \ .'' |_| ,'`' ',` |_| /\ / \ /
/ \ /\ / \ / \ .'' |^| ,'`' ',` |^| /\ / \ /
/ \ / \ ,., .,`, /\ ', ,` / \ /
/\ / \ /\ / \ /\ / \ / \ /\ /
/ \ / \ / \ / \ /\ * / \ /\ / \ / \
/ \ / \ / \ / \ /\ / \ /\ / \ / \
/ \ / \ / \ / \ /\ / / \ /\ / \
/ \ / \ /\ / / \ / \ / \ / \ / \
/ \ / / \ / / \
@ -56,35 +56,41 @@ vanaheim = (r"""
# Maisons
(44, 11, 21, 5, 9), # Auberge
(52, 35, 22, 20, 19),
(52, 35, 22, 20, 19), # Palais de Hel
(58, 15, 49, 7, 14),
(36, 12, 50, 15, 14),
(33, 26, 51, 5, 9),
(42, 26, 52, 4, 14),
(34, 30, 53, 5, 9),
(41, 42, 54, 10, 9),
)
h_21 = (r"""
|=======================|
| * | |
| | |
| |-------------|
| |
| +--+ +--+ +--+ |
| | | | | | | |
| +--+ +--+ +--+* |
| +--+ +--+ +--+ |
| |
| |
|===|^|=================|""",
(5, 9, 1, 44, 11)) # * : (8, 1) * : (21, 6)
(5, 9, 1, 44, 11))
h_22 = (r"""
|=======================|==============|
|=======================|==============|
| | |
| _ _ | __ * |
| _ _ | __ |
| (_) (_) | |__| |
| |=| |=| | |__| |
| |_| |_| | |__| |
| | |
| * | |
| | |
| |=] [|] [==========|
| _ _ | |
| (_) (_) | |
@ -96,4 +102,132 @@ h_22 = (r"""
| | | |
|/\=/\=/\=/\=/\=/\=| |=/\=/\=/\=/\=/\==|
|\/=\/=\/=\/=\/=\/=]^[=\/=\/=\/=\/=\/==|""",
(20, 19, 1, 52, 35)) # * : (36, 3) * : (2, 8)
(20, 19, 1, 52, 35))
h_49 = (r"""
|--|--|--|--|
| |
| ### |
| #####|
| [O] |
| |
/==] [=======\
| |
| +-+ |
| | | |
| +-+ |
| |
| |
\=====|^|=====/""",
(7, 14, 1, 58, 15),
)
h_50 = (r"""
/-------------||---\
| /__\ |
| |==| |
| |
| +---+ |
| | | |
| | | |
| +---+ |
| |
| |
| |
|=/ \========/ \=|
| |
| |
\-------------|^|--/""",
(15, 14, 1, 36, 12),
)
h_51 = (r"""
|--------|
|[==][==]|
| |
| |
| |
| +-+ |
| | | |
| +-+ |
| |
|---|^|--|""",
(5, 9, 1, 33, 26),
)
h_52 = (r"""
/====[O]====[O]====\
| | | |
| |_ | | _| |
| |_| | | |_| |
| |
|-------] [-------|
| [=]|
| | | /_\|
| |_ | | |
| |_| | | |
| | | |
|-------/ \-------|
| |
| |
\==|^|======[O]====/""",
(4, 14, 1, 42, 26),
)
h_53 = (r"""
|--------|
| |
| +-+|
| | ||
| +-+|
| |
|[=] |
|/-\ |
| |
|---|^|--|""",
(5, 9, 1, 34, 30),
)
h_54 = (r"""
|======_=|
|-|--| /_\|
|# ##| |=||
|# ##| |
|# ##/ +--+ |
|# | | |
|# ##\ +--+ |
|-|--| |
| |
|===|^|==|""",
(10, 9, 1, 41, 42),
)
vanaheim_entities = (
[0, '*', 1, 45, 39, 'stand by'],
[0, '*', 1, 31, 12, 'stand by'],
[0, '*', 1, 41, 45, 'stand by'],
[0, '*', 1, 52, 22, 'stand by'],
[0, '*', 1, 52, 30, 'stand by'],
["vanaheim_aubergiste", '*', 21, 8, 1, 'stand by'],
[0, '*', 21, 21, 6, 'stand by'],
["Freyja", '*', 22, 2, 8, 'stand by'],
["Freyr", '*', 22, 36, 3, 'stand by'],
[0, '*', 49, 9, 10, 'stand by'],
[0, '*', 49, 9, 11, 'stand by'],
[0, '*', 50, 8, 5, 'stand by'],
[0, '*', 50, 8, 9, 'stand by'],
[0, '*', 51, 7, 3, 'stand by'],
[0, '*', 51, 2, 4, 'stand by'],
[0, '*', 52, 16, 9, 'stand by'],
[0, '*', 53, 5, 2, 'stand by'],
[0, '*', 54, 7, 2, 'stand by'],
[0, '*', 54, 2, 3, 'stand by'],
)

12
notes Normal file
View File

@ -0,0 +1,12 @@
Hydromel poétique
- Création de Kvasir (scène d'introduction)
- Mort de Baldr (avec les explications : rêves sur sa mort; peur des Ases, inquiétude d'Odin; serment de Frigg à Helheim; jalousie de Loki; meutre de Baldr avec le gui par Höd)
- Incinération de Baldr pendant qu'Hermod demande à Hel de ramener Baldr parmis les vivants
- Hel accepte à condition que tout le monde pleure : Thokk (une géante) ne pleura pas : Baldr restera à Helheim
- Les Ases reconnaissant la culpabilité de Loki, Kvasir les aide (épisode du filet; fuite dans les montagnes
- Kvasir se rend chez les nains où il est tué, son sang forme l'Hydromel Poétique.
- Assassinat par les nains des géants Gilling (noyé) puis de sa femme (écrasée par une meule de moulin)
- Vengeance de Suttung (fils de Gilling) qui récupère l'Hydromel Poétique
- Épisode des neufs esclaves qui fauchaient du foin et Odin avec sa pierre à aiguiser.
- Odin creuse la montagne avec le forêt, s'empare de l'Hydromel Poétique et le ramène à Asgard, poursuivit par Suttung.
- Don de l'Hydromel Poétique aux Ases et aux hommes doués de poésie (scène de conclusion)

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.5" tiledversion="1.7.2" orientation="orthogonal" renderorder="right-down" width="75" height="75" tilewidth="42" tileheight="85" infinite="0" nextlayerid="2" nextobjectid="1">
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="75" height="75" tilewidth="42" tileheight="85" infinite="0" nextlayerid="2" nextobjectid="1">
<tileset firstgid="1" source="Asci_tileset.tsx"/>
<layer id="1" name="Calque de Tuiles 1" width="75" height="75">
<data encoding="csv">
@ -11,42 +11,42 @@
95,95,95,95,95,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,0,0,4,4,4,4,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,
95,95,95,0,0,0,0,0,0,0,0,0,95,95,95,95,95,0,0,0,0,0,0,93,93,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,0,0,0,0,0,11,0,4,4,4,4,0,0,0,0,64,64,0,0,0,4,4,0,0,0,0,0,95,95,95,95,95,95,95,
95,95,95,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,95,95,95,95,95,0,0,4,4,0,0,0,0,0,93,93,0,0,0,0,16,60,62,61,0,4,4,4,4,0,0,0,0,0,0,95,95,95,95,95,
95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,4,4,4,4,0,0,4,4,0,0,0,4,4,0,0,4,4,4,4,0,0,65,1,0,0,0,8,0,0,93,64,64,93,0,0,93,93,0,0,64,64,0,0,0,0,0,95,95,95,
95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,4,4,4,4,0,0,4,4,0,0,0,4,4,0,0,4,4,4,4,0,0,65,1,0,0,0,8,0,0,93,63,64,93,0,0,93,93,0,0,64,64,0,0,0,0,0,95,95,95,
95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,0,4,4,0,0,0,93,93,0,0,4,4,4,4,0,4,4,4,4,0,0,93,93,0,0,0,13,8,0,0,0,0,8,15,8,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,95,95,95,
95,95,95,0,0,0,0,0,0,95,95,95,95,95,0,0,95,95,95,95,0,4,4,4,4,0,0,0,0,0,0,0,93,93,0,0,0,93,93,0,0,0,0,0,0,65,96,8,0,0,64,64,0,0,0,8,65,8,1,15,1,65,0,0,93,64,64,93,0,0,0,0,0,95,95,
95,95,95,0,0,0,0,0,0,95,95,95,95,95,0,0,95,95,95,95,0,4,4,4,4,0,0,0,0,0,0,0,93,93,0,0,0,93,93,0,0,0,0,0,0,65,96,8,0,0,64,64,0,0,0,8,65,8,1,15,1,65,0,0,93,63,64,93,0,0,0,0,0,95,95,
95,95,95,0,0,4,4,0,0,0,0,0,0,0,0,0,95,95,95,0,0,0,93,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,8,8,0,0,0,16,60,62,61,0,0,0,0,0,0,0,0,8,96,15,0,0,0,0,0,4,4,0,0,95,95,
95,95,0,0,4,4,4,4,0,0,4,4,0,0,0,64,0,0,0,0,0,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,0,0,0,0,0,0,93,64,64,93,0,0,0,4,4,0,0,0,0,0,65,15,65,0,0,4,4,4,4,0,95,95,
95,95,0,0,4,4,4,4,0,0,4,4,0,0,0,64,0,0,0,0,0,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,0,0,0,0,0,0,93,64,63,93,0,0,0,4,4,0,0,0,0,0,65,15,65,0,0,4,4,4,4,0,95,95,
95,95,0,0,0,93,93,0,0,4,4,4,4,0,16,0,61,0,0,0,0,0,0,0,0,16,0,0,93,62,48,60,93,0,0,0,93,62,48,60,93,0,0,61,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,64,64,0,0,0,0,0,0,93,93,0,0,95,95,
95,95,95,95,0,0,0,0,0,0,93,93,0,0,93,64,93,0,0,0,0,0,0,0,16,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,61,0,0,4,4,0,0,4,4,0,0,0,93,93,0,0,16,60,62,61,0,0,0,0,0,0,0,0,0,95,95,
95,95,95,95,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,93,64,16,0,0,0,61,64,16,0,64,0,61,64,16,0,0,0,61,64,93,0,0,4,4,0,0,4,4,0,0,0,0,0,0,0,93,64,64,93,0,0,4,4,0,0,0,95,95,95,95,
95,95,95,95,0,0,0,0,0,0,93,93,0,0,93,63,93,0,0,0,0,0,0,0,16,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,61,0,0,4,4,0,0,4,4,0,0,0,93,93,0,0,16,60,62,61,0,0,0,0,0,0,0,0,0,95,95,
95,95,95,95,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,93,64,16,0,0,0,61,64,16,0,64,0,61,64,16,0,0,0,61,64,93,0,0,4,4,0,0,4,4,0,0,0,0,0,0,0,93,63,64,93,0,0,4,4,0,0,0,95,95,95,95,
95,95,95,95,0,4,4,4,4,0,0,0,0,0,0,0,0,0,16,0,61,0,0,0,93,64,93,0,0,0,93,64,93,16,63,61,93,64,93,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,0,0,4,4,4,4,0,0,95,95,95,95,
95,95,95,95,0,0,93,93,0,0,0,0,0,0,64,0,0,0,93,64,93,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,4,4,0,16,0,0,61,0,0,1,1,65,8,0,0,93,93,0,0,0,95,95,95,95,
95,95,95,95,0,0,0,0,0,0,0,0,0,16,0,61,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,4,4,0,0,4,4,0,93,64,64,93,0,0,15,0,0,13,0,0,0,0,0,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,95,0,0,0,0,93,64,93,0,0,0,64,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,65,8,1,65,64,0,13,13,1,1,13,96,1,0,0,95,95,95,
95,95,95,95,0,0,93,93,0,0,0,0,0,0,64,0,0,0,93,63,93,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,4,4,0,16,0,0,61,0,0,1,1,65,8,0,0,93,93,0,0,0,95,95,95,95,
95,95,95,95,0,0,0,0,0,0,0,0,0,16,0,61,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,4,4,0,0,4,4,0,93,63,64,93,0,0,15,0,0,13,0,0,0,0,0,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,95,0,0,0,0,93,63,93,0,0,0,64,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,65,8,1,65,64,0,13,13,1,1,13,96,1,0,0,95,95,95,
95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,16,80,61,0,0,0,0,4,4,4,0,0,0,0,0,0,32,0,0,0,0,0,0,4,4,4,0,8,1,0,0,64,0,0,0,0,0,65,65,8,0,0,16,0,61,0,0,0,0,0,0,96,0,0,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,93,64,93,0,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,96,13,0,0,16,0,61,0,0,0,96,0,0,0,0,0,93,64,93,0,0,95,95,95,95,0,0,0,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,4,4,4,0,0,0,96,1,8,1,13,93,64,93,0,0,15,8,0,0,0,64,0,0,0,0,0,0,95,95,95,95,95,0,0,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,93,63,93,0,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,96,13,0,0,16,0,61,0,0,0,96,0,0,0,0,0,93,63,93,0,0,95,95,95,95,0,0,0,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,4,4,4,0,0,0,96,1,8,1,13,93,63,93,0,0,15,8,0,0,0,64,0,0,0,0,0,0,95,95,95,95,95,0,0,95,95,95,
95,95,95,95,95,95,0,95,95,95,95,95,95,95,0,0,0,0,0,0,4,4,4,0,0,0,0,0,4,4,4,4,4,0,65,0,4,4,4,4,4,0,0,15,0,0,0,65,96,0,15,13,15,0,0,0,0,16,0,61,0,0,0,0,0,95,95,95,95,95,0,0,95,95,95,
95,95,95,95,95,0,0,95,95,95,95,95,95,95,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,4,4,4,0,0,8,0,0,4,4,4,0,0,1,1,0,0,64,0,65,1,13,0,64,0,0,0,0,93,64,93,0,64,0,0,0,95,95,95,95,95,95,0,95,95,95,
95,95,95,95,95,0,0,95,95,95,95,95,95,95,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,4,4,4,0,0,8,0,0,4,4,4,0,0,1,1,0,0,64,0,65,1,13,0,64,0,0,0,0,93,63,93,0,64,0,0,0,95,95,95,95,95,95,0,95,95,95,
95,95,95,95,95,0,0,0,64,64,0,0,95,95,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,16,14,61,0,1,1,0,0,16,14,61,0,0,65,0,0,16,0,61,0,13,0,16,80,61,0,0,0,0,0,0,16,0,61,0,0,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,0,16,0,0,61,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,8,96,15,0,0,8,65,65,13,8,8,0,93,64,93,65,1,0,93,64,93,0,0,0,0,0,0,93,64,93,0,0,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,0,93,64,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,15,96,96,1,8,0,0,0,0,1,15,65,0,0,8,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,0,16,0,0,61,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,8,96,15,0,0,8,65,65,13,8,8,0,93,63,93,65,1,0,93,63,93,0,0,0,0,0,0,93,63,93,0,0,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,0,93,64,63,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,15,96,96,1,8,0,0,0,0,1,15,65,0,0,8,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,1,15,13,0,0,0,0,64,0,0,0,96,15,0,1,13,0,0,64,0,0,0,0,0,0,0,13,15,96,0,0,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,0,0,0,0,0,16,0,0,61,0,0,0,0,0,4,4,4,4,4,0,0,4,4,4,0,0,0,0,0,0,0,0,16,0,61,0,0,96,65,0,8,0,0,16,80,61,64,64,0,0,0,0,65,15,96,0,0,0,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,0,0,0,0,93,64,64,93,0,0,0,0,0,0,4,4,4,0,0,4,4,4,4,4,0,0,4,4,4,0,0,93,64,93,0,0,1,96,15,1,0,0,93,64,0,80,0,61,30,30,93,0,15,8,65,15,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,0,0,0,0,93,63,64,93,0,0,0,0,0,0,4,4,4,0,0,4,4,4,4,4,0,0,4,4,4,0,0,93,63,93,0,0,1,96,15,1,0,0,93,64,0,80,0,61,30,30,93,0,15,8,65,15,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,4,4,4,0,16,14,61,0,0,0,4,4,4,0,0,4,4,4,4,4,0,0,0,0,0,0,13,15,65,0,0,93,93,63,93,64,64,93,0,0,93,0,15,96,0,15,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,16,14,61,0,0,0,4,4,4,0,0,0,0,0,0,96,1,0,0,0,0,93,0,96,0,0,0,0,0,0,0,0,1,15,8,96,0,0,0,0,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,4,4,4,4,4,0,0,4,4,4,0,0,0,0,0,0,0,16,14,61,0,4,4,4,0,0,0,4,4,4,0,0,93,0,13,65,8,13,8,65,1,8,8,13,13,0,0,0,0,0,0,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,4,4,4,0,0,4,4,4,4,4,0,0,4,4,4,0,0,0,0,4,4,4,4,4,0,4,4,4,4,4,0,93,30,30,93,30,30,93,30,30,93,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,0,4,4,4,0,0,0,0,0,93,64,93,0,0,4,4,4,4,4,0,4,4,4,4,4,0,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,4,4,4,4,4,0,0,0,0,16,14,61,0,0,0,16,14,61,0,0,4,4,4,0,0,0,0,0,0,64,0,0,16,0,61,0,0,64,0,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,95,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,16,0,61,0,93,64,93,0,16,0,61,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,95,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,93,64,93,0,0,0,0,0,93,64,93,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,95,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,16,0,61,0,93,63,93,0,16,0,61,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,95,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,93,63,93,0,0,0,0,0,93,63,93,0,0,95,95,95,95,
95,95,95,95,95,95,95,0,0,0,0,93,64,93,0,0,0,0,0,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,4,4,4,4,4,0,0,16,14,61,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,
95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,16,0,61,0,0,0,0,0,64,0,0,0,0,0,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,93,64,93,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,16,0,61,0,0,64,0,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,16,0,61,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,93,64,93,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,93,63,93,0,0,0,0,16,0,61,0,0,64,0,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,63,93,0,16,0,61,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,93,63,93,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,95,95,95,
95,95,95,95,95,95,95,95,95,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,
@ -54,14 +54,14 @@
95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,0,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,0,0,0,64,64,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,64,64,0,0,0,0,4,4,4,0,0,0,0,4,4,0,0,0,0,0,0,4,4,0,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,0,0,16,0,0,61,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,16,0,0,61,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,0,0,93,64,64,93,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,0,93,64,64,93,0,0,4,4,4,4,4,0,0,0,4,4,0,0,0,0,0,0,4,4,0,95,95,95,95,95,0,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,0,0,93,63,64,93,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,0,93,64,63,93,0,0,4,4,4,4,4,0,0,0,4,4,0,0,0,0,0,0,4,4,0,95,95,95,95,95,0,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,0,0,0,0,4,4,4,0,0,0,95,95,0,0,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,95,0,0,0,0,0,4,4,4,4,4,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,1,96,96,13,8,8,0,0,0,0,93,64,93,0,0,0,0,4,4,4,4,0,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,95,95,95,
95,95,95,95,95,95,95,95,0,0,0,0,0,0,4,4,4,4,4,96,8,1,0,0,0,0,0,11,0,0,4,4,4,0,0,0,0,13,13,13,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,95,95,95,
95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,4,4,4,0,1,0,0,0,4,4,4,0,0,0,4,4,4,4,4,0,0,0,1,65,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,95,95,95,
95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,93,64,93,0,15,0,0,4,4,4,4,4,0,0,4,4,4,4,4,0,8,13,13,0,0,0,0,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,95,95,95,
95,95,95,95,95,95,0,0,0,0,4,4,4,0,0,0,0,0,0,96,1,13,4,4,4,4,4,0,0,0,4,4,4,0,96,65,0,0,0,0,0,16,0,0,61,0,0,4,4,4,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,0,0,95,95,95,
95,95,95,95,95,95,0,0,0,4,4,4,4,4,0,0,0,4,4,4,0,13,0,4,4,4,0,0,0,0,93,64,93,65,8,0,4,4,4,0,0,93,64,64,93,0,4,4,4,4,4,0,0,0,0,0,4,4,4,4,4,0,0,0,93,64,93,0,0,0,0,0,95,95,95,
95,95,95,95,95,95,0,0,0,4,4,4,4,4,0,0,0,4,4,4,0,13,0,4,4,4,0,0,0,0,93,64,93,65,8,0,4,4,4,0,0,93,64,63,93,0,4,4,4,4,4,0,0,0,0,0,4,4,4,4,4,0,0,0,93,64,93,0,0,0,0,0,95,95,95,
95,95,95,95,95,95,0,0,0,4,4,4,4,4,0,0,4,4,4,4,4,65,65,93,64,93,0,4,4,4,0,0,0,65,0,4,4,4,4,4,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,
95,95,95,95,95,95,0,0,0,0,4,4,4,0,0,0,4,4,4,4,4,0,8,0,0,0,4,4,4,4,4,0,0,1,0,4,4,4,4,4,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,4,4,4,0,0,95,95,95,
95,95,95,95,95,95,0,0,0,0,93,64,93,0,0,0,0,4,4,4,0,13,8,0,0,0,4,4,4,4,4,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,95,95,95,
@ -71,7 +71,7 @@
95,95,95,95,95,0,4,4,0,93,93,0,0,0,0,0,13,65,1,8,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,0,0,0,0,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,95,95,95,
95,95,95,95,0,4,4,4,4,0,0,0,0,0,64,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,95,95,95,95,95,95,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,95,95,95,
95,95,95,95,95,0,93,93,0,0,0,0,0,16,14,61,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,95,95,95,95,
95,95,95,95,95,95,0,0,95,0,0,0,0,93,64,93,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,0,95,95,95,95,95,
95,95,95,95,95,95,0,0,95,0,0,0,0,93,63,93,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,0,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.5" tiledversion="1.7.2" orientation="orthogonal" renderorder="right-down" width="150" height="75" tilewidth="42" tileheight="85" infinite="0" nextlayerid="2" nextobjectid="1">
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="150" height="75" tilewidth="42" tileheight="85" infinite="0" nextlayerid="2" nextobjectid="1">
<tileset firstgid="1" source="Asci_tileset.tsx"/>
<layer id="1" name="Calque de Tuiles 1" width="150" height="75">
<data encoding="csv">
@ -46,37 +46,37 @@
4,4,4,4,4,0,0,93,80,93,80,93,80,93,80,93,80,93,80,93,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,93,0,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,0,0,0,0,0,0,16,14,61,0,93,64,93,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,95,95,95,95,0,16,61,0,0,0,0,0,16,0,0,0,0,
4,4,4,4,4,0,16,64,64,64,64,64,64,64,64,64,64,64,64,64,61,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,63,93,0,0,64,0,0,0,0,0,0,95,95,95,95,95,0,16,0,0,61,0,0,0,0,0,16,61,0,0,
4,4,4,4,0,0,93,64,16,0,0,0,61,64,16,0,0,0,61,64,93,0,0,0,4,4,4,0,0,0,4,4,4,4,4,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,80,61,0,0,0,0,95,95,95,95,0,0,16,0,0,0,0,61,0,0,0,16,0,0,61,0,
0,93,93,0,0,0,93,64,93,0,0,0,93,63,93,0,0,0,93,64,93,0,0,0,16,14,61,0,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,95,95,95,95,0,0,16,0,0,0,0,0,0,61,0,16,0,0,0,0,61,
0,0,0,4,4,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,16,14,61,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,16,
0,93,93,0,0,0,93,64,93,0,0,0,93,63,93,0,0,0,93,64,93,0,0,0,16,14,61,0,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,93,0,0,93,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,95,95,95,95,0,0,16,0,0,0,0,0,0,61,0,16,0,0,0,0,61,
0,0,0,4,4,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,16,14,61,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,93,0,0,93,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,16,
0,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,16,61,0,0,0,0,0,16,0,
0,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,0,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,16,0,0,
0,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,4,4,0,0,4,4,4,4,4,0,4,4,4,4,4,0,0,0,0,0,0,95,95,95,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,16,53,73,83,90,78,83,73,70,74,78,83,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,16,61,0,16,0,0,0,0,61,0,16,0,0,0,
0,0,4,4,4,4,0,0,0,64,0,0,0,0,4,4,4,0,0,16,14,61,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,95,9,95,10,95,0,0,0,0,0,0,0,0,4,4,4,0,0,0,16,64,64,64,64,64,64,64,64,64,64,64,64,64,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,4,4,4,0,0,0,0,16,0,0,61,0,0,0,0,0,0,61,0,0,0,0,
0,0,0,93,93,0,0,0,16,80,61,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,16,14,61,0,0,0,16,14,61,0,0,0,0,16,95,9,64,64,64,10,95,61,0,0,0,0,0,0,16,14,61,0,0,0,0,93,64,16,0,0,61,64,16,0,0,61,64,93,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,16,80,61,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,0,0,4,4,4,4,4,0,0,16,0,0,0,0,61,0,0,0,0,0,16,61,0,0,0,
0,0,0,4,4,0,0,0,93,64,93,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,95,95,95,95,95,95,95,16,0,0,11,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,93,63,93,0,0,93,64,93,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,0,0,0,4,4,4,0,0,16,0,0,0,0,0,0,61,0,0,0,16,0,0,61,0,0,
95,0,4,4,4,4,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,95,95,95,95,95,95,95,95,95,95,0,0,0,16,93,61,0,0,0,0,0,4,4,4,0,0,0,0,16,0,0,0,0,61,0,
95,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,0,4,4,4,4,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,16,93,61,0,0,0,0,4,4,4,0,0,0,4,4,4,4,4,0,0,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,4,4,4,0,4,4,4,4,4,0,0,16,61,0,0,0,0,0,61,
95,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,41,74,78,74,79,67,75,80,83,72,0,61,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,0,4,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,4,4,4,4,4,0,4,4,4,0,0,16,0,0,61,0,0,0,0,0,
95,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,64,64,64,64,64,64,64,64,64,64,64,64,64,61,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,16,93,61,0,0,95,95,95,95,95,95,95,95,95,0,0,0,0,0,64,0,0,4,4,4,0,0,16,93,61,0,16,0,0,0,0,61,0,0,0,16,
95,0,0,93,93,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,93,0,62,48,60,0,0,64,64,0,0,62,48,60,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,64,0,4,4,4,4,4,0,0,0,64,0,16,93,61,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,0,0,0,0,16,80,61,0,16,93,61,0,0,0,0,0,16,0,0,0,0,0,0,61,0,16,0,
95,0,0,0,0,0,0,0,64,0,0,0,0,4,4,4,4,4,0,0,93,64,64,64,64,64,93,63,63,93,64,64,64,64,64,93,0,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,16,14,61,0,0,4,4,4,0,0,0,16,80,61,0,4,4,4,0,0,0,16,80,61,0,0,0,0,0,0,0,0,0,0,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,93,64,93,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,16,0,0,
95,0,0,0,0,0,0,16,80,61,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,4,4,4,4,0,0,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,93,64,93,0,16,93,61,0,0,0,93,64,93,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,16,0,0,0,
95,0,0,0,0,0,0,93,64,93,0,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,4,4,4,4,0,0,0,4,4,4,4,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,
95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,0,0,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,0,0,0,16,93,61,0,0,0,0,0,4,4,4,0,0,0,0,
95,95,0,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,16,93,61,0,0,0,0,0,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,16,93,61,0,4,4,4,
95,95,0,0,0,4,4,4,4,4,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,16,80,61,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,4,
95,95,0,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,0,0,16,14,61,0,0,0,0,4,4,4,4,4,0,0,0,0,0,4,4,4,0,16,93,61,0,0,0,0,0,4,4,4,0,0,0,0,95,95,95,95,95,95,0,0,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,
95,95,0,0,0,0,16,14,61,0,0,0,16,14,61,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,0,0,0,0,16,14,61,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,4,4,4,4,4,0,0,0,0,11,0,0,4,4,4,4,4,0,0,0,95,95,95,95,95,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,0,0,16,93,61,0,0,0,0,0,0,16,93,61,
95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,16,52,80,76,76,87,66,67,70,76,76,83,61,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,16,93,61,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,95,95,95,95,95,95,0,0,0,4,4,4,0,0,0,0,16,93,61,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,
95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,16,64,64,64,64,64,64,64,64,64,64,64,64,64,61,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,16,93,61,0,0,0,0,0,0,0,0,0,16,93,61,0,0,95,95,95,95,95,95,95,0,0,0,16,93,61,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,4,4,0,
95,95,0,0,0,0,0,64,64,64,64,64,64,64,64,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,64,0,0,0,0,0,16,64,93,64,16,64,64,61,64,16,64,64,61,64,93,64,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,4,4,4,0,0,
95,95,0,0,0,0,16,34,77,71,73,70,74,78,83,61,0,0,4,4,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,4,4,0,16,80,61,0,0,0,0,0,0,93,64,93,0,0,93,63,93,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,0,4,4,4,0,0,4,4,4,4,4,0,0,0,0,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,16,93,61,0,0,
95,95,95,0,0,0,93,62,48,60,64,64,62,48,60,93,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,80,61,0,0,0,0,16,14,61,0,0,0,0,0,4,4,4,0,0,0,0,0,4,4,4,4,4,0,0,4,4,4,0,0,0,0,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,16,93,61,0,0,0,0,4,4,4,0,0,0,0,0,
95,95,95,0,0,0,93,64,64,93,63,63,93,64,64,93,0,0,0,93,64,93,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,4,4,4,0,0,0,16,93,61,0,0,0,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,64,0,0,0,0,16,80,61,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,
95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,93,61,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,16,14,61,0,0,0,93,64,93,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,95,
95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,11,0,0,0,16,93,61,0,0,0,95,95,
95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,
0,0,4,4,4,4,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,95,95,95,95,95,95,95,95,95,95,0,0,0,16,93,61,0,0,0,0,0,4,4,4,0,0,0,0,16,0,0,0,0,61,0,
0,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,0,4,4,4,4,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,16,93,61,0,0,0,0,4,4,4,0,0,0,4,4,4,4,4,0,0,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,4,4,4,0,4,4,4,4,4,0,0,16,61,0,0,0,0,0,61,
0,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,41,74,78,74,79,67,75,80,83,72,0,61,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,0,4,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,4,4,4,4,4,0,4,4,4,0,0,16,0,0,61,0,0,0,0,0,
0,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,64,64,64,64,64,64,64,64,64,64,64,64,64,61,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,16,93,61,0,0,95,95,95,95,95,95,95,95,95,0,0,0,0,0,64,0,0,4,4,4,0,0,16,93,61,0,16,0,0,0,0,61,0,0,0,16,
0,0,0,93,93,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,93,0,62,48,60,0,0,64,64,0,0,62,48,60,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,64,0,4,4,4,4,4,0,0,0,64,0,16,93,61,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,0,0,0,0,16,80,61,0,16,93,61,0,0,0,0,0,16,0,0,0,0,0,0,61,0,16,0,
0,0,0,4,0,0,0,0,64,0,0,0,0,4,4,4,4,4,0,0,93,64,64,64,64,64,93,63,63,93,64,64,64,64,64,93,0,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,16,14,61,0,0,4,4,4,0,0,0,16,80,61,0,4,4,4,0,0,0,16,80,61,0,0,0,0,0,0,0,0,0,0,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,93,64,93,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,16,0,0,
0,0,4,4,4,0,0,16,80,61,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,4,4,4,4,0,0,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,93,64,93,0,16,93,61,0,0,0,93,64,93,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,16,0,0,0,
0,4,4,4,4,4,0,93,64,93,0,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,4,4,4,4,0,0,0,4,4,4,4,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,
0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,0,0,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,0,0,0,16,93,61,0,0,0,0,0,4,4,4,0,0,0,0,
0,0,16,14,61,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,16,93,61,0,0,0,0,0,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,16,93,61,0,4,4,4,
0,0,0,0,0,4,4,4,4,4,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,16,80,61,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,4,
0,0,0,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,0,0,16,14,61,0,0,0,0,4,4,4,4,4,0,0,0,0,0,4,4,4,0,16,93,61,0,0,0,0,0,4,4,4,0,0,0,0,95,95,95,95,95,95,0,0,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,
0,0,0,4,4,4,16,14,61,0,0,0,16,14,61,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,0,0,0,0,16,14,61,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,4,4,4,4,4,0,0,0,0,11,0,0,4,4,4,4,4,0,0,0,95,95,95,95,95,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,0,0,16,93,61,0,0,0,0,0,0,16,93,61,
0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,16,52,80,76,76,87,66,67,70,76,76,83,61,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,16,93,61,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,95,95,95,95,95,95,0,0,0,4,4,4,0,0,0,0,16,93,61,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,
0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,16,64,64,64,64,64,64,64,64,64,64,64,64,64,61,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,16,93,61,0,0,0,0,0,0,0,0,0,16,93,61,0,0,95,95,95,95,95,95,95,0,0,0,16,93,61,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,4,4,0,
0,0,0,16,14,61,0,64,64,64,64,64,64,64,64,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,64,0,0,0,0,0,16,64,93,64,16,64,64,61,64,16,64,64,61,64,93,64,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,4,4,4,0,95,
0,0,0,0,0,0,16,34,77,71,73,70,74,78,83,61,0,0,4,4,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,4,4,4,4,4,0,16,80,61,0,0,0,0,0,0,93,64,93,0,0,93,63,93,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,0,4,4,4,0,0,4,4,4,4,4,0,0,0,0,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,16,93,61,0,95,
0,0,4,4,4,0,93,62,48,60,64,64,62,48,60,93,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,4,4,4,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,80,61,0,0,0,0,16,14,61,0,0,0,0,0,4,4,4,0,0,0,0,0,4,4,4,4,4,0,0,4,4,4,0,0,0,0,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,16,93,61,0,0,0,0,4,4,4,0,0,0,0,95,
0,4,4,4,4,4,93,64,64,93,63,63,93,64,64,93,0,0,0,93,64,93,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,4,4,4,0,0,0,16,93,61,0,0,0,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,64,0,0,0,0,16,80,61,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,95,
0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,16,93,61,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,16,14,61,0,0,0,93,64,93,0,0,0,0,0,0,0,0,4,4,4,0,0,0,95,95,
0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,93,63,93,0,0,0,0,0,0,0,0,0,0,11,0,0,0,16,93,61,0,0,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95
</data>
</layer>

12
tiled_map/automap.sh Normal file
View File

@ -0,0 +1,12 @@
#!/bin/bash
mkdir map_python
for i in $(ls -X *.tmx)
do
echo "$i -> ${i%%.*}.py"
python converter "$i" doors=^ entities=?*
cp "${i%%.*}.py" map_python/
rm "${i%%.*}.py"
done

View File

@ -3,7 +3,7 @@ from sys import argv
import xmltodict
def convert_to_string(filename, doors, misc):
def convert_to_string(filename, doors, entities):
output_filename, extension = filename.split('.')
char_list = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ "
@ -18,32 +18,35 @@ def convert_to_string(filename, doors, misc):
data = [[int(char_id) for char_id in line.split(",") if char_id] for line in data]
doors_coords = []
misc_coords = []
entities_data = []
output = r""
for line_index, line in enumerate(data):
for char_index, char_id in enumerate(line):
output += char_list[char_id]
if char_list[char_id] not in entities:
output += char_list[char_id]
else:
output += " "
entities_data.append(f"[None, '{char_list[char_id]}', , {char_index}, {line_index}, 'stand_by'],")
if char_list[char_id] in doors:
doors_coords.append(f"\t({char_index}, {line_index}, , 0, 0),")
if char_list[char_id] in misc:
misc_coords.append(f"# {char_list[char_id]} : ({char_index}, {line_index})")
output += "\n"
doors_coords = "\n".join(doors_coords)
misc_coords = "\n".join(misc_coords)
entities_data = "(\n\t" + "\n\t".join(entities_data) + "\n)"
with open(f"{output_filename}.py", "w") as file:
file.write(f"{output_filename} = (r\"\"\"\n{output[:-1]}\"\"\",\n{doors_coords}\n)\n\n{misc_coords}")
file.write(f"{output_filename} = (r\"\"\"\n{output[:-1]}\"\"\",\n{doors_coords}\n)\n\n{output_filename}_entities = {entities_data}")
filename, doors, misc = argv[1], "", ""
filename, doors, entities = argv[1], "", ""
for arg in argv[2:]:
if arg.startswith("door"):
doors = arg.split("=", 1)[1]
elif arg.startswith("misc"):
misc = arg.split("=", 1)[1]
elif arg.startswith("entities"):
entities = arg.split("=", 1)[1]
convert_to_string(filename, doors, misc)
convert_to_string(filename, doors, entities)

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.5" tiledversion="1.7.2" orientation="orthogonal" renderorder="right-down" width="100" height="100" tilewidth="42" tileheight="85" infinite="0" nextlayerid="2" nextobjectid="1">
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="100" height="100" tilewidth="42" tileheight="85" infinite="0" nextlayerid="2" nextobjectid="1">
<tileset firstgid="1" source="Asci_tileset.tsx"/>
<layer id="1" name="Calque de Tuiles 1" width="100" height="100">
<data encoding="csv">
@ -9,7 +9,7 @@
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,95,95,95,95,95,95,0,0,0,0,95,95,95,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,95,95,95,95,95,95,0,95,95,0,0,0,95,95,95,95,95,95,0,0,0,0,95,95,95,0,64,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,95,95,95,95,95,0,95,95,95,0,0,0,0,95,95,95,0,0,0,0,95,95,95,0,16,14,61,0,95,95,95,95,95,95,95,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,95,95,0,0,95,95,95,95,95,0,95,95,95,0,0,0,95,95,95,95,0,0,0,0,95,95,95,0,93,64,93,0,95,95,95,95,95,95,95,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,95,95,0,0,95,95,95,95,95,0,95,95,95,0,0,0,95,95,95,95,0,0,0,0,95,95,95,0,93,63,93,0,95,95,95,95,95,95,95,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,95,0,0,95,95,95,95,95,95,0,95,95,0,0,0,95,95,95,95,0,0,0,95,95,0,0,0,0,0,0,95,95,0,0,95,95,95,95,95,0,0,0,0,95,0,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,95,95,95,95,95,95,95,95,0,0,95,95,95,0,95,0,0,95,95,95,95,95,0,0,95,95,0,0,0,95,95,95,0,0,0,0,95,95,95,0,0,0,95,95,95,95,0,0,0,95,95,95,95,95,0,0,0,95,0,0,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,32,0,95,95,95,95,95,95,95,0,0,0,0,95,0,95,95,0,0,95,95,95,95,95,0,0,0,0,0,0,95,95,95,0,0,0,0,95,95,0,0,0,0,95,95,95,95,0,0,0,0,95,95,95,0,0,0,0,95,0,0,0,95,95,95,95,95,95,95,95,95,
@ -28,11 +28,11 @@
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,16,61,0,0,0,0,4,4,4,4,0,4,4,93,93,0,0,0,0,0,0,0,4,4,0,4,4,4,4,0,4,4,93,93,0,4,4,4,4,0,0,0,4,4,0,4,4,4,4,0,0,0,4,4,0,0,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,4,4,0,4,4,4,4,0,0,0,0,0,0,0,0,93,93,0,0,4,4,0,4,4,4,4,0,0,4,4,4,4,0,4,4,93,93,0,4,4,4,4,0,4,4,93,93,0,0,0,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,95,95,95,95,95,0,0,0,0,0,16,0,0,0,0,61,0,0,0,93,93,0,4,4,4,4,0,0,0,0,32,0,0,0,0,0,0,0,93,93,0,4,4,4,4,0,0,0,4,4,0,4,4,4,4,0,0,0,4,4,0,4,4,4,4,0,0,0,0,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,4,4,0,93,93,0,4,4,4,4,0,0,0,93,93,0,4,4,4,4,0,0,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,95,95,95,95,0,0,0,0,0,0,0,0,0,0,16,61,0,93,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,4,4,4,4,0,0,0,0,4,4,0,4,4,0,0,0,0,0,4,4,0,0,0,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,95,95,95,95,95,95,0,0,0,0,0,0,0,64,16,0,0,61,0,0,0,0,16,61,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,4,4,4,4,0,0,0,0,93,93,4,4,4,4,0,0,0,0,93,93,0,0,4,4,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,95,0,0,0,0,16,0,0,0,0,0,61,0,0,16,0,0,61,0,0,0,0,0,0,0,0,4,4,4,4,0,0,0,4,4,0,0,4,4,0,0,0,4,4,4,4,0,0,0,0,0,0,0,4,4,4,4,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,95,95,95,95,95,0,0,0,0,16,0,0,0,0,16,61,0,0,16,0,0,0,0,61,0,0,8,0,15,0,0,4,4,4,4,0,4,4,93,93,0,4,4,4,4,0,0,0,4,4,0,0,0,4,4,0,0,0,4,4,4,4,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,93,93,0,4,4,4,4,0,0,0,93,93,0,4,4,4,4,0,0,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,95,95,95,95,0,0,0,0,0,0,0,0,0,0,16,61,0,93,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,93,0,0,0,0,0,0,0,0,4,4,0,4,4,0,0,0,0,0,4,4,0,0,0,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,95,95,95,95,95,95,0,0,0,0,0,0,0,64,16,0,0,61,0,0,0,0,16,61,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,93,93,4,4,4,4,0,0,0,0,93,93,0,0,4,4,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,95,0,0,0,0,16,0,0,0,0,0,61,0,0,16,0,0,61,0,0,0,0,0,0,0,0,4,4,4,4,0,0,0,0,0,0,0,4,4,0,0,0,4,4,4,4,0,0,0,0,0,0,0,4,4,4,4,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,95,95,95,95,95,0,0,0,0,16,0,0,0,0,16,61,0,0,16,0,0,0,0,61,0,0,8,0,15,0,0,4,4,4,4,0,4,4,0,0,0,4,4,4,4,0,0,0,4,4,0,0,0,4,4,0,0,0,4,4,4,4,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,4,4,4,4,0,0,4,4,4,4,0,4,4,93,93,0,0,4,4,4,4,0,0,0,4,4,0,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,95,95,95,0,0,0,16,61,0,0,0,16,61,0,0,16,0,0,0,0,61,0,0,0,0,0,0,0,0,15,0,0,0,0,0,93,93,0,4,4,4,4,0,0,0,4,4,0,4,4,4,4,0,0,0,4,4,4,4,0,4,4,93,93,0,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,16,0,0,61,0,16,0,0,61,0,0,0,0,16,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,93,93,0,4,4,4,4,0,0,0,0,4,4,0,4,4,4,4,0,95,95,95,95,95,95,95,95,95,
@ -54,31 +54,31 @@
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,4,4,4,4,4,0,0,0,93,64,0,0,80,0,80,0,61,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,95,95,95,95,0,0,0,0,0,0,0,4,4,4,0,0,11,0,93,63,93,64,64,64,64,64,93,0,0,16,14,61,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,80,61,64,64,64,0,0,0,0,0,4,4,4,0,0,0,0,0,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,80,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,0,62,48,60,61,0,0,0,0,16,14,61,0,0,0,0,0,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,63,93,64,64,64,93,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,63,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,63,93,64,64,64,93,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,64,0,0,0,13,0,0,0,0,4,4,4,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,4,4,4,4,4,0,0,0,16,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,4,4,4,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,93,64,64,93,0,0,13,0,0,0,0,4,4,4,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,4,4,4,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,93,63,64,93,0,0,13,0,0,0,0,4,4,4,0,0,0,0,93,63,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,16,14,61,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,80,61,0,0,0,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,15,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,15,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,63,93,0,0,0,95,95,95,95,95,95,
95,95,95,95,95,0,0,0,0,16,14,61,0,0,0,0,0,0,4,4,4,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,15,0,0,0,0,0,0,13,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,
95,95,95,95,95,95,95,0,0,93,64,93,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,13,15,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,60,62,61,0,0,0,0,0,0,16,0,61,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,0,0,11,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,64,93,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,0,0,93,63,93,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,13,15,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,60,62,61,0,0,0,0,0,0,16,0,61,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,0,0,11,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,63,64,93,0,0,0,0,0,0,93,63,93,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,8,0,15,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,29,31,61,0,0,0,0,0,0,64,0,0,0,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,0,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,93,64,64,93,0,0,0,0,0,16,80,61,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,16,29,31,61,0,0,0,0,0,8,0,0,0,0,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,93,64,64,93,0,0,0,0,0,0,0,0,0,16,0,0,64,61,0,0,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,80,61,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,15,0,0,93,64,93,63,93,0,0,0,0,0,15,0,0,0,0,0,64,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,0,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,93,64,63,93,0,0,0,0,0,16,80,61,0,0,0,0,0,93,63,93,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,16,29,31,61,0,0,0,0,0,8,0,0,0,0,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,63,93,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,93,63,64,93,0,0,0,0,0,0,0,0,0,16,0,0,64,61,0,0,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,80,61,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,15,0,0,93,64,93,63,93,0,0,0,0,0,15,0,0,0,0,0,64,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,63,93,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,80,61,64,64,64,64,16,80,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,8,0,0,0,0,8,0,0,0,0,64,64,0,0,0,0,0,0,0,0,0,0,0,0,93,30,30,93,30,30,93,0,80,0,0,0,0,80,0,93,30,30,93,30,30,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,16,60,62,61,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,93,0,0,0,64,64,0,0,0,93,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,29,31,61,0,0,0,0,0,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,93,64,64,93,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,93,64,64,93,63,63,93,64,64,93,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,64,93,0,0,0,0,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,93,63,64,93,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,93,64,64,93,63,63,93,64,64,93,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,63,93,0,0,0,0,0,0,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,15,0,0,0,16,62,48,60,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,4,4,4,4,0,0,4,4,4,4,0,0,11,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,15,0,0,0,0,93,64,64,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,4,4,4,4,0,0,4,4,4,4,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,15,0,0,0,0,93,64,64,63,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,4,4,4,4,0,0,4,4,4,4,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,8,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,0,93,0,0,0,0,0,4,4,4,4,0,0,4,4,4,4,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,64,93,0,0,0,0,0,0,93,0,0,0,0,0,4,4,4,4,0,0,4,4,4,4,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,63,93,0,0,0,0,0,0,93,0,0,0,0,0,4,4,4,4,0,0,4,4,4,4,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,4,4,4,4,0,0,4,4,4,4,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,4,4,4,4,0,0,4,4,4,4,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,
@ -93,10 +93,10 @@
95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,16,93,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,93,61,0,0,0,0,0,0,0,93,14,14,93,14,14,93,14,14,93,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,4,4,4,0,0,0,0,64,0,0,0,0,0,0,0,16,93,61,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,16,93,61,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,64,0,0,0,0,0,16,93,61,0,0,4,4,4,4,4,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,93,63,93,0,0,0,0,0,0,0,64,0,0,0,0,0,16,93,61,0,0,4,4,4,4,4,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,61,0,0,0,64,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,16,0,61,0,0,0,0,0,4,4,4,0,0,0,0,16,93,61,0,0,4,4,4,4,4,0,0,0,16,93,61,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,16,93,61,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,16,93,61,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,93,63,93,0,0,16,0,61,0,0,0,0,0,4,4,4,0,0,0,0,16,93,61,0,0,4,4,4,4,4,0,0,0,16,93,61,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,63,93,0,0,0,0,0,16,93,61,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,16,93,61,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,93,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.5" tiledversion="1.7.2" orientation="orthogonal" renderorder="right-down" width="120" height="75" tilewidth="42" tileheight="85" infinite="0" nextlayerid="2" nextobjectid="1">
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="120" height="75" tilewidth="42" tileheight="85" infinite="0" nextlayerid="2" nextobjectid="1">
<tileset firstgid="1" source="Asci_tileset.tsx"/>
<layer id="1" name="Calque de Tuiles 1" width="120" height="75">
<data encoding="csv">
@ -17,16 +17,16 @@
4,4,4,4,0,0,4,4,4,0,4,4,4,4,4,0,4,4,4,0,0,0,93,12,93,0,0,0,0,0,93,64,93,0,0,0,0,0,0,4,4,4,4,4,0,0,16,64,61,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,
4,4,4,4,0,0,16,64,61,0,4,4,4,4,4,0,16,64,61,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,4,4,4,0,4,4,4,4,
4,4,4,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,16,64,61,0,0,4,4,4,
16,64,61,0,0,0,0,0,0,0,0,16,64,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,16,64,61,0,0,0,0,0,0,0,16,64,61,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,16,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,16,64,61,
0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,64,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,
16,64,61,0,0,0,0,0,0,0,0,16,64,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,16,64,61,0,0,0,0,0,0,0,16,64,61,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,16,0,0,64,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,16,64,61,
0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,63,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,
0,0,4,4,4,4,4,0,4,4,4,4,4,0,0,0,0,0,0,0,8,96,8,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,4,4,4,4,4,0,
0,0,4,4,4,4,4,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,96,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,61,0,0,0,65,96,8,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,0,0,0,16,64,61,0,0,0,4,4,4,4,4,0,
0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,64,0,0,0,0,0,15,8,96,13,65,0,0,0,0,0,0,0,0,0,16,9,10,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,64,64,93,0,0,0,0,1,96,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,4,4,4,0,0,
0,0,4,4,4,4,4,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,96,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,64,61,0,0,0,65,96,8,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,0,0,0,16,64,61,0,0,0,4,4,4,4,4,0,
0,0,0,4,4,4,0,0,0,4,4,4,0,0,0,0,0,64,0,0,0,0,0,15,8,96,13,65,0,0,0,0,0,0,0,0,0,16,9,10,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,63,93,0,0,0,0,1,96,0,0,0,16,14,61,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,4,4,4,0,0,
0,0,0,16,64,61,0,0,0,16,64,61,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,15,65,0,0,0,0,0,0,0,0,93,0,0,93,64,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,93,63,93,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,16,64,61,0,0,
4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,93,64,0,0,0,9,10,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,65,8,1,65,1,0,0,0,0,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,
4,4,4,4,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,93,63,93,64,64,64,64,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,64,64,64,0,0,0,0,0,0,13,96,1,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,
4,4,4,4,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,65,65,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,16,0,0,0,61,0,0,0,0,0,0,0,1,13,96,13,15,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,61,0,4,4,4,0,0,0,
4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,65,1,96,1,65,96,96,96,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,64,64,93,0,0,0,0,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,
4,4,4,4,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,65,65,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,16,64,0,0,61,0,0,0,0,0,0,0,1,13,96,13,15,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,61,0,4,4,4,0,0,0,
4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,65,1,96,1,65,96,96,96,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,63,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,
16,64,61,0,0,0,16,64,61,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,15,65,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,4,4,4,4,4,0,0,
0,0,0,4,4,4,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,13,0,0,96,1,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,12,93,0,0,0,0,4,4,4,0,0,0,
0,0,4,4,4,4,4,0,0,0,0,0,93,64,93,0,0,0,0,0,0,64,0,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,1,13,1,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,16,64,61,0,0,0,
@ -34,8 +34,8 @@
0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,13,96,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,93,64,64,64,64,16,48,0,0,48,61,64,64,64,64,93,0,0,93,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,4,4,4,
0,0,0,16,64,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,0,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,93,60,62,93,0,60,62,0,93,0,0,0,0,93,0,60,62,0,93,60,62,93,0,0,0,0,0,13,0,0,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,4,4,4,4,
0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,64,0,0,0,0,65,65,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,93,0,0,0,0,93,0,64,64,0,93,0,0,0,0,93,0,0,93,0,0,0,0,1,13,8,15,0,0,0,0,0,11,93,64,93,0,0,0,0,0,0,0,0,4,4,4,0,4,4,4,0,0,4,4,4,4,
0,0,0,0,4,4,4,4,4,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,61,0,0,0,65,0,0,0,0,0,0,0,0,1,15,0,0,0,0,0,0,0,0,11,0,0,93,64,64,93,64,64,64,64,93,16,63,63,61,93,64,64,64,64,93,64,64,93,0,0,0,0,13,65,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,16,64,61,0,0,0,4,4,4,
4,0,0,0,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,93,64,64,64,93,0,0,96,8,0,0,0,0,0,0,0,0,0,0,1,8,13,13,1,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,96,32,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,16,64,61,
0,0,0,0,4,4,4,4,4,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,0,0,61,0,0,0,65,0,0,0,0,0,0,0,0,1,15,0,0,0,0,0,0,0,0,11,0,0,93,64,64,93,64,64,64,64,93,16,63,63,61,93,64,64,64,64,93,64,64,93,0,0,0,0,13,65,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,16,64,61,0,0,0,4,4,4,
4,0,0,0,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,93,63,93,64,93,0,0,96,8,0,0,0,0,0,0,0,0,0,0,1,8,13,13,1,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,96,32,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,16,64,61,
4,4,0,0,0,4,4,4,0,4,4,4,4,4,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,0,0,0,0,8,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,8,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,
4,4,0,0,0,16,64,61,0,0,4,4,4,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,65,65,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0,0,0,0,64,0,0,0,0,0,15,15,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,65,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,61,0,0,0,0,0,0,4,4,4,0,
4,0,0,0,0,0,0,0,0,0,16,64,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,9,80,10,0,0,8,13,8,13,13,0,0,0,0,0,9,80,10,0,0,0,0,0,65,65,65,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,4,4,4,4,4,
@ -44,25 +44,25 @@
4,4,4,4,4,0,4,4,4,4,4,0,0,0,93,12,93,0,0,0,0,0,0,65,96,13,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,13,96,8,8,1,15,96,65,1,1,65,0,0,65,1,0,0,0,0,0,0,0,0,0,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,16,64,61,0,
4,4,4,4,4,0,0,4,4,4,0,0,0,0,93,64,93,0,0,0,0,0,96,96,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,8,0,15,8,0,0,0,0,0,64,0,0,0,13,8,15,13,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,61,0,0,0,0,0,0,0,4,
0,4,4,4,0,0,0,16,64,61,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,93,12,93,0,0,0,0,0,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,80,10,0,0,0,0,0,0,15,0,0,0,0,0,9,80,10,0,0,0,0,0,1,1,0,0,96,15,65,15,0,0,0,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,4,4,
0,16,64,61,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,96,65,0,0,0,0,0,93,64,93,0,0,0,0,16,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,8,8,13,0,0,0,0,16,14,61,0,0,0,0,0,0,8,13,1,13,0,0,0,0,0,16,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,4,4,
0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,64,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,1,0,0,0,0,93,64,64,64,93,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,
0,16,64,61,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,96,65,0,0,0,0,0,93,64,93,0,0,0,0,16,0,0,64,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,14,61,0,0,0,0,0,8,8,13,0,0,0,0,16,14,61,0,0,0,0,0,0,8,13,1,13,0,0,0,0,0,16,64,0,0,61,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,4,4,
0,0,0,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,63,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,1,0,0,0,0,93,63,93,64,93,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,4,
0,0,0,0,0,4,4,4,4,4,0,0,4,4,4,4,4,0,0,0,1,13,96,96,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,64,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,15,1,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,65,13,15,13,65,15,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,16,
0,4,4,4,0,4,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,96,1,15,65,15,65,1,13,1,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,61,0,0,0,0,0,0,9,80,10,0,0,0,0,0,96,8,0,0,0,0,0,9,80,10,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,61,0,4,4,4,0,
4,4,4,4,4,0,16,64,61,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,13,1,13,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,64,64,93,0,0,0,0,0,0,16,14,61,0,0,0,13,15,65,0,0,0,0,0,0,16,14,61,0,0,0,0,0,15,15,0,0,0,0,64,64,64,0,0,0,0,1,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,4,4,4,4,4,
4,4,4,4,4,0,0,0,0,0,0,0,0,16,64,61,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,65,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,13,8,15,96,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,15,0,0,16,0,0,0,61,0,0,0,65,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,4,4,4,4,4,
0,4,4,4,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,0,64,0,0,0,0,0,0,0,64,64,64,0,0,0,0,0,0,0,0,0,0,15,1,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,65,0,93,64,64,64,93,0,0,0,65,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,4,4,4,0,
0,16,64,61,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,93,12,93,0,0,0,0,0,16,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,13,96,0,0,0,0,0,0,0,0,64,64,64,0,0,0,15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,16,64,61,0,
0,0,0,4,4,4,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,8,13,0,0,93,64,93,0,0,0,0,0,93,64,64,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,8,13,1,0,0,0,0,0,0,0,16,0,0,0,61,0,0,0,0,0,96,8,13,96,13,8,8,65,8,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,
0,0,4,4,4,4,4,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,64,0,0,93,12,93,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,93,64,64,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,
0,4,4,4,0,4,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,96,1,15,65,15,65,1,13,1,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,64,61,0,0,0,0,0,0,9,80,10,0,0,0,0,0,96,8,0,0,0,0,0,9,80,10,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,61,0,4,4,4,0,
4,4,4,4,4,0,16,64,61,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,13,1,13,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,63,93,0,0,0,0,0,0,16,14,61,0,0,0,13,15,65,0,0,0,0,0,0,16,14,61,0,0,0,0,0,15,15,0,0,0,0,64,64,64,0,0,0,0,1,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,4,4,4,4,4,
4,4,4,4,4,0,0,0,0,0,0,0,0,16,64,61,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,65,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,13,8,15,96,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,15,0,0,16,0,0,64,61,0,0,0,65,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,4,4,4,4,4,
0,4,4,4,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,0,64,0,0,0,0,0,0,0,64,64,64,0,0,0,0,0,0,0,0,0,0,15,1,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,65,0,93,64,93,63,93,0,0,0,65,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,4,4,4,0,
0,16,64,61,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,93,12,93,0,0,0,0,0,16,64,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,13,96,0,0,0,0,0,0,0,0,64,64,64,0,0,0,15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,16,64,61,0,
0,0,0,4,4,4,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,8,13,0,0,93,64,93,0,0,0,0,0,93,63,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,8,13,1,0,0,0,0,0,0,0,16,64,0,0,61,0,0,0,0,0,96,8,13,96,13,8,8,65,8,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,
0,0,4,4,4,4,4,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,64,0,0,93,12,93,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,93,63,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,
0,0,4,4,4,4,4,0,0,16,64,61,0,0,0,0,0,0,64,64,64,0,0,0,0,0,16,0,0,0,61,0,93,64,93,0,0,0,0,0,8,15,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,
0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,61,0,0,0,0,93,64,64,64,93,0,0,0,0,0,0,0,0,0,0,0,13,15,1,65,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,65,65,8,13,1,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,12,93,0,0,0,0,13,0,0,0,0,0,0,0,4,4,4,0,16,64,61,4,4,4,0,0,
4,4,0,16,64,61,0,0,4,4,4,0,0,0,0,0,0,93,64,64,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,15,96,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,65,1,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,93,64,93,0,0,0,15,0,0,0,0,0,0,0,4,4,4,4,4,0,0,4,4,4,4,4,0,
0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,16,64,0,0,61,0,0,0,0,93,64,64,64,93,0,0,0,0,0,0,0,0,0,0,0,13,15,1,65,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,65,65,8,13,1,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,12,93,0,0,0,0,13,0,0,0,0,0,0,0,4,4,4,0,16,64,61,4,4,4,0,0,
4,4,0,16,64,61,0,0,4,4,4,0,0,0,0,0,0,93,63,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,15,96,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,65,1,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,93,64,93,0,0,0,15,0,0,0,0,0,0,0,4,4,4,4,4,0,0,4,4,4,4,4,0,
4,4,4,0,0,0,0,4,4,4,4,4,0,13,1,0,0,0,0,0,0,0,0,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,12,93,0,0,0,1,1,0,0,0,64,0,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,15,96,0,0,0,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,0,0,0,0,4,4,4,4,4,0,0,4,4,4,4,4,0,
4,4,4,0,0,0,0,4,4,4,4,4,0,0,15,13,0,0,0,0,0,0,16,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,8,0,0,93,12,93,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,15,96,96,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,0,0,
4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,15,13,0,0,0,0,0,93,64,64,64,93,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,65,13,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,96,96,0,0,0,0,0,0,16,64,61,0,0,0,0,16,64,61,0,0,
4,4,4,0,0,0,0,4,4,4,4,4,0,0,15,13,0,0,0,0,0,0,16,0,0,64,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,8,0,0,93,12,93,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,15,96,96,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,4,4,0,0,
4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,15,13,0,0,0,0,0,93,64,93,63,93,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,65,13,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,96,96,0,0,0,0,0,0,16,64,61,0,0,0,0,16,64,61,0,0,
64,61,0,0,0,0,0,0,16,64,61,0,4,4,4,0,8,13,0,0,0,0,0,0,0,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,64,64,64,0,0,0,0,0,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,8,15,1,65,65,13,15,15,8,0,96,8,15,65,15,65,65,65,0,0,0,0,0,0,0,0,0,0,0,13,65,15,15,65,8,8,0,1,96,13,13,96,0,0,0,0,0,4,4,4,0,0,0,0,0,0,
0,0,4,4,4,0,0,0,0,0,0,4,4,4,4,4,0,96,1,13,96,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,16,0,0,0,61,0,0,0,0,65,15,65,65,1,0,0,1,8,1,13,15,15,8,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,65,8,65,1,15,8,96,65,1,96,13,0,0,0,0,0,0,0,96,1,1,15,0,0,0,0,0,0,4,4,4,4,4,0,4,4,4,0,
0,4,4,4,4,4,0,0,0,0,0,4,4,4,4,4,0,0,0,0,15,96,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,64,64,93,0,0,0,96,0,0,0,0,0,1,8,96,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,
0,0,4,4,4,0,0,0,0,0,0,4,4,4,4,4,0,96,1,13,96,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,16,0,0,64,61,0,0,0,0,65,15,65,65,1,0,0,1,8,1,13,15,15,8,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,65,8,65,1,15,8,96,65,1,96,13,0,0,0,0,0,0,0,96,1,1,15,0,0,0,0,0,0,4,4,4,4,4,0,4,4,4,0,
0,4,4,4,4,4,0,0,0,0,0,4,4,4,4,4,0,0,0,0,15,96,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,63,93,0,0,0,96,0,0,0,0,0,1,8,96,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,
0,4,4,4,4,4,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,8,65,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,13,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,0,0,0,0,4,4,4,0,4,4,4,4,4,
0,0,4,4,4,0,4,4,4,0,0,0,16,64,61,0,0,0,0,0,0,0,0,0,13,1,13,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,65,65,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,16,64,61,0,0,4,4,4,0,
0,0,16,64,61,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,8,15,96,8,65,65,13,96,13,15,15,1,65,65,13,0,0,0,0,0,0,93,12,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,4,4,4,4,4,0,0,0,4,4,4,0,0,0,0,0,0,0,16,64,61,0,

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.5" tiledversion="1.7.2" orientation="orthogonal" renderorder="right-down" width="75" height="50" tilewidth="42" tileheight="85" infinite="0" nextlayerid="2" nextobjectid="1">
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="75" height="50" tilewidth="42" tileheight="85" infinite="0" nextlayerid="2" nextobjectid="1">
<tileset firstgid="1" source="Asci_tileset.tsx"/>
<layer id="1" name="Calque de Tuiles 1" width="75" height="50">
<data encoding="csv">
@ -15,10 +15,10 @@
0,0,0,16,61,0,0,0,16,0,0,0,0,61,0,0,0,0,0,0,16,0,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,61,64,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,16,0,0,61,0,0,
0,0,16,0,0,61,0,16,0,0,0,0,0,0,61,0,16,61,0,16,0,0,0,0,0,0,61,0,0,0,0,0,0,0,0,64,64,0,0,0,0,0,0,93,64,0,80,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,61,0,16,0,0,0,0,61,0,
0,16,0,0,0,0,61,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,16,29,31,61,0,0,0,0,0,93,63,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,0,
16,0,0,0,0,0,0,61,0,16,61,0,0,0,16,0,0,0,0,61,0,0,0,0,0,0,0,16,80,61,0,11,0,0,93,64,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,61,0,0,0,16,61,0,
0,0,0,0,0,0,0,0,16,0,0,61,0,16,0,0,0,0,0,0,61,0,0,0,0,0,0,93,64,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,16,0,0,0,0,0,0,61,0,16,0,0,61,
16,0,0,0,0,0,0,61,0,16,61,0,0,0,16,0,0,0,0,61,0,0,0,0,0,0,0,16,80,61,0,11,0,0,93,64,63,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,61,0,0,0,16,61,0,
0,0,0,0,0,0,0,0,16,0,0,61,0,16,0,0,0,0,0,0,61,0,0,0,0,0,0,93,63,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,16,0,0,0,0,0,0,61,0,16,0,0,61,
16,61,0,0,0,0,0,16,0,0,0,0,61,0,16,61,0,0,0,0,0,0,4,4,4,0,0,0,15,0,0,0,0,0,0,0,0,4,4,4,4,4,4,0,0,4,4,4,4,4,4,0,0,0,0,0,0,16,80,61,0,0,0,0,16,61,0,0,0,0,16,0,0,0,0,
0,0,61,0,0,0,16,0,0,0,0,0,0,16,0,0,61,0,0,0,0,4,4,4,4,4,0,0,1,0,0,0,4,4,4,0,0,4,4,4,4,4,4,0,0,4,4,4,4,4,4,0,0,0,0,0,0,93,64,93,0,0,0,16,0,0,61,0,0,16,0,0,0,0,0,
0,0,61,0,0,0,16,0,0,0,0,0,0,16,0,0,61,0,0,0,0,4,4,4,4,4,0,0,1,0,0,0,4,4,4,0,0,4,4,4,4,4,4,0,0,4,4,4,4,4,4,0,0,0,0,0,0,93,63,93,0,0,0,16,0,0,61,0,0,16,0,0,0,0,0,
0,0,0,61,0,0,0,16,61,0,0,0,16,0,0,0,0,61,0,0,0,0,4,4,4,0,0,0,8,15,0,4,4,4,4,4,0,4,4,4,4,4,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,61,0,0,0,16,61,0,0,
0,0,0,0,61,0,16,0,0,61,0,16,0,0,0,0,0,0,61,0,0,0,16,93,61,0,0,0,0,65,96,0,4,4,4,0,0,4,4,4,4,0,0,0,0,0,0,4,4,4,4,0,0,0,4,4,4,0,0,0,0,16,0,0,0,0,0,0,61,0,16,0,0,61,0,
0,0,0,0,0,16,0,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,0,0,1,0,16,93,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,16,61,0,0,0,0,0,0,16,0,0,0,0,61,
@ -29,11 +29,11 @@
0,0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,4,4,4,0,0,0,0,0,65,65,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,16,0,0,0,0,61,0,0,0,16,
16,61,0,0,0,16,0,0,0,0,61,0,0,0,0,0,0,16,0,0,0,0,61,0,0,4,4,4,4,4,0,0,0,64,0,0,96,0,0,0,0,0,64,64,0,0,0,1,0,0,0,0,0,0,0,4,4,4,0,0,0,16,61,0,16,0,0,0,0,0,0,61,0,16,0,
0,0,61,0,16,0,0,0,0,0,0,61,0,16,61,0,16,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,16,0,61,0,8,0,0,0,0,16,29,31,61,0,0,96,65,96,0,0,0,0,0,16,93,61,0,0,16,0,0,61,0,0,0,0,0,0,0,0,16,0,0,
0,0,0,61,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,0,0,0,0,16,93,61,0,0,0,93,64,93,0,15,0,0,0,0,93,64,64,93,0,0,0,0,1,15,8,0,0,0,0,0,0,0,16,0,0,0,0,61,0,0,0,16,61,0,16,0,0,0,
0,0,0,61,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,0,0,0,0,16,93,61,0,0,0,93,63,93,0,15,0,0,0,0,93,63,64,93,0,0,0,0,1,15,8,0,0,0,0,0,0,0,16,0,0,0,0,61,0,0,0,16,61,0,16,0,0,0,
0,0,0,0,61,0,16,61,0,0,0,16,0,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,96,65,65,8,96,0,0,0,0,0,0,0,0,4,4,4,0,0,0,13,0,0,64,0,0,0,16,0,0,0,0,0,0,61,0,16,0,0,61,0,0,0,0,
0,0,0,0,0,16,0,0,61,0,16,0,0,0,0,0,0,61,0,16,61,0,0,0,0,0,0,0,0,0,0,1,0,0,64,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,8,13,0,16,14,61,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,61,0,0,0,
0,0,0,0,16,0,0,0,0,61,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,32,0,0,0,0,15,0,16,0,61,0,0,0,0,0,0,0,0,0,4,4,4,0,13,1,0,0,93,64,93,0,0,0,0,0,0,0,0,16,61,0,0,0,0,0,0,61,0,16,
0,0,0,16,0,0,0,0,0,0,61,0,16,61,0,0,0,16,0,0,0,0,61,0,0,0,0,0,0,0,0,1,0,93,64,93,0,0,0,0,0,0,0,0,0,16,93,61,0,13,1,0,11,96,65,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,16,0,
0,0,0,0,16,0,0,0,0,61,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,32,0,0,0,0,15,0,16,0,61,0,0,0,0,0,0,0,0,0,4,4,4,0,13,1,0,0,93,63,93,0,0,0,0,0,0,0,0,16,61,0,0,0,0,0,0,61,0,16,
0,0,0,16,0,0,0,0,0,0,61,0,16,61,0,0,0,16,0,0,0,0,61,0,0,0,0,0,0,0,0,1,0,93,63,93,0,0,0,0,0,0,0,0,0,16,93,61,0,13,1,0,11,96,65,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,16,0,
0,0,0,0,0,0,0,0,0,0,0,16,0,0,61,0,16,0,0,0,0,0,0,61,0,0,0,0,0,0,0,13,15,96,96,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,96,8,13,65,96,8,8,96,0,0,0,0,16,0,0,0,0,61,0,0,0,16,61,0,0,
0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,61,0,0,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,1,96,0,64,16,0,61,0,0,0,4,4,4,0,0,0,0,64,64,64,64,64,0,0,8,0,0,0,16,0,0,0,0,0,0,61,0,16,0,0,61,0,
0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,61,0,16,61,0,0,0,0,0,4,4,4,4,4,0,0,96,0,0,16,80,0,0,93,0,0,4,4,4,4,4,0,0,16,64,64,64,64,64,61,0,65,8,0,0,0,0,0,16,61,0,0,0,16,0,0,0,0,61,
@ -45,7 +45,7 @@
0,0,0,0,0,0,16,61,0,16,0,0,0,0,0,0,61,0,16,61,0,0,0,0,0,0,0,0,0,96,1,1,8,0,0,0,4,4,4,0,0,0,0,0,0,11,0,0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,16,61,0,0,0,0,0,0,61,
0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,0,0,0,0,0,65,96,0,0,16,93,61,0,0,64,0,0,0,0,0,0,0,0,4,4,4,0,0,0,64,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,
0,0,0,0,16,0,0,0,0,61,0,0,0,0,0,0,16,0,0,0,0,61,0,0,0,16,61,0,0,0,0,0,0,1,15,15,0,0,0,0,16,80,61,0,0,0,0,0,1,15,16,93,61,0,0,16,80,61,0,0,0,0,0,0,16,0,0,0,0,61,0,0,0,16,61,
0,0,0,16,0,0,0,0,0,0,61,0,16,61,0,16,0,0,0,0,0,0,61,0,16,0,0,61,0,0,0,0,0,0,0,15,8,8,0,0,93,64,93,0,0,0,13,8,65,8,96,8,13,65,0,93,64,93,0,0,16,61,0,16,0,0,0,0,0,0,61,0,16,0,0,
0,0,0,16,0,0,0,0,0,0,61,0,16,61,0,16,0,0,0,0,0,0,61,0,16,0,0,61,0,0,0,0,0,0,0,15,8,8,0,0,93,63,93,0,0,0,13,8,65,8,96,8,13,65,0,93,63,93,0,0,16,61,0,16,0,0,0,0,0,0,61,0,16,0,0,
0,0,0,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,0,0,16,0,0,0,0,61,0,0,0,0,0,0,0,0,0,13,15,13,96,1,15,13,65,13,0,0,16,61,0,0,8,13,1,13,65,0,16,0,0,61,0,0,0,0,0,0,0,0,16,0,0,0,
0,0,0,0,0,16,61,0,0,0,16,0,0,0,0,61,0,0,0,16,61,0,16,0,0,0,0,0,0,61,0,16,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,0,0,0,16,0,0,0,0,61,0,0,0,16,61,0,16,0,0,0,0,
0,0,0,0,16,0,0,61,0,16,0,0,0,0,0,0,61,0,16,0,0,61,0,0,0,0,0,0,0,0,16,0,0,61,0,0,0,16,61,0,0,0,0,0,0,0,0,16,0,0,0,0,61,0,16,61,0,16,0,0,0,0,0,0,61,0,16,0,0,61,0,0,0,0,0,