rename src folder

This commit is contained in:
Shadow15510 2022-01-11 20:29:10 +01:00
parent db9a6c0d99
commit a3bcb240ba
12 changed files with 3742 additions and 0 deletions

131
idk/alfheim.py Normal file
View File

@ -0,0 +1,131 @@
alfheim = (r"""
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~ ~~~~ ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~ * ~~~~~~ ## ~~~~~~~~~~~~ ~~~~~~~~ ~~~~~~~~~~~~~~~
~~~~~ ~~~~~~~ #### ~~~~~~~ ## ~~~~~~~~
~~~ ~~~~~ || ~~~~~~~ * #### __ ## ~~~~~~~
~~~ ~~~~~~~~ ## ~~~~~ ## || /[]\ #### ~~~~~
~~~ ~~~~~~~~~~~~ #### ## ## #### ` ' |__| || __ ~~~
~~~ ~~~~~~~~~~~~ ## || #### #### || ,' '.' / \ ~~~
~~~ ~~~~~ ~~~~ #### || || ` ' __ '`' . ` |__| ~~
~~~ ## ~~~ || '' /[]\ ' . ## ~~
~~ #### ## _ _________________ |__| ## `.` #### ~~
~~ || #### / \ / |]O[| |]O[| \ #### __ || ~~
~~~~ || |_| /___________________\ ## ## || /[]\ ~~
~~~~ ## _ |_/ \_/ _ \_/ \_| ## ## |__| ## ~~~~
~~~~ #### / \ |_| |_|/^\|_| |_| __ #### ~~~~
~~~~ || _ |_| * ## ## / \ `' || ~~~~
~~~~ /-\ ### ### ## ## |__| . , ~~~~
~~~~~~~~~ |_| _ ##### ##### `' `_ ,, , ~~~
~~~~~~~~~ /o\ ### ? ### ' _ ``' / \ ~~~
~~~~~~~~~~~ |_| /-\ /-\ , / \ |_| ~~~~ ~~~
~~~~~~~~~~~~ ### ### ' ,|_| .' _ ~~~~~ ~~~
~~~~~~ ~~~~~~~ ### ##### ` ##### . ` .,. /-\ ~~~~~ ~~~
~~~~~ ~~~~~~~ ##### ### ' ### _ ` , _ |_| _ ~~~~~~ ~~~
~~~~~ __ ~~ ### /-\ /-\ ` / \ , /o\ / \ ~~~~~~~~~~
~~~~~~ / \ /-\ ' . '``,'' |_|` |_| |_| ~~~~~~~~~~
~~~~~~ |__| ,. ' .` ', ~~~~~~~~~~
~~~~~~ __ ### ., _ . , _ ,. ~~~~~~~~~~
~~~~~~~~ / \ ##### ### / \ ` ' /o\__ `. ~~~~~~~~~
~~~~~~~~~ |__| ### ##### ### |_| . |_ o \==| .'`. ~~~~~~~
~~~~~~~~~~~~ ### /-\ ### ##### ,.` ||^|__| | . . ~~~~~~~
~~~~~~~~~~~~ ##### /-\ ### | .' ~~~~~~
~~~~~~~~~~~~~ ##### ### /-\ ### ### | ,`','` '',, ~~~~~~
~~~~~~~~~~~ ### ##### ### ##### ##### |==|==|==| ~~~~~
~~~~~~~~~~ ### |_| ##### ##### ### ### _ ~~~~~
~~~~~~~~~ ##### ### ##### /-\ /-\ ### _ / \ _ ~~~~
~~~~~~~~~ ##### |_| ### ### ##### /-\ |_| / \ ~~~~
~~~~~~~~~ ### |_| ##### ### ### |_| |_| ~~~~
~~~~~~~ |_| ~~~~~~~ ##### ##### /-\ _ ~~~~
~~~~~~~ ~~~~~~~~~~~~~~~~~~ ### ##### / \ _ ~~~~
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ |_| ### |_| / \ _ ~~~~
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~ |_| |_| / \ ~~~~
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ |_| ~~~~
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ ~~~
~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ ~~~~~~
~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~
~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~ #### #### ~~~~~~~~~~~~
~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ ### ### ~~~~~~~~~~~~
~~~~~~~~~~ __ ~~~~~~~~~~~~~~~~~~~~ __ ### ## ## ~~~~~~~~~~~~
~~~~~~~~~~ / \ ~~~~~~~~~~~~~~~~~~~~ / \ ##### ~~~~~~ ~~~~
~~~~~~~~~~ |__| ~~~~~~~~~~~~~ |__| ##### ## ## ~~~~~ ~~~~
~~~~~~~~~~ ### ~~~~~~~~ ### ### ### ~~ ~~~~
~~~~~~~~~ ##### ,'' |_| #### #### ~~~
~~~~~~~~ ##### ' * ### ,,,. ### ~~~
~~~~~~~~ ### ### ##### `,, ##### ~~~
~~~~~~~ |_| . ##### ##### ',, __ ### ##### ~~~
~~~~~~ ### ,##### ### ` / \ ### ##### ### ~~~
~~~~~~ ##### ### , ### |_|`' ### |__| ##### ##### |_| ~~~
~~~~~~ ##### #####``|_| ### ` ##### ##### ### ~~~
~~~~~~ ### ##### ' ##### ##### ### |_| ### ~~~
~~~~~~ |_| ### ,' ##### ### |_| ##### ~~~
~~~~~~ ## |_| ` ### |_| ~~ ##### ~~~
~~~~~ ## #### ` |_| ~~~~ ~~~~ ### ~~~
~~~~ #### || . ~~~~~~~ ~~~~~~ ~~~~~~~~ |_| ~~~
~~~~~ ## || ,` ' ~~~~~~~~~~~~~~~ ~~~~~~ ~~~~~~~~ ~~~
~~~~ #### _ ~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ ~~~~~~~~~~~ ~~~
~~~~~ || /-\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ ~~~~
~~~~~~ ~ |_| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~ ~~~~~
~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~""",
# Autres mondes (Alfheim = 2)
(14, 68, 1, 28, 13), # Vanaheim
# Maisons
(34, 16, 23, 25, 19),
(52, 31, 24, 20, 19), # Librairie
)
h_23 = (r"""
|==================|
| |
| _ _ |
| / \ / \ |
| \_/ \_/ |
| |_| * |_| |
| |
| _ _ |
| / \ / \ |
| \_/ \_/ |
|===========| |_| |_| |===========|
| |
| |
| _ _ |
|__ __ / \ / \ __ __|
/ \ / \ \_/ \_/ / \ / \
\__/ \__/ |_| |_| \__/ \__/
| | | | | | | |
| | | | | | | |
/ \______/ \_______|^|______/ \______/ \ """,
(25, 19, 2, 34, 16)) # * : (23, 5)
h_24 = (r"""
|====|_|======| |=====|_|====|
| /___\ | | /___\ |
| |===| |===========| |===| |
| * | | |
| +---+ | _ _ | +---+ |
| | | | (~) (~) | | | |
| | | | |_| |_| | | | |
| | | | | |
| +---+ +---+ |
| | _ _ | |
|=============| (~) (~) |============|
| | |_| |_| | |
| * |
| |
| | _ _ | |
|=============| (~) (~) |============|
|=============| |_| |_| |============|
| |
|====| |====|
|====|^|====| """,
(20, 19, 2, 52, 31)) # * : (12, 3) * : (36, 12)

294
idk/asci.py Normal file
View File

@ -0,0 +1,294 @@
# Asci (version 1.6.0)
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
class Asci:
def __init__(self, maps, events_mapping, keys_mapping, screen_width=21, screen_height=6):
# Load maps
self.maps = [Map(*i) for i in maps]
# Custom functions
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)}
# Screen initialisation
self.screen = Screen(screen_width, screen_height)
def _looked_case(self, direction):
# Left
if direction == 1:
return self.data[2] + 9, self.data[3] + 3
# Right
elif direction == 3:
return self.data[2] + 11, self.data[3] + 3
# Up
elif direction == 5:
return self.data[2] + 10, self.data[3] + 2
# Down
elif direction == 2:
return self.data[2] + 10, self.data[3] + 4
return self.data[2] + 10, self.data[3] + 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 direction == 3:
if self.data[-2] + 11 >= self.map_width: return -1
else: cell = self.screen.get_cell(11, 3)
if direction == 5:
if self.data[-1] + 2 < 0: return -1
else: cell = self.screen.get_cell(10, 2)
if direction == 2:
if self.data[-1] + 4 >= self.map_height: return -1
else: cell = self.screen.get_cell(10, 4)
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):
# 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 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
# Interaction
elif 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 _interaction(self, direction, cell_content):
x, y = self._looked_case(direction)
data_copy = [self.data[0], self.data[1], x, y]
# Get the event
event = self._game_events_mapping[cell_content](data_copy, self.stat)
if type(event) == tuple:
quest, event = event
else:
quest = "main"
# 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()
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 not event: return
event = read_event(self.data, event, quest)
# XP and stat modification
self.data[0][quest] += event.xp
for index, value in event.stat:
self.stat[index] += value
# Display and get answer
if event.text:
answer_selected = convert(self.screen.display_text(event.text), True)
if event.answer and (0 < answer_selected <= event.answer):
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]
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):
if exit_key in self._game_keys_mapping:
raise ValueError("'{}' is already assigned to a function.".format(exit_key))
# Load save ; data = [XP, map_id, x, y]
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]
self.legend.append(door)
self.legend.append(walkable)
# 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
while key != exit_key and self.stat[0] > 0 and self.data[0]["main"] < end_game:
self.screen.set_data(self.data[-2:])
self.screen.set_cell(10, 3, player)
key = convert(self.screen.display())
if not key: key = key_buffer
else: key_buffer = key
self._keyboard(key)
# Launching the game routine
if routine: routine(self.data, self.stat)
if self.stat[0] <= 0: self.stat[0] = 100
self.data[2] += 10
self.data[3] += 3
return self.stat, self.data
class Event:
def __init__(self, xp, text, answer=0, *stat):
self.xp = xp
self.text = text
self.answer = answer
self.stat = stat
class Map:
def __init__(self, map_data, *coords):
self.map_data = map_data
self.coords = coords
def convert(string, force_int=False):
try: return int(string)
except:
if force_int: return 0
else: return string
def text_formater(string, screen_width=21, screen_height=6):
def line_formater(string, screen_width):
if len(string) <= screen_width: return string
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] + "\n" + line_formater(string[stop_index + 1:], screen_width)
def paragraph_formater(lines, screen_height):
if len(lines) < screen_height: return "\n".join(lines)
return "\n".join(lines[:screen_height]) + "\n\n" + paragraph_formater(lines[screen_height:], screen_height)
lines = []
for line in string.split("\n"):
for formated_line in line_formater(line, screen_width).split("\n"):
lines.append(formated_line)
return paragraph_formater(lines, screen_height).split("\n\n")
def read_event(data, event, quest):
if not quest in data[0]:
data[0][quest] = 0
if type(event) == dict:
if data[0][quest] in event: event = event[data[0][quest]]
else: event = event["base"]
if type(event) != list:
raise TypeError("event is of type {} instead of list".format(type(event)))
return Event(*event)
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)
for index in range(nb):
print("\n" * 7)
print(paragraphs[index])
if index + 1 == nb and max_value:
result = input(">")
try: result = int(result)
except: result = default_value
if not (min_value <= result <= max_value): result = default_value
return result
else: input()

399
idk/asgard.py Normal file
View File

@ -0,0 +1,399 @@
asgard = (r"""
/\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\ /\
/ \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \
/\ / \ /\ / \ /\ / \ /\ / \ /\ / \ /\ / \ /\ / \ /\ / \ /\ / \ /\ / \ /\ / \ /\ / \ /\ / \ /\ / \ /\ / \
\ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ /
\ /\ / \ /\ / \ /\ / \ / \ / \ / \ /\ / \ /\ / \ /\ / \ /\ / \ / \ / \ / \ / \ /\ /
/ \ / \ / \ / \ / \ / \ / \ \ / \ / \ / \ / / \
/\ / \ /\ / \ /\ / \ /\ /\ / \ /\ / \ /\ / \ /\ / \ \/ \/ \/ \/ /\ / \
\ / \ / \ * / \ / \ _ / \ / \ / \ / \ /
\ / \ / \ / \ /\ / \ /\ /o\ / \ / \ / \ / \ /\ /
\ / /\ \ / \ _______ / ~\ / \ |_| \ / \ / \ ___________________________ / / \
/ \ /\ /Glitnir\ /\ / ~~\ /\ / \ /\ /\ \/ \ /___________________________\ \
/ \ / \ |__|^|__| / \ ~~ / \ / \ / \ /\ /\ | Valaskjalf | /\ \
/\ / \ /\ /\ / \ /\~/ \ /\ / \ /\ / \ / \ / \ /_______________________________\ / \
/ \ / \ * / \ / \~ / \ / \ \ / \ /\ / \ |_/ \_/ \_/ _ \_/ \_/ \_| /\ / \ /\
/\ /\ / \ /\ / \ / \ / \~ / \ / \ \ / / \ /\ \ |_| |_| |_|/^\|_| |_| |_| / \ /
/ \ / \ / \ / ~ \ / \ / \ / \ | | / \ /\ /
/ \/ \ /\ / \ ### _ ~ _________ / /\ / \ /\ -|--|--|--|-/ | /\ / / \
/ \ ##### ## /o\ ~ /Gladsheim\ / \ / \ / / / \ / \
/\ / \ ### #### |_| ~~ ## |<o> _ <o>| ## / \ /\ / \ | |--|--|--|--|- /\ / \ /\ / /\\
/ \~ /-\ ## ###### ------- #### |___|^|___| #### / / \ \ \ / \ / \ / \
/\ / \~ * #### ###### ###### ###### / \ /\ -|--|--|--|--| | / \ /\ / \ / \
/ \ ~~ ###### #### ###### ###### / /\ / \ / / * / \ \/ \
/ \ /\ ~~ ### ###### || -------- #### #### /\ / \ \ | |--|--|--|--|- /\ / \ /\
\ / \ ~~ ##### #### ## ~~~ || __ || / \ \ \ \ /\ / \ /\ \/ \
\ /\ / \ ~~ ### || #### ~~~~ / \ ## / \ /\ -|--|--|--|--| | / \ /\ / \ \ /\
/ \ ~~ /-\ ###### ~~~ |__| _ #### /\ / \ / / \ \ \ / \
/ \ ~~ * ### ###### ~~~~ / \ ###### /\ / \ \ /\ /\ ? / \ /\ / \
## ## ~~ ##### #### ### ~~~~~~ |_| ###### _ / \ \ /\ / \ / \ /\ /\ / \ / \
### #### ~~ ________ ### || ##### ~~~~~~ #### /o\ / \ / \ / / \ / \ /\ / \ /\ /
#### ###### ~~ / Ydalir \ /-\ ### ~~~~~ || |_| / \ / \ / / \ /\/ \/ \ /
#### ###### ~~~ /__________\ ### /-\ ~~~~~ / / \ / \ /
### #### ~~ |_//^^\\_| ##### ~~~ ### _________ / \ /\ / \/
|| ## || ~~ |_| |_| _ ### ### ~~~~~ | | ##### /Folkvangr\ * / \ ~/\
#### ~~~ |_| |_| /o\ /-\ ##### ~~~~~| | ### |[O] _ [O]| _ / \ ~~/ \
###### _ ~~~ |_| ### ______ ~~| | /-\ |___|^|___| /o\ ~~~~~/
###### /o\ ~~~ * /-\ /Noatun\ | |~~ ### |_| _ ~~/\ /
#### |_| ~~~~~~~~~~~~~~~~~ |_/^^\_| ### | |~~~~~~ ##### ##### /o\ ~~/ \
|| ~~~~~~~~~~~~~~~~~~~~~~ | | ##### | ~~~~~ ### ### ######### |_| ~~/ \ /\
## ___________ ~~~~~~~~| | * ### * ~~~~~ /-\ ##### _ #Landvidi# ~/ \ /
#### /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\ #####
~~~ ##### ##### /|\ ~~~~~~~~~~ /-\ |_| ### ~
~~~ * ~~~~~~~~~~~~ |_| * /|\ ~~
~~~~~ ~~~~~~~~~~~~~~~~~~~ ~~~~~~~~
~~~~~~~~~~~ ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~""",
# Autres mondes (Asgard = 0)
(126, 71, 3, 72, 6), # Midgard
# Maisons
( 30, 11, 9, 15, 13), # Glitnir
(116, 14, 10, 29, 23), # Valaskjalf
( 70, 19, 11, 24, 19), # Gladsheim
( 25, 31, 12, 24, 19), # Ydalir (1/2)
( 26, 31, 12, 25, 19), # Ydalir (2/2)
(110, 34, 13, 20, 14), # Folkvangr
( 63, 36, 14, 14, 14), # Noatun (1/2)
( 64, 36, 14, 15, 14), # Noatun (2/2)
(120, 41, 15, 14, 14), # Landivi
( 13, 43, 16, 29, 29), # Breidablik
( 75, 50, 17, 24, 24), # Thrymrheimr
( 27, 56, 18, 24, 24), # Himinbjorg (1/2)
( 28, 56, 18, 25, 24), # Himinbjorg (2/2)
( 57, 67, 19, 25, 14), # Sokkvabekkr
( 10, 69, 20, 34, 24), # Alfheimr (1/2)
( 11, 69, 20, 35, 24), # Alfheimr (2/2)
)
h_9 = (r"""
|==========|
|[===][===]|
| |
| |
|=========| * |=========|
| |
| _ _ _ _ |
| |_| |_| |_| |_| |
| |_| |_| |_| |_| |
| |_| |_| |_| |_| |
| |
|============| |=============|
| |
||^|| """,
(15, 13, 0, 30, 11)) # * : (19, 4)
h_10 = (r"""
|====================================================|
| |
| |
| |
| |================\ /=================| |
| | | |
| | | |
| \ __ / |
| |<>| |
| |__| |
| /____\ \ |
| / * | |
| | | |
| | | |
| |================/ \=================| |
| |
| |
| |
|_______________________ _______________________|
|__/ \__/ \__/ \__/ \__/ \__|
|__| |__| |__| |__| |__| |__|
|__| |__| |__| |__| |__| |__|
|__| |__| |__| |__| |__| |__|
/__\ /__\ /__\__^^__/__\ /__\ /__\ """,
(29, 23, 0, 116, 14),
(30, 23, 0, 116, 14)) # * : (25, 11)
h_11 = (r"""
|============================|
| _ |
| |o| |
| /___\ |
| (___ ___) |
| (____ ____) |
|=========| (_____ _____) |========|
| * |
| |
| __ ### __ |
| |__| +-#####-+ |__| |
| |__| | ### | |__| |
| |__| | /|\ | |__| |
| |__| +-------+ |__| |
| |__| |__| |
| |
| |
|======================| |======================|
|=+<>+=+<>+=+<>+=+<>+==| |==+<>+=+<>+=+<>+=+<>+=|
|^| """,
(24, 19, 0, 70, 19)) # * : (34, 7)
h_12 = (r"""
|=-=-=-=-=-=-=-=-=-=-=-=-=-=-|
| __ |
| |()| |
| |__| |
| * |====| |
| |
| ~~~~ |
|=-=-=-=-=| ~~\/~~ |=-=-=-=-=|
| [=====] /~~~||~~~\ [=====] |
| [=====] [==========] [=====] |
| _ _ |
| (_) (_) |
| _ /_\ /_\ _ |
| (_) (_) |
| /_\ ______ ______ /_\ |
| \- - / \ - -/ |
|-=-=-=-=-=-| - -| |- - |-=-=-=-=-=-|
|=-=-=-=-=-=|- - | | - -|=-=-=-=-=-=|
| - -| |- - |
/- - \_____|^^|_____/ - -\ """,
(24, 19, 0, 25, 31),
(25, 19, 0, 26, 31)) # * : (19, 4)
h_13 = (r"""
||
|===================================||==|
|================|===o===o===o=====/ \=|
|[==-==/ \==-==]| |__| |
|[-===/ \==--]| _ |
|[=-=/ \-==]| |o| __ |
|[==/ \==]| (___) | | |
| | |__| |
|======/ \======| * | | |
| |__| |
| | | |
| |__| |
| |
|==================| |==================|
|^| """,
(20, 14, 0, 110, 34)) # * : (21, 8)
h_14 = (r"""
|=|\/|==|\/|=|\/|=|\/|==|\/|=|
| |
| * |
| |
| |================| |
| | __ __ | |
| | | | | | | |
| | |__| |__| | |
| | | |
| |======\ /======| |
|### ###|
|### ###|
||_| |_||
|=|\/|==|\/|=| |=|\/|==|\/|=|
|^^| """,
(14, 14, 0, 63, 36),
(15, 14, 0, 64, 36)) # * : (26, 2)
h_15 = (r"""
#########
## [=====] ##
# [=====] #
# #
#_ _#
#(_) [] (_)#
#|~| * |__| |~|#
# #
# _ _ #
# (_) (_) #
#|~| |~|#
## ##
#### ####
| |
|^| """,
(14, 14, 0, 120, 41)) # * : (10, 6)
h_16 = (r"""
|======================================|
| |
| |
| ### ~~~~ ### |
| ##### ~(~~)~ ##### |
| ##### /~~~(____)~~~\ ##### |
| ### \~~~~~~~~~~~~/ ### |
| |=| |============| |=| |
| |
|========\ /========|
|==================| |==================|
| [=====][=====] | | [=====][=====] |
| [=====][=====] _ _ [=====][=====] |
| (_) (_) |
| |=| |=| * |
| ___ ___ ___ ___ |
| | | | | | | | | |
| |___| |___| _ _ |___| |___| |
| | | | | (_) (_) | | | | |
| |___| |___| |=| |=| |___| |___| |
| | | | | | | | | |
| |___| |___| |___| |___| |
| | | | | _ _ | | | | |
| |___| |___| (_) (_) |___| |___| |
| |=| |=| |
| |
| |======| |=======| |
|===================| _ | | _ |===================|
(_) | | (_)
|=| |/^\| |=| """,
(29, 29, 0, 13, 43)) # * : (50, 14)
h_17 = (r"""
### |============================| ###
##### | | #####
### | | ###
|_| | ~~~~~~~~~~~~~~~~~~ | |_|
| ~~~~~~~~~~~~~~~~~~~~ |
### | ~~~~~~~~~~~~~~~~~~~~ | ###
##### | ~~~~~~~~~~~~~~~~~~~~ | #####
### | ~~~~~~~~~~~~~~~~~~ | ###
|_| | | |_|
| |
|===================/ \===================|
| |
| _ _ _ _ |
| (-) (-) (-) (-) |
| |_| |_| |_| * |_| |
| |
| |
| |
| |
| _ _ _ _ |
| (-) (-) (-) (-) |
| |_| |_| |_| |_| |
| |
|======================| |=======================|
|^| """,
(24, 24, 0, 75, 50)) # * : (36, 14)
h_18 = (r"""
|================================================|
|================================================|
| |
| |
| __ __ |
| (~~) (~~) |
| |--| __ |--| |
| | | |<>| | | |
| | | |--| | | |
| |__| |____| * |__| |
| |
| |
| __ __ |
| (~~) ## (~~) |
| |--| #### |--| |
| | | #### | | |
| | | ## | | |
| |__| || |__| |
| |
| |
| |
|=====================\| |/=====================|
|=====================/| |\=====================|
\| |/
/|^^|\ """,
(24, 24, 0, 27, 56),
(25, 24, 0, 28, 56)) # * : (30, 9)
h_19 = (r"""
|================================================|
| |
| ########## |
| ########## |
| ###### ###### |
| ###### __ |===[]===| __ ###### |
| (__) | |__| | (__) |
| |--| | *| |--| |
| |__| | | |__| |
| ###### |==/ \==| ###### |
| ###### ###### |
| |
| |
| |
|=======================|^|======================|""",
(25, 14, 0, 57, 67)) # * : (28, 7)
h_20 = (r"""
|============================|
| |
| _ _ |
|===================| (-) (-) |
| | |_| __ |_| |
| | |[]| |
| ~~~ | | | |
| ~~~(~)~~~ | _ |____| _ |
| /~~(_____)~~\ | (-) (-) |
| \___________/ | |_| * |_| |
| |
| |
| |
| |
| |
| ~~~ | _ _ |
| ~~~(~)~~~ | (-) (-) |
| /~~(_____)~~\ | |_| |_| |
| \___________/ | |
| | |
| | _ _ |
|===================| (-) (-) |
| |_| |_| |
| |
|============|^^|============|""",
(34, 24, 0, 10, 69),
(35, 24, 0, 11, 69)) # * : (39, 9)

569
idk/idk.py Normal file
View File

@ -0,0 +1,569 @@
from asci import Asci, print_text
from random import randint
from math import floor, ceil
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 *
from scenario 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,
h_21, h_22,
h_23, h_24,
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)
# Asci functions
def npc(data, stat):
from random import choice
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)
event = npc_data[data[1]](data, stat)
if not event:
sel_choice = print_text("\nChoissez une action :\n1. Attaquer\n2. Voler\n3. Parler\n4. Ne rien faire", 1, 4, 3)
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)]
elif sel_choice == 3:
msg = ("Hmm ?", "Besoin de quelque chose ?", "Vous cherchez quelqu'un ?", "Vous etes... ?", "Oui ?", "He ! Regarde ou tu vas.")
return [0, choice(msg)]
elif sel_choice == 4:
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 = 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 point_of_interest(data, stat):
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)
if not event: return [0, "Il n'y a rien à voir ici."]
else: return event
def routine(data, stat):
stat[4] = (stat[4] + 1) % 1440
# Mana regeneration
if stat[2][4] < stat[0] // 2 and not (stat[4] % 60):
stat[2][4] += 1
# 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_data = ("Soin", "Flammes", "Givre", "Etincelles", "Fatigue")
spell_level = ("I", "II", "III", "IV", "V")
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, spell_data[spell_id], spell_level[level - 1]))
count += 1
spell_choice = get_input()
if spell_choice < 0 or spell_choice > 3: spell_choice = 0
spell_choice -= 1
name, level = spell_data[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(name, spell_level[level - 1], level * 10)
stat[2][4] -= level * 10
pts = 12 * level + randint(-5, 5)
if stat[7][spell_choice][0] == 0:
stat[0] += pts
msg += "\nVous gagnez {} PV".format(pts)
elif stat[7][spell_choice][0] == 1:
opponent_stat[4] -= pts
msg += "\n{0} perd {1} PV".format(opponent_name, pts)
elif stat[7][spell_choice][0] == 2:
opponent_stat[4] -= pts
msg += "\n{0} perd {1} PV".format(opponent_name, pts)
elif stat[7][spell_choice][0] == 3:
opponent_stat[4] -= pts
msg += "\n{0} perd {1} PV".format(opponent_name, pts)
elif stat[7][spell_choice][0] == 4:
opponent_stat[0] -= pts
msg += "\n{0} perd {1} points de vitesse".format(opponent_name, 12 * level)
else:
msg += "\nVous ne parvenez pas a lancer le sort."
elif sel_choice == 3:
if stat_test(player_stat, 1)[0]:
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:
stat[0] -= damage
msg += "\n{0} perd {1} PV.".format(stat[5], damage)
print_text(msg)
# opponent_stat = [vitesse, agilité, attaque, défense, vie]
# player_stat = [vitesse, agilité, attaque, défense]
player_stat = [stat[2][0], stat[2][1], stat[2][2] + stat[3][0] * 5, stat[2][3] + stat[3][1] * 5]
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(stat[0]) + " " * (3 - len(str(stat[0])))
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
if opponent_stat[4] <= 0: return 0
opponent_turn()
else:
opponent_turn()
if stat[0] <= 0: return 1
end = player_turn()
if opponent_stat[4] <= 0: return 0
if stat[0] <= 0: return 1
return 2
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 = ("<aucune>", "Dague", "Marteau", "Masse", "Fleau", "Hache", "Epee", "Espadon", "Hache double")[stat[3][0]]
shield = ("<aucune>", "Rondache", "Pavois", "Cote de maille", "Broigne", "Harnois")[stat[3][1]]
weapon = " |" + weapon + " " * (17 - len(weapon)) + "|"
shield = " |" + shield + " " * (17 - len(shield)) + "|"
print("<o> Inventaire <o>")
print(" |- Arme : |\n{}".format(weapon))
print(" |- Armure : |\n{}".format(shield))
print("<o> ============= <o>")
input()
def sleep(data, stat):
sleep_hours = 0
while not sleep_hours:
print("Combien d'heures\nvoulez-vous dormir ?")
sleep_hours = get_input() % 25
if sleep_hours < 0: sleep_hours = 0
stat[4] += sleep_hours * 60
if stat[0] < 100: stat[0] += sleep_hours
if stat[2][4] < 50: stat[2][4] += sleep_hours // 2
# If the player is at home
if data[1] == 27:
if stat[0] < 100: stat[0] += 5 * 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):
spell_data = ("Soin", "Flammes", "Givre", "Etincelles", "Fatigue")
spell_level = ("I", "II", "III", "IV", "V")
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(spell_data[spell_id], spell_level[level - 1])
print(" |" + to_disp + " " * (16 - len(to_disp)) + "|")
else:
print(" |<aucun> |")
print("<o> ============ <o>")
input()
def quick_save(data, stat):
data_copy = data[:]
data_copy[2] += 10
data_copy[3] += 3
stat_copy = stat[:-1]
print("\"{}\"".format(encode_save(data_copy, stat_copy)))
input()
events = {"*": npc, "?": point_of_interest}
keys = {4: display_stat, 7: spell, 8: misc_stat, 6: inventory, 9: sleep, "s": quick_save}
# Main function
def idk(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:
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, 10, 6, 6, 6]
elif player_class == 3:
stat = [6, 6, 6, 10, 6]
elif player_class == 4:
stat = [6, 6, 6, 6, 20]
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 == 4:
stat[7].append((1, 1))
data = [{"main": 0}, 3, 44, 66]
print_text("Au alentour du Ve siecle, quelque part en Scandinavie. La bataille prenait place dans un champ saccage, et la nuit etait tombee depuis quelques heures lorsque l'assaut debuta.")
print_text("Hache levee, a la seule lueur de la pleine lune, {0} et sa division se jeterent sur le camp adverse, mais, pris a revers, le combat tourna vite a la defaveur des assaillants qui furent reduit sans autres difficultes.".format(name))
print_text("Blesse a plusieurs endroit, {0} se trainait sur le sol, tentant de se refugier dans la nuit lorsqu'une forme humaine portant un espadon dans le dos et une lourde armure d'argent s'arreta devant lui. La Valkyrie degaina son espadon et acheva {0} avant de l'emporter dans ses bras.".format(name))
print_text("Mais Odin avait d'autres plan pour {0} qu'une retraite parmi les meilleurs guerriers, et il le renvoya dans le vaste monde avec cet ultimatum : si il trouve la voie jusqu'a Asgard et le Valaskjalf, Odin conscent a le garder a son service, sinon il sera condamne a errer dans le monde sans jamais trouver le repos.".format(name))
else:
stat, data = decode_save(save_code)
idk_game = Asci(maps, events, keys)
stat, data = idk_game.mainloop(102, stat, data, routine=routine, door="^_", walkable=".,`' ", exit_key="q")
if stat[9] != -1: data[0]["main"] -= stat[9]
if data[0]["main"] == 102:
print_text("Ainsi s'acheva la premiere guerre du monde. Les Ases garderent la tete de Mimir pour ses conseils avises, mais il n'y eu jamais de represailles. Les Ases et les Vanes se melerent ne formant ainsi qu'une seule et meme grande famille.")
else:
print("idk(\"{}\")".format(encode_save(data, stat[:-1])))
# Misc functions
def get_input():
string = input(">")
try:
return int(string)
except:
return 0
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 stat_test(stat, test_id):
score = (80 + randint(-20, 20)) * stat[test_id] / 50
return randint(1, 100) <= score, floor(score)
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: -1], encoded_stat[-1], -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

294
idk/jotunheim.py Normal file
View File

@ -0,0 +1,294 @@
jotunheim = (r"""
/\ /\ / / \ / \ /\ / \ ~~~~~~~~~~~~~~~~~~~~~~~
/ \ / \ / / \ /\ / \ / \ /\ / \ /\ ~~~~~~~~~~~~~~~~~~
/ \ /\ / \ /\ / / \ / \ / / / \ / \ / \ /\ ~~~~~~~~~~~~~~~~
/ \ / \ /\ / \ / \ /\ / \ / \ /\ / / \ / /\ / / \ ~~~~~~~~~~~~~~
/ /\ / / \ / / / \ / \ / \ /\ / / \ / \ / \ ~~~~~~~~~~~~
/ \ / / \ / / \ /\ / / / \ / \ / \ /\ \ ~~~~~~~~~~
/ \ / /\ / \ / / \ / \ / / \ /\ / \ / \ /\ \ ~~~~~~~~
/ \ / \ /\ \ / \ / \ /\ / / \ / \ / / / \ ~~~~~
/ / / \ ___ ### / \ / \ /\ / \ / \ /\ / / \ ~~~
/\ / / \ /O O\ ##### / ### / / \ \ / \ / \ /\ / / \ /\ ~~
/ \ /\ / / \ * |_ | |=| ##### / / \ / ~/ / \ / \ / \ ~
/ \ / ### \ |^|_| |=| / / \ ### ### ~/ / \ /\ / \ /\
/ \ ##### ### / ### \ ##### ##### ~/ / \ / \ / \ / \
\ / \ |=| ### ##### _______ ##### |=| |=| ~ / _ \ / \ /\ / /
\ \ ##### |=| /[] []\ |=| ### ~~~~ __/o\ / ## \ / \ /\ / /
\ /\ /\ |=| / \ ______ ##### ~~~~~ / | / #### / / \ / /
~ \ / \ /\ / \ ### /___________\ ### / \ |=| ### ~~~~~ |____| ## / / \ /
~~ / / \ / \ /\ ##### | | ##### /________\ ##### ~~~~~~ || / / \ /\
~~ / / \ / \ / \ /\ |=| |[] |]O[| []| |=| |<o> <o>| ### |=| ~~~~~ / / \__
~ / / \/ / / \ |___________| | __ | ##### ~~ _____ /\ / \
~ / / / \ * ### |__|__|__| |=| _ / \___ / \_ / \
~~~ /\ / / \ /\ ### ##### __/o\ / \ / \ / \
~~ / \__ / / \__ ##### |=| ### ### / o | /____________\ / \ ~
~~~ / \ /\ / \ |=| ##### ### ##### |____| | O O O | _ /\ ~~~
~~ / \ /\ / \__ / \ /\ ### |=| ##### |=| ## | _ | __/ \ / \_ ~~~
~ / \/ \__ / \ \ / \ ##### |=| ## #### ## |__|^|_______| / | / \ ~~
~ /\ / \ / \ /\ / \ |=| ## #### ## ## #### |____| / \ /\ ~~
/ \__ / \ \ / \ / \ _ #### ## #### || ## ## ## / \_ ~
/ * \ / \ /\ /\ / \ __/ \ ## || ## || #### ## #### /\ / \ ~
~~ \ / \ / \ \ /\ / | || || ## ## #### ## / \_ / \~
~~ \ /\ / \ / \ / \ |____| ## ## #### ## || ## || / \ ~~
~ /\ \/ \ /\ / \ \ /\ / \ #### #### ## #### || / \ /\ ~~~
~ / \ / \ / \ /\ / \/ \ ## ## ## || ## ______ / \_ ~~
/ \ / \ / \ / \ /\ / \ ## #### || || _ || / \ _ / \ ~~
/ \ /\ /\ \ / \ / \ / _ \ #### ## / \ /________\ / \ /\ / \ ~~~~
/\ / \ / \ / \ / \ / \ ## || ___ |_| |<o> <o>| |_| / \_ ~~~~
/ \ / \ / \ / \ |_| || /[O]\ ___ | __ | /\ / \ /\ ~~
/\ / \ / \ /\ | | /<o>\ |__|__|__| / \_ / \ / \_ ~~~
\ \ /\ / \ ___ |___| | | / \ / \ ~~~
\ /\ /\ / \ / \ / \ |___| / \ /\ \ ~~
\ / \ / \ / \ / \ ______ |___| ______ _ /\ / \_ ~~
/\ / \ \ /\ / \ / \ ______ / \ / \ / \_ / \ /\ ~
/ \ \ \/ \ /________\ / \ /________\ |_| / \ / \ / \_ ~
/ \ _ / \ | | _______________ /________\ |<o> <o>| / \ / \
/ /\ \ / \ / \ | o o o o| / Utgard \ | [] [] | | _ | /\ /\ / /\ \
/ \ |_| * |________| / () () () () \ | | |__|^|___| / \_ / \_ / \_
/ \ /\ /___________________\ |________| / _ \ / \ / \
/ \/ \ ______ |_/ \_/ \_/ \_| / / \ \/ /\ \/ \
/ \ _ / \ ### |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 o\ #### ##### ### |_| ##### |_|##### ##### |--| ###### |--| ~
~~~~~~~~ |___| ~~~ ## ### ### ### |_| ### ##### ### ##### ## |--| ######## ~
~~~~~ ~(~)~ || ## |_| ##### ##### ### |_| ### ### ##### ### #### ###### ~~
~~~ (_____) #### ##### ##### ##### ##### |_| ##### |_| ###### ## #### ~~
~~ _ |-----| ## ### ### ### ##### ### ##### ### ### ######## #### |--| ~~
~~~ /-\ _ || ##### |_| |_| ### ### ##### ### ##### |_| ###### ###### |--| ~~
~~~~ |_| __/o\ ~~~~ ##### ### ##### |_| ##### |_| ### ##### ### #### ######## ~~~~~~
~~~~~~ / o | ~~~~~~~~~ ### ##### ##### ### ##### ### ##### |--| ###### ~~~~~~
~~~~~~~~ |____| ~~~~~~~~~~~~~~ |_| ##### ### |_| ##### |_| ##### |--| #### ~~~~~~~~~~
~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~ ### |_| ### ~~~~ ### |--| ~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|_| ~~~~~~~~~~~~~~~~|_| ~~~~~~~~~|_|~~~~~~~~~~~~|--|~~~~~~~~~~~~~~""",
# Autres mondes (Jotunheim = 5)
(11, 120, 1, 56, 42), # Vanaheim
# Maisons
(29, 11, 31, 19, 14),
(88, 25, 32, 14, 24),
(89, 45, 33, 30, 24),
(60, 50, 34, 34, 29), # Utgard
(64, 85, 35, 24, 19), # Manoir du sud (1/2)
(65, 85, 35, 25, 19), # Manoir du sud (2/2)
(23, 88, 36, 19, 14), # Auberge
)
h_31 = (r"""
|=====||=====|===========|======||=====|
| /__\ | | /__\ |
| |==| | _ | |==| |
| (_) | |
| |_| | * __ |
| ____ | | | |
| |____| | |__| |
| | _ | | | |
|============| (_) | |__| |
| | |_| | |
| |=============|
| | |
| | |
| | | |
|============|====|^|====|=============|""",
(19, 14, 5, 29, 11)) # * : (28, 4)
h_32 = (r"""
|=============================|
|=============================|
| |
| |
| |============================|
| ____ ____ |=====____==========____=====|
| \__/ \__/ * \__/ \__/ |
| | | | | | | | | |
| | | | | | | | | |
| |__| |__| |__| |__| |
| |
| |
| |
| |
| |
| ____ ____ ____ ____ |
| \__/ \__/ \__/ \__/ |
| | | | | | | | | |
| | | | | | | | | |
| |__| |__| |__| |__| |
| |============================|
| |============================|
| |
|============| |==============|
|============|^|==============| """,
(14, 24, 5, 88, 25)) # * : (28, 6)
h_33 = (r"""
|=======|---|=======| |=======|---|=======|
|=======|---|=======| |=======|---|=======|
| /_____\ | | /_____\ |
| |=====| |===|]O[|==|]O[|===| |=====| |
| |==================| |
| _ _ * |
| (~) (~) |
| __ __ |_| * |_| __ __ |
| | | | | | | | | |
| |__| |__| |__| |__| |
| | | | | | | | | |
| |__| |__| _ _ |__| |__| |
| | | | | (~) (~) | | | | |
| |__| |__| |_| |_| |__| |__| |
| |
| |
| |
| _ _ _ _ |
| (~) (~) (~) (~) |
| |_| |_| |_| |_| |
| |
| |
| |
|============================| |===========================|
|=[]=[]=[]=[]=[]=[]=[]=[]=[]=|^|=[]=[]=[]=[]=[]=[]=[]=[]=[]|""",
(30, 24, 5, 89, 45)) # * : (48, 5) * : (24, 7)
h_34 = (r"""
|======================| |======================|
|======================| |======================|
| | | |
| | | |
| |============| |
| |============| |
| ####### * ####### |
| ######### ######### |
| ######### ######### |
| ######### ######### |
| ####### __ __ ####### |
| (==) (==) |
| |TT| |TT| |
| |__| |__| |
| ~~~ ~~~ |
| ~~(~)~~ ~~(~)~~ |
| /~~~T~~~\ /~~~T~~~\ |
| \=======/ __ __ \=======/ |
| (==) (==) |
| |TT| |TT| |
| |__| |__| |
| ####### ####### |
| ######### ######### |
| ######### ######### |
| ____######## ____ ____ ########____ |
| |II|####### |II| |II| #######|II| |
|==|II|================|II| |II|================|II|==|
|==|II|================|II| |II|================|II|==|
|II| |II| |II| |II|
|II| |II|/|^=|\|II| |II| """,
(34, 29, 5, 60, 50)) # * : (26, 6)
h_35 = (r"""
|================================================|
|==|/\|=|/\|=|/\|=|/\|=|/\|=|/\|=|/\|=|/\|=|/\|==|
| |
| _ _ |
| ### (~) (~) ### |
| ##### * |=| |=| ##### |
| ### ### |
| |=| |=| |
| ### _ _ ### |
| ##### (~) (~) ##### |
| ### |=| |=| ### |
| |=| |=| |
| ### ### |
| ##### _ _ ##### |
| ### (~) (~) ### |
| |=| |=| |=| |=| |
| |
| |
|======================\ /======================|
|==|/\|=|/\|=|/\|=|/\|=/^^\=|/\|=|/\|=|/\|=|/\|==|""",
(24, 19, 5, 64, 85),
(25, 19, 5, 65, 85)) # * : (17, 5)
h_36 = (r"""
|======================================|
| |
| _ _ _ _ |
| (_) *(_) (_) (_) |
| |_| |_| |_| |_| |
| |
| |
|=================| |====== =======|
| | | [I] [I] |
| +---+ +---+ | | /|\ /|\ |
| | | | | | * |
| | | | | | |
| +---+ * +---+ | | [====] [====] |
| | | [====] [====] |
|=================|^^|=================|""",
(19, 14, 5, 23, 88),
(20, 14, 5, 23, 88)) # * : (11, 3) * : (27, 10) * : (9, 12)

193
idk/midgard.py Normal file
View File

@ -0,0 +1,193 @@
midgard = (r"""
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ ~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ ~~ ~~~~~~ ~~~ _ ~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ ~~~ ~~~ ~~~ /-\ ~~~~~~~ ~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ ~~~~~ ~~~ ~~~~ ~~~ |_| ~~~~~~~ ~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~ ~~ ~~~~ ~~ ~~ ~~~~~ ~ ~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ ~~~ ~ ~~~~~ ~~ ~~~ ~~~ ~~~~ ~~~~~ ~ ~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ? ~~~~~~~ ~ ~~ ~~~~~ ~~~ ~~ ~~~~ ~~~ ~ ~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ ~ ~~~~~ ~~~~ ~~~ ~~~ ~~ ~ ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ ~ ~ ~~~~~ ~~~~ ~~~~ ~~~ ~~~~ ~~ ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ ~ ~~~~~~ ~~~ ~~~~ ~~~ ~~~ ~ ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ ~ ~~ ~~ ~~~ ~~~ ~~~ ~~~~ ~ ~ ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ ~ ~~ ~~ ~~~ ~~~ ~~~~ ~~ ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ ~ ## ~~~~ ~~~~ ~~~~~ ~ ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /\ ~~ #### ~~~~~ ~~~ ~ ~~~ ~~ ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~ ~~ ~~~ / \ ## #### ~~ ~~ ~ ~~ ~ ~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ ~ / \ ## #### ## ## ~ ~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ ~ /\ #### #### ##|| #### ## ## ~~~~~~
~~~~~~~~~~~~~~~~~~~~~ ~~~~ / \ ## #### ## #### ## #### #### #### ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~ ~ ~ \ #### ## || ######## ## ## #### ## #### ~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~ /\ #### ##|| ## #### ##|| #### ## #### ## ~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~ / \ ## #### || ## #### #### ##|| #### ##|| ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ / \ || #### ? || #### ## #### ## #### ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## ## || #### || #### ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ /\ || || ## ## ## ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ _/ \ /\ ## ||#### || ## ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ / \ / \ #### ## #### #### ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ / /\ / \ ' . #### ## #### ## ## #### ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~ ~~~ / \ ## #### #### ##|| #### ## ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ /\ /\ / \ . || #### ## #### #### ##|| ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~ / \ / \ /\ ## || #### ## #### ~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~ / \ \ / \ . ' || ## || #### ~~~~~~~~~
~~~~~~~~~~~~~~~~ ~~~~~~~~ / \ . || ## ~~~~~~~~~
~~~~~~~~~~~~~~~~~~~ ~ /\ ., ~~~ || ~~~~~~~~~
~~~~~~~~~~~~~~~~~~ ~~ / \ . , ~(~)~ ### ~~~~~~~~~
~~~~~~~~~~~ ~ ~~ ### / \ . /~(___)~\ ##### ~~~~~~~~~~
~~~~~~~~~~~~~~~ ##### , . ### \~~~~~~~/ ### ~~~~~~~~~~
~~~~~~~~~~~~~~~~~ ### ##### /-\ ### ~~~~~~~~~~
~~~~~~~~~~~~~~~~ ~~ /-\ ### . ### ##### ~~~~~~~~~~
~~~~~~~~~~~~~~~ ~~ ~~ ##### , /-\ _____________ ### ~~~~~~~~~
~~~~~~~~~~~~~ ~~ ~~~ ~~~ ### , ' / Midgard \ /-\ ~~~~~~~~~
~~~~~~~~~~~~~ ~~~~~~~~~~~~ ~~~~~ /-\ . ' ' / \ ### ~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ , , . ' /_ __ _ ___ _ __ _\ ##### ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ |_/ \_/ ? \_/ \_| ### ~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ __ ### |_| |_| *|_| |_| /-\ ~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~ ### /[]\____ ##### ### ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ##### |_ o o \ ### _ ##### ~~~~~~
~~~~~~~~~~~~~~~~~~~~~ ~~~~ ### * |^|_____| /-\ _ /o\___ ### ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~ /-\ /o\ |_ ]O[\ /-\ ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~ |_| |^|___| ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~ ### ' __ , ### _ ~~~~~~~
~~~~~~~~~~~~~~~~~~~ ##### / \ ##### / \ ~~~~~~~
~~~~~~~~~~~~~~~~~ ### ### ' |__| , ### |_| _ ~~~~~~
~~~~~~~~ ##### /-\ ### /-\ /o\ ~~~~~~
~~~~~~~~ _ ### ##### . , , * |_| ~~~~~~
~~~~~ /-\ ### /-\ ### . , . __ _ ~~~~~~
~~~~~~~ |_| ##### /-\ ,. ' /[]\ / \ ~~~~~~~
~~~~~~ * ### ' . |__| |_| ~~~~~~~~~~
~~~~~~~~~~~~~~ /-\ . ' . * __ _ ~~~~~~~~~~~
~~~~~~~~~~~~~~~~ /<>\ _ /-\ ~~~~~~~~~~~
~~~~~~~~~~~~~~~~ __ ' ' . |__| /o\ |_| ~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~ /<>\ ' ___ |_| _ ~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~ |__| / _\ .. /o\ ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~ ' . |_|^| . _ _ |_| ~~~~~~~
~~~~~~~~~~~~~~~~~~~ ' /o\____/o\ ~~~~~~
~~~~~~~~~~~~~~~~~~~~ ' ' __ |==|==| o o |==|==| __ ~~~~~
~~~~~~~~~~~~~~~~~~~~ ' /[]\ | | __ | | /<>\ ~~~~~
~~~~~~~~~~~~~~~ ' |__| | |__|^^|__| | |__| ~~~~
~~~~~~~~~~~~~~~~~ ___ | | ~~~~~
~~~~~~~~~~~~~~~~~~~ . /]O[\ | #### #### * | ~~~~~~~
~~~~~~~~~~~~~~~~~~~ . |___| | #### #### | ~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~ ' , __ | #### #### | ~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~ / \ | | ~~~~~~~~~~~~~~
~~~~~~~~~~~~~~ . |__| | #### #### | ~~~~~~~~~~~~~~~
~~~~~~~~~~ | #### #### | ~~~~~~~~~~~~~~
~~~~~~~~~~~ | #### #### | ~~~~~~~~~~~~
~~~~~~~ ### ### | | ~~~~~~~~~~~
~~~~~~~~~ ### ##### ##### ### | ? + + | ~~~~~~~~~~~
~~~~~~~~~ ##### ### ##### ##### |==|==|==| |==|==|==| ~~~~~~~~~~~
~~~~~~~~~ ##### /|\ ### ### ### ~~~~~~~~~~
~~~~~~~~~ ### ### /|\ ##### /|\ ~~~~~~~~~~
~~~~~~~~ /|\ ##### ### ### ### ### ~~~~~~~~~
~~~~~~~~ ##### ### /|\ ##### ##### ##### ### |--|--|--|~~~~
~~~~~~~~~ ### ### ##### ##### ### ### ##### *|~~~~
~~~~~~~~~~ ##### /|\ ##### ### ### /|\ /|\ ### |~~~~
~~~~~~~~~~~ ##### ### ##### /|\ /|\ |--|--|--|~~~~
~~~~~~~~~~~~~ ### _ /|\ ##### ### ### ~~~~~~~~~~~
~~~~~~~~~~~~~~~ /|\ /-\ ### ### ##### ##### ~~~~~~~~~~~~
~~~~~~~~~~~~~~~~ |_| _ /|\ ##### ##### ##### ### ~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~ / \ _ ##### ### ### ### ##### ~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~ |_| / \ ### /|\ ##### /|\ ### ~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~ |_| /|\ ### /|\ ~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /|\ ~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~""",
# Autres mondes (Migard = 3)
(72, 6, 0, 126, 71), # Asgard
(77, 62, 6, 93, 8), # Nidavellir
(24, 90, 4, 78, 19), # Niflheim
(10, 58, 1, 54, 29), # Vanaheim
# Maisons
(42, 49, 25, 4, 16), # Ferme
(76, 51, 26, 5, 11), # Auberge
(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)
)
h_25 = (r"""
|==|-|=======================|=========|
|==|-|=======================|=========|
| /-\ | | |
| |___| | ______ | |
| | |______| | |
| | | |
| | | |
| |--| |--------| |--| |------|
| |
| |--| |--------| |--| |------|
| | | |
| | | |
| | | |
| | | |
| |==============================|
| |=|\/|=|\/|=|\/|=|\/|=|\/|=|\/||
|\/|^|\/| """,
(4, 16, 3, 42, 49))
h_26 = (r"""
|---------|------------------|
| | |
| |==============[]==|
| | |
| | _ _ _ |
| | |_| |_| |_|* |
| |_|* |_|* |_| |
| |_|* |_| |_|* |
| | |
| |------------------|
| |
|---|^|---| """,
(5, 12, 3, 76, 51))
h_27 = (r"""
|-----------------|
|[====] | [====]|
|[====] /_\ [====]|
| |
| + + |
| | |=======|
| | | |
| | | |
| | + |
|=======| |
| | + |
| |- | | _ |
| |_| + | |_| |
| | |_| |
| + | |_| |
| | | |_| |
|=======|^|=======| """,
(9, 16, 3, 44, 65))
h_28 = (r"""
|__|
|__|
|------------| |--|__|--| |------------|
| [===][===] | | /" "\ | | [===][===] |
| [===][===] | | |____| | | [===][===] |
| |------| |------| |
| * |
| |
| ______ ______ |
| |\/||\/| |\/||\/| |
| | | | | |
|____________| | | |____________|
|\/|=|\/|=|\/| | | |\/|=|\/|=|\/|
|__+ +__|
|\/|^^|\/| """,
(24, 14, 3, 60, 69),
(25, 14, 3, 61, 69)) # * : (27, 6)

198
idk/muspellheim.py Normal file
View File

@ -0,0 +1,198 @@
muspellheim = (r"""
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~
~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ _ ~~~~~~
~~~~~~~~ _ ### ~~~~~~~~~~~~~~~~~~~~~~~~~~~ /o\ ~~~~~
~~~~~~~ /o\ ##### ~~~~~~~~~~~~~~~~~~~~~ ### /_|_\ ~~~~
~~~~~~~ /_|_\ ### ~~~~~~~~~~~~~ ##### ~~~~~
~~~~~~~~ /_\ ### ### ### _ _ _ ~~~~~
~~~~~~~~~ ##### /_\ ##### ? / \__ /o\ /-\ ~~~~
~~~~~~~~~ _ ### _ ### | <>\ /_|_\ |_| ~~~~
~~~~~~~~ _ /o\ /_\ / \__ ### ### /_\ |____| ~~~~~
~~~~ /o\ /_|_\ | <>\ ##### ##### _ ~~~~~~
~~~ /_|_\ ### * |____| ### ### ### /o\__ ~~~~~~
~~~ ### ##### ##### /_\ /_\ ` |_ \ ~~~~~~
~~~##### ### ##### ### `,.` , * |^|__| ~~~~~~
~~~############ ### ### ` /_\ ',` `, ~~~~~~
~~~ ### ##### |=|### ##### , ' ` ' . ' ,, ` ```,'' . ~~~~~~
~~~ |=| ### ##### ### ##### `' ., ` ' ','., ,`.. ,,`,,` ,`'. ` `` ~~~~~~~
~~~ |=|### ########### ### , . ` ,.. ' ` ~~~~~~~~
### ##### ### ##### |=|. ` ### `,. ### ~~~~~~~~~
##### ### ##### |=| ### ### ##### ` ### ### ##### ~~~~~~~~~
##### ##### ### |=| ` ' ##### ### ##### ### ##### ##### ### ##### ~~~~~~~~~
### ##### |=| ### ,` ` ##### ##### ### ##### ### ##### ##### ##### ### ~~~~~~~~~
|=| ### ### ##### , , ' ### ##### |=| ##### ##### ### ### ##### |=| ~~~~~~~~
|=|##### ### ###### ' `. ` |=| ### ### ##### |=| |=| ### ### ~~~~~
########### ### ,. `.,''. |=| |=| ### ', |=| ##### ###
### ##### |=| ' `' ### `, |=| .''` ### . ##### #####
|=| ### ### ##### . ### ### ` ##### `'`. ### #####
|=| ##### ### ##### ### ##### ##### ### ,##### ' . |=| ###
### `,., ##### ##### ### ` ##### ### ##### ##### ##### ### ' |=|
### #####` ### ##### |=| ##### ##### ### ### ##### ,|=| ` ,. . `` , #
###### ### ######. .` |=| ### .,` ### ##### |=| |=| ### ` . .,, ' ###
########### ### . |=| ' ### |=| ' ### |=| '. ', ### #####
### ##### |=| ### ### ` ##### |=| ### ` ` ##### ### #####
|=| ### ### `. ##### ##### ### ##### ### ##### '' ##### ##### ###
|=|##### ### ,##### ##### ##### ### ' , ##### ### ##### `' `` ### ##### |=|
##### ##### '### ### ##### |=| ,', ##### ##### ### ,`` ` |=| ### ~~
### ##### '|=| |=| ### `.`' ### ##### |=| , ' |=| ~~~~
|=| ### |=| ### . ' . |=| ### .,` ### ~~~~~~
### |=| , ### ##### `` ' |=| , . ### ##### ~~~~~~
##### , ##### ### ##### ,,' ##### ### ##### ~~~~~~~
##### .,` ##### ##### ### `. , ` .,'. ##### ##### ### ~~~~~~~~~
### ` ` . ` ### ##### |=| ` , , ,` , ` ### ##### |=| ~~~~~~~~~
|=| ' |=| ### . ' ' `' `' |=| ### ~~~~~~~~~
### ., |=| , . .' '' ., |=| ### ~~~~~~~~~
##### .` . ### ##### ~~~~~~~~~
|=| ,, '' '` `,.` , ' '` ` ..` ##### ### ~~~~~~~~~
### .'. .'` ' ,`,, ' , `'.. ### ### /_\ ~~~~~~~~~
##### ### ` .'' ... `' . '` ### `,, /_\ ##### ~~~~~~~~
/\ ### ##### ### .` ` ##### ',' . ### ~~~~~~~~
/ \_ /_\ ### ##### .' ' ### ### ` `, ### /_\ ~~~~~~~~~
/ \ /_\ ### ### `.` ,, __ #####/_\ .`,, `, ##### ~~~~~~~~~~
/ \ /\ ##### /_ ` ### /o_\ ### ,.`,' ### ### ~~~~~~~~~~~~
/ \_ ### .,. ##### |_^| /_\ ### .``,.` /_\ ##### ~~~~~~~~~~~~~
\ / \ /_\ '' ### ### ##### .`` ### ~~~~~~~~~~~~~
\ /\ / \ /\ '` /_\ ### ##### ### . ### /_\ ~~~~~~~~~~~~
/ \_ / \_ ,,' ##### ### /_\ ,'' ##### ### ~~~~~~~~~
/ \ / \ ` ### /_\ ### `.''. ### ##### ### ~~~~~~~~
/ \ /\ / \ /\ '. /_\ ##### .'.', /_\ ### ##### ~~~~~~~
/ \_ / \_ `' ### ### ,.. '` /_\ ### ~~~~~~~
/ \ / \ `.'. ### ##### /_\ .` ',, ', /_\ ### ~~~~~
/\ / \ /\ / \ ' . ##### ### `. ' ,` ### ##### ~~~
/ \_ / \_ , '' , ., ### /_\ ### ' . ,` ##### ### ~~~
/ \ / \ ,, '...`, , /_\ ##### . . ### ### /_\ ~~
/ \ /\ / \ /\ . ,.`` ### ### ,. ` /_\ ##### ### ~~
/ \_ / \_ .., ' ### ### /_\ ##### `` `' ### ##### ~~~~
\ / \ / \ .,,##### ##### ### .`.``''` ### /_\ ### ~~~~~
\ /\ / \ /\ / \ /\ . ,### ### /_\ '',. ##### ### /_\~~~~~~
/ \_ / \_ / \_ ' /_\ /_\ ### , '` ### ##### ~~~~~~~
/ \ / \ / \ '.. ### ##### ### ' ` /_\ ### ~~~~~~~
/ \ /\ / \ /\ / ',' \ ,`''##### ### ##### '.,,` ,' /_\ ~~ ~~~~
/ \_ / \_ ` .,'`'.,' `### /_\ ### , ',,,. ### ~~ ~~~~
\ / \ / \ ',`. , `,,/_\ ### /_\ ',,`. ##### ~~ ~~~~
\ /\ / \ /\ / \ /\ ' `. ` ', ##### '' ### ### ~~~~~ ~~~~
/ \_ / \_ / \_ ` `., ### , ##### /_\ ~~~~~~ ~~~~
/ \ / \ / \ .' /_\ ### ,` ### ~~~~ ~~~~
/ \ /\ / \ /\ / \ /\ .. ##### ### `,' ### /_\ ### ~~~~~ ~~~~
/ \_ / \_ / \_ ### ##### ` ##### #####~~~~~ ~~~~
\ / \ / \ / \ ,. /_\ ### , ### ### ~~~ ~~~~
\ /\ / \ /\ / \ /\ / \ . /_\ /_\ /_\ ~~~ ~~~~
/ \_ / \_ / \_ .. * ` .' ,' ~~~ ~~~~
/ \ / \ / \ . .'''. ''`. ` `````..', ' ,..,, , . ~~~~ ~~~~
/ \ /\ / \ /\ / \ /\ .,. . _ ,' ..,` ,', _ ` ~~~~ ~~~~
/ \_ / \_ / \_ . (_) (_) ., ~~~~~ ~~~
\ / \ / \ / \ |=|==|==|==|==||==|==|==|==|=| , ~~~~ ~~~
\ /\ / \ /\ / \ /\ / \ /\ | () () | ~~~~~~ ~~~
/ \_ / \_ / \_ / \_ | /__\ __ /__\ | . ~~~~~~ ~~~
/ \ / \ / \ / \ | |o |__/()\__| o| | ~~~~~ ~~~~
/ \ /\ / \ /\ / \ /\ / \ | | o|[] __ []|o | | `. ~~~~ ~~~~
~~ / \_ / \_ / \_ | |__|__|^^|__|__| | , ~~~~~~~
~~~~ / \ / \ / \ __ | | ~~~~~~~
~~~~~ / \ / \ / \ /o \ | * #### #### | .`' ~~~~~
~~~~~~~ __ |__| | #### #### | `. ~~~~
~~~~~~~ __ / \ __ | #### #### | , '` ~~~
~~~~~~~ /()\|__| * /<>\ | | ,,', ~~~
~~~~~~~~ ~~~ |__| |__| |_ _ _ _| ` .'` ~~~
~~~~~~~~~ ~~~~~~~~~~~ ~~~ (_) oo (_) (_) oo (_) . , ~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ',.. |=|==||==|=|?'` |=|==||==|=| ', ~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ` ..` . . ` .'' ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ` '` '' . . ` ``.` ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ ', ''', ',. , , , ` ,.' ` ~~
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ ~~~ ` . ' , ', ~~
~~~~~~~~~~~~~~~~~ ~~~~~ __ ' ' , ~~
~~~~~~~~~~~~~~~~~~~~ ~~~~~~ / o\ ### , ~~~~
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ |__| ` ##### ~~~~ ,, ~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ `' ### ~~~~~~~~~ .` ~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ |_| ~~~~~~~~~~~ . . ' ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~~~ ,, ,` ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ ' , ' ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ . . ` ` ~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' . ` ~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ ~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ ~~~~~~~~~ ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~ * ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~~~~~~~ ~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~""",
# Autres mondes (Muspellheim = 7)
(92, 9, 6, 9, 57), # Nidavellir
# Maisons
(87, 14, 42, 16, 14), # Auberge
(47, 53, 43, 32, 14), # Armurerie
(67, 89, 44, 24, 24),
(68, 89, 44, 25, 24),
)
h_42 = (r"""
|===================|
| * |
|--[]---------------|
| |
| |
| * |=============|
| |
| * |
| +------+ +------+ +------+ |
| | | | | | |* |
| | | | | | | |
| *+------+ +------+ +------+ |
| |
| |
|==============|^|================|""",
(16, 14, 7, 87, 14)) # * : (11, 5) * : (6, 7) * : (31, 9) * : (2, 11)
h_43 = (r"""
|====|--|============|--|=========|
|====|--|============|--|=========|
| /____\ /____\ |
| |====| |====| |
| * |
| * |
| +----+ +----+ +----+ |
| | | | | | | |
| +----+ +----+ +----+ |
| * |
|=============================| |
|=============================| |
| |
| |
|[^]|""",
(32, 14, 7, 47, 53)) # * : (24, 4) * : (6, 5) * : (13, 9)
h_44 = (r"""
|==|==|==|==|==|==|==|==|==|==|==|
| |
| * ### ### |
| ##### ##### |
| ### ### |
| ### |_| |_| ### |
| ##### ##### |
| ### ### |
| |_| |_| |
| |
|=|/\|==|/\|=|/\|=| |=|/\|=|/\|==|/\|=|
|=|\/|==|\/|=|\/|=| |=|\/|=|\/|==|\/|=|
| |
| ___ ___ ___ ___ |
| | | | | | | | | |
| |___| |___| |___| |___| |
| | | | | | | | | |
| |___| |___| |___| |___| |
| |
| [I] [I] |
| * /|\ /|\ |
| [========] [========] |
| [========] [========] |
|=|/\|==|/\|=|/\|=|/\|=| |=|/\|=|/\|=|/\|==|/\|=|
|=|\/|==|\/|=|\/|=|\/|=|^^|=|\/|=|\/|=|\/|==|\/|=|""",
(24, 24, 7, 67, 89),
(25, 24, 7, 68, 89)) # * : (13, 2) * : (13, 20)

199
idk/nidavellir.py Normal file
View File

@ -0,0 +1,199 @@
nidavellir = (r"""
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~
~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~
~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~ _ ~~
~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ? ~~~~~~~~~~~~ /-\ ~
~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ |_| ~
/\ ~~~~~~~ /\ ~~~~~~~~~~~~~~~ `.
\ /\ ~~~~~~ / \ /\ ~~~~~~~~ /\ ,. . ,, /\ /\
\ / \ ~~~~~ / \ / \ /\ / \ /\ '` ,` / \ / \
/ \ ~~~~ / / \ / \ / \ / \ /\ `, , / \ /
/ ~~~~~ / / / \ /\ / / \ / \ / \ /
/ ~~~~~ /\ / / \ / \ /\ / / / \ /\ / \ /\ /
~~~~ / \ /\ / \ / \ / \ /\ / / \ / \ / \
/\ ~~~~ / \ / _\ / / \ / \ / \ / \ / \
/ \ /\ ~~~~ / / /^\\ /_ / / \ / \ / \
\ / \ ~~~ / / \ /-\ / / \ / \ / \
/ ~~~~~ / \ |_| / \ /\ /\
/ ~~~~~~ /\ / \ /\ / \ /\
/ ~~~~~~ / \ /\ * / \ / \ /\ / \ / \ /\
/\ ~~~ / \ / \ /\ /\ / / \ / \ / / \ / \
/ \ /\ ~~~ / / \ / \ /_ \ /\ / / / \/ / / \
\ / \ /\ ~~~~ / / \ //^\ \ / \ /\ / /\ / \ / / \
/ \ / \ ~~~~~ / / \ / / \ / \ / _\ /\ \ / \
/ / \ ~~~~~~ / / / / \ / /^\\ / \ /\
/ / \ ~~~~~~~~~~ ## / / \ / / \ / \
/\ / ## \ ~~~~~~~~~ #### / \ / / / \ /\
/ \ /\ #### ## ~~~~~~~ ## / ## / \ \ /\
\ /_ \ ## #### ~~~~~~~ || /\ #### / ## \ \ / \ /\
//^\ \ || ## * ~~~~~~~ / \ /\ ## #### / \ / \
/ \ || ~~~~~~ /^\ \ / \ /\ || ## / /
/ \ /\ ~~~~ / / \ / \ || / /
\ /\ /_ \ /\ ~~~~~~ / / / \ ## /\ /
\ / \ /\ //^\ \ / \ /\ ~~~~ / / \ #### / \ /\
/ \ / \ / / \ / \ ~~~~ / \ ## / \ / \ /\
/ / \ / / / _ \ ------ || / / \ / \
/ / \ / / /^\ \ /\ ## / / /
/ \ / \ -------- / \ /\ #### / /
\ /\ /\ ~~~~ / \ / \ /\ ## /\ /
\ / \ /\ / _\ /\ ~~~ / / \ / \ || / \ /\
/ \ / \ / /^\\ / \ /\ ~~~ / / / /^\ / \ / \ /\
/ / \ / / \ / \ ~~~~~ / / \ / / \ / \
/ / \ / / / \ ~~~~~~ /\ / \ / / /
/ \ / / \ ~~~~~ / \ /\ ## / /
\ /\ / \ ~~~~ / \ / \ /\ * #### /\ /
\ / \ /\ ~~~ / / \ / \ ## ## / \ /\
/ \ / \ /\ ~~~ / / / \ #### || / \ / \ /\
/ /^\ \ //^\ /\ ~~~~ / / \ ## . / / \ / \
/ / \ / \ / \ /\ ~~~~~~~~~~ / \ || .'' / / /
/ ~~/ /^\ \ / \ ~~~~~~~~~~~~ , / /
\ /\ ~~ / / \ /\ ~~~~~~~~~~~~ . /\ /
\ / \ /\ ~~~~~ / / \ / \ /\ ~~~~~~~~~~~~~~~~ .'` / \ /\
/ \ / \ ~~~~) / \/ \ / \ /\ ~~~~~~~~~~~~~~ `.` / \ / \
/ /_ \ * (~~~~~ / / \ / \ ~~~~~~ ` / / \ /
/ //-\ \ ~~~/ / / \ /\ ~~~~ . / / /
/ |_| \ ~~~~~~~/ / \ / \ /\ ~~~~ ' / /
\ /\ /\ ~~~~ / / \ / \? /\ ~~~~ , /
\ / \ /\ / \ /\ ~~~~~~~ / / \ / \ ~~~~~ . /\
/ \ / \ / \ / \ /\ ~~~~~~ / / \ ~~~~ / \
/ / \ / / \ / _\ , ~~~~ / / ~~ \ * ~~~~ .' / \ /
/ / \ / / / /^\\ ` ~~~~~~ / ~~ \ ~~~~ / /
/ \ / / \ .,` (~~~~~~~~~~~~~~~~ ~~~~ ~~~~ .`, / /
\ /\ / \ . ~~~~~~~~~~~~~~~ . /
\ / \ /\ /\ ~~)/\ , ' ,, (~~~~~ ` /\
/ \ / \ / \ /\ ~~ / \ /\ ,, / \
/ / \ / \ / \ /\ ~~~ / \ / \ /\ /\ ~~) '., / \ /
/ / \ / / \ / \~ / / \ / \ / \~~ /\ ` / /
/\ / \/ / / \ / / / \ / \ / \ /\ /\ / /
/ \ /\ / / \ / / \ / / \ / \ / \ /\ /
/ \ / \ /\ /\ / \ / \/ / / \ / \ / \ /\
/ \ / \ / \ /\ /\ / / \ / / \ / \
/ / \ / \ / \ /\ / \ /\ / \/ / /
/ / \ / / \ / \/ \ / \ /\ / / """,
# Autres mondes (Nidavellir = 6)
(93, 8, 3, 77, 62), # Midgard
(9, 57, 7, 92, 9), # Muspellheim
(39, 19, 8, 109, 66), # Svartalfheim
# Maisons
(69, 26, 37, 15, 14), # Auberge
( 7, 31, 38, 15, 14),
(35, 38, 39, 14, 14), # Forge
(22, 42, 40, 12, 14),
(23, 51, 41, 10, 19),
# Mines
(27, 17, 6, 45, 24),
(45, 24, 6, 27, 17),
(23, 35, 6, 36, 62),
(36, 62, 6, 23, 35),
(51, 32, 6, 19, 49),
(19, 49, 6, 51, 32),
(72, 42, 6, 9, 49),
(9, 49, 6, 72, 42),
)
h_37 = (r"""
|============|===|===========|
| * | | * |
| +---+ |
| | | |
| | | | | |
| +---+ * | |===========|
| | | |
|============| | +---+ |
| | | | | * |
| __ | | | | |
| *| | +---+ |
| | | |
| |__| | | |
| | | |
|=============|^|============|""",
(15, 14, 6, 69, 26)) # * : (2, 1) * : (26, 1) * : (10, 5) * : (27, 8) * : (3, 10)
h_38 = (r"""
|=========|
| [=====] |
| |
| *+---+ |
| | | |
|=========| +---+ |========|
| [====] [====] |
| _ * |
| (_) |
| |_| |
|=========| |========|
| |
| |
| |
|===|^|===| """,
(15, 14, 6, 7, 31)) # * : (12, 3) * : (19, 7)
h_39 = (r"""
|===================|---|====|
| /_____\ |
| +---+* |=====| |
| | | |
| | |* |
| +---+ +------+ |
| | | |
| +------+ |
| |
| |
| _ _ |
| (O) (O) |
| |_| |_| |
| |
|=|/\|=|/\|==|^|===|/\|=|/\|=|""",
(14, 14, 6, 35, 38)) # * : (9, 2) * : (9, 4)
h_40 = (r"""
|=======|-|==================|
|=======|-|==================|
| /___\ |
| |===| +------+ |
| | | |
| * | | |
| | | |
| +------+ |
| |
| |
| |
| |
| |
|=========| |==============|
|==========|^|===============|""",
(12, 14, 6, 22, 22)) # * : (14, 5)
h_41 = (r"""
|==|==|==||==|==|==|
| |
| ### * ### |
| ##### #####|
| ### ### |
| /|\ /|\ |
|==| |============|
| _ [I] [I] |
| (_) /*\ /|\ |
| |_| |
| __ |
| _ | | |
| (_) |__| |
| |_| | | |
| |__| |
| _ |
| (_) [I] |
| |_| /|\ |
| |
|========|^|=======|""",
(10, 19, 6, 23, 51)) # * : (12, 2) * : (10, 8)

128
idk/niflheim.py Normal file
View File

@ -0,0 +1,128 @@
niflheim = (r"""
## ##### ##### ##### ##### ### ### ##### ##### ##### ### ### ### ### #####
### ### ##### ### ##### /_\ ##### ##### ### ##### ##### ##### ##### ##### #####
### /_\ ### /_\ ### ### ##### ### /_\ ### ### ### ##### ### ##### ##### ##### ###
## /_\ ###/_\ ##### ### /_\ #####/_\##### ### ##### ### ### ### ### ### ### /_\
_\ ### ##### ### ##### /_\ ### ##### ##### /_\ ##### /_\ /_\#####/_\##### ##### ###
### ##### ########## ### ### ##### ### ### ### ### ### ### ##### ##### ##### #####
##### ##### ### ##### /_\ ########## /_\ ### /_\##### ### /_\##### ##### ### ### ### ### ### #####
##### ### /_\ ### ##### ### ### ##### ########## ##### ### ##### /_\#####/_\#####/_\ ###
### ### /_\ ### /_\ ### /_\##### ##### ### ##### ### ##### ### ##### ##### /_\
/_\##### ##### _ /_\ ##### ### /_\ ### /_\ ##### /_\ ### ### ###
### ##### ### ##### _ |+| ### ### ### /_\ /_\ ### /_\ _ /_\ ##### ###
#### ### ##### ### |+| |_| ##### /_\##### /_\ |+| #########
#### /_\ ##### /_\ |_| ##### ##### _ |_| ### ####
### ### ### ### |+| ___ ### /_\ ###
/_\ /_\ _ /_\ /_\ |_| /[O]\ ##### /_\
### ### |+| |___| ##### ###
##### ##### ' ' |_| ___ _ ### #####
##### ##### __ / \ ` ' _ |+| /_\ #####
### ### _ .' ,` /()\ |___| /-\ |_| ### ###
/_\ /_\ |+| .` | |____ |_| _ ##### /_\
### ### |_| '' |_ () \ _ `' ` |+| #####
#### ##### ,, |^|_____| |+| ___ , |_| ###
#### ##### , `` |_| /o o\ , ,., /_\ ###
### ### ,` ` |___| ,, #####
/_\ /_\ _ ' .` _ , _ #####
### |+| _ , |+| .., |+| ###
##### |_| _ |+| , |_| __ __ . |_| /_\
##### |+| |_| . `, /<>\ ____ /<>\ ` ###
### |_| , , ' | |____/O O\____| | ' _ ##### ###
/_\ '' ' |[]| [] | | [] |[]| , |+| ##### ####
### _ `` '' | | | __ | | | ,'. *|_| ### ### ####
##### ### / \ ` . * |__|____|/^^\|____|__| ,`` #####/_\ ###
# ########## _ |_| ' ',, ` ?, ##### /_\
## ### ##### |+| '` ` `' , ###
## /_\ ### |_| `` _ ` _ .. _ ` /_\ ###
# /_\ |+| . (o) ',',, (o) ``` _ ### #####
\ ### '` . |_| ` /-\ ., /-\ , |+| ##### #####
### ##### _ ,,, ` ` , , . |_| ##### ###
##### ##### |+| ` ,` , '' . ` ` ` . ### /_\
##### ### |_| _ _ ' .' _ ,'., ,, /_\ #
### /_\ . |+| ___ (o) . (o) .`. ___ ### ##
/_\ ### ` |_| /___\ /-\ '', /-\ ', , / \ ##### ##
##### ### , |___| , |___| ##### #
##### ##### , ___ _ . _ `,.,`. ### /
### #### ##### .`.` , , /---\ (o) ' (o) ' . /_\ ###
##### /_\ ### ', , |___| /-\ ,.` /-\ .. ___ _ #####
##### /_\ _ `, ','. , `. /<o>\ ` |+| #####
### ### |+| '' _ ___ . . ` |___| ` |_| ###
/_\ ##### |_| ' |+| / \ , , _ ... ### /_\
### ##### _ ', |_| |___| ', /-\ ', ,''`' #####
##### ### ___ |+| , |_| ` #####
##### /_\ _ / \ |_| '.` '` _ , ###
### /-\ |___| ,. ` ' ``', , |+| , ### /_\###
## /_\ ### |_| _ . _ ` _ |_| . ##### #####
### ##### , ___ |+| _ |+| . |+| ##### #####
### ##### ., / \ |_| ' |+| |_| . |_| , ### ###
## ### ., |___| _ ' |_| .`,` . /_\ /_\
_\ /_\ ### ', |+| ___ ' '. ``,..' '.`.``` ,`..`'' ,, ###
### ##### , |_| / \ `.`` ' ,..' ``'` .' ` , . ##### ###
##### ##### . , |___| ' _ _ ##########
##### ### '`` * ,` |+| |+| ### ### #####
### ### /_\ , ,' `` _ |_| |_| ### ##### /_\ ###
/_\##### '. '``, ,.. ``, |+| ##### ##### ### /_\
##### ### ### |_| ### ##### ### ##### ###
### ##### ##### ##### ### /_\ ##### #####
/_\ ##### ### ##### ### ### ##### /_\ ### #####
### ### ##### ### ### ### ### ##### ##### ### ### /_\ ### ###
##### /_\ ##### /_\ ##### ##### ##### ##### ##### ##### /_\ ### ### * #####/_\
##### ### ### ### ##### ##### ##### ### ### ### ##### ##### ##### #####
### ##### /_\ ##### ### ### ### ### /_\ ### /_\ ##### ### ### ##### ### ##### ### ###
/_\ ##### ### ##### /_\ ### /_\ ### /_\##### ##### ### ##### ### /_\ ##### ### ##### ### #####/_\
### ### ##### ### ##### ##### ##### ##### ##### ### ##### ### ##### /_\ ##### /_\ #####
### /_\ ##### ##### /_\ ##### ##### ### ### ### ##### /_\ ##### ##### ### ### ###
##### ##### ### ### ### /_\ /_\##### ### ### ##### /_\ /_\ /_\
##### ### /_\ /_\ /_\ ##### /_\ /_\ ### """,
# Autres monde (Niflheim = 4)
(78, 19, 3, 24, 90), # Midgard
# Maisons
(38, 21, 29, 15, 14), # Librairie
(70, 31, 30, 24, 19),
(71, 31, 30, 25, 19),
)
h_29 = (r"""
|============================|
| [===][=--==/ \==-=-][===] |
| [=-=][===-/ \==--][--=] |
| [==-][=-=/ \-==][==-] |
| |
| * |
| [I] [I] [I] [I] |
| /|\ /|\ /|\ /|\ |
| |
| |
| [=--] [==-] [-=] [==-] |
| [-==] [--=] [==] [--=] |
| [===] [=-=] [==] [-==] |
| |
|=============|^|============|""",
(15, 14, 4, 38, 21)) # * : (5, 5)
h_30 = (r"""
|======|----|=======| |=======|----|======|
| /______\ | | /______\ |
| | | |========| | | |
| |======| |======| |
| _ _ * |
| (_) (_) |
| __ __ * |_| |_| __ __ |
| | | | | | | | | |
| |__| |__| |__| |__| |
| | | | | _ _ | | | | |
| |__| |__| (_) (_) |__| |__| |
| |_| |_| |
| |
| __ __ |
| | | _ _ | | |
| |__| (_) (_) |__| |
| | | |_| |_| | | |
| |__| |__| |
| |========| |========| |
|=============| |^^| |=============|""",
(24, 19, 4, 70, 31),
(25, 19, 4, 71, 31)) # * : (37, 4) * : (17, 6)

1077
idk/scenario.py Normal file

File diff suppressed because it is too large Load Diff

161
idk/svartalfheim.py Normal file
View File

@ -0,0 +1,161 @@
svartalfheim = (r"""
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~ __ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~ /<>\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ __ ~~~~~~~~~~~~~~
~~~~~~~~~~~~~ ## |__| ## ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /<>\ ~~~~~~~~~~~~~
~~~~~~~~~~~~ #### ## |__| #### ## #### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |__| ~~~~~~~~~~~
~~~~~~~~~~~ #### #### |__| #### #### #### ~~~~~~~~~~~~~~~~~~~~~~~~~ ## |__| ~~~~~~~~~~
~~~~~~~~~ ## #### ## #### ## /\ __ ## #### |__| ~~~~~~~~
~~~~~~~~ || ## ## || ## || / \ /\ /<>\ #### #### ## ## ~~~~~~~
~~~~~~~ ## || #### || /\ / \ /\ / \ |__| #### ## #### #### ~~~~~~
~~~~~~ #### ## #### ## ## / \ / \ \ /\ |__| ## || #### #### ## ~~~~~~
~~~~~ #### #### ## ## #### #### / \ /\ / /\ / \ |__| __ || __ ## ## #### ~~~~~
~~~~ ## ## #### #### || #### #### / \ / \ / \ ## /<>\ /<>\ || ## || #### ~~~~
~~~ #### || ## ## #### ## ## / \ /\ \ /\ #### |__|_____|__| #### ## ~~~
~~~ #### #### || ## ## || || /\_ / \ / \ #### |__|O _ O|__| ## #### ## || ~~~
~~~ ## #### || #### /\_ / \ / \ /\ \ ## ## |__|_|^|_|__| #### ## #### ~~~
~~~ || ## #### / \ / \ / \ || #### #### || #### ## ~~~
~~ ## || ## ## / \ /\ / \ /\ #### ~~~~~~ ## ## #### ~~~
~~ #### #### || /\ / \ ~~~~~ / \ ## ~~~~~~ || || #### ~~~~
~~ #### #### ## ## / \ \ /\ ~~~ / \ ## || ## ~~~~ ## ~~~ ## ~~~~~
~~ __ ## ## ## #### #### / \ /\ / \ ~~ #### #### #### ##~~~~ __ || ~~~~~~
~~ /<>\ || #### || #### #### /\_ /\ / \ /\ ~~~ #### #### ## ######## ~~~ /<>\ ~~~~~~~~~
~~ |__| #### ## ## / \ / \ \ / \ ~~~~ ## ## #### ## ## #### ~~~ |__| ~~~~~~~~~~~
~~~ |__| ## || ## || / \ /\/ \ /\ / \ /\ ~~~~~ || || #### #### || ## ~~ |__| ~~~~~~~~~~~
~~~~ |^_| * || ## #### / \ / \ / \ ~~~~~~~ ## #### || ~~~ |__| ~~~~~~~~~~~~
~~~~~ #### #### /\ / \ /\/ \ / \ ~~~~~~~ || ## ~~~~~~ ~~~~~~~~~~~~~
~~~~~~~ ### #### ## / \ / \ ~ ~~~~~~ || ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
~~~~~~~~ ##### ## || / \ /\ / \ /\ ~~~ ~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~ ### || ### / \ / \ ~~~~ ~~~~~~~~ ~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~ /-\ ##### /\_ / \ /\ / \ /\ ~~~~~ __ |==|~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~ ### / \ / \ / \ ### ### /<>\___ | *|~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~ ### /-\ / \ / \ /\ / \ /\_ ##### ##### | <o>\ | | ~~~~~~~~~~~~~~~~~~
~~~~~~~~~~ ##### ### /\ / \ / \ ### ### |_ | ~~~~~~~~~~~~~~~~~~
~~~~~~~~~~ ### ##### ### / \ / \ /\ / \ ### /|\ /|\ |^|____| ~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~ /-\ ### ##### / \ /\ / \ ##### ### ~~~~~ ~~~~~~~~~
~~~~~~~~~~~~ ### /-\ ### / \ ~ / \ /\_ ### ### ##### ~~ ~~~~~~~~
~~~~~~~~~~~~ ### ##### /-\ /\_ / \ ~~~ / \ /|\ ##### ### ~~~~~~~
~~~~~~~~~~~~ ##### ### ### / \ ~~~ / \ ### /|\ ### ? ~~~~~~
~~~~~~~~~~~ ### /-\ ##### / \ /\_ ~~~ ### /|\ ##### ### __ ~~~~~
~~~~~~~~~~ /-\ ### / \ ~~~ ##### ### ##### /<>\ ~~~~~
~~~~~~~~~ ### /-\ /\_ / \ ~~ ### /|\ ### |__| ~~~~~~
~~~~ __ ##### / \ /\ ~~~~~~ /|\ ~~~~~~~~~ /|\ |__| ~~~~~~~
~~~ /<>\ ### ### /\ / \ /\_ / \ ~~~~~~~~~~~~~ ~~~~~~~~ |__| ~~~~~~~~~
~~~ |__| ### /-\ #####/ \ / \ /\ ~~~~~~~~~~~~~~~ ~~~~~~~~~~~
~~~ |__| ##### ### /\ / \ / \ ### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~ |__| ### /-\ /\ / \ /\ /\ ##### ### ~~~~~~~~~~~~~~~~~~~~~
~~~~~~ /-\ _ __ / \ / \ /\ / \ ####### ##### * ~~~~~~~~~~~~~
~~~~~~~~~ / \ / \ /\ /\ / \ #|-|# ### ### ### __ ~~~~~~~~~~~~
~~~~~~~~~ ## |_| |__| / \ /\ / \ ### ### |_| ##### /-\ ### ##### /<>\ ~~~~|==|~~~
~~~~~~~~~~ #### ## / \ ## ##### ##### ####### ### ##### ### |__| ~~~~| *|~~~
~~~~~~~~~~~ * _ #### #### ####### ####### #|-|# ##### ### ### /-\ |__| ~~~~ | |~~~
~~~~~~~~~~~ ## __ / \ _ __ ## #|-|# #|-|# |_| ### ##### /-\ |__| ~~~~~~ ~~~
~~~~~~~~~~ #### / \ |_| / \ / \ #### |_| |_| ### /-\ ### ~~~~~~~ ~~~
~~~~~~~ ## |__| ## |_| |__| ##### /-\ ### ~~~~~~~~~~~ ~~~
~~~~~~ #### * #### ####### ##### ~~~~~~~~~~~~ ~~~
~~~~ _ __ ## ___________________ #|-|# ### ~~~~~~~~~~~~ ~~~
~~~ ## __ / \ / \ #### /_|]O[|_|]O[|_|]O[|_\ |_| ### ### /-\ ~~~~~~~~~~ ### ~~~
~~~ __ #### / \ |_| |__| /_____________________\ ##### ##### __ ~~~~~~~~~ ##### ~~~~
~~ /<>\ |__| __ |_/___\_/___\_/___\_| ####### ### /<>\ ~~~~~~~~~~ ### ~~~~~
~~~ |__| / \ |_| |_|/^\|_| |_| #|-|# /-\ |__| ~~~~~~~~~~ /-\ ~~~~~
~~~ |__| __ |__| |_| ### |__| ~~~~~~~ ### ~~~~~
~~~~~ |__| ## ## * / \ _ ##### ### |__| ~~~~~~ ##### ~~~~~
~~~~~~~ #### #### |__| ## ### / \ ### ### ##### ~~~~~~~ ### ### ~~~~~
~~~~~~~~~~~~~ #### ##### |_| ##### /-\ ### ~~~~~~~~~~ /-\ ##### ~~~~
~~~~~~~~~~~~~~~ ## ####### ####### /-\ ~~~~~~~~~~ _ ### ~~~
~~~~~~~~~~~~~~~~~ #### __ #|-|# ### __ #|-|# ### ~~~~~~~~~~ /-\ /-\ ~~
~~~~~~~~~~~~~~~~~ /<>\ |_| ##### /<>\ |_| ##### ~~~~~~~~~~~ |_| ~~
~~~~~~~~~~~~~~~~~~ |__| ####### ### |__| ####### ~~~~~~~~~~~~ ### ~~
~~~~~~~~~~~~~~~~~~~~~~ |__| ~~~~ #|-|# ##### |__| #|-|# ~~~~~~~~~~~~ ##### * ~~
~~~~~~~~~~~~~~~~~~~~~~~~ |__| ~~~~~~ |_| ####### |__| ~~~ |_| ~~~~~~~~~~~ ### ### ~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ #|-|# ~~~~~~~~~ ~~~~~~~~~~~~~ ##### /-\ ~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ |_| ~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~ ### ~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~ /-\ ~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~""",
# Autres mondes (Svartalfheim = 8)
(109, 66, 6, 39, 19), # Nidavellir
# Maisons
(90, 15, 45, 24, 19), # Manoir au Nord
( 6, 24, 46, 9, 9), # Tour de guet
(91, 33, 47, 1, 14), # Mesnie à côté du quai
(57, 59, 48, 19, 14), # Palais des Elfes noirs
)
h_45 = (r"""
|=================| |==================|
| | | |
| |===========| |
| __ * __ |
| | | | | |
| |__| [O] [O] |__| |
| | | |_| |_| | | |
| |__| |__| |
| |
| [O] [O] |
| __ |_| |_| __ |
| | | | | |
| |__| |__| |
| | | [O] [O] | | |
| |__| |_| |_| |__| |
| |
| |====| |====| |
|=================| | | |==================|
|^| """,
(24, 19, 8, 90, 15))
h_46 = (r"""
|===||=============|
| /__\ |
| |==| *+--+ |
| | | |
| *| | |
| | | |
| +--+ |
| |
| |
|=======|^|========|""",
(9, 9, 8, 6, 24))
h_47 = (r"""
|=========|
| [-=-==] |
| [===--] |
| |
| * |==================|
| |
| __ __ |
| | | | | |
| *|__| |__| |
| | | | | |
| |__| |__| |
| | | | | |
| |__| |__| |
| |
|^|==========================|""",
(1, 14, 8, 91, 33))
h_48 = (r"""
|======================================|
| |
| |
| ~~~~ |
| __ ~~(~~)~~ __ |
| | | ~(______)~ | |* |
| |__| (__________) *|__| |
| | | | | |
| |__| |__| |
| |
| |
| |
| \__/ \__/ \__/ \__/ |
|==| |======| |=| |=| |======| |==|
| | | | |^=| | | | | """,
(19, 14, 8, 57, 59))

99
idk/vanaheim.py Normal file
View File

@ -0,0 +1,99 @@
vanaheim = (r"""
/ \ / \ /\ / \ / \ /\ /
/\ / \ / \ / \ /\ / \ / \ / \ /
/ \ / \ /\ / \ / \ / \ / /\ / \
/ \ /\ / \ / /\ / \ / \ / \
/\ / \ / \ / \ / \ / /\ \ /\/ \
/ \ / \ / \ /\ / \ / \ / \ /\ /
/ \ / \ / \ / / \ / / \ /\ /\ /
/ \ /\ /\ / \ / \ / \/ \ / \ /
/ \ / \ / \ _ / / \ \ /\ /
/\ / \ / \ / \_ / / \
/ \ / \ /\ / \ __ |_ o\ /\ / \
/ \ / \ _ /<>\ |^|_| / \
/ \ /\ / \ /o\ * |__| / \ /\
/ \ / \ |_| _ / \ / \
/\ / \ /\ ### . ###### ###### /o\ /\ /
\ / / \ ##### ### ###### ###### |_| / \ /
\ /\ / \ ### '. ##### ##### ##### / \ /\
\ / \ / \ /|\ ` ### #### #### ### / \ / \
/ \ __ /|\ ##### /\ / \
/\ / \ /\ / \ .`' #### #### ### / \ /
/ \ / \ |__| #####? ##### /|\ / \
\ / \ ,' . `` ###### ###### / \ /\
\ /\ / \ /\ '`'., ###### ###### * ### / \
/ \ / \ ### ``' ##### / \ /
/\ / \ / \ ##### _ __ ### /\ / \ /
\ / \ /\ / ### / \ ' /<>\ ` /|\ / \ /
\ / \ /|\ |_| . |__| .' / \ /\ /
\ /\ / \ ` ``' ### , _ / \ / \
/ \ / \ /\ _ ##### ', /o\ / \
/ \ / \ . / \ ### , |_| /\ \ /
/ \ /\ / \ |_| /|\ , * ` / \ /
/ \ / \ ,. _ ',` '' / \ /\
/ \ ### _/ \ ### _____ ' / \ / \
/ \ /\ ##### /o | ##### /_____\ `' /\ / \
/\ / \ ### `'.|___| ### |<>_<>| / \ /
/ \ / \ /|\ '',., /|\ |_|^|_| , / \
/ \ /\ / \ __ `,'.``` .', .``' ` / \ /\
/ \ / \ /<>\ ### ,,.' / \
/ \ |__| ##### ### / \
/\ / \ /\ ' ### * ##### /\ \
/ \ / \ ` /|\ _ ### _ / \
/ \ / \ /\ .. /o\ ./|\ /o\ / \ /\
/ \ /\ / \ / \ .'' |_| ,'`' ',` |_| /\ / \ /
/ \ / \ ,., .,`, /\ ', ,` / \ /
/\ / \ /\ / \ /\ / \ / \ /\ /
/ \ / \ / \ / \ /\ * / \ /\ / \ / \
/ \ / \ / \ / \ /\ / / \ /\ / \
/ \ / \ /\ / / \ / \ / \ / \ / \
/ \ / / \ / / \
/ \ / \ / \ """,
# Autres mondes (Vanaheim = 1)
(28, 13, 2, 14, 68), # Alfheim
(54, 29, 3, 10, 58), # Midgard
(56, 42, 5, 11, 120), # Jotunheim
# Maisons
(44, 11, 21, 5, 9), # Auberge
(52, 35, 22, 20, 19),
)
h_21 = (r"""
|=======================|
| * | |
| |-------------|
| |
| +--+ +--+ +--+ |
| | | | | | | |
| +--+ +--+ +--+* |
| |
| |
|===|^|=================|""",
(5, 9, 1, 44, 11)) # * : (8, 1) * : (21, 6)
h_22 = (r"""
|=======================|==============|
|=======================|==============|
| | |
| _ _ | __ * |
| (_) (_) | |__| |
| |=| |=| | |__| |
| |_| |_| | |__| |
| | |
| * | |
| |=] [|] [==========|
| _ _ | |
| (_) (_) | |
| |=| |=| | |=======[]=======|
| |_| |_| | | |
| | | |
| | | |
| | | |
| | | |
|/\=/\=/\=/\=/\=/\=| |=/\=/\=/\=/\=/\==|
|\/=\/=\/=\/=\/=\/=]^[=\/=\/=\/=\/=\/==|""",
(20, 19, 1, 52, 35)) # * : (36, 3) * : (2, 8)