Exemple #1
0
def inn(name, objective):
    print_stuff([
        """You enter the inn, and immediately the smell of food and drink hits you. The inn is well lit, and everywhere
people sit around tables, eating, drinking, talking or playing cards"""
    ])
    while True:
        purchase = input(f"""What would you like to do?
	1. Get a meal (10 gold)
	2. Join a game of cards
	3. Listen for rumours

Enter 'b' to leave
> """)
        if purchase == "b":
            break
        elif purchase == "1":
            if equipment.equipment["gold"] < 10:
                print("You don't have enough gold for that.")
                continue
            else:
                equipment.equipment["gold"] -= 10
                print(
                    "You enjoy a good meal, and feel refreshed and more energised."
                )
                time.sleep(4)
                print("You regain all health you've lost!")
                time.sleep(2)
                ability.ability["health"] = ability.ability["maxhealth"]
        elif purchase == "2":
            blackjack.cards()
        elif purchase == "3":
            rumours()
    town(name, objective)
Exemple #2
0
def blacksmith(name, objective):
    print_stuff([
        """There's the ring of hammer and anvil as you come into the blacksmith.
Weapons, tools and blades hang on racks, and the place smells of sweat and fire."""
    ])
    while True:
        options = ['1', '2', '3', '4', '5', '6', '7', 'b']
        purchase = input(f"""What would you like smithed?
	1. Upgrade Sharpness (20 gold)
	2. Upgrade Finesse (30 gold)
	3. Upgrade Stability (15 gold)
	4. Repair Weapon (10 gold)
	5. Enhance Armour: Defense (20 gold)
	6. Enhance Armour: Toughness (35 gold)
	7. Enhance Armour: Flexibility (25 gold)

Enter 'b' to leave
> """)
        if purchase not in options:
            continue
        if purchase == "b":
            break
        word_keys = [
            f"increased {weapon.weapon['weaponname']}'s Sharpness",
            f"increased {weapon.weapon['weaponname']}'s Finesse",
            f"increased {weapon.weapon['weaponname']}'s Stability",
            f"restored {weapon.weapon['weaponname']}'s Stability",
            "enhanced your armour's defense",
            "enhanced your armour's toughness",
            "enhanced your armour's flexibility"
        ]
        prices = [20, 30, 15, 10, 20, 35, 25]
        choice = int(purchase) - 1
        if equipment.equipment["gold"] < prices[choice]:
            print("You don't have enough gold for that.")
            time.sleep(3)
            continue
        elif purchase == "1":
            weapon.weapon["sharpness"] += 1
        elif purchase == "2":
            weapon.weapon["finesse"] += 1
        elif purchase == "3":
            weapon.weapon["max stability"] += 1
            weapon.weapon["stability"] += 1
        elif purchase == "4":
            weapon.weapon["stability"] = weapon.weapon["max stability"]
        elif purchase == "5":
            ability.ability["armour"] += 1
        elif purchase == "6":
            ability.ability["maxhealth"] += 5
            ability.ability["health"] += 5
        elif purchase == "7":
            ability.ability["agility"] += 1
        equipment.equipment["gold"] -= prices[choice]
        print(f"""You {word_keys[choice]} for {prices[choice]} gold.""")
        time.sleep(4)
    town(name, objective)
Exemple #3
0
def rumours():
    rumour_scripts = [
        "You hear that there's talk of a rise in an organisation known as the Daughters of Chaos. People say that more and more women join their ranks.",
        "From eavesdropping on conversations, you hear a rumour that treasure hunters are becoming more and more unsuccesful, and that some have even disappeared in mysterious circumstances.",
        "You hear nothing of use; only the superstitious ramblings of worried townsfolk.",
        "There is nothing out of the ordinary in the conversations of people at the moment.",
        "There's talk of magic items being held securely being stolen by an unknown person or persons."
    ]
    print_stuff([random.choice(rumour_scripts)])
    return False
Exemple #4
0
def gain_xp(enemies):
    gained_exp = 0
    for enemy in enemies:
        exp = enemy['xp']
        gained_exp += exp
    ability['xp'] += gained_exp
    print_stuff([colour_it(f'You gained {gained_exp} xp!', Color.FUNCTION)])
    levels = int(ability['xp'] / 100)
    if levels > 0:
        level_up(levels)
    return False
Exemple #5
0
def market(name, objective):
    print_stuff([
        "You enter the market, and immediately start browsing, looking for things you could use on your travels."
    ])
    while True:
        options = ['1', '2', '3', '4', '5', '6', '7', '8', 'b']
        purchase = input(f"""What would you like to purchase?
	1. Potions (25 gold)
	2. Knives (20 gold)
	3. Oils (50 gold)
	4. Smoke bombs (40 gold)
	5. Potions: Empowering Solution (80 gold)
	6. Knives: Serrated Edge (50 gold)
	7. Oils: Poisoned Edge (150 gold)
	8. Smoke bombs: Disorientating Vapour (70 gold)

Enter 'b' to leave
> """)
        if purchase not in options:
            continue
        if purchase == "b":
            break
        word_keys = ["Potion", "Knife", "Oil", "Smoke bomb"]
        prices = [25, 20, 50, 40, 80, 50, 150, 70]
        choice = int(purchase)
        choice -= 1
        if equipment.equipment["gold"] < prices[choice]:
            print("You don't have enough gold for that.")
            continue
        elif purchase == "1":
            equipment.equipment["potions"] += 1
        elif purchase == "2":
            equipment.equipment["knives"] += 1
        elif purchase == "3":
            equipment.equipment["oils"] += 1
        elif purchase == "4":
            equipment.equipment["smoke bombs"] += 1
        elif purchase == "5":
            equipment.equipment["empowering"] = True
        elif purchase == "6":
            equipment.equipment["serrated"] = True
        elif purchase == "7":
            equipment.equipment["fatal"] = True
        elif purchase == "8":
            equipment.equipment["disorientating"] = True
        equipment.equipment["gold"] -= prices[choice]
        print(
            f"""You bought a {word_keys[choice]} for {prices[choice]} gold.""")
        time.sleep(4)
    town(name, objective)
Exemple #6
0
def trainer(name, objective):
    print_stuff([
        "You find someone who is willing to help you hone your skills, but not for free."
    ])
    while True:
        options = ['1', '2', '3', '4', '5', '6', 'b']
        purchase = input(f"""What would you like to train?
	1. Strength training (15 gold)
	2. Technical training (25 gold)
	3. Strike: Precision Strike (75 gold)
	4. Strike: Rending Strike (100 gold)
	5. Parry: Opportunist's Parry (60 gold)
	6. Parry: Vengeance Parry (85 gold)
	7. Distract: Lacerating Distract (50 gold)
	8. Distract: Deadly Distract (80 gold)

Enter 'b' to leave
> """)
        if purchase not in options:
            continue
        if purchase == "b":
            break
        word_keys = [
            "increased your Strength", "gained experience",
            "unlocked Precision Strike", "unlocked Rending Strike"
        ]
        prices = [15, 25, 75, 100, 60, 85]
        choice = int(purchase)
        choice -= 1
        if equipment.equipment["gold"] < prices[choice]:
            print("You don't have enough gold for that.")
            continue
        elif purchase == "1":
            ability.ability["strength"] += 1
        elif purchase == "2":
            ability.ability["xp"] += random.randrange(10, 16)
        elif purchase == "3":
            weapon.attack_by_name("Precision Strike")["enabled"] = True
        elif purchase == "4":
            weapon.attack_by_name("Rending Strike")["enabled"] = True
        elif purchase == "4":
            weapon.parry_by_name("Opportunist's Parry")["enabled"] = True
        elif purchase == "4":
            weapon.parry_by_name("Vengeance Parry")["enabled"] = True
        equipment.equipment["gold"] -= prices[choice]
        print(f"""You {word_keys[choice]} for {prices[choice]} gold.""")
        time.sleep(4)
    town(name, objective)
Exemple #7
0
def level_up(levels):
    if levels == 1:
        plurals = "time"
    else:
        plurals = "times"
    print_stuff([
        colour_it(f"You've leveled up {int(levels)} {plurals}!",
                  Color.FUNCTION)
    ])
    time.sleep(3)
    ability['level'] += levels
    ability['xp'] %= 100
    counter = 0
    while counter < levels:
        print(f"""Which ability do you want to increase?
1. {colour_it("Strength", Color.STRENGTH)}
2. {colour_it("Agility", Color.AGILITY)}
3. {colour_it("Awareness", Color.AWARENESS)}
4. {colour_it("Endurance", Color.ENDURANCE)}
5. {colour_it("Persona", Color.PERSONA)}""")
        ability_boost = int(input_stuff('> ', ["1", "2", "3", "4", "5"]))
        choices = ["strength", "agility", "awareness", "endurance", "persona"]
        choice = choices[(ability_boost - 1)]
        ability[choice] += 1
        print(f"Your {choice.capitalize()} increased by 1!")
        time.sleep(3)

        print("""Which action do you want to improve?
1. Strike
2. Parry
3. Distract""")
        action_boost = int(input_stuff('> ', ["1", "2", "3"]))
        action_choices = ["strike", "parry", "distract"]
        action_choice = action_choices[(action_boost - 1)]
        ability[f"{action_choice}_lvl"] += 1
        print(f"{action_choice.capitalize()} has been upgraded!")
        time.sleep(3)

        ability["maxhealth"] = ability["endurance"] + 10
        ability["maxhealth"] += (5 * (ability["level"] - 1))
        ability["maxhealth"] = int(ability["maxhealth"])
        ability["health"] = ability["maxhealth"]
        counter += 1
Exemple #8
0
def prologue():
	elfa = colour_it("Elfa", Color.NPC)
	micha = colour_it("Micha", Color.NPC)
	bertholt = colour_it("Bertholt Omar", Color.NPC)
	blackburrow = colour_it("Blackburrow", Color.PLACE)
	lizardtongue = colour_it("Lizardtongue Mountains", Color.PLACE)
	corocana = colour_it("Corocana", Color.PLACE)

	print_stuff([f"""In this text based adventure, you will be taking on the role of a Nighthawk, an elite monster hunter, a sword
for hire when the ordinary folk can't handle the danger.""",
f"""The adventure begins in the town of {blackburrow}, a bustling place just East of the {lizardtongue}, and South of 
the vast jungles of {corocana}.""", """Your current task is to look for the missing son and daughter of the very worried, very rich
baron. If there is a threat to the town that was the cause of their disappearing, then you must eliminate it.""",
f"""You know the following things:
- The son and daughter were aspiring adventurers, and were seeking adventure in the {lizardtongue}, where a treasure
hoard was said to lie in a cave at the top of the largest mountain.
- The son is called {micha} and the daughter is called {elfa}. The baron himself is {bertholt}.""",
"""Before setting off on your task, you have the chance to prepare."""])

	town.town("Blackburrow", "Leave to look for the Omar children", True)
	print_stuff([f"Your preparations complete, you head towards the main gates of {blackburrow}.",
"You stop when you hear the sound of a woman crying in an alley, and the harsh voice of a man."])
	choice = input_stuff("""1. Investigate the sounds.
2. Continue on your way.
> """, ["1", '2'])

	if choice == "1":
		print_stuff(["You move into the dark alley. Ahead, you can see a trembling, feminine form and a man holding a sword.",
"The man turns as you approach and shoves the woman into you. You push the woman away, and only then realise that you don't need to.",
"The woman moves to the alley wall and picks up a sword leaning against it. She turns to you, grinning.",
f'''"It's amazing how effective that old gag is," she laughes, raising her weapon.''',
f"""The man behind you speaks up. "Strip the {character.character["titles"]["insult"]} of {character.character['titles']['his']} loot!" """])
		enemy_1 = encounters.monster_access("fbandit")
		enemy_2 = encounters.monster_access("mbandit")
		gang = [enemy_1, enemy_2]
		enemy_round.initialize(gang)
		if post_combat.victory == False:
			print_stuff(["You wake up lying in the alley. You hurt where you were hit, and you feel that your money was stripped from you.",
"You lost all gold!"])
			equipment.equipment["gold"] = 0
			ability.ability["health"] = int(ability.ability["maxhealth"] / 2)
Exemple #9
0
"The woman moves to the alley wall and picks up a sword leaning against it. She turns to you, grinning.",
f'''"It's amazing how effective that old gag is," she laughes, raising her weapon.''',
f"""The man behind you speaks up. "Strip the {character.character["titles"]["insult"]} of {character.character['titles']['his']} loot!" """])
		enemy_1 = encounters.monster_access("fbandit")
		enemy_2 = encounters.monster_access("mbandit")
		gang = [enemy_1, enemy_2]
		enemy_round.initialize(gang)
		if post_combat.victory == False:
			print_stuff(["You wake up lying in the alley. You hurt where you were hit, and you feel that your money was stripped from you.",
"You lost all gold!"])
			equipment.equipment["gold"] = 0
			ability.ability["health"] = int(ability.ability["maxhealth"] / 2)

story = ["chapter1.ghouls_at_farm", "chapter1.hag_lair", "chapter1.campers", "chapter1.thief", "chapter1.ascent", "chapter1.cave", "chapter2.beginning", chapter2.descent,
]
position = boot()
if position in story:
	idx = story.index(position)
	story = story[idx:]
	print_it("Your game loaded successfully!", Color.FUNCTION)
elif not position:
	print_stuff(["Your save file could not be accessed, or has been corrupted."])
	new_game()
	prologue()
else:
	new_game()
	prologue()

set_default_actions()
run_adventure(story)
Exemple #10
0
def descentb():
    micha = colour_it("Micha", Color.NPC)
    blackburrow = colour_it("Blackburrow", Color.PLACE)
    tamara = colour_it("Tamara", Color.NPC)
    denvar = colour_it("Denvar", Color.NPC)
    print_stuff([
        f"The three of you make your way down the mountain. With your guidance you arrive at {denvar}'s cabin. You notice that {denvar} is home.",
        f"Light shines from the windows, and you see movement from inside. You approach the door and knock sharply. Almost instantly, {denvar} answers the knock."
    ])
    if character.story["denvar"]["knows_name"]:
        print_stuff([
            f""""Greetings, {character.character["firstname"]}," {denvar} says warmly. "How may I help you?" """
        ])
    else:
        print_stuff([
            f""""Greetings, traveller," {denvar} says warmly. "How may I help you?" """
        ])
    ability.heal(15)
    print_stuff([
        f"Quickly, you usher {tamara} inside, but {micha} is shaking his head.",
        f""""I'm shall return to {blackburrow}," he says. "I've had enough madness for one day." After a brief farewell, {micha} leaves alone, descending the mountain. """,
        f"The next thing you know, you and {tamara} are sitting at a table with bowls of steaming meat stew. {denvar} crouches by the fireplace, coaxing a small blaze.",
        f"The stew restores 15 health!", f"""{tamara} looks up at you."""
    ])
    if character.story["tamara"]["name_known"] != tamara:
        print_stuff([
            f""""I should probably introduce myself," she says. "I'm {tamara}." """
        ])
    print_stuff(
        [f"What's your name, {character.character['titles']['casual']}?"])
    choice = input_stuff(
        f"""1. "I'm {character.character['firstname']}." 
2. "I'm not sure I trust you." 
> """, ["1", "2"])
    if choice == "2":
        print_stuff([
            f"""{tamara} raises an eyebrow. "I can't trust you unless you trust me with your name," she warns. Reluctantly, you tell her your name."""
        ])
    print_stuff([
        f""""I'm glad you told me... {character.character['firstname']}," {tamara} says kindly. "Do you have any questions for me?" """
    ])
    while True:
        quest = colour_it("I have no further questions.", Color.QUEST)
        daughters = colour_it("Daughters of Chaos", Color.ENEMY)
        question = input_stuff(
            f"""1. "Who were those people?" 
2. "Why did you save me?" 
3. "Who are you?"
4. "You're dressed as those women are. Yet you oppose them?"
5. "{quest}" 
> """, ["1", "2", "3", "4", "5"])
        if question == "1":
            print_stuff([
                f""""They're called the {daughters}," {tamara} says. "An organisation that wants humanity to return to the old ways of hunting and gathering." """,
                """"They are not evil. They are... misguided. And at the moment their leader is more fanatical and insane than any other before them." """
            ])
        elif question == "2":
            print_stuff([
                f"""{tamara} shrugs. "I figured you could help me. I've been following the {daughters} for a while. I stumbled upon you, and..." Tamara pauses awkwardly. """,
                """"I figured you could help me. You look like the fighting sort, so you're exactly what I need." """
            ])
        elif question == "3":
            print_stuff([
                f""""I've already given you my name," {tamara} says. "I assume your asking what I do in life?" """,
                f""""I have a complicated past, but let's just say I have something personal against the {daughters}." """
            ])
        elif question == "4":
            print_stuff([
                f""""I have their clothes, but I do not follow them. As soon as I have some privacy, I shall change from these garments." """,
                f"""{tamara} laughs. "They were too... exposing for me anyway." """
            ])
            awareness_roll = random.randrange(1, 10)
            if awareness_roll <= ability.ability["awareness"]:
                aware = colour_it("aware", Color.AWARENESS)
                print_stuff([
                    f"You are {aware} enough to notice her use of past tense."
                ])
                choice = input_stuff(
                    """1. "Why do you use past tense?" 
2. Say nothing.
> """, ["1", "2"])
                if choice == "1":
                    print_stuff([
                        f"""You see {tamara} give a start. "No reason," she says quickly. "Or at least, a reason that I do not wish to reveal currently." """
                    ])
        elif question == "5":
            break
    print_stuff([
        f"Suddenly, you hear the sound of footsteps. {tamara} jumps to her feet and runs to the window.",
    ])
    enemy_round.initialize([encounters.monster_access("chaos_daughter")])
    if post_combat.victory == False:
        ability.ability["health"] = (ability.ability["maxhealth"] / 2)
        print_stuff([
            f"The light returns to your vision and you see {tamara}'s face looking down at you",
            """"That was quite a hit you took," she says cheekily. She offers her hand to you to help you up.s"""
        ])
        choice = input_stuff("""1. Take her hand.
2. Get up by yourself.
> """, ["1", "2"])
        if choice == "1":
            print_stuff([
                f"""You take {tamara}'s hand, and she pulls you to your feet, with surprising strength for someone of her build."""
            ])
        elif choice == "2":
            print_stuff([
                f"You get to your feet without taking {tamara}'s hand. She gives you a look but says nothing."
            ])
        print_stuff([
            f"""You look around and see the bodies of the two {daughters} with deep lacerations on them. "My handiwork," {tamara} says. """,
            """"Don't worry though. I forgive you." But you can tell she's joking. """
        ])
    print_stuff([f"After the fight, you return to {denvar}'s cabin to rest."])
    rest.rest()
    print_stuff([
        f""""We should return to {blackburrow} also," {tamara} says. "There is much to discuss." """,
        f"""After bidding {denvar} farewell and descend the mountain carefully, returning to the trail and making your way back to {blackburrow}."""
    ])
Exemple #11
0
def beginning():
    save('chapter2.beginning')
    elfa = colour_it("Elfa", Color.NPC)
    micha = colour_it("Micha", Color.NPC)
    print_stuff([
        "You wake up, your head throbbing painfully. You hear voices, but they are echoing and far away. You look around and find yourself sitting in a large cage.",
        "The cage itself is made of wood, but all your belongings are gone. The wooden cage's bars and supports are thick, and you cannot break them.",
        "To your left is a man and a woman. Each looks only sixteen, and each is covered in blood. It only takes you a moment to realise two things.",
        f"These must be {micha} and {elfa}, the baron's children. You also realise that {elfa} is dead. {micha} looks like he's on his last legs also."
    ])
    choice = input_stuff(f"""1. Approach {micha}.
2. Wait. 
> """, ["1", "2"])
    if choice == "1":
        print_stuff([
            f"You approach {micha} and sit down next to him. He turns to you, and you see his eyes are red and puffy from tears.",
            """"What do you want?" he asks, almsot a bit angrily. """
        ])
        reply = input_stuff(
            """1. "We're in a bit of a sticky situation, aren't we?"
2. "Are you Micha?" 
> """, ["1", "2"])
        if reply == "1":
            print_stuff([
                f"""{micha} smiles slightly. "We are indeed," he says with cold humour."""
            ])
        elif reply == "2":
            print_stuff([
                f""""I am. Have you been sent to look for me?" {micha} sighs. "Then this is my fault, {character.character['titles']['casual']}." """
            ])
        print_stuff([
            f"""{micha} looks over to {elfa}'s body, and sighs sadly. "If you came here for us..." he starts, then swallows and turns away."""
        ])
        while True:
            quest = colour_it(""""Don't worry; we'll get through this." """,
                              Color.QUEST)
            question = input_stuff(
                f"""1. "Who are these people?"
2. "What are you doing on the mountain?"
3. "What's the escape plan?"
4. {quest}
> """, ["1", "2", "3", "4"])
            if question == "1":
                print_stuff([
                    f"""{micha} shakes his head. "I don't have a clue," he says. "{elfa} and I were treasure hunting." """,
                    """"Found this cavern, but soon after us, these women came. They took us prisoner and began to search the place, gathering all the treasures they found." """,
                    f""""I asked them who they were and why they were here, but got no response. {elfa} insisted that they talked to her and..." He breaks of suddenly and swallows. """
                ])
            elif question == "2":
                print_stuff([
                    """"Treasure hunting, as father no doubt told you. There were tales of treasure, but all it has brought me is misery." """
                ])
            elif question == "3":
                print_stuff([
                    f""""There is none. I've tried many things, but nothing has yielded anything resembling success." {micha} sighs sadly.""",
                    f""""{elfa} would have figured something out," he murmurs. He turns his head away."""
                ])
                choice = input_stuff(
                    """1. "I'm sorry for your loss." 
2. "Toughen up. There's nothing you can do for her."
3. Say nothing. 
> """, ["1", "2", "3"])
                if choice == "1":
                    print_stuff([
                        f"""{micha} nods. "I'm sorry too. I shouldn't let my grief dampen both of our spirits." """
                    ])
                elif choice == "2":
                    print_stuff([
                        f"""{micha} glares at you. "If you had any loved ones to lose, you wouldn't be saying that," he snaps. """
                    ])
            elif question == "4":
                print_stuff([
                    f"""{micha} smiles weakly and closes his eyes. "I trust you, whoever you are," he says softly. Suddenly, he gives a start and looks over your shoulder. """
                ])
                break
    print_stuff([
        "One of the women approach you now. But there is something different about this one."
    ])
    awareness_roll = random.randrange(1, 7)
    if awareness_roll <= ability.ability["awareness"]:
        print_stuff([
            f"You are {colour_it('aware', Color.AWARENESS)} enough to notice that her eyes are darting, and she looks nervous."
        ])
    else:
        print_stuff([
            f"You are not {colour_it('aware', Color.AWARENESS)} enough to figure out the discrepancy."
        ])
    print_stuff([
        "The woman has mousy brown hair tied in a ponytail, and round, blue eyes. She, too, has a curved sword.",
        "The woman approaches the locked door, and pulls a key from the leg of her tights. Looking around cautiously, she begins to unlock the cage.",
        f"At this, {micha} moves forwards and opens his mouth to speak, but the woman pushes a finger to her lips. Slowly, the cage door opens.",
        f"She pulls two backpacks from behind a rock, one of them you recognise as yours. She tosses it to you, and throws the other to {micha}.",
        f""""We must leave this place," she says quietly. "Swiftly now!" """
    ])
    choice = input_stuff("""1. Follow the woman.
2. Stay where you are.
> """, ["1", "2"])
    if choice == "2":
        print_stuff([
            f"You stay put as {micha} and the woman run silently from the cavern. It is not long before some of the strangely dressed women find you.",
            "Furious at your escape, they attack without mercy. You are beaten down by a barrage of blows, with far too many opponents and no time to react."
        ])
        exit()
    print_stuff([
        f"You run silently beside {micha} and behind the woman. She leads you through the cavern, mirroring the route you took. Within minutes, you are under the open sky.",
        f""""We must get off the mountain," says the woman rapidly. She looks between both you and {micha}. "Do either of you have a quick way of descending?" """
        f"""{micha} shakes his head, and the woman turns to you."""
    ])
    while True:
        if character.story["denvar"]["exists"]:
            choice = input_stuff(
                """1. "Unfortunately not." 
2. "Slow down. Who are you?"
3. "No, but I know a man named Denvar who may help us." 
> """, ["1", "2", "3"])
        else:
            choice = input_stuff(
                """1. "Unfortunately not." 
2. "Slow down. Who are you?" 
> """, ["1", "2"])
        if choice == "1":
            print_stuff([
                f"""{character.story['tamara']['name_known'].capitalize()} curses under her breath. "Then we must move quickly. They could be onto us at any moment." """
            ])
            break
        elif choice == "2":
            tamara = colour_it("Tamara", Color.NPC)
            print_stuff([
                f"""{character.story['tamara']['name_known'].capitalize()} gives an impatient groan. "I'm {tamara}, if you insist," she says finally. """
            ])
            character.story["tamara"]["name_known"] = tamara
        elif choice == "3":
            print_stuff([
                f"""{character.story['tamara']['name_known'].capitalize()} lifts an eyebrow. "Then let us meet this Denvar." """
            ])
            descent = "chapter2.descentb"
            break
Exemple #12
0
def descenta():
    micha = colour_it("Micha", Color.NPC)
    blackburrow = colour_it("Blackburrow", Color.PLACE)
    tamara = colour_it("Tamara", Color.NPC)
    print_stuff([
        f"""{character.story['tamara']['name_known'].capitalize()} nods. "At least let us begone from this mountain," she says. "Even if the journey is long and hard." """,
        """The three of you descend the mountain, haste making the journey a lot quicker. You meet with no dangers on the way down, and no one speaks.""",
        f"""As you put distance between yourselves and the cave, you see {character.story['tamara']['name_known']}'s face begin to relax.""",
        """Suddenly, you've reached the base of the mountain. Already the air is warmed, and you feel far more relaxed, though questions still swim in your mind.""",
        f""""I'm going back to {blackburrow}," {micha} says. "To get some rest." He looks to both you and {character.story['tamara']['name_known']}. "Thank you. Both of you." """,
        f"""{micha} begins walking back towards {blackburrow}. {character.story['tamara']['name_known'].capitalize()} watches {micha} disappear along the trail. Then she turns to you."""
    ])
    if character.story["tamara"]["name_known"] != colour_it(
            "Tamara", Color.NPC):
        print_stuff([
            f""""I should probably introduce myself," she says. "I'm {tamara}." """
        ])
    print_stuff(["What's your name?"])
    choice = input_stuff(
        f"""1. "I'm {character.character['firstname']}." 
2. "I'm not sure I trust you." 
> """, ["1", "2"])
    if choice == "2":
        print_stuff([
            f"""{tamara} raises an eyebrow. "I can't trust you unless you trust me with your name," she warns. Reluctantly, you tell her your name."""
        ])
    print_stuff([
        f""""I'm glad you told me... {character.character['firstname']}," {tamara} says kindly. "Do you have any questions for me?" """
    ])
    while True:
        quest = colour_it("I have no further questions.", Color.QUEST)
        daughters = colour_it("Daughters of Chaos", Color.ENEMY)
        question = input_stuff(
            f"""1. "Who were those people?" 
2. "Why did you save me?" 
3. "Who are you?"
4. "You're dressed as those women are. Yet you oppose them?"
5. "{quest}" 
> """, ["1", "2", "3", "4", "5"])
        if question == "1":
            print_stuff([
                f""""They're called the {daughters}," {tamara} says. "An organisation that wants humanity to return to the old ways of hunting and gathering." """,
                """"They are not evil. They are... misguided. And at the moment their leader is more fanatical and insane than any other before them." """
            ])
        elif question == "2":
            print_stuff([
                f"""{tamara} shrugs. "I figured you could help me. I've been following the {daughters} for a while. I stumbled upon you, and..." Tamara pauses awkwardly. """,
                """"I figured you could help me. You look like the fighting sort, so you're exactly what I need." """
            ])
        elif question == "3":
            print_stuff([
                f""""I've already given you my name," {tamara} says. "I assume your asking what I do in life?" """,
                f""""I have a complicated past, but let's just say I have something personal against the {daughters}." """
            ])
        elif question == "4":
            print_stuff([
                f""""I have their clothes, but I do not follow them. As soon as I have some privacy, I shall change from these garments." """,
                f"""{tamara} laughs. "They were too... exposing for me anyway." """
            ])
            awareness_roll = random.randrange(1, 10)
            if awareness_roll <= ability.ability["awareness"]:
                aware = colour_it("aware", Color.AWARENESS)
                print_stuff([
                    f"You are {aware} enough to notice her use of past tense."
                ])
                choice = input_stuff(
                    """1. "Why do you use past tense?" 
2. Say nothing.
> """, ["1", "2"])
                if choice == "1":
                    print_stuff([
                        f"""You see {tamara} give a start. "No reason," she says quickly. "Or at least, a reason that I do not wish to reveal currently." """
                    ])
        elif question == "5":
            break
    print_stuff([
        f"Suddenly, {tamara} looks over your shoulder and draws her sword. You turn around and see two {daughters} walking towards you.",
        f""""I'll take one," {tamara} says quickly. The {daughters} run forwards, swords in hand. {tamara} lunges towards one of them."""
    ])
    enemy_round.initialize([encounters.monster_access("chaos_daughter")])
    if post_combat.victory == False:
        ability.ability["health"] = (ability.ability["maxhealth"] / 2)
        print_stuff([
            f"The light returns to your vision and you see {tamara}'s face looking down at you",
            """"That was quite a hit you took," she says cheekily. She offers her hand to you to help you up.s"""
        ])
        choice = input_stuff("""1. Take her hand.
2. Get up by yourself.
> """, ["1", "2"])
        if choice == "1":
            print_stuff([
                f"""You take {tamara}'s hand, and she pulls you to your feet, with surprising strength for someone of her build."""
            ])
        elif choice == "2":
            print_stuff([
                f"You get to your feet without taking {tamara}'s hand. She gives you a look but says nothing."
            ])
        print_stuff([
            f"""You look around and see the bodies of the two {daughters} with deep lacerations on them. "My handiwork," {tamara} says. """,
            """"Don't worry though. I forgive you." But you can tell she's joking. """,
            f""""We should return to {blackburrow}," {tamara} says. "There is much to discuss." """,
            f"""You descend the mountain carefully, returning to the trail and making your way back to {blackburrow}."""
        ])