def Business():
    roll = rng.randint(1, 20)
    emb = []
    emb += ['Alchemists and apothecaries.']
    emb += ['Armorers, locksmiths, and finesmiths.']
    emb += ['Brewers, distillers, and vintners.']
    emb += ['Calligraphers, scribes, and scriveners.']
    emb += ['Carpenters, roofers, and plasterers.']
    emb += ['Cartographers, surveyors, and chart-makers.']
    emb += ['Cobblers and shoemakers.']
    emb += ['Cooks and bakers']
    emb += ['Glassblowers and glaziers.']
    emb += ['Jewelers and gemcutters.']
    emb += ['Leatherworkers, skinners, and tanners.']
    emb += ['Masons and stonecutters.']
    emb += ['Painters, limners, and sign-makers.']
    emb += ['Potters and tile-makers.']
    emb += ['Shipwrights and sailmakers.']
    emb += ['Smiths and metal-forgers.']
    emb += ['Tinkers, pewterers, and casters.']
    emb += ['Wagon=makers and wheelwrights.']
    emb += ['Weavers and dyers.']
    emb += ['Woodcarvers, coopers, and bowyers.']
    return ('Guild Business:' + newLine + indentSpace +
            TableHelper.dTwentyTable(emb, roll) + newLine)
Example #2
0
def Instrument(roll):
    emb = []
    emb += ['A masterfully crafted halfling fiddle.']
    emb += ['A mithral horn made by elves.']
    emb += ['A zither made with drow spider silk.']
    emb += ['An orcish drum.']
    emb += ['A wooden bullywug croak box.']
    emb += ['A tinker\'s harp of gnomish design.']
    return TableHelper.dSixTable(emb, roll)
def Symbols(roll):
    emb = []
    emb += ['A dragon, emblematic of your nobility in peace and your ferocity in combat.']
    emb += ['A clenched fist, because you are always ready to fight for your beliefs.']
    emb += ['An upraised open hand, indicating your preference for diplomacy over combat.']
    emb += ['A red heart, showing the world your commitment to justice.']
    emb += ['A black heart, signifying that emotions such as pity do not sway your dedication to your oath.']
    emb += ['An unblinking eye, meaning that you are ever alert to all threats against your cause.']
    #
    return TableHelper.dSixTable(emb, roll)
Example #4
0
def BindingMark(roll):
    emb = []
    emb += ['One of your eyes looks the same as one of your patron\'s eyes.']
    emb += ['Each time you wake up, the small blemish on your face appears in a different place.']
    emb += ['You display outward symptoms of a disease but suffer no ill effects from it.']
    emb += ['Your tongue is an unnatural colour.']
    emb += ['You have a vestigial tail']
    emb += ['Your nose glows in the dark.']

    return TableHelper.dSixTable(emb, roll)
Example #5
0
def SpecialTerms(roll):
    emb = []
    emb += ['When directed, you must take immediate action against a specific enemy of your patron.']
    emb += ['Your pact tests your willpower; you are required to abstain from alcohol and other intoxicants.']
    emb += ['At least once a day, you must inscribe or carve your patron\'s name or symbol on the wall of a building.']
    emb += ['You must occasionally conduct bizarre rituals to maintain your pact.']
    emb += ['You can never wear the same outfit twice, since your patron finds such predictability to be boring.']
    emb += ['When you use an eldritch invocation, you must speak your patron\'s name aloud or risk incurring its displeasure.']
    
    return TableHelper.dSixTable(emb, roll)
Example #6
0
def PatronAttitudes(roll):
    emb = []
    emb += ['You patron has guided and helped your family for generations and is kindly toward you.']
    emb += ['Each interaction with your capricious patron is a surprise, whether pleasant or painful.']
    emb += ['Your patron is the spirit of a long-dead hero who sees your pact as a way for it to continue to influence the world.']
    emb += ['Your patron is a strict disciplinarian but treats you with a measure of respect.']
    emb += ['Your patron tricked you into a pact and treats you as a slave.']
    emb += ['You are mostly left to your own devices with no interference from your patron. Sometimes you dread the demands it will make when it does appear.']

    return TableHelper.dSixTable(emb, roll)
def ClassTraining(roll):
    emb = []
    emb += ['a fantastical being appeared before you and called on you to undertake a holy quest.']
    emb += ['one of your ancestors left a holy quest unfulfilled, so you intend to finish that work.']
    emb += ['the world is a dark and terrible place. You decided to serve as a beacon of light shining out against the gathering shadows.']
    emb += ['you served as a paladin\'s squire, learning all you needed to swear your own sacred oath.']
    emb += ['evil must be opposed on all fronts. You feel compelled to seek out wickedness and purge it from the world.']
    emb += ['becoming a paladin was a natural consequence of your unwavering faith. In taking your vows, you became the holy sword of your religion.']
    result = 'You became a paladin because ' + TableHelper.dSixTable(emb, roll) + lineBreak
    return result
def Temptations(roll):
    emb = []
    emb += ['Fury. When your anger is roused, you have trouble thinking straight, and you fear you might do something you\'ll regret.']
    emb += ['Pride. Your deeds are noteworthy, and no one takes note of them more often than you.']
    emb += ['Lust. You can\'t resist an attractive face and a pleasant smile.']
    emb += ['Envy. You are mindful of what some famous folk have accomplished, and you feel inadequate when your deeds don\'t compare to theirs.']
    emb += ['Despair. You consider the great strength of the enemies you must defeat, and at times you see no way to achieve final victory.']
    emb += ['Greed. Regardless of how much glory and treasure you amass, it\'s never enough for you.']
    #
    return TableHelper.dSixTable(emb, roll)    
Example #9
0
def GuiltyPleasures(roll):
    emb = []
    emb += ['Large gems.']
    emb += ['A smile from a pretty face.']
    emb += ['A new ring for your finger.']
    emb += ['The chance to deflate someone\'s ego.']
    emb += ['The finest food and drink.']
    emb += ['Adding to your collection of exotic coins.']
    #
    return TableHelper.dSixTable(emb, roll)
Example #10
0
def Adversaries(roll):
    emb = []
    emb += ['The pirate captain on whose ship you once served; what you call moving on, the captain calls mutiny.']
    emb += ['A master spy to whom you unwittingly fed bad information, which led to the assassination of the wrong target.']
    emb += ['The master of the local thieves\' guild, who wants you to join the organization or leave town.']
    emb += ['An art collector who uses illegal means to acquire masterpieces.']
    emb += ['A fence who uses you as a messenger to set up illicit meetings.']
    emb += ['The proprietor of an illegal pit fighting arena where you once took bets.']
    #
    return TableHelper.dSixTable(emb, roll)
def Decision():
    roll = rng.randint(1,6)
    emb = []
    emb += ['I learned what was right and wrong from my family.']
    emb += ['I was always enamored by tales of heroes and wished I could be something more than ordinary.']
    emb += ['I hated my mundane life, so when it was time for someone to step up and do the right thing, I took my chance.']
    emb += ['a parent or one of my relatives was an adventurer, and I was inspired by that person\'s courage.']
    emb += ['a mad old hermit spoke a prophecy when I was born, saying that I would accomplish great things.']
    emb += ['I have always stood up for those who are weaker than I am.']
    return ('I became a folk hero because ' + TableHelper.dSixTable(emb, roll) + newLine)
Example #12
0
def Benefactors(roll):
    emb = []
    emb += ['A smuggler kept you from getting caught but lost a valuable shipment in doing so. Now you owe that person an equally valuable favor.']
    emb += ['The Beggar King has hidden you from your pursuers many times, in return for future considerations.']
    emb += ['A magistrate once kept you out of jail in return for information on a powerful crime lord.']
    emb += ['Your parents used their savings to bail you out of trouble in your younger days and are now destitute.']
    emb += ['A dragon didn\'t eat you when it had a chance, and in return you promised to set aside choice pieces of treasure for it']
    emb += ['A druid once helped you out of a tight spot; now any random animal you see could be that benefactor, perhaps come to claim a return favor.']
    #
    return TableHelper.dSixTable(emb, roll)
Example #13
0
def ClassTraining(roll):
    emb = []
    emb += ['you have always been nimble and quick of wit, so you decided to use those talents to help you make your way in the world.']
    emb += ['an assassin or a thief wronged you, so you focused your training on mastering the skills of your enemy to better combat foes of that sort.']
    emb += ['an experienced rogue saw something in you and taught you several useful tricks.']
    emb += ['you decided to turn your natural lucky streak into the basis of a career, though you still realize that improving your skills is essential.']
    emb += ['you took up with a group of ruffians who showed you how to get what you want through sneakiness rather than direct confrontation.']
    emb += ['you are a sucker for a shiny bauble or a sack of coins, as long as you can get your hands on it without risking life and limb.']
    result = 'You became a rogue because ' + TableHelper.dSixTable(emb, roll) + lineBreak
    return result
def Decision():
    roll = rng.randint(1,6)
    emb = []
    emb += ['I resented authority in my younger days and saw a life of crime as the best way to fight against tyranny and oppression.']
    emb += ['necessity forced me to take up the life, since it was the only way I could survive.']
    emb += ['I fell in with a gang of reprobates and ne\'er-do-wells, and I learned my specialty from them.']
    emb += ['a parent or relative taught me my criminal specialty to prepare me for the family business.']
    emb += ['I left home and found a place in a thieves\' guild or some other criminal organization.']
    emb += ['I was always bored, so I turned to crime to pass the time and discovered I was quite good at it.']
    return ('I became a criminal because ' + TableHelper.dSixTable(emb, roll) + newLine)
Example #15
0
def PersonalGoals(roll):
    emb = []
    emb += ['Peace. You fight so that future generations will not have to.']
    emb += ['Revenge. Your oath is the vehicle through which you will right an ancient wrong.']
    emb += ['Duty. You will live up to what you have sworn to do, or die trying.']
    emb += ['Leadership. You will win a great battle that bards will sing about, and in so doing, you will become an example to inspire others.']
    emb += ['Faith. You know your path is righteous, or else the gods would not have set you upon it. ']
    emb += ['Glory. You will lead the world into a grand new era, one that will be branded with your name.']
    #
    return TableHelper.dSixTable(emb, roll)
Example #16
0
def Nemesis(roll):
    emb = []
    emb += ['A mighty orc war chief who threatens to overrun and destroy everything you hold sacred.']
    emb += ['A fiend or a celestial, the agent of a power of the Outer Planes, who has been charged with corrupting or redeeming you, as appropriate.']
    emb += ['A dragon whose servants dog your steps.']
    emb += ['A high priest who sees you as a misguided fool and wants you to abandon your religion.']
    emb += ['A rival paladin who trained with you but became an oath-breaker and holds you responsible.']
    emb += ['A vampire who has sworn revenge against all paladins after being defeated by one.']
    #
    return TableHelper.dSixTable(emb, roll)
def Traits(emb):
    r1 = rng.randint(1, 8)
    r2 = rng.randint(1, 8)
    while r2 == r1:
        r2 = rng.randint(1, 8)
    rolls = [r1, r2]
    result = TableHelper.XdEightTable(emb, rolls)
    ret = 'Trait:' + newLine
    ret += indentSpace + result[0] + newLine
    ret += indentSpace + result[1] + newLine
    return ret
Example #18
0
def ClassTraining(roll):
    emb = []
    emb += ['while wandering around in a forbidden place, you encountered an otherworldly being that offered to enter into a pact with you.']
    emb += ['you were examining a strange tome you found in an abandoned library when the entity that would become your patron suddenly appeared before you.']
    emb += ['you stumbled into the clutches of your patron after you accidentally stepped through a magical doorway.']
    emb += ['when you were faced with a terrible crisis, you prayed to any being who would listen, and the creature that answered became your patron.']
    emb += ['your fututre patron visited you in your dreams and offered great power in exchange for your service.']
    emb += ['one of your ancestors had a pact with your patron, so that entity was determined to bind you to the same agreement.']

    result =  'You became a warlock because ' + TableHelper.dSixTable(emb, roll) + lineBreak
    return result
Example #19
0
def SupernaturalMarks(roll):
    emb = []
    emb += ['Your eyes are an unusual colour, such as red.']
    emb += ['You have an extra toe on one foot.']
    emb += ['One of your ears is noticeably larger than the other.']
    emb += ['Your hair grows at a prodigious rate.']
    emb += ['You wrinkle your nose repeatedly while you are chewing.']
    emb += [
        'A red splotch appears on your neck once a day, then vanishes after an hour.'
    ]

    return TableHelper.dSixTable(emb, roll)
Example #20
0
def TreasuredItems(roll):
    emb = []
    emb += [
        'A twig from the meeting tree that stands in the center of your village.'
    ]
    emb += ['A vial of water from the source of a sacred river.']
    emb += ['Special herbs tied together in a bundle.']
    emb += ['A small bronze bowl engraved with animal images.']
    emb += ['A rattle made from a dried gourd and holly berries.']
    emb += ['A miniature golden sickle handed down to you by your mentor.']

    return TableHelper.dSixTable(emb, roll)
def Specialty():
    emb = []
    roll = rng.randint(1,8)
    emb += ['Blackmailer']
    emb += ['Burglar']
    emb += ['Enforcer']
    emb += ['Fence']
    emb += ['Highway robber']
    emb += ['Hired killer']
    emb += ['Pickpocket']
    emb += ['Smuggler']
    return ('Criminal Specialty:' + newLine + indentSpace +TableHelper.dEightTable(emb, roll) + newLine)
Example #22
0
def Specialty():
    roll = rng.randint(1, 8)
    emb = []
    emb += ['Officer']
    emb += ['Scout']
    emb += ['Infantry']
    emb += ['Cavalry']
    emb += ['Healer']
    emb += ['Quartermaster']
    emb += ['Standard bearer']
    emb += ['Support staff (cook, blacksmith, or the like)']
    return ('Specialty:' + newLine + indentSpace +
            TableHelper.dEightTable(emb, roll) + newLine)
Example #23
0
def Specialty():
    roll = rng.randint(1, 8)
    emb = []
    emb += ['Alchemist']
    emb += ['Astronomer']
    emb += ['Discredited academic']
    emb += ['Librarian']
    emb += ['Professor']
    emb += ['Researcher']
    emb += ['Wizard\'s apprentice']
    emb += ['Scribe']
    return ('Specialty:' + newLine + indentSpace +
            TableHelper.dEightTable(emb, roll) + newLine)
def DefiningEvent():
    roll = rng.randint(1,10)
    emb = []
    emb += ['I stood up to a tyrant\'s agents.']
    emb += ['I saved people during a natural disaster.']
    emb += ['I stood alone against a terrible monster.']
    emb += ['I stole from a corrupt merchant to help the poor.']
    emb += ['I led a militia to fight off an invading army.']
    emb += ['I broke into a tyrant\'s castle and stole weapons to arm the people.']
    emb += ['I trained the peasantry to use farm implements as weapons against a tyrant\'s soldiers.']
    emb += ['A lord rescinded an unpopular decree after I led a symbolic act of protect against it.']
    emb += ['A celestial, fey, or similar creature gave me a blessing or revealed my secret origin.']
    emb += ['Recruited into a lord\'s army, I rose to leadership and was commended for my heroism.']
    return ('Defining Event:' + newLine + TableHelper.dTenTable(emb, roll) + newLine)
Example #25
0
def Keepsake(roll):
    emb = []
    emb += ['The finger bone of a saint.']
    emb += [
        'A metal-bound book that tells how to hunt and destroy infernal creatures.'
    ]
    emb += [
        'A pig\'s whistle that reminds you of your humble and beloved mentor.'
    ]
    emb += ['A braid of hair woven from the tail of a unicorn.']
    emb += [
        'A scroll that describes how best to rid the world of necromancers.'
    ]
    emb += ['A runestone said to be blessed by your god.']
    return TableHelper.dSixTable(emb, roll)
Example #26
0
def Schemes():
    roll = rng.randint(1, 6)
    emb = []
    emb += ['I cheat at games of chance.']
    emb += ['I shave coins or forget documents.']
    emb += [
        'I insinuate myself into people\'s lives to prey on their weakness and secure their fortunes.'
    ]
    emb += ['I put on new identities like clothes.']
    emb += ['I run sleight-of-hand cons on street corners.']
    emb += [
        'I convince people that worthless junk is worth their hard-earned money.'
    ]
    return ('Favorite Scheme:' + newLine + indentSpace +
            TableHelper.dSixTable(emb, roll) + newLine)
def Origin():
    roll = rng.randint(1, 10)
    emb = []
    emb += ['Forester']
    emb += ['Trapper']
    emb += ['Homesteader']
    emb += ['Guide']
    emb += ['Exile or outcast']
    emb += ['Bounty hunter']
    emb += ['Pilgrim']
    emb += ['Tribal Nomad']
    emb += ['Hunter-gatherer']
    emb += ['Tribal marauder']
    return ('Origin:' + newLine + indentSpace +
            TableHelper.dTenTable(emb, roll) + newLine)
def Routines():
    roll = rng.randint(1, 10)
    emb = []
    emb += ['Actor']
    emb += ['Dancer']
    emb += ['Fire-eater']
    emb += ['Jester']
    emb += ['Juggler']
    emb += ['Instrumentalist']
    emb += ['Poet']
    emb += ['Singer']
    emb += ['Storyteller']
    emb += ['Tumbler']
    return ('Entertainer Routine:' + newLine + indentSpace +
            TableHelper.dTenTable(emb, roll) + newLine)
def Tattoos(roll):
    emb = []
    emb += ['The wings of an eagle are spread wide across your upper back.']
    emb += ['Etched on the backs of your hands are the paws of a cave bear.']
    emb += [
        'The symbols of your clan are displayed in viny patterns along your arms.'
    ]
    emb += ['The antlers of an elk are inked across your back.']
    emb += [
        'Images of your spirit animal are tattooed along your weapon arm and hand.'
    ]
    emb += [
        'The eyes of a wolf are marked on your back to help yu see and ward off evil spirits.'
    ]
    return TableHelper.dSixTable(emb, roll)
Example #30
0
def Ambition(roll):
    emb = []
    emb += [
        'You will prove that the gods aren\'t as powerful as folk believe.'
    ]
    emb += ['Immortality is the end goal of your studies.']
    emb += [
        'If you can fully understand magic, you can unlock its use for all and usher in an era of equality.'
    ]
    emb += [
        'Magic is a dangerous tool. You use it to protect what you treasure.'
    ]
    emb += ['Arcane power must be taken away from those who would abuse it.']
    emb += [
        'You will become the greatest wizard the world has seen in generations.'
    ]
    return TableHelper.dSixTable(emb, roll)