def shrine_before_arrival():
    if (universal.state.player.currentEpisode == episode1.name and episode.allEpisodes[universal.state.player.currentEpisode].currentSceneIndex == 0 and 
    'second_hand_tragedy' in universal.state.player.keywords):
        universal.say(universal.format_line([name(), 'has no interest in going to the Matirian Church again any time soon.']))
        return False
    elif (universal.state.player.currentEpisode == episode1.name and episode.allEpisodes[universal.state.player.currentEpisode].currentSceneIndex == 2 and 
    'finished_night_on_town' in keywords()):
        universal.say(universal.format_line([name(), '''has nothing more to do in the Shrine.''', HeShe(), '''should probably find a bed.''']), justification=0)
    else:
        return True
def guild_bedroom_after_arrival():
    guildBedroom = universal.state.get_room('Bedroom')
    thisEpisode = episode.allEpisodes[universal.state.player.currentEpisode]  
    if universal.state.player.currentEpisode == episode1.name and thisEpisode.currentSceneIndex == 2:
        alondraSleeping = '''Alondra, the girl Vengador Ildri shielded from the city guard, is already curled up in one of the beds, soundly asleep.'''
        if not alondraSleeping  in guildBedroom.description:
            guildBedroom.description = universal.format_text([guildBedroom.description, alondraSleeping])
        if not universal.format_line(['''If''', name(), '''wishes,''', heshe(), '''can rest, and put an end to this seemingly neverending day.''']) in guildBedroom.description:
            guildBedroom.description = universal.format_text([guildBedroom.description, ['''If''', name(), '''wishes,''', heshe(), 
                '''can rest, and put an end to this seemingly neverending day.''']])
        if 'Elise_shows_you_around' in pwutilities.keywords() and universal.state.player.currentEpisode == episode1.name and not ("should go meet Elise at the Shrine" in 
                guildBedroom.description):
            guildBedroom.description = universal.format_text([guildBedroom.description, ['''If''', name(), '''hasn't already,''', p.heshe(), 
                '''should go meet Elise at the Shrine. After all,''', p.heshe(), '''shouldn't keep her waiting!''']])
    if guildBedroom.boarding:
        townmode.rest_mode(guildBedroom)
    else:
        townmode.town_mode()
def armor_shop_after_arrival():
    wesleyAndAnnesArmorShop = universal.state.get_room("Wesley and Anne's Smithy")
    wesleyAndAnnesArmorShop.description = universal.format_line(['''The shop consists of a single small room. A counter runs the length of the far wall. Hanging on the left wall are a variety of small metal things: nails, buckles, hinges, locks, horseshoes. The right side contains a few samples of larger tools: a large sickle, and a shovel. What really catches''', universal.state.player.name + "'s", '''attention is a 'suit' of chanmail hanging on the wall above the counter.''', universal.format_line(['''The armor is a two piece affair. The top looks like to be barely big enough to cover (for a sufficiently loose definition of 'cover')''', universal.state.player.name + "'s", '''breasts, while the bottom is a thong. A thong made out of chainmail.''' if universal.state.player.is_female() else '''The armor is a single, small thong, which is made out of chainmail.'''])])
    if "visited_blacksmith" not in universal.state.player.keywords:
        wesleyAndAnnesArmorShop.description = (
            universal.format_text([wesleyAndAnnesArmorShop.description, [universal.state.player.name, 
                '''stares at the piece for a few seconds, trying to process''', 
                '''just how or why anyone would ever make something so''', 
                '''patently useless out of valuable steel. Then, remembering''',
                '''a lecture given to''', himher(universal.state.player), 
                '''by Nana about trusting just''', hisher(universal.state.player), '''eyes,''', 
                heshe(universal.state.player), '''studies it with''', hisher(universal.state.player), 
                '''more magical senses.''', HisHer(universal.state.player), 
                '''eyes widen. Useless nothing, the enchantments on that armor''',
                '''make it as protective as mail, and a hundredth as''',
                '''heavy. Whoever made that was cursed good at enchanting''', 
                '''equipment.'''],
                ['''However, there is something odd about the enchantment.''', 
                '''Peering more closely,''', universal.state.player.name, '''realizes that the''', 
                '''strength of the enchantment is based on the force of a blow.''',
                '''If the force being exerted is enough to break skin,''', 
                '''bones, etc. (basically enough to trigger one's health)''', 
                '''then the enchantment springs into full force. If the''',
                '''force of the blow would only cause a little bruising, then''',
                '''the enchantment remains dormant. Basically, the magic would''',
                '''protect''', 
                universal.state.player.name, '''from a spear thrust, but not a spanking. Which''', 
                '''is unfortunate, because if Nana ever caught''', universal.state.player.name, 
                '''wearing such an absurd suit of armor, she'd put the young''',
                '''Taironan over her knee so fast it'd double as the invention''',
                '''of a new haste spell.''']]))
        wesleyAndAnnesArmorShop.description = universal.format_text([wesleyAndAnnesArmorShop.description, 
            ['''The proprietor of the shop hussles out of the backroom.''',
            '''He is also clearly the smith; he's six feet tall, and has more muscles in one arm than''', 
            universal.state.player.name, '''has in''', hisher(universal.state.player), '''entire body. He has light skin,''',
            '''short-cropped''',
            '''dark brown hair, a trimmed beard, and blue eyes. He is wearing''',
            '''a thick leather apron, and a pair of heavily patched trousers.''']])
    wesleyAndAnnesArmorShop.after_arrival = None
    townmode.town_mode()
def thereses_tailors_after_arrival():
    theresesTailors = universal.state.get_room("Therese's Tailors")
    if 'visited_tailors' not in universal.state.player.keywords:
        theresesTailors.description = universal.format_text([[universal.state.player.name + "'s", '''eyes widen when''', 
            heshe(universal.state.player), '''enters the tailors.''', HeShe(universal.state.player) + "'d", 
            '''expected to find a small, mostly bare shop with a''', 
            '''couple of tailors taking custom orders, and maybe a few pieces of clothing''', 
            '''for demonstration purposes. What''', heshe(universal.state.player), '''finds instead is''',
            '''a large, open room with racks of clothing of all shapes and sizes.''', 
            '''Tunics and trousers hang on racks in the middle of the room. Dresses''',
            '''and skirts line the walls.''', universal.state.player.name, '''even notices in the back''',
            '''what appears to be a display rack for underwear of all sorts.''', 
            '''A variety of people, mostly women, move about the clothing racks.''', 
            '''They riffle through them, occasionally pulling something''', 
            '''off the shelves and holding it against themselves or their''', 
            '''companion.''', universal.state.player.name, '''also notices several people who appear to''',
            '''be workers. They move about the racks, reorganizing, and''',
            '''rehanging clothing, while keeping an eye on the various customers.''',
            '''One in particular, a woman about''', universal.state.player.name + "'s", '''age, watches''',
            universal.state.player.name, '''out of the corner of her eye.'''], 
            ['''The young woman has light brown hair pulled back into a single long''',
                '''braid, and light brown eyes. She is wearing a light red tunic''',
                '''emblazoned on the right chest with a pair of crossed needles, and''',
                '''a matching knee-length skirt.''']])
    else:
        theresesTailors.description = universal.format_line([
            '''Tunics and trousers hang on racks in the middle of the room. Dresses''',
            '''and skirts line the walls.''', universal.state.player.name, '''even notices in the back''',
            '''what appears to be a display rack for underwear of all sorts.''', 
            '''A variety of people, mostly women, move about the clothing racks.''', 
            '''They riffle through them, occasionally pulling something''', 
            '''off the shelves and holding it against themselves or their''', 
            '''companion.''', universal.state.player.name, '''also notices several people who appear to''',
            '''be workers. They move about the racks, reorganizing, and''',
            '''rehanging clothing, while keeping an eye on the various customers.''',
            '''One in particular, a woman about''', universal.state.player.name + "'s", '''age, watches''',
            universal.state.player.name, '''out of the corner of her eye.'''])
    theresesTailors.after_arrival = None
    townmode.town_mode()
Example #5
0
def end_content_mode():
    universal.say(universal.format_line(['''That's the end of the content, I hope you've enjoyed playing this far. If you have any comments, criticisms, questions, bug reports, or anything else, either comment on my blog''',
            '''spankingrpgs.blogspot.com, or send me an e-mail at [email protected] (please post bug reports on the blog however, so that others can see them). Criticisms are welcome, however please keep them constructive. Saying "This game''',
            '''sucks!" tells me nothing except that you didn't like it. Saying "Your combat system felt unbalanced. The magic was way too powerful." tells  me much much more.''']), justification=0)
    universal.set_commands(['(Esc) To exit'])
    universal.set_command_interpreter(quit_interpreter)
Example #6
0
        price=5, tightness=items.LOOSE)

miniSkirt = items.Skirt('miniskirt', 'A tight leather skirt that extends about halfway down the thigh.', 
        price=5, risque=2, tightness=items.TIGHT)

pencilSkirt = items.Skirt('pencil skirt', 'A narrow, black skirt that extends just past the knees. The skirt has a slit in back to minimize movement restriction.',
        price=5, risque=1, tightness=items.TIGHT)

alondrasSkirt = items.Skirt("Alondra's Skirt", "A plain wool skirt belonging to Alondra", price=0, risque=0, tightness=items.LOOSE)

skirtRags = items.Skirt('skirt rags', 'The remnants of a skirt. Can be wrapped around the waist for something approximating clothing, or sold for a few coins.',
        price=3, risque=3, tightness=items.LOOSE)


#------------------------------------items.Underwear-------------------------------------
modestUnderwear = items.Underwear("underwear", universal.format_line(['A plain, modest pair of underwear that', 'covers the entire bottom.']), price=3)

silkPanties = items.Underwear('silk panties', universal.format_line(["A very well-made and comfortable pair of",
    "black silk panties that leave the lower-half of one's bottom exposed."]), price=50, baring=True, risque=5)

underShorts = items.Underwear('undershorts', universal.format_line(['A pair of shorts that extend about a quarter',
    'of the way down the thigh. Such shorts are often worn underneath skirts to better protect', 
    'a woman\'s modesty. Particularly useful if she tends to engage in acrobatics (combat related',
    'or otherwise).']), price=3)

thong = items.Thong('thong', ' '.join(['An undergarment that covers the genitalia, but leaves the',
    'bottom bare (except for a narrow strip of cloth that runs between the cheeks).']), price=3, risque=5)

carriesGString = items.Thong("Carrie's G-String", ' '.join(["A teeny tiny little pair of purple panties, consisting of a teeny tiny little string in the back. The front is barely more than that. Why",
    "anyone would even bother wearing underwear this tiny is a mystery for the ages."]), risque=6)
def update_armor_shop_description():
    wesleyAndAnnesArmorShop.description = universal.format_line(['''The shop consists of a single small room. A counter runs the length of the far wall. The shop consists of a single small room. A counter runs the length of the far wall. Hanging on the left wall are a variety of small metal things: nails, buckles, hinges, locks, horseshoes. The right side contains a few samples of larger tools: a large sickle, and a shovel. What really catches''', universal.state.player.name + "'s", '''attention is a 'suit' of chanmail hanging on the wall above the counter.''', universal.format_line(['''The armor is a two piece affair. The top looks like to be barely big enough to cover (for a sufficiently loose definition of 'cover')''', universal.state.player.name + "'s", '''breasts, while the bottom is a thong. A thong made out of chainmail.''' if universal.state.player.is_female() else '''The armor is a single, small thong, which is made out of chainmail.'''])])
def shrine_before_arrival():
    if (universal.state.player.currentEpisode == episode1.name and episode.allEpisodes[universal.state.player.currentEpisode].currentSceneIndex == 0 and 
    'second_hand_tragedy' in universal.state.player.keywords):
        universal.say(universal.format_line([name(), 'has no interest in going to the Matirian Church again any time soon.']))
        return False
    elif (universal.state.player.currentEpisode == episode1.name and episode.allEpisodes[universal.state.player.currentEpisode].currentSceneIndex == 2 and 
    'finished_night_on_town' in keywords()):
        universal.say(universal.format_line([name(), '''has nothing more to do in the Shrine.''', HeShe(), '''should probably find a bed.''']), justification=0)
    else:
        return True

shrine.before_arrival = shrine_before_arrival
shrine.add_adjacent(avaricumSquare) 

orphanage = townmode.Room('Orphanage', universal.format_line(["The orphanage is a dizzying maze of twisting hallways. Children sprint through the hallways, gasping and laughing, playing hide and seek, tag, and countless other games. About a dozen Younger Brothers and Sisters in light blue, and students in light grey run after the children. In the center of the orphanage is a large dining hall. Two dozen or so children are crowded around an older woman sitting in the corner telling a story. Sitting in the center of the hall is a woman in her mid forties. She is wearing a dark red robe, which denotes her rank as a Sister of the Spectral Persuasion. She has light brown shoulder-length hair with a hint of grey, and pale skin. Her hair is pulled back into a complex braid. She is of average height, but carries herself with a level of",
                '''confidence and conviction that makes her appear taller. Crows feet spread out from her blue eyes. Her eyes flick all over the dining room, keeping an eye on the children and Younger Brothers and Sisters both. At the same time, she braids the hair of a young girl to match her own.''']), bgMusic=pwutilities.LIGHT_HEARTED, bgMusicName="pwutilities.LIGHT_HEARTED")

#orphanage.add_adjacent(shrine)

hospital = townmode.Room('Hospital', "The hospital is a busy, but somber place. People afflicted with various diseases and injuries (crookedly healed bones appearing to be the most common) sit waiting to be treated. Brothers and Sisters in white walk back and forth, some disappearing into the patient rooms in the back, others speaking with those waiting, still others handing off paperwork to each other. Sitting behind a large desk at the back of the room is a woman about Elise's age. She is wearing the light grey robes of a student, and is hunched over some parchment, her forehead wrinkled in thought.", bgMusic=pwutilities.CHURCH, bgMusicName="pwutilities.CHURCH")

#hospital.add_adjacent(shrine)
hospital.add_adjacent(orphanage)

craftmansCorridor = townmode.Room("Craftman's Corridor", '''The Craftman's Corridor is almost as bustling as the main square, though the people here tend to be better dressed. Shops line the street on both sides, but only three of them are of any interest: the Adventurer's Guild, a smithy, and a tailor. The road continues to the northeast, snakes around the base of the hill upon which the Inner City sits, and eventually leads into the slums on the far eastern side.''') 
        
avaricumSquare.add_adjacent(craftmansCorridor)

wesleyAndAnnesArmorShop = townmode.Room("Wesley and Anne's Smithy", "", bgMusic=pwutilities.PETER, bgMusicName="pwutilities.PETER") 

def update_armor_shop_description():