Starting story

This commit is contained in:
Shadow15510 2021-11-22 17:57:17 +01:00
parent a169a114dc
commit 1e85c94d27
7 changed files with 126 additions and 29 deletions

View File

@ -88,7 +88,7 @@ alfheim = (r"""
# * : (27; 54)
def alfheim_po(coords):
if coords == (34, 20): return [0, "Quelques arbres au sud vous masque la vue. Au nord, l'imposant palais des Elfes et ses quatres colonnes finement travaillee s'offre a vous. La lourde porte a deux battants en bois massif et fer forge vous fait face. Au sud est, les bruits d'un bourg en pleine activite montent a vos oreilles."]
if coords == (34, 20): return [0, "Quelques arbres au sud vous masque la vue. Au nord, l'imposant palais des Elfes et ses quatres colonnes finement travaillee s'offrent a vous. La lourde porte a deux battants en bois massif et fer forge vous fait face. Au sud est, les bruits d'un bourg en pleine activite montent a vos oreilles."]
def alfheim_npc(data, stat):
pass

View File

@ -37,7 +37,7 @@ asgard = (r"""
###### /o\ ~~~ * /-\ /Noatun\ | |~~ ### |_| _ ~~/\ /
#### |_| ~~~~~~~~~~~~~~~~~ |_/^^\_| ### | |~~~~~~ ##### ##### /o\ ~~/ \
|| ~~~~~~~~~~~~~~~~~~~~~~ | | ##### | ~~~~~ ### ### ######### |_| ~~/ \ /\
## ___________ ~~~~~~~~| | * ### * ~~~~~ /-\ ##### _ #Landivi# ~/ \ /
## ___________ ~~~~~~~~| | * ### * ~~~~~ /-\ ##### _ #Landvidi# ~/ \ /
#### /Breidablik \ * ~| |~~~~ /-\ ~~~~~~ ### /o\ ######### ~~~ /
##### |o|o|o|o|o|o| ### | | ~~~~~~~~~~~~~ ~~~~~~ /-\ |_| ##### ~~~~ /\ /
##### /_____________\ ##### ### ### ~~~~~~~~~~~~ ~~~~~~~~ |^| _ ~~~~~ / \ /\
@ -122,7 +122,39 @@ def asgard_npc(data, stat):
# * : ( 46, 65)
# * : ( 16, 71)
# * : (138, 71)
pass
if coords == (34, 7):
if stat[8] == 4:
if xp == 20: return [5, 3, 10, 12, 70], "Hargduf", 10, 1
elif xp == 21: return [0, "[VOUS REGARDEZ LE CADAVRE D'HARGDUF. UNE FLAQUE DE SANG NOIR S'ETEND DEJA SOUS LUI.]"]
elif coords == (121, 21):
if stat[8] == 3: return {
21: [0, "Alors ?"],
25: [1, "Je savais que je pouvais compter sur toi ! Cela n'a rien a voir, mais j'ai entendu dire que Freyr cherche un certains {}, tu le connais ? [+15 PO]".format(stat[5]), 0, (1, 15), (8, -3)]
}
else: return {
"base": [0, "Daric, je peux vous aider ?"],
16: [0, "J'ai besoin d'un coup de main.\n1. Je vous ecoute.\n2. Desole.", 2],
17: [2, "Cela fait plusieurs fois deja qu'Egel, mon voisin, s'introduit dans mon jardin. Je n'arrive pas a lui faire entendre raison.\n1. Qu'attendez-vous de moi ?\n2. Cela ne m'interesse pas, bonne journee.", 2],
19: [2, "On m'a dit que le dieu de la Justice pouvait m'aider, mais il ne m'ecoutera jamais. Tu peux interceder en ma faveur ?", 0, (8, 3)],
20: [-4, "Dans ce cas..."],
18: [-2, "Cela ne fait rien."],
}
elif coords == (117, 32):
if stat[8] == 4: return {
}
else: return {
"base": [0, "Bonjour, je suis Theldis."],
16: [0, "C'est un peu delicat... J'ai un different avec quelqu'un qui m'a fait une offense. Depuis je prie Vidar de me venir en aide, mais il ne semble pas tres concerne. Tu peux aller le voir pour moi ?\n1. Euh, non ?\n2. Je vais voir ce que je peux faire.", 2],
17: [-1, "Je pense que tu devrais prier aussi. Pour que Vidar continue ne m'entendre pas !"],
18: [1, "Ooh, merci beaucoup ! On peut le trouver autour de Landvidi", 0, (8, 4)],
19: [0, "Alors ?"],
22: [4, "Je savais que je pouvais te faire confiance. Je n'ai pas d'argent a te donner, mais si cela peut t'aider : plusieurs dieux ont le don de voyance, et meme certains mages. Gullveig en fait partie. Avant que j'oublie, Freyr te demande.", 0, (8, -4)]
}
def asgard_po(coords):
if coords == (120, 26): return [0, "De hautes montagnes vous entourent de toutes part. Taillees dans la roche enneigee, les marches de l'escalier qui mene a Valaskjalf se decoupent nettement. La grande demeure d'Odin et son toit d'argent domine les environs."]
@ -153,7 +185,16 @@ def h_9_npc(data, stat):
coords = data[2], data[3]
xp = data[0]
if coords == (19, 4): return {
if coords == (19, 4):
if stat[8] == 3: return {
"base": [0, "Forseti, fils de Baldr et Nanna, dieu de la Justice. Tu as besoin de moi ?"],
21: [0, "Oui, je suis bien Forseti, dieu de la Justice. Hum, je conscent a aider Daric. Mais en echange, j'ai une faveur a te demander. La guerre qui couve n'est pas fondee, il faut l'empecher. Je ne te demande rien de plus.\n1. D'accord mais comment faire ?\n2. Je ferais mon possible.\n3. J'ai d'autres engagements a tenir.", 3],
22: [-1, "Eh bien, c'est la que commence ton travail je pense. Plusieurs dieux ont le don de voyance ou peuvent t'apprendre des choses."],
23: [2, "Merci ! Tu pourras dire a Daric que je m'occupe de son affaire de suite."],
24: [1, "Je comprends, mais permet-moi d'insister. Tu n'a aucune dette envers Odin."],
}
else: return {
"base": [0, "Forseti, fils de Baldr et Nanna, dieu de la Justice. Tu as besoin de moi ?"]
}
@ -202,7 +243,22 @@ def h_10_npc(data, stat):
else: return {
"base": [0, "Je suis Odin, Roi des Ases, dieux de la Guerre."],
1: [0, "Deja revenu !?"],
3: [1, "Bon travail. Tu peux garder la dague, une guerre se prepare, ce serait bete de mourrir deux fois quand meme ? [UN SOURIRE PASSA SUR LES LEVRES D'ODIN] Jadis Freyja m'enseigna la magie et l'astrologie. [ODIN SE FIT PENSIF. IL SE RETROURNA VERS VOUS BRUTALEMENT] Je te ferais savoir mes instructions en temps voulu. Je crois qu'il te reste quelques mondes a decouvrir."]
3: [1, "Bon travail. Tu peux garder la dague, une guerre se prepare, ce serait bete de mourrir deux fois quand meme ? [UN SOURIRE PASSA SUR LES LEVRES D'ODIN] Jadis Freyja m'enseigna la magie et l'astrologie. [ODIN SE FIT PENSIF. IL SE RETROURNA VERS VOUS BRUTALEMENT] Je te ferais savoir mes instructions en temps voulu. Je crois qu'il te reste quelques mondes a decouvrir."],
4: [3, "Deja revenu ?\n1. Euh, non, pas encore.\n2. Oui !", 2],
8: [-4, "Reviens quand tu auras fini."],
9: [0, "Bien. Les Vanes ont refuse ma treve, je vais frapper ! Et pour cela j'ai besoin de toi.\n1. Certainement pas !\n2. J'en suis.", 2],
10: [-1, "[LE REGARD D'ODIN CHANGEA. VOUS FAITES UN PAS EN ARRIERE, MAIS IL EST TROP TARD : ODIN SE JETTE SUR VOUS ET VOUS DEPECE A MAINS NUES.]", 0, (0, -stat[0] * 2)],
11: [0, "{}, tu vas trouver Gullveig, et tu vas la tuer.\n1. Pourquoi faire ?\n2. Je pars sur-le-champ.".format(stat[5]), 2],
12: [2, "Gullveig est une magicienne creee par les Vanes pour semer la decadence parmi nos rangs. Elle distille son poison dans les veines de mes guerriers, c'est une epine dans notre pied. Trouve-la, ou qu'elle se cache, et debarasse-nous de cette maudite creature."],
13: [1, "C'est ce que je voulais entendre."],
14: [0, "Mes espions m'ont indique sa presence vers Jotunheim"],
15: [1, "Morte !? Je ne te crois pas, mes informateurs l'ont vue, et elle va tres bien ! Mais cela ne fait rien : c'est symbolique. Je veux frapper les Vanes et maintenant ils veulent un tribut pour Gullveig. J'ai besoin de m'entretenir avec les Ases. Je te donne quartier libre jusqu'a la fin de nos discussions."],
31: [0, "[A VOTRE ENTREE ODIN SE RETOURNA BRUTALEMENT] Ah ! {} ! Tu as fait le bon choix !\n1. Hum, je n'ai pas encore accepte.\n2. Je suis des votres !".format(stat[5]), 2],
32: [-1, "Decide-toi vite ! Cette guerre ne t'attendra pas..."],
33: [2, "Ca, c'est un choix strategique !"]
}
@ -340,8 +396,19 @@ h_15 = (r"""
(14, 14, 0, 120, 41)) # * : (10, 6)
def h_15_npc(data, stat):
pass
coords = data[2], data[3]
if coords == (10, 6):
if stat[8] == 4: return {
"base": [0, "Vidar, dieu de la vengeance et du silence. Besoin de faire taire quelqu'un ?"],
19: [1, "Hum, j'accepte de réaliser votre vengeance, mais j'ai une condition : vous devrez vous charger d'une autre vengeance. Allez dans les montagnes au nord-est, trouvez Hargduf, c'est un orc, vous ne pouvez pas le louper. Eliminez-le."],
20: [0, "Si tu veux que justice soit faite, va tuer cet orc."],
21: [1, "Bon travail."]
}
else: return {
"base": [0, "Les taillis croissent\nEt l'herbe haute\nDans la foret du pays de Vidarr\nEt la, le fils intrepide\nDescendra de cheval\nPour venger son pere."],
}

View File

@ -66,10 +66,10 @@ def npc(data, stat):
if issue == 0:
stat[1] += event[2]
if sum(stat[2][:-1]) >= 200: return [1, "Vous avez gagne le combat. [+{}PO]".format(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] += 1
data[0] += event[3]
choice = 0
while not choice:
print("<o> Amelioration <o>")
@ -341,20 +341,18 @@ def sleep(data, stat):
sleep_hours = 0
while not sleep_hours:
print("Combien d'heure\nvoulez-vous dormir ?")
sleep_hours = input(">")
try: sleep_hours = int(sleep_hours) % 24
except: sleep_hours = 0
sleep_hours = get_input() % 25
if sleep_hours < 0: sleep_hours = 0
stat[4] += sleep_hours * 60
stat[0] += sleep_hours
stat[2][4] += sleep_hours // 2
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
stat[2][4] += sleep_hours // 2
if stat[2][4] < 50: stat[2][4] += sleep_hours // 2
print_text("Vous vous reposez.")
@ -408,11 +406,16 @@ def idk(stat=None, data=None):
elif player_class == 5:
stat = [10, 5, 5, 5, 5]
stat = [100, 1000, stat, [0, 0], 360, name, player_class - 1, [], 0, -1]
stat = [100, 10, stat, [0, 0], 360, name, player_class - 1, [], 0, -1]
if player_class == 4:
stat[7].append((1, 1))
data = [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 prit {0} dans ses bras. Une lueur aveuglante le forca a fermer les yeux et Vahalla lui apparu.".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.append(-1)

View File

@ -154,7 +154,7 @@ jotunheim = (r"""
def jotunheim_po(coords):
if coords == (60, 57): return [0, "Un bruit de fontaine monte a vos oreilles. A travers les arbres, l'immense palais de Thrym se dresse. Les enormes colonnes qui entourent le batiments sont a elles seules des symboles de demesures. Aux alentours se dresse quelques maisons tout aussi imposantes et enorme, mais moins travaillee."]
elif coords == (23, 70): return [0, "Face a la mer, sur une langue de terre, le phare se dresse, eclairant puissemment le large pour signaler l'estuaire."]
elif coords == (60, 86): return [0, "Un imposant manoir se tient devant vous, flanque de deux tours surmontes de domes en ardoise brillantes, l'ensemble est perce de multiples et larges ouvertures. Le parc autour se compose de quelques arbres et est delimite au nord par le fleuve."]
elif coords == (60, 86): return [0, "Un imposant manoir se tient devant vous, flanque de deux tours surmontees de domes en ardoise brillantes, l'ensemble est perce de multiples et larges ouvertures. Le parc autour se compose de quelques arbres et est delimite au nord par le fleuve."]
def jotunheim_npc(data, stat):
pass
@ -323,7 +323,16 @@ h_35 = (r"""
(25, 19, 5, 0, 0)) # * : (17, 5)
def h_35_npc(data, stat):
pass
coords = data[2], data[3]
xp = data[0]
if coords == (17, 5):
if xp == 14: return [8, 8, 5, 5, 80], "Gullveig", 15, 1
elif xp == 15: return [0, "[VOUS REGARDEZ LA DEPOUILLE DESARTICULEE DE LA MAGICIENNE, ODIN SERA CONTENT.]"]
else: return {
"base": [0, "Gullveig, magicienne Vane, pour te servir."],
}

View File

@ -24,11 +24,11 @@ midgard = (r"""
~~~~~~~~~~~~~~~~~~~~~~~~~~~ /\ #### ##|| ## #### ##|| #### ## #### ## ~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~ / \ ## #### || ## #### #### ##|| #### ##|| ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ / \ || #### ? || #### ## #### ## #### ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## ## ## || #### || #### ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ /\ || ||#### ## ## ## ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ _/ \ /\ ## #### ||#### || ## ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ / \ / \ #### ## ## #### #### ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ / /\ / \ ' . #### ##|| #### ## ## #### ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## ## || #### || #### ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ /\ || || ## ## ## ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~ _/ \ /\ ## ||#### || ## ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ / \ / \ #### ## #### #### ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ / /\ / \ ' . #### ## #### ## ## #### ~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~ ~~~ / \ ## #### #### ##|| #### ## ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ /\ /\ / \ . || #### ## #### #### ##|| ~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~ / \ / \ /\ ## || #### ## #### ~~~~~~~~~
@ -123,11 +123,11 @@ def midgard_npc(data, stat):
# (67, 46)
# (39, 49)
# (66, 56)
# (51, 60)
# (68, 71)
coords = data[2], data[3]
xp = data[0]
# Laard
if coords == (8, 59):
if stat[8] == 1: return {
7: [0, "En clair, j'aimerais que tu elimines Gardim. La paye sera bonne."],
@ -146,7 +146,7 @@ def midgard_npc(data, stat):
if xp < 7:
return [0, "Gardim, capitaine du Mantree [IL DESIGNA UN DRAKKAR]"]
elif xp == 7:
return [5, 2, 7, 7, 30], "Gardim", 3
return [5, 2, 7, 7, 30], "Gardim", 3, 1
else: return {
"base": [0, "[A VOS PIEDS S'ETEND LE CORPS FROID DE GARDIM.]"]
}
@ -159,6 +159,17 @@ def midgard_npc(data, stat):
3: [-3, "Dans ce cas... Bonne journee !"],
}
# Lithy
elif coords == (66, 56):
return {
"base": [0, "Bonjour, je suis Lithy."],
27: [0, "Les morts au combat sont repartis entre les Ases et les Vanes. Tot ou tard tu devras choisir ton camp et renier l'autre.\n1. Sur quel critere les morts sont-ils repartis ?\n2. Freyr m'a dit que je derangeais... ?", 2],
28: [-1, "Les combattans morts lors d'attaques reviennent en general a Odin alors que ceux qui sont morts pour defendre leurs biens sont plutot l'apanage des Vanes."],
29: [0, "Votre position vous situe entre Ases et Vanes, a la veille d'une guerre comme celle-ci, les Vanes comme les Ases redoutent les informateurs caches. Vous allez devoir afficher clairement votre camp.\n1. Je suis oblige de choisir ?\n2. Comment je peux choisir ?", 2],
30: [-1, "Oui, ne serait-ce que parce qu'Odin n'acceptera jamais le doute : il vous fera tuer."],
31: [0, "Allez voir Freyja ou Odin. C'est aussi simple. Et ne vous retournez pas."]
}
@ -246,7 +257,7 @@ def h_26_npc(data, stat):
"base": [0, "Ui hips ?"],
4: [0, "Hey toi ! J'ai besoin de toi.\n1. Je ne crois pas, bonne journee.\n2. Je vous ecoute.", 2],
5: [-1, "Tu ne sais pas ce que tu rates l'ami."],
6: [1, "Bien. Tu vas aller au sud ouest, au fond d'un bois, il y a trois maisons. Je sais que l'une d'elle mene a Niflheim. Trouve un esprit du nom d'Asufaih et donne-lui ce mot. [L'HOMME VOUS DONNE UNE LETTRE CACHETEE D'UN SCEAU DE CIRE NOIRE.].", 0, (8, 2)],
6: [1, "Bien. Tu vas aller au sud ouest, au fond d'un bois, il y a trois maisons. Je sais que l'une d'elle mene a Niflheim. Trouve un esprit du nom d'Asufaith et donne-lui ce mot. [L'HOMME VOUS DONNE UNE LETTRE CACHETEE D'UN SCEAU DE CIRE NOIRE.].", 0, (8, 2)],
}

View File

@ -96,8 +96,8 @@ def niflheim_npc(data, stat):
xp = data[0]
if coords == (57, 31):
if stat[9] == 2: return {
7: [1, "Oui ? [VOUS LUI DONNEZ LA LETTRE, L'ESPRIT VOUS REGARDA SANS PARAITRE ETONNE ET S'EN EMPARA.] Notre... Ami commun vous envoie de loin. [SUR CES MOTS L'ESPRIT SE RETOURNA ET TRAVERSA LE SOL DE TERRE]"],
if stat[8] == 2: return {
7: [1, "Oui ? [VOUS LUI DONNEZ LA LETTRE, L'ESPRIT VOUS REGARDA SANS PARAITRE ETONNE ET S'EN EMPARA.] Notre... Ami commun vous envoie de loin. [SUR CES MOTS L'ESPRIT SE RETOURNA ET TRAVERSA LE SOL DE TERRE, VOUS LAISSANT DESEMPARE.]"],
}

View File

@ -157,6 +157,10 @@ def h_22_npc(data, stat):
"base": [0, "Bonjour, je suis Freyja, deesse de la beaute et de l'erotisme."],
1: [1, "Hum. [FREYJA REGARDE LA DAGUE] Odin me propose la paix... Mais cela ne se passera pas comme ca. [ELLE VOUS REND LA DAGUE]. Rendez sa dague a Odin. Avant que vous ne partiez pour Asgard, allez voir Freyr, il est dans la piece adjacente, il te renverra directement a Asgard."],
14: [1, "Hum, merci de m'avoir prevenue. Tu peux aller dire a Odin que tu as tue Gullveig, Odin lui-meme ne peut pas la tuer [FREYJA A UN PETIT RIRE.] {}, il sera bientot temps de choisir un camp songes-y.".format(stat[5])],
31: [0, "{} ! J'ai rarement ete aussi heureuse de te voir mon cher. Tu viens joindre tes forces a notre cause ?\n1. J'y reflechis encore.\n2. Je vous suis !".format(stat[5]), 2],
32: [-1, "Bien, bien, mais depeche-toi !"],
33: [1, "Voila une heureuse nouvelle !"]
}
# Freyr
@ -174,12 +178,15 @@ def h_22_npc(data, stat):
if check:
stat[7].append((0, 1))
return [1, "Chez les Vanes, nous rendons hommage aux messagers, en guise de remerciement, je vais vous apprendre le sort de Soin [FREYR DESSINA DANS L'AIR DES RUNES VIOLETTE QUI TOURNOYERENT UN INSTANT AVANT DE S'ESTOMPER PEU A PEU.]\n[UNE LOURDE TORPEUR S'ABATTIT SUR VOUS. VOUS VOUS SENTEZ LEGER. LE DUR CHOC CONTRE LE SOL VOUS REVEILLA.]"]
return [1, "Chez les Vanes, nous rendons hommage aux messagers, en guise de remerciement, je vais vous apprendre le sort de Soin [FREYR DESSINA DANS L'AIR DES RUNES VIOLETTE QUI TOURNOYERENT UN INSTANT AVANT DE S'ESTOMPER PEU A PEU.]\nEt maintenant : direction Asgard !\n[UNE LOURDE TORPEUR S'ABATTIT SUR VOUS. VOUS VOUS SENTEZ LEGER. LE DUR CHOC CONTRE LE SOL VOUS REVEILLA.]"]
else:
return [1, "Chez les Vanes, nous rendons hommage aux messagers, voici quelques pieces d'or, faites en bon usage ! [UNE LOURDE TORPEUR S'ABATTIT SUR VOUS. VOUS VOUS SENTEZ LEGER. LE DUR CHOC CONTRE LE SOL VOUS REVEILLA.]", 0, (1, 5)]
else: return {
"base": [0, "Freyr, dieu de la vie. Bienvenue a Vanaheim"]
"base": [0, "Freyr, dieu de la vie. Bienvenue a Vanaheim"],
16: [8, "J'aurais besoin de ton aide...\n1. Peut-etre plus tard ?\n2. Oui ?", 2],
25: [-9, "Si tu es toujours interesse..."],
26: [1, "Votre situation, entre Vanes et Ases nous derange. Je suis desole de ne pas etre plus explicite. Allez voir Lithy, elle se trouve a Midgard, vers le centre, dans l'alignement du grand palais. Elle vous expliquera la suite."],
}