From e7ade8cbba7e7f3a57d016760965865abf91e9b2 Mon Sep 17 00:00:00 2001 From: Shadow15510 Date: Fri, 2 Sep 2022 08:22:30 +0200 Subject: [PATCH] Update repo --- idk/alfheim.py | 1 - idk/asci.py | 40 ++-- idk/asgard.py | 48 +++-- idk/hy_po.py | 355 --------------------------------- idk/hypo.py | 440 +++++++++++++++++++++++++++++++++++++++++ idk/idk.py | 22 ++- idk/idk_lib.py | 23 +-- idk/jotunheim.py | 3 - idk/midgard.py | 4 - idk/muspellheim.py | 2 - idk/nidavellir.py | 2 - idk/niflheim.py | 1 - idk/svartalfheim.py | 1 - idk/vanaheim.py | 136 ++++++++++++- tiled_map/asgard.tmx | 48 ++--- tiled_map/vanaheim.tmx | 12 +- 16 files changed, 683 insertions(+), 455 deletions(-) delete mode 100644 idk/hy_po.py create mode 100644 idk/hypo.py diff --git a/idk/alfheim.py b/idk/alfheim.py index 5730a66..f48ac5c 100644 --- a/idk/alfheim.py +++ b/idk/alfheim.py @@ -131,7 +131,6 @@ h_24 = (r""" (20, 19, 2, 52, 31)) alfheim_entities = ( - [0, '?', 2, 34, 20, 'stand by'], [0, '*', 2, 23, 17, 'stand by'], [0, '*', 2, 11, 4, 'stand by'], [0, '*', 2, 46, 6, 'stand by'], diff --git a/idk/asci.py b/idk/asci.py index d1990bf..1401578 100644 --- a/idk/asci.py +++ b/idk/asci.py @@ -6,7 +6,7 @@ class Asci: def __init__(self, maps, entities, events_mapping, keys_mapping, behaviors=None, screen_width=21, screen_height=7): # Load maps and entities self.maps = [Map(*i) for i in maps] - self.entities = {} + self.entities = dict() entity_id = 0 for i in entities: if not i[0]: @@ -309,11 +309,13 @@ class Entity: self.behavior = behavior self.args = list(args) - def change_behavior(self, new_behavior): - if self.behavior != "permanent": self.behavior = new_behavior + 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.behavio != "permanent": self.map_id, self.pos_x, self.pos_y = 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 @@ -402,11 +404,26 @@ def follow(entity, data, stat, screen, walkable): 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]), 0, (data[2], data[3] + 1))[data[4] - 1] - if not (0 <= cases[0] < screen.map_width and 0 <= cases[1] < screen.map_height): entity.pos_x, entity.pos_y = data[2], data[3] - elif not screen.get_cell(cases[0], cases[1]) in walkable: (entity.pos_x, entity.pos_y), (data[2], data[3]) = (data[2], data[3]), (entity.pos_x, entity.pos_y) - else: entity.pos_x, entity.pos_y = cases + + 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): @@ -414,11 +431,12 @@ def walk_between(entity, data, stat, screen, walkable): 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 - entity.args[0] = frame + 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 = [] @@ -428,7 +446,7 @@ def walk_to(entity, data, stat, screen, walkable): if screen.get_cell(new_x, new_y) in walkable: entity.pos_x, entity.pos_y = new_x, new_y - entity.args[0] += 1 + if (entity.pos_x, entity.pos_y) == entity.args[1][frame]: entity.args[0] += 1 def follow_by_player(entity, data, stat, screen, walkable): @@ -446,7 +464,7 @@ def follow_by_player(entity, data, stat, screen, walkable): 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])) + 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 diff --git a/idk/asgard.py b/idk/asgard.py index c840713..f823fd6 100644 --- a/idk/asgard.py +++ b/idk/asgard.py @@ -50,29 +50,29 @@ asgard = (r""" #### _ ### /-\ ### ### ### ~(~)~ ### /_____________\ _ ~~~~~~~~~~~~~~ ### / \ \ || /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 @@ -393,8 +393,6 @@ h_20 = (r""" (35, 24, 0, 11, 69)) asgard_entities = ( - [0, '?', 0, 120, 26, 'stand by'], - [0, '?', 0, 51, 55, 'stand by'], [0, '*', 0, 34, 7, 'stand by'], [0, '*', 0, 121, 21, 'stand by'], [0, '*', 0, 117, 32, 'stand by'], diff --git a/idk/hy_po.py b/idk/hy_po.py deleted file mode 100644 index 7e1e5a5..0000000 --- a/idk/hy_po.py +++ /dev/null @@ -1,355 +0,0 @@ -from idk_lib import * - -try: - import dlc_hy_po 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 - - elif identifiant == "Kvasir": return kvasir(data, stat, entites) - - 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, "follow"], ) - -print(center("L'Hydromel poetique", 21, " ")) -print() -print("Entrez 'hy_po()' 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 hy_po(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("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) - stat, data = idk_game.mainloop(100, 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("hy_po(\"{}\")".format(encode_save(data, stat[:-1]))) - - -def kvasir(data, stat, entites): - 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 !"] - } - - -# - - - 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): - pass - - -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): - pass - - -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] == 2: entites["Kvasir"].change_behavior("stand by") - 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, tu la trouvera peut-etre au Folkvangr."] - } - - -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): - pass - - -# - - - 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 \ No newline at end of file diff --git a/idk/hypo.py b/idk/hypo.py new file mode 100644 index 0000000..659cd53 --- /dev/null +++ b/idk/hypo.py @@ -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 \ No newline at end of file diff --git a/idk/idk.py b/idk/idk.py index 5e60af8..3b75223 100644 --- a/idk/idk.py +++ b/idk/idk.py @@ -64,7 +64,27 @@ def point_of_interest(data, stat, entities, identifiant): else: return event -entities = asgard_entities + vanaheim_entities + alfheim_entities + midgard_entities + niflheim_entities + jotunheim_entities + nidavellir_entities + muspellheim_entities + svartalfheim_entities + dlc_entities +poi = ( + [0, '?', 0, 120, 26, 'stand by'], + [0, '?', 0, 51, 55, 'stand by'], + [0, '?', 1, 42, 20, 'stand by'], + [0, '?', 2, 34, 20, 'stand by'], + [0, '?', 3, 29, 9, 'stand by'], + [0, '?', 3, 53, 24, 'stand by'], + [0, '?', 3, 66, 45, 'stand by'], + [0, '?', 3, 52, 79, 'stand by'], + [0, '?', 4, 88, 32, 'stand by'], + [0, '?', 5, 60, 57, 'stand by'], + [0, '?', 5, 23, 70, 'stand by'], + [0, '?', 5, 60, 86, 'stand by'], + [0, '?', 6, 65, 7, 'stand by'], + [0, '?', 6, 66, 58, 'stand by'], + [0, '?', 7, 66, 8, 'stand by'], + [0, '?', 7, 65, 97, 'stand by'], + [0, '?', 8, 113, 37, 'stand by'] + ) + +entities = asgard_entities + vanaheim_entities + alfheim_entities + midgard_entities + niflheim_entities + jotunheim_entities + nidavellir_entities + muspellheim_entities + svartalfheim_entities + poi + dlc_entities print(center("Island of the Dead", 21, " ")) print(center("* Kings *", 21, " ")) diff --git a/idk/idk_lib.py b/idk/idk_lib.py index 6d59b78..05ea3cf 100644 --- a/idk/idk_lib.py +++ b/idk/idk_lib.py @@ -21,6 +21,7 @@ maps = ( 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, h_21, h_22, h_23, h_24, @@ -29,8 +30,11 @@ maps = ( 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_45, h_46, h_47, h_48, + + h_49, h_50, h_51, h_52, h_53, h_54, + +) spells = ("Soin", "Flammes", "Givre", "Etincelles", "Fatigue") spells_level = ("I", "II", "III", "IV", "V") @@ -166,8 +170,8 @@ 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.") - sel_choice = print_text("{0}\n1. Attaquer\n2. Voler\n3. Ne rien faire".format(choice(msg)), 1, 3, 3) + 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)] @@ -181,7 +185,7 @@ def npc_core(event_fn, data, stat, entities, identifiant): else: return [0, "Votre victime vous a vu et vous a mis une raclee.", 0, (0, -10)] - elif sel_choice == 3: + else: return None elif type(event) == tuple and len(event) > 2: @@ -237,8 +241,6 @@ def routine(data, stat): if stat[2][4] > 99: stat[2][4] = 99 - - def low_bar(data, stat): h = stat[4] // 60 m = stat[4] % 60 @@ -323,8 +325,7 @@ def fight(stat, opponent_stat, opponent_name): print_text(msg) - # opponent_stat = [vitesse, agilité, attaque, défense, vie] - # player_stat = [vitesse, agilité, attaque, défense, vie] + # *_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 @@ -513,7 +514,7 @@ def spell(data, stat): def quick_save(data, stat): data_copy = data[:] - stat_copy = stat[:-1] + stat_copy = stat[:] print_text("\"{}\"".format(encode_save(data_copy, stat_copy))) @@ -583,7 +584,7 @@ def decode_save(save_code): 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: -1], encoded_stat[-1], -1] + 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] = [] diff --git a/idk/jotunheim.py b/idk/jotunheim.py index 8e58a08..56a7493 100644 --- a/idk/jotunheim.py +++ b/idk/jotunheim.py @@ -294,9 +294,6 @@ h_36 = (r""" (20, 14, 5, 23, 88)) jotunheim_entities = ( - [0, '?', 5, 60, 57, 'stand by'], - [0, '?', 5, 23, 70, 'stand by'], - [0, '?', 5, 60, 86, 'stand by'], ["Utarg", '*', 5, 34, 56, 'stand by'], [0, '*', 5, 25, 10, 'stand by'], [0, '*', 5, 39, 20, 'stand by'], diff --git a/idk/midgard.py b/idk/midgard.py index 2386469..bb73f80 100644 --- a/idk/midgard.py +++ b/idk/midgard.py @@ -193,10 +193,6 @@ h_28 = (r""" (25, 14, 3, 61, 69)) midgard_entities = ( - [0, '?', 3, 29, 9, 'stand by'], - [0, '?', 3, 53, 24, 'stand by'], - [0, '?', 3, 66, 45, 'stand by'], - [0, '?', 3, 52, 79, 'stand by'], [0, '*', 3, 39, 49, 'stand by'], [0, '*', 3, 8, 59, 'stand by'], [0, '*', 3, 66, 56, "stand by"], diff --git a/idk/muspellheim.py b/idk/muspellheim.py index c896753..ab98684 100644 --- a/idk/muspellheim.py +++ b/idk/muspellheim.py @@ -198,8 +198,6 @@ h_44 = (r""" (25, 24, 7, 68, 89)) muspellheim_entities = ( - [0, '?', 7, 66, 8, 'stand by'], - [0, '?', 7, 65, 97, 'stand by'], [0, '*', 7, 20, 12, 'stand by'], [0, '*', 7, 78, 14, 'stand by'], [0, '*', 7, 54, 80, 'stand by'], diff --git a/idk/nidavellir.py b/idk/nidavellir.py index 6769b03..ec0bea9 100644 --- a/idk/nidavellir.py +++ b/idk/nidavellir.py @@ -199,8 +199,6 @@ h_41 = (r""" (10, 19, 6, 23, 51)) nidavellir_entities = ( - [0, '?', 6, 65, 7, 'stand by'], - [0, '?', 6, 66, 58, 'stand by'], [0, '*', 6, 49, 21, 'stand by'], [0, '*', 6, 25, 31, 'stand by'], [0, '*', 6, 74, 46, 'stand by'], diff --git a/idk/niflheim.py b/idk/niflheim.py index 4982939..367a859 100644 --- a/idk/niflheim.py +++ b/idk/niflheim.py @@ -128,7 +128,6 @@ h_30 = (r""" (25, 19, 4, 71, 31)) niflheim_entities = ( - [0, '?', 4, 88, 32, 'stand by'], [0, '*', 4, 95, 30, 'stand by'], [0, '*', 4, 57, 31, 'stand by'], [0, '*', 4, 39, 60, 'stand by'], diff --git a/idk/svartalfheim.py b/idk/svartalfheim.py index 6e8618e..54ee68f 100644 --- a/idk/svartalfheim.py +++ b/idk/svartalfheim.py @@ -161,7 +161,6 @@ h_48 = (r""" (19, 14, 8, 57, 59)) svartalfheim_entities = ( - [0, '?', 8, 113, 37, 'stand by'], [0, '*', 8, 104, 30, 'stand by'], [0, '*', 8, 120, 49, 'stand by'], [0, '*', 8, 105, 46, 'stand by'], [0, '*', 8, 22, 50, 'stand by'], diff --git a/idk/vanaheim.py b/idk/vanaheim.py index 6db6784..d76c59e 100644 --- a/idk/vanaheim.py +++ b/idk/vanaheim.py @@ -11,10 +11,10 @@ vanaheim = (r""" /\ / \ / \ / \_ / / \ / \ / \ /\ / \ __ |_ o\ /\ / \ / \ / \ _ /<>\ |^|_| / \ -/ \ /\ / \ /o\ |__| / \ /\ +/ \ /\ / \ /o\ |_^| / \ /\ / \ / \ |_| _ / \ / \ /\ / \ /\ ### . ###### ###### /o\ /\ / - \ / / \ ##### ### ###### ###### |_| / \ / + \ / / \ ##### ### ###### ###### |^| / \ / \ /\ / \ ### '. ##### ##### ##### / \ /\ \ / \ / \ /|\ ` ### #### #### ### / \ / \ / \ __ /|\ ##### /\ / \ @@ -25,11 +25,11 @@ vanaheim = (r""" / \ / \ ### ``' ##### / \ / /\ / \ / \ ##### _ __ ### /\ / \ / \ / \ /\ / ### / \ ' /<>\ ` /|\ / \ / - \ / \ /|\ |_| . |__| .' / \ /\ / + \ / \ /|\ |^| . |^_| .' / \ /\ / \ /\ / \ ` ``' ### , _ / \ / \ / \ / \ /\ _ ##### ', /-\ / \ / \ / \ . / \ ### , |_| /\ \ / - / \ /\ / \ |_| /|\ , ` / \ / + / \ /\ / \ |^| /|\ , ` / \ / / \ / \ ,. _ ',` '' / \ /\ / \ ### _/ \ ### _____ ' / \ / \ / \ /\ ##### /o | ##### /_____\ `' /\ / \ @@ -41,7 +41,7 @@ vanaheim = (r""" /\ / \ /\ ' ### ##### /\ \ / \ / \ ` /|\ _ ### _ / \ / \ / \ /\ .. /o\ ./|\ /o\ / \ /\ - / \ /\ / \ / \ .'' |_| ,'`' ',` |_| /\ / \ / + / \ /\ / \ / \ .'' |^| ,'`' ',` |_| /\ / \ / / \ / \ ,., .,`, /\ ', ,` / \ / /\ / \ /\ / \ /\ / \ / \ /\ / / \ / \ / \ / \ /\ / \ /\ / \ / \ @@ -56,7 +56,13 @@ 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), ) @@ -98,9 +104,112 @@ h_22 = (r""" |\/=\/=\/=\/=\/=\/=]^[=\/=\/=\/=\/=\/==|""", (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, 42, 20, 'stand by'], - [0, '?', 1, 26, 29, 'stand by'], [0, '*', 1, 45, 39, 'stand by'], [0, '*', 1, 31, 12, 'stand by'], [0, '*', 1, 41, 45, 'stand by'], @@ -110,4 +219,15 @@ vanaheim_entities = ( [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'], + ) \ No newline at end of file diff --git a/tiled_map/asgard.tmx b/tiled_map/asgard.tmx index 790d5f8..abcab90 100644 --- a/tiled_map/asgard.tmx +++ b/tiled_map/asgard.tmx @@ -1,5 +1,5 @@ - + @@ -54,29 +54,29 @@ 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,64,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 diff --git a/tiled_map/vanaheim.tmx b/tiled_map/vanaheim.tmx index 3e82863..1d87fec 100644 --- a/tiled_map/vanaheim.tmx +++ b/tiled_map/vanaheim.tmx @@ -1,5 +1,5 @@ - + @@ -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, +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,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,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,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,64,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,