End of dev

This commit is contained in:
Shadow15510 2021-08-23 15:58:52 +02:00
parent 864499e9b2
commit af1fbcf445
3 changed files with 240 additions and 53 deletions

View File

@ -251,7 +251,11 @@ def text_formater(string, screen_width=21, screen_height=6):
return "\n".join(lines[:screen_height]) + "\n\n" + paragraph_formater(lines[screen_height:], screen_height)
lines = line_formater(string, screen_width).split("\n")
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")

View File

@ -30,27 +30,27 @@ world = r"""
/o\ _ ~~~~~~ # ## #### ## || ####
|_| /o\ ~~~~~~~~ ### || ## || ## ####
___ |_| ~~~~~~~~~~~~~~~ ##### _ || #### ## ##
/_ \ ~~~~~~~~~~~~~~~ | | * /o\ #### #### ||
|^|_| | ~~~~~~~ |_| ## ####
/ o \ ~~~~~~~~~~~~~~~ | | * /o\ #### #### ||
|___| | ~~~~~~~ |_| ## ####
_ * | |~~~~~~~~~~ ___ || ## ##
/ \ ~~| |~~~~~~~ /<o>\ # ## || ####
|_| ~~~~~~~~~~| |~~ # |_^_| ### #### #### ##
|_| ~~~~~~~~~~| |~~ # |___| ### #### #### ##
~~~~~~~~~~~~~~~~| | ### ##### #### ## ####
~~~~~~~~~~~~~~ | # ##### # # | | ## || ####
~~~~~~~~ # ### | | ### ### ____ || ## ##
# ### ##### ##### ##### /[] \____ #### ## ||
## ### # ##### | | # | | | | # | _ [] \ #### ####
~~~~~~~~ # ### | | ### ### _____ || ## ##
# ### ##### ##### ##### /|]O[|\___ #### ## ||
## ### # ##### | | # | | | | # | _ <o>\ #### ####
#### ## ##### ### | | ### ### |__|^|____| ## ####
#### #### | | ##### ##### ##### || ##
## #### # | | | | # | | ## ||
|| * ## ### # ### # _ #### ##
## || ##### ### ##### ### * /o\ #### ####
#### | | _ _ ##### | | ##### |^| ## ####
#### / \ /o\ * | | | | ___ * ##|| ##
#### | | _ _ ##### | | ##### |_| ## ####
#### / \ /o\ * | | | | ___ ##|| ##
## _ |^| |_| # /<o>\ #### ##||
||## ___ /o\_ ### # |^__| #### ####
####/<o>\ | \ ##### ### ## ####
####|__^| |__^| | | ##### ## || ##
####/o \ | o\ ##### ### ## ####
####|___| |___| | | ##### ## || ##
## | | ## ## #### ## ||
|| ## #### ## #### ## #### ####
## #### ## #### #### #### #### ## ####
@ -71,7 +71,7 @@ world = r"""
smoastraund_house = (r"""
+----------+
| |* == |
| |* \==|
| |_| |
| +-----+
| *|
@ -95,9 +95,9 @@ hospital = (r"""
narfec_castle = (r"""
+---+ +-------------+ +----+
| *| | | |/==\|
| | | * | |* |
| | | | | |
|= *| | | |/==\|
|= | | * | |* |
|= | | | | |
| | |----|[ ]|----| | |
|[ ]| | $ $ | | |
| +-+ /\ /\ | |[ ]|+
@ -115,23 +115,23 @@ narfec_castle = (r"""
monastery = (r"""
+-----+-----+
| | _ |
| | |_| |
| | | _ |
| |_| | |_| |
| | |_| |
| | |_| |
| | ?|
+-----+-- --+-- --+-----+
| | | |
| | ~~~ ~~~ | |
| ~~~ ~~~ |
| | ~~~ ~~~ | * |
| *| ~ V ~ | |
+-----+ /|\ +-----+
|* | ~ ~ | |
| | ~~~ ~~~ | |
| ~~~ ~~~ *|
| | ~~~ ~~~ | |
| | ?| |
| |= | | =| |
| |_| | ### ### | |_| |
| O### ###O |
| | ## ## | * |
| *| O# ~~~ #O | |
+-----+ ~~~ +-----+
|* | O# ~~~ #O | |
| | ## ## | |
| O### ###O *|
| |= | ### ### | =| |
| |_| | ?| |_| |
+-----+---|[ ]|---+-----+
| |
| |
@ -141,3 +141,27 @@ monastery = (r"""
+----|^|----+
""",
(74, 18), (12, 24))
rolen_house = (r"""
+----------+
|===/ \===|
| | |
| |_| ?|
| |
+--|^|-----+
""",
(20, 48), (4, 5))
daren_house = (r"""
+-----+----------+
| | |==| |=__|
| | |=_| |_==|
| |__| |==_|
| | |
| | * |
+-----|^|--------+
""",
(62, 49), (7, 6))

View File

@ -2,7 +2,7 @@ from asci_lib import Asci
from maps import *
world_maps = (world, smoastraund_house, hospital, narfec_castle, monastery)
world_maps = (world, smoastraund_house, hospital, narfec_castle, monastery, rolen_house)
def events(xp, current_map, x, y, stat):
@ -16,27 +16,32 @@ def events(xp, current_map, x, y, stat):
"base": [0, "[IL N'Y A RIEN A VOIR ICI.]"],
16: [0, "[ENTRE LES PIERRES EBOULEE VOUS ENTRAPERCEVEZ LES RESTES D'UN MUR.]\n1.Fouiller les decombres\n2.Aller voir plus haut", 2],
17: [2, "[VOUS METTEZ AU JOUR LES RESTES D'UNE MAISON. LE MOBILIER, BIEN QUE DEFONCE ET HORS D'USAGE A L'AIR ENTRETENU]"],
18: [-2, "[ALORS QUE VOUS ESCALADIEZ LE JEUNE PIERRIER, VOS YEUX SE POSENT SUR UNE MAIN A DEMI ENSEVELIE. LE MALHEUREUX LA-DESSOUS N'A AUCUNE CHANCE D'ETRE ENCORE VIVANT. ENCORE SECOUE DE VOTRE DECOUVERTE VOUS REDESCENDEZ AU PIED DE L'EBOULIS]"],
18: [-2, "VOUS NE TROUVEZ RIEN ET REDESCENDEZ AU PIED DE L'EBOULIS]"],
19: [1, "[EN RETOURNANT SUR VOS PAS VOUS TROUVEZ UNE PIERRE SEMBLABLE A CELLE QU'AVAIT SMOASTRAUND.]"]
19: [1, "[EN RETOURNANT SUR VOS PAS VOS YEUX SE POSENT SUR UNE MAIN A DEMI ENSEVELIE. LE MALHEUREUX LA-DESSOUS N'A AUCUNE CHANCE D'ETRE ENCORE VIVANT. VOUS TROUVEZ POSE A COTE UNE PIERRE SEMBLABLE A CELLE QU'AVAIT SMOASTRAUND.]"]
}
# Andon the factor
if coords == (71, 45): return {
"base": [0, "Je n'ai pas de courrier pour toi, {}, reviens plus tard !".format(name)],
23: [0, "Ah ! {} ! J'ai entendu dire qu'il y avait eu un mort !\n1.Salut Andon. Un mort, dans les montagnes des Syerpenes ? Je suis au courrant.\n2.Ah bon ?".format(name), 2],
23: [0, "Ah ! {} ! J'ai entendu dire qu'il y avait eu un mort !\n1.Salut Andon. Un mort, dans les montagnes des Syerpenes ? Je suis au courant.\n2.Ah bon ?".format(name), 2],
24: [2, "Dans les montagnes ?! Mais non, le moine ! Un copiste a ete retrouve mort au monastere de Tal'za."],
25: [1, "Tu n'en a pas entendu parle ? On a retrouve le corps d'un moine dans le monastere de Tal'za."],
26: [0, "Il parait que la Reine est inquiete, un mort plus le tremblement de terre...\n1.Sais-tu comment il est mort ?\n2.Ou est ce monastere ?\n3.Tu m'as l'air bien enthousisate...\n4.C'est le deuxieme mort, le tremblement de terre a fait une victime.", 4],
27: [-1, "Aucune idée ! D'ennui sans doute..."],
28: [-2, "Le monastere de Tal'za est assez au nord, à l'est. Suit la riviere Iense vers le nord, tu vas vite trouver le bois de Gonloube. Poursuit au nord-est et tu devrais le trouver."],
27: [-1, "Aucune idee ! D'ennui sans doute..."],
28: [-2, "Le monastere de Tal'za est assez au nord, a l'est. Suit la riviere Iense vers le nord, tu vas vite trouver le bois de Gonloube. Poursuit au nord-est et tu devrais tomber dessus."],
29: [-3, "Evidemment, plusieurs mois ou il ne se passe rien et la... Tellement de choses sont en train de se passer !"],
30: [-4, "Un deuxieme mort alors ? Extraordinaire ! Fait ce que tu veux, moi je veux aller voir ca de plus pres !"]
69: [0, "La rumeur court qu'il y a eu un troisieme mort, je commence a me demander si c'est vraiment une coincidence..."]
}
elif coords == (78, 20): return {
"base": [0, "Je n'ai pas de courrier pour toi, {}, reviens plus tard !".format(name)],
26: [5, "Je savais que tu viendrais !"]
26: [5, "Je savais que tu viendrais !"],
90: [1, "{}, c'est terrible, la femme de chambre de la Reine vient d'etre retrouvee pendue a ses draps. La Reine te demande a ses cotes.".format(name)]
}
# Smoastraund's house
@ -47,7 +52,7 @@ def events(xp, current_map, x, y, stat):
0: [1, "J'ai... une derniere chose a te rheu rheu rheu rrr... A te dire... {}. Va dans la remise, Rheu rueh, et donne moi la pierrarrgh rheu Terenheti te la donneraarrgh rheu rheu...".format(name)],
1: [0, "S'il te plait {}, apporte moi la pierre. Reuh rheu.".format(name)],
2: [1, "Merci ! [LES YEUX DE SMOASTRAUND FIXERENT LE VIDE, SES MAINS SE CRISPERENT SUR LE CAILLOUX] Quatre fois sonnera rheu rheu l'hecatombe. // Les petits d'abord, les grands suivrheu... suivront. // Et la peur et la mort se repandront. Rheu rheu ! // La Reine les suivra dans la tombe. Retient ses vers mon ami ! Retiens ses vers... Reuh reuh. [SMOASTRAUND S'AFFAISSA BRUTALEMENT SUR SON LIT]"],
2: [1, "Merci ! [LES YEUX DE SMOASTRAUND FIXERENT LE VIDE, SES MAINS SE CRISPERENT SUR LE BOUT DE ROCHE] Quatre fois sonnera rheu rheu l'hecatombe. // Les petits d'abord, les grands suivrheu... suivront. // Et la peur et la mort se repandront. Rheu rheu ! // La Reine les suivra dans la tombe. Retient ses vers mon ami ! Retiens ses vers... Reuh reuh. [SMOASTRAUND S'AFFAISSA BRUTALEMENT SUR SON LIT]"],
3: [0, "Le quatrain resonna dans votre tete. Quatre fois sonnera l'hecatombe. // Les petits d'abords, les grand suivront. // Et la peur et la mort se repandront. // La Reine les suivra dans la tombe."]
}
@ -55,15 +60,30 @@ def events(xp, current_map, x, y, stat):
elif coords == (16, 4): return {
"base": [0, "Je suis Terenheti, la femme de Smoastraund."],
1: [1, "La pierre ? Oui, la voici."],
1: [1, "Ah {} ! Alors, comment va-t-il ? La pierre ? Oui, la voici.".format(name)],
3: [0, "Le palais de Narfec ? Il est nord de la riviere d'Iense, tu ne peux pas le rater."],
20: [0, "Besoin d'aide ?\n1.Oui, j'ai trouve une pierre...\n2.Non merci, tout va bien.", 2],
21: [2, "Hum, laisse-moi la voir ? Ce n'est pas tout a fait la meme"],
21: [2, "Hum, laisse-moi la voir ? Ce n'est pas tout a fait la meme."],
22: [-2, "D'accord {}, reviens si tu as besoin d'aide.".format(name)],
23: [0, "Je vais etudier la pierre reviens plus tard."]
23: [0, "Je vais etudier la pierre reviens plus tard."],
49: [0, "Bonjour {}, besoin de quelque chose ?\n1.Hey, tu as du nouveau sur la pierre ?\n2.J'ai trouve un livre satanique chez un moine, je n'arrive pas a le dechiffrer.".format(name), 2],
50: [-1, "Oui ! Les deux fragments s'emboitent, on dirait une sorte de message ecrit en runes, mais il manque encore des morceaux..."],
51: [1, "Fait voir ? [TERENHETI EXPOSE LE LIVRE A LA LUMIERE D'UNE FENETRE. LE CUIR NOIR DE LA COUVERTURE S'ORNE D'UN PENTACLE ROUGE ECARLATE.] On dirait un livre d'incantations... [ELLE OUVRE LE LIVRE] ...ou un genre de dictionnaire, regarde ces runes, ce sont les memes que sur les deux pierres."],
52: [0, "Je pense qu'il faut avertir la Reine de tout cela..."],
69: [0, "Tu ferais mieux d'aller voir la Reine, nous nous occuperont de la pierre plus tard."],
79: [1, "Merci pour la pierre. Il ne manquait plus qu'elle. Grace au livre, reconstituer le message va etre un jeu d'enfant ! Reviens dans cinq minutes."],
80: [0, "J'ai une bonne et une mauvaise nouvelle, je commence par laquelle ?\n1.La bonne.\n2.La mauvaise.", 2],
81: [2, "La bonne nouvelle c'est que j'ai dechiffré le message, la mauvaise c'est que le message n'est pas lisible pour autant."],
82: [1, "La mauvaise nouvelle c'est que le message n'est pas lisible en l'etat, mais grace au livre, il est dans notre langue."],
83: [0, "Le message est 'dfvemt vx vgvvv hg cemhgs e ttidik, // vi tzijgg aykuw'r kiztv, w'eoijggr. // ek wrhie vi nfrw c mihvgs, k'crdij, // kiwl e zkgzpww nfyk hazwgru esk erzqww // kmoglide.'. On dirait que cela forme un quatrain. Il y avait aussi un mot un peu à part 'Tresec'."],
92: [0, "Le message, les runes, pour moi c'est l'un des moines."]
}
# Hospital
@ -77,28 +97,50 @@ def events(xp, current_map, x, y, stat):
# Guards
if coords == (11, 5) or coords == (15, 5):
if xp < 3: return [0, "Vous n'etes pas autorise a entrer."]
elif xp == 94: return [6, "[UNE DIZAINE DE GARDES PARTIRENT SUR LE CHAMPS VERS TAL'ZA POUR ARRETER FRERE SIGMUEL. ON RETROUVA CACHE DANS SA CELLULE UNE BURE TACHEE DE SANG AINSI QUE DIVERS POISONS. VOUS AVEZ GAGNE.]"]
elif xp > 92: return [100 - xp, "[UN BRUIT DE VERRE CASSE EMPLIT LE VASTE HALL. LES GARDES SE PRECIPITERENT A L'INTERIEUR, MAIS TROP TARD. LA REINE ACTH D'ESCIM'DI GIT AU SOL, UNE FLECHE DANS LE TORSE. UNE FLAQUE PROUPRE ENVELOPPE DEJA LE CORPS. VOUS AVEZ PERDU.]"]
else: return {
"base": [0, "La Reine Acth d'Emcim'di vous attend."],
3: [0, "[LE GARDE DEGAINE SON EPEE] Halte ! Qui etes-vous ?\n1.Je suis {0} et je viens voir la Reine pour une affaire urgente.\n2.Je viens avertir la Reine d'une terrible prophetie.\n3.Cela ne vous regarde pas.".format(name), 3],
4: [0, "Dites-en plus ?\n1.C'est a propos d'une prophetie\n2.Cela ne vous regarde pas.", 2],
5: [2, "Vous pouvez entrer."],
6: [-3, "Vous n'etes pas autorise a voir la Reine."],
}
92: [0, "Qui est a l'origine des morts ?\n1.Pere Macope\n2.Frere Sigmuel\n3.Frere Anbert\n4.Frere Gard\n5.Frere Royvin", 5],
}
# Queen
elif coords == (18, 2):
if xp <= 6: return [0, "Gaaarrde ! On s'est introduit dans ma chambre ! [DEUX GARDES SE PRECIPITENT VERS VOUS. L'UN DES DEUX VOUS PASSE SON EPEE AU TRAVERS DU CORPS. VOUS MOURREZ SUR LE COUP]", 0, -stat[0]]
elif xp > 91: return [0, "La Reine n'est plus la, elle s'est enfermee dans ses appartements prives."]
else: return {
"base": [0, "Veuillez sortir de ma chambre. Immediatement."],
7: [0, "Vous vouliez m'entrenir d'une prophetie ?\n1.Oui, sur son lit de mort, Smoastraund m'a confie une ultime prediction : vous etes en danger de mort.\n2.Vous etes en danger de mort.", 2],
8: [2, "Allons bon... Je prendrais les dispositions qui s'imposent. Merci de m'avoir prevenue. Aller donc vous restaurer, les cuisines sont a l'est."],
9: [1, "Hmm... Admettez que tout cela est assez peu convainquant... Je prendrais neanmoins quelques mesures. Merci de votre visite. Vous avez l'air affame, allez donc voir mon cuisinier, vous le trouverez dans l'aile est."],
8: [2, "Je connais cette prophetie depuis longtemps et je prendrais les dispositions qui s'imposent. Merci de m'avoir prevenue. Aller donc vous restaurer, les cuisines sont a l'est. Avant que vous ne partiez, je vous charge de ma protection."],
9: [1, "Cette prophetie est longtemps reste entre moi et Smoastraund, je suppose que son heure est venue. Merci de votre visite. Vous avez l'air affame, allez donc voir mon cuisinier, vous le trouverez dans l'aile est. Avant que vous ne partiez, je vous charge de ma protection."],
10: [0, "Notre entretient est termine."],
52: [0, "Parlez-moi de vos avancees.\n1.La prophetie se realise vite, nous sommes deja a deux morts, dont un meutre.\n2.Vous etes de plus en plus en danger.", 2],
53: [2, "Deux morts ? Il faut que vous alliez plus vite !"],
54: [1, "Il me semble que c'est justement pour cela que je vous ai engage..."],
55: [1, "[APRES QUELQUES MINUTES D'EXPLICATIONS] Si je vous ai bien suivie, lors du tremblement de terre, une pierre semblable a une autre que possedait Smoastraund est remontee a la surface. Ces pierres sont gravees de runes, et il est possible de les dechiffrer grace a un ouvrage trouve chez le moine ? Il faut que vous trouviez les autres pierres. Mon bibliothecaire, dans l'aile ouest, pourra peut-etre vous aider ?"],
56: [0, "Vous avez ete voir mon bibliothecaire dans l'aile ouest ?"],
69: [1, "Ah, vous voila ! Vous devriez prendre l'habitude d'aller un peu plus vite lorsque je vous appelle ! Bref, mon cuisinier est mort. Cela fait deja trois morts, encore un et c'est mon tour. J'aimerais des pistes un peu plus solide ! Et revenez me voir des que vous aurez fini d'inspecter la cuisine."],
71: [5, "Vous avez trouve quelque chose ?\n1.Je ne sais pas qui vous en veux, mais il se rappoche.\n2.J'ai la conviction que le coupable est dans ces murs.", 2],
77: [2, "Faites au plus vite, la prophetie a eclate au grand jour, elle est sur toutes les levres. Le peuple est aux abois."],
78: [1, "Il ne reste plus grand monde sinon mon bibliothecaire et quelques gardes... Le peuple a eu vent de la prophetie ; il a peur."],
91: [1, "C'est notre dernier entretient, apres vous, je ferme ma porte. L'on se sert de cette prophetie pour me renverser, ils ne m'auront pas ! J'ai demande a mon bibliothecaire de vous assister au besoin. Si vous pensez avoir trouver le ou les coupable(s) de tout cela, parlez-en a mes gardes."]
}
# Cook
elif coords == (24, 2): return {
elif coords == (24, 2):
if xp > 70: [0, "[VOUS REGARDEZ LE CADAVRE DU CUISINIER]"]
return {
"base": [0, "Vous n'avez rien a faire ici."],
10: [0, "Tenez. [ALORS QUE LE CUISINIER VOUS DONNAIT UN BOUT DE PAIN ET DU VIN, UN BRUIT SOURD SE REPANDIT. LES MURS TREMBLERENT, EBRANLANT TOUTE LA STRUCTURE DU CHATEAU.]\n1.Qu'est-ce que c'etait ?\n2.Vous avez entendu ?", 2],
11: [2, "Un tremblement de terre... Cela fait bien longtemps que nous n'en avions plus eu..."],
@ -108,35 +150,152 @@ def events(xp, current_map, x, y, stat):
14: [2, "Il y avait un vieil ermite je crois... Tres au nord..."],
15: [-2, "Aussi loin que ma memoire remonte, nous n'avons eu que deux ou trois tremblements, et a chaque fois, des choses etranges se sont produites..."],
16: [0, "Prenez soin de vous."]
16: [0, "Prenez soin de vous."],
70: [1, "[LA CUISINE EST ETROITE ET MAL ECLAIREE, MAIS IL N'Y A PAS BESOIN D'ETRE DEVIN POUR COMPRENDRE QUE LE LIQUIDE QUI SUINTE DU MUR EST DU SANG. LE CUISINIER EST SUSPENDU A SES PROPRES CROCS DE BOUCHERIE. LA TETE PENDANTE VERS LE BAS COMME UN PORC FRAICHEMENT ECARE.]"],
71: [0, "1.Fouiller la cuisine.\n2.Fouiller le cadavre.\n3.Fouiller la cheminee", 2],
72: [-1, "[UN EXAMEN SOMMAIRE SUFFIT A EXHIBER L'ARME DU CRIME : UN LONG COUTEAU DE BOUCHER A LARGE LAME. LE SANG A COAGULE SUR LE MANCHE ET L'ACIER.]"],
73: [-2, "[RAVALANT VOTRE DEGOUT, VOUS DECROCHEZ LE CUISINIER. MAIS VOUS NE TROUVEZ RIEN DE PROBANT.]"],
74: [0, "[UN BUIT ATTIRE VOTRE ATTENTION, VOUS VOUS APPROCHEZ DE LA CHEMINEE ET COLLEZ VOTRE OREILLE CONTRE LE MUR. DES VOIX ETOUFFEES VOUS PARVIENNENT] 'Il s'approche ... pres ... devons agir vite ... ...'\n1.Continuer d'ecouter\n2.Arreter d'ecouter"],
75: [-4, "[UN BRUIT DE PAS ATTIRE VOTRE ATTENTION MAIS TROP TARD. UNE MAIN PUISSANTE SE RESSERRE SUR VOTRE EPAULE ET VOUS JETTE DANS LA CHEMINEE. LA CHALEUR DEFORME VOTRE VISION. VOS VETEMENT PRENNENT FEU INSTANTANEMENT, VOUS TENTEZ DE SORTIR DE L'ATRE, MAIS L'AUTRE VOUS ENFONCE UNE EPEE COURTE DANS LE VENTRE. CHOQUE PAR LA DOULEUR ET LA MORSURE DES FLAMMES VOUS VOYEZ VOS INSTESTINS CUIRE AVANT DE PERDRE CONNAISSANCE. VOUS ETES MORT.]", 0, -stat[0]],
76: [-5, "[VOUS RETOURNEZ AU CENTRE DE LA CUISINE.]"]
}
# Librarian
elif coords == (3, 1): return {
"base": [0, "Mmm. Je suis occupe."],
56: ["La Reine Acth m'a parle de vous.\n1.Bonjour, oui, j'ai de bonnes raisons de penser que la Reine court un grave danger.\n2.J'ai besoin de votre expertise, c'est a propos d'une prophetie.", 2],
57: [1, "Ah, je vous ecoute ?\n1.Smoastraund m'a confie une ultime prediction dans laquelle la Reine est en danger de mort.\n2.Une sinistre prophetie est en train de se realiser, nous sommes deja a deux morts sur quatre, la Reine doit 'les suivre dans la tombe'.", 2],
59: [1 , "Ahum... Je respecte beaucoup la parole de Smoastraund, la Reine doit effectivement courir un grave danger."],
60: [0, "Quel est le texte exact de la prophetie ?\n1.Lui donner le texte original\n2.Ne pas lui dire.", 2],
61: [2, "Effectivement... Mais, ce texte me dit quelque chose... Je crois que ce quatrain faisait parti d'une anthologie commandée par la Reine au monastere de Tal'za."],
62: [-2, "Si vous n'en dites pas plus, je ne peux rien faire..."],
58: [-1 , "Excusez-moi, j'en ai pour une minute..."],
63: [0, "Quoi d'autre ?\n1.Je suis a la recherche de pierres gravées, cela vous dit quelque chose ?\n2.Cela ira pour l'instant, merci.", 2],
64: [2, "Oui... J'en avais vu, au sud, chez un ami. Il habite, dans une maison de taille moyenne, avec un oeil de boeuf."],
65: [-2, "Alors cessez de me faire perdre mon temps."]
66: [0, "Allez donc voir Daren, il a sans doute plus d'informations que moi a propos de vos pierres."]
83: [1, "Un message codé sous forme de quatrain accompagné du mot 'Tresec' ? Ca ne me plait pas, Tresec etait une troupe de moines-assassins. La legende raconte qu'ils ont assassines des centaines de personnes."],
92: [0, "Besoin d'aide ?\n1.Je cherche des informations sur le pere Macope\n2.Avez vous des renseignements sur les moines de Tal'za ?\n3.Pourquoi ont-ils tués frere Rolen ?\n4.Quel lien avec l'ermite ?", 4],
93: [-1, "Le pere Macope est moine depuis tres longtemps au monastere de Tal'za. Il dirige ses moines avec une main de fer. Sous ses airs de vieux, il a encore toute sa tete et sait s'en servir."],
94: [-2, "A l'origine Tal'za etait un monastere Tresec, il a change d'ordre avec l'arrive du pere Macope, mais tous les moines sont d'anciens Tresec. A ma connaissance Rolen est arrive apres, il n'a jamais fait parti des Tresec."],
95: [-3, "Si c'est bien des moines Tresecs qui ont fait le coup, chercher plus loin ne servira pas a grand chose. Ils ne veulent que le pouvoir, et parce qu'ils aiment faire peur, il enrobent leurs meutres de propheties. Rolen devait les gener."],
96: [-4, "On ne provoque pas un tremblement de terre... A moins qu'il n'ai ete tue avant et mis la en attendant ?"]
}
# Monastery
elif current_map == 4:
# Point of interest : monastery
if coords == (17, 17): return [0, "[DERRIERE VOUS, LA LOURDE PORTE DU MONASTERE. DANS LE HALL PERE MACOPE SURVEILLE LE CLOITRE. LE SOL DE PAVE LAISSE PLACE AU CENTRE A UN JARDIN DECOUPE EN QUATRE PARTIE, ET PIECE D'EAU AU CENTRE. LES AILES OUEST ET EST SONT OCCUPÉES PAR QUATRES FRERES, LE SCRIPTORIUM SE SITUE PLUS AU NORD, DANS LE PROLONGEMENT DE L'AILE EST ET LA CELLULE DU PERE MACOPE EST PLACEE DE L'AUTRE COTÉ]"]
if coords == (17, 17): return [0, "[DERRIERE VOUS, LA LOURDE PORTE DU MONASTERE. DANS LE HALL PERE MACOPE SURVEILLE LE CLOITRE. LE SOL DE PAVE LAISSE PLACE AU CENTRE A UN JARDIN DECOUPE EN QUATRE PARTIE, ET PIECE D'EAU AU CENTRE. LES AILES OUEST ET EST SONT OCCUPEES PAR QUATRES FRERES, LE SCRIPTORIUM SE SITUE PLUS AU NORD, DANS LE PROLONGEMENT DE L'AILE EST ET LA CELLULE DU PERE MACOPE EST PLACEE DE L'AUTRE COTE]"]
# Monastery'chief
# Point of interes : scriptorium
elif coords == (17, 5): return {
"base": [0, "[VOUS ENTREZ DANS LE SCRIPTORIUM]"],
35: [0, "[VOUS ENTREZ DANS LE SCRIPTORIUM]\n1.Fouiller le scriptorium\n2.Inspecter le cadavre de frere Rolen."],
36: [-1, "[VOS YEUX SE POSENT SUR LE PUPITRE DE TRAVAIL DE FRERE ROLEN. SOUS LES TACHES D'ENCRE LAISSEES PAR SA CHUTE, VOUS DEVINEZ LA DERNIERE PROPHETIE DE SMOASTRAUND. VOUS POURSUIVEZ VOTRE INVESTIGATION, UN TANCKARD DE VIN A MOITIE REMPLI EST POSE SUR UNE TABLE PROCHE.]"],
37: [-2, "[FRERE ROLEN A LES YEUX REVULSES ET LA BOUCHE FIGEE DANS UN RICTUS DEMONIAQUE, LA LANGUE ET LES LEVRES SONT BLEUES. LE CORPS EST DEJA RIGIDE ET DE GRANDES TACHES VIOLACEES COMMENCENT A APPARAITRE DANS LES PARTIES BASSES DU CORPS. EN FOUILLANT LES POCHES DE FRERE ROLEN VOUS TROUVEZ UNE DAGUE, ET UNE CLEF.]"]
}
# Macope
elif coords == (14, 21): return {
"base": [0, "Bienvenue dans la maison de Dieu mon fils."],
26: [5, "Je suis a vous dans un instant..."],
31: [0, "Bonjour et bienvenue mon fils. Ce qui nous arrive est terrible, monstrueux !\n1.Expliquez-vous ?\n2.Je l'ai toujours dit : lire tue.\n3.Pouvez-vous me decrire les derniers evenements ?", 3],
32: [-1, "Mais enfin, n'etes-vous pas au courrant !? Dieu a rappele frere Rolen a lui !"],
33: [-2, "Mecreant ! Surveillez votre langue dans les lieux consacres !"],
34: [1, "Hier au soir, frere Rolen finissait un manuscrit pour la Reine. L'ouvrage ne devait souffrir d'aucun retard, aussi resta-t-il tard eveille. Je me suis rendu compte de son abscence aux offices de laudes. M'etant rendu dans sa cellule et ne le trouvant point a son ouvrage, je me rendit au scriptorium. Le pauvre gisait, mort, sur son pupitre."],
34: [1, "Hier au soir, frere Rolen finissait un manuscrit pour la Reine. L'ouvrage ne devait souffrir d'aucun retard, aussi resta-t-il tard eveille. Je me suis rendu compte de son abscence aux offices de laudes. M'etant rendu dans sa cellule et ne le trouvant pas, je me rendit au scriptorium. Le pauvre gisait, mort, sur son pupitre. Les autres freres sont tous dans leur cellule, et le scriptorium est au fond. Revenez me voir lorsque vous aurez tout regardé."],
35: [0, "Les autres freres sont tous dans leur cellule."]
35: [5, "Triste affaire en verite, n'est-ce pas ?\n1.Il me reste une question : ou est la chambre de frere Rolen ?\n2.Avez-vous eu vent de rivalites entre les moines ?\n3.Frere Sigmuel n'est pas tres bavard, vous le connaissez ?\n4.J'aimerais continuer de parler aux moines.", 4],
41: [3, "Il ne vit pas ici, vous trouverez son logis tout au sud-ouest d'Aspir. Il habite dans une petite maison, sans fenetre."],
42: [-7, "Plus ou moins ils se battent tous pour avoir ma place... Je crois que frere Royvin etait en froid avec frere Gard plus ou moins a cause de ca, je ne connais pas les details."],
43: [-8, "Tres mal, il est du genre discret. Il s'occupe du jardin, je suppose qu'il est amene a aider frere Anbert avec ses plantes."],
44: [-9, "Pas de probleme, revenez quand vous aurez termine."],
83: [0, "'Tresec' dites-vous ? Oui ça me dit quelque chose, c'etait le nom d'un ordre monastique particulirement violent.\n1.Utilisaient-ils un alphabet runique ?\n2.Seriez-vous capable de dechiffre un de leur message ?", 2],
84: [-1, "Oui, ça me dit quelque chose... Mais ma memoire n'est plus tres claire..."],
85: [1, "Malheureusement, non... Cet ordre est assez secret... "],
90: [0, "Ah vous voila ! Un courrier vient d'arrive du Palais, vu sa tete, les nouvelles ne sont pas bonnes..."]
}
# Brother 1
# Sigmuel
elif coords == (1, 13): return {
35: [0, "Je n'ai pas vu frere Rolen...\n1.Ou etiez-vous aux Vigiles ?\n2.Avez-vous entendu quelque chose ?\n3.A quoi travaillais frere Rolen ?\n4.Frere Rolen avait-il des rivaux ?", 4],
"base": [0, "En quoi puis-je vous aider ?"],
35: [0, "Frere Sigmuel\n1.Ou etiez-vous aux Vigiles ?\n2.Avez-vous entendu quelque chose ?\n3.A quoi travaillais frere Rolen ?\n4.Frere Rolen avait-il des rivaux ?", 4],
36: [-1, "J'etais ici meme, je n'ai quitte ma cellule que pour aller aux Laudes puis pere Macope a decouvert le corps. Je ne suis pas sorti depuis."],
37: [-2, "Non, je devais dormir au moment des faits."],
38: [-3, "Il enluminais un receuil de propheties pour la Reine."],
39: [-4, "Sans doute quelques'un oui... Il etait appliqué a son travail, et pere Macope se faisant vieux.. Frere Rolen etait naturellement presenti pour lui succeder."]
39: [-4, "Sans doute quelques un oui... Il etait applique a son travail, et pere Macope se faisant vieux.. Frere Rolen etait naturellement presenti pour lui succeder."]
}
return [0, "Hmm ?"]
# Anbert
elif coords == (5, 11): return {
"base": [0, "Quelque chose ne va pas ?"],
35: [0, "Frere Anbert\n1.Quel est votre role ici ?\n2.Avez-vous ou entendu quelque chose ?\n3.Que pouvez-vous me dire de l'ambiance ici ?", 3],
36: [-1, "Je suis l'apothicaire du monastere, je m'occupe du jardin des simple avec le frere Sigmuel, notre jardinier. A l'occasion j'aide un peu en cuisine, mais ma vraie specialite reste les plantes et leurs applications."],
37: [-2, "Je n'ai rien entendu, par contre pere Macope m'a demande d'examiner le corps. [ANBERT BAISSE LA TETE ET SE MET A CHUCHOTER] Je pense que frere Rolen a ete empoisonne."],
38: [-3, "Ici, nous sommes coupés du monde, mais l'ambiance est assez froide, y compris entre nous. Quelques rivalites internes n'arrangent rien."],
87: [0, "Hum, oui je sais dechiffrer ce genre de documents.\n1.Pouvez-vous me dechiffrer ce texte ?\n2.Quelles methodes sont utilisees ?"],
88: [-1, "Je peux, mais je ne le ferais pas. Ce serait trahir mon ordre."],
89: [1, "En general, le chiffrement utilise repose sur une technique polyalphabetique. De plus vous connaissez deja la clef. [VOUS ENTENDEZ LE PERE MACOPE VOUS APPELER DEPUIS LE CLOITRE.]"]
}
# Gard
elif coords == (20, 10): return {
"base": [0, "Je suis Gard, frere cuisinier."],
35: [0, "Frere Gard\n1.Que pouvez-vous me dire sur vos relations avec Rolen ?\n2.Vous vous occupez de la cuisine, c'est cela ?\n3.Autre chose a dire ?", 3],
36: [-1, "On se connaissait a peine, lui ne vivait que pour ses livres, et je ne sort que rarement de mes cuisines."],
37: [-2, "Oui, en grande partie. Parfois j'écrit un peu ou j'aide au jardin, mais rien de significatif."],
38: [-3, "Un soir, j'ai entendu frere Anbert et frere Rolen se crier dessus... Et tous le monde sait que frere Anbert connait tres bien les plantes. Troublant, non ?"]
}
# Royvin
elif coords == (23, 15): return {
"base": [0, "Oui ?"],
35: [0, "Frere Royvin\n1.Quel est votre role ici ?\n2.Avez-vous entendu, ou vu des choses ?\n3.Que pouvez-vous me dire sur les luttes intestines de Tal'za ?"],
36: [-1, "Je m'occupe un peu de tout, finance, copie, jardin, cuisine... J'ai de ce fait cotoye tous les moines d'ici."],
37: [-2, "Hum... Non, rien..."],
38: [-3, "C'est delicat... Rolen etait pressenti pour prendre la place de pere Macope le moment venu. Frere Gard, jaloux, a tente de mettre des batons dans les roues de Rolen en salissant son image. Il parait qu'il aurait provoque une bagarre entre les freres Rolen et Anbert..."],
86: [1, "Si je connais les methode de chiffrement des Tresec ? Mon Dieu non ! [SUR LE TON DE LA CONFIDENCE] Mais frere Anbert a des relations... etroite avec eux je crois."]
}
# Rolen's house
elif current_map == 5:
if coords == (10, 3): return {
"base": [0, "[IL N'Y A RIEN A VOIR ICI.]"],
44: [1, "[L'UNIQUE PIECE EST SOMBRE ET PAUVREMENT MEUBLEE. UNE BIBLIOTHEQUE VOUS FAIT FACE ET SUR VOTRE GAUCHE UN LIT DEFAIT LAISSE TRAINER SON DRAP SALE SUR LE SOL DE PAILLE.]"],
45: [0, "1.Fouiller la bibliotheque.\n2.Regarder le lit", 2],
46: [2, "[VOUS VOUS AVANCEZ POUR FOUILLER LA BIBLIOTHEQUE. ENTRE LES OUVRAGES LITHURGIQUES, VOUS TROUVEZ UN LIVRE A L'ASPECT BEAUCOUP MOINS ORTHODOXE.]"],
47: [-2, "[VOUS TOURNANT VERS LE LIT, VOUS SOULEVEZ LE DRAP ET REGARDEZ SOUS LE LIT SANS SUCCES. ALORS QUE VOUS ALLIEZ VOUS RELEVER, UN GRINCEMENT VOUS FIT RELEVER LA TETE. UNE VIVE DOULEUR VOUS TRANSPERSA. VOTRE CHAMPS DE VISION SE BROUILLA. VOUS VITES UNE OMBRE NOIRE SORTIR DE LA MAISON TANDIS QUE VOUS AGONISEZ DANS VOTRE SANG.]", 0, -STAT[0]],
48: [1, "[VOUS PRENEZ LE LIVRE ET RETOURNEZ VERS LA PORTE.]"]
}
# Daren's house
elif current_map == 6:
# Daren
if coords == (13, 5): return {
"base": [0, "Mmh ?"],
66: [0, "Bonjour, je suis Daren.\n1.C'est le bibliothecaire royal qui m'a dit que vous pourriez m'aider. Je cherche des pierres gravees de runes.\n2.Que pensez-vous des derniers evenements ?", 2],
67: [2, "Ce genre de pierre ? [DAREN S'EST LEVE ET VOUS MONTRE UNE PIERRE SEMBLABLE AUX DEUX AUTRES.] Je l'ai trouvée lors d'un tremblement de terre il y a quelques annees, la peste noire ravageait alors notre royaume. Et là, deux morts deja... Vous pensez que les dieux sont en coleres ? [DAREN VOUS DONNE LA PIERRE]"],
68: [-2, "Les Dieux sont en colere. Il n'y a rien a faire, seul le sang peut calmer leur courroux. Pere Macope que je respecte beaucoup est de cet avis aussi."],
69: [0, "Si vous avez trouvez ce vous cherchez, je retourne a mes etudes. [ALORS QUE VOUS ALLIEZ SORTIR DE LA MAISON, UN COURRIER ARRIVA, VOUS INFORMANT QUE LE REINE ACTH REQUIERD VOTRE PRESENCE TOUT AFFAIRE CESSANTE.]"]
}
if xp > 10: return [0, "Il se passe des choses ici. Je ne suis pas tranquille."]
else: return [0, "Hmm ?"]
def fights(xp, current_map, x, y, stat):
@ -158,6 +317,6 @@ def start(stat=[100], data=[0, 1, -4, -2]):
stat.append(name)
rpg_python = Asci(world_maps, events, fights, display_stat, extra_function)
stat, data = rpg_python.mainloop(100, stat, data=data, legend=("@", "^", "*?", "$"))
stat, data = rpg_python.mainloop(100, stat, data=data, legend=("@", "^", "*?$", ""))
print("Pour continuer :\nstart({}, {})".format(stat, data))