├── .gitignore ├── Character Details └── Background │ ├── Acolyte │ ├── Bond.txt │ ├── Flaw.txt │ ├── Ideal.txt │ ├── Personality Trait.txt │ └── Stuff.txt │ ├── Charlatan │ ├── Bond.txt │ ├── Flaw.txt │ ├── Ideal.txt │ ├── Personality Trait.txt │ └── Stuff.txt │ ├── Criminal │ ├── Bond.txt │ ├── Flaw.txt │ ├── Ideal.txt │ ├── Personality Trait.txt │ └── Stuff.txt │ ├── Entertainer │ ├── Bond.txt │ ├── Flaw.txt │ ├── Ideal.txt │ ├── Personality Trait.txt │ └── Stuff.txt │ ├── Folk Hero │ ├── Bond.txt │ ├── Flaw.txt │ ├── Ideal.txt │ ├── Personality Trait.txt │ └── Stuff.txt │ ├── Guild Artisan │ ├── Bond.txt │ ├── Flaw.txt │ ├── Ideal.txt │ ├── Personality Trait.txt │ └── Stuff.txt │ ├── Hermit │ ├── Bond.txt │ ├── Flaw.txt │ ├── Ideal.txt │ ├── Personality Trait.txt │ └── Stuff.txt │ ├── Noble │ ├── Bond.txt │ ├── Flaw.txt │ ├── Ideal.txt │ ├── Personality Trait.txt │ └── Stuff.txt │ ├── Outlander │ ├── Bond.txt │ ├── Flaw.txt │ ├── Ideal.txt │ ├── Personality Trait.txt │ └── Stuff.txt │ ├── Sage │ ├── Bond.txt │ ├── Flaw.txt │ ├── Ideal.txt │ ├── Personality Trait.txt │ └── Stuff.txt │ ├── Sailor │ ├── Bond.txt │ ├── Flaw.txt │ ├── Ideal.txt │ ├── Personality Trait.txt │ └── Stuff.txt │ ├── Soldier │ ├── Bond.txt │ ├── Flaw.txt │ ├── Ideal.txt │ ├── Personality Trait.txt │ └── Stuff.txt │ ├── Urchin │ ├── Bond.txt │ ├── Flaw.txt │ ├── Ideal.txt │ ├── Personality Trait.txt │ └── Urchin.txt │ └── legend.txt ├── Monsters By CR.txt ├── Plots.txt ├── README.md ├── characterSheet.py ├── environment.py ├── json ├── alignment.json ├── backgrounds.json ├── classes.json └── races.json ├── one_shot_generator.py ├── plot.py ├── requirements.txt └── templates ├── home.html ├── includes └── _coverpage.html ├── index.css ├── index.html └── layout.html /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled source # 2 | ################### 3 | *.com 4 | *.class 5 | *.dll 6 | *.exe 7 | *.o 8 | *.so 9 | *.pyc 10 | 11 | # Packages # 12 | ############ 13 | # it's better to unpack these files and commit the raw source 14 | # git has its own built in compression methods 15 | *.7z 16 | *.dmg 17 | *.gz 18 | *.iso 19 | *.jar 20 | *.rar 21 | *.tar 22 | *.zip 23 | 24 | # Logs and databases # 25 | ###################### 26 | *.log 27 | *.sql 28 | *.sqlite 29 | 30 | # OS generated files # 31 | ###################### 32 | .DS_Store 33 | .DS_Store? 34 | ._* 35 | .Spotlight-V100 36 | .Trashes 37 | .idea 38 | ehthumbs.db 39 | Thumbs.db -------------------------------------------------------------------------------- /Character Details/Background/Acolyte/Bond.txt: -------------------------------------------------------------------------------- 1 | 1. I would die to recover an ancient relic of my faith that was lost long ago. 2 | 2. I will someday get revenge on the corrupt temple hierarchy who branded me a heretic. 3 | 3. I owe my life to the priest who took me in when my parents died. 4 | 4. Everything I do is for the common people. 5 | 5. I will do anything to protect the temple where I served. 6 | 6. I seek to preserve a sacred text that my enemies consider heretical and seek to destroy. -------------------------------------------------------------------------------- /Character Details/Background/Acolyte/Flaw.txt: -------------------------------------------------------------------------------- 1 | 1. I judge others harshly, and myself even more severely. 2 | 2. I put too much trust in those who wield power within my temple's hierarchy. 3 | 3. My piety sometimes leads me to blindly trust those that profess faith in my god. 4 | 4. Iam inflexible in my thinking. 5 | 5. I am suspicious of strangers and expect the worst of them. 6 | 6. Once I pick a goal, I become obsessed with it to the detriment of everything else in my life. -------------------------------------------------------------------------------- /Character Details/Background/Acolyte/Ideal.txt: -------------------------------------------------------------------------------- 1 | Lawful - Tradition. the ancient traditions of worship and sacrifice must be preserved and upheld. 2 | Good - Charity. I always try to help those in need, no matter what the personal cost. 3 | Chaotic - Change. We must help bring about the changes the gods are constantly working in the world. 4 | Lawful - Power. I hope to one day rise to the top of my faith's religious hierarchy. 5 | Lawful - Faith. I trust that my deity will guide my actions. I have faith that if I work hard, things will go well. 6 | Any - Aspiration. I seek to prove myself worthy of my god's favor by matching my actions against his or her teachings. -------------------------------------------------------------------------------- /Character Details/Background/Acolyte/Personality Trait.txt: -------------------------------------------------------------------------------- 1 | 1. I idolize a parlicular hero of my faith, and constantly refer to Ihat person's deeds and example 2 | 2. I can find common ground between the fiercest enemies, empathizing with them and always working toward peace. 3 | 3. I see omens in every event and action. the gods try to speak to us, we just need lo listen 4 | 4. Nothing can shake my optimistic attitude. 5 | 5. I quote (or misquote) sacred texts and proverbs in almost every situation. 6 | 6. I am tolerant (or intolerant) of other faiths and respect (or condemn) the worship of other gods. 7 | 7. I've enjoyed fine food, drink, and high society among my temple's elite. Rough living grates on me. 8 | 8. I've spent so long in the temple that I have little practical experience dealing with people in the outside world. -------------------------------------------------------------------------------- /Character Details/Background/Acolyte/Stuff.txt: -------------------------------------------------------------------------------- 1 | proficiency Insight Religion 2 | language random 2 abyssal aquan auran celestial common draconic druidic dwarvish elvish giant gnomish goblin gnoll halfing ignan infernal orc primordial sylvan terran undercommon 3 | equipment: Holy Symbol, prayer book, 5 sticks of incense, vestments, a set of common clothes 4 | gold gp 15 -------------------------------------------------------------------------------- /Character Details/Background/Charlatan/Bond.txt: -------------------------------------------------------------------------------- 1 | 1. I fleeced the wrong person and must work to ensure that this individual never crosses paths with me or those I care about. 2 | 2. I owe everything to my mentor-a horrible person who's probably rotting in jail somewhere. 3 | 3. Somewhere out there, I have a child who doesn't know me. I'm making the world better for him or her. 4 | 4. I come from a noble family, and one day I'll reclaim my lands and title from those who stole them from me. 5 | 5. A powerful person killed someone I love. Some day soon, I'll have my revenge. 6 | 6 I swindled and ruined a person who didn't deserve it. I seek to atone for my misdeeds but might never be able to forgive myself. -------------------------------------------------------------------------------- /Character Details/Background/Charlatan/Flaw.txt: -------------------------------------------------------------------------------- 1 | 1. I can't resist a pretty face. 2 | 2. I'm always in debt. I spend my ill gotten gains on decadent luxuries faster than I bring them in.. 3 | 3. I'm convinced that no one could ever fool me the way I fool others. 4 | 4. I'm too greedy for my own good. I can't resist taking a risk if there's money involved. 5 | 5. I can't resist swindling people who are more powerful than me. 6 | 6. I hate to admit it and will hate myself for it, but I'll run and preserve my own hide if the going gets tough -------------------------------------------------------------------------------- /Character Details/Background/Charlatan/Ideal.txt: -------------------------------------------------------------------------------- 1 | Chaotic - Independence. I am a free spirit-no one tells me what to do. 2 | Lawful - Fairness. I never target people who can't afford to lose a few coins. 3 | Good - Charity. I distribute the money I acquire to the people who really need it. 4 | Chaotic - Creativity. I never run the same con twice. 5 | Good - Friendship. Material goods come and go. Bonds of friendship last forever. 6 | Any - Aspiration. I'm determined to make something of myself. -------------------------------------------------------------------------------- /Character Details/Background/Charlatan/Personality Trait.txt: -------------------------------------------------------------------------------- 1 | 1. I fall in and out of love easily, and am always pursuing someone. 2 | 2. I have a joke for every occasion, especially occasions where humor is inappropriate. 3 | 3. Flattery is my preferred trick for getting what I want 4 | 4. I'm a born gambler who can't resist taking a risk for a potential payoff. 5 | 5. I lie about almost everything. even when there's no good reason to. 6 | 6. Sarcasm and insults are my weapons of choice. 7 | 7. I keep multiple holy symbols on me and invoke whatever deity might come in useful at any given moment. 8 | 8. I pocket anything I see that might have some value. -------------------------------------------------------------------------------- /Character Details/Background/Charlatan/Stuff.txt: -------------------------------------------------------------------------------- 1 | proficiency Deception Sleight of Hand 2 | toolProficiency Disguise kit, Forgery kit 3 | equipment fine clothes, disguise kit, tools (ten stoppered bottles filled witth marked cards, or a weighted dice, a deck of marked cards) 4 | gold gp 15 -------------------------------------------------------------------------------- /Character Details/Background/Criminal/Bond.txt: -------------------------------------------------------------------------------- 1 | 1. I'm trying to pay off an old debt I owe to a generous benefaetor. 2 | 2. My ill gotten gains go to support my family. 3 | 3. Something important was taken from me, and I aim to sleal it back. 4 | 4. I will become the greatest thief that ever lived. 5 | 5. I'm guilty of a terrible crime. I hope I can redeem myself for it. 6 | 6. Someone I loved died beeause of I mistake I made. That will never happen again. -------------------------------------------------------------------------------- /Character Details/Background/Criminal/Flaw.txt: -------------------------------------------------------------------------------- 1 | 1. When I see something valuable, I can't think about anything but how to steal it. 2 | 2. When faced with a choice between money and my friends, I usually choose the money. 3 | 3. If there's a plan, I'll forget it. If I don't forget it, I'll ignore it. 4 | 4. I have a "tell" that reveals when I'm lying. 5 | 5. I turn tail and run when things look bad. 6 | 6. An innocent person is in prison for a crime that I committed. I'm okay with that. -------------------------------------------------------------------------------- /Character Details/Background/Criminal/Ideal.txt: -------------------------------------------------------------------------------- 1 | Lawful - Honor. I don't steal from others in the trade. 2 | Chaotic - Freedom. chains are meant to be broken, as are those who would forge them. 3 | Good - Charity. I steal from the wealthy so that I can help people in need. 4 | Evil - Greed. I will do whatever it takes to become wealthy. 5 | Neutral - People. I'm loyal to my friends, not to any ideals, and everyone else ean lake a trip down the Styx for all I care. 6 | Good - Redemption. There's a spark of good in everyone. 7 | -------------------------------------------------------------------------------- /Character Details/Background/Criminal/Personality Trait.txt: -------------------------------------------------------------------------------- 1 | 1. I always have a plan for what to do when things go wrong. 2 | 2. I am always calm, no matter what the situation. I never raise my voice or let my emotions control me. 3 | 3. The first thing I do in a new place is note the locations of everything valuable-or where such things would be hidden. 4 | 4. I would rather make a new friend than a new enemy. 5 | 5. I am incredibly slow to trust. Those who seem the fairest often have the most to hide. 6 | 6. I don't pay attention to the risks in a situation. Never tell me the odds. 7 | 7. The best way to get me to do something is to tell me I can't do it. 8 | 8. I blow up at the slightest insult. -------------------------------------------------------------------------------- /Character Details/Background/Criminal/Stuff.txt: -------------------------------------------------------------------------------- 1 | proficiency Deception Stealth 2 | toolProficiency Dice Set, Playing card Set, thieve's tools 3 | equipment crowbar, dark common clothes + hood 4 | gold gp 15 -------------------------------------------------------------------------------- /Character Details/Background/Entertainer/Bond.txt: -------------------------------------------------------------------------------- 1 | 1 My instrument is my most treasured possession, and it reminds me of someone I love. 2 | 2 Someone slole my precious instrument, and someday I'll get il back. 3 | 3. I want to be famous, whatever it takes. 4 | 4. I idolize a hero of the old tales and measure my deeds against that person's. 5 | 5. I will do anything to prove myself superior to my hated rival. 6 | 6. I would do anything for the other members of my old troupe. -------------------------------------------------------------------------------- /Character Details/Background/Entertainer/Flaw.txt: -------------------------------------------------------------------------------- 1 | 1. I'll do anything to win fame and renown. 2 | 2. I'm a sucker for a pretty face. 3 | 3. A scandal prevents me from ever going home again. that kind of trouble seems to follow me around. 4 | 4. I once satirized a noble who still wants my head. It was a mistake that I will likely repeal. 5 | 5. I have trouble keeping my true feelings hidden. My sharp tongue lands me in trouble. 6 | 6. Despile my best efforts, I am unreliable to my friends. -------------------------------------------------------------------------------- /Character Details/Background/Entertainer/Ideal.txt: -------------------------------------------------------------------------------- 1 | Good - Beauty. When I perform, I make the world better than it was. 2 | Lawful - Tradition. the stories, legends, and songs of the past must never be forgotten, for they teach us who we are. 3 | Chaotic - Creativity. the world is in need of new ideas and bold action. 4 | Evil - Greed. I'm only in it for the money and fame. 5 | Neutral - People. I like seeing the smiles on people's faces when I perform. that's all that matters. 6 | Any - Honesty. Art should reflect the soul; it should come from within and reveal who we really are. -------------------------------------------------------------------------------- /Character Details/Background/Entertainer/Personality Trait.txt: -------------------------------------------------------------------------------- 1 | 1. I know a story relevant to almost every situation. 2 | 2. Whenever I come to a new place, I collect local rumors and spread gossip. 3 | 3. I'm a hopeless romantic, always searching for that special someone. 4 | 4. Nobody stays angry at me or around me for long, since I can defuse any amount of tension. 5 | 5. I love a good insult, even one directed at me. 6 | 6. I get bitter if I'm not the center of attention. 7 | 7. I'll settle for nothing less than perfection. 8 | 8. I change my mood or my mind as quickly as I change key in a song. -------------------------------------------------------------------------------- /Character Details/Background/Entertainer/Stuff.txt: -------------------------------------------------------------------------------- 1 | proficiency Acrobatics Performance 2 | toolProficiency Disguise kit 3 | musical Bagpipes Drum Dulcimer Flute Lute Lyre Horn Shawm Viol 4 | equipment Love Letter, lock of hair, costume 5 | gold gp 15 -------------------------------------------------------------------------------- /Character Details/Background/Folk Hero/Bond.txt: -------------------------------------------------------------------------------- 1 | 1. I have a family, but I have no idea where they are. One day, I hope to see them again. 2 | 2. I worked the land, I love the land, and I will protect the land. 3 | 3. A proud noble once gave me a horrible beating, and I will take my revenge on any bully I encounter. 4 | 4. My tools are symbols of my pastlife, and I carry them 50 that I will never forget my roots. 5 | 5. I protect those who cannot protect themselves. 6 | 6. I wish my childhood sweetheart had come with me to pursue my destiny. -------------------------------------------------------------------------------- /Character Details/Background/Folk Hero/Flaw.txt: -------------------------------------------------------------------------------- 1 | 1. the tyrant who rules my land will stop at nothing to see me killed. 2 | 2. I'm convinced of the significance of my destiny, and blind to my shortcomings and the risk of failure. 3 | 3. the people who knew me when I was young know my shameful secret, so I can never go home again. 4 | 4. I have a weakness for the vices of the city, especially hard drink. 5 | 5. Secretly, I believe that things would be better if I were a tyrant lording over the land. 6 | 6. I have trouble trusting in my allies. -------------------------------------------------------------------------------- /Character Details/Background/Folk Hero/Ideal.txt: -------------------------------------------------------------------------------- 1 | Good - Respect. People deserve to be treated with dignity and respect. 2 | Lawful - Faimess. No one should get preferential treatment before the law, and no one is above the law. 3 | Chaotic - Freedom. tyrants must not be allowed to oppress the people. 4 | Evil - Might. If I become strong, I can take what I want - what I deserve. 5 | Neutral - Sincerity. there's no good in pretending to be something I'm not. 6 | Any - Destiny. Nothing and no one can steer me away from my higher calling. -------------------------------------------------------------------------------- /Character Details/Background/Folk Hero/Personality Trait.txt: -------------------------------------------------------------------------------- 1 | 1. I judge people by their aclions, not their words. 2 | 2. If someone is in trouble, I'm always ready to lend help. 3 | 3. When I set my mind to something, I follow through no matter what gets in my way. 4 | 4. I have a strong sense of fair play and always try to find the most equitable solution to arguments. 5 | 5. I'm confident in my own abilities and do what I can to instill confidence in others. 6 | 6. thinking is for other people. I prefer action. 7 | 7. I misuse long words in an attempt to sound smarter. 8 | 8. I get bored easily. When am I going to get on with my destiny? -------------------------------------------------------------------------------- /Character Details/Background/Folk Hero/Stuff.txt: -------------------------------------------------------------------------------- 1 | proficiency Animal Handling Survival 2 | toolProfiency Vehicle (land) 3 | artisan, Alchemist's supplies, Brewer's supplies,carpenter's tools,cobbler's tools,cook's utensils,Glassblower's tools,Jeweler's tools,Leatherworker's tools,Mason's tools,painter's supplies,potter's tools,smith's tools,tinker's tools, weaver's tools,woodcarver's tools 4 | equipment shovel, iron pot, set of common clothes 5 | gold gp 10 -------------------------------------------------------------------------------- /Character Details/Background/Guild Artisan/Bond.txt: -------------------------------------------------------------------------------- 1 | 1. The workshop where I learned my trade is the most important place in the world to me. 2 | 2. I created a great work for someone, and then found them unworthy to receive it. I'm still looking for someone worthy. 3 | 3. I owe my guild a great debt for forging me into the person I am today. 4 | 4. I pursue wealth to secure someone's love. 5 | 5. One day I will return to my guild and prove that I am the greatest artisan of them all. 6 | 6. I will get revenge on the evil forces that destroyed my place of business and ruined my livelihood. -------------------------------------------------------------------------------- /Character Details/Background/Guild Artisan/Flaw.txt: -------------------------------------------------------------------------------- 1 | 1. I'll do anything to get my hands on something rare or priceless. 2 | 2. I'm quick to assume that someone Is trying to cheat me. 3 | 3. No one must ever learn that I once stole money from guild coffers. 4 | 4. I'm never satisfied with what I have-I always want more. 5 | 5. I would kill to acquire a noble title. 6 | 6. I'm horribly jealous of anyone who can outshine my handiwork. Everywhere I go, I'm surrounded by rivais. -------------------------------------------------------------------------------- /Character Details/Background/Guild Artisan/Ideal.txt: -------------------------------------------------------------------------------- 1 | Lawful - Community. It is the duty of all civilized people to strengthen the bonds of community and the security of civillzation. 2 | Good - Generosity. My talents were given to me so that I could use them to benefit the world. 3 | Chaotic - Freedom. Everyone should be free to pursue his or her own livelihood. 4 | Evil - Greed. I'm only in it for the money. 5 | Neutral - People. I'm committed to the people I care about, not to ideals. 6 | Any - Aspiration. I work hard to be the best there is at my craft. -------------------------------------------------------------------------------- /Character Details/Background/Guild Artisan/Personality Trait.txt: -------------------------------------------------------------------------------- 1 | 1. I believe that anything worth doing is worth doing right. I can't help it-I'm a perfectionist. 2 | 2. I'm a snob who looks down on those who can't appreciate fine art. 3 | 3. I always want to know how things work and what makes people tick. 4 | 4. I'm full of witty aphorisms and have a proverb for every occasion. 5 | 5. I'm rude to people who lack my commitment to hard work and fair play. 6 | 6. I like to talk at length about my profession. 7 | 7. I don't part with my money easily and will haggle tirelessly to get the best deal possible. 8 | 8. I'm well known for my work, and I want to make sure everyone appreciates it. I'm always taken aback when people haven't heard of me. -------------------------------------------------------------------------------- /Character Details/Background/Guild Artisan/Stuff.txt: -------------------------------------------------------------------------------- 1 | proficiency Insight Persuasion 2 | artisan, Alchemist's supplies, Brewer's supplies,carpenter's tools,cobbler's tools,cook's utensils,Glassblower's tools,Jeweler's tools,Leatherworker's tools,Mason's tools,painter's supplies,potter's tools,smith's tools,tinker's tools, weaver's tools,woodcarver's tools 3 | equipment letter of introduction from guild, set of traveler's clothes 4 | gold gp 15 -------------------------------------------------------------------------------- /Character Details/Background/Hermit/Bond.txt: -------------------------------------------------------------------------------- 1 | 1. Nothing is more important than the other members of my hermitage, order, or association. 2 | 2. I entered seduction to hide from the ones who might still be hunting me. I must someday confront them. 3 | 3. I'm still seeking the enlightenment I pursued in my sedusion, and it still eludes me. 4 | 4. I entered seducion because I loved someone I could not have. 5 | 5. Should my discovery come to Iight, it could bring ruin to the world. 6 | 6. My isolation gave me great insight into a great evil that only I can destroy. -------------------------------------------------------------------------------- /Character Details/Background/Hermit/Flaw.txt: -------------------------------------------------------------------------------- 1 | 1. Now that I've returned to the world, I enjoy its delights a little too much. 2 | 2. I harbor dark, bloodthirsty thoughts that my isolation and meditation failed to quell. 3 | 3. I am dogmatic in my thoughts and philosophy. 4 | 4. I let my need to win arguments overshadow friendships and harmony. 5 | 5. I'd risk too much to uncover a lost bit of knowledge. 6 | 6. I like keeping secrets and won't share them with anyone. -------------------------------------------------------------------------------- /Character Details/Background/Hermit/Ideal.txt: -------------------------------------------------------------------------------- 1 | Good - Greater Good. My gifts are meant to be shared with all, not used for my own benefit. 2 | Lawful Logic. Emotions must not c1oud our sense of what isright and true, or our logieal thinking. 3 | Chaotic - Free Thinking. Inquiry and curiosity are the pillars of progress 4 | Evil - Power. Solitude and contemplation are paths toward mystical or magical power. 5 | Neutral - Live and Let Live. Meddling in the affairs of others only causes trouble. 6 | Any - Self.Knowledge. If you know yourself, there's nothing left to know. -------------------------------------------------------------------------------- /Character Details/Background/Hermit/Personality Trait.txt: -------------------------------------------------------------------------------- 1 | 1. I've been isolated for so long that I rarely speak, preferring gestures and the occasional grunt. 2 | 2. I am utterly serene, even in the face of disaster. 3 | 3. The leader of my community had something wise to say on every topic, and I am eager to share that wisdom. 4 | 4. I feel tremendous empathy for all who suffer. 5 | 5. I'm oblivious to etiquette and social expectations. 6 | 6. I connect everything that happens to me to a grand, cosmic plan. 7 | 7. I often get lost in my own thoughts and contemplation, becoming oblivious to my surroundings. 8 | 8. I am working on a grand philosophical theory and love sharing my ideas. -------------------------------------------------------------------------------- /Character Details/Background/Hermit/Stuff.txt: -------------------------------------------------------------------------------- 1 | proficiency Medicine Religion 2 | toolProficiency Herbalism kit 3 | language random 1 abyssal aquan auran celestial common draconic druidic dwarvish elvish giant gnomish goblin gnoll halfing ignan infernal orc primordial sylvan terran undercommon 4 | equipment scroll case stuffed full of notes from your studies, winter blanket, set of common clothes, herbalism kit 5 | gold gp 5 -------------------------------------------------------------------------------- /Character Details/Background/Noble/Bond.txt: -------------------------------------------------------------------------------- 1 | 1. I will face any challenge to win the approval of my family. 2 | 2. My house's alliance with another noble family must be sustained at all costs. 3 | 3. Nothing is more important than the other members of my family. 4 | 4. I am in love with the heir of a family that my family despises. 5 | 5. My loyalty to my sovereign is unwavering. 6 | 6. The common folk must see me as a hero of the people. -------------------------------------------------------------------------------- /Character Details/Background/Noble/Flaw.txt: -------------------------------------------------------------------------------- 1 | 1. I secretly believe that everyone is beneath me. 2 | 2. I hide a truly scandalous secret that would ruin my family forever. 3 | 3. I too often hear veiled insults and threats in every word addressed to me, and I'm quick to anger. 4 | 4. I have an insatiable desire for carnal pleasures. 5 | 5. In fact, the world does revolve around me. 6 | 6. By my words and actions, I often bring shame to my family. -------------------------------------------------------------------------------- /Character Details/Background/Noble/Ideal.txt: -------------------------------------------------------------------------------- 1 | Good - Respect. Respect is due to me because of my position, but all people regardless of station deserve to be treated with dignity. 2 | Lawful - Responsibility. It is my duty to respect the authority of those above me, just as those below me must respect mine. 3 | Chaotic - Independenee. I must prove that I can handle myself without the coddling of my family. 4 | Evil - Power. If I can attain more power, no one will tell me what to do. 5 | Any - Family. Blood runs thicker than water. 6 | Good - Noble Obligation. It is my duty to protect and care for the people beneath me. -------------------------------------------------------------------------------- /Character Details/Background/Noble/Personality Trait.txt: -------------------------------------------------------------------------------- 1 | 1 My eloquent flattery makes everyone I talk to feel like the most wonderful and important person in the world. 2 | 2. The common folk love me for my kindness and generosity. 3 | 3. Noone could doubt by looking at my regal bearing that I am a cut above the unwashed masses. 4 | 4. I take great pains to always look my best and follow the latest fashions. 5 | 5. I don't like to get my hands dirty, and I won't be caught dead in unsuitable accommodations. 6 | 6. Despite mynoble birth, I do not place myself above other folk. We all have the same blood. 7 | 7. My favor,once lost, is lost forever. 8 | 8. If you do me an injury, I will crush you, ruin your name, and salt your fields. -------------------------------------------------------------------------------- /Character Details/Background/Noble/Stuff.txt: -------------------------------------------------------------------------------- 1 | proficiency History Persuasion 2 | toolProficiency Dice Set, Playing Card Set 3 | Language random 1 abyssal aquan auran celestial common draconic druidic dwarvish elvish giant gnomish goblin gnoll halfing ignan infernal orc primordial sylvan terran undercommon 4 | equipment set of fine clothes, signed ring, scroll of pedigree 5 | gold gp 25 -------------------------------------------------------------------------------- /Character Details/Background/Outlander/Bond.txt: -------------------------------------------------------------------------------- 1 | 1. My family, clan, or tribe is the most important thing in my life, even when they are far from me. 2 | 2. An injury to the unspoiled wilderness of my home is an injury to me. 3 | 3. I will bring terrible wrath down on the evildoers who destroyed my homeland. 4 | 4. I am the last of my tribe, and it is up to me to ensure their names enter legend. 5 | 5. I suffer awful visions of a coming disaster and will do anything to prevent it. 6 | 6. It is my duty to provide children to sustain my tribe. -------------------------------------------------------------------------------- /Character Details/Background/Outlander/Flaw.txt: -------------------------------------------------------------------------------- 1 | 1. I am too enamored of ale, wine, and other intoxieants. 2 | 2. There's no room for caution in a life lived to the fullest. 3 | 3. I remember every insult I've received and nurse a silent resentment toward anyone who's ever wronged me. 4 | 4. Iam slow to trust members of other races, tribes, and societies. 5 | 5. Violence is my answer to almost any challenge. 6 | 6. Don't expect me to save those who can't savethemselves. It is nature's way that the strong thrive and the weak perish. -------------------------------------------------------------------------------- /Character Details/Background/Outlander/Ideal.txt: -------------------------------------------------------------------------------- 1 | Chaotic - Change. Life is like the seasons, in constant change, and we must change with it. 2 | Good - Greater Good. It is each person's responsibility to make the most happiness for the whole tribe. 3 | Lawful - Honor. If I dishonor myself, I dishonor my whole clan. 4 | Evil - Might. The strongest are meant to rule. 5 | Neutral - Nature. The natural world is more important than all the constructs of civilization. 6 | Any - Glory. I must earn glory in battle, for myself and my clan. -------------------------------------------------------------------------------- /Character Details/Background/Outlander/Personality Trait.txt: -------------------------------------------------------------------------------- 1 | 1. I'm driven by a wanderlust that led me away from home. 2 | 2. I watch over my friends as if they were a litter of newborn pups. 3 | 3. I once ran twenty-five miles without stopping to warn to my clan of an approaching orc horde. I'd do it again if I had to. 4 | 4. I have a lesson for every situation, drawn from observing nature. 5 | 5. I place no stock in wealthy or well-mannered folk. Money and manners won't save you from a hungry owlbear. 6 | 6. I'm always picking things up, absently fiddling with them, and sometimes accidentally breaking them. 7 | 7. I feel far more comfortable around animals than people. 8 | 8. I was, in fact, raised by wolves. -------------------------------------------------------------------------------- /Character Details/Background/Outlander/Stuff.txt: -------------------------------------------------------------------------------- 1 | proficiency Athletics Survival 2 | musical Bagpipes Drum Dulcimer Flute Lute Lyre Horn Shawm Viol 3 | language random 1 abyssal aquan auran celestial common draconic druidic dwarvish elvish giant gnomish goblin gnoll halfing ignan infernal orc primordial sylvan terran undercommon 4 | equipment staff, hunting trap, trophy from an animal you killed, set of traveler's clothes 5 | gold gp 10 -------------------------------------------------------------------------------- /Character Details/Background/Sage/Bond.txt: -------------------------------------------------------------------------------- 1 | 1. It is my duty to protect my students. 2 | 2. I have an ancient text that holds terrible secrets that must not fall into the wrong hands. 3 | 3. I work to preserve a library, university, scriptorium, Or monastery. 4 | 4. My life's work is a series of tomes related to a specific field of lore. 5 | 5. I've been searching my whole life for the answer to a certain question. 6 | 6. I sold my soul for knowledge. I hope to do great deeds and win it back. -------------------------------------------------------------------------------- /Character Details/Background/Sage/Flaw.txt: -------------------------------------------------------------------------------- 1 | 1. I am easily distracted by the promise of information. 2 | 2. Most people scream and run when they see a demon. I stop and take notes on its anatomy. 3 | 3. Unlocking an ancient mystery is worth the price of a civilization. 4 | 4. I overlook obvious solutions in favor of complieated ones. 5 | 5. I speak without really thinking through my words, invariably insulting others. 6 | 6. I can't keep a secret to save my life, or anyone else's. -------------------------------------------------------------------------------- /Character Details/Background/Sage/Ideal.txt: -------------------------------------------------------------------------------- 1 | Neutral - Knowledge. The path to power and self-improvement is through knowledge. 2 | Good - Beauty. What is beautiful points us beyond itself toward what is true. 3 | lawful - logic. Emotions must not cloud our logical thinking. 4 | Chaotic - No Limits. Nothing should fetter the infinite possibility inherent in all existence. 5 | Evil - Power. Knowledge is the path to power and domination. 6 | Any - Self.lmprovement. The goal of a life of study is the betterment of oneself. -------------------------------------------------------------------------------- /Character Details/Background/Sage/Personality Trait.txt: -------------------------------------------------------------------------------- 1 | 1. I use polysyllabic words that convey the impression of greal erudition. 2 | 2. I've read every book in the world's greatest libraries-or I like to boast that I have. 3 | 3. I'm used to helping out those who aren't as smart as I am, and I patiently explain anything and everything to others. 4 | 4. There's nothing I like more than a good mystery. 5 | 5. I'm willing to listen to every side of an argument before I make my own judgment. 6 | 6 I ... speak ... slowly ... when talking to idiots, . which ... almost ... everyone ... is compared . to me. 7 | 7. I am horribly, horribly awkward in social situations. 8 | 8. I'm convinced that people are always trying to steal my secrets. -------------------------------------------------------------------------------- /Character Details/Background/Sage/Stuff.txt: -------------------------------------------------------------------------------- 1 | proficiency Arcana History 2 | language random 2 abyssal aquan auran celestial common draconic druidic dwarvish elvish giant gnomish goblin gnoll halfing ignan infernal orc primordial sylvan terran undercommon 3 | equipment bottle of black ink, quill, small knife, letter from a ead colleague posing a question you have not yet been able to answer, set of common clothes 4 | gold gp 10 -------------------------------------------------------------------------------- /Character Details/Background/Sailor/Bond.txt: -------------------------------------------------------------------------------- 1 | 1. I'm loyal to my captain first, everything else second. 2 | 2. The ship is most important-crewmates and captains come and go. 3 | 3. I'll always remember my first ship. 4 | 4. In a harbor I own, I have a paramour whose eyes nearly stole me from the sea. 5 | 5. I was cheated oul of my fair share of the profits, and I want to get my due. 6 | 6. Ruthless pirates murdered my captain and crewmates, plundered our ship, and left me to die. Vengeance will be mine. -------------------------------------------------------------------------------- /Character Details/Background/Sailor/Flaw.txt: -------------------------------------------------------------------------------- 1 | 1. I follow orders, even if I think they're wrong. 2 | 2. I'll say anything to avoid having to do extra work. 3 | 3. Once someone questions my courage, I never back down no matter how dangerous the situation. 4 | 4. Once I slart drinking, it's hard for me to stop. 5 | 5. I can't help but pocket loose coins and other trinkets I come across. 6 | 6. My pride will probably lead to my destruction. -------------------------------------------------------------------------------- /Character Details/Background/Sailor/Ideal.txt: -------------------------------------------------------------------------------- 1 | Good - Respect. The thing that keeps a ship together is mutual respect between captain and crew. 2 | Lawful - Fairness. We all do the work, so we all share in the rewards. 3 | Chaotic - Freedom. The sea is freedom-Ihe freedom to go anywhere and do anything. 4 | Evil - Mastery. I'm a predator, and the other ships on the sea are my prey. 5 | Neutral - People. I'm committed to my crewmates, not to ideals. 6 | Any - Aspiration. Someday I'll own my own ship and chart my own destiny. -------------------------------------------------------------------------------- /Character Details/Background/Sailor/Personality Trait.txt: -------------------------------------------------------------------------------- 1 | 1. My friends know they can rely on me, no matter what. 2 | 2. I work hard so that I can play hard when the work is done. 3 | 3. I enjoy sailing into new ports and making new friends over a flagon of ale. 4 | 4. I stretch the trulh for the sake of a good story. 5 | 5. To me, a latern brawl is a nice way to get to know a new city. 6 | 6. I never pass up a friendly wager. 7 | 7. My language is as foul as an otyugh nest. 8 | 8. I like a job well done, especially if I can convince someone else to do it. -------------------------------------------------------------------------------- /Character Details/Background/Sailor/Stuff.txt: -------------------------------------------------------------------------------- 1 | proficiency Athletics Perception 2 | toolProficiency Navigator's tools, vehicles(water) 3 | equipment a belaying pin, 50 feet of silk rope,lucky charm rabbit foot, set of common clothes 4 | gold gp 10 -------------------------------------------------------------------------------- /Character Details/Background/Soldier/Bond.txt: -------------------------------------------------------------------------------- 1 | 1. I would still lay down my life for the people I served with. 2 | 2. Someone saved my life on the battlefield. To this day, I will never leave a friend behind. 3 | 3. My honor is my life. 4 | 4. I'll never forget the crushing defeat my company suffered or the enemies who dealt it. 5 | 5. Those who fight beside me are those worth dying for. 6 | 6. I fight for those who cannot fight for themselves. -------------------------------------------------------------------------------- /Character Details/Background/Soldier/Flaw.txt: -------------------------------------------------------------------------------- 1 | 1. The monstrous enemy we faced in battle still leaves me quivering with fear. 2 | 2. I have little respect for anyone who is not a proven warrior. 3 | 3. I made a terrible mistake in battle cost many lives and I would do anything to keep that mistake secret. 4 | 4. My hatred of my enemies is blind and unreasoning. 5 | 5. I obey the law, even if the law causes misery. 6 | 6. I'd rather eat my armor than admit when I'm wrong. -------------------------------------------------------------------------------- /Character Details/Background/Soldier/Ideal.txt: -------------------------------------------------------------------------------- 1 | Good - Greater Good. Our lot is to lay down our lives in defense of others. 2 | Lawful - Responsibility. I do what I must and obey just authority. 3 | Chaotic - Independence. When people follow orders blindly, they embrace a kind of tyranny. 4 | Evil - Might. In life as in war, the stronger force wins. 5 | Neutral - Live and Let Live. Ideals aren't worth killing over or going to war for. 6 | Any - Nation. My city, nation, or people are all that matter. 7 | -------------------------------------------------------------------------------- /Character Details/Background/Soldier/Personality Trait.txt: -------------------------------------------------------------------------------- 1 | 1. I'm always polite and respectful 2 | 2. I'm haunted by memories of war. I can't get the images of violence out of my mind. 3 | 3. I've lost too many friends, and I'm slow to make new one. 4 | 4. I'm full of inspiring and caulionary tales from my military experience relevant to almost every combat situation. 5 | 5. I can stare down a hell hound without flinching. 6 | 6. I enjoy being strong and like breaking things. 7 | 7. I have a crude sense of humor. 8 | 8. I face problems head-on. A simple, direct solution is the best path to success. -------------------------------------------------------------------------------- /Character Details/Background/Soldier/Stuff.txt: -------------------------------------------------------------------------------- 1 | proficiency Athletics Intimidation 2 | toolProficiency Dice set, Playing cards Set, Vehicle(land) 3 | Equipment insignia of rank(trophy taken from a fallen enemy, set of bone dice, deck of cards, set of common clothes 4 | gold gp 10 -------------------------------------------------------------------------------- /Character Details/Background/Urchin/Bond.txt: -------------------------------------------------------------------------------- 1 | 1. My town or city is my home, and I'll fight to defend it. 2 | 2. I sponsor an orphanage to keep others from enduring what I was forced to endure. 3 | 3. I owe my survival to another urchin who taught me to live on the streets. 4 | 4. I owe a debt I can never repay to the person who took pity on me. 5 | 5. I escaped my life of poverty by robbing an important person, and I'm wanted for it. 6 | 6. No one else should have to endure the hardships I've been through. -------------------------------------------------------------------------------- /Character Details/Background/Urchin/Flaw.txt: -------------------------------------------------------------------------------- 1 | 1. If I'm outnumbered, I will run away from a fight. 2 | 2 Gold seems like a lot of money to me, and I'll do just about anything for more of it. 3 | 3. I will never fully trust anyone other than myself. 4 | 4. I'd rather kill someone in their sleep then fight fair. 5 | 5. It's not stealing if I need It more than someone else. 6 | 6 People who can't take care of themselves get what they deserve. -------------------------------------------------------------------------------- /Character Details/Background/Urchin/Ideal.txt: -------------------------------------------------------------------------------- 1 | Good - Respect. All people, rich or poor, deserve respect. 2 | Lawful - Community. We have to take care of each other, because no one else is going to do it. 3 | Chaolic - Change. The low are lifted up, and the high and mighty are brought down. Change is the nature of things. . 4 | Evil - Retribution. The rich need to be shown what life and death are like in the gutters. 5 | Neutral - People. I help the people who help me-that's what keeps us alive. 6 | Any - Aspiration. I'm going to prove that I'm worthy of a better life. -------------------------------------------------------------------------------- /Character Details/Background/Urchin/Personality Trait.txt: -------------------------------------------------------------------------------- 1 | 1. I hide scraps of food and trinkets away in my pockets. 2 | 2. I ask a lot of questions. 3 | 3. I like to squeeze into small places where no one else can get to me. 4 | 4. I sleep with my back to a wall or tree, with everything I own wrapped in a bundle in my arms. 5 | 5. I eat like a pig and have bad manners. 6 | 6. I think anyone who's nice to me is hiding evil intent 7 | 7. I don't like to bathe. 8 | 8. I bluntly say what other people are hinting at or hiding. -------------------------------------------------------------------------------- /Character Details/Background/Urchin/Urchin.txt: -------------------------------------------------------------------------------- 1 | proficiency Sleight of Hand Stealth 2 | toolProficiencies Disguise kit, thieve's tools 3 | equipment small knife, map of the city you grew up in, a pet mouse, token to remember your parents by, set of common clothes 4 | gold gp 10 -------------------------------------------------------------------------------- /Character Details/Background/legend.txt: -------------------------------------------------------------------------------- 1 | proficiency - seperated by space 2 | language random # - 21 languages seperated by a space or take all if not random and how many random 3 | equipment - take them all 4 | gold gp amount 5 | toolProficiency - take them all if musical 6 | musical - 9 instruments randomly pick one. all seperated by a space after musical - add to tool proficiency and equipment 7 | artisan 17 of them seperated by ',' put into tool proficiency and equipment 8 | -------------------------------------------------------------------------------- /Monsters By CR.txt: -------------------------------------------------------------------------------- 1 | CR 0 - as needed. 2 | Awakened Shrub - https://roll20.net/compendium/dnd5e/Monsters:Awakened%20Shrub#h-Awakened%20Shrub 3 | Baboon - https://roll20.net/compendium/dnd5e/Monsters:Baboon#h-Baboon 4 | Badger - https://roll20.net/compendium/dnd5e/Monsters:Badger#h-Badger 5 | Bat - https://roll20.net/compendium/dnd5e/Monsters:Bat#h-Bat 6 | Cat - https://roll20.net/compendium/dnd5e/Monsters:Cat#h-Cat 7 | Commoner - https://roll20.net/compendium/dnd5e/Monsters:Commoner#h-Commoner 8 | Crab - https://roll20.net/compendium/dnd5e/Monsters:Crab#h-Crab 9 | Deer - https://roll20.net/compendium/dnd5e/Monsters:Deer#h-Deer 10 | Eagle - https://roll20.net/compendium/dnd5e/Monsters:Eagle#h-Eagle 11 | Frog - https://roll20.net/compendium/dnd5e/Monsters:Frog#h-Frog 12 | Giant Fire Beetle - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Fire%20Beetle#h-Giant%20Fire%20Beetle 13 | Goat - https://roll20.net/compendium/dnd5e/Monsters:Goat#h-Goat 14 | Hawk - https://roll20.net/compendium/dnd5e/Monsters:Hawk#h-Hawk 15 | Homunculus - https://roll20.net/compendium/dnd5e/Monsters:Homunculus#h-Homunculus 16 | Hyena - https://roll20.net/compendium/dnd5e/Monsters:Hyena#h-Hyena 17 | Jackal - https://roll20.net/compendium/dnd5e/Monsters:Jackal#h-Jackal 18 | Lemure - https://roll20.net/compendium/dnd5e/Monsters:Lemure#h-Lemure 19 | Lizard - https://roll20.net/compendium/dnd5e/Monsters:Lizard#h-Lizard 20 | Octopus - https://roll20.net/compendium/dnd5e/Monsters:Octopus#h-Octopus 21 | Owl - https://roll20.net/compendium/dnd5e/Monsters:Owl#h-Owl 22 | Quipper - https://roll20.net/compendium/dnd5e/Monsters:Quipper#h-Quipper 23 | Rat - https://roll20.net/compendium/dnd5e/Monsters:Rat#h-Rat 24 | Raven - https://roll20.net/compendium/dnd5e/Monsters:Raven#h-Raven 25 | Scorpion - https://roll20.net/compendium/dnd5e/Monsters:Scorpion#h-Scorpion 26 | Sea Horse - https://roll20.net/compendium/dnd5e/Monsters:Sea%20Horse#h-Sea%20Horse 27 | Shrieker - https://roll20.net/compendium/dnd5e/Monsters:Shrieker#h-Shrieker 28 | Spider - https://roll20.net/compendium/dnd5e/Monsters:Spider#h-Spider 29 | Vulture - https://roll20.net/compendium/dnd5e/Monsters:Vulture#h-Vulture 30 | Weasel - https://roll20.net/compendium/dnd5e/Monsters:Weasel#h-Weasel 31 | 32 | CR 1/8 33 | Bandit - https://roll20.net/compendium/dnd5e/Monsters:Bandit#h-Bandit 34 | Blood Hawk - https://roll20.net/compendium/dnd5e/Monsters:Blood%20Hawk#h-Blood%20Hawk 35 | Camel - https://roll20.net/compendium/dnd5e/Monsters:Camel#h-Camel 36 | Cultist - https://roll20.net/compendium/dnd5e/Monsters:Cultist#h-Cultist 37 | Diseased Giant Rat - https://roll20.net/compendium/dnd5e/Monsters:Diseased%20Giant%20Rat#h-Diseased%20Giant%20Rat 38 | Flying Snake - https://roll20.net/compendium/dnd5e/Monsters:Flying%20Snake#h-Flying%20Snake 39 | Giant Crab - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Crab#h-Giant%20Crab 40 | Giant Rat - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Rat#h-Giant%20Rat 41 | Giant Weasel - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Weasel#h-Giant%20Weasel 42 | Guard - https://roll20.net/compendium/dnd5e/Monsters:Guard#h-Guard 43 | Kobold - https://roll20.net/compendium/dnd5e/Monsters:Kobold#h-Kobold 44 | Mastiff - https://roll20.net/compendium/dnd5e/Monsters:Mastiff#h-Mastiff 45 | Merfolk - https://roll20.net/compendium/dnd5e/Monsters:Merfolk#h-Merfolk 46 | Mule - https://roll20.net/compendium/dnd5e/Monsters:Mule#h-Mule 47 | Noble - https://roll20.net/compendium/dnd5e/Monsters:Noble#h-Noble 48 | Poisonouse Snake - https://roll20.net/compendium/dnd5e/Monsters:Poisonous%20Snake#h-Poisonous%20Snake 49 | Pony - https://roll20.net/compendium/dnd5e/Monsters:Pony#h-Pony 50 | Stirge - https://roll20.net/compendium/dnd5e/Monsters:Stirge#h-Stirge 51 | Tribal Warrior - https://roll20.net/compendium/dnd5e/Monsters:Tribal%20Warrior#h-Tribal%20Warrior 52 | 53 | CR 1/4 54 | Acolyte - https://roll20.net/compendium/dnd5e/Monsters:Acolyte#h-Acolyte 55 | Axe Beak - https://roll20.net/compendium/dnd5e/Monsters:Axe%20Beak#h-Axe%20Beak 56 | Blink Dog - https://roll20.net/compendium/dnd5e/Monsters:Blink%20Dog#h-Blink%20Dog 57 | Boar - https://roll20.net/compendium/dnd5e/Monsters:Boar#h-Boar 58 | Constrictor Snake - https://roll20.net/compendium/dnd5e/Monsters:Constrictor%20Snake#h-Constrictor%20Snake 59 | Draft Horse - https://roll20.net/compendium/dnd5e/Monsters:Draft%20Horse#h-Draft%20Horse 60 | Dretch - https://roll20.net/compendium/dnd5e/Monsters:Dretch#h-Dretch 61 | Drow - https://roll20.net/compendium/dnd5e/Monsters:Drow#h-Drow 62 | Elk - https://roll20.net/compendium/dnd5e/Monsters:Elk#h-Elk 63 | Flying Sword - https://roll20.net/compendium/dnd5e/Monsters:Flying%20Sword#h-Flying%20Sword 64 | Giant Badger - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Badger#h-Giant%20Badger 65 | Giant Bat - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Bat#h-Giant%20Bat 66 | Giant Centipede - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Centipede#h-Giant%20Centipede 67 | Giant Frog - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Frog#h-Giant%20Frog 68 | Giant Lizard - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Lizard#h-Giant%20Lizard 69 | Giant Owl - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Owl#h-Giant%20Owl 70 | Giant Poisonous Snake - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Poisonous%20Snake#h-Giant%20Poisonous%20Snake 71 | Giant Wolf Spider - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Wolf%20Spider#h-Giant%20Wolf%20Spider 72 | Goblin - https://roll20.net/compendium/dnd5e/Monsters:Goblin#h-Goblin 73 | Grimlock - https://roll20.net/compendium/dnd5e/Monsters:Grimlock#h-Grimlock 74 | Panther - https://roll20.net/compendium/dnd5e/Monsters:Panther#h-Panther 75 | Pseudodragon - https://roll20.net/compendium/dnd5e/Monsters:Pseudodragon#h-Pseudodragon 76 | Riding Horse - https://roll20.net/compendium/dnd5e/Monsters:Riding%20Horse#h-Riding%20Horse 77 | Skeleton - https://roll20.net/compendium/dnd5e/Monsters:Skeleton#h-Skeleton 78 | Sprite - https://roll20.net/compendium/dnd5e/Monsters:Sprite#h-Sprite 79 | Steam Mephit - https://roll20.net/compendium/dnd5e/Monsters:Steam%20Mephit#h-Steam%20Mephit 80 | Swarm of Bats - https://roll20.net/compendium/dnd5e/Monsters:Swarm%20of%20Bats#h-Swarm%20of%20Bats 81 | Swarm of Rats - https://roll20.net/compendium/dnd5e/Monsters:Swarm%20of%20Rats#h-Swarm%20of%20Rats 82 | Swarm of Ravens - https://roll20.net/compendium/dnd5e/Monsters:Swarm%20of%20Ravens#h-Swarm%20of%20Ravens 83 | Violet Fungus - https://roll20.net/compendium/dnd5e/Monsters:Violet%20Fungus#h-Violet%20Fungus 84 | Wolf - https://roll20.net/compendium/dnd5e/Monsters:Wolf#h-Wolf 85 | Zombie - https://roll20.net/compendium/dnd5e/Monsters:Zombie#h-Zombie 86 | 87 | CR 1/2 88 | Ape - https://roll20.net/compendium/dnd5e/Monsters:Ape#h-Ape 89 | Black Bear - https://roll20.net/compendium/dnd5e/Monsters:Black%20Bear#h-Black%20Bear 90 | Cockatrice - https://roll20.net/compendium/dnd5e/Monsters:Cockatrice#h-Cockatrice 91 | Crocodile - https://roll20.net/compendium/dnd5e/Monsters:Crocodile#h-Crocodile 92 | Darkmantle - https://roll20.net/compendium/dnd5e/Monsters:Darkmantle#h-Darkmantle 93 | Deep Gnome (Svirfneblin) - https://roll20.net/compendium/dnd5e/Monsters:Deep%20Gnome%20%28Svirfneblin%29#h-Deep%20Gnome%20%28Svirfneblin%29 94 | Dust Mephit - https://roll20.net/compendium/dnd5e/Monsters:Dust%20Mephit#h-Dust%20Mephit 95 | Giant Goat - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Goat#h-Giant%20Goat 96 | Giant Sea Horse - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Sea%20Horse#h-Giant%20Sea%20Horse 97 | Giant Wasp - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Wasp#h-Giant%20Wasp 98 | Gnoll - https://roll20.net/compendium/dnd5e/Monsters:Gnoll#h-Gnoll 99 | Gray Ooze - https://roll20.net/compendium/dnd5e/Monsters:Gray%20Ooze#h-Gray%20Ooze 100 | Hobgoblin - https://roll20.net/compendium/dnd5e/Monsters:Hobgoblin#h-Hobgoblin 101 | Ice Mephit - https://roll20.net/compendium/dnd5e/Monsters:Ice%20Mephit#h-Ice%20Mephit 102 | Lizardfolk - https://roll20.net/compendium/dnd5e/Monsters:Lizardfolk#h-Lizardfolk 103 | Magma Mephit - https://roll20.net/compendium/dnd5e/Monsters:Magma%20Mephit#h-Magma%20Mephit 104 | Magmin - https://roll20.net/compendium/dnd5e/Monsters:Magmin#h-Magmin 105 | Orc - https://roll20.net/compendium/dnd5e/Monsters:Orc#h-Orc 106 | Reef Shark - https://roll20.net/compendium/dnd5e/Monsters:Reef%20Shark#h-Reef%20Shark 107 | Rust Monster - https://roll20.net/compendium/dnd5e/Monsters:Rust%20Monster#h-Rust%20Monster 108 | Sahuagin - https://roll20.net/compendium/dnd5e/Monsters:Sahuagin#h-Sahuagin 109 | Satyr - https://roll20.net/compendium/dnd5e/Monsters:Satyr#h-Satyr 110 | Scout - https://roll20.net/compendium/dnd5e/Monsters:Scout#h-Scout 111 | Shadow - https://roll20.net/compendium/dnd5e/Monsters:Shadow#h-Shadow 112 | Swarm of Beetles - https://roll20.net/compendium/dnd5e/Monsters:Swarm%20of%20Beetles#h-Swarm%20of%20Beetles 113 | Swarm of Centipedes - https://roll20.net/compendium/dnd5e/Monsters:Swarm%20of%20Centipedes#h-Swarm%20of%20Centipedes 114 | Swarm of Insects - https://roll20.net/compendium/dnd5e/Monsters:Swarm%20of%20Insects#h-Swarm%20of%20Insects 115 | Swarm of Spiders - https://roll20.net/compendium/dnd5e/Monsters:Swarm%20of%20Spiders#h-Swarm%20of%20Spiders 116 | Swarm of Wasps - https://roll20.net/compendium/dnd5e/Monsters:Swarm%20of%20Wasps#h-Swarm%20of%20Wasps 117 | Thug - https://roll20.net/compendium/dnd5e/Monsters:Thug#h-Thug 118 | Warhorse - https://roll20.net/compendium/dnd5e/Monsters:Warhorse#h-Warhorse 119 | Warhorse Skeleton - https://roll20.net/compendium/dnd5e/Monsters:Warhorse%20Skeleton#h-Warhorse%20Skeleton 120 | Worg - https://roll20.net/compendium/dnd5e/Monsters:Worg#h-Worg 121 | 122 | CR 1 123 | Animated Armor - https://roll20.net/compendium/dnd5e/Monsters:Animated%20Armor#h-Animated%20Armor 124 | Brass Dragon Wyrmling - https://roll20.net/compendium/dnd5e/Monsters:Brass%20Dragon%20Wyrmling#h-Brass%20Dragon%20Wyrmling 125 | Brown Bear - https://roll20.net/compendium/dnd5e/Monsters:Brown%20Bear#h-Brown%20Bear 126 | Bugbear - https://roll20.net/compendium/dnd5e/Monsters:Bugbear#h-Bugbear 127 | Copper Dragon Wyrmling - https://roll20.net/compendium/dnd5e/Monsters:Copper%20Dragon%20Wyrmling#h-Copper%20Dragon%20Wyrmling 128 | Death Dog - https://roll20.net/compendium/dnd5e/Monsters:Death%20Dog#h-Death%20Dog 129 | Dire Wolf - https://roll20.net/compendium/dnd5e/Monsters:Dire%20Wolf#h-Dire%20Wolf 130 | Dryad - https://roll20.net/compendium/dnd5e/Monsters:Dryad#h-Dryad 131 | Duergar - https://roll20.net/compendium/dnd5e/Monsters:Duergar#h-Duergar 132 | Ghoul - https://roll20.net/compendium/dnd5e/Monsters:Ghoul#h-Ghoul 133 | Giant Eagle - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Eagle#h-Giant%20Eagle 134 | Giant Hyena - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Hyena#h-Giant%20Hyena 135 | Giant Octopus - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Octopus#h-Giant%20Octopus 136 | Giant Spider - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Spider#h-Giant%20Spider 137 | Giant Toad - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Toad#h-Giant%20Toad 138 | Giant Vulture - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Vulture#h-Giant%20Vulture 139 | Harpy - https://roll20.net/compendium/dnd5e/Monsters:Harpy#h-Harpy 140 | Hippogriff - https://roll20.net/compendium/dnd5e/Monsters:Hippogriff#h-Hippogriff 141 | Imp - https://roll20.net/compendium/dnd5e/Monsters:Imp#h-Imp 142 | Lion - https://roll20.net/compendium/dnd5e/Monsters:Lion#h-Lion 143 | Quasit - https://roll20.net/compendium/dnd5e/Monsters:Quasit#h-Quasit 144 | Specter - https://roll20.net/compendium/dnd5e/Monsters:Specter#h-Specter 145 | Spy - https://roll20.net/compendium/dnd5e/Monsters:Spy#h-Spy 146 | Swarm of Quippers - https://roll20.net/compendium/dnd5e/Monsters:Swarm%20of%20Quippers#h-Swarm%20of%20Quippers 147 | Tiger - https://roll20.net/compendium/dnd5e/Monsters:Tiger#h-Tiger 148 | 149 | CR 2 150 | Ankheg - https://roll20.net/compendium/dnd5e/Monsters:Ankheg#h-Ankheg 151 | Awakened Tree - https://roll20.net/compendium/dnd5e/Monsters:Awakened%20Tree#h-Awakened%20Tree 152 | Azer - https://roll20.net/compendium/dnd5e/Monsters:Azer#h-Azer 153 | Bandit Captain - https://roll20.net/compendium/dnd5e/Monsters:Bandit%20Captain#h-Bandit%20Captain 154 | Berserker - https://roll20.net/compendium/dnd5e/Monsters:Berserker#h-Berserker 155 | Black Dragon Wyrmling - https://roll20.net/compendium/dnd5e/Monsters:Black%20Dragon%20Wyrmling#h-Black%20Dragon%20Wyrmling 156 | Bronze Dragon Wyrmling - https://roll20.net/compendium/dnd5e/Monsters:Bronze%20Dragon%20Wyrmling#h-Bronze%20Dragon%20Wyrmling 157 | Centaur - https://roll20.net/compendium/dnd5e/Monsters:Centaur#h-Centaur 158 | Cult Fanatic - https://roll20.net/compendium/dnd5e/Monsters:Cult%20Fanatic#h-Cult%20Fanatic 159 | Druid - https://roll20.net/compendium/dnd5e/Monsters:Druid#h-Druid 160 | Ettercap - https://roll20.net/compendium/dnd5e/Monsters:Ettercap#h-Ettercap 161 | Gargoyle - https://roll20.net/compendium/dnd5e/Monsters:Gargoyle#h-Gargoyle 162 | Gelatinous Cube - https://roll20.net/compendium/dnd5e/Monsters:Gelatinous%20Cube#h-Gelatinous%20Cube 163 | Ghast - https://roll20.net/compendium/dnd5e/Monsters:Ghast#h-Ghast 164 | Giant Boar - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Boar#h-Giant%20Boar 165 | Giant Constrictor Snake - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Constrictor%20Snake#h-Giant%20Constrictor%20Snake 166 | Giant Elk - https://roll20.net/compendium/dnd5e/Monsters:Giant%20Elk#h-Giant%20Elk 167 | Gibbering Mouther - https://roll20.net/compendium/dnd5e/Monsters:Gibbering%20Mouther#h-Gibbering%20Mouther 168 | Green Dragon Wyrmling - https://roll20.net/compendium/dnd5e/Monsters:Green%20Dragon%20Wyrmling#h-Green%20Dragon%20Wyrmling 169 | Grick - https://roll20.net/compendium/dnd5e/Monsters:Grick#h-Grick 170 | Griffon - https://roll20.net/compendium/dnd5e/Monsters:Griffon#h-Griffon 171 | Hunter Shark - https://roll20.net/compendium/dnd5e/Monsters:Hunter%20Shark#h-Hunter%20Shark 172 | Merrow - https://roll20.net/compendium/dnd5e/Monsters:Merrow#h-Merrow 173 | Mimic - https://roll20.net/compendium/dnd5e/Monsters:Mimic#h-Mimic 174 | Minotaur Skeleton - https://roll20.net/compendium/dnd5e/Monsters:Minotaur%20Skeleton#h-Minotaur%20Skeleton 175 | Ochre Jelly - https://roll20.net/compendium/dnd5e/Monsters:Ochre%20Jelly#h-Ochre%20Jelly 176 | Ogre - https://roll20.net/compendium/dnd5e/Monsters:Ogre#h-Ogre 177 | Ogre Zombie - https://roll20.net/compendium/dnd5e/Monsters:Ogre%20Zombie#h-Ogre%20Zombie 178 | Pegasus - https://roll20.net/compendium/dnd5e/Monsters:Pegasus#h-Pegasus 179 | Plesiosaurus - https://roll20.net/compendium/dnd5e/Monsters:Plesiosaurus#h-Plesiosaurus 180 | Polar Bear - https://roll20.net/compendium/dnd5e/Monsters:Polar%20Bear#h-Polar%20Bear 181 | Priest - https://roll20.net/compendium/dnd5e/Monsters:Priest#h-Priest 182 | Rhinoceros - https://roll20.net/compendium/dnd5e/Monsters:Rhinoceros#h-Rhinoceros 183 | Rug of Smothering - https://roll20.net/compendium/dnd5e/Monsters:Rug%20of%20Smothering#h-Rug%20of%20Smothering 184 | Saber-Toothed Tiger - https://roll20.net/compendium/dnd5e/Monsters:Saber-Toothed%20Tiger#h-Saber-Toothed%20Tiger 185 | Sea Hag - https://roll20.net/compendium/dnd5e/Monsters:Sea%20Hag#h-Sea%20Hag 186 | Silver Dragon Wyrmling - https://roll20.net/compendium/dnd5e/Monsters:Silver%20Dragon%20Wyrmling#h-Silver%20Dragon%20Wyrmling 187 | Swarm of Poisonous Snakes - https://roll20.net/compendium/dnd5e/Monsters:Swarm%20of%20Poisonous%20Snakes#h-Swarm%20of%20Poisonous%20Snakes 188 | Wererat - https://roll20.net/compendium/dnd5e/Monsters:Wererat#h-Wererat 189 | White Dragon Wyrmling - https://roll20.net/compendium/dnd5e/Monsters:White%20Dragon%20Wyrmling#h-White%20Dragon%20Wyrmling 190 | Will-o'-Wisp - https://roll20.net/compendium/dnd5e/Monsters:Will-o%27-Wisp#h-Will-o%27-Wisp -------------------------------------------------------------------------------- /Plots.txt: -------------------------------------------------------------------------------- 1 | 1) Your trusty prospector (name, race) has tasked your group to investigate a cave in the (direction) (location) of (name). He mentioned that there were (monsters) in the area so be careful! 2 | 3 | 2) A landowner to the (direction) district is under suspicion of kidnapping the (noble/royal)'s (relative). You need to find out what the issue is while (not) taking things into your own hands to deal with the situation. Here is a warrant to inspect the place in the name of the city's peace! 4 | 5 | 3) The neighbouring city of (name) is under siege by (monsters). Your guild (name) has posted a quest to aid this city as best as possible. There are going to be (monsters) along the way so watch your step! Report back when the mission is completed. Stay safe! 6 | 7 | 4) There have been reports of stolen goods at the local tavern (name). Head towards them in the (direction) area and ask the owner (name) for more information. - There are (monsters) that are scampering in the sewers and if they keep doing this then it won't be long before the whole town is cleared of its storage. 8 | 9 | 5) We heard rumours of there being a mafia meetup at (name) and we're afraid they're up to something big! Take your group and head there and report back with your findings! Be careful not to make too much noise or it won't bode well for you. 10 | 11 | 6) Your guild (name) has been tasked to aid (name) in transporting his goods to (name) city. He has offered quite a sum for this mission which is suspicious. Be careful, there might be (monsters) along the way. 12 | 13 | 7) There have been sightings of an unknown creature to (direction). The locals there might know a bit more information. - The being looks like (monsters) and it's (scaring/raiding) the local (cattle/farmland). If this keeps up, there won't be anything worth selling. 14 | 15 | 8) There has been an issue with the town running out of food. Investigate what the source of this problem is and solve it for a pretty penny offered by the local townspeople. 16 | 17 | 9) There is a tree that belongs to the deity (name) and we have to water it or else bad luck befalls this town. This tree ages really fast so it needs a lot more water than usual and the town is short on water for it and we need help. Your help will be much appreciated and the town will owe you should this be completed. 18 | 19 | 10) The royal wedding is coming up real soon and they expect the best of the best for the meals thus some special ingredients are in order and your group has been tasked for this quest. Once this quest is completed and everything goes well then your reward will be handed out. 20 | 21 | 11) There are waterfalls in the area of (name) and, unusually, they are falling upwards. It seems to go up and up into the sky for some reason. Find out what is going on and whatever you find is to be returned to the army of (name) to be analysed. Anything further than that is yours to keep. 22 | 23 | 12) There have been sightings of rabid (monsters) near the (direction). They weren't always like this and they are scaring the locals and any possible tourists we might have in this flourishing town of (name). Find out what is causing this sudden change and (name) will be forever in your debt. 24 | 25 | 13) The air around (name) has been very unsettling and it gets worse the further (direction) you go. Check out what the source of this horrid scent is as it is causing the town's crops to not grow well and the animals aren't performing well in these conditions. 26 | 27 | 14) The circus is coming to (name) in 2 days and there have been rumours about undead trailing the circus wherever they go. Explore this issue and report back with any findings. 28 | 29 | 15) Magic users within the (name) area are having casting problems where sometimes their magic goes haywire and it is becoming a hazard especially with higher level casters in the area. Aid them in clearing this issue and they will reward you. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OneShotGenerator 2 | ## Created by The StrawHat Unicorns 3 | 4 | ##### The One Shot Generator has the ability to create one shot campaigns for a D&D group that are completely random each time around. 5 | - Creates a list of character sheets that are each unique in their own ways 6 | - Creates environments and dungeons for the DM to fill with their presence 7 | - Creates a simple plot structure to drive the story forward until the DM has their footing in the adventure 8 | 9 | ###### The entire point of this is to improve your experience in improvising as a DM as well as giving your players a fun and hectic experience that's different every time! 10 | ###### As of right now, the OneShotGenerator only creates first level one shot campaigns. 11 | 12 | ### Installing Dependencies 13 | 14 | Install the libraries used the following command: 15 | 16 | ``` 17 | pip install -r requirements.txt 18 | ``` 19 | 20 | ### Running the Program 21 | 22 | Install the libraries using the following command: 23 | 24 | ``` 25 | python one_shot_generator.py 26 | ``` 27 | 28 | You can view the web-app on the following link: http://127.0.0.1:5000/ -------------------------------------------------------------------------------- /characterSheet.py: -------------------------------------------------------------------------------- 1 | from random import randint 2 | from faker import Faker 3 | import requests 4 | import json 5 | import os 6 | import math 7 | 8 | class characterSheet(object): 9 | 10 | def __init__(self): 11 | abilityAverage = 0 12 | fake = Faker() 13 | self.name = fake.name() 14 | # Prevent the overall ability average from being less than 12 15 | while abilityAverage < 12: 16 | strengthScore4Dice = [randint(1,6), randint(1,6), randint(1,6), randint(1,6)] 17 | sMin = min(strengthScore4Dice) # smallest dice 18 | self.strengthScore = strengthScore4Dice[0] + strengthScore4Dice[1] + strengthScore4Dice[2] +strengthScore4Dice[3] - sMin 19 | 20 | dexterityScore4Dice = [randint(1,6), randint(1,6), randint(1,6), randint(1,6)] 21 | dMin = min(dexterityScore4Dice) 22 | self.dexterityScore = dexterityScore4Dice[0] + dexterityScore4Dice[1] + dexterityScore4Dice[2] +dexterityScore4Dice[3] - dMin 23 | 24 | constitutionScore4Dice = [randint(1,6), randint(1,6), randint(1,6), randint(1,6)] 25 | cMin = min(constitutionScore4Dice) 26 | self.constitutionScore = constitutionScore4Dice[0] + constitutionScore4Dice[1] + constitutionScore4Dice[2] +constitutionScore4Dice[3] -cMin 27 | 28 | wisdomScore4Dice = [randint(1,6), randint(1,6), randint(1,6), randint(1,6)] 29 | wMin = min(wisdomScore4Dice) 30 | self.wisdomScore = wisdomScore4Dice[0] + wisdomScore4Dice[1] + wisdomScore4Dice[2] + wisdomScore4Dice[3] -wMin 31 | 32 | intelligenceScore4Dice = [randint(1,6), randint(1,6), randint(1,6), randint(1,6)] 33 | iMin = min(intelligenceScore4Dice) 34 | self.intelligenceScore = intelligenceScore4Dice[0] + intelligenceScore4Dice[1] + intelligenceScore4Dice[2] + intelligenceScore4Dice[3] -iMin 35 | 36 | charismaScore4Dice = [randint(1,6), randint(1,6), randint(1,6), randint(1,6)] 37 | cMin = min(charismaScore4Dice) 38 | self.charismaScore = charismaScore4Dice[0] + charismaScore4Dice[1] + charismaScore4Dice[2] + charismaScore4Dice[3] -cMin 39 | 40 | abilityAverage = (self.strengthScore + self.dexterityScore + self.constitutionScore + self.wisdomScore + self.intelligenceScore + self.charismaScore)/6 41 | 42 | self.strengthMod = self.getAbilityModifier(self.strengthScore) 43 | self.dexterityMod = self.getAbilityModifier(self.dexterityScore) 44 | self.constitutionMod = self.getAbilityModifier(self.constitutionScore) 45 | self.wisdomMod = self.getAbilityModifier(self.wisdomScore) 46 | self.intelligenceMod = self.getAbilityModifier(self.intelligenceScore) 47 | self.charismaMod = self.getAbilityModifier(self.charismaScore) 48 | self.charLevel = 1 #later on use RNG to generate fom 1 - 20 49 | self.charClass = self.getRandomJsonInfo('classes', 'name') 50 | self.charRace = self.getRandomJsonInfo('races', 'name') 51 | self.charBackground = self.getRandomJsonInfo('backgrounds', 'name') 52 | self.charAlignment = self.getRandomJsonInfo('alignment', 'name') 53 | self.charPersonality = self.getCharacterDetails("Personality Trait", self.charBackground) 54 | self.charBond = self.getCharacterDetails("Bond", self.charBackground) 55 | self.charIdeal = self.getCharacterDetails("Ideal", self.charBackground) 56 | self.charFlaw = self.getCharacterDetails("Flaw", self.charBackground) 57 | self.charSpeed = self.getJsonInfo('races', self.getIndexOfAttribute('races', 'name', self.charRace), 'speed') 58 | self.charProficiencyBonus = str(self.getProficencyBonus(self.charLevel)) 59 | self.strSavingThrwProf = self.getSavingThrowProficiency('Strength') 60 | self.dexSavingThrwProf = self.getSavingThrowProficiency('Dexterity') 61 | self.conSavingThrwProf = self.getSavingThrowProficiency('Constitution') 62 | self.wisSavingThrwProf = self.getSavingThrowProficiency('Wisdom') 63 | self.intSavingThrwProf = self.getSavingThrowProficiency('Intelligence') 64 | self.chaSavingThrwProf = self.getSavingThrowProficiency('Charisma') 65 | self.strSavingThrw = self.getSavingThrow('Strength', self.strengthMod) 66 | self.dexSavingThrw = self.getSavingThrow('Dexterity', self.dexterityMod) 67 | self.conSavingThrw = self.getSavingThrow('Constitution', self.constitutionMod) 68 | self.wisSavingThrw = self.getSavingThrow('Wisdom', self.wisdomMod) 69 | self.intSavingThrw = self.getSavingThrow('Intelligence', self.intelligenceMod) 70 | self.chaSavingThrw = self.getSavingThrow('Charisma', self.charismaMod) 71 | self.maxHitDie = self.getJsonInfo('classes', self.getIndexOfAttribute('classes', 'name', self.charClass), 'hitDie') 72 | self.maxHP = int(self.maxHitDie) + int(self.constitutionMod) 73 | self.passiveWisdom = 10 + int(self.wisdomMod) 74 | self.gold = self.getStartingGold(self.charClass) 75 | 76 | def getAbilityModifier(self, mod): 77 | val = (mod-10)/2 78 | if val >= 0: 79 | return '+{}'.format((mod-10)/2) 80 | else: return (mod-10)/2 81 | 82 | def getRandomJsonInfo(self, filename, attribute): 83 | path = os.path.abspath(os.path.dirname(__file__)) + os.path.join(os.path.sep, 'json', '' + filename + '.json') 84 | data = json.load(open(path)) 85 | return data['results'][randint(0, data['count']-1)][attribute] 86 | 87 | def getCharacterDetails(self, detail, background): 88 | path = os.path.abspath(os.path.dirname(__file__)) + os.path.join(os.path.sep, 'Character Details', 'Background', background, '' + detail + '.txt') 89 | fDetail = open(path, "r") 90 | if detail == "Personality Trait": 91 | detailLine = fDetail.readlines() 92 | fullDetail = detailLine[randint(1, 8) - 1] 93 | else: 94 | detailLine = fDetail.readlines() 95 | fullDetail = detailLine[randint(1, 6) - 1] 96 | return fullDetail 97 | 98 | def getProficencyBonus(self, level): 99 | return int(math.ceil(1/4.0)+1) 100 | 101 | def getIndexOfAttribute(self, filename, attributeKey, attribute): 102 | path = os.path.abspath(os.path.dirname(__file__)) + os.path.join(os.path.sep, 'json', '' + filename + '.json') 103 | data = json.load(open(path)) 104 | for x in range(0, data['count']): 105 | if data['results'][x][attributeKey] == attribute: 106 | return x 107 | return -1 108 | 109 | def getJsonInfo(self, filename, index, attributeKey): 110 | path = os.path.abspath(os.path.dirname(__file__)) + os.path.join(os.path.sep, 'json', '' + filename + '.json') 111 | data = json.load(open(path)) 112 | return data['results'][index][attributeKey] 113 | 114 | def getSavingThrowProficiency(self, ability): 115 | if ability in self.getJsonInfo('classes', self.getIndexOfAttribute('classes', 'name', self.charClass), 'savingThrows'): 116 | return 'checked' 117 | return '' 118 | 119 | def getSavingThrow(self, ability, mod): 120 | if self.getSavingThrowProficiency(ability) == 'checked': 121 | return int(self.charProficiencyBonus) + int(mod) 122 | else: 123 | return int(mod) 124 | 125 | def getStringInteger(self, integer): 126 | if integer > 0: 127 | return '+' + str(integer) 128 | else: 129 | return integer 130 | 131 | def dice(self, numberOfDice, diceSide): 132 | final_sum = 0 133 | for i in range(0, numberOfDice): 134 | final_sum += randint(1, diceSide) 135 | return final_sum 136 | 137 | def getStartingGold(self, className): 138 | diceInfo = self.getJsonInfo('classes', self.getIndexOfAttribute('classes', 'name', className), 'wealth') 139 | gold = self.dice(int(diceInfo[0]), int(diceInfo[2])) 140 | if className != 'Monk': 141 | gold = gold * 10 142 | return gold -------------------------------------------------------------------------------- /environment.py: -------------------------------------------------------------------------------- 1 | from random import randint 2 | 3 | class environment(object): 4 | 5 | def __init__(self): 6 | dungeonRow = 30 7 | dungeonCol = 60 8 | dungeonMap = [[1 for i in range(dungeonCol)] for j in range(dungeonRow)] 9 | initializationPass = 5 10 | carvingPass = 3 11 | for i in range(initializationPass): 12 | for j in range (dungeonRow): 13 | for k in range (dungeonCol): 14 | if (randint(1, 100) == 1): 15 | dungeonMap[j][k] = 0 16 | 17 | for i in range(carvingPass): 18 | for j in range(dungeonRow): 19 | for k in range(dungeonCol): 20 | if (dungeonMap[j][k] == 1 and j > 0 and j < dungeonRow - 1 and k > 0 and k < dungeonCol - 1): 21 | if ((dungeonMap[j-1][k] == 0 and dungeonMap[j+1][k] == 0) or (dungeonMap[j][k-1] == 0 and dungeonMap[j][k+1] == 0)): 22 | dungeonMap[j][k] = 0 23 | 24 | if (dungeonMap[j][k] == 0): 25 | xChange = randint(-1,1) 26 | yChange = randint(-1,1) 27 | if (j+xChange > 0 and j+xChange < dungeonRow and k+yChange > 0 and k +yChange < dungeonCol): 28 | dungeonMap[j+xChange][k+yChange] = 0 29 | self.dungeonLayout = self.dungeofy(dungeonMap, dungeonRow, dungeonCol) 30 | 31 | def dungeofy(self, map, dungeonRow, dungeonCol): 32 | dungeonLayout = [[" " for i in range(dungeonCol)] for j in range(dungeonRow)] 33 | dungeonString = "" 34 | for i in range(dungeonRow): 35 | for j in range(dungeonCol): 36 | if (map[i][j] == 1): 37 | dungeonLayout[i][j] = "#" 38 | dungeonString += dungeonLayout[i][j] 39 | dungeonString += '\n' 40 | return dungeonString -------------------------------------------------------------------------------- /json/alignment.json: -------------------------------------------------------------------------------- 1 | { 2 | "count":9, 3 | "results":[ 4 | { 5 | "name":"Lawful Good" 6 | }, 7 | { 8 | "name":"Neutral Good" 9 | }, 10 | { 11 | "name":"Chaotic Good" 12 | }, 13 | { 14 | "name":"Lawful Neutral" 15 | }, 16 | { 17 | "name":"True Neutral" 18 | }, 19 | { 20 | "name":"Chaotic Neutral" 21 | }, 22 | { 23 | "name":"Lawful Evil" 24 | }, 25 | { 26 | "name":"Neutral Evil" 27 | }, 28 | { 29 | "name":"Chaotic Neutral" 30 | } 31 | ] 32 | } -------------------------------------------------------------------------------- /json/backgrounds.json: -------------------------------------------------------------------------------- 1 | { 2 | "count":13, 3 | "results":[ 4 | { 5 | "name":"Acolyte", 6 | "proficiency":"Insight, Religion", 7 | "toolProficiency":"", 8 | "languageType":"Random", 9 | "languageNumber":"2", 10 | "languages":"Abyssal, Aquan, Auran, Celestial, Common, Draconic, Druidic, Dwarvish, Elvish, Giant, Gnomish, Goblin, Gnoll, Halfing, Ignan, Infernal, Orc, Primordial, Sylvan, Terran, Undercommon", 11 | "equipment":"Holy Symbol, Prayer Book, 5 Sticks of Incense, Vestments, Set of Common Clothes", 12 | "randomEquipmentNumber":"", 13 | "randomEquipment":"", 14 | "randomMusicProficiencyNumber":"", 15 | "randomMusicProficiency":"", 16 | "artisanToolProficiencyNumber":"", 17 | "artisanToolProficiency":"", 18 | "wealth":"15" 19 | }, 20 | { 21 | "name":"Charlatan", 22 | "proficiency":"Deception, Sleight of Hand", 23 | "toolProficiency":"Disguise Kit, Forgery Kit", 24 | "languageType":"", 25 | "languageNumber":"", 26 | "languages":"", 27 | "equipment":"Fine Clothes, Disguise Kit", 28 | "randomEquipmentNumber":"1", 29 | "randomEquipment":"Ten stoppered bottles filled with colored liquid, Set of Weighted Dice, Deck of Marked Cards, Signet Ring of an Imaginary Duke", 30 | "randomMusicProficiencyNumber":"", 31 | "randomMusicProficiency":"", 32 | "artisanToolProficiencyNumber":"", 33 | "artisanToolProficiency":"", 34 | "wealth":"15" 35 | }, 36 | { 37 | "name":"Criminal", 38 | "proficiency":"Deception, Stealth", 39 | "toolProficiency":"Dice Set, Playing Card Set, Thief Tools", 40 | "languageType":"", 41 | "languageNumber":"", 42 | "languages":"", 43 | "equipment":"Crowbar, Dark Common Clothes, Hood", 44 | "randomEquipmentNumber":"", 45 | "randomEquipment":"", 46 | "randomMusicProficiencyNumber":"", 47 | "randomMusicProficiency":"", 48 | "artisanToolProficiencyNumber":"", 49 | "artisanToolProficiency":"", 50 | "wealth":"15" 51 | }, 52 | { 53 | "name":"Entertainer", 54 | "proficiency":"Acrobatics, Performance", 55 | "toolProficiency":"Disguise Kit", 56 | "languageType":"", 57 | "languageNumber":"", 58 | "languages":"", 59 | "equipment":"Costume", 60 | "randomEquipmentNumber":"1", 61 | "randomEquipment":"Love Letter, Lock of Hair, Tricket", 62 | "randomMusicProficiencyNumber":"1", 63 | "randomMusicProficiency":"Bagpipes, Drum, Dulcimer, Flute, Lute, Lyre, Horn, Shawm, Viol", 64 | "artisanToolProficiencyNumber":"", 65 | "artisanToolProficiency":"", 66 | "wealth":"15" 67 | }, 68 | { 69 | "name":"Folk Hero", 70 | "proficiency":"Animal Handling, Survival", 71 | "toolProficiency":"Vehicles (Land)", 72 | "languageType":"", 73 | "languageNumber":"", 74 | "languages":"", 75 | "equipment":"Shovel, Iron Pot, Set of Common Clothes", 76 | "randomEquipmentNumber":"", 77 | "randomEquipment":"", 78 | "randomMusicProficiencyNumber":"", 79 | "randomMusicProficiency":"", 80 | "artisanToolProficiencyNumber":"1", 81 | "artisanToolProficiency":"Alchemist Supplies, Brewer Supplies, Carpenter Tools, Cobbler Tools, Cook Utensils, Glassblower Tools, Jeweler Tools, Leatherworker Tools, Mason Tools, Painter Supplies, Potter Tools, Smith Tools, Tinker Tools, Weaver Tools, Woodcarver Tools", 82 | "wealth":"10" 83 | }, 84 | { 85 | "name":"Guild Artisan", 86 | "proficiency":"Insight, Persuasion", 87 | "toolProficiency":"", 88 | "languageType":"", 89 | "languageNumber":"", 90 | "languages":"", 91 | "equipment":"Letter of Introduction from Guild, Set of Traveler's Clothes", 92 | "randomEquipmentNumber":"", 93 | "randomEquipment":"", 94 | "randomMusicProficiencyNumber":"", 95 | "randomMusicProficiency":"", 96 | "artisanToolProficiencyNumber":"1", 97 | "artisanToolProficiency":"Alchemist Supplies, Brewer Supplies, Carpenter Tools, Cobbler Tools, Cook Utensils, Glassblower Tools, Jeweler Tools, Leatherworker Tools, Mason Tools, Painter Supplies, Potter Tools, Smith Tools, Tinker Tools, Weaver Tools, Woodcarver Tools", 98 | "wealth":"15" 99 | }, 100 | { 101 | "name":"Hermit", 102 | "proficiency":"Medicine, Religion", 103 | "toolProficiency":"Herbalism Kit", 104 | "languageType":"Random", 105 | "languageNumber":"1", 106 | "languages":"Abyssal, Aquan, Auran, Celestial, Common, Draconic, Druidic, Dwarvish, Elvish, Giant, Gnomish, Goblin, Gnoll, Halfing, Ignan, Infernal, Orc, Primordial, Sylvan, Terran, Undercommon", 107 | "equipment":"Scroll Case stuffed full of notes from your studies, Winter Blanket, Set of Common Clothes, Herbalism Kit", 108 | "randomEquipmentNumber":"", 109 | "randomEquipment":"", 110 | "randomMusicProficiencyNumber":"", 111 | "randomMusicProficiency":"", 112 | "artisanToolProficiencyNumber":"", 113 | "artisanToolProficiency":"", 114 | "wealth":"5" 115 | }, 116 | { 117 | "name":"Noble", 118 | "proficiency":"History, Persuasion", 119 | "toolProficiency":"Dice Set, Playing Card Set", 120 | "languageType":"Random", 121 | "languageNumber":"1", 122 | "languages":"Abyssal, Aquan, Auran, Celestial, Common, Draconic, Druidic, Dwarvish, Elvish, Giant, Gnomish, Goblin, Gnoll, Halfing, Ignan, Infernal, Orc, Primordial, Sylvan, Terran, Undercommon", 123 | "equipment":"Set of Fine Clothes, Signed Ring, Scroll of Pedigree", 124 | "randomEquipmentNumber":"", 125 | "randomEquipment":"", 126 | "randomMusicProficiencyNumber":"", 127 | "randomMusicProficiency":"", 128 | "artisanToolProficiencyNumber":"", 129 | "artisanToolProficiency":"", 130 | "wealth":"25" 131 | }, 132 | { 133 | "name":"Outlander", 134 | "proficiency":"Athletics, Survival", 135 | "toolProficiency":"", 136 | "languageType":"Random", 137 | "languageNumber":"1", 138 | "languages":"Abyssal, Aquan, Auran, Celestial, Common, Draconic, Druidic, Dwarvish, Elvish, Giant, Gnomish, Goblin, Gnoll, Halfing, Ignan, Infernal, Orc, Primordial, Sylvan, Terran, Undercommon", 139 | "equipment":"Staff, Hunting Trap, Trophy from an animal you killed, Set of Traveler's Clothes", 140 | "randomEquipmentNumber":"", 141 | "randomEquipment":"", 142 | "randomMusicProficiencyNumber":"1", 143 | "randomMusicProficiency":"Bagpipes, Drum, Dulcimer, Flute, Lute, Lyre, Horn, Shawm, Viol", 144 | "artisanToolProficiencyNumber":"", 145 | "artisanToolProficiency":"", 146 | "wealth":"10" 147 | }, 148 | { 149 | "name":"Sage", 150 | "proficiency":"Arcana, History", 151 | "toolProficiency":"", 152 | "languageType":"Random", 153 | "languageNumber":"2", 154 | "languages":"Abyssal, Aquan, Auran, Celestial, Common, Draconic, Druidic, Dwarvish, Elvish, Giant, Gnomish, Goblin, Gnoll, Halfing, Ignan, Infernal, Orc, Primordial, Sylvan, Terran, Undercommon", 155 | "equipment":"Bottle of Black Ink, Quill, Small Knife, Letter from a dead colleague posing a question you have not yet been able to answer, Set of Common Clothes", 156 | "randomEquipmentNumber":"", 157 | "randomEquipment":"", 158 | "randomMusicProficiencyNumber":"", 159 | "randomMusicProficiency":"", 160 | "artisanToolProficiencyNumber":"", 161 | "artisanToolProficiency":"", 162 | "wealth":"10" 163 | }, 164 | { 165 | "name":"Sailor", 166 | "proficiency":"Athletics, Perception", 167 | "toolProficiency":"Navigator Tools, Vehicles (Water)", 168 | "languageType":"", 169 | "languageNumber":"", 170 | "languages":"", 171 | "equipment":"A belaying pin, 50 feet of Silk Rope, Lucky Charm Rabbit Foot, Set of Common Clothes", 172 | "randomEquipmentNumber":"", 173 | "randomEquipment":"", 174 | "randomMusicProficiencyNumber":"", 175 | "randomMusicProficiency":"", 176 | "artisanToolProficiencyNumber":"", 177 | "artisanToolProficiency":"", 178 | "wealth":"10" 179 | }, 180 | { 181 | "name":"Soldier", 182 | "proficiency":"Athletics, Intimidation", 183 | "toolProficiency":"Dice Set, Playing Cards Set, Vehicles (Land)", 184 | "languageType":"", 185 | "languageNumber":"", 186 | "languages":"", 187 | "equipment":"Insignia of Rank, Trophy from a Fallen Enemy, Set of Bone Dice, Set of Deck of Cards, Set of Common Clothes", 188 | "randomEquipmentNumber":"", 189 | "randomEquipment":"", 190 | "randomMusicProficiencyNumber":"", 191 | "randomMusicProficiency":"", 192 | "artisanToolProficiencyNumber":"", 193 | "artisanToolProficiency":"", 194 | "wealth":"10" 195 | }, 196 | { 197 | "name":"Urchin", 198 | "proficiency":"Sleight of Hand, Stealth", 199 | "toolProficiency":"Disguise Kit, Thief Tools", 200 | "languageType":"", 201 | "languageNumber":"", 202 | "languages":"", 203 | "equipment":"Small Knife, Map of City you grew up in, Pet mouse, Token to remember your parents, Set of Common Clothes", 204 | "randomEquipmentNumber":"", 205 | "randomEquipment":"", 206 | "randomMusicProficiencyNumber":"", 207 | "randomMusicProficiency":"", 208 | "artisanToolProficiencyNumber":"", 209 | "artisanToolProficiency":"", 210 | "wealth":"10" 211 | } 212 | ] 213 | } -------------------------------------------------------------------------------- /json/classes.json: -------------------------------------------------------------------------------- 1 | { 2 | "count":12, 3 | "results":[ 4 | { 5 | "name":"Barbarian", 6 | "hitDie":"12", 7 | "primaryAbility":"Strength", 8 | "savingThrows":"Strength, Constitution", 9 | "armorProficiences":"Light, Medium, Shields", 10 | "weaponProficiencies":"Simple, Martial", 11 | "wealth":"2d4", 12 | "weapon1":"battleaxe, flail, glaive, greataxe, greatsword, halberd, lance, longsword, maul, morningstar, pike, rapier, scimitar, shortsword, trident, war pick, whip", 13 | "weapon2":"handaxe x 2, club, dagger, greatclub, Light Hammer, Mace, Quarterstaff, sickle, Spear", 14 | "weapon3":"Javelins x 4", 15 | "equipment":"explorer's pack" 16 | }, 17 | { 18 | "name":"Bard", 19 | "hitDie":"8", 20 | "primaryAbility":"Charisma", 21 | "savingThrows":"Dexterity, Charisma", 22 | "armorProficiences":"Light", 23 | "weaponProficiencies":"Simple, Hand Crossbows, Longswords, Rapiers, Shortswords", 24 | "wealth":"5d4", 25 | "cantrips":"Blade Ward, Dancing Lights, Friends, Light, Mage Hand, Mending, Message, Minor Illusion, Prestidigitation, True Strike, Vicious Mockery", 26 | "spellsLevel1":"Animal Friendship, Bane, Charm Person, Comprehend Languages, Cure Wounds, Detect Magic, Disguise Self, Dissonant Whispers, Faerie Fire, Feather Fall, Healing Word, Heroism, Identify, Illusory Script, Longstrider, Silent Image, Sleep, Speak with Animals, Tasha's Hideous Laughter, Thunderwave, Unseen Servant", 27 | "weapon1":"rapier, longsword, handaxe, club, dagger, greatclub, Light Hammer, Mace, Quarterstaff, sickle, Spear", 28 | "weapon2":"dagger", 29 | "armor1":"Leather armor", 30 | "equipment:"diplomat's pack, entertainer's pack", 31 | "instrument":"Bagpipes, Drum, Dulcimer, Flute, Lute, Lyre, Horn, Shawm, Viol" 32 | }, 33 | { 34 | "name":"Cleric", 35 | "hitDie":"8", 36 | "primaryAbility":"Wisdom", 37 | "savingThrows":"Wisdom, Charisma", 38 | "armorProficiences":"Light, Medium, Shields", 39 | "weaponProficiencies":"Simple", 40 | "wealth":"5d4", 41 | "weapon1":"mace, warhammer", 42 | "armor1":"scale mail, leather armor,chain mail", 43 | "weapon2":"light crossbow with 20 bolts, longsword, handaxe, club, dagger, greatclub, Light Hammer, Mace, Quarterstaff, sickle, Spear", 44 | "equipment":"priest's pack, explorer's pack", 45 | "armor2":"shield", 46 | "accessory":"Holy Symbol" 47 | 48 | }, 49 | { 50 | "name":"Druid", 51 | "hitDie":"8", 52 | "primaryAbility":"Wisdom", 53 | "savingThrows":"Intelligence, Wisdom", 54 | "armorProficiences":"Light, Medium, Shields", 55 | "weaponProficiencies":"Clubs, Daggers, Darts, Javelins, Maces, Quarterstaffs, Scimitars, Sickles, Slings, Spears", 56 | "wealth":"2d4" 57 | "cantrips":"Druidcraft, Guidance, Mending, Poison Spray, Produce Flame, Resistance, Shillelagh, Thorn Whip", 58 | "spellsLevel1":"Animal Friendship, Charm Person, Create of Destory Water, Cure Wounds, Detect Magic, Detect Poison and Disease, Entangle, Faerie Fire, Fog Cloud, Goodberry, Healing Word, Jump, Longstrider, Purify Food and Drink, Speak with Animals, Thunderwave", 59 | "weapon1":"wooden shield, Clubs, Daggers, Darts, Javelins, Maces, Quarterstaffs, Scimitars, Sickles, Slings, Spears", 60 | "weapon2":"Scimitar, Clubs, Daggers, Darts, Javelins, Maces, Quarterstaffs, Scimitars, Sickles, Slings, Spears", 61 | "armor1":"leather armor", 62 | "equipment":"explorer's pack", 63 | "focus":"drudic focus" 64 | }, 65 | { 66 | "name":"Fighter", 67 | "hitDie":"10", 68 | "primaryAbility":"Strength, Dexterity", 69 | "savingThrows":"Strength, Constitution", 70 | "armorProficiences":"Light, Medium, Heavy, Shields", 71 | "weaponProficiencies":"Simple, Martial", 72 | "wealth":"5d4", 73 | "armor1":"chain mail, leather armor with a longbow and 20 arrows", 74 | "weapon1":"battleaxe, flail, glaive, greataxe, greatsword, halberd, lance, longsword, maul, morningstar, pike, rapier, scimitar, shortsword, trident, war pick, whip", 75 | "weapon2":"light rossbow and 20 bolts, hand axe x 2", 76 | "equipment":"dungeoneer's pack, explorer's pack" 77 | }, 78 | { 79 | "name":"Monk", 80 | "hitDie":"8", 81 | "primaryAbility":"Dexterity, Wisdom", 82 | "savingThrows":"Strength, Dexterity", 83 | "armorProficiences":"", 84 | "weaponProficiencies":"Simple, Shortswords", 85 | "wealth":"5d4", 86 | "weapon1":"shortsword,Clubs, Daggers, Darts, Javelins, Maces, Quarterstaffs, Scimitars, Sickles, Slings, Spears", 87 | "weapon2":"10 darts", 88 | "equipment":"dungoneer's pack, explorer's pack" 89 | }, 90 | { 91 | "name":"Paladin", 92 | "hitDie":"10", 93 | "primaryAbility":"Strength, Charisma", 94 | "savingThrows":"Wisdom, Charisma", 95 | "armorProficiences":"Light, Medium, Heavy, Shields", 96 | "weaponProficiencies":"Simple, Martial", 97 | "wealth":"5d4", 98 | "spellsLevel1":"Bless, Command, Compelled Duel, Cure Wounds, Detect Evil and Good, Detect Magic, Detect Poison and Disease, Divine Favor, Protection from Evil and Good, Purift Food and Drink, Searing Smite, Shield of Faith, Thunderous Smite, Wrathful Smite", 99 | "weapon1":"battleaxe, flail, glaive, greataxe, greatsword, halberd, lance, longsword, maul, morningstar, pike, rapier, scimitar, shortsword, trident, war pick, whip", 100 | "armor1":"shield", 101 | "weapon2":"javelins x 5, Clubs, Daggers, Darts, Javelins, Maces, Quarterstaffs, Scimitars, Sickles, Slings, Spears", 102 | "armor2":"chain mail, holy symbol", 103 | "equipment":"priest's pack, explorer's pack" 104 | 105 | }, 106 | { 107 | "name":"Ranger", 108 | "hitDie":"10", 109 | "primaryAbility":"Dexterity, Wisdom", 110 | "savingThrows":"Strength, Dexterity", 111 | "armorProficiences":"Light, Medium, Shields", 112 | "weaponProficiencies":"Simple, Martial", 113 | "wealth":"5d4", 114 | "armor1":"scale mail, leather armor", 115 | "weapon1":"shortsword,Clubs, Daggers, Darts, Javelins, Maces, Quarterstaffs, Scimitars, Sickles, Slings, Spears", 116 | "equipment":"dungeoneer's pack, explorer's pack", 117 | "weapon2":"longbow and a quiver of 20 arrows", 118 | "spellsLevel1":"Alarm, Animal Friendship, Cure Wounds, Detect Magic, Detect Poison and Disease, Ensnaring Strike, Fog Cloud, Goodberry, Hail of Thorns, Hunter's Mark, Jump, Longstrider, Speak with Animals", 119 | 120 | }, 121 | { 122 | "name":"Rogue", 123 | "hitDie":"8", 124 | "primaryAbility":"Dexterity", 125 | "savingThrows":"Dexterity, Intelligence", 126 | "armorProficiences":"Light", 127 | "weaponProficiencies":"Simple, Hand Crossbows, Longswords, Rapiers, Shortswords", 128 | "wealth":"4d4", 129 | "weapon1":"rapier, shortsword", 130 | "weapon2":"shortbow and quiver of 20 arrows, shortsword", 131 | "equipment":"burglar's pack, dungeoneer's pack, explorer's pack", 132 | "armor1":"leather armor", 133 | weapon3":"daggers x 2", 134 | "tools":"thieves' tools" 135 | 136 | }, 137 | { 138 | "name":"Sorcerer", 139 | "hitDie":"6", 140 | "primaryAbility":"Charisma", 141 | "savingThrows":"Constitution, Charisma", 142 | "armorProficiences":"", 143 | "weaponProficiencies":"Dagger, Darts, Slings, Quarterstaffs, Light Crossbows", 144 | "wealth":"3d4", 145 | "cantrips":"Acid Splash, Blade Ward, Chill Touch, Dancing Lights, Fire Bolt, Friends, Light, Mage Hand, Mending, Message, Minor Illusion, Poison Spray, Prestidigitation, Ray of Frost, Shocking Grasp, True Strike", 146 | "spellsLevel1":"Burning Hands, Charm Person, Chromatic Orb, Color Spray, Comprehend Languages, Detect Magic, Disguise Self, Expedious Retreat, False Life, Feather Fall, Fog Cloud, Jump, Mage Armor, Magic Missile, Ray of Sickness, Shield, Silent Image, Sleep, Thunderwave, Witch Bolt", 147 | "weapon1":"light crossbow and 20 bolts, shortsword,Clubs, Daggers, Darts, Javelins, Maces, Quarterstaffs, Scimitars, Sickles, Slings, Spears", 148 | "equipment":"dungeoneer's pack, explorer's pack", 149 | "weapon2":"daggers x 2", 150 | "focus":"component pouch, arcane focus" 151 | 152 | }, 153 | { 154 | "name":"Warlock", 155 | "hitDie":"8", 156 | "primaryAbility":"Charisma", 157 | "savingThrows":"Wisdom, Charisma", 158 | "armorProficiences":"Light", 159 | "weaponProficiencies":"Simple", 160 | "wealth":"4d4", 161 | "weapon1":"light crossbow and 20 bolts, shortsword,Clubs, Daggers, Darts, Javelins, Maces, Quarterstaffs, Scimitars, Sickles, Slings, Spears", 162 | "focus":"component pouch, arcane focus", 163 | "equipment":"scholar's pack, dungeoneer's pack", 164 | "armor1":"leather armor", 165 | "weapon2":"shortsword,Clubs, Daggers, Darts, Javelins, Maces, Quarterstaffs, Scimitars, Sickles, Slings, Spears", 166 | "weapon3":"daggers x 2" 167 | "cantrips":"Blade Ward, Chill Touch, Eldritch Blast, Friends, Mage Hand, Minor Illusion, Poison Spray, Prestiditation, True Strike", 168 | "spellsLevel1":"Armor of Agathys, Arms of Hadar, Charm Person, Comprehend Languages, Expedious Retreat, Hellish Rebuke, Hex, Illusory Script, Protection from Evil and Good, Unseen Servant, Witch Bolt" 169 | 170 | }, 171 | { 172 | "name":"Wizard", 173 | "hitDie":"6", 174 | "primaryAbility":"Intelligence", 175 | "savingThrows":"Intelligence, Wisdom", 176 | "armorProficiences":"", 177 | "weaponProficiencies":"Daggers, Darts, Slings, Quarterstaffs, Light Crossbows", 178 | "wealth":"4d4", 179 | "Cantrips":"Acid Splash, Blade Ward, Chill Touch, Dancing Lights, Fire Bolt, Friends, Light, Mage Hand, Mending, Message, Minor Illusion, Poison Spray, Prestiditation, Ray of Frost, Shocking Grasp, True Strike", 180 | "spellsLevel1":"Alarm, Burning Hands, Charm Person, Chromatic Orb, Color Spray, Comprehend Languages, Detect Magic, Disguise Self, Expedious Retreat, False Life, Feather Fall, Find Familiar, Fog Cloud, Grease, Identify, Illusory Script, Jump, Longstrider, Mage Armor, Magic Missile, Protection from Evil and good, Ray of sickness, Shield, Silent image, Sleep, Tasha's Hideous Laughter, Tenser's Floating Disk, Thunderwave, Unseen Servant, Witch Bolt", 181 | "weapon1":"quarterstaff, dagger", 182 | "focus":"component pouch, arcane focus", 183 | "equipment":"scholar's pack, explorer's pack", 184 | "book":"spellbook" 185 | } 186 | ] 187 | } -------------------------------------------------------------------------------- /json/races.json: -------------------------------------------------------------------------------- 1 | { 2 | "count":14, 3 | "results":[ 4 | { 5 | "name":"Hill Dwarf", 6 | "speed":"25", 7 | "abilityScoreIncrease":"Constitution", 8 | "abilityScoreValue":"2", 9 | "proficiency":"Darkvision" 10 | }, 11 | { 12 | "name":"Mountain Dwarf", 13 | "speed":"25" 14 | }, 15 | { 16 | "name":"High Elf", 17 | "speed":"30" 18 | }, 19 | { 20 | "name":"Wood Elf", 21 | "speed":"35" 22 | }, 23 | { 24 | "name":"Dark Elf", 25 | "speed":"30" 26 | }, 27 | { 28 | "name":"Lightfoot Halfling", 29 | "speed":"25" 30 | }, 31 | { 32 | "name":"Stout Halfling", 33 | "speed":"25" 34 | }, 35 | { 36 | "name":"Human", 37 | "speed":"30" 38 | }, 39 | { 40 | "name":"Dragonborn", 41 | "speed":"30" 42 | }, 43 | { 44 | "name":"Forest Gnome", 45 | "speed":"25" 46 | }, 47 | { 48 | "name":"Rock Gnome", 49 | "speed":"25" 50 | }, 51 | { 52 | "name":"Half-Elf", 53 | "speed":"30" 54 | }, 55 | { 56 | "name":"Half-Orc", 57 | "speed":"30" 58 | }, 59 | { 60 | "name":"Tiefling", 61 | "speed":"30" 62 | } 63 | ] 64 | } -------------------------------------------------------------------------------- /one_shot_generator.py: -------------------------------------------------------------------------------- 1 | from flask import Flask, render_template 2 | from characterSheet import characterSheet as cSheet 3 | from environment import environment 4 | 5 | app = Flask(__name__) 6 | app.debug = 'true' 7 | 8 | @app.route('/') 9 | def main(): 10 | c = cSheet() 11 | return render_template('index.html', 12 | charname=c.name, 13 | Strengthscore = c.strengthScore, 14 | Dexterityscore = c.dexterityScore, 15 | Constitutionscore = c.constitutionScore, 16 | Wisdomscore = c.wisdomScore, 17 | Intelligencescore = c.intelligenceScore, 18 | Charismascore = c.charismaScore, 19 | Strengthmod=c.strengthMod, 20 | Dexteritymod = c.dexterityMod, 21 | Constitutionmod = c.constitutionMod, 22 | Wisdommod = c.wisdomMod, 23 | Intelligencemod = c.intelligenceMod, 24 | Charismamod = c.charismaMod, 25 | classlevel = c.charClass + ' ' + str(c.charLevel), 26 | race = c.charRace, 27 | background = c.charBackground, 28 | alignment = c.charAlignment, 29 | personality = c.charPersonality, 30 | ideals = c.charIdeal, 31 | bonds = c.charBond, 32 | flaws = c.charFlaw, 33 | speed = c.charSpeed + 'ft', 34 | strengthSaveProf = c.strSavingThrwProf, 35 | dexteritySaveProf= c.dexSavingThrwProf, 36 | constitutionSaveProf= c.conSavingThrwProf, 37 | wisdomSaveProf= c.wisSavingThrwProf, 38 | intelligenceSaveProf= c.intSavingThrwProf, 39 | charismaSaveProf= c.chaSavingThrwProf, 40 | proficiencybonus = c.getStringInteger(c.charProficiencyBonus), 41 | strengthSave = c.getStringInteger(c.strSavingThrw), 42 | dexteritySave = c.getStringInteger(c.dexSavingThrw), 43 | constitutionSave = c.getStringInteger(c.conSavingThrw), 44 | wisdomSave = c.getStringInteger(c.wisSavingThrw), 45 | intelligenceSave = c.getStringInteger(c.intSavingThrw), 46 | charismaSave = c.getStringInteger(c.chaSavingThrw), 47 | totalhd = str(c.charLevel) + "d" + str(c.maxHitDie), 48 | maxhp = c.maxHP, 49 | passiveperception = c.passiveWisdom, 50 | gold = c.gold) 51 | 52 | @app.route('/dungeon') 53 | def creatDungeon(): 54 | createdDungeon = environment() 55 | return render_template('home.html', dungeon=createdDungeon.dungeonLayout) 56 | 57 | if __name__ == '__main__': 58 | app.run() -------------------------------------------------------------------------------- /plot.py: -------------------------------------------------------------------------------- 1 | class plot(object): 2 | 3 | def __init__(self): -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | flask 2 | Faker 3 | requests -------------------------------------------------------------------------------- /templates/home.html: -------------------------------------------------------------------------------- 1 | {% include 'layout.html' %} 2 | 3 | {% block body %} 4 |
6 |10 |7 |9 |The generated dungeon is:
8 |
{{ dungeon }}