IDK/src/midgard.py

285 lines
17 KiB
Python

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, 109, 66), # 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)
)
def midgard_po(coords):
if coords == (29, 9): return [0, "Du haut des falaises, vous regardez vers le nord. La mer s'etale, infinie. Le vent porte des embruns a votre visage. 30 metres plus bas, les vagues se dechainent contre le calcaire de la roche dans un fracas assourdissant."]
elif coords == (53, 24): return [0, "Vous regardez la clairiere autour de vous, l'endroit est agreable. Une douce chaleur traine dans l'air sec. Au dela des grands pins qui vous entourent, vous parvenez a voir quelques sommets de montanges."]
elif coords == (66, 45): return [0, "Les imposantes colonnes du palais de Midgard vous entourent. Un peu au sud, le bourg est actif : marchands de toutes sortent deambulent, entoures d'une population dense et bruyante."]
elif coords == (52, 79): return [0, "Tournant le dos a l'epais mur qui delimite la propriete, vous observez le manoir. Le corps du batiment etait clairement une ancienne ferme a laquelle deux tours on ete rajoute a posteriori. L'ensemble garde un aspect massif et froid. Neanmoins, le reste de la propriete a fait l'objet d'un certain soin, en particulier le jardin en 4 parties dans lequel un vieux jardinier s'affaire."]
def midgard_npc(data, stat):
# (67, 46)
# (39, 49)
# (66, 56)
# (51, 60)
# (68, 71)
coords = data[2], data[3]
xp = data[0]
if coords == (8, 59):
if stat[9] == 1: return {
7: [0, "En clair, j'aimerais que tu elimines Gardim. La paye sera bonne."],
8: [1, "C'est un grand service que tu m'a rendu l'ami, je ne l'oublierai pas ! [+10PO]", 0, (1, 10), (9, -1)]
}
else: return {
"base": [0, "Laard, je suis marin de mon etat."],
4: [0, "Laard, marin. Vous cherchez un engagement ?\n1. Hmm ? Proposez toujours ?\n2. Désolé, j'ai d'autres affaires a regler.", 2],
5: [2, "Voila, il y a quelques temps j'ai embarque dans un navire. Malheureusement, Njord ne nous a pas ete favorable : la tempete nous a surpris. La situation a bord est devenue tendue, nous nous sommes mutines. En represailles, Gardim, le capitaine, a fait passer quelques matelots par dessus bord. J'ai jure de les venger, mais je ne connais rien aux armes. Tu peux t'en charger pour moi ?", 0, (9, 1)],
6: [-2, "Je comprends."],
}
elif coords == (94, 85):
if stat[9] == 1:
if xp < 7:
return [0, "Gardim, capitaine du Mantree [IL DESIGNA UN DRAKKAR]"]
elif xp == 7:
return [5, 2, 7, 7, 30], "Gardim", 3
else: return {
"base": [0, "[A VOS PIEDS S'ETEND LE CORPS FROID DE GARDIM.]"]
}
h_25 = (r"""
|==|-|=======================|=========|
|==|-|=======================|=========|
| /-\ | | |
| |___| | ______ | |
| | |______| | |
| | | |
| | | |
| |--| |--------| |--| |------|
| |
| |--| |--------| |--| |------|
| | | |
| | | |
| | | |
| | | |
| |==============================|
| |=|\/|=|\/|=|\/|=|\/|=|\/|=|\/||
|\/|^|\/| """,
(4, 16, 3, 42, 49))
def h_25_npc(data, stat):
pass
h_26 = (r"""
|---------|------------------|
| | |
| |==============[]==|
| | |
| | _ _ _ |
| | |_| |_| |_|* |
| |_|* |_|* |_| |
| |_|* |_| |_|* |
| | |
| |------------------|
| |
|---|^|---| """,
(5, 12, 3, 76, 51))
def h_26_npc(data, stat):
# * : (17, 7)
# * : (22, 7)
# * : (17, 8)
# * : (27, 8)
coords = data[2], data[3]
# Rosahil Green
if coords == (27, 6):
if stat[4] >= 1320 or stat[4] <= 340: return [0, "Je suis desolee, nous sommes fermes. Revenez plus tard !"]
if stat[6][1] == -1:
stat[6] = stat[4], data[0]
return [0, "Rosahil Green, tenanciere de cette auberge. Vous desirez quelque chose ?\n1.De quoi manger s'il vous plait. [-5 PO]\n2.Je voudrais une chambre pour la nuit. [-10 PO]", 2]
elif data[0] == stat[6][1] + 1:
stat[6] = (-1, -1)
if stat[1] < 5: return [-1, "Reviens quand tu auras assez de pieces d'or."]
return [-1, "Et voila pour vous ! [ROSAHIL POSA UNE ASSIETTE DE RAGOUT CHAUD DEVANT VOUS.]", 0, (0, 5), (1, -5)]
elif data[0] == stat[6][1] + 2:
stat[6] = (-1, -1)
if stat[1] < 10: return [-2, "Je suis desolee, tu n'as pas assez !"]
elif 360 < stat[4] < 1140: return [-2, "Il est trop tot, reviens vers 19h."]
else:
stat[4] = 360
return [-2, "Suivez-moi, je vais vous montrer votre chambre. [VOUS SUIVEZ ROSAHIL DANS L'AUBERGE, LA NUIT PASSA.]", 0, (0, 10), (1, -10)]
else: return [0, "Ui hips ?"]
h_27 = (r"""
|-----------------|
|[====] | [====]|
|[====] /_\ [====]|
| |
| + + |
| | |=======|
| | | |
| | | |
| | + |
|=======| |
| | + |
| |- | | _ |
| |_| + | |_| |
| | |_| |
| + | |_| |
| | | |_| |
|=======|^|=======| """,
(9, 16, 3, 44, 65))
def h_27_npc(data, stat):
pass
h_28 = (r"""
|__|
|__|
|------------| |--|__|--| |------------|
| [===][===] | | /" "\ | | [===][===] |
| [===][===] | | |____| | | [===][===] |
| |------| |------| |
| * |
| |
| ______ ______ |
| |\/||\/| |\/||\/| |
| | | | | |
|____________| | | |____________|
|\/|=|\/|=|\/| | | |\/|=|\/|=|\/|
|__+ +__|
|\/|^^|\/| """,
(24, 14, 3, 60, 69),
(25, 14, 3, 61, 69)) # * : (27, 6)
def h_28_npc(data, stat):
pass