CINXE.COM
Meandering Banter: Automatic List to HTML Translator - Version 2
<!DOCTYPE html> <html class='v2' dir='ltr' lang='en'> <head> <link href='https://www.blogger.com/static/v1/widgets/3566091532-css_bundle_v2.css' rel='stylesheet' type='text/css'/> <meta content='width=1100' name='viewport'/> <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/> <meta content='blogger' name='generator'/> <link href='https://meanderingbanter.blogspot.com/favicon.ico' rel='icon' type='image/x-icon'/> <link href='http://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html' rel='canonical'/> <link rel="alternate" type="application/atom+xml" title="Meandering Banter - Atom" href="https://meanderingbanter.blogspot.com/feeds/posts/default" /> <link rel="alternate" type="application/rss+xml" title="Meandering Banter - RSS" href="https://meanderingbanter.blogspot.com/feeds/posts/default?alt=rss" /> <link rel="service.post" type="application/atom+xml" title="Meandering Banter - Atom" href="https://www.blogger.com/feeds/5563086658557974847/posts/default" /> <link rel="alternate" type="application/atom+xml" title="Meandering Banter - Atom" href="https://meanderingbanter.blogspot.com/feeds/3817865132288810912/comments/default" /> <!--Can't find substitution for tag [blog.ieCssRetrofitLinks]--> <meta content='http://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html' property='og:url'/> <meta content='Automatic List to HTML Translator - Version 2' property='og:title'/> <meta content='Update : Version 3 聽is now live, has fewer bugs (???) and greatly improved syntax NEW FEATURES Multiple tables in one Nested sub-tables ...' property='og:description'/> <title>Meandering Banter: Automatic List to HTML Translator - Version 2</title> <style id='page-skin-1' type='text/css'><!-- /* ----------------------------------------------- Blogger Template Style Name: Simple Designer: Blogger URL: www.blogger.com ----------------------------------------------- */ /* Content ----------------------------------------------- */ body { font: normal normal 12px Arial, Tahoma, Helvetica, FreeSans, sans-serif; color: #cdcdcd; background: #3c3c3c none repeat scroll top left; padding: 0 40px 40px 40px; } html body .region-inner { min-width: 0; max-width: 100%; width: auto; } h2 { font-size: 22px; } a:link { text-decoration:none; color: #0083ff; } a:visited { text-decoration:none; color: #0078d5; } a:hover { text-decoration:underline; color: #0078d5; } .body-fauxcolumn-outer .fauxcolumn-inner { background: transparent none repeat scroll top left; _background-image: none; } .body-fauxcolumn-outer .cap-top { position: absolute; z-index: 1; height: 400px; width: 100%; } .body-fauxcolumn-outer .cap-top .cap-left { width: 100%; background: transparent none repeat-x scroll top left; _background-image: none; } .content-outer { -moz-box-shadow: 0 0 40px rgba(0, 0, 0, .15); -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .15); -goog-ms-box-shadow: 0 0 10px #333333; box-shadow: 0 0 40px rgba(0, 0, 0, .15); margin-bottom: 1px; } .content-inner { padding: 10px 10px; } .content-inner { background-color: #424242; } /* Header ----------------------------------------------- */ .header-outer { background: rgba(53, 53, 53, 0) none repeat-x scroll 0 -400px; _background-image: none; } .Header h1 { font: normal normal 60px 'Times New Roman', Times, FreeSerif, serif; color: #ffffff; text-shadow: -1px -1px 1px rgba(0, 0, 0, .2); } .Header h1 a { color: #ffffff; } .Header .description { font-size: 140%; color: #ababab; } .header-inner .Header .titlewrapper { padding: 22px 30px; } .header-inner .Header .descriptionwrapper { padding: 0 30px; } /* Tabs ----------------------------------------------- */ .tabs-inner .section:first-child { border-top: 1px solid #4a4a4a; } .tabs-inner .section:first-child ul { margin-top: -1px; border-top: 1px solid #4a4a4a; border-left: 0 solid #4a4a4a; border-right: 0 solid #4a4a4a; } .tabs-inner .widget ul { background: #3a3a3a none repeat-x scroll 0 -800px; _background-image: none; border-bottom: 1px solid #4a4a4a; margin-top: 0; margin-left: -30px; margin-right: -30px; } .tabs-inner .widget li a { display: inline-block; padding: .6em 1em; font: normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif; color: #9b9b9b; border-left: 1px solid #424242; border-right: 0 solid #4a4a4a; } .tabs-inner .widget li:first-child a { border-left: none; } .tabs-inner .widget li.selected a, .tabs-inner .widget li a:hover { color: #ffffff; background-color: #000000; text-decoration: none; } /* Columns ----------------------------------------------- */ .main-outer { border-top: 0 solid #4a4a4a; } .fauxcolumn-left-outer .fauxcolumn-inner { border-right: 1px solid #4a4a4a; } .fauxcolumn-right-outer .fauxcolumn-inner { border-left: 1px solid #4a4a4a; } /* Headings ----------------------------------------------- */ div.widget > h2, div.widget h2.title { margin: 0 0 1em 0; font: normal bold 11px Arial, Tahoma, Helvetica, FreeSans, sans-serif; color: #ffffff; } /* Widgets ----------------------------------------------- */ .widget .zippy { color: #9b9b9b; text-shadow: 2px 2px 1px rgba(0, 0, 0, .1); } .widget .popular-posts ul { list-style: none; } /* Posts ----------------------------------------------- */ h2.date-header { font: normal bold 11px Arial, Tahoma, Helvetica, FreeSans, sans-serif; } .date-header span { background-color: rgba(53, 53, 53, 0); color: #cdcdcd; padding: inherit; letter-spacing: inherit; margin: inherit; } .main-inner { padding-top: 30px; padding-bottom: 30px; } .main-inner .column-center-inner { padding: 0 15px; } .main-inner .column-center-inner .section { margin: 0 15px; } .post { margin: 0 0 25px 0; } h3.post-title, .comments h4 { font: normal normal 22px Arial, Tahoma, Helvetica, FreeSans, sans-serif; margin: .75em 0 0; } .post-body { font-size: 110%; line-height: 1.4; position: relative; } .post-body img, .post-body .tr-caption-container, .Profile img, .Image img, .BlogList .item-thumbnail img { padding: 0; background: #363636; border: 1px solid #363636; -moz-box-shadow: 1px 1px 5px rgba(0, 0, 0, .1); -webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, .1); box-shadow: 1px 1px 5px rgba(0, 0, 0, .1); } .post-body img, .post-body .tr-caption-container { padding: 1px; } .post-body .tr-caption-container { color: #cdcdcd; } .post-body .tr-caption-container img { padding: 0; background: transparent; border: none; -moz-box-shadow: 0 0 0 rgba(0, 0, 0, .1); -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .1); box-shadow: 0 0 0 rgba(0, 0, 0, .1); } .post-header { margin: 0 0 1.5em; line-height: 1.6; font-size: 90%; } .post-footer { margin: 20px -2px 0; padding: 5px 10px; color: #8a8a8a; background-color: #404040; border-bottom: 1px solid #4d4d4d; line-height: 1.6; font-size: 90%; } #comments .comment-author { padding-top: 1.5em; border-top: 1px solid #4a4a4a; background-position: 0 1.5em; } #comments .comment-author:first-child { padding-top: 0; border-top: none; } .avatar-image-container { margin: .2em 0 0; } #comments .avatar-image-container img { border: 1px solid #363636; } /* Comments ----------------------------------------------- */ .comments .comments-content .icon.blog-author { background-repeat: no-repeat; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9sLFwMeCjjhcOMAAAD+SURBVDjLtZSvTgNBEIe/WRRnm3U8RC1neQdsm1zSBIU9VVF1FkUguQQsD9ITmD7ECZIJSE4OZo9stoVjC/zc7ky+zH9hXwVwDpTAWWLrgS3QAe8AZgaAJI5zYAmc8r0G4AHYHQKVwII8PZrZFsBFkeRCABYiMh9BRUhnSkPTNCtVXYXURi1FpBDgArj8QU1eVXUzfnjv7yP7kwu1mYrkWlU33vs1QNu2qU8pwN0UpKoqokjWwCztrMuBhEhmh8bD5UDqur75asbcX0BGUB9/HAMB+r32hznJgXy2v0sGLBcyAJ1EK3LFcbo1s91JeLwAbwGYu7TP/3ZGfnXYPgAVNngtqatUNgAAAABJRU5ErkJggg==); } .comments .comments-content .loadmore a { border-top: 1px solid #9b9b9b; border-bottom: 1px solid #9b9b9b; } .comments .comment-thread.inline-thread { background-color: #404040; } .comments .continue { border-top: 2px solid #9b9b9b; } /* Accents ---------------------------------------------- */ .section-columns td.columns-cell { border-left: 1px solid #4a4a4a; } .blog-pager { background: transparent none no-repeat scroll top center; } .blog-pager-older-link, .home-link, .blog-pager-newer-link { background-color: #424242; padding: 5px; } .footer-outer { border-top: 0 dashed #bbbbbb; } /* Mobile ----------------------------------------------- */ body.mobile { background-size: auto; } .mobile .body-fauxcolumn-outer { background: transparent none repeat scroll top left; } .mobile .body-fauxcolumn-outer .cap-top { background-size: 100% auto; } .mobile .content-outer { -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, .15); box-shadow: 0 0 3px rgba(0, 0, 0, .15); } .mobile .tabs-inner .widget ul { margin-left: 0; margin-right: 0; } .mobile .post { margin: 0; } .mobile .main-inner .column-center-inner .section { margin: 0; } .mobile .date-header span { padding: 0.1em 10px; margin: 0 -10px; } .mobile h3.post-title { margin: 0; } .mobile .blog-pager { background: transparent none no-repeat scroll top center; } .mobile .footer-outer { border-top: none; } .mobile .main-inner, .mobile .footer-inner { background-color: #424242; } .mobile-index-contents { color: #cdcdcd; } .mobile-link-button { background-color: #0083ff; } .mobile-link-button a:link, .mobile-link-button a:visited { color: #ffffff; } .mobile .tabs-inner .section:first-child { border-top: none; } .mobile .tabs-inner .PageList .widget-content { background-color: #000000; color: #ffffff; border-top: 1px solid #4a4a4a; border-bottom: 1px solid #4a4a4a; } .mobile .tabs-inner .PageList .widget-content .pagelist-arrow { border-left: 1px solid #4a4a4a; } --></style> <style id='template-skin-1' type='text/css'><!-- body { min-width: 960px; } .content-outer, .content-fauxcolumn-outer, .region-inner { min-width: 960px; max-width: 960px; _width: 960px; } .main-inner .columns { padding-left: 0; padding-right: 310px; } .main-inner .fauxcolumn-center-outer { left: 0; right: 310px; /* IE6 does not respect left and right together */ _width: expression(this.parentNode.offsetWidth - parseInt("0") - parseInt("310px") + 'px'); } .main-inner .fauxcolumn-left-outer { width: 0; } .main-inner .fauxcolumn-right-outer { width: 310px; } .main-inner .column-left-outer { width: 0; right: 100%; margin-left: -0; } .main-inner .column-right-outer { width: 310px; margin-right: -310px; } #layout { min-width: 0; } #layout .content-outer { min-width: 0; width: 800px; } #layout .region-inner { min-width: 0; width: auto; } body#layout div.add_widget { padding: 8px; } body#layout div.add_widget a { margin-left: 32px; } --></style> <link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=5563086658557974847&zx=cecb4b0e-34a4-4c0f-bc62-101ad0efe300' media='none' onload='if(media!='all')media='all'' rel='stylesheet'/><noscript><link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=5563086658557974847&zx=cecb4b0e-34a4-4c0f-bc62-101ad0efe300' rel='stylesheet'/></noscript> <meta name='google-adsense-platform-account' content='ca-host-pub-1556223355139109'/> <meta name='google-adsense-platform-domain' content='blogspot.com'/> </head> <body class='loading variant-dark'> <div class='navbar section' id='navbar' name='Navbar'><div class='widget Navbar' data-version='1' id='Navbar1'><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d5563086658557974847\x26blogName\x3dMeandering+Banter\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dLIGHT\x26layoutType\x3dLAYOUTS\x26searchRoot\x3dhttps://meanderingbanter.blogspot.com/search\x26blogLocale\x3den\x26v\x3d2\x26homepageUrl\x3dhttps://meanderingbanter.blogspot.com/\x26targetPostID\x3d3817865132288810912\x26blogPostOrPageUrl\x3dhttps://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html\x26vt\x3d-711351063220320573', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe", messageHandlersFilter: gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER, messageHandlers: { 'blogger-ping': function() {} } }); } }); </script><script type="text/javascript"> (function() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = '//pagead2.googlesyndication.com/pagead/js/google_top_exp.js'; var head = document.getElementsByTagName('head')[0]; if (head) { head.appendChild(script); }})(); </script> </div></div> <div class='body-fauxcolumns'> <div class='fauxcolumn-outer body-fauxcolumn-outer'> <div class='cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left'> <div class='fauxborder-right'></div> <div class='fauxcolumn-inner'> </div> </div> <div class='cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </div> <div class='content'> <div class='content-fauxcolumns'> <div class='fauxcolumn-outer content-fauxcolumn-outer'> <div class='cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left'> <div class='fauxborder-right'></div> <div class='fauxcolumn-inner'> </div> </div> <div class='cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </div> <div class='content-outer'> <div class='content-cap-top cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left content-fauxborder-left'> <div class='fauxborder-right content-fauxborder-right'></div> <div class='content-inner'> <header> <div class='header-outer'> <div class='header-cap-top cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left header-fauxborder-left'> <div class='fauxborder-right header-fauxborder-right'></div> <div class='region-inner header-inner'> <div class='header section' id='header' name='Header'><div class='widget Header' data-version='1' id='Header1'> <div id='header-inner'> <div class='titlewrapper'> <h1 class='title'> <a href='https://meanderingbanter.blogspot.com/'> Meandering Banter </a> </h1> </div> <div class='descriptionwrapper'> <p class='description'><span>Neoclassical Elfgames</span></p> </div> </div> </div></div> </div> </div> <div class='header-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </header> <div class='tabs-outer'> <div class='tabs-cap-top cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left tabs-fauxborder-left'> <div class='fauxborder-right tabs-fauxborder-right'></div> <div class='region-inner tabs-inner'> <div class='tabs no-items section' id='crosscol' name='Cross-Column'></div> <div class='tabs no-items section' id='crosscol-overflow' name='Cross-Column 2'></div> </div> </div> <div class='tabs-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> <div class='main-outer'> <div class='main-cap-top cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left main-fauxborder-left'> <div class='fauxborder-right main-fauxborder-right'></div> <div class='region-inner main-inner'> <div class='columns fauxcolumns'> <div class='fauxcolumn-outer fauxcolumn-center-outer'> <div class='cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left'> <div class='fauxborder-right'></div> <div class='fauxcolumn-inner'> </div> </div> <div class='cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> <div class='fauxcolumn-outer fauxcolumn-left-outer'> <div class='cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left'> <div class='fauxborder-right'></div> <div class='fauxcolumn-inner'> </div> </div> <div class='cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> <div class='fauxcolumn-outer fauxcolumn-right-outer'> <div class='cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left'> <div class='fauxborder-right'></div> <div class='fauxcolumn-inner'> </div> </div> <div class='cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> <!-- corrects IE6 width calculation --> <div class='columns-inner'> <div class='column-center-outer'> <div class='column-center-inner'> <div class='main section' id='main' name='Main'><div class='widget Blog' data-version='1' id='Blog1'> <div class='blog-posts hfeed'> <div class="date-outer"> <h2 class='date-header'><span>Wednesday, October 31, 2018</span></h2> <div class="date-posts"> <div class='post-outer'> <div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'> <meta content='5563086658557974847' itemprop='blogId'/> <meta content='3817865132288810912' itemprop='postId'/> <a name='3817865132288810912'></a> <h3 class='post-title entry-title' itemprop='name'> Automatic List to HTML Translator - Version 2 </h3> <div class='post-header'> <div class='post-header-line-1'></div> </div> <div class='post-body entry-content' id='post-body-3817865132288810912' itemprop='description articleBody'> <b>Update</b>: <a href="https://slightadjustments.blogspot.com/p/generator.html">Version 3</a> is now live, has fewer bugs (???) and greatly improved syntax<br /><br /><b>NEW FEATURES</b><br /> <br /> <ul> <li>Multiple tables in one</li> <li>Nested sub-tables</li> <li>Variable spacing</li> <li>Sample outputs for instant feedback</li> <li>Bugs</li> <li>Terrible syntax</li> </ul> If you liked the <a href="https://meanderingbanter.blogspot.com/2018/09/automatic-list-to-html-translator.html">first one</a> for it's simplicity and ease of use... keep using it. Version 2 has a quite a bit more functionality, but has sadly become a little cluttered in the process. To assist with that, you can see a randomly selected sample of the generator produced each time it is remade. It also has nested sub-tables, but those are a whole new kettle of fish. I've included an example in the default text of the generator, my best advice would be to look at that and play around with it.<br /> <br /> A few pointers:<br /> <br /> Firstly - <b>The first line in each table is the "title" of that table, not one of the entries.</b> This is a departure from version 1, but should be relatively intuitive.<br /> <br /> Secondly - <b>To start a second table, leave a blank line then continue.</b> It may be easy to think of each table in the generator as a different "paragraph", and format the same way. If you do not want for a table to have a title for any reason, you can use two blank lines.<br /> <br /> Thirdly - <b>Each time the Codify button is pressed, the code will gain a new random tag, and produce a different sample output.</b> Unfortunately, at the time of writing, this sample does not correctly parse the nested sub-tables. You'll have to download and open the generator in a browser to see those in action.<br /> <br /> Fourthly - <b>You can produce different types of generator by adjusting the number of "breaks between outputs".</b> For example:<br /> <br /> Zero breaks (for/from <a href="https://sheepandsorcery.blogspot.com/2018/10/into-weird-blue-yonder-weird-monster.html" rel="nofollow">Sheep and Sorcery</a>)<br /> <br /> <button onclick="selectRandommJf()">Weird Monster</button><br /> <div id="outputTextmJf"> </div> <br /> <br /> Two breaks (from <a href="https://www.reddit.com/r/d100/comments/9qfkgl/d20x5_wacky_wands/" rel="nofollow">here</a>)<br /> <br /> <button onclick="selectRandomfY6()">New Wand</button><br /> <div id="outputTextfY6"> </div> <br /> <br /> Without further ado, the Automatic List Generator Mark Two! As always, <u>no refunds</u>. Let me know if you've used it for anything! I'm lowering the XP bounty to 20 for this one, since there are likely to be dozens of bugs.<br /> <br /> <br /> <textarea cols="60" id="name" rows="1">Button label (leave unchanged for "Generate")</textarea><br /> <textarea cols="60" id="content" rows="20">Table 1 Title: Entry A Entry B Entry C Entry D Table 2 (there is a space at the end of this line): Entry A Entry B Entry C Entry D Table 3 (set 'break between outputs' to 0 and see how this works) apple banana carrot danish - red green blue yellow - 1 2 3 4 Table 4 (this is how you do a nested subtable): {But|it|doesn't|work|in|the|sample|output}{8}</textarea> <br /> <button onclick="getDetails()">Codify Me</button> Breaks between outputs (between 0 and 5): <input id="lineQuant" max="5" min="0" type="number" value="2" /> <br /> - - - Sample output - - - <br /> <div id="testOutput"> </div> <br /> <div id="downloadButton"> </div> <br /> <br /> - - - Code Blob - - - <br /> <div id="outputText"> </div> <script> var name; var tag; function r(x){return Math.floor(Math.random() * x);} function getDetails(){ name = document.getElementById("name").value; if(name=='Button label (leave unchanged for "Generate")') name = 'Generate'; tag = randomTag(); var output = "<button onclick='selectRandom"+tag+"()'>"+name+"</button><br /><p id='outputText"+tag+"'></p><script>function r(x){return Math.floor(Math.random() * x);} function selectRandom"+tag+"(){document.getElementById('outputText"+tag+"').innerHTML = "; var lB = parseInt(document.getElementById("lineQuant").value); var sample = ''; var currentData = []; var entries = 1 var list = document.getElementById("content").value.split('\n'); for (var i = 0; i < list.length; i++) { var x = list[i].replace(/{(\d+)}/g,"[r($1)]+\`"); list[i] = x.replace(/{/g,"\`+[\`").replace(/}/g,"\`]").replace(/\|/g,"\`,\`"); } for (var i = 0; i < list.length; i++) { //skip the last line if(i==0) { output += "\`"+list[i]+"\`+["; sample += list[i]; output += "\`"+list[++i]+"\`"; //first entry due to comma handling currentData.push(list[i]); } else if (list[i]=="" && i<list.length-1){ sample += currentData[r(currentData.length)]; currentData = []; output += "][r("+String(entries)+")]"; if(lB>0) { output += "+\`"+"<br />".repeat(lB)+"\`"; sample += "<br />".repeat(lB); } output += "+\`"+list[++i]+"\`+["; sample += list[i]; output += "\`"+list[++i]+"\`"; //first entry due to comma handling currentData.push(list[i]); entries = 1; } else { output += ",\`"+list[i]+"\`"; currentData.push(list[i]); entries++ } } sample += currentData[r(currentData.length)]; //last one; output += "][r("+String(entries)+")]"; output += "}</script>"; document.getElementById("outputText").innerHTML = output; document.getElementById("downloadButton").innerHTML = "<button onclick='downloadButton()'>Download script</button>"; document.getElementById("testOutput").innerHTML = sample; } function randomTag(){ var aN = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" return String(aN.charAt(Math.floor(Math.random() * aN.length))+aN.charAt(Math.floor(Math.random() * aN.length))+aN.charAt(Math.floor(Math.random() * aN.length))); } function downloadButton() { var element = document.createElement('a'); var saveText = document.getElementById("outputText").innerHTML.replace(/</g,"<").replace(/>/g,">"); console.log(saveText); saveText += "<br /><br />Copy this text into the HTML section of a blog post:<br /><br />" saveText += document.getElementById("outputText").innerHTML; element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(saveText)); element.setAttribute('download', "Random Generator"+(document.getElementById("name").value=='Button label (leave unchanged for "Generate")'?'':' - '+document.getElementById("name").value)+".html"); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element); } function selectRandomfY6(){ document.getElementById('outputTextfY6').innerHTML = `This Wand Looks Like... `+[`A miniature model of a minaret.`,`A porcelain sewing needle with throbbing blue veins.`,`A tower of petrified butterflies.`,`A thoroughly charred stake covered in incandescent runes.`,`The devil’s crack pipe.`,`A giant, cavity-riddled snake’s fang.`,`A mummified forearm and hand with an outstretched index finger.`,`The baculum of a whale with bone cancer.`,`A peacock’s tail feather lacquered with amber.`,`A morrning star made for a deranged child.`,`A coil of gold and silver that thrums electrically.`,`A stick someone picked off the ground, still crusted with dirt.`,`A macro-scale bacteriophage cast from colourful glass.`,`The barrel of a gun made by someone who’s only had guns poorly described to them.`,`An unmelting icicle with drops of blood frozen within.`,`An ebony branch carved with countless tiny screaming faces.`,`A prayer wheel, only far longer than it is wide.`,`A heavy bar of rusted iron.`,`Three clay rods of yellow, red, and black that float detached a little ways from each other.`,`A ghostly flower in eternal bloom.`][Math.floor(Math.random() * 20)]+`<br><br>`+`This Wand Can... `+[`Produce a stream of highly flammable, delicately shimmering oil with all the delicacy of a firehose.`,`Lock an inanimate object no larger than a 10x10x10 cube in place for as long as the wand is pointed at it.`,`Shoot big venomous centipedes that vaguely resemble the wand itself out its tip.`,`Puppet the body part of a living thing or corpse it’s pointed at.`,`Emit an invisible cutting beam.`,`Suck things it’s pointed at into a pocket dimension, or expel sucked up things from the same.`,`Swap the positions of any two objects of no more than one 10x10x10 cube in size each by pointing at them in turn.`,`Conjure a ball of lightning connected to its tip by a crackling bolt of the same, which the wielder can then swing like a flail or toss like a bola.`,`Trace glowing lines in the air that the wielder can will to solidify into razor-sharp crystal. Lines drawn into closed shapes will solidify into those shapes rather than the framework they form.`,`Emit rays of mutagenic viridiance.`,`Open a temporary tunnel through any material it’s pointed at. Creatures so be-holed are unharmed but likely disoriented.`,`Spawn a hideous fetal monster connected to the wand’s tip by an umbilical cord. So long as the cord is attached the wielder can mentally control the monster. Severing the cord sends the monster into an uncontrollable berserker rage during which it swiftly shrivels up and dies.`,`Spray a cloud of flying leeches which follow where the wand is pointed, and can be commanded to return with the blood they’ve stolen to heal the wielder.`,`Accelerate any target it’s pointed at along their current vector.`,`Produce a cloud of poisonous vapour that becomes heavier and more potent over time.`,`Extend a length of chain from its tip that the wand’s wielder can animate.`,`Shoot a bead that embeds itself in the first surface it strikes. Thereafter the wielder can sense the position of the bead and teleport whatever it’s embedded in to their own position, but this second option destroys the bead in the process.`,`Project a cone with the pointy end at the wand’s tip, within which there is hard vacuum and zero gravity.`,`Cause tentacular webbing to sprout out from where it’s pointed.`,`Transform anything its tip is pressed to into a bolt which it then fires. Midway through its flight the bolt transforms back into what it was.`][Math.floor(Math.random() * 20)]+`<br><br>`+`This Wand’s Charges... `+[`Are displayed by little purple flames that hover along the wand’s length. With each charge used up, a flame is extinguished.`,`Are tied to the cycles of the moon. It’s got more charges when the moon’s fuller.`,`Are reflected in the wand’s physical condition. It will become more damaged as its charges run out, and likewise damage to the wand will deplete its charges.`,`Are drained by exposure to water.`,`Increase the deeper underground it is.`,`Are drawn from the blood of its wielder. Recharging it wounds them.`,`Are drawn from its wielder’s remaining lifespan. Recharging it ages them.`,`Can be heard by its wielder as a chorus of voices. Each charge spent is a voice in the chorus silenced.`,`Are spent in an amount of 1d3-1 with each use.`,`Cause nearby plantlife to wither when they’re spent.`,`Will spend themselves to protect the wand against thieves.`,`Increase by one for each year the wand is held by a living wielder. This increase resets when the wand changes hands, even if the wand is later returned to the same wielder.`,`Can be recharged by a handful of different methods, each of which lends a twist to uses of the wand powered by their charges.`,`Cause it to shine in spectrums not visible to the human eye.`,`Can also be spent to temporarily animate the wand and let it float independently to act on its wielder’s will.`,`Are not necessarily expended when the wand is used. Rather, the charge can be expended when the wand is used to prevent the risk of horrible side-effects.`,`Can be expended all at once while the wand is at full capacity for a majorly boosted version of its power.`,`Number as many as the number of intelligent living creatures you’ve killed at the moment you first touch the wand.`,`Attract vermin with a strength proportional to how many are left in the wand.`,`Are represented by the wand’s stiffness. The lower its charges, the floppier the wand becomes.`][Math.floor(Math.random() * 20)]+`<br><br>`+`When This Wand’s Charges Run Out... `+[`It explodes with severity proportional to how many charges it started out with.`,`They can be replenished by one for each person it kills.`,`It unravels into a scroll which holds a spell based on its effect. The wand cannot be reconstituted.`,`It curses its wielder to be transformed into a frog, then recharges itself.`,`It enters an overdrive mode wherein it can be used without charges for 1d10 turns, then crumbles to dust.`,`It summons a demon with power proportionate to its max charges who seeks to repossess it. If the demon can be thwarted for one 10 minute turn from taking the wand, its charges are restored.`,`It gains the ability to vampirically steal charges from other wands it’s touched to.`,`It can be planted tip-up in the ground to permanently transform it into a tower that resembles its wand form.`,`It starts to emit a hissing keen that attracts monsters.`,`It tries to fly away to the place it was made until its charges are restored.`,`All the changes it made to the world are undone.`,`It fuses to its wielder’s hand and must be cut away.`,`It suddenly becomes much heavier.`,`It and its wielder lose their colour and become greyscale until it’s recharged.`,`It won’t function for the wielder who spent its last charge again.`,`It fills its user with an insatiable hunger until it’s recharged.`,`It sprouts eyes that weep toxic sludge until it’s recharged.`,`It can only be recharged by one of its maker’s descendants. 1% chance that you are one of those descendants.`,`It teleports to a random nearby location.`,`It melts into a pile of goop, and every glob must be collected to recharge and reconstitute it.`][Math.floor(Math.random() * 20)]+`<br><br>`+`Another Feature Of This Wand Is... `+[`Its wielder can turn it into a magic sword and back.`,`It’s haunted by the ghost of its maker.`,`If used to stir a potion that potion takes on some aspect of the wand’s power.`,`If used to channel a spell that spell takes on some aspect of the wand’s power.`,`It’s recognized and feared by a certain class of monsters.`,`It’s coveted by a certain order of wizards.`,`It can be used as a dowsing rod towards powerful magic.`,`If snapped in half it will release the angel trapped inside to power it. The angel will be quite grateful, but also have centuries of business to attend to.`,`It can be commanded to slither around like a snake.`,`It can be hidden by sinking into the flesh of its wielder’s forearm.`,`Whenever your soul leaves your body you can carry the wand with you in spirit-form.`,`It was made as one of a pair. The wielders of both wands are destined to do battle against each other.`,`It’s got a jealous personality and refuses to function properly if its wielder uses another weapon.`,`Its power has a secret special use.`,`Its power is mutating from exposure to eldritch currents. It will gradually change from what it is now to something else.`,`It is a key control piece of a larger and more powerful magic object.`,`It’s more valuable as raw materials than as a complete wand.`,`It’s an extruded limb of an extradimensional creature, still attached through imperceptible spatial folds.`,`It was sworn to a certain deity and malfunctions if used against that deity’s design.`,`It can be used as an esoteric musical instrument.`][Math.floor(Math.random() * 20)] } function selectRandommJf(){document.getElementById('outputTextmJf').innerHTML = `a `+[`tall`,`obese`,`short`,`hunched`,`shuffling`,`shambling`,`slithering`,`extremely thin`,`massive`,`twisted`,`loping`,`writhing`,`jerkily-walking`,`prowling`,`broad`,`scaly`,`dark`,`formless`,`creeping`,`still`][Math.floor(Math.random() * 20)]+`, `+[`weeping`,`antlered`,`screaming`,`snuffling`,`singing`,`humming`,`shaggy`,`skinless`,`hairless`,`oddly distorted`,`groaning`,`cackling`,`silent`,`silently-screaming`,`toothy`,`masked`,`hooded`,`horned`,`bloody`,`meaty`][Math.floor(Math.random() * 20)]+` `+[`man`,`mass of flesh`,`beast`,`spider`,`insect`,`thing`,`bird`,`ape`,`corpse`,`deer`,`gelatinous mass`,`woman`,`humanoid`,`child`,`hound`,`serpent`,`bear`,`crab`,`tentacled-thing`,`fish`][Math.floor(Math.random() * 20)]+` with `+[`horribly long arms`,`ancient scars`,`alien tattoos`,`tumorous growths`,`countless limbs`,`many eyes`,`a single unblinking eye`,`an ancient weapon`,`blinking mechanical implants`,`water flowing of their body `,`blood flowing of their body`,`no face`,`no eyes`,`no mouth`,`eyes on their stomach`,`a too-wide smile`,`hideously exaggerated sex characteristics`,`swarming insects`,`two heads`,`many mouths`][Math.floor(Math.random() * 20)]+` that `+[`eats dreams`,`steals children`,`infects its victims, turning them into something else`,`causes rot`,`feeds on sorrow`,`feeds on fear`,`is an extension of a greater organism `,`causes mutation`,`eats people`,`drinks blood`,`hears thoughts`,`hates light`,`pretends to be human`,`lives in mirrors`,`moves in the fog`,`abducts people`,`radiates cold`,`cannot be remembered when they are not seen`,`lays eggs in their victims`,`whispers dark secrets`][Math.floor(Math.random() * 20)]} </script> <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> </span> <span class='post-timestamp'> at <meta content='http://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html' itemprop='url'/> <a class='timestamp-link' href='https://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2018-10-31T03:45:00-07:00'>October 31, 2018</abbr></a> </span> <span class='post-comment-link'> </span> <span class='post-icons'> <span class='item-control blog-admin pid-1947550841'> <a href='https://www.blogger.com/post-edit.g?blogID=5563086658557974847&postID=3817865132288810912&from=pencil' title='Edit Post'> <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> </a> </span> </span> <div class='post-share-buttons goog-inline-block'> <a class='goog-inline-block share-button sb-email' href='https://www.blogger.com/share-post.g?blogID=5563086658557974847&postID=3817865132288810912&target=email' target='_blank' title='Email This'><span class='share-button-link-text'>Email This</span></a><a class='goog-inline-block share-button sb-blog' href='https://www.blogger.com/share-post.g?blogID=5563086658557974847&postID=3817865132288810912&target=blog' onclick='window.open(this.href, "_blank", "height=270,width=475"); return false;' target='_blank' title='BlogThis!'><span class='share-button-link-text'>BlogThis!</span></a><a class='goog-inline-block share-button sb-twitter' href='https://www.blogger.com/share-post.g?blogID=5563086658557974847&postID=3817865132288810912&target=twitter' target='_blank' title='Share to X'><span class='share-button-link-text'>Share to X</span></a><a class='goog-inline-block share-button sb-facebook' href='https://www.blogger.com/share-post.g?blogID=5563086658557974847&postID=3817865132288810912&target=facebook' onclick='window.open(this.href, "_blank", "height=430,width=640"); return false;' target='_blank' title='Share to Facebook'><span class='share-button-link-text'>Share to Facebook</span></a><a class='goog-inline-block share-button sb-pinterest' href='https://www.blogger.com/share-post.g?blogID=5563086658557974847&postID=3817865132288810912&target=pinterest' target='_blank' title='Share to Pinterest'><span class='share-button-link-text'>Share to Pinterest</span></a> </div> </div> <div class='post-footer-line post-footer-line-2'> <span class='post-labels'> Labels: <a href='https://meanderingbanter.blogspot.com/search/label/coding' rel='tag'>coding</a>, <a href='https://meanderingbanter.blogspot.com/search/label/table' rel='tag'>table</a>, <a href='https://meanderingbanter.blogspot.com/search/label/utility' rel='tag'>utility</a> </span> </div> <div class='post-footer-line post-footer-line-3'> <span class='post-location'> </span> </div> </div> </div> <div class='comments' id='comments'> <a name='comments'></a> <h4>7 comments:</h4> <div class='comments-content'> <script async='async' src='' type='text/javascript'></script> <script type='text/javascript'> (function() { var items = null; var msgs = null; var config = {}; // <![CDATA[ var cursor = null; if (items && items.length > 0) { cursor = parseInt(items[items.length - 1].timestamp) + 1; } var bodyFromEntry = function(entry) { var text = (entry && ((entry.content && entry.content.$t) || (entry.summary && entry.summary.$t))) || ''; if (entry && entry.gd$extendedProperty) { for (var k in entry.gd$extendedProperty) { if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') { return '<span class="deleted-comment">' + text + '</span>'; } } } return text; } var parse = function(data) { cursor = null; var comments = []; if (data && data.feed && data.feed.entry) { for (var i = 0, entry; entry = data.feed.entry[i]; i++) { var comment = {}; // comment ID, parsed out of the original id format var id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t); comment.id = id ? id[2] : null; comment.body = bodyFromEntry(entry); comment.timestamp = Date.parse(entry.published.$t) + ''; if (entry.author && entry.author.constructor === Array) { var auth = entry.author[0]; if (auth) { comment.author = { name: (auth.name ? auth.name.$t : undefined), profileUrl: (auth.uri ? auth.uri.$t : undefined), avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined) }; } } if (entry.link) { if (entry.link[2]) { comment.link = comment.permalink = entry.link[2].href; } if (entry.link[3]) { var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href); if (pid && pid[1]) { comment.parentId = pid[1]; } } } comment.deleteclass = 'item-control blog-admin'; if (entry.gd$extendedProperty) { for (var k in entry.gd$extendedProperty) { if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') { comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value; } else if (entry.gd$extendedProperty[k].name == 'blogger.displayTime') { comment.displayTime = entry.gd$extendedProperty[k].value; } } } comments.push(comment); } } return comments; }; var paginator = function(callback) { if (hasMore()) { var url = config.feed + '?alt=json&v=2&orderby=published&reverse=false&max-results=50'; if (cursor) { url += '&published-min=' + new Date(cursor).toISOString(); } window.bloggercomments = function(data) { var parsed = parse(data); cursor = parsed.length < 50 ? null : parseInt(parsed[parsed.length - 1].timestamp) + 1 callback(parsed); window.bloggercomments = null; } url += '&callback=bloggercomments'; var script = document.createElement('script'); script.type = 'text/javascript'; script.src = url; document.getElementsByTagName('head')[0].appendChild(script); } }; var hasMore = function() { return !!cursor; }; var getMeta = function(key, comment) { if ('iswriter' == key) { var matches = !!comment.author && comment.author.name == config.authorName && comment.author.profileUrl == config.authorUrl; return matches ? 'true' : ''; } else if ('deletelink' == key) { return config.baseUri + '/delete-comment.g?blogID=' + config.blogId + '&postID=' + comment.id; } else if ('deleteclass' == key) { return comment.deleteclass; } return ''; }; var replybox = null; var replyUrlParts = null; var replyParent = undefined; var onReply = function(commentId, domId) { if (replybox == null) { // lazily cache replybox, and adjust to suit this style: replybox = document.getElementById('comment-editor'); if (replybox != null) { replybox.height = '250px'; replybox.style.display = 'block'; replyUrlParts = replybox.src.split('#'); } } if (replybox && (commentId !== replyParent)) { replybox.src = ''; document.getElementById(domId).insertBefore(replybox, null); replybox.src = replyUrlParts[0] + (commentId ? '&parentID=' + commentId : '') + '#' + replyUrlParts[1]; replyParent = commentId; } }; var hash = (window.location.hash || '#').substring(1); var startThread, targetComment; if (/^comment-form_/.test(hash)) { startThread = hash.substring('comment-form_'.length); } else if (/^c[0-9]+$/.test(hash)) { targetComment = hash.substring(1); } // Configure commenting API: var configJso = { 'maxDepth': config.maxThreadDepth }; var provider = { 'id': config.postId, 'data': items, 'loadNext': paginator, 'hasMore': hasMore, 'getMeta': getMeta, 'onReply': onReply, 'rendered': true, 'initComment': targetComment, 'initReplyThread': startThread, 'config': configJso, 'messages': msgs }; var render = function() { if (window.goog && window.goog.comments) { var holder = document.getElementById('comment-holder'); window.goog.comments.render(holder, provider); } }; // render now, or queue to render when library loads: if (window.goog && window.goog.comments) { render(); } else { window.goog = window.goog || {}; window.goog.comments = window.goog.comments || {}; window.goog.comments.loadQueue = window.goog.comments.loadQueue || []; window.goog.comments.loadQueue.push(render); } })(); // ]]> </script> <div id='comment-holder'> <div class="comment-thread toplevel-thread"><ol id="top-ra"><li class="comment" id="c2321277271804781696"><div class="avatar-image-container"><img src="//www.blogger.com/img/blogger_logo_round_35.png" alt=""/></div><div class="comment-block"><div class="comment-header"><cite class="user"><a href="https://www.blogger.com/profile/13914710999865550516" rel="nofollow">SHOPnROAR</a></cite><span class="icon user "></span><span class="datetime secondary-text"><a rel="nofollow" href="https://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html?showComment=1541134612037#c2321277271804781696">November 1, 2018 at 9:56 PM</a></span></div><p class="comment-content">This comment has been removed by a blog administrator.</p><span class="comment-actions secondary-text"><a class="comment-reply" target="_self" data-comment-id="2321277271804781696">Reply</a><span class="item-control blog-admin blog-admin "><a target="_self" href="https://www.blogger.com/delete-comment.g?blogID=5563086658557974847&postID=2321277271804781696">Delete</a></span></span></div><div class="comment-replies"><div id="c2321277271804781696-rt" class="comment-thread inline-thread hidden"><span class="thread-toggle thread-expanded"><span class="thread-arrow"></span><span class="thread-count"><a target="_self">Replies</a></span></span><ol id="c2321277271804781696-ra" class="thread-chrome thread-expanded"><div></div><div id="c2321277271804781696-continue" class="continue"><a class="comment-reply" target="_self" data-comment-id="2321277271804781696">Reply</a></div></ol></div></div><div class="comment-replybox-single" id="c2321277271804781696-ce"></div></li><li class="comment" id="c7116957618392352071"><div class="avatar-image-container"><img src="//www.blogger.com/img/blogger_logo_round_35.png" alt=""/></div><div class="comment-block"><div class="comment-header"><cite class="user"><a href="https://www.blogger.com/profile/04361732822570074613" rel="nofollow">Sully</a></cite><span class="icon user "></span><span class="datetime secondary-text"><a rel="nofollow" href="https://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html?showComment=1541705868551#c7116957618392352071">November 8, 2018 at 11:37 AM</a></span></div><p class="comment-content">I'm excited about the work you're doing here. Looking forward to playing with this.</p><span class="comment-actions secondary-text"><a class="comment-reply" target="_self" data-comment-id="7116957618392352071">Reply</a><span class="item-control blog-admin blog-admin pid-1365802859"><a target="_self" href="https://www.blogger.com/delete-comment.g?blogID=5563086658557974847&postID=7116957618392352071">Delete</a></span></span></div><div class="comment-replies"><div id="c7116957618392352071-rt" class="comment-thread inline-thread"><span class="thread-toggle thread-expanded"><span class="thread-arrow"></span><span class="thread-count"><a target="_self">Replies</a></span></span><ol id="c7116957618392352071-ra" class="thread-chrome thread-expanded"><div><li class="comment" id="c5082811313340658570"><div class="avatar-image-container"><img src="//www.blogger.com/img/blogger_logo_round_35.png" alt=""/></div><div class="comment-block"><div class="comment-header"><cite class="user"><a href="https://www.blogger.com/profile/07247063374457045751" rel="nofollow">Spwack</a></cite><span class="icon user blog-author"></span><span class="datetime secondary-text"><a rel="nofollow" href="https://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html?showComment=1543499435467#c5082811313340658570">November 29, 2018 at 5:50 AM</a></span></div><p class="comment-content">Thanks! Do let me know of anything you make with it :)</p><span class="comment-actions secondary-text"><span class="item-control blog-admin blog-admin pid-1947550841"><a target="_self" href="https://www.blogger.com/delete-comment.g?blogID=5563086658557974847&postID=5082811313340658570">Delete</a></span></span></div><div class="comment-replies"><div id="c5082811313340658570-rt" class="comment-thread inline-thread hidden"><span class="thread-toggle thread-expanded"><span class="thread-arrow"></span><span class="thread-count"><a target="_self">Replies</a></span></span><ol id="c5082811313340658570-ra" class="thread-chrome thread-expanded"><div></div><div id="c5082811313340658570-continue" class="continue"><a class="comment-reply" target="_self" data-comment-id="5082811313340658570">Reply</a></div></ol></div></div><div class="comment-replybox-single" id="c5082811313340658570-ce"></div></li></div><div id="c7116957618392352071-continue" class="continue"><a class="comment-reply" target="_self" data-comment-id="7116957618392352071">Reply</a></div></ol></div></div><div class="comment-replybox-single" id="c7116957618392352071-ce"></div></li><li class="comment" id="c8493457145951273665"><div class="avatar-image-container"><img src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitYkgM6i2pQaI6Kmkm-bKkyeRviy-PlndipZSM6us80WsNQ4hffC8U0AephAsJT_U1_v2Fm4TYqOXBwaHZbFDipAXcLDXbuzFKvrMxdWazCJzAheGZJ0BBowOlIsIDWA/s45-c/Beholder.jpg" alt=""/></div><div class="comment-block"><div class="comment-header"><cite class="user"><a href="https://www.blogger.com/profile/07224791363753379310" rel="nofollow">Candy_Teeth</a></cite><span class="icon user "></span><span class="datetime secondary-text"><a rel="nofollow" href="https://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html?showComment=1542829666370#c8493457145951273665">November 21, 2018 at 11:47 AM</a></span></div><p class="comment-content">Are there any "best practices" for doing a sub table within a sub table? when it generates the sub-sub table option i will sometimes get blank results. here is the text i used to test it<br><br>Sub Table Test <br>1<br>2<br>3<br>{4A|4B|4C|4D|4E|4F|4G|{4aa|4bb|4cc|4dd|4ee|4ff}{6}}{8}<br>5<br>6<br></p><span class="comment-actions secondary-text"><a class="comment-reply" target="_self" data-comment-id="8493457145951273665">Reply</a><span class="item-control blog-admin blog-admin pid-1610932750"><a target="_self" href="https://www.blogger.com/delete-comment.g?blogID=5563086658557974847&postID=8493457145951273665">Delete</a></span></span></div><div class="comment-replies"><div id="c8493457145951273665-rt" class="comment-thread inline-thread"><span class="thread-toggle thread-expanded"><span class="thread-arrow"></span><span class="thread-count"><a target="_self">Replies</a></span></span><ol id="c8493457145951273665-ra" class="thread-chrome thread-expanded"><div><li class="comment" id="c6326682216768292485"><div class="avatar-image-container"><img src="//www.blogger.com/img/blogger_logo_round_35.png" alt=""/></div><div class="comment-block"><div class="comment-header"><cite class="user"><a href="https://www.blogger.com/profile/07247063374457045751" rel="nofollow">Spwack</a></cite><span class="icon user blog-author"></span><span class="datetime secondary-text"><a rel="nofollow" href="https://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html?showComment=1543223807023#c6326682216768292485">November 26, 2018 at 1:16 AM</a></span></div><p class="comment-content">Oh god. Um. That looks like it should work? Did some testing, does work. Phew! Basically any time there is a }{x} string it replaces it with the random generation call. Which seems to be working well! There's some redundancy, but I think that just adds an empty string at the end to close it out (allows for sub-tables inside other sentences)</p><span class="comment-actions secondary-text"><span class="item-control blog-admin blog-admin pid-1947550841"><a target="_self" href="https://www.blogger.com/delete-comment.g?blogID=5563086658557974847&postID=6326682216768292485">Delete</a></span></span></div><div class="comment-replies"><div id="c6326682216768292485-rt" class="comment-thread inline-thread hidden"><span class="thread-toggle thread-expanded"><span class="thread-arrow"></span><span class="thread-count"><a target="_self">Replies</a></span></span><ol id="c6326682216768292485-ra" class="thread-chrome thread-expanded"><div></div><div id="c6326682216768292485-continue" class="continue"><a class="comment-reply" target="_self" data-comment-id="6326682216768292485">Reply</a></div></ol></div></div><div class="comment-replybox-single" id="c6326682216768292485-ce"></div></li><li class="comment" id="c4128091587780663623"><div class="avatar-image-container"><img src="//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitYkgM6i2pQaI6Kmkm-bKkyeRviy-PlndipZSM6us80WsNQ4hffC8U0AephAsJT_U1_v2Fm4TYqOXBwaHZbFDipAXcLDXbuzFKvrMxdWazCJzAheGZJ0BBowOlIsIDWA/s45-c/Beholder.jpg" alt=""/></div><div class="comment-block"><div class="comment-header"><cite class="user"><a href="https://www.blogger.com/profile/07224791363753379310" rel="nofollow">Candy_Teeth</a></cite><span class="icon user "></span><span class="datetime secondary-text"><a rel="nofollow" href="https://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html?showComment=1543332663055#c4128091587780663623">November 27, 2018 at 7:31 AM</a></span></div><p class="comment-content">haha ok thank you! i just am not a computer logic person, so i wanted to check with the authority. i love and appreciate your hard work!</p><span class="comment-actions secondary-text"><span class="item-control blog-admin blog-admin pid-1610932750"><a target="_self" href="https://www.blogger.com/delete-comment.g?blogID=5563086658557974847&postID=4128091587780663623">Delete</a></span></span></div><div class="comment-replies"><div id="c4128091587780663623-rt" class="comment-thread inline-thread hidden"><span class="thread-toggle thread-expanded"><span class="thread-arrow"></span><span class="thread-count"><a target="_self">Replies</a></span></span><ol id="c4128091587780663623-ra" class="thread-chrome thread-expanded"><div></div><div id="c4128091587780663623-continue" class="continue"><a class="comment-reply" target="_self" data-comment-id="4128091587780663623">Reply</a></div></ol></div></div><div class="comment-replybox-single" id="c4128091587780663623-ce"></div></li><li class="comment" id="c9210985295896392398"><div class="avatar-image-container"><img src="//www.blogger.com/img/blogger_logo_round_35.png" alt=""/></div><div class="comment-block"><div class="comment-header"><cite class="user"><a href="https://www.blogger.com/profile/07247063374457045751" rel="nofollow">Spwack</a></cite><span class="icon user blog-author"></span><span class="datetime secondary-text"><a rel="nofollow" href="https://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html?showComment=1543499411880#c9210985295896392398">November 29, 2018 at 5:50 AM</a></span></div><p class="comment-content">Naww thanks, that means a lot to me!</p><span class="comment-actions secondary-text"><span class="item-control blog-admin blog-admin pid-1947550841"><a target="_self" href="https://www.blogger.com/delete-comment.g?blogID=5563086658557974847&postID=9210985295896392398">Delete</a></span></span></div><div class="comment-replies"><div id="c9210985295896392398-rt" class="comment-thread inline-thread hidden"><span class="thread-toggle thread-expanded"><span class="thread-arrow"></span><span class="thread-count"><a target="_self">Replies</a></span></span><ol id="c9210985295896392398-ra" class="thread-chrome thread-expanded"><div></div><div id="c9210985295896392398-continue" class="continue"><a class="comment-reply" target="_self" data-comment-id="9210985295896392398">Reply</a></div></ol></div></div><div class="comment-replybox-single" id="c9210985295896392398-ce"></div></li></div><div id="c8493457145951273665-continue" class="continue"><a class="comment-reply" target="_self" data-comment-id="8493457145951273665">Reply</a></div></ol></div></div><div class="comment-replybox-single" id="c8493457145951273665-ce"></div></li></ol><div id="top-continue" class="continue"><a class="comment-reply" target="_self">Add comment</a></div><div class="comment-replybox-thread" id="top-ce"></div><div class="loadmore hidden" data-post-id="3817865132288810912"><a target="_self">Load more...</a></div></div> </div> </div> <p class='comment-footer'> <div class='comment-form'> <a name='comment-form'></a> <p> </p> <p>Note: Only a member of this blog may post a comment.</p> <a href='https://www.blogger.com/comment/frame/5563086658557974847?po=3817865132288810912&hl=en' id='comment-editor-src'></a> <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410px' id='comment-editor' name='comment-editor' src='' width='100%'></iframe> <script src='https://www.blogger.com/static/v1/jsbin/2315299244-comment_from_post_iframe.js' type='text/javascript'></script> <script type='text/javascript'> BLOG_CMT_createIframe('https://www.blogger.com/rpc_relay.html'); </script> </div> </p> <div id='backlinks-container'> <div id='Blog1_backlinks-container'> </div> </div> </div> </div> </div></div> </div> <div class='blog-pager' id='blog-pager'> <span id='blog-pager-newer-link'> <a class='blog-pager-newer-link' href='https://meanderingbanter.blogspot.com/2018/11/north-west-marches-session-2-3.html' id='Blog1_blog-pager-newer-link' title='Newer Post'>Newer Post</a> </span> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='https://meanderingbanter.blogspot.com/2018/10/north-west-marches-session-one.html' id='Blog1_blog-pager-older-link' title='Older Post'>Older Post</a> </span> <a class='home-link' href='https://meanderingbanter.blogspot.com/'>Home</a> </div> <div class='clear'></div> <div class='post-feeds'> <div class='feed-links'> Subscribe to: <a class='feed-link' href='https://meanderingbanter.blogspot.com/feeds/3817865132288810912/comments/default' target='_blank' type='application/atom+xml'>Post Comments (Atom)</a> </div> </div> </div></div> </div> </div> <div class='column-left-outer'> <div class='column-left-inner'> <aside> </aside> </div> </div> <div class='column-right-outer'> <div class='column-right-inner'> <aside> <div class='sidebar section' id='sidebar-right-1'><div class='widget HTML' data-version='1' id='HTML1'> <h2 class='title'>Character Generators</h2> <div class='widget-content'> DIE TRYING<br /> <button onclick="newChar('die_trying')">DIE TRYING</button> <button onclick="newChar('fighting_men')">FIGHTING MEN</button> <button onclick="newChar('cheap_tricks')">CHEAP TRICKS</button> <br /> Character Interestifier: <label class="switch"> <input type="checkbox" id="extraCharInterest" /> </label> <br /> <br /> GLOG <br /> <button onclick="newChar('normal')">New Character</button> <button onclick="newChar('basic')">Basic Character</button> <button onclick="newChar('weird')">Weird Character</button> <button onclick="newChar('level 0')">Level 0 Funnel</button> <br /> Character Interestifier: <label class="switch"> <input type="checkbox" id="extraCharInterestGLOG" /> </label> <br /> <br /> <p id="name"></p> <p id="race"></p> <p id="class"></p> <p id="basic"></p> <table style="width:100%"> <tr> <td style="vertical-align: top" width="25%"><p id="ABILITYSCORES"></p></td> <td style="vertical-align: top"><p id="OTHERSTATS"></p></td> </tr> </table> <p id="charTextOut"></p> <p id="DLbutton"></p> <script> function d(a, b){ i = 0; total = 0; while (i<a) { total += Math.floor(Math.random() * b)+1; i++; } return total; } function r(c) {return Math.floor(Math.random() * c);} function sel(list) { if(typeof list == 'undefined'){ console.log('undefined list'); return ''; } else { return list[r(list.length)]; } } Array.prototype.shuffle = function() { var temp, loc; for (var i = this.length-1; i>0; i--) { loc = r(i+1); temp = this[i]; this[i] = this[loc]; this[loc] = temp; } }; Array.prototype.sample = function () { return this[Math.floor(Math.random() * this.length)] } function mod(d) {return ((Math.floor(d/3))-3);} class WizardSchool { constructor(name, link, status, basic_spells = ["#1","#2","#3","#4","#5","#6"], details = ['Perks and restrictions based on school'], gear = ["wizard robes (+1 MD, -1 Def)","spellbook","[other gear determined by school]"], magic_words = ["[school]"]) { this.name = name this.link = link this.status = status this.basic_spells = basic_spells this.details = details this.magic_words = magic_words this.gear = gear if (this.status == "O") this.consequence = ['bizarre demands from your teacher','bizarre superstitions','marks of an outsider'][r(3)] else if (this.status == "B") this.consequence = ['bounty on your head','the pyre awaits you','animals hate you'][r(3)] else //C this.consequence = 'crippling student debts' } getName(){ if (this.link) return '<a href=\"'+this.link+'\" target="_blank">'+this.name+'</a>' else return this.name } spellbook(){ var a = r(6) var b = r(5) if (a==b) b++ return "spells known: "+this.basic_spells[a]+", "+this.basic_spells[b] } words(){ return "words known: "+this.magic_words.sample()+", "+shared_magic_words.sample()+", "+all_magic_words.sample() } } var name = ''; var simpleDesc = ''; var raceID=0 var classID=0; var stats={str: 0, dex: 0, con: 0, int: 0, wis: 0, cha: 0}; var statL=['str','dex','con','int','wis','cha']; var att=0; var def=0; var save=0; var svF=0; var md=0; var move=0; var initiative=0; var HD=0; var maxHP=0; var traits= []; var gear=[]; var accoutrements=[]; var skills=[]; var sk=''; var invSize = 0; var invWeight = 0; var randItems = 0; var subclassLink = ""; var formatTraits = {}; var domainWords = ['Air','Alcohol','Anger','Ant','Arrow','Axe','Bag','Bear','Blood','Bolt','Bone','Book','Bow','Breath','Bronze','Brush','Candle','Cat','Chaos','Charisma','Circle','Clean','Cloak','Cloth','Confusion','Conjure','Constitution','Corpse','Dagger','Dark','Death','Desire','Dexterity','Direction','Disease','Disguise','Disgust','Dispel','Door','Duplicate','Earth','Eye','Fear','Finger','Fire','Fist','Flower','Food','Forest','Fungal','Ghost','Glass','Gold','Granite','Hair','Hammer','Heal','Heart','Hide','Hold','Honey','Hook','Horse','Ice','Ignite','Intelligence','Joy','Laughter','Leap','Light','Lightning','Lizard','Machine','Meat','Message','Mist','Mud','Nature','Oak','Obsidian','Octopus','Oil','Order','Paper','Punch','Quake','Rat','Reveal','Robe','Rope','Sadness','Scorpion','Secret','Separate','Shadow','Silver','Skin','Sleep','Smite','Smoke','Snail','Snake','Spear','Spider','Spin','Star','Steel','Sting','Storm','Strength','Strike','Summon','Sword','Teeth','Thought','Throne','Tongue','Trap','Tree','Trust','Void','Vortex','Wall','Water','Wind','Wisdom','Colour','Silence','Queen','King','Gate','Flame','Iron','Sludge','Barrier','Song','Cricket','Frog','Lynx','Wight','Table','Stalker','Miasma','Barren','Carving','Lair','City','God','Moth','Tower','Create','Demon','Dream','Arc','Anchor','Heir','Moon','Aurora','Journal','Scythe','Waterfall','Lake','Devour','Clay','Crow','Prophet','Raven','Sky','Changeling','Sacrifice','Ritual','Haruspex','Hole','Nomad','Bridge','Lead','Copper','Tin','Diamond','Sapphire','Dust','Rust','Rod','Staff','Time','Loss','Grief','Addiction','Lever','Road','Tomb','Sanctum','Pit','Hand','Elf','Dwarf','Orc','Dragon','Worship','Desecrate']; var shared_magic_words = [`Word`,`Command`,`Symbol`,`Rune`,`Summon`,`Conjure`,`Create`,`Touch`,`Missile`,`Ray`,`Bolt`,`Blast`,`Transmute`,`Object`,`Area`,`Circle`,`Sphere`,`Cube`,`Negate`,`Enhance`] var all_magic_words = [`Absolute`,`Absorb`,`Abyss`,`Acid`,`Addict`,`Addiction`,`Aegis`,`After`,`Age`,`Ailment`,`Air`,`Albatross`,`Alcohol`,`Altar`,`Alter`,`Always`,`Amber`,`Analyse`,`Anchor`,`Angel`,`Anger`,`Animal`,`Animate`,`Ant`,`Antelope`,`Antennae`,`Anti`,`Antler`,`Ape`,`Apocalypse`,`Appendage`,`Appendix`,`Arc`,`Arm`,`Armadillo`,`Armor`,`Arrow`,`Artery`,`Ash`,`Ask`,`Astral`,`Attack`,`Attract`,`Aura`,`Aurora`,`Avenge`,`Awaken`,`Away`,`Axe`,`Baboon`,`Back`,`Badger`,`Bag`,`Balance`,`Ball`,`Bamboo`,`Bandage`,`Bane`,`Banish`,`Bark`,`Barren`,`Barrier`,`Basalt`,`Bat`,`Beacon`,`Beak`,`Beam`,`Bear`,`Beard`,`Beast`,`Beaver`,`Become`,`Bee`,`Beer`,`Beetle`,`Belch`,`Bellow`,`Belly`,`Bend`,`Bestow`,`Bewilder`,`Beyond`,`Bezoar`,`Bind`,`Bite`,`Black`,`Blade`,`Blasphemous`,`Blast`,`Blight`,`Blind`,`Blink`,`Blob`,`Block`,`Blood`,`Bloodhound`,`Blossom`,`Blow`,`Blue`,`Boar`,`Boat`,`Body`,`Boil`,`Bolt`,`Bone`,`Bones`,`Book`,`Bow`,`Brain`,`Breath`,`Breathe`,`Breed`,`Brew`,`Bridge`,`Brine`,`Bronze`,`Brown`,`Brush`,`Bubble`,`Build`,`Bull`,`Burn`,`Butterfly`,`Bypass`,`Cabal`,`Call`,`Camel`,`Cancel`,`Candle`,`Carapace`,`Carbon`,`Carry`,`Carving`,`Cascade`,`Cat`,`Cauldron`,`Centipede`,`Chain`,`Chameleon`,`Change`,`Changeling`,`Chaos`,`Chariot`,`Charisma`,`Charm`,`Cheat`,`Cheetah`,`Child`,`Chill`,`Choke`,`Circle`,`City`,`Clap`,`Claw`,`Clay`,`Clean`,`Cleric`,`Clinging`,`Cloak`,`Clockwork`,`Clone`,`Close`,`Cloth`,`Cloud`,`Cloying`,`Cockroach`,`Code`,`Coil`,`Colossus`,`Colour`,`Comb`,`Combine`,`Come`,`Command`,`Communicate`,`Communion`,`Compel`,`Conceal`,`Conduit`,`Cone`,`Confuse`,`Confusion`,`Conjure`,`Constitution`,`Consume`,`Contact`,`Contaminate`,`Contemplate`,`Continual`,`Control`,`Copper`,`Copy`,`Core`,`Corpse`,`Corrupt`,`Coruscatory`,`Cough`,`Courage`,`Cowardice`,`Coyote`,`Craft`,`Cranial`,`Crawl`,`Create`,`Creep`,`Cricket`,`Crime`,`Crocodile`,`Cross`,`Crouch`,`Crow`,`Crown`,`Crush`,`Cry`,`Crystal`,`Cube`,`Cult`,`Cure`,`Curse`,`Dagger`,`Damn`,`Dance`,`Dark`,`Darkness`,`Dash`,`Day`,`Dead`,`Deafen`,`Death`,`Decay`,`Deceive`,`Decimate`,`Decipher`,`Deer`,`Defend`,`Degenerate`,`Delay`,`Demon`,`Desecrate`,`Desire`,`Detect`,`Detonation`,`Devil`,`Devour`,`Dexterity`,`Diamond`,`Dig`,`Digestion`,`Dimension`,`Diminish`,`Direction`,`Dirt`,`Disc`,`Discord`,`Disease`,`Disembowel`,`Disguise`,`Disgust`,`Disk`,`Dismember`,`Dispel`,`Dissolve`,`Distant`,`Distortion`,`Distract`,`Divide`,`Doctor`,`Dog`,`Donkey`,`Doom`,`Door`,`Dragon`,`Drain`,`Draw`,`Dream`,`Drink`,`Drunk`,`Dubious`,`Duck`,`Duplicate`,`Dust`,`Dwarf`,`Eagle`,`Ear`,`Earth`,`Eat`,`Echo`,`Ectoplasm`,`Egg`,`Ego`,`Elbow`,`Eldritch`,`Electricity`,`Elemental`,`Elephant`,`Elf`,`Elk`,`Elm`,`Ember`,`Embolden`,`Embrace`,`Enchant`,`Encode`,`Endure`,`Energize`,`Enfeeble`,`Enhance`,`Enlighten`,`Ennui`,`Enrage`,`Envelop`,`Envy`,`Epiphany`,`Eternal`,`Evil`,`Eviscerate`,`Excise`,`Excrete`,`Excruciate`,`Execute`,`Exercise`,`Exhale`,`Existential`,`Exoskeleton`,`Expand`,`Expel`,`Explode`,`Explosive`,`External`,`Extract`,`Eye`,`Fake`,`Falcon`,`Fall`,`Falsehood`,`Fang`,`Farm`,`Fart`,`Fat`,`Fate`,`Fatten`,`Fear`,`Fearsome`,`Feast`,`Feather`,`Feculent`,`Fecundity`,`Feel`,`Ferret`,`Fester`,`Field`,`Fiend`,`Fight`,`Filth`,`Fin`,`Find`,`Finger`,`Fire`,`Fish`,`Fist`,`Flail`,`Flame`,`Flap`,`Flee`,`Flesh`,`Flex`,`Flick`,`Flight`,`Flower`,`Fly`,`Foe`,`Fog`,`Food`,`Foot`,`Forbidden`,`Force`,`Foresee`,`Forest`,`Forever`,`Forge`,`Form`,`Fountain`,`Fox`,`Free`,`Freeze`,`Friend`,`Frog`,`Frown`,`Fulgerous`,`Fulgurite`,`Fungal`,`Fungus`,`Fur`,`Furniture`,`Fuse`,`Gallow`,`Gas`,`Gate`,`Gaze`,`Geas`,`Gem`,`Ghost`,`Ghoul`,`Gill`,`Giraffe`,`Give`,`Glamour`,`Gland`,`Glare`,`Glass`,`Globs`,`Glow`,`Glutinous`,`Glyph`,`Goat`,`God`,`Gold`,`Golem`,`Good`,`Gorilla`,`Granite`,`Grasp`,`Grasshopper`,`Grave`,`Gravity`,`Greed`,`Green`,`Grief`,`Grind`,`Grip`,`Grow`,`Growth`,`Gruesome`,`Grunt`,`Guise`,`Gut`,`Hair`,`Hallucinate`,`Hallucinatory`,`Hammer`,`Hand`,`Hard`,`Harm`,`Harmony`,`Haruspex`,`Harvest`,`Hasten`,`Hate`,`Hawk`,`Heal`,`Health`,`Hear`,`Heart`,`Heat`,`Hedgehog`,`Heel`,`Heir`,`Hell`,`Hermit`,`Hero`,`Hex`,`Hide`,`Hinder`,`Hips`,`Hold`,`Hole`,`Hone`,`Honey`,`Hoof`,`Hook`,`Hope`,`Horn`,`Horror`,`Horse`,`Hug`,`Hummingbird`,`Hyena`,`Ice`,`Identify`,`Ignite`,`Iguana`,`Illuminate`,`Illusion`,`Imbue`,`Immoral`,`Immunity`,`Implant`,`Imprison`,`Indigo`,`Induce`,`Infect`,`Infernal`,`Infest`,`Inflict`,`Insanity`,`Insect`,`Instantaneous`,`Instill`,`Intelligence`,`Internal`,`Intestine`,`Intoxicate`,`Invest`,`Invisible`,`Iris`,`Iron`,`Jackal`,`Jar`,`Jaw`,`Jaws`,`Jellyfish`,`Joint`,`Journal`,`Joy`,`Judge`,`Jump`,`Justify`,`Kangaroo`,`Karma`,`Key`,`Kick`,`Kill`,`King`,`Kiss`,`Knee`,`Know`,`Knowledge`,`Knuckle`,`Lair`,`Lake`,`Lament`,`Land`,`Language`,`Lapse`,`Lash`,`Laugh`,`Laughter`,`Launch`,`Lava`,`Law`,`Lead`,`Leaf`,`Lean`,`Leap`,`Learn`,`Leech`,`Leg`,`Lemur`,`Lens`,`Leprous`,`Lever`,`Levitate`,`Lick`,`Lie`,`Life`,`Lift`,`Light`,`Lightning`,`Limb`,`Limbo`,`Link`,`Lion`,`Lips`,`Liquid`,`Liver`,`Lizard`,`Lobster`,`Locate`,`Lock`,`Look`,`Loop`,`Lore`,`Loss`,`Love`,`Lucid`,`Lung`,`Lurk`,`Lust`,`Lynx`,`Machine`,`Madden`,`Magic`,`Magpie`,`Mahogany`,`Maidens`,`Make`,`Mane`,`Mask`,`Masochism`,`Meat`,`Meld`,`Melt`,`Memories`,`Memory`,`Mend`,`Mermaid`,`Mesmerize`,`Message`,`Metal`,`Meteor`,`Miasma`,`Mighty`,`Mind`,`Mindread`,`Mineral`,`Mirror`,`Missile`,`Mist`,`Mistake`,`Modify`,`Mole`,`Molt`,`Moment`,`Mongoose`,`Monkey`,`Monolith`,`Monster`,`Moon`,`Moose`,`Morph`,`Moss`,`Moth`,`Mouth`,`Move`,`Mucus`,`Mud`,`Mule`,`Murder`,`Muscle`,`Mustache`,`Mutate`,`Mutation`,`Mutilate`,`Nails`,`Name`,`Nature`,`Navel`,`Neck`,`Negate`,`Negation`,`Nerve`,`Never`,`Nexus`,`Nickel`,`Night`,`Nightmare`,`Noise`,`Nomad`,`Nose`,`Nullify`,`Oak`,`Object`,`Obsequious`,`Obsidian`,`Obstruct`,`Ocean`,`Octopus`,`Offend`,`Offset`,`Oil`,`Ooze`,`Open`,`Opiate`,`Opossum`,`Orange`,`Orbit`,`Orc`,`Order`,`Organ`,`Orifice`,`Orphan`,`Ostrich`,`Otter`,`Outermost`,`Owl`,`Ox`,`Pact`,`Pain`,`Palm`,`Panic`,`Panther`,`Paper`,`Paradigm`,`Paralyze`,`Paranoia`,`Parasite`,`Parrot`,`Pass`,`Pat`,`Path`,`Peace`,`Peacock`,`Permanent`,`Person`,`Petrify`,`Phantom`,`Phase`,`Pheromones`,`Phlegm`,`Phoenix`,`Pierce`,`Pig`,`Pinch`,`Pink`,`Pique`,`Piranha`,`Pit`,`Plague`,`Plant`,`Plasm`,`Plasma`,`Platinum`,`Platypus`,`Play`,`Poetry`,`Point`,`Poison`,`Porcupine`,`Pores`,`Portal`,`Possess`,`Potion`,`Pound`,`Power`,`Pride`,`Prismatic`,`Prison`,`Probability`,`Proboscis`,`Prophet`,`Protect`,`Pull`,`Pulse`,`Punch`,`Purify`,`Purple`,`Pursue`,`Push`,`Pyramid`,`Quake`,`Queen`,`Quell`,`Quiet`,`Quill`,`Quintessence`,`Rabbit`,`Racoon`,`Rage`,`Rain`,`Raise`,`Ram`,`Rashness`,`Rat`,`Rattlesnake`,`Ravage`,`Raven`,`Ray`,`Razor`,`Reach`,`Read`,`Realm`,`Reap`,`Recoil`,`Red`,`Reflect`,`Regenerate`,`Release`,`Remove`,`Rend`,`Repair`,`Repel`,`Return`,`Reveal`,`Revenge`,`Reverse`,`Revolt`,`Rhinoceros`,`Rib`,`Ring`,`Riot`,`Rip`,`Ripen`,`Ritual`,`Road`,`Robe`,`Robot`,`Rod`,`Rope`,`Rot`,`Rub`,`Ruin`,`Rumors`,`Run`,`Rune`,`Rupture`,`Rust`,`Sacrifice`,`Sadism`,`Sadness`,`Salt`,`Sanctum`,`Sand`,`Sap`,`Sapphire`,`Savage`,`Say`,`Scale`,`Scorch`,`Scorpion`,`Scramble`,`Scratch`,`Scream`,`Screech`,`Scry`,`Scythe`,`Seal`,`Secret`,`See`,`Seethe`,`Send`,`Sentinel`,`Separate`,`Serpent`,`Servant`,`Shadow`,`Shake`,`Shape`,`Shard`,`Share`,`Shark`,`Sharp`,`Shatter`,`Sheep`,`Shell`,`Shield`,`Shift`,`Shine`,`Ship`,`Shrewd`,`Shrink`,`Shrivel`,`Sight`,`Sigil`,`Signal`,`Silence`,`Silver`,`Sin`,`Sinister`,`Sit`,`Skeleton`,`Skin`,`Skull`,`Skunk`,`Sky`,`Slap`,`Slave`,`Sleep`,`Slide`,`Slime`,`Slither`,`Sloth`,`Slow`,`Sludge`,`Smell`,`Smile`,`Smite`,`Smoke`,`Snail`,`Snake`,`Snap`,`Sneeze`,`Snow`,`Sober`,`Soft`,`Soil`,`Song`,`Soothe`,`Sorrow`,`Soul`,`Sound`,`Space`,`Spasm`,`Spawn`,`Speak`,`Spear`,`Spell`,`Sphere`,`Spheres`,`Spider`,`Spin`,`Spine`,`Spirit`,`Spit`,`Spleen`,`Splice`,`Splinter`,`Sponge`,`Spore`,`Spray`,`Squamous`,`Square`,`Squeeze`,`Squid`,`Squirm`,`Squirrel`,`Stack`,`Staff`,`Stalker`,`Stand`,`Star`,`Stare`,`Stasis`,`Statue`,`Steal`,`Steam`,`Steed`,`Steel`,`Step`,`Sting`,`Stingray`,`Stitch`,`Stomp`,`Stone`,`Stork`,`Storm`,`Strain`,`Strength`,`Stretch`,`Strike`,`Stroke`,`Stun`,`Success`,`Sucker`,`Summon`,`Surprise`,`Swallow`,`Swan`,`Swarm`,`Sweat`,`Swift`,`Swing`,`Sword`,`Symbol`,`Table`,`Tail`,`Take`,`Talon`,`Tangible`,`Tap`,`Tar`,`Taste`,`Teak`,`Tear`,`Teeth`,`Tempo`,`Tendril`,`Tenebrous`,`Tentacle`,`Terrain`,`Terrify`,`Terror`,`Test`,`Thief`,`Think`,`Thorn`,`Thought`,`Threaten`,`Throat`,`Throne`,`Thunder`,`Tiger`,`Till`,`Time`,`Tin`,`Tiny`,`Titanic`,`Toe`,`Tomb`,`Tongue`,`Tool`,`Torch`,`Torment`,`Torrent`,`Tortoise`,`Torture`,`Touch`,`Tower`,`Transfer`,`Transform`,`Transmute`,`Transport`,`Trap`,`Travel`,`Traveling`,`Tree`,`Trust`,`Truth`,`Tusk`,`Unclaimed`,`Undead`,`Unhinged`,`Unique`,`Unlucky`,`Unseen`,`Uranium`,`Use`,`Useful`,`Uttermost`,`Vague`,`Vampire`,`Vanity`,`Vegetable`,`Vein`,`Vigour`,`Vile`,`Villain`,`Vine`,`Violent`,`Violet`,`Vision`,`Vodka`,`Voice`,`Void`,`Vomit`,`Vortex`,`Vulgarity`,`Vulture`,`Wail`,`Walk`,`Wall`,`War`,`Ward`,`Warp`,`Wasp`,`Waste`,`Water`,`Waterfall`,`Wave`,`Wax`,`Weak`,`Weapon`,`Weary`,`Weather`,`Web`,`Weird`,`Whale`,`Whisker`,`Whisper`,`White`,`Wiggle`,`Wight`,`Wind`,`Wine`,`Wing`,`Wisdom`,`Wish`,`Wither`,`Wizard`,`Wolf`,`Wood`,`Word`,`Worm`,`Worship`,`Wounding`,`Wrack`,`Wrath`,`Wriggle`,`Wrist`,`Write`,`Writhe`,`Yak`,`Years`,`Yellow`,`Yew`,`Zeal`,`Zealot`,`Zombie`] function getWeapon(type){ var standardWeps = ['club (1d4+STR)','sling (1d4/1d6)','dagger (1d6)','bow (1d6, 2-h)','quarterstaff (1d6+STR)','spear (1d6+STR op.)',['sabre (1d6+STR)','scimitar (1d6+STR)','falchion (1d6+STR)','cutlass (1d6+STR)'][r(4)],'axe (1d6+STR)','whip (1d4)','warhammer (1d6+STR)','mace (1d6+STR)','flail (1d6+STR)','halberd (1d10+STR, 2-h)','war pick (1d6+STR)','maul (1d10+STR, 2-h)','longbow (1d6+STR, 2-h)','greatsword (1d10+STR, 2-h)','greataxe (1d10+STR, 2-h)','rapier (1d8)','crossbow (1d12, 2-h, loading)']; if(formatTraits.dtExtra=='fighting_men' && !formatTraits.enhancedWeapon){ formatTraits.enhancedWeapon=true; return ['axe (1d6+STR, lunge: +2 attack and damage, lose turn if you miss)', 'bow (1d6, 2-h, double shot: -4 penalty, second shot at same target)', 'crossbow (1d12, loading, 2-h, blue bolt: round to aim, target saves vs. critical)', 'flail (1d6+STR, wild swing: +2 attack, take 1 damage if you miss)', 'greataxe (1d10+STR, 2-h, decapitate: -2 penalty, if enemy has 5 or less HP after, it dies)', 'greatsword (1d10+STR, 2-h, power attack: -2 penalty, deal 8+STR damage)', 'halberd (1d10+STR, 2-h, modular: given time and parts, gain +2 attack against enemy type)', 'lance (1d10+STR, 2-h, peasant slayer: x2 damage to unmounted targets if you are mounted)', 'longsword (1d6+STR, versatile attack: +4 attack 1/fight by throwing pommel, half-swording etc.)', 'maul (1d10+STR, 2-h, skullcrusher: x2 damage to prone target, spend turn recovering)', 'quarterstaff (1d6+STR, sweeping blow: extra 1d4 attack on different target)', 'rapier (1d8, pinpoint: 1/day perfectly block or hit an attack)', 'sabre (1d6+STR, rend: -2 penalty, +1d6 damage to unarmoured target)', 'scythe (1d8+STR, 2-h, cut down: split damage between two targets)', 'sling (1d4/1d6, range, giantslayer: ignore armour of large enemy)', 'spear (1d6+STR op., thrown, formation: +1 defence for adjacent allies)', 'stiletto (1d4, backstab: x2 damage to unaware enemy from behind)', 'warhammer (1d6+STR, crushing blow: deal non-lethal damage, ignore defence)', 'war pick (1d6+STR, penetrating strike: -2 penalty, target defence reduced by 1)', 'whip (1d4, get over here: target takes no damage, is either grappled or pulled adjacent)'][r(20)]; } else if(type=='normal') return standardWeps[r(20)]; else return standardWeps[Math.min(r(20),r(20))]; } var alcohol = ['ewer of wine','jar of moonshine','bottle of rum','bottle of vodka','cask of cider','flagon of mead','tipple of whiskey','barrel of beer','flask of something strange','box of snuff','tobacco pouch','absinthe']; var standardTitles = ["Grave Robber","Vagabond","Wayfarer","Fortune Seeker","Dungeoneer","Murderhobo","Pioneer","Entrepreneur","Dungeon Delver","Spelunker","Tomb Robber","Rapscallion","Reaver","Freebooter","Privateer","Outlaw","Treasure Hunter","Wanderer","Hero"+(r(2)?"ine":""),"Champion"]; //var magicTitles = ["Dabbler in the Arcane","Test Subject","Hedge Mage"]; var epithets = ["of the Seven Potencies","Grand Terakion","Devourer of Chaos","the White Crow","Bringer of Prophecy","Benevolent Bringer of Chaos","of the Indivisible Chrome","Master of the Mindless Fist","Weaver of Rainbow's Thread","Sailor of the Twenty-One Trials","Unwritten in the Endless Tome of Time","Prince of the Harlequins","Carver of Dragon Teeth","Herald of the False Prophet","Lion Among Men","the Thrice-Cursed","Merrymaker Extraordinaire","Voice of the Desert","First of the Chosen","Deathslayer","the Damned","of the Forbidden Sea","of the Bells","Adjudicator","Dragonblood","of Many Faces","the Noble Coward","the Hussar","Fellblade","the Fine-Fingered","Feyborne","First Voice of the Crimson Choir","Midnight's Squire","the Frozen Tyrant","the Graven","Mistress of the End","First Gate of the Winding Road","the Hunger Immemorial","Herald of Falling Stars","the Beckoning Quiet","the King of Fools","of the Hallowed Skies","the Last March","the Wild Walker","the Unblemished","the Moon Seer","the Answer","the Night Stalker","the Great Bear","the Unbroken","Honour's Blade","the Boulder","the Scarlet Lion","the Unyielding Anvil","the Iron Commander","Fate Breaker","Kingseeker","the Entitled","Ocean Drinker","Lord of the Dance","of the Great Tower","Earthbinder","of the Poisoned Mind","Terror of the Deeps","Bearer of the Unseeing Eye","the Burdened One","Eternal Servant of the Weave","of the Boundless Possibilites","the Eternal","First to Desire","Valiant Protector","Born of Ash","who Smiles at Death","the Ruin Sage","Embraced by the Moon","the Unyielding","Treachery Incarnate","Protector of Hope","the Fading Light","the Promised End","Reality Sculptor","Keeper of Silence","the Black Rose","Apostle of Dusk","the Bloodied","the Crusher","War Tooth","the Generous","Underfoot","Hart-Footed","Witch-Breaker","Horse Lord","the Wisest","Grim Face","North Bound","Little Bear","the Fair","the Crow","the Amorous","the Frantic","the Old","the Stout","Deep Drinker","the Swarthy","Battle-wise","the Learned","Deep Delver","the Champion","the Giant","Far-traveling","Longshanks","the Small","Silvertongue","Stormcrow","Billygoat","the Leech","Star-eyed","Longbeard","the Wild","Bee Friend","the Burned","the Subtle","the Clever","the Young","Gold-friend","Death's Friend","Half-Troll","the Gray","the Judge","Bee Stung","the Dreamer","Thick-skulled","the Hound","He-Man","Iron-side","Moon Jumper","the Quiet","the Gentle","the Unborn","Fox-bearded","the Red","Bald Pate","the Exile","Sword-splitter","the Bright","Far-seer","the Proud","the Fortunate","the Honest","the Unbowed","the Leaper","the Pious","the Lecherous","the Stingy"]; var powers = ["Light Feet: treat your falls as 20ft shorter distance","You can moonwalk perfectly","Decay avoids you, things do not rot while carried by you or when they are on your person","You can use gestures and body language to communicate your intent to animals","Cast-Iron Stomach: Advantage to CON tests to resist harmful ingested substances","You don't leave footprints","Your thumb can glow like a candle on command, only when there are no other light sources","Flowers bloom in your presence","Your head can spin around completely","Can remove and reattach your eyeball at will. You can see through it while detached","Can remove and reattach your hand. You can still control it while it's detached","You can intimidate small fires into going out by yelling at them","You can cast little points of light where you look, like a laser pointer","You have no pulse or life aura, but you are clearly not dead","You can make your hair and fingernails grow really fast","You have a perfect, toothpaste-ad smile","Once per lifetime, you can cough up one tiny item that you need right now. It was always in your gall bladder, waiting for the perfect moment","Can make animals silent by maintaining eye contact with them","Can make plants talk by holding them in your hands","Can breathe any harmless gas or vapor like it was air","Can peel off your skin to make sheets of parchment","Once per week, you can distill a vial of your blood into a healing potion","Can generate a small amount of electricity through your natural friction","You can grab handfuls of gases as if they were solids","You can exist in the same space as someone, but only if you have their stated permission","1-in-20 people believe you are a hallucination. They will persist stubbornly despite evidence","Your tongue is strong and prehensile and as long as your arm","You can echolocate as long as you're cussing","You can taste emotions","You can change your hair and eye color every time you see your reflection","With effort, you can animate your shadow independently","With effort, you can animate your reflection independently","You can regrow fingers and toes","You can imitate a specific type of bird perfectly","When you dance, everyone feels like they should be dancing","Nobody can remember your name","You can remove your nose at will and have it still function","You can change what age you resemble","If you eat someone's entire corpse, you can look like them","You can make eye contact with someone and know their second worst fear","You can view the inside of your body at will","You can gain nutritional value from ice","You can sweat at will","You can stretch your body like taffy, but overstretching is a serious danger","When you blink rapidly 3 times you can see in inverted colors","1 in 10 of your fortune readings will come true","If you can put on a play detailing somebody's crimes, you can compel them to confess to those crimes","You instantly know how much of something is in a pile","You can, through great effort, become irresistible to bees for one minute","In your palm is a bee stinger. If you stab someone with it, you both die when it is removed","You never get dizzy. No matter how long you spin in place","You can shoot your fingernails like darts: 1d6 damage, but they never grow back","You cannot die while asleep","Your hair can wrap around stuff on its own but not unwrap, it has to be cut off","Depending on who you ask, your eyes are either black and blue or white and gold. It's very contentious","You can make food and drink bitter by scowling at it and thinking nasty thoughts","When you get angry, you get warmer. Much warmer","When you get sad, you get colder. Much colder","You can see magnetic fields","You always know where the nearest bee is","You have true, honest to god empathy, and can accurately imagine how others feel","You can make objects translucent by touching them. The larger the object, the longer it takes","Fruits you throw explode with a loud but harmless explosion. You hate lemonade and destiny","You can prestidigitate objects away. Except they really vanish. Even you don't know where they go. They don't come back","You can revert to being a newborn once","You can sleep in any position, even the most absurd","If you make somebody cry you can track them perfectly for a day","You can walk on oil-based liquids","You can mix oil and water","If you can guess what's ambushing you before the dm tells you, you're not surprised","Your hallucinations are contagious","If you eat a fish in one bite, raw, you get an detailed knowledge of what lives in the waters it came from","You dreams leak every fifth night","The crimes you commit in dreams are treated as real crimes. Run. (crimes against you in dreams are also treated as real","You can slowly sink into earth or stone, but cannot breathe if submerged","You have three arm segments and two elbows","Everyone who sees you knows your name","Your blood is ink. Ink transfusions can stop you from bleeding out","You have a magic coin with your face on it. At will you can teleport it back to yourself, no matter how far away it may be","You bleed small insects like spiders and millipedes","You can cough perfume","Anything within your shadow cast by the sun is under your influence and control","You have X-ray vision: anyone you stare at long enough will contract cancer in a decade. You haven't told your friends and family","You have X-ray vision: the ability to see X-rays","White noise is created continuously at a point 20ft above your head","Precipitation never touches you","You may chop off a finger to become invisible for twenty minutes","Your fingers are invisible","Your blood is invisible","Anything coin sized or smaller that you hold turns invisible","Your palms and soles are made of iron","Your skin can be passed through easily; you can store small things in yourself","Confetti shoots out of any container you open for the first time","Your fingers are made of gold, but are still usable as fingers. Valuable, but never grow back","Your arm has a mind of its own. It can help make decisions, but it fundamentally disagrees with you on some key issues","You can always get lost, even when it should be impossible","Your kiss is a painkiller","You can speak any language that is no longer in use","Weapons will whisper about the last thing they killed, if you listen carefully","You can see through metal"]; var wizard_school_list = [ new WizardSchool( "Orthodox Wizard",'https://coinsandscrolls.blogspot.com/2018/01/osr-orthodox-wizards.html','C', ['Magic Missile','Knock','Feather Fall','Mage Hand','Grease','Lock'], ['Perks: None','Restrictions: None','','You can choose to roll on the Expanded Orthodox Spell List - https://coinsandscrolls.blogspot.com/2017/03/osr-100-spells-condensed-formats.html','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Lose 1 MD','5. Agony for 1d6 rounds','6. Cannot cast spells for 1d6 rounds'], ["red wizard robes (+1 MD, -1 Def)","spellbook"], [`Magic`,`Wizard`,`Door`,`Lock`,`Light`,`Disc`,`Fire`,`Hand`,`Force`,`Floating`,`Evil`,`Protect`,`Form`,`See`,`Unseen`,`Hold`,`Voice`,`Become`,`Change`,`Enchant`], ), new WizardSchool( "Elementalist","https://coinsandscrolls.blogspot.ca/2017/03/osr-elementalist-wizards.html","C", ['Control '+['Fire','Water', 'Earth', 'Air'][r(4)],'Buoyancy','Feather Fall','Anklecrusher','Draw Heat','Dissolve'], ['Perks: -3 damage from elements','Restrictions: Cannot cast without access to element','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Soaked, dehydrated, flung upwards, or buried','5. Deafened 1d6 rounds','6. Wild elemental spirits flee your body for 1d6 rounds'], ["wizard robes (+1 MD, -1 Def)","spellbook"], [`Fire`,`Water`,`Earth`,`Air`,`Flame`,`Wave`,`Stone`,`Wind`,`Lightning`,`Ice`,`Crystal`,`Dust`,`Acid`,`Wall`,`Protect`,`Control`,`Speak`,`Imbue`,`Storm`,`Breath`] ), new WizardSchool( 'Necromancer','https://coinsandscrolls.blogspot.com/2017/11/osr-necromancers.html','B', ['Conjure Spirit','Explode Corpse','Death Mask','Fear','Rot','Raise Undead'], ['Perks: Burn max HP to add 1 MD','Restrictions: Cannot cast without ritual implement','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Fear 1d6 rounds','5. 1d6 corpses rise and attack you','6. Wander as a ghost, Int/2 check to return to body each round'], ['ritual implement - '+['salt','ash','a polished bone','a skull','a carved stone','dried frog','powdered teeth','a bell with no clapper'][r(8)]+" (0 slots)","wizard robes (+1 MD, -1 Def)","spellbook"], [`Raise`,`Zombie`,`Skeleton`,`Bone`,`Skull`,`Meat`,`Ghost`,`Speak`,`See`,`Command`,`Explode`,`Ectoplasm`,`Rot`,`Fear`,`Life`,`Death`,`Doom`,`Phantom`,`Blood`,`Mask`] ), new WizardSchool( 'Illusionist','https://coinsandscrolls.blogspot.ca/2017/03/osr-illusionist-wizards.html','C', ['Illusion','Disguise','Light','Duplicate Object','Prismatic Ray','Hypnotic Orb'], ['Perks: Your illusions are permanent while you concentrate','Restrictions: Cannot cast without being able to see all seven colours','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Blind for 1d6 rounds','5. All sighted creatures invisible to you for a day','6. Eruptions of random illusions for 1d6 rounds'], ['rainbow coloured gloves (0 slots)',"wizard robes (+1 MD, -1 Def)","spellbook"], [`Illusion`,`Glamour`,`Glyph`,`Light`,`Dark`,`Glow`,`Fake`,`Vision`,`Conjure`,`Charm`,`Eye`,`Disguise`,`Colour`,`Invisible`,`Mask`,`See`,`Hide`,`Ray`,`Beam`,`Find`] ), new WizardSchool( 'White Hand Wizard','https://coinsandscrolls.blogspot.com/2018/01/osr-wizards-of-white-hand.html','C', ['Cure Wounds', 'Eldritch Vigour', 'Endure Elements', 'Light', 'Magic Missile', 'Mighty Thews'], ['Perks: Mark people with a touch, then cast a touch-spell at any distance','Restrictions: Cannot eat meat, must always wear a white circle','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Blind for 1d6 rounds','5. Deafened for 1d6 rounds','6. Spell targets whoever would be most inconvenient, or fizzles'], ["wizard robes with white circle (+1 MD, -1 Def)","spellbook"], [`Heal`,`Ward`,`Endure`,`Light`,`Magic`,`Pain`,`Life`,`Speak`,`Strength`,`Hand`,`Mighty`,`Reveal`,`Protect`,`Wither`,`Touch`,`Bind`,`Link`,`Purify`,`Defend`,`Divine`] ), new WizardSchool( 'Black Hand Wizard','http://goblinpunch.blogspot.com/2013/12/sister-witches-and-monastic-wizards.html','O', ['Sleep', 'Black Hand', 'Charm Person', 'Woodbend', 'Detect Magic', 'Dendrigraphy'], ['Perks: Can carve a wooden representative, see/feel through it','Restrictions: If anyone disrespects you, you must defeat in combat','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Prophetic vision, stunned for one round','5. Entangled by roots for 1d6 rounds','6. Nearest target must save or begin sleepwalking'], ["wizard robes (+1 MD, -1 Def)","spellbook"], [`Wood`,`Sound`,`Hand`,`Illusion`,`Sleep`,`Fog`,`Tree`,`Bend`,`Harm`,`Invisible`,`Hear`,`Know`,`Expel`,`Copy`,`Mask`,`Limb`,`Sphere`,`Command`,`Dread`,`Night`] ), new WizardSchool( 'Animist',"https://coinsandscrolls.blogspot.ca/2017/06/osr-animist-wizards.html",'B', ['Shrivel', 'Telekinetic Shove', 'Ensorcelled Object', 'Control Water', 'Sleep', 'Charm Person'], ['Perks: Transform into a hideous monster, your spells can target parasites and unborn children without damaging their hosts','Restrictions: You can never bathe, nor return the love of someone','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Cackle uncontrollable for 1d6 rounds','5. 1 Charisma damage','6. Lose your grip on the spell'], ["tattered robes (+1 MD, -1 Def)","spellbook"], [`Curse`,`Hex`,`Dark`,`Child`,`Parasite`,`Charm`,`Shrivel`,`Water`,`Dream`,`Scorch`,`Transform`,`Corrupt`,`Spirit`,`Fly`,`Animate`,`Plant`,`Filth`,`Beast`,`Forest`,`Cure`] ), new WizardSchool( 'Biomancer','http://goblinpunch.blogspot.ca/2015/04/biomancers.html','B', ['Mutate', 'Alter Self', 'Animate Potion', 'Extract Venom', 'Hand of the Hound', 'Acid Arrow'], ['Perks: Double the usual safe limit for mutations','Restrictions: 1-in-6 chance of magical healing causing a mutation','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Intense hunger, eat a ration','5. Shed your skin over 1d6 rounds, completely gross','6. Agony for 1d6 rounds'], ["wizard robes (+1 MD, -1 Def)","spellbook"], [`Grow`,`Life`,`Organ`,`Blood`,`Alter`,`Flesh`,`Ooze`,`Acid`,`Mutate`,`Slime`,`Bone`,`Breed`,`Modify`,`Potion`,`Hand`,`Monster`,`Mutilate`,`Plasm`,`Melt`,`Spawn`] ), new WizardSchool( 'Garden Wizard','https://coinsandscrolls.blogspot.com/2018/01/osr-garden-wizards.html','C', ['Whirling Staff', 'Warp Wood', 'Obedient Stone', 'Locate Plant/Animal', 'Shield', 'Clarity'], ['Perks: +1 Attack and Defence while using a staff','Restrictions: You must meditate each morning within sight of natural beauty','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Plants wither for 5x1d20ft around you','5. Save vs Fear against fire for the next day','6. Plants erupt from your fingers and toes, entangle everyone around you'], ["wizard robes (+1 MD, -1 Def)","spellbook",'shovel (1d4+STR)'], [`Grow`,`Green`,`Leaf`,`Tree`,`Plant`,`Farm`,`Wall`,`Till`,`Hearth`,`Branch`,`Soft`,`Dirt`,`Stone`,`Life`,`Root`,`Meditate`,`Peace`,`Protect`,`Sprout`,`Bark`] ), new WizardSchool( 'Gilded Wizard','http://goblinpunch.blogspot.com/2014/01/more-monastic-wizards.html','C', ['Acute Quintessence', 'Charm Person', 'Detect Gold', 'Spit Poison', 'Light', 'Magic Missile'], ['Perks: Wearing a truly immense amount of jewlery grants +1 MD to all spells','Restrictions: Cannot use blunt weapons, must wear gold to cast spells','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Lose 1 MD','5. A random limb locks solid','6. Rage, 1d6 rounds'], ['gold mask',"white toga (+1 MD, -1 Def)","spellbook"], [`Gold`,`Silver`,`Shine`,`Sharp`,`Razor`,`Quintessence`,`Protect`,`Banish`,`Read`,`Poison`,`Spit`,`Mask`,`Hone`,`Foe`,`Blade`,`Presence`,`Ink`,`Paper`,`Symbol`,`Rune`] ), new WizardSchool( 'Hair Wizard','http://goblinpunch.blogspot.com/2015/11/new-class-hair-wizards.html','O', ['Control Hair', "Casmontiya's Pet", "Brontlegrim's Grip", 'Hair Growth', "Fabberton's Lucubration", 'Moustachio Toolio'], ["Perks: Don't need a free hand to cast spells",'Restrictions: Cannot cast spells if hair is removed or burnt off','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Receding hairline, cannot cast spells for 1d6 rounds','5. Hair changes colour and casts a random spell next round','6. Blinded by hair for 1d6 rounds, Dex check each time you move or fall prone'], ["wizard robes (+1 MD, -1 Def)","spellbook"], [`Hair`,`Beard`,`Rope`,`Control`,`Tool`,`Mustache`,`Remove`,`Charm`,`Nose`,`Back`,`Ear`,`Magnificent`,`Lustrous`,`Wrestle`,`Bind`,`Hand`,`Cut`,`Charm`,`Brush`,`Pamper`] ), new WizardSchool( 'Noise Wizard','http://goblinpunch.blogspot.com/2014/06/noise-wizards.html','C', [ ['Brown','Horrible','Impossible','Rapturous','Sawtooth','White'][r(6)]+' Noise','Song of '+['Captivation','Courage','Silence','Life','Death','Sleep'][r(6)],'Gossip','Alarm','Charm','Deafen'], ['Perks: Can make a Con check to counter other sound-based effects','Restrictions: Must have access to instrument to cast, takes both hands','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Become the target of the last Noise/Song cast','5. Lost in the music, stunned for 1d6 rounds','6. Lose your voice for the day'], ['large instrument of choice',"wizard robes (+1 MD, -1 Def)","spellbook"], [`Noise`,`Sound`,`Song`,`Play`,`Charm`,`Discord`,`Harmony`,`Tempo`,`Hero`,`Villain`,`Courage`,`Pain`,`Sorrow`,`Hope`,`Love`,`Hate`,`Travel`,`Create`,`Memory`,`Fate`] ), new WizardSchool( 'Heptamancer',"http://meanderingbanter.blogspot.com/2018/08/heptamancer-school.html",'C', ['Flesh to '+['Bone','Jelly','Mud','Stone','Blood','Light'][r(6)], 'Lesser Disintegrate', 'Animate Object', 'Adjust Metabolism', 'Speak with Body', 'Hormonal Tinkering'], ['Perks: Staring into someones eyes lets you know their corruption and an answer to a question from their subconscious','Restrictions: Only works once per person, and they use the same ability on you','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Out of body experience, 2d6 rounds, save to control for a round','5. A very confused psychopomp shows up, expecting... something','6. Disjunct. One of our souls wakes up, roll it as a modified spell personality'], ["wizard robes (+1 MD, -1 Def)","spellbook"], [`Mineral`,`Vegetable`,`Animal`,`Purple`,`Red`,`White`,`Blue`,`Bind`,`Remove`,`Corrupt`,`Flesh`,`Transmute`,`Animate`,`Health`,`Memory`,`Dream`,`Judge`,`Soul`,`Spirit`,`Karma`] ), new WizardSchool( 'Beeromancer','https://meanderingbanter.blogspot.com/2019/06/narcomancer-beeromancer.html','O', ['Booze Blast', 'Sleep', 'Enchant Improvised Weapon', 'Cure Light Wounds', 'Inflict Drunkenness', 'Water to Wine'], ['Perks: Getting sloppily drunk restores 1 MD',"Restrictions: Can't cast while sober",'Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. -4 Wisdom till you sober up','5. Random limb becomes hostile to you, 1d6 rounds','6. Forced purge, lose all drunkenness... messily'], ['three bottles of potent booze',"wizard robes (+1 MD, -1 Def)","spellbook"], [`Beer`,`Wine`,`Vodka`,`Sober`,`Drunk`,`Inflict`,`Transmute`,`Blast`,`Liquid`,`Taste`,`Confuse`,`Friend`,`Boat`,`Travel`,`Drain`,`Vomit`,`Jar`,`Glass`,`Magic`,`Slide`] ), new WizardSchool( 'Narcomancer','https://meanderingbanter.blogspot.com/2019/06/narcomancer-beeromancer.html','B', ['Confusion','Animate Powder','Inflict Withdrawal','Phantom Limb','Circle of Mushrooms','Sleep'], ['Perks: Start the game with magical drugs','Restrictions: Disadvantage on carousing and courtesy checks','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Spell hits a random additional target','5. Unable to discern friend or foe for 1d6 rounds','6. Gain a point of tolerance'], ["drug caches, 3 doses of each: "+[`Alterket (+damage resistance, -dodge, immune to pain and can't feel HP)`,`Notcoke (+attack, +initiative, save vs. impulse decisions)`,`Otherpot (immune to illusions and spell-interuption, save vs. screwups when you try anything new)`,`Unmandy (+ranged attacks, read emotions through facial expressions, very chatty and no filter, save vs. distractions)`,`Oblian (+damage, +HP, -awareness, save vs. naps)`,`Tooka (predict all opponent actions, 1-in-6 it's just too confusing and makes you sick)`,`Tuss (+Int, +Wis, +spell research, -Dex)`].sample()+", "+[`Talkleaf (+initiative, +save vs. fear, -carrying capacity, makes you nervous if you can't smoke)`,`Crate (+Con, +endurance, -focus, difficulty judging time)`,`Terrorleaf (+Str, +rage, +save vs. charm, paranoia and psychotic breaks)`,`Metalfet (+attack, +damage, -everything else, lose sleep, teeth and friends, twice as addictive)`,`Cathy (+Cha, deals non-lethal damage)`,`Coffee (+Wis, +Dex, each dose makes up for 2 hours lost sleep, +crit fail range)`,`Drill (+save, body load fills inventory slots, [dose]% chance of hallucinating vermin)`].sample()+", "+[`Silvercaps (immune to nausea and sickness, -fall damage, body load fills inventory slots)`,`Pixie Dust (+float off the ground, -Wis)`,`Wizard Teeth (+1 MD for the day, -save vs. mishap, tolerance lowers MD recovery rate)`,`Fizzbop (+2 MD for the next spell, +Instability Die, tolerance lowers MD retain range)`,`Talakeshi Jelly (+initiative, +Str, doubled food requirements, all breakdowns/insanities are psychosis)`,`Mevverwen (+euphoria, forget the last N rounds, removes mental effects in that time, -Wis, tolerance drains XP)`,`Angelshit (+Wis, +inventory but lose items if not drugged up, save vs. horror at the sight of corners)`,`Brood (+max HP, feel bugs everywhere, save vs. eating coal/dirt/tar/sulphur, tolerance grows insect legs on body parts)`].sample(),"wizard robes (+1 MD, -1 Def)","spellbook"], [`Opiate`,`Intoxicate`,`Epiphany`,`Paranoia`,`Exhale`,`Smoke`,`Test`,`Harvest`,`Confuse`,`Hallucinate`,`Enlighten`,`Brew`,`Panic`,`Ignite`,`Purify`,`Contaminate`,`Combine`,`Blood`,`Induce`,`Cure`] ), new WizardSchool( 'Leech-Witch','','O', ['Heal','Acid Leech','Whip Leech','Eyebite','Arterial Leech','Sleep Leech'], ['Perks: 1+INT in 6 chance of making progress on breeding a new spell each day','Restrictions: Leeches are sensitive creatures, and suffer from poisons etc. They also need 1d6 blood every long rest','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. A random leech gets loose','5. Injected with blood of last enemy hit with a spell','6. Misplace a random leech'], ["wizard robes (+1 MD, -1 Def)","spellbook","plague-doctor mask"], [`Heal`,`Leech`,`Harm`,`Feast`,`Acid`,`Spit`,`Drain`,`Blood`,`Phlegm`,`Flesh`,`Bone`,`Balance`,`Spirit`,`Organ`,`Disease`,`Spite`] //UNFINISHED ), new WizardSchool( 'Metamancer','http://www.remixesandrevelations.com/2018/01/osr-metamancers-masters-of-magic.html','O', ['Aegis','Bind Demon','Contact Being','Illusion','Inversion','Invisibility'], ['Perks: You can see as well as smell magic','Restrictions: So long as you have any MD remaining, you faintly glow in the dark','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Spell arrives in 1d6 minutes at the worst possible target','5. Contract a curse, save ends each week','6. The spell is replaced with a random one'], ["luminescent body-paint (+1 MD, -1 Def)","parchment scrawlings"], [`Ward`,`Block`,`Spell`,`Dispel`,`Corrupt`,`Light`,`Reveal`,`Aegis`,`Glow`,`Detect`,`Identify`,`Bind`,`Summon`,`Reverse`,`Symbol`,`Astral`,`Gaze`,`Knowledge`,`Time`,`Space`] ), new WizardSchool( 'Oracle',"https://swordsandscrolls.blogspot.com/2018/07/osr-class-oracle-wizard.html",'C', ['Unseen Servant (0 MD with staff)','Insight','Magic Missile','Polyglot','Message','Whirling Staff'], ['Perks: Blindsight within 50ft','Restrictions: Blind, your staff is also your braille spellbook','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Lose blindsight for 1d6 rounds','5. Stunned by horrific visions, 1d6 rounds','6. Disadvantage on all rolls, 1d6 rounds'], ['braille-staff (1d6+STR)',"wizard robes (+1 MD, -1 Def)"], [`Fate`,`Future`,`Past`,`Eye`,`Blind`,`Unseen`,`Language`,`Force`,`Control`,`Speak`,`Magic`,`Jinx`,`Truth`,`Far`,`Fortune`,`Question`] //UNFINISHED ), new WizardSchool( "Adipomancer","http://throneofsalt.blogspot.com/2018/02/class-adipomancer.html",'O', undefined, undefined, undefined, ["Food","Fist","Strength"] ), new WizardSchool( "Allomancer","http://throneofsalt.blogspot.com/2018/05/class-allomancer.html",'O', undefined, undefined, undefined, ["Metal","Dust","Iron","Tin","Gold","Silver"] ), new WizardSchool( "Cosmomancer","http://www.remixesandrevelations.com/2017/10/osr-cosmomancer-scholars-of-stars.html",'C', undefined, undefined, undefined, ["Light","Star","Sun","Moon","Sight","Blind"] ), new WizardSchool( "Cthonomancer","http://www.remixesandrevelations.com/2017/10/osr-cthonomancer-alchemists-gravitrons.html",'C', undefined, undefined, undefined, ["Stone","Gravity","Slime"] ), new WizardSchool( "Deep Mage","https://attnam.blogspot.com/2018/07/class-deep-mage.html",'O', undefined, undefined, undefined, ["Ink","Swim","Tentacle","Squid","Water"] ), new WizardSchool( "Diviner Wizard","https://attnam.blogspot.com/2018/07/class-diviner-wizard.html",'C', undefined, undefined, undefined, ["Sight","Detect","Find","Truth"] ), new WizardSchool( "Drowned Wizard","https://coinsandscrolls.blogspot.com/2017/06/osr-drowned-wizards.html",'C', undefined, undefined, ['1d6 days of tea, or a bottle of wine',"blue wizard robes (+1 MD, -1 Def)","spellbook"], ["Coins","Liquid","Metal","Magic"] ), new WizardSchool( "Electromancer","http://www.remixesandrevelations.com/2017/10/osr-electromancers-determinists-spark.html",'C', undefined, undefined, undefined, ["Metal","Shock","Lightning","Magnet"] ), new WizardSchool( "Elf Wizard","https://coinsandscrolls.blogspot.com/2017/05/osr-elves-and-elf-wizards.html",'O', undefined, undefined, ["forest-green robes (+1 MD, -1 Def)","bow (1d6, 2-h)"], ["Tree","Arrow","Bow","Forest","Grace"] ), new WizardSchool( "Iron Wizard of Tolti-Aph","https://attnam.blogspot.com/2018/08/class-iron-wizard-of-tolti-aph.html",'O', ["Corrode Metal","Heat/Chill Metal","Hold Metal","Bend Metal","Repel Metal","Thousand Needles"], ['Perks: You can imbue a silver item with MD. Imbued MD automatically recharge at midnight, and 1/day Imbued MD return on 1-5','Curse of Khalybs: Touching iron deals 1 damage per round'], ["pouch of silver needles", "small piece of silver jewelry (0 slots)", "leather gloves (0 slots)","wizard robes (+1 MD, -1 Def)","spellbook"], ['Silver','Metal','Corrode','Needle'] ), new WizardSchool( "Magelander","http://throneofsalt.blogspot.com/2018/02/class-magelander.html",'O', [domainWords[r(200)]+" "+domainWords[r(200)],domainWords[r(200)]+" "+domainWords[r(200)],domainWords[r(200)]+" "+domainWords[r(200)],domainWords[r(200)]+" "+domainWords[r(200)],domainWords[r(200)]+" "+domainWords[r(200)],domainWords[r(200)]+" "+domainWords[r(200)]], ["Perk: Your robes are always bright, clean and dramatic","Restriction: Start with one mutation"], undefined, [domainWords[r(200)],domainWords[r(200)],domainWords[r(200)],domainWords[r(200)]] ), new WizardSchool( "Moderatus Wizard","https://swordsandscrolls.blogspot.com/2018/05/osr-class-moderatus-wizard.html",'C', undefined, undefined, undefined, ["Heal","Balance","Clean","Cure"] ), new WizardSchool( "Muscular Puncher","http://goblinpunch.blogspot.com/2015/05/muscular-puncher.html",'O', undefined, [`Perk: Your "spells" don't count as magic, your fists deals 1d6+STR damage`,`Restriction: You can't read. Reading is for nerds`], ["supernatural exercise manual","ridiculous outfit (+1 MD, -1 Def)"], ["Punch","Fist","Strength","Leap","Buff"] ), new WizardSchool( "Numismagus","http://www.furthestlands.com/2018/06/glog-wizard-numismagus.html",'C', undefined, undefined, undefined, ["Coins","Money","Luck","Glamour"] ), new WizardSchool( "Psychomancer","http://www.remixesandrevelations.com/2018/01/osr-psychomancers-lords-of-mind.html",'C', undefined, undefined, undefined, ["Mind","Thought","Control","Glamour"] ), new WizardSchool( "Queens Wizard","https://attnam.blogspot.com/2018/07/class-queensman-wizard.html",'B', undefined, undefined, undefined, ["Flesh","Blade","Bind","Candle","Loyal","Betray"] ), new WizardSchool( "Radiomancer","http://unlawfulgames.blogspot.com/2018/08/osr-radiomancer.html",'O', undefined, undefined, undefined, ["Mutate","Radiation","Nuclear","Contaminate","Contain","Poison"] ), // new WizardSchool( // "Root Doctor","http://unlawfulgames.blogspot.com/2018/08/osr-root-doctor.html",'C', // ), new WizardSchool( "Sea Mage","https://attnam.blogspot.com/2018/07/class-sea-sorcerer.html",'O', undefined, undefined, undefined, ["Water","Ocean","Fish","Slime","Wind"] ), new WizardSchool( "Sin Wizard","https://swordsandscrolls.blogspot.com/2018/07/osr-class-sin-wizard.html",'B', undefined, undefined, undefined, ["Curse","Hex","Terror","Darkness","Bane","Soul","Blight"] ), new WizardSchool( "Skull Wizard","http://unlawfulgames.blogspot.com/2018/07/osr-skull-wizard.html",'B', undefined, undefined, undefined, ["Skull"] ), new WizardSchool( "Snake Wizard","http://unlawfulgames.blogspot.com/2018/05/osr-snake-wizard.html",'B', undefined, undefined, undefined, ["Snake"] ), new WizardSchool( "Geometer","https://coinsandscrolls.blogspot.com/2019/10/osr-class-geometer-wizard.html",'C', ["Magic Missile","Reform","Astrologer's Helper","Moon Lust","Package Neatly","Control Iron"], ["Perk: Casting a spell over ten minutes in direct sunlight grants +1 MD","Restriction: Carrying iron items swiftly drain your MD"], ["mathematical tools","spellbook","black wizard robes marked with starcharts (+1 MD, -1 Def)"], ["Measure","Star","Iron","Light"] ), new WizardSchool( "Speleomage","https://coinsandscrolls.blogspot.com/2018/03/osr-class-speleomage.html",'C', undefined, undefined, undefined, ["Stone","Water","Shadow"] ), new WizardSchool( "Spider Wizard","https://coinsandscrolls.blogspot.com/2018/01/osr-spider-wizards.html",'O', undefined, undefined, undefined, ["Spider"] ), new WizardSchool( "Sword Mage","https://attnam.blogspot.com/2018/07/class-sword-mage.html",'O', undefined, undefined, undefined, ["Sword","Blade","Slash"] ), new WizardSchool( "Toxinist","https://oblidisideryptch.blogspot.com/2018/06/5eglog-wizard-school-toxinist.html",'B', undefined, undefined, undefined, ["Poison","Gas","Toxin"] ), new WizardSchool( "Folk Wizard","http://throneofsalt.blogspot.com/2018/02/class-witch.html",'O', ["Mending","Produce Flame","Identify","Locate","Hidden Language","Find Familiar"], ["Perks: Always have a piece of string, a stub of chalk, a smooth pebble and a coin in your pocket","Drawbacks: Never look like a proper wizard, ever"], ["humble robes (+1 MD, -1 Def)","fire-starting kit"], [`Truth`,`Path`,`Land`,`See`,`Speak`,`Wind`,`Water`,`Time`,`Age`,`Ocean`,`Rain`,`Light`,`Hidden`,`Remember`,`Mend`,`Find`,`Animal`,`Spirit`,`Weather`,`Lost`] ), new WizardSchool( "Winter Wizard","https://attnam.blogspot.com/2018/07/class-winter-witch.html",'O', undefined, undefined, undefined, ["Ice","Cold","Weather"] ), new WizardSchool( "Red Hand Wizard","https://attnam.blogspot.com/2018/08/class-wizard-of-right-hand.html",'B', undefined, undefined, undefined, ["Hand","Pain","Wound"] ), new WizardSchool( "Botanimancer","http://goblinpunch.blogspot.com/2017/12/plants-monsters-spells-items.html",'O', undefined, undefined, undefined, ["Plant","Growth","Tree"] ), new WizardSchool( "Door Wizard","http://goblinpunch.blogspot.com/2017/08/door-wizard.html",'C', undefined, undefined, undefined, ["Door","Lock","Knock","Secret","Connect"] ), new WizardSchool( "Shadow Wizard","https://attnam.blogspot.com/2018/10/class-shadow-wizard.html",'O', undefined, undefined, undefined, ["Shadow","Darkness"] ), new WizardSchool( "Forge Wizard","http://journeyintotheweird.blogspot.com/2018/09/glog-class-forge-wizard.html",'C', undefined, undefined, undefined, ["Metal"] ), new WizardSchool( "Cat Wizard","https://attnam.blogspot.com/2019/01/class-cat-wizard.html",'O', undefined, undefined, undefined, ["Cat"] ), new WizardSchool( "Telemancer","https://github.com/valzi/GLOG-classes/wiki/Wizard_School_Telemancer-Type1Ninja",'C', ['Blink','Teleport Other','Swap','Visit','Mind Tether','Blinkstep'], undefined, undefined, ["Tele","Port","Step","Swap"] ), new WizardSchool( "Industrial Wizard","https://drive.google.com/file/d/160NWkqS5zi5o0I44WkOVavkHEPvnsm75/view",'C', undefined, undefined, undefined, ["Detect","Gold","Lock","Grease"] ), new WizardSchool( "Anti Wizard","https://thelovelydark.blogspot.com/2019/02/the-anti-wizard.html",'O', undefined, undefined, undefined, ["Petal","Thorn","Dream","Colour","Ego"] ), new WizardSchool( "Skeleton Wizard","https://paperelemental.blogspot.com/2018/07/osr-class-skeleton-wizard.html",'B', undefined, undefined, undefined, ["Bone"] ), new WizardSchool( "Meat Mage","https://paperelemental.blogspot.com/2018/08/osr-class-meat-mage.html",'O', undefined, undefined, undefined, ["Meat"] ), new WizardSchool( "Garbage Wizard","https://sevendeadlydungeons.blogspot.com/2019/03/glog-garbage-wizard.html",'C', undefined, undefined, undefined, ["Filth","Clean","Tool","Garbage"] ), new WizardSchool( "Golemist","https://meanderingbanter.blogspot.com/2019/03/golemist-school.html",'C', ["Create Clay Golem","Create Stone Golem","Create Metallic Golem","Create Flesh Golem","Create Wood Golem","Create "+["Glass","Wire","Wax","Fire","Water"][r(5)]+" Golem",], ["Perks: You can cast in heavy armour without penalty, you start at journeyman-level in the skill related to your starting spell (Rank 2)","Restrictions: You have disadvantage on checks to learn, alter or communicate with non-Golemist spells"], ["wizard robes (+1 MD, -1 Def)","spellbook","crafting materials (2 slots)"], [`Animate`,`Clay`,`Metal`,`Glass`,`Wood`,`Stone`,`Flesh`,`Furniture`,`Clockwork`,`Tool`,`Forge`,`Craft`,`Imbue`,`Element`,`Life`,`Control`,`Repair`,`Strength`,`Limb`,`Joint`] ) ] class WarlockPact{ constructor(name, magic_words, details){ this.name = name this.magic_words = magic_words this.details = details } words(){ return "words known: "+this.magic_words.sample()+", "+shared_magic_words.sample()+", "+all_magic_words.sample()+", [own choice]" } } var warlock_pact_list = [ new WarlockPact( 'Demons',[`Hell`,`Blade`,`Murder`,`Death`,`Blood`,`Curse`,`Possess`,`Fire`,`Flame`,`Soul`,`Demon`,`Devil`,`Bolt`,`Reap`,`Hex`,`Bind`,`Summon`,`Fear`,`Evil`,`Good`], ["Perk: 1-in-6 chance of having the same master as any demon","Restriction: Detect as Evil no matter what you do"] ), new WarlockPact( 'Devils',[`Hell`,`Blade`,`Murder`,`Death`,`Blood`,`Curse`,`Possess`,`Fire`,`Flame`,`Soul`,`Demon`,`Devil`,`Bolt`,`Reap`,`Hex`,`Bind`,`Summon`,`Fear`,`Evil`,`Good`], ["Perk: Immune to fire, just as painful though","Restriction: If you break a solemn oath, save or die"] ), new WarlockPact( 'Faeries',[`Beauty`,`Terror`,`Forest`,`Flesh`,`Spirit`,`Sleep`,`Memory`,`Charm`,`Gold`,`Portal`,`Enchant`,`Youth`,`Bow`,`Arrow`], ["Perk: You can survive on natural beauty alone","Restriction: You must abide by the laws of hospitality"] ), new WarlockPact( 'Eldritch Abominations',[`Awaken`,`Sleep`,`Mind`,`Terror`,`Fear`,`Insanity`,`Summon`,`Ice`,`Nightmare`,`Knowledge`,`Beyond`,`Void`,`Gate`,`Water`,`Claw`,`Thought`], ["Perk: Telepathy with anyone you are staring at","Restriction: Fail all saves against madness and insanity"] ), new WarlockPact( 'Hexblade',[`Hell`,`Blade`,`Murder`,`Death`,`Blood`,`Curse`,`Possess`,`Fire`,`Flame`,`Soul`,`Demon`,`Devil`,`Bolt`,`Reap`,`Hex`,`Bind`,`Summon`,`Fear`,`Evil`,`Good`], ["Perk: Start with a +1 weapon","Restriction: Cannot cast spells without your weapon in hand"] ), new WarlockPact( //UNFINISHED 'Star Whispers',[`Light`,`Dark`,`Sun`,`Moon`,`Stars`,`Constellation`,`Spear`,`Fall`,`Day`,`Night`,`Iron`,`Fire`,`Mystery`], ["Perk: You can spend the night communing with the stars instead of sleeping","Restriction: Magical healing that targets you is redirected to those around you"] ), new WarlockPact( 'The Ancient King',[`Serve`,`Command`,`Break`,`Punish`,`Hand`,`Slave`,`Crown`,`Chain`,`Bind`,`Eternal`,`Fealty`,`Oath`,`Rust`,`Entropy`,`Chaos`,`Brittle`,`Battle`,`Armour`], ["Perk: Break a finger of anyone who serves you at a glance","Restriction: You cannot help but obey orders from your superiors"] ), new WarlockPact( 'Forbidden Knowledge',[`Control`,`Heat`,`Metal`,`Steel`,`Alloy`,`Knowledge`,`Secret`,`Weapon`,`Gun`,`Bullet`,`Inspect`,`Repair`,`Machine`,`Automata`,`Construct`], ["Perk: Start with a clockwork gun","Restriction: Take 1d4 to tear yourself away from a project part-way"] ) ] var miscMutations = [`Hover, can’t touch ground`,`Burst of speed, deals you 1d6 damage`,`Prehensile toes`,`Cloven hooves`,`Backwards footprints`,`Extra toes, 2d10 per foot`,`Migrating feet, move to your knees`,`Quadrupedal, can’t stand up and walk at the same time`,`Cricket legs, wind up over two rounds to jump huge distances`,`Rearrangeable limbs, takes 1 hour to slide`,`1d4 limbs replaced by tentacles, 1d4 per limb`,`Joint reversal, everything bends the other way`,`Centauroid body-plan, increased carrying capacity but climbing is near-impossible`,`Monoleg. Doesn't seem to bother you much`,`Forgot how to walk. Whoops!`,`Shrink by 10% per day`,`Take 1d6+[times used] damage, teleport to somewhere you can see`,`Change gender`,`Change race`,`Living bomb, 3d6 damage when killed`,`New digestion (wood, oil, spells, gems, hearts, toenails)`,`Gland, excessive use deals you 1d4 damage (poison, blasphemy, inflatable, gyroscopic, acid, ink)`,`Addiction, take 1d6 INT damage each day you can't get your fix (alcohol, blood, turnips, arson, lots of food, bath)`,`Daily organ failure. Halved Constitution`,`Wings, you’ll need hollow bones if you want to actually fly though`,`Regrowth, a missing limb/organ/body part starts repairing itself, requires lots of food or it's stunted`,`Hidden compartment in chest`,`Grow a tail`,`Secretly become (swarm of insects, swarm of rats, puppet of semi-real creatures, a hallucination each night, undead, marked for "godhood")`,`Compressible bones`,`Hive, infested by insects (bees, beetles, worms, spiders, fairies, glowing lights)`,`1d4 limbs (fall off, melt, betray you, get eaten by invisible beast, stop working, swap places)`,`Lopsided Gainz, +6 Strength with one arm`,`Missing arm, telekinesis at-will but take 1d4 damage`,`Detachable limb, drops off on a failed save vs. fear`,`Third arm, has half your strength`,`Replacement (lobster claw, organic crossbow, tentacle, snake, stone, quintuple jointed)`,`One arm is intelligent, treat as a retainer`,`Terrible posture, head switches place with arm`,`Shrivelled. Halved Strength`,`Immortal hand, completely indestructible`,`Suckers on fingers`,`Bone weapon (dagger, sword, axe, flail, hammer, retractable spike)`,`Shed fingers each night, grow new ones`,`Hook fingers`,`Extra fingers, 2d10`,`Fuse with nearest/held object`,`The Shakes. Halved Dexterity`,`Grinder guts. Can eat anything with no ill effects`,`Glowing smile`,`Sharp teeth`,`Extensible mouth, can eat anything up to twice the size of your head`,`Frog tongue`,`Teeth grow everywhere`,`New mouth layout (vertical, extensible, on your stomach, back of your head, mandibles, proboscis)`,`No face. Halved Charisma`,`Laser Eyes. Up to 3d6 fire damage, you take half`,`Wizard Vision, -1d6 WIS or CHA, you can cast detect invisibility at a thought`,`Glowing Eyes (ROYGBP)`,`Instead of colour, you see (heat, souls, smells, magic, empty spaces, memories)`,`Red dot wherever you look`,`Evil Eye (weeps black tar, impossibly deep, burning orb, rolling wildly, falls out randomly, toothsome)`,`Weird location (on stalks, on hands, orbiting head, everywhere, cyclops, triclops)`,`Blind and deaf, apart from distant red screaming glow beneath the earth`,`Alter Face at will, costs 1 CON`,`Brand new head (dolphin, mushroom, hawk, spider, bat, dragon)`,`Out of your head grow (antlers, antennae, 1d4 horns, extremely long nose, feather crest, unnameable protuberance)`,`Swivel, head can rotate 360 degrees`,`Second head (angry, happy, stupid, sleepy, wise, silent)`,`Floating head, can be stolen/lost`,`Gills, can breath underwater. Save at +4 or you can't breath above water`,`Skullhead. Halved Intelligence or Wisdom`,`Invisible, not including equipment`,`Defensive skin (chitinous, shell, scales, leathery, metallic, illusory displacement)`,`Skin changes colour (ROYGBP)`,`Skin changes colour (stripes, spots, whatever you are looking at, night sky, own choice, rainbow)`,`Completely hairless`,`Skin is a new material (feathers, mirrored, furry, leaves, sheddable, rubbery)`,`Diseased skin (lumps, oozing sores, zombie-like, falling apart, translucent, sticky)`,`Allergic to (women, clothing, money, iron, books, loud noises)`,`Haemokinetic, you can control your blood`,`Second heart`,`Blood is replaced with (glass, molten metal, pure water, nutrients, glue, oil)`,`Blood replaced with (ants, fire, sound, seawater, sand, goop)`,`Magnetic blood`,`Vampirism`,`Foam Blood, dropping to 0HP releases sticky clouds`,`Delicious Blood, prioritised by hungry things`,`Second life, don't waste it!`,`Spell-festation, a random spell takes up residence`,`Inability to lie, or be lied to`,`Your dreams occasionally come true`,`Thoughts and actions are narrated`,`Names of people you kill appear on your skin`,`Powerful Name, it echoes and reverberates whenever pronounced`,`Soul Eater, killing people who's name you know heals 1d4 HP`,`Breath Weapon (fire, cold, lightning, acid, spores, charm)`,`Retractable head`,`Second Brain. In your guts. If decapitated, you can live (blind, deaf, and dumb, but alive)`,`Blood Fountain. Take 1d6 damage to spray blood from your pores 10' in all directions`,`Wizard Whistle. Once per day, you can whistle loud enough to deal 1 damage in a 50' radius`,`Thoughts printed on your skin like scrolling marquee text`,`Hallucinogenic Blood (arms made of snakes, metal is delicious, ants in your eyes, in the emperor's harem, slowly turning to sand and trickling away, everything is going reeeeally sloooowly), roll once or each time as you like`]; function getMutation(){ var mut = ""; switch(r(2)){ case 0: //Random limb mut = [`Adhesive`,`Crystalline`,`Clockwork`,`Detachable`,`Dripping`,`Fanged`,`Flaming`,`Furred`,`Gigantic`,`Glowing`,`Gooey`,`Humming`,`Icy`,`Malformed`,`Necrotic`,`Neon`,`Nutritious`,`Predatory`,`Prehensile`,`Pungent`,`Reflective`,`Blooming`,`Rubbery`,`Screaming`,`Skeletal`,`Slimy`,`Smoking`,`Spiky`,`Throbbing`,`Transparent`].sample()+" "+[`antennae`,`claw`,`horn`,`tail`,`wings`,`tubes`,`bones`,`brain`,`calf`,`chest`,`ear`,`elbow`,`eye`,`face`,`fingers`,`foot`,`forearm`,`guts`,`hand`,`limbs (1d4)`,`lungs`,`mouth`,`neck`,`nose`,`shoulder`,`skin`,`skull`,`spine`,`thigh`,`toes`,`tongue`,`torso`].sample(); break; case 1: //Bullshit mut = miscMutations.sample(); break; } return mut; } function materials(a, b){ var matList = ['Stone', 'Mud', 'Fire', 'Blood', 'Metal', 'Wood', 'Slime', 'Light', 'Water', 'Flesh']; var weirdMats = [`Acid`,`Adamant`,`Aether`,`Air`,`Alcohol`,`Ash`,`Bone`,`Bread`,`Candy`,`Clay`,`Cloth`,`Coal`,`Copper`,`Coral`,`Crystal`,`Dark matter`,`Drugs`,`Dust`,`Ectoplasm`,`Lightning`,`Fart`,`Feathers`,`Food`,`Fossil`,`Fruit`,`Fungus`,`Gas`,`Gems`,`Glass`,`Glue`,`Gold`,`Grease`,`Gunpowder`,`Hair`,`Honey`,`Horns`,`Chitin`,`Ice`,`Illusion`,`Ink`,`Iron`,`Ivory`,`Lava`,`Lead`,`Leather`,`Lye`,`Mercury`,`Milk`,`Mithril`,`Mud`,`Claws`,`Paint`,`Panacea`,`Paper`,`Petroleum`,`Plants`,`Plastic`,`Platinum`,`Poison`,`Porridge`,`Quintessence`,`Raw Magic`,`Rot`,`Rubber`,`Saliva`,`Salt`,`Sand`,`Seashell`,`Shadows`,`Silk`,`Silver`,`Skin`,`Ooze`,`Smoke`,`Snot`,`Snow`,`Soil`,`Fog`,`Sulphur`,`Sweat`,`Tar`,`Tears`,`Teeth`,`Tin`,`Uranium`,`Urine`,`Vacuum`,`Vermin`,`Vodka`,`Void`,`Vomit`,`Wax`,`Wine`,`Anger`,`Boredom`,`Death`,`Disgust`,`Envy`,`Hatred`,`Joy`,`Life`,`Love`,`Lust`,`Memories`,`Music`,`Pain`,`Serenity`,`Shame`,`Silence`,`Sorrow`,`Surprise`,`Terror`,`Trust`]; var output = ""; if(a=='normal') output += matList[r(matList.length)]; else output += weirdMats[r(weirdMats.length)]; output += " to "; if(b=='normal') output += matList[r(matList.length)]; else output += weirdMats[r(weirdMats.length)]; } function printMod(stat){ switch(stat){ case 3:case 4:case 5: return " (-2)"; break; case 6:case 7:case 8: return " (-1)"; break; case 9:case 10:case 11: return ""; break; case 12:case 13:case 14: return " (+1)"; break; case 15:case 16:case 17: return " (+2)"; break; case 18: return " (+3)"; break; default: return ""; break; } } function clearAll(){ name = ''; simpleDesc = ''; raceID = ''; classID = ''; att=10; def=10; save=6; svF=0; md=0; otherSaves = []; move=0; initiative=0; HD=6; maxHP=0; traits = ["TRAITS"]; gear = ["INVENTORY"]; accoutrements = ["ACCOUTREMENTS"]; skills=[]; sk="Skills: " invWeight = -1; //because of the name invSize = 0; //because of the name randItems = 3; subclassLink = ""; formatTraits = {}; document.getElementById("charTextOut").innerHTML = ''; } function reroll(statIn){ var stat = statIn; if(stat=='any') stat = ['str','dex','con','int','wis','cha'][r(6)] stats[stat]=Math.max(stats[stat], d(3,6)); } var raceList = [ 'Aasimar', 'Goliath', 'Kobold', 'Gnome', 'Dragonborn', 'Orc', 'Dwarf', 'Human', 'Halfling', 'Goblin', 'Elf', 'Lizardman', 'Half-Giant', 'Tiefling', 'Fishman', 'Undead', //weird from here down 'Ragwretch', 'Mouse', 'Trilobite', 'Antling', 'Warper', 'Two goblins in a big coat', 'Olm', 'Spiderling', 'Crabman', 'Frog-of-War', 'Slug', 'Myconid', 'Dryad', 'Faerie', 'Avian', 'Minotaur', 'Ogre', 'Aberrant', 'Homunculus', 'Masked Animal' ]; function getRace(selR){ raceID = raceList[selR]; switch(raceID){ case 'Aasimar': simpleDesc += 'A half-angel'; traits.push('Your blood cures wounds, 2 HP heals 1'); reroll('wis'); break; case 'Goliath': simpleDesc += 'A dude made of stone'; traits.push('Take no damage from fire, and half from falling',"Swimming and running is disadvantaged"); reroll('con'); break; case 'Kobold': simpleDesc += 'A knee-high lizard'; traits.push('Always know immediately when a trap you’ve set has been sprung'); traits.push('Must always attempt to acquire shinies'); reroll('dex'); break; case 'Gnome': simpleDesc += 'A tiny, slightly invisible dude'; traits.push("Can become invisible after a round if you close your eyes, hold your breath, and don't move","Will attack instead of fleeing when afraid"); reroll('int'); break; case 'Dragonborn': simpleDesc += 'A scaly firebreathing dude'; reroll('str'); traits.push('Fire sneeze 1/day (2d6, save or ignite)'); traits.push('Save vs. Greed when you try and give currency or treasure away'); break; case 'Orc': simpleDesc += 'A big angry dude'; if(formatTraits.brand=='die_trying') traits.push('Turn a Major Injury or Save vs Death into a Scar, 3 Xs recharge'); else traits.push('Turn a Major Injury or Save vs Death into a Scar, works once per level'); traits.push('Your attacks and spells deal max damage to allies'); reroll('str'); break; case 'Dwarf': simpleDesc += 'A short angry dude'; traits.push('Speak with Stone 1/day'); traits.push('Can only drink alcohol, water slowly sends you into a fugue state'); gear.push('three bottles of booze') reroll('con'); break; case 'Human': simpleDesc += 'A dude'; traits.push('Switch any two stats'); randItems += 1; break; case 'Halfling': simpleDesc += 'A short dude'; traits.push('Heal more from lunch'); traits.push('Strictly vegetarian'); reroll('wis'); break; case 'Goblin': simpleDesc += 'A green scaly thing'; traits.push('You can smell half as well as you can see'); traits.push('Strictly carnivorous'); reroll('dex'); break; case 'Elf': simpleDesc += 'A tall snob'; var a = Math.min(stats.str,stats.dex,stats.int,stats.wis); var b = Math.max(a, d(3,6)); if(a>=b){ // traits.push('Gift of Fortune'); // gear.push('bow (1d6)','quiver of arrows',['grapple hook',d(3,4)+' silver','magical healing herbs, three doses','two throwing knives','silver ring set with your family crest','lantern'][r(6)]) } else if(stats.dex == a){ traits.push('Gift of Grace (Dexterity improved from '+a+')'); stats.dex = b; } else if(stats.wis == a){ traits.push('Gift of Acuity (Wisdom improved from '+a+')'); stats.wis = b; } else if(stats.str == a){ traits.push('Gift of Dominance (Strength improved from '+a+')'); stats.str = b; } else if(stats.int == a){ traits.push('Gift of Knowledge (Intelligence improved from '+a+')'); stats.int = b; } traits.push('Take 1 damage if you openly apologise, or interact with "ugliness"'); reroll('cha'); break; case 'Lizardman': simpleDesc += 'A lizard'; traits.push('Can consume rotten food and brackish water with impunity'); traits.push('Save vs. hypothermia if you get excessively cold'); reroll('dex'); break; case 'Half-Giant': simpleDesc += 'A hella big dude'; traits.push('Block 1d12 damage 1/day','Eat twice as much'); reroll('str'); break; case 'Tiefling': simpleDesc += 'A half-demon'; var dT = r(4) traits.push('Start with '+String(dT)+' demonic mutations (eyes, tail, skin, horns)'); if(dT<1) formatTraits.humanPassing=true; reroll('cha'); break; case 'Fishman': simpleDesc += 'A walking, talking fish'; traits.push('Breath underwater',"Unable to heal naturally unless adequately damp"); reroll('dex'); break; case 'Undead': simpleDesc += 'A dead dude'; raceID += " "+raceList[5+r(6)]; traits.push("If it's plausible, you can come back from death again with -1d4 to a random stat"); traits.push("You've already lost 1d4 from each stat") for (var p in stats){ stats[p]=stats[p]-d(1,4); } break; //weirder ones below case 'Ragwretch': simpleDesc += 'A cloaked weirdo'; reroll('wis'); traits.push('Can produce 1d10cp of rags, thread or rope per day'); traits.push('Fire does 1d8 damage to you'); traits.push('Read more - https://www.incunabuli.com/2017/10/whos-afraid-of-ragwretch.html') break; case 'Mouse': simpleDesc += 'A scurrying mouse'; reroll('dex'); traits.push('Can fit in very small spaces'); traits.push('No large weapons'); traits.push('Read more - https://www.incunabuli.com/2017/10/of-mice-and-humanity.html') break; case 'Trilobite': simpleDesc += 'An armoured beetle'; reroll('con'); traits.push('Can roll into a ball for +4 Defence'); traits.push('No thumbs'); break; case 'Antling': simpleDesc += 'A friendly ant'; reroll('str'); traits.push('+2 Inventory'); traits.push('Save vs Fear when alone'); traits.push('Read more - https://coinsandscrolls.blogspot.com/2018/02/osr-antlings.html'); invSize += 2; break; case 'Warper': simpleDesc += 'A kooky fellow'; reroll('int'); traits.push('Take 1 damage to teleport 10ft in a random direction'); traits.push('Automatically warp when dropped to 1HP'); break; case 'Two goblins in a big coat': simpleDesc += 'A totally and completely normal dude'; traits.push('Divide each ability between each body'); traits.push('Can move after an action'); break; case 'Olm': simpleDesc += 'A weird water-dude'; reroll('wis'); traits.push('Can breath water and air'); traits.push('Blind, but can smell/hear perfectly'); traits.push('Cannot wear normal armour, underwater counts as plate'); traits.push('Read more - https://coinsandscrolls.blogspot.com/2017/12/osr-olm-part-1.html'); formatTraits.olmArmour=true; break; case 'Spiderling': simpleDesc += 'A big friendly spider'; reroll('dex'); traits.push('Secrete 30ft of silk rope per day'); traits.push('Very short-sighted'); break; case 'Crabman': simpleDesc += "... it's a giant crab"; reroll('str'); traits.push('Cannot talk, or hold objects smaller than a broom'); gear.push('claws (2d6+STR)','shell (as plate)'); def += 6; invWeight += 5; break; case 'Frog-of-War': simpleDesc += "A big 'ol frog"; reroll('con'); traits.push('Tongue counts as a whip (1d4)'); traits.push('Swallow targets with two grapple checks'); traits.push('Dry out quickly without water'); break; case 'Slug': simpleDesc += 'A rather sophisticated gastropod'; reroll('int'); traits.push('Slowly move along any flat surface','Salt deals 1d6 damage per round'); break; case 'Myconid': simpleDesc += 'A fungal fellow'; reroll('con'); traits.push('Sporulate 1/day, target must save against spores as disease: '+["Unwelcome Guest (food requirements doubled)","Red Recliner (if not at max HP, suffer 1 damage per round until bandaged)","Black Spots (always surprised, cannot see any kind of fungus)","Liquid Bell (drool constantly, doubled water requirements, always smell delicious)","Cold Shoulder (take damage from light sources)","Friendly Fire (body attacks itself, fail a save vs. disease each morning or take 1d6 damage)"][r(6)],'Save or take 1 CON damage each week'); break; case 'Dryad': simpleDesc += 'A tree person'; reroll('wis'); traits.push('Can always talk to plants','Cannot heal without sunlight'); break; case 'Faerie': simpleDesc += 'An ancient being'; reroll('cha'); traits.push('Anything you speak in rhyme is treated as true','Iron burns you like acid, as do broken promises'); break; case 'Avian': simpleDesc += 'A winged being'; reroll('dex'); traits.push('Can fly while under half inventory slots','Wings require constant grooming, custom armour, disadvantage grappling') break; case 'Minotaur': simpleDesc += 'A bull'; reroll('str'); traits.push('Horns and hooves, charge for 1d6+STR damage, save vs. stun','Disadvantage vs. mazes'); break; case 'Ogre': simpleDesc += 'A meaty dude'; reroll('con'); traits.push('Taste anything to know its origin','Save to stop eating'); break; case 'Aberrant': simpleDesc += 'A freak of unnature'; traits.push('+1 MD','Incapable of either sleeping, eating or internal thoughts'); md += 1; break; case 'Homunculus': simpleDesc += 'A blank slate'; reroll('any'); traits.push('Immune to possession, soul-drain, death effects etc.','Must obey any orders given by whoever holds their command amulet (another PC)'); break; case 'Masked Animal': switch(r(6)){ case 0: simpleDesc += 'A bear '; name = "Bear"; reroll('str'); break; case 1: simpleDesc += 'A goat '; name = "Goat"; reroll('dex'); break; case 2: simpleDesc += 'A pig '; name = "Pig"; reroll('con'); break; case 3: simpleDesc += 'A cow '; name = "Cow"; reroll('int'); break; case 4: simpleDesc += 'A sheep '; name = "Sheep"; reroll('wis'); break; case 5: simpleDesc += 'A deer '; name = "Deer"; reroll('cha'); break; } traits.push('Your mask bestows sentience, opposable thumbs, language, and knowledge of nakedness, if removed, you revert to a mundane animal'); break; default: traits.push('No race details found'); break; } } function getClass(selC, brand){ classID=[ 'Druid', 'Warlock', 'Sorcerer', 'Ranger', 'Barbarian', 'Cleric', 'Thief', 'Fighter', 'Wizard', 'Knight', 'Assassin', 'Acrobat', 'Tactician', 'Monk', 'Paladin', 'Demigod',//Weird from here onwards 'Half-Djinn', 'Avatar', 'Truenamer', 'Goliard', 'Psion', 'Hedge Mage', 'Scar-Speaker', ['OtherThief', 'Vampire', 'Mechanical Man', 'Very Good Dog', 'Very Angry Goose'][r(5)] ][selC]; switch(classID){ case 'Fighter': gear.push('leather armour', 'axe (1d6+STR)','shield','bow (1d6, 2-h)','quiver of arrows'); skills.push(['Farmer', 'Soldier', 'Sailor'][r(3)]); traits.push('Parry (block 1d12 damage 1/day, block 12 damage if you also break a shield)'); HD=8; att += 1; def += 2; invWeight += 1; simpleDesc += ' that stabs people'; break; case 'Thief': gear.push('leather armour', 'dagger (1d6)', 'lockpicks'); traits.push('Specialist (gain a bonus skill of your choice, perhaps '+sel(allSkills)+' or '+sel(allSkills)+'?)', 'Always Prepared (access full inventory, use +1 item/round, get free stuff when you return to town)'); thiefSkills = ['Forgery','Smuggler','Mountebank','Spy','Casing','Gambler']; skills.push('Locks', 'Locks', thiefSkills[r(6)], thiefSkills[r(6)]); otherSaves.push({type:"SAVE vs. Traps: ",value:1}); def += 2; invWeight += 1; randItems += 1; simpleDesc += ' that steals shit'; break; case 'Wizard': traits.push('Safety Casting (set an MD to 1 1/day)','Procurement (extract spells from scrolls or wands into your brain with an INT/2 check)'); formatTraits.sillyName=true; var joinSchool = wizard_school_list.sample(); if(joinSchool.details.length>0){ traits = traits.concat(joinSchool.details); } classID = joinSchool.getName(); gear.push(joinSchool.spellbook()); gear = gear.concat(joinSchool.gear) skills.push(['Literature','History','Fortune Telling'][r(3)]); simpleDesc += ' that can cast spells kind of safely'; def -= 1; md = "MD: 2/2 (retain 1-3)"; break; case 'Cleric': var order = r(14) if(r(100)<5+5*(brand=='weird')) order = 14; var fp = 2+mod(stats['wis']); gear.push('robes covered with holy symbols'); def += 1; switch(order){ case 0: classID += ' (Monastic Order)'; gear.push('lantern-mace (1d6+STR, will stay lit while you stand and fight)','holy book'); break; case 1: classID += ' (Martial Order)'; gear.push('hammer of judgement (1d6+STR, sinful target must save vs. prone)','chainmail'); def += 2; invWeight += 2; break; case 2: classID += ' (Mendicant Order)'; gear.push('unassuming staff (1d8+STR op., counts as a combination maul, rapier and shield)','begging bowl'); def += 1; break; case 3: classID += ' (Orthodox Order)'; gear.push('sanctified scepter (load like a crossbow with FP, 1d6, 1d12 vs. demons)','salt tonic (burns undead, +4 save vs disease)'); break; case 4: classID += ' (Scholastic Order)'; accoutrements.push('stern glare (1d4 non-lethal damage, only against sentients, requires FP to use)','note of credit worth '+d(4,6)+' silver'); break; case 5: classID += ' (Pacifist Order)'; gear.push('stalwart shield (grants +2 Save to anyone of your faith)','holy symbol (-1 Attack, +1 FP)'); att -= 1; fp += 1; break; case 6: classID += ' (Flagellant Order)'; gear.push('flail of purity (1d6+STR, deal 1d6 damage to yourself to reroll Communion)'); accoutrements.push('robes grant +1 Def against Undead'); break; case 7: classID += ' (Inquisitorial Order)'; gear.push('blade of truth (1d6+STR, only deals 1 damage if someone truthfully answers one of your questions)','leather armour'); invWeight += 1; def += 1; //medallions provide 1 Def break; case 8: classID += ' (Confessional Order)'; gear.push('binding rings (five on one hand, each can absorb a sin or 1 MD from a spell with a successful Communion roll)'); break; case 9: classID += ' (Penitent Order)'; gear.push('chains of the faithful (1d4+STR, automatically grapples)'); accoutrements.push('vow of poverty, +2 Save and Defence, -6 to each if you possess any valuables'); save += 2; def += 2; //stacks with medallions break; case 10: classID += ' (Disciple of the Desecrator)'; traits.push('','PORTFOLIO:','Augury - Receive ambiguous omens/visions/warnings','Bless - Critical Failures are Critical Successes for an hour','Harm - Touched/Marked target takes double damage from next attack','Inflict Disease - Target must save or contract one you have been in contact with','Defile - Corrupt a holy spell, artifact or creature, save negates','Possess Corpse - Imbue a body with a 1dX HD spirit, X was the HD of the living creature'); gear.push('foul censer (feed in flowers, herbs and butterflies, spews toxic gas)','dagger (1d6)'); break; case 11: classID += ' (Flame Cultist)'; traits.push('','PORTFOLIO:','Augury - Receive ambiguous omens/visions/warnings','Bless - Critical Failures are Critical Successes for an hour','Smite - Target takes 1d6 damage, 2d6 if sinful','Embrace Destruction - When you take fire or spell damage, reflect it back','Sacrifice - Condemn a target to the fire, recieve a comensurate reward','Ignite - 1d4+WIS targets burst into flames'); gear.push('blessed napalm, three jars','leather armour'); def += 1 //medallions provide 1 Def invWeight += 1; break; case 12: classID += ' (Blood Shaman)'; traits.push('','PORTFOLIO:','Augury - Receive ambiguous omens/visions/warnings','Bless - Critical Failures are Critical Successes for an hour','Rage - As a Barbarian, triple effect if used on one of them (+3 Att/Dmg, utter insanity)','Regenerate - Heal 1hp/minute for 1d10 minutes, save or mutate if 8+','Cleanse - Take 1d6 damage, remove a spell, disease or poison','Antipathy - Form a link with a target, they take the same damage as you, x2 if self-inflicted. Save ends'); gear.push('twin daggers (1d6, +1 Attack, holding one will lead to the other)','helmet'); //def += 1 helmet adjudicated later break; case 13: classID += ' (Stormcaller)'; traits.push('','PORTFOLIO:','Augury - Receive ambiguous omens/visions/warnings','Bless - Critical Failures are Critical Successes for an hour','Beseech - Move the weather one step along [Dry - Clear - Rain - Storm], two steps with a blood sacrifice','Channel - 1d8 lighting bolt, increase die-size one step for every assistant','Rebuke - All adjacent targets must save or be blasted away from you','Whispers - Ask the winds to carry messages to distant places'); gear.push('steel whip (1d4, metal-wearing target must save vs. stun)','drinking horn'); break; case 14: classID += [' (Mystic Arising)',' (Least Priest)',' (Saviour-Conquerer)',' (Heirophant)',' (Unknown Prophet)',' (Occultist)',' (Chosen One)',' (Aleph-Omega)'][r(8)]; traits.push('You belong to a brand new godling. Your powers and portfolio may be... unique'); traits.push('','PORTFOLIO:'); for(var i=0;i<6;i++){ traits.push(sel(domainWords)); } gear.push('iconic weapon'); randItems += 1; break; default: break; } if(order<10) traits.push('','PORTFOLIO:','Augury - Receive ambiguous omens/visions/warnings','Bless - Critical Failures are Critical Successes for an hour','Heal - Touched/Praying target gains 5 HP or recovers injury as if rested for a week','Purify - Remove a basic curse or enchantment','Turn Undead - 1d6 nearby undead must save or flee, beginning with the weakest. Undead with more HD than the cleric get +4 on their save','Cure - Target gets a new saving throw against a poison or disease'); skills.push(['Chanting', 'Diplomat', 'Spy'][r(3)]); md = "COMMUNION: 10<br>FP: "+fp; simpleDesc += ' that can talk to God'; break; case 'Knight': formatTraits.knighted=true; gear.push('chainmail', 'shield', 'helmet', 'sword (1d6+STR)'); accoutrements.push('horse OR '+['grapple hook',d(3,6)+' silver pieces','magical healing herbs, three doses','three throwing knives','silver ring set with your family crest','lantern'][r(6)]); traits.push(['Guardian (take damage in place of ally, 4-in-6 chance of working)','Sentinel (free attack against enemies that retreat from you)'][r(2)],'Noble Rank '+[ '(provincial gentleman - 12g monthly expenses, supported by large farm)','(forgotten son - 12g monthly expenses, "supported" by dubious stipend)','(bastard - 12g monthly expenses, no support)','(gentleman - 24gp monthly expenses, no support)'][r(4)]); HD=8; skills.push('Courtesy'); att += 1; def += 3; invWeight += 2; svF += 1; simpleDesc += ' with money, prestige and armour'; break; case 'Barbarian': gear.push('greataxe (1d10+STR)', 'olive oil', 'whiskey','pelt or skull of some animal'); skills.push(['Mountains', 'Raider', 'Horses'][r(3)]); traits.push('Rage (+1 Damage, +1 Attack, no mercy or restraint, 2-in-6 chance of retreating)'); HD=10; invWeight += 1; simpleDesc += ' that hits people till they die'; break; case 'Assassin': gear.push('leather armour', 'dagger (1d6)', 'vial of poison', 'disguise '+['(peasant)','(clergyman)','(servant)','(merchant)'][r(4)], d(1,4)+' rumors'); skills.push(['Spy', 'Cultist', 'Torturer'][r(3)]); traits.push('Skills of a Killer (gain ranks in Poison and Disguise)', 'Assassinate (+1 Attack and Damage per fact you know about a target)'); skills.push('Disguise','Poison'); def += 2; att += 1; //invWeight += 1-1; simpleDesc += ' that kills people'; break; case 'Ranger': gear.push('leather armour', 'two daggers (1d6)', (mod(stats.str)>0?'longbow (1d6+STR, 2-h)':'bow (1d6, 2-h)'),'quiver of arrows'); accoutrements.push('dog'); skills.push(['Poacher', 'Bounty Hunter','Herbalism'][r(3)]); traits.push('Tracking (+1-in-6 chance of finding traces)', 'Speak With Pet (symbolic communication)'); otherSaves.push({type:"SAVE vs. Environment: ",value:1}); def += 2; simpleDesc += " that won't die in a hole"; break; case 'Acrobat': gear.push('quarterstaff (1d6+STR)', 'rope'); skills.push(['Dancer', 'Cat Burglar', 'Circus', "Jester"][r(4)]); traits.push('Tricky (replace a missed Gambit with a tactical advantage)', 'Lightweight (advantage on Dexterity while unencumbered)'); simpleDesc += " who is nimble as heck"; break; case 'Sorcerer': classID = ['Chaos Sorcerer', 'Dragon Sorcerer', 'Fire Sorcerer','Ghost Sorcerer', ['Water','Earth','Air'][r(3)]+' Sorcerer', 'Nature Sorcerer', 'Summoner', 'Exemplar Sorcerer'][r(8)] var spell = ''; switch(classID){ case 'Chaos Sorcerer': spell = ['Randomise Object','Enter Chaos','Transposition'][r(3)]; break; case 'Dragon Sorcerer': spell = ['Alter Self','Flame Breath','Detect Gold'][r(3)]; break; case 'Fire Sorcerer': spell = 'Speak with Fire'; break; case 'Ghost Sorcerer': spell = ['Fear','Death Mask','Raise Undead'][r(3)]; break; case 'Water Sorcerer': spell = 'Speak with Water'; break; case 'Earth Sorcerer': spell = 'Speak with Stone'; break; case 'Air Sorcerer': spell = 'Speak with Air'; break; case 'Nature Sorcerer': spell = 'Command Plants'; break; case 'Summoner': spell = 'Summon Outsider #'+d(1,100)+' and #'+d(1,100); break; case 'Exemplar Sorcerer': cont = r(3); classID += [' (Divine)',' (Spirit)',' (Fiendish)'][cont]; spell = [['Smite','Cure Wounds','Turn Undead'][r(3)],['Phase','Wild Shape','Drain Vitality'][r(3)],['Burning Hands','Conjure Imp','Hex'][r(3)]][cont]; break; default: break; } gear.push('leather armour', 'dagger (1d6)'); accoutrements.push('spell implanted in brain'+(spell!=''?' ('+spell+')':''), d(1,4)+' Trauma'); skills.push(['Cultist', 'Dreams', 'Weather'][r(3)]); traits.push('Natural Casting (retain MD on 1-4)','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. 1d10% of your body turns to your heritage, save for half','5. You must cast a spell within 2d6 rounds or as above but 10%',"6. Take a random Minor Injury, won't apply to mutated or heritage flesh",'','Heritage percentage: 0%'); def += 2; invWeight += 1; simpleDesc += ' that can cast spells kinda often'; md = "MD: 1/1 (retain 1-4)" break; case 'Tactician': gear.push('leather armour', 'warhammer (1d6+STR)', 'trumpet', ['spyglass','shield'][r(2)]); skills.push(['History', 'Commander', 'Navigator'][r(3)]); traits.push('Threat Assessment (discover enemy HP)', 'Tactic (command allies to attack as an action)'); initiative += 1; def += 2; invWeight += 1; simpleDesc += ' that makes everyone fight better'; break; case 'Warlock': pact = ['Devil Pact','Demon Pact','Fae Pact','Eldritch Pact',['Hexblade','Star Pact','Pact of the King','Forbidden Knowledge'][r(4)]][r(5)]; classID += ' ('+pact+')' gear.push('dagger (1d6)','magical robes (+1 MD, -1 Def)'); skills.push(['Cultist', 'Haruspex', 'History'][r(3)]); traits.push('Power Casting (set an MD to 6 1/day)'); switch(pact){ case 'Devil Pact': case 'Demon Pact': traits.push('','Perks: 1-in-6 chance of having same patron as another fiend','Restrictions: Detect as Evil','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Blind and screaming for 1d6 rounds','5. Everything nearby saves vs. ignition','6. Lose 1d4 Goodness'); accoutrements.push('spell (Burning Hands, Fear, Hex, or own choice)'); break; case 'Fae Pact': traits.push('','Perks: Can sense the way to the nearest gateway','Restrictions: Can only eat flesh that you killed yourself','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Everyone nearby switches locations','5. Attract fae attentions','6. Everyone must save or begin dancing till they bleed'); accoutrements.push('spell (Gremlin, Faerie Gold, Sleep or own choice)'); break; case 'Eldritch Pact': traits.push('','Perks: Telepathy','Restrictions: Every spell comes with a tic, phobia or foible','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Summon a Shoggoth, 1d6+[dice] HD','5. Eaten by portal, reappear in 1d20 rounds from a surprising location','6. Temporary random mind-switch, 1d6 round'); accoutrements.push('spell (Clawing Shadows, Mage Hand, Inflict Insanity or own choice)'); break; case 'Hexblade': traits.push('','Perks: Start with a +1 weapon','Restrictions: Cannot cast spells without your blade','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Take maximum damage from the next attack','5. Your weapon takes control for one round','6. Everything nearby must save vs. extreme violence'); accoutrements.push('spell (Blade Beam, Hex, Rage or own choice)'); break; case 'Star Pact': traits.push('','Perks: Talk to the stars instead of sleeping, radiate magical healing to nearby allies','Restrictions: Stone weapons deal you +2 damage, immune to magical healing','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Meteor strike, random target, 2d6 damage','5. Flare, everyone must save vs. blindness','6. Astral puppet for 4d4 rounds, extremely strange goals'); accoutrements.push('spell (Light, Radiant Spear, Explosive Runes or own choice)'); break; case 'Pact of the King': traits.push('','Perks: Always know what is required to bribe someone','Restrictions: Save vs. Commands from your betters','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent','4. Your King speaks to you. He demands a sacrifice. Be prompt','5. Your King speaks to you. He demands a promise broken. Be thorough','6. Your King speaks to you. He knows not what he demands. Be careful'); accoutrements.push("spell (Command, Invisible Servant, William's Fingerbreaker or own choice)"); break; case 'Forbidden Knowledge': traits.push('','Perks: Start with a gun','Restrictions: Take 1d4 to tear yourself away from a project part-way','','Mishaps:','1. +1 Trauma','2. 1d6 damage','3. Mutate for 1d6 rounds, save or permanent',"4. Spell or device won't work until you strip it down and clean it","5. Spell or device won't work until you spend [level]d6 gp repairing it and make a save.','6. Spell or device is directed towards the most inconvenient target"); accoutrements.push('spell (Hone, Heat Metal, Lock Joints or own choice)'); break; break; } simpleDesc += ' that can cast spells with more power'; def -= 1; md = "MD: 2/2 (retain 1-3)" break; case 'Monk': var n = Math.max(mod(stats.str),mod(stats.dex)); gear.push('your fists (1d4'+(n>0?"+":"")+(n==0?"":n)+', +1 Att)', 'your body (1d8'+(n>0?"+":"")+(n==0?"":n)+', -1 Def)'); skills.push(['Begging', 'Cooking', 'Meditating'][r(3)]); traits.push('Martial Arts (use either Strength or Dexterity with all weapons)', 'Dodge (+1 Defence every level)'); att += 1; def += 1; invWeight -= 2; simpleDesc += ' that punches people'; formatTraits.alt_att_mod=true; break; case 'Druid': gear.push('belt', 'tooth dagger (1d6)','no boots'); invWeight -= 2; skills.push(['Arson', 'Jailbreaking', 'History'][r(3)]); traits.push('Shapeshifter (transform into a '+['Bird', 'Wolf', 'Cat', 'Goat', 'Donkey', 'Monkey', 'Crab', 'Snake'][r(8)]+')', 'Primal Tongue (speak with animals)'); simpleDesc += ' that can turn into animals'; md = "MD: 1/1 (retain 1-3)"; break; case 'Paladin': gear.push('sword (1d6+STR)', 'chainmail', 'holy symbol (+1 Glory while held)'); accoutrements.push('starting spell - '+['Smite','Lay on Hands'][r(2)], 'random spell - '+['Shield of Faith','Blaze of Glory','Sanctify','Banishment','Sword of Damocles','Last Stand','The Call','Circle Against Evil','Ceremony',"Crusader's Mantle"][r(12)]) bonusEquip = r(3); skills.push(['Wandering Judge', 'Priest', 'Chosen One'][bonusEquip]); gear.push(['silver dust','pagan idol','bag of salt'][bonusEquip]); traits.push('Doer of Deeds (recover church relics to learn spells)', 'Valourous (cast spells using Glory, recover Glory if you drop to 0 HP honourably)'); def += 3 invWeight += 2; //due to spells HD=8; simpleDesc += ' that enacts the will of God'; md = "GLORY: 0/day"; break; case 'Psion': accoutrements.push('silk robes', 'shaved head', 'incense', '5 candles'); invWeight -= 1; skills.push(['Religion', 'Archivist', 'Cleaning'][r(3)]); traits.push('Third Eye (restrict one of your senses senses to increase another)', 'Focus (roll under Wisdom for mystical effects)','','FOCI:','Use Wisdom instead of _______','Convince someone of something plausible','Stare at a small object for two rounds, it bends, shatters or rots'); simpleDesc += ' with mind-powers'; break; case 'Goliard': gear.push('robes', 'walking stick (as quarterstaff, 1d6+STR)', '3 wineskins full of cheap wine'); skills.push(['Music', 'Literature', 'Religion'][r(3)]); traits.push("Provoke (taunt people to fight you)", "Fortune's Wheel (roll 4d20 at the start of combat)", "Dissolute (save or spend nearly all the money you have)", '<a href="https://coinsandscrolls.blogspot.com/2017/12/osr-class-goliards.html" target="_blank">More info</a>'); simpleDesc += ' that runs around seducing and annoying people. Is technically part of the Church'; break; case 'Truenamer': gear.push('shield', 'interesting book #'+d(1,100)); accoutrements.push('random language'); skills.push(['Archivist', 'Sigils', 'Angels'][r(3)]); traits.push('Words of Power (conjure words using runes, whatever you pronounce becomes true)', 'Shatter Effect (interfere with magical attacks by spending runes)'); var runeList = 'AAAAAAAAABBCCDDDDEEEEEEEEEEEEFFGGGHHIIIIIIIIIJKLLLLMMNNNNNNOOOOOOOOPPQRRRRRRSSSSTTTTTTUUUUVVWWXYYZ'; runeList = runeList.split(''); runeList.shuffle(); runeList = runeList.join(' '); traits.push('Your runes this morning are: '+runeList.slice(0,19)); simpleDesc += ' that bends the rules and conjures weird things'; break; case 'Demigod': gear.push('fabulous cloak', 'spear (1d6+STR op.)', 'strange artifact'); skills.push(['Religion','Cultist','Seduction'][r(3)]); traits.push('Birthright (add 3 to a stat of your choice)'); md = "RETAINERS: 0/"+String(4+mod(stats.cha)); simpleDesc += ' who is better than everyone else'; break; case 'Exorcist': gear.push('ceremonial robes', 'incense'); skills.push('Religion'); svF += 1; switch(d(1,3)){ case 1: classID = '<a href="https://coinsandscrolls.blogspot.com/2017/09/osr-class-bell-exorcists.html" target="_blank">Bell Exorcist</a>'; gear.push('The Seven Bells (Sleeper, Waker, Walker, Speaker, Thinker, Binder, Weeper)'); traits.push('Bell Casting (use the Seven Bells to dangerous effect)','Dominion - Embodied Undead (skeletons, zombies and vampires but also enchanted objects, spellbooks and golems)'); simpleDesc += ' that has some extremely complicated, powerful and dangerous equipment'; md = "BD: 4"; break; case 2: classID = '<a href="https://coinsandscrolls.blogspot.com/2017/09/osr-class-book-exorcist.html" target="_blank">Book Exorcist</a>'; gear.push('holy symbol','holy book'); skills.push('Law'); traits.push('Rite of Exorcism (make opposed CHA checks against possessive undead to cast it out, penalty the longer it is has inhhabited)', 'Literacy (make Charisma checks whenever someone reads your work)','Dominion - Possessive Undead (demons and ghosts, but also diseases, curses and some spells)'); simpleDesc += ' that exorcsises demons and deals with the Church'; break; case 3: classID = '<a href="https://coinsandscrolls.blogspot.com/2017/10/osr-class-sword-exorcist.html" target="_blank">Sword Exorcist</a>'; gear.push('The Sword of Exorcism (1d4+STR while sheathed, 4d10 while drawn'); traits.push('The Art of the Sword of Exorcism (if you know the Form, Truth and Reason behind a single incorporeal target, you can draw the Sword against it)','Dominion - Incorporeal Undead (ghosts, banshees and shadows, but also spells, angels and summoned entities)'); svF += 1; simpleDesc += ' that solves mysteries and blows up ghosts'; break; default: break; } break; case 'Half-Djinn': gear.push('bizarre hairstyle', 'piece of jewelry', 'sabre (1d6+STR)'); skills.push(['Gossip','Fortune Telling','History'][r(3)]); traits.push('Limited Wish (one use, be careful with it!)'); save += 1; simpleDesc += ' that can grant a single wish'; break; case 'Hellborn': gear.push('weapon of choice', 'leather armour', 'unholy sigil'); skills.push(['Haruspex', 'Undead', 'Hell'][r(3)]); traits.push('Corrupted Flesh (determine your fate as a Demon or Devil)', 'Inheritance (gain power by tempting/eating people)'); def += 2; invWeight += 1; simpleDesc += ' that becomes more evil as they eat people'; break; case 'Avatar': gear.push('robes','quarterstaff (1d6+STR)'); skills.push(['Elementals','History','Tea'][r(3)]); var b = r(4); traits.push(['Air','Fire','Water','Earth'][b]+' Bending (equivalent to a 1 MD Control spell. Using it twice in two rounds deals 1d4 non-lethal damage. Add +1MD by taking 1d4 non-lethal damage)') traits.push('Stances (Aggressive stance has -2 Defence penalty, but grants +[dice] to Attack, and you to deal [sum] damage. Defensive stance '+['grants +4 Move)','grants +2 Attack)','is equivalent to a shield, +2 Save)','is equivalent to chainmail)'][b]) def += 1; simpleDesc += ' that commands the elements'; break; case 'Mechanical Man': gear.push('thin metal plating (as leather)', 'hammer, pliers, screwdriver', 'bag of coal'); skills.push(['Tinker', 'Soldier', 'History'][r(3)]); var u = d(1,10); traits.push('Inferior Meatbags (immune to biological threats)','Archaic Chassis (damage reduction, integrate armour for bonus HP, repairwork is expensive)', 'Upgrade #'+String(u)+': '+[ 'Strength of 19 for inventory purposes and non-combat actions', 'Spectrographic digestion, reroll Intelligence checks if you eat a part of something', 'Embedded equipment - '+['10ft telescopic hand', 'flashlight', 'grapple hook', 'drill-arm', 'flying drone', 'alchemy lab'][r(6)], 'Infrared sight', '2 damage reduction vs. physical', 'Internal repair station, heal 1HP per round, 3HP uses a ration of fuel', 'Arcano-capacitor, can be charged with wizard blood etc', 'Rocket boots, loud, unreliable', 'Hi-tech weapon, -2 attack but 1d12 damage, a chainsaw or a flamethrower etc', 'Laser eyes! 1d6 fire damage, +1 per consecutive rounds' ][u-1]); def += 2; invWeight += 1; stats.con = 10; formatTraits.no_con_score=true; simpleDesc = 'A totally metal dude'; break; case 'Hedge Mage': simpleDesc += ' that can cast... spells?' gear.push('dagger (1d6)','ritual implements ('+['pouch of hallucinogenic plants)','leather case of instruments)','large black book)','robes and bizarre amulets)','oral tradition of strange rituals)','gnarled hands and a cackle)'][r(6)]); skills.push('(first skill used)'); var workings = [ 'Rapid Heal (2+[level]-in-10 chance of working, ally heals 1d6+[level] HP but can only be targetted 1/day)', 'Dreamless Sleep (costs 1 HP, 2+[level]-in-10 chance of working, touched target must save or fall asleep, you take 1d6 damage if they die while asleep)', 'Call Weather (costs 1d6 HP, 2+[level]-in-10 chance of working, takes 10 minutes to cast, reroll the weather, only one attempt per day)', 'The Ague (costs 1d6 HP, 5+[level]-in-10 chance of working, target suffers a disease, halves speed and takes +1 damage)', 'Step Out (costs 1 HP, 2+[level]-in-10 chance of workings, you disappear if no-one is paying attention to you, lasts for 1 minute)', 'Blight (costs 1 HP, 6+[level]-in-10 chance of workings, a domesticated animal, plant or field will die in 1d20 hours, only works 1/day)', 'Smite with Lightning (costs all your HP, 1+[level]-in-10 chance of workings, directs a lightning bolt from an ongoing storm to a target you can see)', "Kindle Flame (costs 1 HP, 6+[level]-in-10 chance of workings, target fire flickers strongly in a direction of your choice, this doesn't deal damage but will always ignite)", 'Diagnose (costs 1 HP, always works, takes 1 hour, you know a way to cure a disease, a curse, a spiritual affliction, or a poison)', 'Coincidence (costs all your HP, always works, can only be used once ever, something that could possibly happen, even with a one-in-a-billion chance, does happen, seemingly naturally)', 'Pariah (costs 1 HP, always works, you must dislike the target, cannot effect anyone with rank, they must save or become blamed for anything that could possibly be their fault, things always go slightly wrong and society reviles them)', 'Fascinate (costs 1 HP, always works, a non-hostile crowd is engaged for up to [level] hours, also works on: '+['birds', 'mammals', 'cats', 'fish', 'snakes', 'lizards'][r(6)]+')', ['Anthropomancy','Asterimancy','Geomancy','Necromancy','Oionomancy','Pyromancy'][r(6)]+', see <a href="http://hmmmarquis.blogspot.com/2018/07/mancy-or-why-divination-is-cool.html" target="_blank">here</a> for more details', "Draw Out Soul (costs 1d6 HP, 6+[level]-in-10 chance of workings, traps the soul of a dying or recently dead person into one of their possessions, this doesn't appear to do anything)", 'Bewitch (costs 1 HP, 6+[level]-in-10 chance of workings, stare at someone who makes a save, if they fail they will slowly follow your commands for 1d6 minutes, if made to do something harmful or embarassing they are now immune to this power)', 'Lucky Root Charm (requires a rare root and an hour, always works, anyone other than you can use it, activate it for +4 to something involving gambling, seduction or pure luck)', 'Eyemark Charm (requires an hour, always works, you can meditate for 10 minutes to see through the charm, it lasts for one week)', 'Wax Charm (requires a candle and an hour, always works, if the candle is lit and burns out, a small effect occurs like tipping over strongly, flaring up, or melting into a specific shape)', 'Deflection Charm (requires ten minutes to cast, 2+[level]-in-10 chance of workings, blocks all ranged attacks, roll effectiveness when tested, lasts for 24 hours or until wet)', 'Second Skin Charm (requires an hour to create, always works, target object or person looks like a completely different version until actively examined)']; var a = r(20); var b = r(19); if (b>=a) b++; traits.push('','Workings:',workings[a],workings[b],'<a href="https://coinsandscrolls.blogspot.com/2018/08/osr-class-weather-witch.html" target="_blank">More info</a>'); break; case 'OtherThief': gear.push('leather armor', 'dagger (1d6)'); thiefSkills = ['Forgery','Smuggler','Mountebank','Spy','Casing','Gambler']; def += 2; invWeight += 1; randItems += 1; traits.push('Specialist (gain a bonus skill of your choice, perhaps '+sel(allSkills)+' or '+sel(allSkills)+'?)', 'Always Prepared (access full inventory, use +1 item/round, get free stuff when you return to town)'); classID = ['Bard','Barber-Surgeon','Pirate','Explorer','Inventor','Merchant','Ninja','Alchemist'][r(8)]; switch(classID){ case 'Bard': var instrument = ['Lute','Lute','Lute','Singer','Trumpet','Accordian'][r(6)]; if(instrument != 'Singer') gear.push(instrument.toLowerCase()); accoutrements.push('favour from an admirer','free room in any inn or bar') invWeight -= 2; simpleDesc += ' with a song on their lips and a smile on their face'; skills.push('Perform', 'Perform', instrument, sel(thiefSkills)); break; case 'Barber-Surgeon': gear.push("cutter's kit", 'medicinal alcohol'); simpleDesc += ' that can set a break, clean a wound and trim your beard'; skills.push('Surgery','Surgery','Rumors', 'Haircutting'); traits.push('','Surgery skill: Takes 1 minute, heals 1d4x1d6 HP. Patient has a chance of contracting an infection, improved with sterile conditions and low stress'); break; case 'Pirate': gear.push('keg of rum', 'cutlass (1d6+STR)'); accoutrements.push('parrot','eyepatch') invWeight -= 2; simpleDesc += ' here to pillage and burn, or at least have a good time'; skills.push('Sailor','Sailor','Booze', ['Forgery','Smuggler','Mountebank','Spy','Raider','Gambler'][r(6)]); break; case 'Explorer': accoutrements.push('partial map of the area', 'compass'); simpleDesc += ' here to map unknown lands'; skills.push('Navigator','Navigator',['Linguist','Diplomacy'][r(2)], sel(thiefSkills)); break; case 'Inventor': gear.push('box of tools', 'half-finished project'); simpleDesc += ' who is fond of all sorts of tricks and mechanisms'; skills.push('Tinker','Tinker',['Jeweler','Blacksmith'][r(2)],sel(thiefSkills)); break; case 'Merchant': gear.push('trade goods ('+['medicine)','clothes)','metal)','food)'][r(4)]); accoutrements('pack mule'); invWeight -= 2; simpleDesc += ' who is here to make a quick buck'; skills.push('Diplomacy', 'Gossip', 'Finance', sel(thiefSkills)); break; case 'Ninja': gear.push('three shurikens', 'three smoke bombs'); simpleDesc += ' who vanishes as quickly as they come'; skills.push('Spy','Spy','Courtesy',sel(thiefSkills)); break; case 'Alchemist': gear.push('potion of '+getPotion(),'most of the ingredients for '+getPotion()+" and "+getPotion(),'glassware','small cauldron'); simpleDesc += ' who comes equipped with all manner of marvellous fluids'; skills.push('Alchemy','Alchemy','Brewer',sel(thiefSkills)); break; default: break; } break; case 'Vampire': gear.push('stiletto (1d4)', 'two copper flasks of blood'); accoutrements.push('too much eyeliner'); invWeight -= 1; skills.push(['Seduction', 'Brooding', 'Cultist'][r(3)]); traits.push('Blood Charges (drain people to store vital energies)',"Delicious (don't need to eat, sleep, drink or breath, but you do need blood)",'Immortal (only age when prevented from feeding)','Allergies (-4 to everything when exposed to stakes, garlic, signs of the Authority or the noonday sun)'); md = "BLOOD CHARGES: 0/"+d(1,6); simpleDesc = 'I vant to suck your blaaaahd' break; case 'Very Good Dog': gear.push('collar','fleas','no hands','bite (1d6+STR)'); skills.push(['Hunting Dog', 'Stray Dog', 'Show Dog'][r(3)]); traits.push('Dog (you are a dog)','Best Friends (get +1 Def and Save while with your Best Friend, deal bonus damage)'); def += 3; simpleDesc = 'The best pupper' break; case 'Very Angry Goose': gear.push('bad attitude','feathers','no hands','serrated beak and tongue (1d6+STR)'); skills.push(['Pissed Goose','Enraged Goose','Furious Goose'][r(3)]); traits.push('Goose (you are a bird)','Worst Enemy (pick a player, while below max HP, you gain +1 Att and Def)','Flight (need a 50ft run-up, slow on land)'); def += 3; simpleDesc = 'Run. I dare you.' break; case 'Scar-Speaker': gear.push('painful-and-intricate mutilation blade (1d6)', 'loincloth'); accoutrements.push('Really Cool Scar - '+['Tough (+1 Def)','Grudge (1/day halve damage from same type)','Personable (can see, hear and speak),','Gnarled (1 HD increases a size)','Glyph (1-3 on a Save vs. Spells traps the magic','Badass (Advantage to Intimidate)'][r(6)]); skills.push(['Spirit','Blood God','Tattoos'][r(3)]); def += 1; traits.push('Scar Tissue (+1 Def for each scar when not wearing armour)','Dispel Wound (1d6 HP, 1d3 Con or a Minor Injury, fail gives a Really Ugly Scar)'); simpleDesc += ' with some sick scars' break; default: traits.push('Class details not found'); break; } } function dieTrying(){ classID = sel(standardTitles);; beforeAd = ['Before you were an adventurer you...']; var freeArmour = 0; var freeSkills = 2; var patron = "none"; var x = []; if(formatTraits.dtExtra=='cheap_tricks') x[0]=14 while(x.length<4) { var n = r(20)+r(20); //if(formatTraits.dtExtra=='cheap_tricks') n = Math.min(n, r(20)+r(20)); if(formatTraits.dtExtra=='fighting_men' && [1,3,5,6,8,9,10,13,14,15].includes(n)) continue; if(!x.includes(n)) x.push(n); } // if(x.includes(6)){ //put caster spec last to avoid gypping player out of half a stat for no reason // x[x.indexOf(6)]=x[2]; // x[2]=6; // } NOT NEEDED ANYMORE if(x.includes(38)){ //become something weird first x[x.indexOf(38)]=x[0]; x[0]=38; } for (var i = 0; i < 3; i++) { var s = 0; switch(x[i]){ case 0: switch(r(4)){ case 0: beforeAd.push('Learnt a fragment of the True Language [Words of Power]'); var runeList = 'AAAAAAAAABBCCDDDDEEEEEEEEEEEEFFGGGHHIIIIIIIIIJKLLLLMMNNNNNNOOOOOOOOPPQRRRRRRSSSSTTTTTTUUUUVVWWXYYZ'; runeList = runeList.split(''); runeList.shuffle(); runeList = runeList.join(' '); traits.push('Words of Power (create words using these runes - '+runeList.slice(0,19)+", whatever you pronounce becomes true)"); break; case 1: s = r(3); beforeAd.push("Were trained in the ways of exorcism "+["[Seven Bells, Dominion]","[Rites of Exorcism, Dominion]","[Sword of Exorcism, Dominion]"][s]); gear.push(['<a href="https://coinsandscrolls.blogspot.com/2017/09/osr-class-bell-exorcists.html" target="_blank">The Seven Bells (Sleeper, Waker, Walker, Speaker, Thinker, Binder, Weeper)</a>','<a href="https://coinsandscrolls.blogspot.com/2017/09/osr-class-book-exorcist.html" target="_blank">The Rites of Exorcism</a>','<a href="https://coinsandscrolls.blogspot.com/2017/10/osr-class-sword-exorcist.html" target="_blank">The Sword of Exorcism</a>'][s]); traits.push(['Dominion - Embodied Undead (skeletons, zombies and vampires but also enchanted objects, spellbooks and golems)','Dominion - Possessive Undead (demons and ghosts, but also diseases, curses and some spells)','Dominion - Incorporeal Undead (ghosts, banshees and shadows, but also spells, angels and summoned entities)'][s]); break; case 2: beforeAd.push('Unlocked the full potential of your mind [Third Eye, -1 armour]'); freeArmour -= 1; traits.push('Third Eye (restrict one of your senses to improve another, supernaturally if you restrict two senses)'); break; case 3: s=r(4) beforeAd.push('Mastered one of the four elements ['+['Air','Fire','Water','Earth'][s]+' Bending, -1 armour]'); freeArmour -= 1; traits.push(['Air','Fire','Water','Earth'][s]+' Bending (equivalent to a 1 MD Control spell. Using it twice in two rounds deals 1d4 non-lethal damage. Add +1MD by taking 1d4 non-lethal damage)'); break; } break; case 1: beforeAd.push('Became the '+['Mystic Arising','Least Priest','Saviour-Conquerer','Heirophant','Unknown Prophet','Occultist','Chosen One','Aleph-Omega'][r(8)]+' of a very minor godling [Divine Domain]'); traits.push("Divine Domain - "+sel(domainWords)+", "+sel(domainWords)+", "+sel(domainWords)+", "+sel(domainWords)+", "+sel(domainWords)+", "+sel(domainWords)); break; case 2: beforeAd.push('Worked out how to speak with something strange [Speak with...]'); traits.push("Speak with "+sel(["Locks","Shoes","Arrows","Blood","Roads","Statue","Teeth","Self","Spell","God","Stars","Universe","Light","Darkness","Memories","Dreams","Lust","Lies","Dave"])+" at will"); break; case 3: beforeAd.push('Became a druid [Shapeshifter]'); traits.push('Shapeshifter (transform into an animal form you know at-will, make a WIS save the first round or act like that animal. Gain a new form by eating and/or wrestling one to the ground by yourself)'); accoutrements.push('no boots'); accoutrements.push("animal form: "+[`Bird - peck (1d4), Twitter (1/day, recruit nearby birds or be roughly understood by target humanoid)`,`Wolf - bite (1d6+STR), +2 Attack to self and adjacent allies, Pounce (1/day, make a leap, attack and grapple as a single action)`,`Cat - claw (1d4+DEX), advantage to Dex checks while poised, Slink (1/day, disappear from sight and reappear somewhere plausible when you choose)`,`Goat - horns (1d6+STR), can climb almost anything given time, Charge (1/day, struck target is knocked prone)`,`Donkey - kick (1d4+STR), +50% inventory, Mulish (1/day, succeed on any save or check that involves stubbornness)`,`Monkey - as weapon, advantage to mischief, tail counts as a third hand, Sly (1/day, open your paw to reveal something you could have stolen in the last minute. Target can save to realise)`,`Crab - pinch (1d4), half damage from piercing/slashing, Scuttle (1/day, make a move action whether it is your turn or not, can only move sideways)`,`Snake - fangs (1d6), can attack from grapples, Venom (up to 3d6 bonus damage per day, CON check for half)`].sample()) break; case 4: beforeAd.push('"Acquired" a powerful artefact, not without consequence [item #'+gear.length+']'); gear.push(['Bag of Holding (+10 inventory slots, complicated to access,', 'Medallion of the Guardian (when dropped to 0 HP, summons a 1d6 HD golem to protect you at all costs,', 'Wand of Force (1d4 force damage, always hits, breaks after dealing 4 damage twice,', 'Boots of Flying (DEX check to take-off, maneuver or land, expended on a crit fail,', 'Helm of Telepathy (WIS check to project thoughts with force or subtlety,', 'ten Dragon Teeth (when sown, grows a 3 HD Dragon Warrior,','Gauntlets of Ogre Strength (+3 Strength, doubles food requirements, cannot be used while hungry,','Decanter of Endless Water (moderately brackish, possibly not endless,'][r(8)]+[' continually pursued by previous owners)',' a tempting target for thieves)',' marked by irritating prophecy)',' subtly cursed)'][r(4)]); break; //Instant Steel Fortress case 5: beforeAd.push("Were infested by a fragment of magic [+1 MD, word of power, random debility]") s=r(10) accoutrements.push('word of power: '+all_magic_words.sample()+", apply it to anything you can see as a spell") accoutrements.push(["random curse",'disease ('+statL[r(6)].toUpperCase()+')',"random insanity"][r(3)]) md += 1; formatTraits.spellcaster=true; break; case 6: var castTypes = [ `Safety Casting (while wearing a magical hat, freely remove 1 MD from a spell)`, `Vancian Casting (+1 MD, but the spell cannot be used for the day)`, `Formal Casting (reroll all MD, 1/day)`, `Power Casting (set an MD to 6, take 1d6 damage)`, `Brutal Casting (dropping to zero HP grants +2 MD to your next spell)`, `Natural Casting (pick one spell, cast it at 1 MD for free)`, `Momentum Casting (charging grants +1 MD to close-range target)`, `Flux Casting (mishaps grant +1 MD, voluntarily mishap at-will)`, `Volatile Casting (spend an action yelling for +1 MD)`, `Soul Casting (the first enemy/day you kill with a spell recovers 1 MD)` ]; var castShort = [ "Safety", "Vancian", "Formal", "Power", "Brutal", "Natural", "Momentum", "Flux", "Volatile", "Soul" ]; // if(x.includes(14)) s = r(3); //wizard // else if (x.includes(9)) s = r(3)+2; //warlock // else if (x.includes(3)) s = r(3)+4; //druid // else if (x.includes(5)) s = [5,7,8][r(3)]; //sorcerer // else s = r(10); s = r(10) beforeAd.push('Became proficient with a particular type of spell-casting [+1 MD, '+castShort[s]+' Casting]'); traits.push(castTypes[s]); md += 1 break; case 7: beforeAd.push('Ascertained a strange power you possess [trait #'+traits.length+']'); //superpowers traits.push(sel(powers)); break; case 8: beforeAd.push('Learnt a minor... spell? [random Working]'); traits.push("Working: "+[ 'Rapid Heal (3-in-10 chance of working, ally heals 1d6 HP but can only be targetted 1/day)', 'Dreamless Sleep (costs 1 HP, 2-in-10 chance of working, touched target must save or fall asleep, you take 1d6 damage if they die while asleep)', 'Call Weather (costs 1d6 HP, 3-in-10 chance of working, takes 10 minutes to cast, reroll the weather, only one attempt per day)', 'The Ague (costs 1d6 HP, 6-in-10 chance of working, target suffers a disease, halves speed and takes +1 damage)', 'Step Out (costs 1 HP, 3-in-10 chance of workings, you disappear if no-one is paying attention to you, lasts for 1 minute)', 'Blight (costs 1 HP, 7-in-10 chance of workings, a domesticated animal, plant or field will die in 1d20 hours, only works 1/day)', 'Smite with Lightning (costs all your HP, 2-in-10 chance of workings, directs a lightning bolt from an ongoing storm to a target you can see)', "Kindle Flame (costs 1 HP, 7-in-10 chance of workings, target fire flickers strongly in a direction of your choice, this doesn't deal damage but will always ignite)", 'Diagnose (costs 1 HP, always works, takes 1 hour, you know a way to cure a disease, a curse, a spiritual affliction, or a poison)', 'Coincidence (costs all your HP, always works, can only be used once ever, something that could possibly happen, even with a one-in-a-billion chance, does happen, seemingly naturally)', 'Pariah (costs 1 HP, always works, you must dislike the target, cannot effect anyone with rank, they must save or become blamed for anything that could possibly be their fault, things always go slightly wrong and society reviles them)', 'Fascinate (costs 1 HP, always works, a non-hostile crowd is engaged for 1d6 hours, also works on: '+['birds', 'mammals', 'cats', 'fish', 'snakes', 'lizards'][r(6)]+')', ['Anthropomancy','Asterimancy','Geomancy','Necromancy','Oionomancy','Pyromancy'][r(6)]+', see <a href="http://hmmmarquis.blogspot.com/2018/07/mancy-or-why-divination-is-cool.html" target="_blank">here</a> for more details', "Draw Out Soul (costs 1d6 HP, 7-in-10 chance of workings, traps the soul of a dying or recently dead person into one of their possessions, this doesn't appear to do anything)", 'Bewitch (costs 1 HP, 7-in-10 chance of workings, stare at someone who makes a save, if they fail they will slowly follow your commands for 1d6 minutes, if made to do something harmful or embarassing they are now immune to this power)', 'Lucky Root Charm (requires a rare root and an hour, always works, anyone other than you can use it, activate it for +4 to something involving gambling, seduction or pure luck)', 'Eyemark Charm (requires an hour, always works, you can meditate for 10 minutes to see through the charm, it lasts for one week)', 'Wax Charm (requires a candle and an hour, always works, if the candle is lit and burns out, a small effect occurs like tipping over strongly, flaring up, or melting into a specific shape)', 'Deflection Charm (requires ten minutes to cast, 3-in-10 chance of workings, blocks all ranged attacks, roll effectiveness when tested, lasts for 24 hours or until wet)', 'Second Skin Charm (requires an hour to create, always works, target object or person looks like a completely different version until actively examined)'][r(20)]); break; case 9: beforeAd.push('Unlocked innate magical power with great effort [+2 MD, mutation, halved stat]'); md += 2; accoutrements.push(getMutation()) s=r(6); traits.push("Drained your "+statL[s].toUpperCase()+" from "+stats[statL[s]]+" to "+Math.floor(stats[statL[s]]/2)); stats[statL[s]] = Math.floor(stats[statL[s]]/2); formatTraits.spellcaster=true; break; case 10: var pact = warlock_pact_list.sample() beforeAd.push('Made a deal with a malignant power [four magics words, +1 MD, a terrible price, 1d6 Trauma, contact with '+pact.name+']'); skills.push(pact.name); traits = traits.concat(pact.details) accoutrements.push(pact.words(),'a distinct lack of '+['a soul','family or friends','a home to return to','mental stability','the ability to love','a certain future'][r(6)], String(r(6)+1)+' Trauma'); md += 1; formatTraits.spellcaster=true; break; case 11: beforeAd.push('Had an odd occurence and took something away from it [accoutrement #'+accoutrements.length+']'); characterInterest(); break; case 12: var l = accoutrements.length; beforeAd.push('Found, bought or inherited a selection of useful magicks [accoutrements #'+String(l++)+', #'+String(l++)+' and #'+String(l)+']'); var loot = [ 'case of potions ('+getPotion()+', '+getPotion()+', '+getPotion()+')', 'familiar spirit', 'magical '+['healing','poison','hallucinogenic','mystery'][r(4)]+' herbs', 'talking '+['skull',getWeapon(),'eyeball','hat'][r(4)], 'Wizard Vision (lose 1d6 WIS/CHA to permanently be able to detect invisible things)', 'magic wand: '+all_magic_words.sample()+" "+all_magic_words.sample(), 'magic robes (+1 MD, -1 Def)', 'three runestones: '+sel(domainWords)+', '+sel(domainWords)+', '+sel(domainWords), 'spell-scroll: '+all_magic_words.sample()+" "+all_magic_words.sample(), 'schematics and key parts for a'+[' magnetic ','n occultum spring-',' lightning-',' demonic ',' steam-powered ',' wyrm-',' prayer-','n apocalypse-',' golemic rune-',' crystal-powered '][r(10)]+'cannon', 'bottled dungeon ghost '+['(Analyse)','(Clairvoyance)','(Control)','(Lighting)','(Lock)','(Map)'][r(6)], getIounStone(), "treasure map" ]; loot.shuffle(); accoutrements.push(loot[0],loot[1],loot[2]); break; case 13: skills.push('Cultist'); switch(r(6)){ case 0: beforeAd.push('Joined a cult, you are a Disciple of the Desecrator [foul censer, dried flowers, Infest Corpse]'); gear.push('foul censer (feed in flowers, herbs and butterflies, spews toxic gas)','bag of dried flowers'); traits.push('Infest Corpse (1/day, summon a 1dX HD spirit into the body of an X HD creature)') break; case 1: beforeAd.push('Joined a cult, you are a Flame Cultist [blessed napalm, leather armour, Sacrifice]'); gear.push('blessed napalm, three jars'); traits.push('Sacrifice (recieve adequate compensation for any creature or magical item you condemn to the flames)') freeArmour += 1; break; case 2: beforeAd.push('Joined a cult, you are a Blood Shaman [blood drugs, Voodoo]'); gear.push('rage, regeneration and cleansing drugs, one dose each but you know the recipe'); traits.push('Voodoo (requires blood and a clay doll, target saves to negate, you must save vs. side-effects either way)') break; case 3: beforeAd.push('Joined a cult, you are a Stormcaller [steel whip, fair-weather friend, Channel]'); gear.push('steel whip (1d4, metal-wearing target must save vs. stun)'); accoutrements.push('you know the name of a local wind') traits.push('Channel (with the assistance of others, you can conjure small lightning bolts)') break; case 4: beforeAd.push('Joined a cult, you are a Hammer of the Gods [portable anvil, hammer, Shape Metal]'); gear.push('hammer (1d4+STR)','portable anvil (2 slots)'); invWeight++; traits.push('Shape Metal (1/day, mould metal like clay)') break; case 5: beforeAd.push('Joined a cult, you are a Psychic [Psychometry]'); gear.push('crystal ball','magnficent robes','ornate dagger'); traits.push('Psychometry (touch an item to ask one yes/no question about it. 1/day, you can ask any question)') break; } break; case 14: var wS = wizard_school_list.sample(); classID = wS.name; switch(wS.status){ default: beforeAd.push('Joined a Chartered school of magic [three words, perks, restrictions, wizard gear and unfortunate consequences]'); break; case 'O': beforeAd.push('Joined an Outsider school of magic [three words, perks, restrictions, wizard gear and unfortunate consequences]'); break; case 'B': beforeAd.push('Joined a Banished school of magic [three words, perks, restrictions, wizard gear and unfortunate consequences]'); break; } traits.push('School - '+wS.getName()); subclassLink = wS.link; traits.push(wS.details[0]) if (wS.details.length>1) traits.push(wS.details[1]) gear = gear.concat(wS.gear); md += 1; def -= 1; accoutrements.push(wS.words()); accoutrements.push(wS.consequence) formatTraits.spellcaster=true; formatTraits.sillyName=true; break; case 15: switch(r(12)){ case 0: beforeAd.push('Found religion, joined a Monastic Order of the Authority [lantern-mace, holy book, Augury]'); gear.push('lantern-mace (1d6+STR, will stay lit while you stand and fight)','holy book'); traits.push('Augury (meditate to restore, up to 3 charges, receive a vague warning/omen)'); break; case 1: beforeAd.push('Found religion, joined a Martial Order of the Authority [hammer of judgement, +2 armour, Heal]'); gear.push('hammer of judgement (1d6+STR, sinful target must save vs. prone)'); traits.push('Heal (1/day, heals 1d6 HP of any non-sinful target)') freeArmour += 2; break; case 2: beforeAd.push('Found religion, joined a Mendicant Order of the Authority [unassuming staff, begging bowl, Prominence]'); gear.push('unassuming staff (1d8+STR op., counts as a combination maul, rapier and shield)','begging bowl'); traits.push('Prominence (once per round, you can choose to be the most prominent person in a group or the least prominent person in a group. This does not give you any bonuses to stealth)') def += 1; break; case 3: beforeAd.push('Found religion, joined an Orthodox Order of the Authority [two ranks in Religion, sanctified sceptre, salt tonic]'); gear.push('sanctified scepter (declare target as an action, the first instance of damage they take is reduced by 1d6)','three bottles of salt tonic (burns undead, +4 save vs. disease)'); skills.push('Religion'); break; case 4: beforeAd.push('Found religion, joined a Scholastic Order of the Authority [stern glare, writing case, two books of natural philosophy, Bookish]'); accoutrements.push('stern glare (1d4 non-lethal damage, only against sentients)'); var bookTopics = ['zoology', 'botany', 'astronomy', 'linguistics','genealogy', 'alchemy', 'law', 'the occult']; bookTopics.shuffle(); gear.push('paper, quill and ink in a writing case','book on '+bookTopics[0],'book on '+bookTopics[1]); traits.push('Bookish (each book counts as +1 rank to a skill check, sometimes +2. If the check still fails, gain an X if you find out the answer yourself)') break; case 5: beforeAd.push('Found religion, joined a Pacifist Order of the Authority [stalwart shield, holy symbol, Bless]'); gear.push('stalwart shield (grants +2 Save to anyone of your faith)','holy symbol'); traits.push('Bless (1/day, lasts for one hour, count all critical fails as critical successes, but no Xs are earned)'); break; case 6: beforeAd.push('Found religion, joined a Flagellant Order of the Authority [flail of purity, blessed salt, +4 Save vs. Pain]'); gear.push('flail of purity (1d6+STR, deal 1d6 damage to a willing target to reroll a failed save against magic, possession, addiction etc.)','blessed salt (undead cannot cross it)'); otherSaves.push({type:'SAVE vs. Pain: ',value:4}); break; case 7: beforeAd.push('Found religion, joined an Inquisitorial Order of the Authority [blade of truth, +1 armour, truth serum]'); gear.push('blade of truth (1d6+STR, only deals 1 damage if someone truthfully answers one of your questions)','truth serum'); freeArmour += 1; break; case 8: beforeAd.push('Found religion, joined a Confessional Order of the Authority [binding rings, confiscated substances]'); gear.push('binding rings (five on one hand, each can absorb a sin or 1 MD from a spell with a WIS check)'); alcohol.shuffle(); gear.push(alcohol[0],alcohol[1]); break; case 9: beforeAd.push('Found religion, joined a Penitent Order of the Authority [chains of the faithful, vow of poverty]'); gear.push('chains of the faithful (1d4+STR, automatically grapples)'); accoutrements.push('vow of poverty, +2 Save and Defence, -4 to each if you possess any valuables'); save += 2; def += 2; break; case 10: beforeAd.push('Found religion, joined a Conduit Order of the Authority [sword, +2 armour, Voice of God]'); freeArmour += 2; gear.push('sword (1d6+STR)'); traits.push('Voice of God (target must save or obey a single word COMMAND, renders you mute for a day)') break; case 11: s=r(4) beforeAd.push('Found religion, joined a Heretical Order of the Authority [holy book, holy symbol, silver dust '+['Command Undead','Demand Truth','Reverse Fate','Surgery skill'][s]+']'); gear.push('edited holy book, holy symbol','bag of silver dust'); switch(s){ case 0: traits.push('Command Undead (total 3 HD per day, Save negates clearly suicidal instructions)') break; case 1: traits.push('Demand Truth (1/day, demand outright an answer from The Authority)') break; case 2: traits.push('Reverse Fate (1/day, undo the previous round. This may summon Paradox Angels)') break; case 3: skills.push('Surgery','Surgery'); gear.push("cutter's kit","medicinal alcohol") break; } break; } skills.push('Religion'); break; case 16: beforeAd.push('Wound up weird [Random mutation, +2 HP]'); traits.push(getMutation()); maxHP += 2; break; case 17: s = r(6); if(s<3) beforeAd.push('Survived by the skin of your teeth [+4 Save vs. '+['Fire','Mutation','Fear'][s]+', random skill, random item]'); else beforeAd.push('Survived against all odds [+4 Save vs. '+['Environment','Death','Insanity'][s-3]+', random item, random skill]'); otherSaves.push({type:'SAVE vs. '+['Fire: ','Mutation: ','Fear: ','Environment: ','Death: ','Insanity: '][s],value:4}); break; case 18: s=r(4); beforeAd.push('Learned a trick of the trade [random item, '+['Cat Feet','Pack Rat','Parry','Scrounge'][s]+']'); randItems += 1; traits.push(['Cat Feet (reduce fall damage by 20ft, you can move after attacking in a round)','Pack Rat (+3 inventory slots)',"Parry (block 1d12 damage 1/day, block 12 damage if you break a shield)",'Scrounge (1/session when you dig through a pile of junk, find a random item)'][s]); if(s==1) invSize += 3; break; case 19: var j = r(100); beforeAd.push("Lost your job as a"+(['A','E','I','O','U'].includes(failedCareerList[j].charAt(0))?"n ":" ")+failedCareerList[j].toLowerCase()+" [two items, related skill]"); skills.push(failedCareerList[j]); gear.push(fCG1[j],fCG2[j]); break; case 20: beforeAd.push("Trained how to fight "+["honourably","brutishly","with poise","like a bastard"][r(4)]+" [+2 ATT, +1 HP, random weapon]"); att += 2; maxHP += 1; gear.push(getWeapon('normal')); break; case 21: s = r(6); var skullSkills = ['Forgery','Smuggler','Mountebank','Spy','Casing','Gambler'] beforeAd.push("Engaged in skullduggery [two ranks in "+skullSkills[s]+", one in Locks and gear to match]"); skills.push(skullSkills[s],skullSkills[s], 'Locks'); gear.push(['paper, quill and ink in a writing case','stolen goods ('+['medicine)','clothes)','metal)','food)'][r(4)],'satchel of "medicine"','codes and passphrases, slightly out of date','climbing gear','marked cards and loaded dice'][s]); break; case 22: s = r(4); beforeAd.push("Learned how to "+["fight dirty [Tricky, random weapon]","kill a man in an eyeblink [Assasinate]","use trickery, deception and foul poisons [Poison, Disguise skills and equipment]", "endure the intolerable [At All Costs]"][s]); switch(s){ case 0: traits.push("Tricky (when you Gambit, a tactical advantage prevents a penalty on a miss)"); gear.push(getWeapon('normal')); break; case 1: traits.push('Assassinate (replace two conditional bonuses on an attack roll with x2 damage)'); break; case 2: skills.push("Poison","Disguise"); gear.push("bottle of poison",'disguise '+['(peasant)','(clergyman)','(servant)','(merchant)'][r(4)]); break; case 3: traits.push("At All Costs (if an encounter or effect kills the entire party, you can survive it, losing all items in the process, only works once)"); break; default: break; } break; case 23: s = r(4); beforeAd.push("Discovered a thing or two ["+['Lucky, +1 armour]','Lightweight, dagger]','Nimble, quarterstaff]','Seventh Sense, holy symbol]'][s]); traits.push(['Lucky (reroll a d20 1/day)',"Lightweight (advantage on Dexterity while unencumbered)","Nimble (if unarmoured, dodge one attack per round as an action by moving in a random direction)","Seventh Sense (if an undead enemy has an additional power or deadly attack, you'll know its there, but no details)"][s]); if(s==0) freeArmour += 1; else gear.push(['','dagger (1d6)','quarterstaff (1d6+STR)','holy symbol'][s]); break; case 24: s=r(4); beforeAd.push("Killed a monster [+1 ATT, random weapon, "+['Tracking]','Grudge]','Guardian]','Danger Sense]'][s]); att += 1; gear.push(getWeapon('normal')); traits.push(['Tracking (+1-in-6 chance of finding traces)',"Grudge (+2 attack against enemies you have met before)",'Guardian (take damage instead of ally, 4-in-6 chance of working)','Danger Sense (50% chance to go on a surprise round anyway, INT check to sense danger from unfamiliar sources)'][s]); break; case 25: switch(r(4)){ case 0: beforeAd.push("Fought in a unique way [Martial Arts, attack styles]"); traits.push("Martial Arts (use either Strength or Dexterity with all weapons)"); var n = Math.max(mod(stats.str),mod(stats.dex)); accoutrements.push('your fists (1d4'+(n>0?"+":"")+(n==0?"":n)+', +1 Att)', 'your body (1d8'+(n>0?"+":"")+(n==0?"":n)+', -1 Def) e.g. headbutt, flying kick'); formatTraits.alt_att_mod=true; break; case 1: beforeAd.push("Fought like a rabid "+["dog","wolf","bear","lion"][r(4)]+" [Rage, alcohol, +1 HP]"); traits.push("Rage (+1 Damage, +1 Attack, 2-in-6 chance of feeling pain, retreating or showing mercy)"); gear.push(alcohol[r(12)]); maxHP += 1; break; case 2: beforeAd.push("Fought in an organised manner [Tactic]") traits.push("Tactic (command an ally to attack as an action, 1/day if you have a plan, then all allies in earshot can make a free attack when you use this ability)"); break; case 3: beforeAd.push("Fought with an unpredictable style [Improvise, +1 Attack]"); traits.push("Improvise (advantage to attack with anything you weren't carrying last round)"); att += 1; break; } break; case 26: beforeAd.push("Spent some time "+["in the army","as a mercenary","thieving and looting","on the hard roads"][r(4)]+' [skill, +1 armour, weapon and "loot"]'); skills.push(["Soldier","Bandit","Roads"][r(3)]) freeArmour += 1; s = r(4); var loot = [['engraved ','bejewelled ','embossed ','famous '][r(4)]+getWeapon('normal'),'looted '+alcohol[r(12)],'camp follower','lingering sense of comradery'][s]; if(s<2) gear.push(loot); else accoutrements.push(loot); if(formatTraits.dtExtra=='fighting_men' && !formatTraits.enhancedWeapon) gear.push(getWeapon('normal')); else gear.push(['sword (1d6+STR)','bow (1d6, 2-h) and quiver of arrows','axe (1d6+STR)','spear (1d6+STR op.)'][r(4)]); break; case 27: beforeAd.push("Were knighted for some reason or another [Noble Rank, Courtesy, weapon, optional horse, +2 armour]"); formatTraits.knighted=true; traits.push("Noble rank (12g expenses per month to keep it)"); skills.push("Courtesy"); freeArmour += 2; if(formatTraits.dtExtra=='fighting_men' && !formatTraits.enhancedWeapon) { gear.push(['lance (1d10+STR, 2-h, peasant slayer: x2 damage to unmounted targets if you are mounted)','longsword (1d6+STR, versatile attack: +4 attack 1/fight by throwing pommel, half-swording etc.)','halberd (1d10+STR, 2-h, modular: given time and parts, gain +2 attack against enemy type)'][r(3)]); formatTraits.enhancedWeapon=true; } else gear.push('sword (1d6+STR)'); accoutrements.push('horse OR '+['grapple hook',d(3,6)+' silver pieces','magical healing herbs, three doses','two throwing knives','silver ring set with your family crest','lantern'][r(6)]); break; case 28: s = r(4); beforeAd.push("Worked out a neat trick "+["[Artiste, painting equipment]","[Juryrigger, toolbox]","[Dungeon Architect, crowbar, toolbox]","[Mystery Package]"][s]); switch(s){ case 0: traits.push('Artiste (paintings of rare locations, monsters, events count as treasure)'); gear.push('paint and brushes','blank canvas'); break; case 1: traits.push("Juryrigger (spend a day replicating or overclocking a magic item, one use)"); gear.push('toolbox'); break; case 2: traits.push('Dungeon Architect (study a dungeon feature and ask any question starting with "how")'); gear.push('crowbar (1d6+STR)','toolbox'); break; case 3: traits.push("Mystery Package (buy or make unmarked parcel for any amount, decide what you brought when you open it)"); gear.push("mystery package worth "+d(2,6)+"sp"); break; } break; case 29: beforeAd.push("Rediscovered your heritage [Racial ability]"); switch(raceID){ case 'Aasmiar': traits.push('Seraphim (heal +1 HP using your blood OR sprout wings, only for gliding)'); break; // case 'Goliath': // traits.push(); // break; case 'Kobold': traits.push(['Cunning (in a lair you control, you can see in the dark)','Reptillian (your scales, teeth and claws together count as a dagger and leather armour)'][r(2)]); break; case 'Gnome': traits.push(['Surly (unarmed damage improves to 1d6+STR)',"Powerful Hat (1/day use your red pointed hat to absorb a projectile. Record all absorbed, when you die it'll come shooting back out)"][r(2)]); break; case 'Dragonborn': traits.push('Legacy (improve two of the following - Wings, Horns, Teeth, Scales, Tail, Breath, Heart)'); break; case 'Orc': traits.push(['Birthright (black blood, curling horns, burning eyes, bulging muscles)','Convenant (automatically hit attacks but you have a 1% chance of being destroyed, +1 each use )'][r(2)]); break; case 'Dwarf': traits.push(['Tunnel Sense (Speak with Stone 3/day)','Priorities (+50% inventory slots for loot and alcohol)',"Fey Mood (know how to create a masterwork item, go mad if you can't complete it)"][r(3)]); break; case 'Human': traits.push(['Endure (double days taken before penalties from hunger/thirst)','Scrounge (1/session when digging through garbage, gain a random item)'][r(2)]); break; case 'Halfling': traits.push('Second Breakfast (have lunch twice per day)'); break; case 'Goblin': traits.push(`Cartilaginous (any “broken” bones you have will heal overnight, you can squeeze through any space smaller than your head)`) case 'Elf': traits.push('Culture (+1 Attack using rapiers, bows and one dignified weapon of choice OR move through trees as easily as running)'); break; case 'Lizardman': traits.push("Adaptable (Immune to any ingested poison or disease you have previously suffered from)") break; case 'Half-Giant': traits.push(["The Old Ways (grow 1d12 inches per strong heart eaten)","Nose for Trouble (You can always smell the more dangerous of two paths)"][r(2)]); break; case 'Tiefling': traits.push('Hellborn (gain powerful mutations from eating heroes, wizards or clerics, tempting them to sin, or sacrificing your own mortality)'); break; case 'Undead': traits.push('Inexorable (while at 0 HP you can only move as an action, you cannot die from taking damage)'); //something about the marble choice versus the horror choice? break; default: traits.push("Improve your racial ability or unlock a new one"); break; } break; case 30: s=r(3); beforeAd.push("Learned to truly see the nature of battle ["+['Threat Assessment','Spot Opportunity','Combat Awareness'][s]+"]"); traits.push(["Threat Assessment (hit an enemy or watch them for a round to learn their current HP, discover the approximate number of kills someone has after a few minutes of conversation)","Spot Opportunity (1/round, a random ally gains a +2 bonus against a random enemy)","Combat Awareness (spend an action to determine the next action an enemy will take)"][s]); break; case 31: beforeAd.push("Acquired a new fighting style [trait #"+traits.length+"]"); traits.push("+1 Attack and +1 Damage "+['for every spell you have seen a target cast','for every insult that has been directed at you','for every ally the target has damaged','for every two enemies you are adjacent to','against a target that knows your name, +2 Attack and Damage if they also know your history','every time you miss an attack',"for every Death Dice you have",'if your target is being flanked, +2 Attack and Damage if they are surrounded',"each time you've taken damage","if you hit the target with one of their possessions, +2 Attack and Damage if they didn't know you had it",'for every non-trivial, non-obvious fact you know about the target','if your target is bigger than you','every time your rival, another character, lands a killing blow',"if you've bitten someone this fight",'for every crime you know the target has committed'].sample()); break; case 32: beforeAd.push("Got your hands on some serious weapons of war [large weapon, +1 ATT, +1 armour]"); att += 1; freeArmour += 1; s=r(4); if(formatTraits.dtExtra=='fighting_men' && !formatTraits.enhancedWeapon) { gear.push(["crossbow (1d12, 2-h, loading, blue bolt: round to aim, target saves vs. critical)","greataxe (1d10+STR, decapitate: -2 penalty, if enemy has 5 or less HP after, it dies)","greatsword (1d10+STR, power attack: -2 penalty, deal 8+STR damage)","maul (1d10+STR, skullcrusher: x2 damage to prone target, spend turn recovering)"][s]); formatTraits.enhancedWeapon=true; } else gear.push(["crossbow (1d12, 2-h, loading)","greataxe (1d10+STR)","greatsword (1d10+STR)","maul (1d10+STR)"][s]); if(s==0) gear.push("twenty crossbow bolts"); break; case 33: beforeAd.push("Practiced an obscure method of fighting [trait #"+traits.length+"]"); traits.push("You gain +2 Defence against an attack if "+["you have a Skill that applies","you have seen the target fight before","you've killed a close ally of the target","you are using the same weapon as them","you are grappling with the target","you are unarmed","you are unarmoured","you are leading the charge","you planned for this battle to happen","if you are drunk"][r(10)]); break; case 34: s = r(4); beforeAd.push('Found a magical '+['sword','weapon','shield','helmet'][s]+" [+1 HP]"); var prop = ['talking','flaming','glowing','icy','possessed','clockwork','animated','living','rune-inscribed','crystal','invisible',"weightless","imaginary","indestructible","spellproof","vampiric","guardian","berserker's","paladin's","assassin's"]; gear.push(sel(prop)+' '+['sword (1d6+STR)',getWeapon('normal'),'shield','helmet'][s]); maxHP += 1; break; case 35: s = r(2) beforeAd.push('Were famous '+["[Inspiring]","[Noble Sacrifice, dubious hireling]"][s]); traits.push(['Inspiring (the first time an ally assists you each session they either heal 1d4 HP, take +2 to the next Attack, or gain 1 X)','Noble Sacrifice (use a hireling to block all damage from an attack)'][s]); if(s==1){ accoutrements.push('follower, '+['mostly obedient','here to make a quick buck','here to live out one of the stories','utterly besotted with you','looking for the truth','hoping to see you in action'][r(6)]); invWeight -= 1; } break; case 36: s=r(4); beforeAd.push("Were a monster on the battlefield "+["[Devastator]","[Merciless]","[Sentinel]","[Cleave]"][s]); traits.push(["Devastator (1/day, you can add your Attack roll to damage)","Merciless (if you deal over half the health of an enemy in a single attack, they must save vs. stun. 1HD enemies don't get a save)","Sentinel (if an enemy leaves your reach, gain a free attack on them)","Cleave (if you kill an enemy in a single blow, make an extra attack)"][s]); break; case 37: s=r(3) beforeAd.push("Went on a quest "+["[Smite]","[Lay on Hands]","[Martyr]"][s]); traits.push(["Smite (1/day add 1d8 damage to an attack)","Lay on Hands (1/day patch a Minor Injury or heal 1d6 HP)","Martyr (anything that kills you must save vs. death)"][s]); break; case 38: switch(r(5)){ case 0: beforeAd.push("Had a god for a parent [Birthright]"); traits.push("Birthright (Add 3 to a stat of your choice)"); break; case 1: beforeAd.push('Had a powerful spirit for a parent [Limited Wish]'); traits.push('Limited Wish (one use, be careful with it!)'); break; case 2: beforeAd.push("Were made with a metal body and a clockwork heart [Inferior Meatbags, Archaic Chassis]"); traits.push("Inferior Meatbags (No Constitution score, immune to biological threats)","Archaic Chassis (Require burnable fuel, repairwork is difficult)"); gear.push("metal plating (as leather)"); stats.con = 10; formatTraits.no_con_score=true; def += 2; invWeight += 1; simpleDesc = "A clanking metal monstrosity"; break; case 3: beforeAd.push("Were bitten by a vampire [Delicious, Immortal, Allergies, two blood-flasks]"); traits.push("Delicious (don't need to eat, sleep, drink or breath, but you do need blood)",'Immortal (only age when prevented from feeding)','Allergies (Disadvantage to everything when exposed to stakes, garlic, signs of the Authority or the noonday sun)'); gear.push('two copper flasks of blood'); break; case 4: switch(r(3)){ case 0: beforeAd.push("Just so happened to be a cat"); traits.push("Very Smug Cat (you are a cat)","Purr (sit on someone and purr to charm them)"); gear.push('haughty attitude','collar','no hands','claws (1d6)'); simpleDesc = "A canny cat"; break; case 1: beforeAd.push("Just so happened to be a dog"); traits.push('Very Good Dog (you are a dog)','Best Friends (get +1 Def and Save while with your Best Friend, deal bonus damage)'); gear.push('collar','fleas','no hands','bite (1d6+STR)'); simpleDesc = "A good pupper"; break; case 2: beforeAd.push("Just so happened to be a goose"); traits.push('Very Angry Goose (you are a bird)','Worst Enemy (pick a player, while below max HP, you gain +1 Att and Def)','Flight (need a 50ft run-up, slow on land)'); gear.push('bad attitude','feathers','no hands','serrated beak and tongue (1d6+STR)'); simpleDesc = "A pissed off goose" break; } } break; default: console.log("ERROR: Missing beforeAd event"); break; } } if(freeArmour>0) { gear.push(['leather armour','chainmail','chainmail and helmet','plate armour'][Math.min(freeArmour-1,3)]); invWeight += freeArmour+1; if(def==10) def += freeArmour+1; } //consider if Cheap Tricks should give wizard robes instead of armour - hat, robe, hat and robe, hat-robe-wand? Nah for (var k = 0; k<freeSkills; k++) skills.push(sel(allSkills)); beforeAd.push(''); traits = beforeAd.concat(traits); var dTdesc = [" that is going to get rich or..."," who is going to become famous or..."," who is going to win the heart of their true love or...",""," who is going to get revenge or..."," who is out to make a name for themselves or...",` that has lost their memory`,` that taught themselves all they know`," that is marked by strange events"," that has had a rough time already"," who has a lot to learn, and a lot of heart",` that has a specific vision of the future`,` that is desperate to prove themselves`,` that was born in a barn`,` that was born into a wealthy family, but lost it all`,` that hopes to retire some day`,` that is on the run from the past`,` that knows where the money is hidden`,` that is driven by crazed ambition`,` that seeks glory and death`,` that found the meaning of life in a dream`,` that kills people`,` that has lost their family`,` that enjoys the finer things in life`]; var pos = x[0]+x[1]+x[2]; pos = pos/(19*2*3)*dTdesc.length; pos = Math.round(pos); if(pos>-1 && pos<dTdesc.length && false) simpleDesc += dTdesc[pos]; //currently inactive else simpleDesc += sel(dTdesc); } var failedCareerList = ['Alchemist','Apothecary','Architect','Armourer','Astrologer','Bag-maker','Baker','Banker','Barber-Surgeon','Basket-maker','Belt-maker','Blacksmith','Bookbinder','Brasier','Brewer','Bridle-maker','Broom-maker','Bureaucrat','Butcher','Carder','Carpenter','Cartwright','Chalk cutter','Chandler','Charcoal Burner','Cheese-maker','Chirurgeon','Clerk','Clock-maker','Cobbler','Cook','Cooper','Dog breeder','Drunkard','Dyer','Embroiderer','Engineer','Falconer','Farrier','Felt-maker','Fisherman','Fletcher','Furbisher','Gambler','Glassblower','Goatherd','Goldsmith','Gongfarmer','Gravedigger','Herbalist','Hunter','Illustrator','Jailer','Jeweler','Butler','Leatherworker','Link Boy','Locksmith','Mason','Mercer','Midwife','Miller','Miner','Minstrel','Actor','Needlemaker','Pack Handler','Painter','Parchment maker','Parent','Plasterer','Poet','Porter','Potter','Poultry-keeper','Prostitute','Rag Man','Rat Catcher','Rope-maker','Sailor','Salter','Scullion','Sculptor','Servant','Camp Follower','Shepherd','Shipwright','Stonecutter','Storyteller','Swineherd','Tailor','Tanner','Tax Collector','Thatcher','Trumpeter','Weaponsmith','Wet Nurse','Woodcarver','Woodcutter','Woolwinder']; var fCG1 = ['flask of glue','nightshade (1d6)','measuring string (0 slots)','helmet','book of star tables','leather bag','2 loaves of bread','set of scales','needle and thread','3 small baskets','2 sturdy belts','iron tongs','defective book','brass handle','tiny barrel of beer','leather bridle and saddle','broom','paper, quill ink','live lamb (0 slots)','comb and bundle of raw wool','plumb line, 10 nails','handcart (0 slots)','chalk, 5 pieces','3 candles','torch','wheel of cheese','needle and thread','paper, quill ink','screwdriver, file','bag of tacks','bag of salt','barrel (0 slots)','cleveryoung dog','bottle of strong liquor','3 vials of dye','needle and thread','jar of grease','glove, trained hawk','3 horseshoes','fine cloak','net','20 arrows, feathers','wooden chair','loaded dice (0 slots)','3 glass bottles','live goat (0 slots)','set of scales','sack of nightsoil','wooden grave marker','"healing" herbs','dead rabbit','paper, quill ink','manacles','wire scraps, bending tools','livery, club','leather helmet','torch','lockpick set','bag of mortar','3 fruits, vegitables, or nuts','bundle of rags','bag of flour','lantern','lute','disguise kit','10 needles','donkey (0 slots)','3 tubes of paint (R,W,B)','parchment, 3 pieces','3 rations','bucket and brush','book of poetry','wheelbarrow (0 slots)','clay','2 chickens','makeup kit (disguise kit)','bundle of rags','small but vicious dog',"30' rope","50' rope",'bag of salt','clay jug, iron pot','3 light chisels (iron spikes)','livery','livery','live sheep (0 slots)','10 sturdy nails','heavy chisel','hand puppets','live pig (0 slots)','two yards of linen','waterproof bag','lockbox (0 slots)','bundle of reeds','enormous trumpet','metal file','3 cloth diapers','devotional statue','bundle of wood','bundle of wound wool']; var fCG2 = [ 'dagger (1d6)','pestle (1d4)','staff (1d6+STR)','hammer (1d4+STR)','dagger (1d6)','club (1d4+STR)','dough paddle (1d4+STR)','dagger (1d6)','scalpel (1d4+1)','dagger (1d6)','belt with heavy buckle','hammer (1d4+STR)','awl (1d4)','hammer (1d4+STR)','mash paddle (1d4+STR)','awl (1d4)','sturdy broom (1d4+STR)','club (1d4+STR)','cleaver (1d6+STR)','club (1d4+STR)','saw (1d6)','hammer (1d4+STR)','chisel (1d6)','dagger (1d6)','axe (1d6+STR)','bucket','bonesaw (1d6)','dagger (1d6)','hammer (1d4+STR)','awl (1d4)','frying pan (1d6+STR)','hammer (1d4+STR)','whip (1d4)','broken bottle (1d4)','bag of snails','club (1d4+STR)','lead pipe','hawk (1d4, startling)','hammer (1d4+STR)','hammer (1d4+STR)','deboning knife (1d6)','bow (1d6, 2-h)','hammer (1d4+STR)','dagger (1d6)','iron pipe (1d4)','whip (1d4)','dagger (1d6)','shovel (1d4+STR)','shovel (1d4+STR)','dagger (1d6)','bow (1d6, 2-h)','club (1d4+STR)','club (1d4+STR)','hammer (1d4+STR)','whip (1d4)','club (1d4+STR)','club (1d4+STR)','dagger (1d6)','hammer (1d4+STR)','club (1d4+STR)','scalpel (1d4+1)','club (1d4+STR)','mining pick (1d6+STR)','rapier (1d8)','wooden sword (1d4+STR)','file','whip (1d4)','club (1d4+STR)','scraping knife (1d6)','belt with heavy buckle','club (1d4+STR)','dagger (1d6)','club (1d4+STR)','trowel','bucket','dagger (1d6)','bone dagger','club (1d4+STR)','dagger (1d6)','club (1d4+STR)','rake (1d4)','rolling pin (1d4)','hammer (1d4+STR)','club (1d4+STR)','dagger (1d6)','crook (1d6+STR)','hammer (1d4+STR)','hammer (1d4+STR)','quarterstaff (1d6+STR)','quarterstaff (1d6+STR)','scissors 1d4','skinning knife (1d6)','staff (1d6+STR)','dagger (1d6)','sword (1d6+STR)','sword (1d6+STR)','club (1d4+STR)','chisel (1d6)','axe (1d6+STR)','club (1d4+STR)']; function levelZero(){ simpleDesc += [' who is completely out of their depth',' who is hungry for blood, money and actual food',' who is going to have a really, really bad time',' who is looking forward to this'][r(4)]; var career = r(100); classID = failedCareerList[career] skills.push(failedCareerList[career]); gear.push(fCG1[career]); gear.push(fCG2[career]); maxHP = r(6)+1; randItems *= 2; accoutrements.push("large debt to "+["a noble","a gang","a wizard","the church","the bank","a demon","an unknown individual","a college","an artisan","your family","a faerie","a doctor","a miracle worker"].sample()+" due to "+["services rendered","a task failed","a bribe required","a captive family member","a life sold","an unfortunate incident","esoteric information","a favour owed","business gone bad","a dowry","your incompetence","a second chance"].sample()); } function getPotion(){ return ["Adulthood","Alternate Self","Anchoring","Animate Object","Banishment","Beauty","Bottle Imp: "+['Black (who)', 'Blue (why)','Green (where)','Red (what)'][r(4)],"Bounty","Breathlessness","Breathstealer","Bubble Breath","Burrow","Clairvoyance","Cloudkill","Comprehension","Contagious Laughter","Courage","Darkvision","Deadly Poison","Deep Sleep","Drunkenness","Duo-Dimensionality","Echolocation","Enlarge","Escape","Ethereality","Extra Arm","False Life","Fire Breath","Flight","Fusion","Gaseous Form","Ghost Form","Glibness","Golden Dreams","Grandeur","Green Slime","Haste","Hate","Healing","Heroism","Hide From "+['Animals', 'Dragons', 'Spells', 'Undead'][r(4)],"Hope","Ice Seed","Invincibility","Invisibility","Iron Seed","Jaunt","Lantern Eyes","Legendary Fighter","Legendary Thief","Legendary Wizard","Liquid Boat","Love","Luck","Lycanthropy","Magic Weapon","Mapping","Mirror Image","Mutagen","Mutate Spell","Numb Pain","Pass Through "+['Metal', 'Wood', 'Stone', 'Fire'][r(4)],"Pause Time","Petrification","Poltergification","Polymorph","Purge","Rage","Raise Dead","Repulsion","Reverse Gravity","Reverse Time","Seal Soul","Shrink","Blessed Salt","Simulacrum","Smoke Vision","Snake Arm","Snake Conjuring","Sound Bubble","Sovereign Acid","Sovereign Glue","Sovereign Grease","Speak with "+["Animals","Body","Dead","Language","Trees","Metal"][r(6)],"Speak with "+['Fire', 'Water', 'Earth', 'Air'][r(4)],"Speak with "+["Locks","Shoes","Arrows","Blood","Roads","Statue","Teeth","Self","Spell","God","Stars","Universe","Light","Darkness","Memories","Dreams","Lust","Lies","Dave","Mother"][r(20)],"Spell Ward","Spider Climb","Spooky","Suggestion","Gather Trinkets","Telepathy","Tongues","Transformation: "+['Bees', 'Cat', 'Dolphin', 'Gecko', 'Seagull', 'Troll (2d6 rounds)'][r(6)],"True Seeing","Universal Solvent","Ventriloquism","Visions of Death","Water Breathing","Water Walk","Zombify","Liquid Lockpicks", ["Frogflesh","Clockwork","Disintegration","Blasphemous"][r(4)]+" Bomb","Transmute "+materials("normal", "normal"),"Transmute "+materials("weird", "weird"),"Wizard Teeth","Demon Blood","Head Swap"].sample(); } function getIounStone(){ return 'ioun stone - '+['transluscent','speckled','twisting','deep','flickering','pulsing','spinning','','',''][r(10)]+' '+['red','orange','yellow','green','blue','pink','purple','black','white','clear'][r(10)]+' '+['cube','sphere','rod','star','rectangle','oval','rhomboid','prism'][r(8)]+', '+[ '+1 STR','+1 DEX','+1 CON','+1 INT','+1 WIS','+1 CHA','+1 ATT','+1 DEF','+1 SAVE', '+3 SAVE vs.'+['Spells','Mutation','Falling','Death','Burning','Traps','Exhaustion','Disease'][r(8)], 'advantage on STR check 1/day','advantage on DEX check 1/day','advantage on CON check 1/day', 'advantage on INT check 1/day','advantage on WIS check 1/day','advantage on CHA check 1/day', 'reroll any d20 1/day', 'extra attack 1/day', 'block three attacks', '+1 MD, recharges like a wand', 'burning hands 1/day','create water 1/day','control wind 3/day','move earth 3/day', 'acid arrow 1/day','lightning bolt 1/day', 'glows like a candle', 'absorbs light', 'conjure illusion 5 rounds/day', 'transforms into weapon', 'project your thoughts at someone you can see', 'recharge any other daily ability 1/day', 'grants vision through the stone', 'forceful push 1/day, knocks back enemies or sends you flying', 'laser attack, 1d10, burns out on a 9-10', 'force barrier 1/day', 'pulsates and buzzes, highly distracting', 'hypnotic lightshow 1/day', 'illusory double 1/day', 'scouts next room 3/day', '3-in-10 chance to unlock door, +1 per failed check then resets', 'short-range teleport 1/day', 'can carry things', 'knows things, 50% chance modified by rarity', 'summon guardian 1/week', 'CHA check to reflect spells, double effect if failed', 'WIS check to absorb spells, double effect if failed', 'mild precognition 1/day', 'acts as a crystal ball', 'increases hearing acuity', 'improves sense of smell', 'amplifies voice when active', 'beeps loudly in the presence of '+['orcs','undead','traps','treasure','demons','wizards'][r(6)], 'traps your soul if you die', '50% chance to know any language, max two', 'patch a minor injury 1/day'].sample(); } function startingGear(){ var items = [ 'rope','dagger (1d6)','sling (1d4)','tinderbox','club (1d4+STR)','crowbar','caltrops','bandages','rusty helmet','bottle of liquor','spool of copper wire','fishing rod','bladder of oil and a match','shield','grapple hook','4 iron spikes','padlock','3 keys','bucket of pitch','wooden pole','sack of flour','hammer (1d4+STR) and nails','bag of lard','two throwing knives (1d6)','chain, 10ft','grimy gambeson','leather chaps','axe (1d6+STR)',(d(1,6)==1?'1 fake gold coin':d(1,5)+1+' fake golds coins')+" (0 slots)",'lantern and oil','crossbow (1d12, 2-h, loading), 4 bolts','9 rations (3 slots)','bear trap','bottle of poison','a peasant, utterly devoted to you (0 slots)','magical healing herbs, three doses','lockpicks','vial of acid','bow (1d6, 2-h), five arrows','bottle of salt tonic','a powerful lodestone','potion of '+getPotion(),'bottle of laudanum','pliers, loop of wire','jar of glue','weighty iron tongs','sword (1d6+STR)','two metal flasks','ewer of wine','lute','flint and steel (0 slots)','small tent','pitchfork','small metal mirror','bag of chalk','holy symbol','shiny locket (0 slots)','jar of grease','spell "safely contained" in '+['old journal','wooden tube','engraved femur','ancient skull'][r(4)]+': '+all_magic_words.sample()+" "+all_magic_words.sample(),'flute','towel','three iron ingots','strange fungus in a jar','whip (1d4)','spear (1d6+STR op.)','staff (1d6+STR)','knuckledusters (1d4+STR)','excellent pair of boots (0 slots)','three smoke bombs','five sachets of potent spices','sturdy shears','silver needle and silken thread (0 slots)','large wheel of expensive cheese','three lengths of heavy iron pipe','waterproof bag','alchemists tape','paper, quill and ink in a writing case','ugly gauntlets','ironbound holy book','satchel of charcoal','warm cloak','pickaxe','heavy chisel','bag of salt','small barrel, rolls easily','pungent perfume','hefty tarpaulin','shovel (1d4+STR)','mace (1d6+STR)', 'jar of leeches','spyglass','fancy clothes','bearskin','drinking horn','bag of questionable mushrooms','whittling knife','white powdered wig','mortar and pestle','tobacco and pipe, 5 uses','knucklebones of a saint… probably']; for (i = 0; i < randItems; i++) { gear.push(items.sample()); } var startSupplies = 2; if(document.getElementById("extraCharInterest").checked) startSupplies--; if(formatTraits.brand=='level 0') startSupplies--; switch(startSupplies){ case 2: gear.push("3 torches","3 rations"); break; case 1: gear.push(["3 torches","3 rations"][r(2)]); break; default: break; } } function characterInterest(){ var cI = ["favour from fate", "bottle of mutagen (3 doses)", "holy book, full of twisting notes in the margins, they speak to you", "adamantine nail from zulin's throne", "three rocks carved with glowing runes ("+sel(domainWords)+", "+sel(domainWords)+", "+sel(domainWords)+")", "pink bead, six. when smashed on the ground, immediately turns into a huge mountain of fluffy bubbles", "case of potions ("+getPotion()+", "+getPotion()+", "+getPotion()+", "+getPotion()+")", "powdered mix of shattered wands and ground unicorn horn", "hawk, can communicate telepathically with you, has an attitude", "tear-stained confession from a prince/ss", "curse on your weapon, it can speak to you whenever it wishes", "snuff, causes confusion and delight when inhaled", "the last functioning charge of gunpowder", "ooze preserved in formaldehyde, will grow bigger and stranger if fed", "tattoo, it moves about your body at will, just not always yours", "skull-crack, you can project your thoughts given time and a nosebleed", "ethereal flare, attracts spirits if burnt", "glass eye you can still see through it if it's popped out", "single bead of curse-metal in a lead box", "tinkers pack contains 3 rations and 11 random items, only takes six inventory slots to carry", "tiny moon, mostly orbits you if you let it out of its bag but intensely curious, reflects sunlight from somewhere… different", "'yeast' if you add it to a small barrel of organic matter and water it spontaneously becomes strong alcohol overnight, leave the jar nearby it'll climb back inside once it's done", "antique elvish revolver (1d6+1 damage wind for ten minutes to recharge one shot explodes into scrap on a critical fail)", "earth-angel, a tiny clay figurine that can be smashed to cause an earthquake", "threatening probe, has no function but glows and vibrates in a way that suggests it could be used for distributing extreme pain,", "gore candle, any injuries that happen in the presence of this candle's light are extra painful messy and harmful dealing +1d6 damage", "immovable rod", "blue soul in a small diamond, it's your own, you can't cast spells but have +4 to saves against them", "nugget of impure gold the size of your fist, worth 1d20 gp", "letter from your brother he has just been [smudge from rain] and needs to see you urgently", "dark purple tea from beyond the seas, properly brewed it helps send departed spirits on their way and can cure wounds of the soul, burned it makes a potent sacrifice to any god", "roll three mutations, pick two: "+getMutation()+", "+getMutation()+", "+getMutation(), "you a deal made with the monster under your bed, take 1 Trauma and shut your eyes tight, it'll tell you the price, if you refuse save or take another Trauma", "magnesium-occultum strip, 1 HP of boiling blood causes it to ignite for 1 second but never burn out", "self-assembling platemail, toss it out and it will attach itself to you in (mostly) the right places, whistle and it falls off", "love potion, three doses", "everice, chunk in a vial of clear oil, turns other water into more everice on contact", "monocle of entropy, if you stare at something long enough it will fall over", "girdle of gender-change", "stick of the titan, hits for 3d8 then breaks", "sovereign glue, stick anything together", "universal solvent, dissolve any bonds", "grim lantern, glows for 1d10 hours after a sentient creature dies near it", "dramatic cloak, will flutter behind you, hide weapons, keep you warm, feed it rats to keep alive", "windbag, hold it open to catch one slam it shut open it again to release it", "box of twenty big bright blue matches, when struck light whatever is being stared at", "your ex-wife was a mid-tier demon, that was a… complicated time of your life, you still know the runes to summon her but it's been a while", "small metal box, if you place something in it close the latch and give it a shake when you open the box it will be (1d6): 1. gone 2. turned to ash 3. a different material/colour 4. incredibly dangerous 5. replaced with a different object 6. bizarrely improved", "your shadow can peel away from you and move around, if it dies you take 1d6 permanent CHA damage", "bottle of genie-liquor, three doses, say a wish and take a chug, wish lasts as long as the kick (1d6 rounds), still gets you drunk", "slim wooden box sealed with wax, it sounds different every time you shake it, peel away the wax and it contains exactly what you need or near enough", "strange paper card an image of a portly, odd looking noble and some unknown runes on one side, if you are held against your will you can burn it to teleport 100ft and erase your name from all nearby legal documents", "pinhead sized black gemstone, any creature with it inside them takes 1 damage per round", "shattered gold pendant, while you hold it in both hands close your eyes and pray fervently ghosts and other spirits cannot touch you, if there are no other light sources it glows faintly", "ring of holding, can store things (actually links to hell)", "hand-carved wooden pipe, you can learn secrets about something or someone by smoking a portion of it, requires 5sp of opium each time, comes with three doses", "diamond set in a pig-iron band, it absorbs one fatal wound per round through skin contact, once it reaches four it turns to glass and shatters", "ball of unassuming black stone the size of a large marble, entirely indestructible", "half-tame grumbleshrub, can carry notes, supplies, daggers, will follow basic commands, water it with blood", "your family butler choked to death on a fishbone, such was his loyalty he came back to work the next day, he now follows you, mute and slightly moldy", "your arm is invisible, not gone, just completely transparent", "fractal conch shell, holds fifty litres of any liquid", "chalky lump of rock from the moon, blue stain on one side, throw it at a spell to interfere with it or blow it towards a spellcaster to make them sneeze and mishap, ten uses", "blood red ruby worth 3gp, hold it in one hand, every time you kill a sentient enemy it increases in value by [HD]%", "short note of thanks from Gharduk the Hangman (a notorious gang leader), you can't quite remember what you did to earn it", "lump of modronium, electricity applied to it causes it to phase into/out of existence", "broach of the beast, stick it into flesh for 1d6 damage, lowers your INT to 3, raises STR to 18, grows your teeth and nails to monstrous lengths, you can hear the rush of blood and hate it's music, no language, no advanced plans, no weapons", "seven-league-boots, use with care! don't trip", "holly wand banded with ribbon, roll charisma to convince a household tool or piece of furniture to animate, on a critical fail save or it bursts into flame", 'bulky iron can melted shut with "'+["owlbear","demon","fireball","house","zombie","harlot"][r(6)]+'" etched into it', "you've got four fingers on your left hand, if you rip off a finger (not cut) and toss it into a fire it grants you a wish, poor monkey, what did you wish for with your pinky? how badly did it go", "talking skull by the name of pete, pretty chill", "rubbery preserved eyeball, lick it to see what it has seen in the last hour, overuse can inflict wisdom damage", "stone bowl, give a coin to a beggar, gather three hairs from three different animals and fill it with rainwater, drop in the three hairs one by one and breath the steam, you will have a vision of a possible future", "branding iron, it writhes as you hold it, wisdom check to have it take a fixed shape, heat it in different types of fires for different effects, it won't melt no matter how hot it gets just watch out for the handle", "extract of dragon lymph-node, will murder any disease then take up residence, constant low-grade fever, doubled food requirements, +4 to saves versus disease", "half a shattered devil horn, wounds inflicted never heal", "white glove, use it to slap people, if they surrender flee or die you gain 1 exp, if you attack someone different before this occurs the glove will strangle you and find a new owner", "stone geode containing primordial troll oil, immensely energy dense", "sentient fungus growing under your skin, an ambassador, allows you to speak to fungi and sometimes oozes but requires flesh or coal as sustenance", "you saw a shooting star crash down a while ago, it still glows for you on the horizon, pulsing gently", "strange black egg, slightly flexible", "three-pronged metal claw in place of a hand, no joints it just bends when you focus on it", "random spell, if you aren't a spellcaster it just got trapped in there and can't get out", "sentient knife, if you stab it into something it can rise as a crappy zombie", "pet rock, he is a prince amongst his people, he cannot talk or move but believes you to be very loyal", "small white cat with coal black eyes, it appears and wanders off seemingly at random, if you chase it you can never catch it, you will get lost and find yourself on a path to somewhere very strange", "cunning array of pulleys and wires that go under your clothes, so long as you have time to set it up you can make a Dexterity check to equip any item seemingly from nowhere, allows action interrupt", "spirit trapped in a chunk of worthless crystal, is pissed off about it, can twinkle at you menacingly", "brain in a jar, studded with strange mechanisms, feed it blood ask it things", "list of occultum alloys written by a dwarf, incomplete", "bag of salt, scatter it on a wound to double damage causes immense pain", "jar of liquid dark, open it to spray anti-light, enough for about five minutes of midnight", "you sold your soul for immense, unreliable power, cast spells with 1d6d6, burns out for a day if you roll any 5/6's, if you ever roll a Doom this way something comes to collect", "stack of twenty origami sheets, anything you fold comes to life", "invisibility tea-towel, not quite the same size as the cloak", "mindblade, a weapon of your choice, here and gone again at a thought, can deal wisdom damage but the strain costs 1d6 HP", "petrified lightning, break towards target, wear a blindfold and earmuffs if you know what's good for you", "towel, innumerable uses, you hoopy frood", "chunk of green slime in a black vial, why do you have this?!", "a gentleman's agreement with death, when you die, you can always come back as a ghost", "feather of bravado, points towards dangerous enemy when placed in a hat, increases running speed when placed in shoe", "grass whistle, when blown, roll for a random encounter", "silk handkerchief, turns as solid as steel and back again on a command word", "ring of organic invisibility, does not apply to equipment or clothing", "favor from a prescient mage, once you decide what you want for the favor, turn over a rock (or equivalent)", "silver-sapphire flower, plant it in a new type of corpse and it will grow a little more", "idol of some forgotten demon or godling, pray, sacrifice, build it a shrine", "ability to snap your fingers for a spark, both hands to deal 1d6 damage to you and 1d10 to a nearby target", "ring of swimming, wearer treats air as if it had the consistency of water", "cruel trap, set this beartrap at any location, can reappear at will", "vial of lich-wasp venom, deals +2d6 damage, can be reused", "slime living symbiotically in your digestive tract", "satan's little finger, half the size of your forearm, unknown powers", "two drops of diamond honey, cures all wounds, elevates to pseudo-godhood for 1d6 rounds", "cracked chunk of stone, infomorphic, will fix basically any ancient eldritch altars", "sentient "+['rope, can be taught tricks','box, has stubby legs','helmet, looks out for you','book, knows too much'][r(4)], getIounStone(), "weaponised ioun stone", "amber comb, any lightning attack within 10' is diverted to the comb instead, shatters after 6+ damage", "omnidress, can turn into any type of dress at a thought", "small broom, when activated, will attempt to clean the dirtiest thing nearby.", "giant's ochre, anything painted with this pigment will double in size, washes off easily with water or sweat", "boots of devouring, eats anything you put in it", "linked pins, three, each with an accompanying metal bead, the beads always tug faintly towards the location of the matched pin, tapping the pin sharply causes the bead to buzz.", 'silver coin, contains a fallen angel '+["(lust","(ice","(chains","(darkness","(gold","(sleep"][r(6)]+" and "+["poison)","acid)","time)","fire)"][r(4)]+', will offer you knowledge for "free"', "termite swarm, in a vial, impossible to get back in, good at devouring houses and doors", "orphan's top, cannot be spun if there are any invisible undead nearby", 'blood of luroc, adds 1d6 rooms and 1d3-1 hallways to a building', "ring of petrification, reversible if ring removed", "ring of alternate self, roll once per wearer (1d6): 1- swap gender, 2- invert stats, 3- different class, 4- different race, 5- minor cosmetic difference, 6- corpse", "tiny perpetual motion machine", "mechanical torchbearer", "mighty acorn, grows into an oak when thrown", "three iron coins, disappear when flipped to pay for an unknown service...", "magic key, opens any door to the same interdimensional room", "eye pebble, anything it sees is reflected in a tiny mirror", "sending stamps, three, attach it to something smaller than a breadbox with an attached address and it'll wind up near them", "crowbar of reliability, immune to bending, magic, acid, fire, and many other things will abandon owners that use it in combat", "brain jelly, packed into the skull of a fresh-killed corpse, it will animate and perform simple commands", "alicorn powder, cures all diseases, poisons and hp damage, but inflicts the curse of the alicorn (all critical successes are now critical failures)", "fairy dust, allows you to fly, slowly, so long as you are thinking happy thoughts", 'bottle labeled "do not drink"', 'no belly button', 'dozen imp-and-lead cartridges, each one fired is a sin', "nova potion, bad batch, +3 MD to the next spell you cast, but a minimum of 6d6 rolled for mishaps and dooms", "the whetstone, can sharpen anything with only a few swipes", "machinist toolkit, non-magical but very high quality", "bag of rust dust", "chunk of clay golem torso, twitches occasionally", "dehydrated devil, don't allow it to come in contact with blood", "votive candles, three, when burnt in prayer, summon an ancestral spirit (1d4): 1- berates you about your life choices, 2- tells you one truth and one lie, 3- tells you two truths and a lie, 4- will help you to the best of its ability", "goblin horn, blow to summon 1d6 goblins, the first time it’s used per day the goblins will be 'loyal'", "vengeance fungus spores, when inhaled contract them as a disease (1d2 CON), if you die violently while suffering from them, rise as a fungal revenant in 1d10+CON score minutes", "homunculus gum, chewing it up grants you ownership over this small, rubbery, cranky, sticky golem (can’t move when dried out)", "alchemist's stone, three fragments, turns sufficient gold into anything, one use per fragment" ]; accoutrements.push(cI.sample()); } var allSkills = ['Alchemist','Angels','Animal Handler','Architect','Archivist','Arson','Astronomer','Baker','Bandit','Barbarians','Beggar','Black Market','Blacksmith','Blood','Booze','Brewer','Bureaucrat','Butcher','Carouse','Carpenter','Casing','Circus','Cleaning','Cobbler','Cooking','Courtesy','Cultist','Dancer','Demons','Deserts','Diplomacy','Disguise','Drugs','Drums','Engineer','Farmer','Fashionista','Finance','Fishing','Flute','Forest','Forgery','Fortune Telling','Frontier','Gambler','Gardener','Gossip','Guitar','Haruspex','Heraldry','History','Horses','Jeweller','Jungle','Lakes','Law','Linguist','Literature','Locks','Lute','Maps','Mason','Medicine','Miner','Minstrel','Moon','Mountains','Navigator','Painter','Philosopher','Plains','Poetry','Poison','Rivers','Roads','Rumors','Runes','Sailor','Scavenger','Scribe','Seduction','Sieges','Singer','Smuggler','Soldier','Spelunking','Spy','Sun','Swamp','Tailor','Tinker','Tracker','Traps','Trumpet','Tundra','Weather','Witches','Wizards','Woodcutter','Writer']; function betterStats(){ var accept = false; for (var key in stats) { if(stats[key]>11 && stats.hasOwnProperty(key)) accept = true; } while(!accept){ var upStat = ['str', 'dex', 'con', 'int', 'wis', 'cha'][r(6)]; stats[upStat] = d(3,6); if (stats[upStat]>11) { accept = true; } } } function getName(){ var search = raceID; if(raceID.slice(0,6)=="Undead") search = raceID.slice(7); if(formatTraits.humanPassing) search = "Human"; var humNames = [`Abeodan`,`Ace`,`Acwel`,`Aelle`,`Agyfen`,`Aheawan`,`Alchfrith`,`Aldhelm`,`Alfred`,`Algar`,`Alger`,`Almund`,`Alwin`,`Andettan`,`Andsaca`,`Andswaru`,`Andwyrdan`,`Ane`,`Archerd`,`Archibald`,`Arlice`,`Astyrian`,`Avery`,`Baldlice`,`Bana`,`Banan`,`Bar`,`Bawdewyn`,`Beadurinc`,`Benoic`,`Benwick`,`Besyrwan`,`Betlic`,`Bronson`,`Caedwalla`,`Caflice`,`Camden`,`Chapman`,`Cynewulf`,`Cynn`,`Dalston`,`Deogol`,`Derian`,`Drefan`,`Dreogan`,`Eadig`,`Eadlyn`,`Eamon`,`Ecgfrith`,`Edmund`,`Eldrid`,`Eorl`,`Farmon`,`Garrett`,`Geoff`,`Gildas`,`Gimm`,`Graeme`,`Grendel`,`Grimbold`,`Grimme`,`Halig`,`Ham`,`Landry`,`Lange`,`Lar`,`Leax`,`Leng`,`Leof`,`Lin`,`List`,`Lufian`,`Manton`,`Norville`,`Odi`,`Odin`,`Oswine`,`Peada`,`Perry`,`Pierce`,`Prasutagus`,`Ramm`,`Rand`,`Rinc`,`Ro`,`Rypan`,`Scrydan`,`Seward`,`Sihtric`,`Stearc`,`Stedman`,`Swift`,`Tamar`,`Tolan`,`Trace`,`Waelfwulf`,`Winter`,`Wissian`,`Worthington`,`Acca`,`Aedre`,`Aefentid`,`Aefre`,`Aethelflaed`,`Aethelthryth`,`Alodia`,`Alodie`,`Andsware`,`Anlicnes`,`Annis`,`Ar`,`Ardith`,`Arianrod`,`Ashley`,`Audrey`,`Bearrocscir`,`Bernia`,`Bisgu`,`Bletsung`,`Bliss`,`Blythe`,`Bodicea`,`Brigantia`,`Brimlad`,`Bysen`,`Cartimandua`,`Cearo`,`Chelsea`,`Claennis`,`Clover`,`Cwen`,`Cryst`,`Daedbot`,`Daisy`,`Darel`,`Darelene`,`Darelle`,`Darline`,`Daryl`,`Dawn`,`Devona`,`Dohtor`,`Don`,`Eacnung`,`Eadgyth`,`Easter`,`Eda`,`Edith`,`Edlyn`,`Edmunda`,`Edrys`,`Eldrida`,`Elene`,`Elga`,`Ellenweorc`,`Ellette`,`Elswyth`,`Elva`,`Elvina`,`Engel`,`Eostre`,`Erlina`,`Esma`,`Estra`,`Etheswitha`,`Freya`,`Garmangabis`,`Hamia`,`Harimilla`,`Hilda`,`Ifield`,`Juliana`,`Kendra`,`Linette`,`Lora`,`Loretta`,`Lyn`,`Mae`,`Maida`,`Megan`,`Mercia`,`Moira`,`Nelda`,`Nerthus`,`Odelia`,`Ora`,`Orva`,`Osberga`,`Rheda`,`Rowena`,`Sibley`,`Silver`,`Sulis`,`Sunniva`,`Tate`,`Udele`,`Viradecthis`,`Wilda`,`Willa`]; var boringHuman = [`James`,`John`,`Robert`,`Michael`,`William`,`David`,`Richard`,`Joseph`,`Thomas`,`Charles`,`Christopher`,`Daniel`,`Matthew`,`Anthony`,`Donald`,`Mark`,`Paul`,`Steven`,`Andrew`,`Kenneth`,`George`,`Joshua`,`Kevin`,`Brian`,`Edward`,`Ronald`,`Timothy`,`Jason`,`Jeffrey`,`Ryan`,`Jacob`,`Gary`,`Nicholas`,`Eric`,`Stephen`,`Jonathan`,`Larry`,`Justin`,`Scott`,`Brandon`,`Frank`,`Benjamin`,`Gregory`,`Raymond`,`Samuel`,`Patrick`,`Alexander`,`Jack`,`Dennis`,`Jerry`,`Tyler`,`Aaron`,`Henry`,`Jose`,`Douglas`,`Peter`,`Adam`,`Nathan`,`Zachary`,`Walter`,`Kyle`,`Harold`,`Carl`,`Jeremy`,`Gerald`,`Keith`,`Roger`,`Arthur`,`Terry`,`Lawrence`,`Sean`,`Christian`,`Ethan`,`Austin`,`Joe`,`Albert`,`Jesse`,`Willie`,`Billy`,`Bryan`,`Bruce`,`Noah`,`Jordan`,`Dylan`,`Ralph`,`Roy`,`Alan`,`Wayne`,`Eugene`,`Juan`,`Gabriel`,`Louis`,`Russell`,`Randy`,`Vincent`,`Philip`,`Logan`,`Bobby`,`Harry`,`Johnny`,`Mary`,`Patricia`,`Jennifer`,`Linda`,`Elizabeth`,`Barbara`,`Susan`,`Jessica`,`Sarah`,`Margaret`,`Karen`,`Nancy`,`Lisa`,`Betty`,`Dorothy`,`Sandra`,`Ashley`,`Kimberly`,`Donna`,`Emily`,`Carol`,`Michelle`,`Amanda`,`Melissa`,`Deborah`,`Stephanie`,`Rebecca`,`Laura`,`Helen`,`Sharon`,`Cynthia`,`Kathleen`,`Amy`,`Shirley`,`Angela`,`Anna`,`Ruth`,`Brenda`,`Pamela`,`Nicole`,`Katherine`,`Samantha`,`Christine`,`Catherine`,`Virginia`,`Debra`,`Rachel`,`Janet`,`Emma`,`Carolyn`,`Maria`,`Heather`,`Diane`,`Julie`,`Joyce`,`Evelyn`,`Joan`,`Victoria`,`Kelly`,`Christina`,`Lauren`,`Frances`,`Martha`,`Judith`,`Cheryl`,`Megan`,`Andrea`,`Olivia`,`Ann`,`Jean`,`Alice`,`Jacqueline`,`Hannah`,`Doris`,`Kathryn`,`Gloria`,`Teresa`,`Sara`,`Janice`,`Marie`,`Julia`,`Grace`,`Judy`,`Theresa`,`Madison`,`Beverly`,`Denise`,`Marilyn`,`Amber`,`Danielle`,`Rose`,`Brittany`,`Diana`,`Abigail`,`Natalie`,`Jane`,`Lori`,`Alexis`,`Tiffany`,`Kayla`]; switch(search) { default: //Human name = humNames.sample(); break; case 'Elf': name = [`Kyrtaar`,`Theoden`,`Pleufan`,`Ornthalas`,`Jannalor`,`Ruvyn`,`Urddusk`,`Entrydal`,`Durothil`,`Kieran`,`Vamir`,`Navarre`,`Tehlmar`,`Ninthalor`,`Glorandal`,`Ualair`,`Nardual`,`Filarion`,`Galather`,`Sandevv`,`Illianaro`,`Ornthalas`,`Zelphar`,`Feno`,`Tlannatar`,`Abarat`,`Elephon`,`Hagred`,`Elidyr`,`Navarre`,`Drannor`,`Xalph`,`Lyari`,`Afamrail`,`Pyrder`,`Arlen`,`Almar`,`Felaern`,`Hastos`,`Rhalyf`,`Theodred`,`Khatar`,`Saevel`,`Sundamar`,`Taeral`,`Edwyrd`,`Ardreth`,`Alluin`,`Zaos`,`Vulas`,`Ilthuryn`,`Luvon`,`Eldrin`,`Camus`,`Maeraddyth`,`Zabbas`,`Almar`,`Nremyn`,`Tehlmar`,`Elyon`,`Tiarshus`,`Phaendar`,`Kolvar`,`Theodred`,`Ailmer`,`Giullio`,`Ayre`,`Ailmon`,`Tiarshus`,`Velethuil`,`Halafarin`,`Folen`,`Zaos`,`Phraan`,`Althidon`,`Taerntym`,`Navarre`,`Gaeleath`,`Wistari`,`Elandorr`,`Sontar`,`Paeral`,`Haldir`,`Reptar`,`Tolthe`,`Methild`,`Vuduin`,`Ylyndar`,`Sorfildor`,`Miirphys`,`Keryth`,`Luthais`,`Ailmon`,`Theodred`,`Vander`,`Cornaith`,`Rhistel`,`Hubyr`,`Hatharal`,`Llombaerth`,`Nanthleene`,`Rina`,`Wynnter`,`Symrustar`,`Kythaela`,`Cilivren`,`Cyithrel`,`Symrustar`,`Soliania`,`Shyael`,`Sharia`,`Kaylessa`,`Mladris`,`Lorelei`,`Ilyana`,`Ikeshia`,`Seldanna`,`Falenas`,`Farryn`,`Amra`,`Imizael`,`Aelynthi`,`Sharia`,`Maelyrra`,`Yaereene`,`Laerdya`,`Meira`,`Kasula`,`Malon`,`Auluua`,`Shyilia`,`Alasse`,`Calarel`,`Vashti`,`Ryllae`,`Chomylla`,`Shandalar`,`Ialantha`,`Eshenesra`,`Annallee`,`Merialeth`,`Yunalesca`,`Claire`,`Lura`,`Duilya`,`Falenas`,`Phuingara`,`Ilyrana`,`Talanashta`,`Lazziar`,`Saelihn`,`Kenia`,`Fieryat`,`Llamryl`,`Kasula`,`Talila`,`Falenas`,`Tiriara`,`Ilythyrra`,`Talanashta`,`Makaela`,`Filaurel`,`Yrlissa`,`Hycis`,`Jeardra`,`Halaema`,`Cellica`,`Ratha`,`Meira`,`Faunalyn`,`Amnestria`,`Chasianna`,`Uschymna`,`Esta`,`Aila`,`Tisharu`,`Fieryat`,`Aelynthi`,`Ahrendue`,`Mariona`,`Aerith`,`Thalia`,`Fhaertala`,`Amedee`,`Maelyrra`,`Ameria`,`Gwynnestri`,`Meira`,`Eirika`,`Naumys`,`Alerathla`,`Burolia`,`Riniya`,`Ysmyrlda`,`Merethyl`,`Tyrael`,`Filaurel`,`Mnuvae`,`Myrrh`,`Zentha`].sample(); break; case 'Dwarf': name = [`Gralram`,`Gimdrak`,`Vondahr`,`Thodal`,`Galrig`,`Gimdrak`,`Brumnus`,`Berrus`,`Thorim`,`Baladin`,`Bannus`,`Grankahm`,`Gramrim`,`Magthrum`,`Bhaldan`,`Gulmin`,`Bundar`,`Amdek`,`Meldrus`,`Brummur`,`Hjulthran`,`Berren`,`Grendek`,`Gremdohr`,`Bramgram`,`Hjalgrun`,`Hjultharn`,`Kharrik`,`Torrim`,`Bangrim`,`Regdur`,`Kharren`,`Hormir`,`Kromdal`,`Gralmun`,`Belmek`,`Muirkohm`,`Kharduhr`,`Amnom`,`Ermnum`,`Emdahr`,`Hulbrek`,`Bhardur`,`Rotdir`,`Muirbrek`,`Bhelthrum`,`Garnyl`,`Darmin`,`Bromrus`,`Berron`,`Granrus`,`Doldek`,`Theliggs`,`Thulron`,`Thuldren`,`Hurdram`,`Adnam`,`Bhalnur`,`Randram`,`Gralnir`,`Ermdek`,`Muirgarn`,`Dalram`,`Meldahr`,`Kromthrun`,`Balthrun`,`Malrim`,`Malkum`,`Barren`,`Berram`,`Hjolram`,`Tharadin`,`Thulgus`,`Thurrigg`,`Karrum`,`Hurthrun`,`Banrom`,`Grenmund`,`Malnik`,`Thermand`,`Dolgurn`,`Hjoldan`,`Therrus`,`Horrus`,`Dardahr`,`Hjuldren`,`Ragdus`,`Hurdain`,`Thyrak`,`Thykahm`,`Gremron`,`Thalthrum`,`Galkom`,`Baerryl`,`Hornus`,`Branmor`,`Krumgurn`,`Murgron`,`Bunthrun`,`Thurmond`,`Brildyl`,`Bonnwaen`,`Brylsael`,`Ardille`,`Brylmura`,`Mistmera`,`Gwynlyl`,`Jinniss`,`Brylletyn`,`Naernyss`,`Gymdora`,`Arnip`,`Tasmura`,`Nalris`,`Tysdielle`,`Kathlin`,`Tazva`,`Nisryn`,`Bonnwynn`,`Solbera`,`Gwynglian`,`Tyshdryn`,`Katmyla`,`Nisres`,`Bellela`,`Nesleil`,`Raengiel`,`Ingdora`,`Brylva`,`Runnas`,`Gemwynn`,`Brulnar`,`Dimdryn`,`Daernyss`,`Baernis`,`Lasthel`,`Redleil`,`Belnis`,`Dimnora`,`Belnip`,`Mysnura`,`Lyssmera`,`Karnyl`,`Tiznan`,`Brillin`,`Tyshnys`,`Jinsyl`,`Gwenrin`,`Lassvia`,`Bylris`,`Raenla`,`Ansora`,`Rednis`,`Jennla`,`Torsora`,`Jenlyl`,`Soldish`,`Brillerielle`,`Lesnys`,`Dimsora`,`Maevvian`,`Tysri`,`Tysryn`,`Tishdille`,`Lessvia`,`Nasswynn`,`Tishleen`,`Myrryl`,`Lasthel`,`Brytva`,`Brangwyn`,`Tyshsyl`,`Gwanvia`,`Andish`,`Lessgiel`,`Armyla`,`Lysrielle`,`Ranryn`,`Sarnip`,`Bryldish`,`Einmyla`,`Solbelle`,`Byllenyss`,`Ketras`,`Gwendyl`,`Gwengiel`,`Brennar`,`Anria`,`Kardora`,`Edlyl`,`Byllelyl`,`Dearnia`,`Tornura`,`Bellynn`,`Brytnia`,`Lasvian`,`Artin`,`Brilnura`,`Tislen`,`Braengiel`].sample(); name += " "+r(10)+r(10)+r(10); break; case 'Halfling': name = sel([`Rizor`,`Osdak`,`Beldon`,`Oriras`,`Zenhorn`,`Riser`,`Panemin`,`Idogin`,`Wilmo`,`Halemin`,`Belzor`,`Layas`,`Jodal`,`Norrich`,`Joyver`,`Danster`,`Nesire`,`Lakin`,`Corzor`,`Haltran`,`Taryver`,`Davzin`,`Corner`,`Yarric`,`Neras`,`Falton`,`Nororin`,`Kaszin`,`Yaramin`,`Linnan`,`Taremin`,`Nedal`,`Panvias`,`Linric`,`Barpher`,`Goric`,`Kasry`,`Norwrick`,`Wenzin`,`Nordak`,`Davyas`,`Ulkas`,`Iraumo`,`Pergin`,`Bartran`,`Wenner`,`Ulhace`,`Koryas`,`Korret`,`Wilsire`,`Panace`,`Sharyver`,`Merner`,`Janry`,`Xankas`,`Sharrin`,`Flyneon`,`Ulamin`,`Osorin`,`Tedon`,`Linver`,`Belace`,`Wennad`,`Wilfer`,`Wilyas`,`Uriumo`,`Joster`,`Oskas`,`Goret`,`Valras`,`Conner`,`Perpos`,`Falgin`,`Korry`,`Xanry`,`Ulzin`,`Zenyver`,`Arzin`,`Osamin`,`Tery`,`Quinkin`,`Pimrin`,`Zalvon`,`Anver`,`Dangin`,`Korwan`,`Finorin`,`Janlan`,`Pimtran`,`Oridak`,`Lahorn`,`Aryver`,`Vinpher`,`Barbul`,`Panyver`,`Tenan`,`Ricorin`,`Yaryas`,`Vinder`,`Sharace`,`Quyola`,`Chenmita`,`Shaevyre`,`Brene`,`Yophina`,`Belna`,`Fenara`,`Wila`,`Unamia`,`Widrey`,`Xilie`,`Malne`,`Zenrana`,`Unavira`,`Lidni`,`Sylnys`,`Fromia`,`Qula`,`Malleigh`,`Rizira`,`Therprys`,`Zenrana`,`Unani`,`Belcaryn`,`Thamrana`,`Malkath`,`Paeara`,`Eowyn`,`Lekis`,`Nefice`,`Sylola`,`Darwyn`,`Idavira`,`Zefris`,`Nedora`,`Haree`,`Sylna`,`Idagrace`,`Diavyre`,`Thameni`,`Frogwen`,`Jayfice`,`Jilmia`,`Versys`,`Isavyre`,`Frograce`,`Arisira`,`Hadrey`,`Xanvyre`,`Ariola`,`Belne`,`Paevyre`,`Eralie`,`Pruhaly`,`Trynsira`,`Fenri`,`Jiltrix`,`Jilleigh`,`Isazira`,`Daryola`,`Zenelle`,`Calleigh`,`Uviprys`,`Diaula`,`Kelzira`,`Fenris`,`Marnys`,`Hilsica`,`Rimia`,`Caltrix`,`Weltrix`,`Eralyse`,`Paeda`,`Qilienne`,`Quree`,`Belrana`,`Fenula`,`Gelhaly`,`Hawyse`,`Arieni`,`Welbyn`,`Eone`,`Isaleigh`,`Jayfira`,`Wirana`,`Idavyre`,`Arimita`,`Jilleigh`,`Nedalyn`,`Verree`,`Elila`,`Yocaryn`,`Sylne`,`Uvisica`,`Eoyra`,`Zefla`,`Lidjen`,`Chentina`,`Xanula`,`Isabyn`]); break; case 'Gnome': case 'Myconid': name = sel([`Panavyn`,`Valser`,`Albar`,`Alpip`,`Zilgim`,`Quoybar`,`Orubar`,`Grayur`,`Brihim`,`Xalser`,`Jormorn`,`Gajin`,`Dorwor`,`Cormop`,`Vorrick`,`Nesnan`,`Umhim`,`Wrejin`,`Sinji`,`Yegim`,`Ronzu`,`Xorug`,`Ianxim`,`Loziver`,`Uripip`,`Umpip`,`Lorug`,`Zanlen`,`Tanxim`,`Gapip`,`Tandri`,`Warlen`,`Fargim`,`Rongrim`,`Dorhik`,`Xoner`,`Umxif`,`Felmin`,`Brinan`,`Erpip`,`Felston`,`Sapip`,`Manbis`,`Enicryn`,`Lofan`,`Zilcorin`,`Orukas`,`Valcryn`,`Quofiz`,`Callin`,`Xobar`,`Nipip`,`Lanlen`,`Jorgim`,`Corhim`,`Erkas`,`Orcorin`,`Ronros`,`Manston`,`Loxim`,`Urimop`,`Urihik`,`Qualen`,`Ganan`,`Ianbar`,`Xallen`,`Merjin`,`Panajin`,`Erziver`,`Trahim`,`Xoni`,`Davxim`,`Uribar`,`Xalpip`,`Wargrim`,`Warybar`,`Yerug`,`Wargim`,`Warpos`,`Rasbar`,`Xalxim`,`Erziver`,`Wregrim`,`Gahim`,`Wildon`,`Zilmin`,`Torick`,`Nihik`,`Fellen`,`Tanbis`,`Oruji`,`Sinfan`,`Manjin`,`Yosros`,`Lovyn`,`Ipaziver`,`Nesfan`,`Kelni`,`Enidon`,`Warben`,`Isona`,`Rosikasys`,`Priniana`,`Nitra`,`Tifapine`,`Elnove`,`Folxis`,`Voci`,`Nylys`,`Zanifyx`,`Galbys`,`Celmila`,`Banmila`,`Quela`,`Selroe`,`Alumyn`,`Minwyse`,`Inaxis`,`Urikini`,`Zinqaryn`,`Urihana`,`Joroe`,`Dopine`,`Tifazyre`,`Nytina`,`Nydira`,`Rosiyore`,`Welniana`,`Tahani`,`Carkini`,`Taxis`,`Aluhana`,`Eilipine`,`Wrona`,`Nyyore`,`Myxis`,`Voyore`,`Selnove`,`Xyrogani`,`Faedysa`,`Jelnoa`,`Orna`,`Klona`,`Queceli`,`Venli`,`Uriqaryn`,`Yloli`,`Selphina`,`Sellys`,`Aluxi`,`Wrokasys`,`Zaniceli`,`Isonove`,`Hesqaryn`,`Triqaryn`,`Quekini`,`Niceli`,`Ventina`,`Jozyre`,`Phikini`,`Ventra`,`Lorinoa`,`Zinmyn`,`Lillin`,`Helli`,`Fenrhana`,`Loriroe`,`Isotina`,`Grenmyra`,`Welfyx`,`Spidira`,`Lilsys`,`Vennoa`,`Isolin`,`Tifalin`,`Xyroyore`,`Welpine`,`Eilihani`,`Eilibys`,`Mypine`,`Cella`,`Odanove`,`Elbys`,`Loriqaryn`,`Folsany`,`Alutra`,`Venxis`,`Kloqaryn`,`Tazyre`,`Xyrohana`,`Lorilin`,`Aluroe`,`Phipine`,`Philys`,`Faeqys`,`Kriwyse`,`Joqaryn`,`Mynoa`,`Triroe`,`Tifayaris`]); break; case 'Goblin': case `Two goblins in a big coat`: case `Ragwretch`: var gN = [`Dukx`,`Wrozz`,`Zraax`,`Strict`,`Dyng`,`Oirkiolb`,`Krurgear`,`Pludnyct`,`Bliotong`,`Chibkukx`,`Ziez`,`Wreex`,`Blikt`,`Hierx`,`Eal`,`Urlyzz`,`Evzek`,`Zaroix`,`Teadfalb`,`Glubliez`,`Mag`,`Hash`,`Floiss`,`Als`,`Bruzai`,`Peelizz`,`Slylbylm`,`Casufte`,`Egges`,`Tomuldee`,`Dal`,`Gliakx`,`Irx`,`Sruigs`,`Glyg`,`Celkeas`,`Ibaax`,`Fibkurd`,`Vrimek`,`Otvuiz`,`Sluizz`,`Wihia`,`Wriefzea`,`Flanxa`,`Alk`,`Teahzex`,`Uibieszi`,`Steprehx`,`Gurdiegsa`,`Gnilol`,`Glaat`,`Blits`,`Bliagz`,`Blyrm`,`Chags`,`Zruycs`,`Uidvylb`,`Ogzolb`,`Berbald`,`Kreareng`,`Shezz`,`Gofz`,`Miesxe`,`Clyhx`,`Stulk`,`Joiplussee`,`Clasbert`,`Prearkeeg`,`Vivrenq`,`Throtras`,`Frug`,`Zuikx`,`Dreard`,`Vuink`,`Eak`,`Olboikt`,`Eblac`,`Chearmacs`,`Wrabdork`,`Vreabonk`,`Dreer`,`Aard`,`Ot`,`Prycs`,`Kaq`,`Srosreer`,`Uviel`,`Vrealdogs`,`Slighaas`,`Iomzuct`,`Ig`,`Gnoict`,`Hiaq`,`Blurk`,`Jeags`,`Jemvict`,`Klirdisz`,`Basbat`,`Wrokkeq`,`Zukots`]; var gP = [`Muffin`,`Puppy`,`Cuddle`,`Midden`,`Mulch`,`Wart`,`Bloat`,`Pie`,`Spit`,`Jug`,`Comb`,`Hobble`,`Shiv`,`Bitter`,`Brown`,`Goat`,`Moon`,`Ruck`,`Pile`,`Crud`,`Oil`,`Fist`,`Groom`,`Scape`,`Jam`,`Bodkin`,`Lick`,`Red`,`Liver`,`Bottom`,`Husk`,`Wife`,`Moss`,`Quag`,`Powder`,`Giggle`,`Brother`,`Tooth`,`Cowl`,`Pip`,`Squeak`,`Snot`,`Little`,`Boot`,`Toad`,`Sister`,`Noggin`,`Beetle`,`Tongue`,`Speck`,`Wiggle`,`Papa`,`Pulp`,`Slurp`,`Uncle`,`Hog`,`Juice`,`Kiss`,`Eel`,`Hunch`,`Wee`,`Nub`,`Cap`,`Jowl`,`Friend`,`Egg`,`Tail`,`Wax`,`Curd`,`Skin`,`Berry`,`Pig`,`Whisker`,`Knuckle`,`Pluck`,`Gut`,`Puss`,`Hag`,`Clutch`,`Mama`,`Bump`,`Cow`,`Blossom`,`Crow`,`Bucket`,`Snail`,`Suck`,`Chunk`,`Worm`,`Nail`,`Munch`,`Milk`,`Dirt`,`Auntie`,`Nurse`,`Touch`,`Crinkle`,`Grunt`,`Grin`,`Chub`]; var mid = [`er`,`y`,``, ``]; if(r(2)) name = sel(gN); else name = sel(gP)+mid[r(4)]+"-"+sel(gP).toLowerCase()+mid[r(4)]; if(search==`Two goblins in a big coat`) name += " and "+sel(gN); break; case 'Lizardman': case `Frog-of-War`: name = sel([`Sorngos`,`Chasztrin`,`Welvree`,`Nadrysn`,`Quarak`,`Bemgred`,`Omaraun`,`Banyl`,`Ornaryn`,`Caelkoth`,`Bergnar`,`Chaszdorl`,`Belgloth`,`Adinzaer`,`Kobal`,`Syrvan`,`Morenrin`,`Szordrar`,`Ryld`,`Filraen`,`Tsabdaer`,`Orgolltran`,`Diprak`,`Urlrak`,`Ilmgar`,`Lesaonor`,`Orgodal`,`Elamston`,`Valas`,`Tolokoph`,`Zsztrin`,`Kelzyr`,`Lltolvir`,`Nild`,`Ilmdinyon`,`Szorfein`,`Malagverin`,`Nariszen`,`Bruherd`,`Bruherd`,`Sszdor`,`Sszaonar`,`Belinid`,`Rhylhriir`,`Imherd`,`Coranvayas`,`Kovir`,`Rananin`,`Filraen`,`Nalfein`,`Imdyn`,`Dipnet`,`Bergnar`,`Quevraen`,`Duagdrym`,`Selarak`,`Immeth`,`Tarston`,`Honemmeth`,`Iymril`,`Malagal`,`Zszantar`,`Mastar`,`Ilztaufein`,`Tsabbros`,`Charaen`,`Vhurghar`,`Nalyss`,`Pharaun`,`Yazston`,`Elaugdax`,`Tazirahc`,`Geldaer`,`Vornaun`,`Hadnim`,`Dresrogh`,`Krondaer`,`Bemnaste`,`Bruherd`,`Ilphrin`,`Wruzinid`,`Vesztran`,`Tarrysn`,`Vorntar`,`Narlloth`,`Lirdmorlin`,`Urlnar`,`Charaen`,`Hatch'net`,`Trelgath`,`Omarhrys`,`Leszar`,`Nilinyon`,`Barhrae`,`Krenin`,`Solaumar`,`Jivkos`,`Naril`,`Kethan`,`Dresmorlin`,`Yasafae`,`Micarqualyn`,`Haelzyne`,`Elvra`,`Llemyra`,`Zesrene`,`Miz'va`,`Lathra`,`Charlindra`,`Malice`,`Nathithra`,`Akorarra`,`Wuyonwyss`,`Jhaelarra`,`Narcerynda`,`Elvnirra`,`Raunirra`,`Myrymda`,`Narcelia`,`Jhanniss`,`Sabisstra`,`Quavqualyn`,`Susplin`,`Wuyona`,`Chesnistra`,`Umlure`,`Elvantha`,`Urmelaena`,`Qilue`,`Ereldra`,`Nhila`,`Ardulaste`,`Zilvune`,`Shi'nyrr`,`Sasnia`,`Briran`,`Chenrena`,`Solenka`,`Phyrra`,`Thalra`,`Chalintra`,`Minylene`,`Zebeyynda`,`Ethelochar`,`Beszrima`,`Oloya`,`Chalidriia`,`Kialass`,`Filfaere`,`Greyanna`,`Gaussffyn`,`Greyolin`,`Drislay`,`Illiamnitra`,`Dhaulice`,`Erellena`,`Briganmyra`,`Tallsinil`,`Z'ress`,`Miz'ri`,`Iraefryn`,`Nullyrr`,`Inue`,`Nhilarra`,`Nidryl`,`Jezraema`,`Sabnel`,`Llolgara`,`Umrae`,`Phaere`,`Iraexae`,`Gausstyrr`,`Illiamstra`,`Balnitra`,`Saslanna`,`Erelmyra`,`Quardryl`,`Rauryn`,`Shurdriira`,`Wuyondra`,`Janonia`,`Nhilbaste`,`Umraeryne`,`Pellannilee`,`Xupassa`,`Jaellyth`,`Elvanlica`,`Chensinil`,`Narcelia`,`Talabrina`,`Gaussryne`,`Qualntana`,`Mayice`,`Vicayne`,`Angazara`,`Phaefaen`,`Nadra`,`Dilynnida`,`Jhangara`,`Chandara`]); break; case 'Orc': case `Warper`: name = sel([`Zavogar`,`Karorsh`,`Hunoglar`,`Ukabash`,`Urtrorim`,`Kulumar`,`Kularuk`,`Ulluruk`,`Kamutur`,`Zavedur`,`Mugumar`,`Ganurall`,`Keluburk`,`Mararak`,`Aggagur`,`Hanidash`,`Mahlarash`,`Goragur`,`Tharusk`,`Dorunars`,`Arnamir`,`Duradur`,`Kugark`,`Belurimm`,`Arnusk`,`Grumurall`,`Rekurim`,`Hen`,`Sazar`,`Barod`,`Zaozar`,`Ullarth`,`Brutur`,`Datur`,`Orurth`,`Brugak`,`Son`,`Sibar`,`Asomar`,`Zoraburk`,`Brakizar`,`Tugul`,`Dorum`,`Hagarall`,`Nodark`,`Mogodar`,`Oragark`,`Barudar`,`Nuzur`,`Agurimm`,`Grimatir`,`Murautur`,`Ronaezall`,`Baroz`,`Kalomar`,`Zugark`,`Dorigur`,`Daglar`,`Belagak`,`Malizar`,`Bezall`,`Gromobar`,`Zavanur`,`Hurizar`,`Kulubark`,`Kalozar`,`Gramutir`,`Lumaburk`,`Kamodak`,`Magutar`,`Kraotur`,`Dorizar`,`Ullamarsh`,`Maletar`,`Magirimm`,`Rekubash`,`Arnotir`,`Gramazur`,`Karozar`,`Gamak`,`Harodark`,`Kuremash`,`Digash`,`Gulirk`,`Kalogash`,`Ogguumir`,`Bogash`,`Doradak`,`Mokugash`,`Zusurth`,`Atadash`,`Karudurk`,`Ogguodur`,`Thogur`,`Ronadim`,`Hagug`,`Moromash`,`Maragash`,`Garurimm`,`Modurk`,`Kerug`,`Lagozur`,`Samotir`,`Razira`,`Senogri`,`Sinasha`,`Bratar`,`Samarel`,`Zonigh`,`Uriwar`,`Katagh`,`Shayoda`,`Zanoki`,`Falugum`,`Merig`,`Hurirel`,`Zenezura`,`Gororook`,`Shayogume`,`Huruti`,`Alurel`,`Ketezura`,`Miramur`,`Rashagum`,`Gynunir`,`Rasanir`,`Sanad`,`Umoda`,`Zenomar`,`Olatah`,`Gyniki`,`Mamar`,`Karook`,`Uboni`,`Gryizura`,`Zoninar`,`Seti`,`Rasoti`,`Regur`,`Rasarook`,`Rawozira`,`Aroz`,`Sharel`,`Gog`,`Tuine`,`Merarel`,`Tumanir`,`Garugar`,`Ketitar`,`Motir`,`Samadar`,`Gajomi`,`Moraral`,`Gararook`,`Elogar`,`Rashanchu`,`Merigh`,`Moranur`,`Goromur`,`Zenizura`,`Senagar`,`Ubimi`,`Gryuni`,`Arame`,`Nigur`,`Rohkawar`,`Olad`,`Samigum`,`Zonag`,`Uriri`,`Semozura`,`Gijime`,`Saminir`,`Zonanar`,`Mone`,`Merutar`,`Miriner`,`Kotitah`,`Gorazur`,`Rasaz`,`Gryiki`,`Rahime`,`Rawoki`,`Ketodur`,`Zanod`,`Urutar`,`Puyutar`,`Rahine`,`Rawemi`,`Merati`,`Puyogume`,`Shayimira`,`Gijatah`,`Aligri`,`Gomur`,`Sanuzur`,`Samidur`,`Taminar`,`Temesh`,`Gynegri`]); if(search=='Orc' && !formatTraits.knighted && !formatTraits.sillyName){ name += " ("+sel(humNames); var o = r(2)+2; for (var i = 0; i < o; i++) { name += "-"+sel(humNames); } name += ")" } var nickname = [``,``,``,``,`Gro-`,`Gra-`][r(6)]+[`R`,`T`,`Tr`,`P`,`Pr`,`S`,`Sr`,`D`,`Dr`,`F`,`Fr`,`G`,`Gr`,`H`,`Hr`,`J`,`Jr`,`L`,`Lr`,`Z`,`Zr`,`B`,`Br`,`N`,`Nr`,`M`,`Mr`][r(27)]+[`unch`,`onch`][r(2)]; console.log("Known to his people as "+nickname); break; case 'Dragonborn': case `Faerie`: case `Homunculus`: name = [`Hewarum`,`Frorinn`,`Zorzire`,`Durwarum`,`Sagrax`,`Morrinn`,`Qeljhan`,`Vrakwunax`,`Baldaar`,`Grevarax`,`Gorazire`,`Medwarum`,`Trouvarax`,`Ghefras`,`Yorzavur`,`Frorash`,`Krivskan`,`Gheprax`,`Lumiqull`,`Narskan`,`Xarfras`,`Dolasar`,`Calubroth`,`Pabor`,`Morbarum`,`Caersashi`,`Goragar`,`Uronaar`,`Otimash`,`Saythas`,`Iorseth`,`Eradaar`,`Zrahazar`,`Morhadur`,`Wraziros`,`Goraythas`,`Wragar`,`Badorim`,`Maryax`,`Ravojurn`,`Tazlin`,`Jinwarum`,`Hivroth`,`Zrarinn`,`Wraqiroth`,`Vyuseth`,`Iorgrax`,`Xarzavur`,`Navroth`,`Durlin`,`Iorvarax`,`Orlazire`,`Aliziros`,`Faerprax`,`Durseth`,`Draciar`,`Pagrax`,`Ravokax`,`Medlasar`,`Udonaar`,`Lormorn`,`Vyutrin`,`Faervull`,`Bhazire`,`Zrazavur`,`Rhociar`,`Tokax`,`Lorxan`,`Udotrin`,`Nesroth`,`Erajhan`,`Iorseth`,`Bajhan`,`Goraqull`,`Wulmorn`,`Marfarn`,`Lumidhall`,`Narghull`,`Orlatrin`,`Jinzire`,`Vorkris`,`Brenbarum`,`Iorcrath`,`Wuhadur`,`Orlavarax`,`Kilkax`,`Iorziros`,`Froseth`,`Sagar`,`Baskan`,`Yorqiroth`,`Zorjhan`,`Jinbarum`,`Faernaar`,`Vorvarax`,`Qeldaar`,`Otimash`,`Caluythas`,`Tokris`,`Nazavur`,`Acoria`,`Kathibra`,`Hinthyra`,`Dagil`,`Jorann`,`Welsicys`,`Jorann`,`Yrgwen`,`Belvyre`,`Ophizita`,`Faegissa`,`Fenhime`,`Rashivyre`,`Kameila`,`Vyragil`,`Qigwen`,`Eshshann`,`Sowyn`,`Irlywyn`,`Midrish`,`Carish`,`Beldrish`,`Xisrith`,`Phisaadi`,`Thalarys`,`Korinn`,`Valyries`,`Irlymyse`,`Ofyire`,`Thasaadi`,`Thagil`,`Faehymm`,`Eshyassa`,`Thazita`,`Phikira`,`Xiswophyl`,`Vyrabirith`,`Pernys`,`Raimyse`,`Agissa`,`Maldrith`,`Malqorel`,`Dazys`,`Sudalynn`,`Belcoria`,`Axora`,`Crisrina`,`Malthibra`,`Belmyse`,`Percoria`,`Loradrish`,`Rashirish`,`Fennorae`,`Arixiris`,`Lilowyn`,`Grihime`,`Qiyassa`,`Ushivayla`,`Eshrish`,`Oridrish`,`Kelbirith`,`Qimeila`,`Erlimeila`,`Quilqwen`,`Nakira`,`Therliann`,`Belpora`,`Eshyries`,`Wragissa`,`Belqorel`,`Rashidrish`,`Narina`,`Zenfaeth`,`Zenbirith`,`Jesmyse`,`Bithibra`,`Suxora`,`Eshshann`,`Irlycoria`,`Kelhime`,`Yrmyse`,`Malrann`,`Ofyire`,`Onys`,`Thathyra`,`Yrbith`,`Faefaeth`,`Ushinys`,`Zofnys`,`Irierish`,`Irlyrina`,`Zoffaeth`,`Socoria`,`Cayries`,`Zenriel`,`Kelxiris`,`Eshwyn`,`Uriwophyl`,`Oriwyn`,`Eshgissa`].sample(); break; case 'Aasimar': name = boringHuman.sample()+" A.K.A. "+String(Math.max(r(99),r(99)))+" "+["White","Black","Red","Blue","Green","Aquamarine","Golden","Indigo","Radiant","Dark","Bright","Juggernaut","Liminal","Furious","Vigilant","Wilful","Turbulent","Shining","Sorrowful","Ardent","Adamant","Painful","Docile","Frozen","Burning","Cold","Hot","Verdant","Silent","Hopeful","Endless","Infinite","Gilded","Paper","Bloody","Recursive","Empty","Holy","Final"].sample()+" "+ ["Chain","Blossom","Star","Gaze","Blade","Disc","Stream","River","Ocean","Mountain","Tower","Temple","Shield","Spear","Flame","Cloud","Storm","Wave","Tide","Tree","Gale","Dome","Tome","Orb","Scar","Breath","Song","Voice","Word","Thorn","Stone","Concordance","Spirit","Field","Hammer","Chisel","Ingot","Smoke","Crown","Wing","Chariot","Bridge","Flower","Continent","Comet","Moon","Meteor","Anvil","Forge","Mask","Student","Feather","Scale","Hand","Eye","Sigil"].sample()+" "+ ["Subdues","Scours","Punctures","Purges","Accuses","Protects","Combats","Apprehends","Breaks","Shatters","Heals","Repairs","Engulfs","Questions","Crushes","Perceives","Analyzes","Enlightens","Seals","Defeats","Vanquishes","Knows","Finds","Obliterates","Preserves"].sample()+" "+ ["Evil","the Universe","the Unrepentant","the Horizon","the Void","Darkness","the Truthful","the Untruthful","the Fortunate","the Unfortunate","the Sinful","God","the Gods","the Repentant","the Wise","the Unwise","the Holy","the Unholy","the World","Civilization","the Proud","the Greedy","the Lustful","the Wrathful","the Gluttonous","the Envious","the Slothful","the Meek","the Poor","the Hungry","the Dead","the Living","the Sun","Space-Time","the Wicked","Truth","Reality","Lies","the Virtuous","all Heretics and Cowards"].sample(); formatTraits.knighted = formatTraits.sillyName = false; break; case `Kobold`: case `Warper`: case `Aberrant`: name = sel([`Raszaka`,`Lezarah`,`Nagrena`,`Lezera`,`Umeka`,`Eszarah`,`Umelzal`,`Ihrarin`,`Nalmeah`,`Ilnal`,`Grelel`,`Helneah`,`Halmera`,`Adenah`,`Kreza`,`Ummina`,`Harnelya`,`Halmila`,`Grelihn`,`Arwira`,`Ezhiza`,`Helnelya`,`Helnera`,`Almera`,`Halmila`,`Kanenah`,`Nagrira`,`Adelzal`,`Eszaya`,`Eszera`,`Harnel`,`Khazena`,`Ellarah`,`Marmal`,`Shundmina`,`Lezelzal`,`Ilnelzal`,`Kanya`,`Kharmerah`,`Magdira`,`Hanila`,`Erzharin`,`Ilneka`,`Adah`,`Grelena`,`Kanmina`,`Arweka`,`Hanila`,`Adena`,`Ezhaya`,`Ellarin`,`Marmaka`,`Krezal`,`Lezelna`,`Ezhyara`,`Ezhah`,`Esziza`,`Dahina`,`Shundera`,`Kharmel`,`Helneka`,`Shama`,`Nahaya`,`Almerah`,`Ihrel`,`Magdiza`,`Uwela`,`Ihreya`,`Nalmin`,`Dolmihn`,`Kharmeya`,`Halmihn`,`Greleya`,`Almarin`,`Almila`,`Dranelya`,`Uwya`,`Magda`,`Ihrela`,`Dranel`,`Umilzin`,`Ezhal`,`Erzhilzin`,`Dahal`,`Ezhiza`,`Kreza`,`Erzhmina`,`Nalmerah`,`Helnihn`,`Hanah`,`Kanyara`,`Naheya`,`Ezheya`,`Lezenah`,`Ilnmina`,`Ihraka`,`Raszarah`,`Umah`,`Helneka`,`Ezhira`]) break; case `Slug`: case `Fishman`: case `Avian`: name = sel([`Khristos`,`Obiareus`,`Pentheus`,`Cleobis`,`Dekel`,`Calisto`,`Flip`,`Eugenio`,`Khrystiyanr`,`Butades`,`Stamitos`,`Cosmas`,`Agatone`,`Aegisthus`,`Basil`,`Bemus`,`Theodric`,`Pierro`,`Demitrius`,`Kyrillosr`,`Cesare`,`Altair`,`Midas`,`Actaeon`,`Kratos`,`Aristaeus`,`Telemachus`,`Nilos`,`Eteocles`,`Telegonus`,`Kadmus`,`Menelaus`,`Laocoon`,`Miles`,`Thanos`,`Achlys`,`Christos`,`Jasen`,`Isocrates`,`Filippo`,`Celeus`,`Notus`,`Giles`,`Basilio`,`Philippe`,`Christos`,`Scopas`,`Erymanthus`,`Deke`,`Pirro`,`Simon`,`Arsen`,`Xerxes`,`Nemo`,`Dorion`,`Sabastian`,`Autolycus`,`Xenophon`,`Atreus`,`Cerbeius`,`Obiareus`,`Thanos`,`Phemius`,`Hesperos`,`Hercules`,`Jaysen`,`Odysseus`,`Jason`,`Alcinoos`,`Cottus`,`Niles`,`Krischnan`,`George`,`Damaskinos`,`Erechtheus`,`Jaison`,`Nicholas`,`Giles`,`Dameon`,`Halirrhothius`,`Eachann`,`Phillip`,`Parthenios`,`Andreus`,`Nauplius`,`Stephano`,`Darrien`,`Orion`,`Niklaus`,`Nikolai`,`Minos`,`Giles`,`CerbeIus`,`Cetus`,`Fedor`,`Goran`,`Andreus`,`Oceanus`,`Titos`,`Tellus`]) break; case `Tiefling`: case `Dryad`: name = sel([`Murmarden`,`Daldonnir`,`Dammennar`,`Tumtorrin`,`Tornorren`,`Karrenras`,`Turrusnor`,`Marradbun`,`Garrindun`,`Karratmas`,`Tellinna`,`Kersatish`,`Allininah`,`Shallannas`,`Nissenna`,`Tarrerlis`,`Lessarrel`,`Kennimai`,`Zazonteh`,`Tellartish`,`Masdarras`,`Dalnorren`,`Dalsarris`,`Rasdommar`,`Limdonnir`,`Karratbar`,`Lommirmur`,`Korrintor`,`Darrastor`,`Karrenpan`,`Lermorren`,`Darneris`,`Tarrartish`,`Dissarrel`,`Erilonteh`,`Zellarrel`,`Shennimai`,`Fertasha`,`Linnimmesh`,`Bunnennash`,`Dammurrin`,`Damnorten`,`Namlarrin`,`Margarron`,`Sanrammas`,`Harrentur`,`Korrindur`,`Garrindin`,`Larraskin`,`Vennerras`,`Linneris`,`Mistarrel`,`Fertinah`,`Shaninash`,`Wennarresh`,`Darnennash`,`Triseris`,`Zellishai`,`Lessarresh`,`Gennoren`,`Rodmirron`,`Banrammas`,`Radlarrin`,`Murfidden`,`Radlarrin`,`Barrunnim`,`Fiddenkin`,`Harrunnas`,`Burrinzim`,`Fiddendur`,`Nissitas`,`Erilarris`,`Mirtimbel`,`Wenninda`,`Ashinatish`,`Ennishai`,`Tellorda`,`Nissembin`,`Zelloris`,`Fertissa`,`Sinsannim`,`Tumdommar`,`Dungarron`,`Rasnorten`,`Landonnir`,`Larrasnim`,`Lorrinfum`,`Purrentur`,`Farranmur`,`Larrasdin`,`Tarrinash`,`Shennorren`,`Dannasha`,`Shennenna`,`Fissartish`,`Dissinda`,`Lerminah`,`Lorronteh`,`Kersarrel`,`Tinelbis`]) break; case `Goliath`: case `Half-Giant`: name = sel([`Strelanos`,`Phibaumas`,`Iynor`,`Flylous`,`Zafous`,`Araroth`,`Aecrin`,`Ologone`,`Susupas`,`Urujigran`,`Panyrus`,`Olyxus`,`Slydeas`,`Tririus`,`Greconos`,`Pruganes`,`Brudous`,`Zuvias`,`Eibaumas`,`Buhurn`,`Phykall`,`Oivil`,`Blyxodral`,`Pevefurn`,`Vadoeis`,`Jagran`,`Biban`,`Migran`,`Lynylans`,`Uujanirn`,`Eykaeon`,`Phyfarus`,`Mapiton`,`Razias`,`Ploratos`,`Hafibos`,`Jyvibos`,`Oreragos`,`Motaenon`,`Strostag`,`Jythorn`,`Fluvral`,`Cluhykall`,`Strehothorn`,`Aravates`,`Dregone`,`Fidor`,`Rufurn`,`Crimydor`,`Ulemoglan`,`Vyvias`,`Eypibos`,`Plalis`,`Neros`,`Toraios`,`Auvral`,`Clekrol`,`Sador`,`Uacecron`,`Plidumoth`,`Dredaenon`,`Dlykaestus`,`Drixolus`,`Olisyrus`,`Vrudytion`,`Venall`,`Orestral`,`Kremorn`,`Cladodall`,`Vydythorn`,`Drafeidon`,`Crewantos`,`Fuzos`,`Vuko`,`Jidibos`,`Ridor`,`Hosal`,`Uicrin`,`Ulutimorn`,`Urikazorn`,`Oroxon`,`Ziverion`,`Moxerion`,`Aleranos`,`Brizaenon`,`Sinirn`,`Olenirn`,`Paturn`,`Gyresor`,`Trezetral`,`Dlidias`,`Strelios`,`Tawarus`,`Prabetus`,`Ilirus`,`Brulans`,`Jostag`,`Nosor`,`Eevirorn`,`Plopathorn`]) break; case `Antling`: name = sel([`Mary`,`Patricia`,`Linda`,`Barbara`,`Elizabeth`,`Jennifer`,`Maria`,`Susan`,`Margaret`,`Dorothy`,`Lisa`,`Nancy`,`Karen`,`Betty`,`Helen`,`Sandra`,`Donna`,`Carol`,`Ruth`,`Sharon`,`Michelle`,`Laura`,`Sarah`,`Kimberly`,`Deborah`,`Jessica`,`Shirley`,`Cynthia`,`Angela`,`Melissa`,`Brenda`,`Amy`,`Anna`,`Rebecca`,`Virginia`,`Kathleen`,`Pamela`,`Martha`,`Debra`,`Amanda`,`Stephanie`,`Carolyn`,`Christine`,`Marie`,`Janet`,`Catherine`,`Frances`,`Ann`,`Joyce`,`Diane`,`Alice`,`Julie`,`Heather`,`Teresa`,`Doris`,`Gloria`,`Evelyn`,`Jean`,`Cheryl`,`Mildred`,`Katherine`,`Joan`,`Ashley`,`Judith`,`Rose`,`Janice`,`Kelly`,`Nicole`,`Judy`,`Christina`,`Kathy`,`Theresa`,`Beverly`,`Denise`,`Tammy`,`Irene`,`Jane`,`Lori`,`Rachel`,`Marilyn`,`Andrea`,`Kathryn`,`Louise`,`Sara`,`Anne`,`Jacqueline`,`Wanda`,`Bonnie`,`Julia`,`Ruby`,`Lois`,`Tina`,`Phyllis`,`Norma`,`Paula`,`Diana`,`Annie`,`Lillian`,`Emily`,`Robin`]); break; case `Mouse`: name = boringHuman.sample()+" "+sel(['Altermus','Anselmus','Beaumus','Bellmouse','Bijou','Bit','Brewmus','Cadmus','Caemus','Candlemus','Cellarmouse','Charmus','Cobmouse','Cogmus','Coopmus','Cottonmouse','Dormus','Dotmus','Haemus','Helmus','Leamus','Lettermouse','Limus','Lockmus','Peatmus','Pintmouse','Portmus','Pressmus','Roofmus','Rootmus','Saltmus','Sellmus','Shaemus','Slight','Smalls','Solmus','Thalmus','Tindermus','Triffle','Twee']); break; case `Olm`: case `Spiderling`: name = sel([`Jarrapak`,`Bjorfuran`,`Koorron`,`Manturok`,`Krumron`,`Karnark`,`Rakdor`,`Doentagar`,`Kootaruk`,`Garrapak`,`Rakkus`,`Trakron`,`Codrus`,`Arekarat`,`Grabur`,`Kootagar`,`Doentaruk`,`Minraduk`,`Grantagar`,`Djarnarun`,`Kirrapak`,`Dorrus`,`Manmanuk`,`Toonkar`,`Foosfuran`,`Durkurat`,`Dagur`,`Kirras`,`Koortagar`,`Arenark`,`Djartaruk`,`Astedor`,`Aremaruk`,`Kurkurat`,`Zamtaruk`,`Tekus`,`Turrat`,`Djungarak`,`Asterat`,`Foosbur`,`Guntagar`,`Goegajan`,`Zamnark`,`Rakbur`,`Mirrut`,`Rakfaruk`,`Garmanuk`,`Djarturok`,`Toongur`,`Rakgarak`,`Granrut`,`Dajar`,`Minrus`,`Durranak`,`Kurbaran`,`Jarkar`,`Koorrus`,`Koobur`,`Hunfajar`,`Nooraduk`,`Kirnarun`,`Kurrak`,`Cargarak`,`Hunkar`,`Djartaruk`,`Minkan`,`Grangajan`,`Zamdak`,`Toonranak`,`Mirranak`,`Zamtoron`,`Doentoron`,`Jarkar`,`Carfaruk`,`Doentoron`,`Zunrak`,`Manfaruk`,`Codtaruk`,`Astekun`,`Trakban`,`Dorron`,`Hunnark`,`Teban`,`Turnarun`,`Kurrios`,`Rakmaruk`,`Kirturok`,`Kinmaruk`,`Djarban`,`Goerak`,`Foosmanuk`,`Dorfaruk`,`Turrios`,`Codrat`,`Rakkar`,`Hunkarat`,`Bjorkurat`,`Astekurat`,`Jarfaruk`,`Karrat`,`Testris`,`Henemin`,`Aseris`,`Oesra`,`Raspen`,`Weovena`,`Kitrin`,`Entiven`,`Neatin`,`Oesvin`,`Raasta`,`Neaven`,`Kisia`,`Raasla`,`Kiana`,`Noora`,`Kiris`,`Anetri`,`Uovater`,`Aamvera`,`Noonan`,`Fenra`,`Kuosen`,`Aamru`,`Tesna`,`Lineres`,`Seesnim`,`Iretred`,`Areta`,`Nuokea`,`Rasrin`,`Estelo`,`Teesia`,`Aneta`,`Raslin`,`Neola`,`Hesnas`,`Teslo`,`Heneren`,`Ireren`,`Kiarin`,`Henetra`,`Rasru`,`Asetri`,`Iaslin`,`Noome`,`Aamla`,`Esteru`,`Neokea`,`Oennim`,`Tessia`,`Hilaru`,`Ireres`,`Hinera`,`Hesven`,`Weotred`,`Neopen`,`Weores`,`Fenren`,`Fenres`,`Oestrin`,`Aamlin`,`Uovasen`,`Entitri`,`Aampe`,`Iasnim`,`Emtra`,`Teesia`,`Raasmi`,`Seesmas`,`Seorin`,`Entipe`,`Oenta`,`Raspe`,`Tinana`,`Aamtin`,`Hineren`,`Seestri`,`Tiatred`,`Hesres`,`Tesdra`,`Nuopen`,`Raasnim`,`Muukea`,`Weokea`,`Duukea`,`Sinasia`,`Seestrin`,`Iasmi`,`Nuoter`,`Nanvena`,`Hesvera`,`Tianim`,`Weolin`,`Hinepen`,`Sinatin`,`Raspe`,`Muukane`,`Nannan`,`Heskea`]); break; case `Masked Animal`: name = boringHuman.sample()+" "+name+"-"+['Maiden','Fool','Joy','Woe','Saint','Pirate','Moon','Sun','Star','Queen','King','Villain'].sample(); break; case `Trilobite`: name = '"'+sel(epithets)+'"'; break; } var tSel = -1; if(formatTraits.knighted && formatTraits.sillyName) tSel = r(2); if(formatTraits.knighted && (tSel==-1 || tSel==0)) name += ' "'+sel(epithets)+'"' if(formatTraits.sillyName && (tSel==-1 || tSel==1)){ if(classID=="Muscular Puncher") { name = [`Brock`,`Slim`,`Crug`,`Flint`,`Barb`,`Flog`,`Bulit`,`Hand`,`Spud`,`Shiv`,`Hardy`,`Beef`].sample()+" "+[`De镁`,`Slab`,`Crud`,`Stab`,`Fud`,`Fire`,`Kril`,`Vile`,`Blast`,`Kil`,`Blud`,`Slam`].sample()+[`monger`,`steak`,`critter`,`cob`,`donker`,`nahker`,`shlocker`,`stud`,`creek`,`rock`,`fists`,`sword`].sample()+" A.K.A. "+name;; } else { var wNP = [`Alch`,`Ambro`,`Aug`,`Baggy`,`Bals`,`Bazh`,`Beaver`,`Beggars`,`Bipp`,`Blim`,`Bock`,`Bogg`,`Boof`,`Bork`,`Bottom`,`Broad`,`Buck`,`Bumb`,`Burner`,`Burzy`,`Bush`,`Bushy`,`Castle`,`Charm`,`Chook`,`Chum`,`Clutter`,`Cocin`,`Conju`,`Cra`,`Crad`,`Cumber`,`Dapp`,`Dhun`,`Din`,`Dinker`,`Divin`,`Doodle`,`Doop`,`Dread`,`Drub`,`Elmsley`,`Ernst`,`Eston`,`Exo`,`Fany`,`Fartle`,`Feffer`,`Ferd`,`Figgy`,`Finch`,`Fister`,`Forby`,`Fordshire`,`Fudge`,`Furge`,`Gae`,`Gant`,`Gap`,`Gax`,`Giggles`,`Gleep`,`Glum`,`Gooch`,`Grog`,`Gross`,`Hagat`,`Hal`,`Hale`,`Hand`,`Hard`,`Hargag`,`Hass`,`Hex`,`Hocus`,`Hool`,`Horn`,`Hossen`,`Hrum`,`Hulm`,`Hyggs`,`Ington`,`Jank`,`Jinx`,`Joff`,`Jolly`,`Kal`,`Kill`,`Knacker`,`Knicker`,`Kor`,`Koz`,`Kramm`,`Krang`,`Krotch`,`Lack`,`Lapper`,`Lick`,`Lord`,`Lorg`,`Magus`,`Maxi`,`Mus`,`Pow`,`Er`,`Man`,`Mazz`,`Meat`,`Meem`,`Milsh`,`Minge`,`Mo`,`Moisten`,`Molp`,`Mon`,`Moon`,`Mooth`,`Mugg`,`Nabb`,`Napper`,`Nasty`,`Nether`,`Nex`,`Nex`,`Nex`,`Oort`,`Paag`,`Packer`,`Pang`,`Panty`,`Penny`,`Piddle`,`Pimple`,`Pincher`,`Pipt`,`Pizzle`,`Pizzle`,`Plinker`,`Pocus`,`Prick`,`Prissy`,`Pubb`,`Pudding`,`Pyu`,`Quisp`,`Raco`,`Rams`,`Ramst`,`Rapp`,`Riddle`,`Road`,`Rod`,`Rool`,`Rump`,`Rune`,`Ryz`,`Sass`,`Seer`,`Shaft`,`Shafts`,`Shag`,`Shitling`,`Shoot`,`Shuffle`,`Skremp`,`Slapper`,`Slipper`,`Smelly`,`Snatch`,`Snicker`,`Sniffen`,`Sniffer`,`Spittle`,`Staff`,`Staffer`,`Star`,`Stith`,`Stone`,`Strating`,`Stratling`,`Stroop`,`Stroot`,`Stumble`,`Sundar`,`Tankle`,`Thok`,`Thorpe`,`Throck`,`Thwyp`,`Tinker`,`Tunn`,`Turkey`,`Tzim`,`Uk`,`Ul`,`Ur`,`Ursk`,`Urz`,`Val`,`Vela`,`Vex`,`Voll`,`Vree`,`Waddle`,`Waggler`,`Wall`,`Wallop`,`Wand`,`Washer`,`Wattle`,`Whistle`,`Wick`,`Wiggle`,`Willow`,`Wimple`,`Worme`,`Wort`,`Worthy`,`Wozz`,`Wump`,`Wurp`,`Xim`,`Yann`,`Yar`,`Ygg`,`Ylur`,`Zap`,`Zoot`,`Zsand`,`Zur`,`Curse`,`Flame`,`Dark`,`Null`,`Light`,`Vill`,`Green`,`Red`,`Blue`,`Time`,`Space`,`Redact`,`Scroll`,`Skull`,`Grow`,`Never`,`Alway`,`Fever`,`Silk`,`Diab`,`Illus`,`Magnet`,`Ism`,`Ology`,`Sorc`,`One`,`Seven`,`Eleven`,`Cipher`,`Ur`]; var sillyConnect = [" "," "," "," "," "," "," de "," von "," val "," ix ","-"," a "," zu "," y "," of "," d'"]; wNP.shuffle(); name = wNP[0]+wNP[1].toLowerCase()+sillyConnect.sample()+wNP[2]+wNP[3].toLowerCase()+" A.K.A. "+name; } } if(raceID=='Crabman') name = "..."; } function newChar(brand){ clearAll(); if(brand=='fighting_men'){ formatTraits.dtExtra='fighting_men'; formatTraits.brand='die_trying'; } else if(brand=='cheap_tricks'){ formatTraits.dtExtra='cheap_tricks'; formatTraits.brand='die_trying'; } else formatTraits.brand=brand; switch(formatTraits.brand){ case 'normal': stats={str: d(3,6), dex: d(3,6), con: d(3,6), int: d(3,6), wis: d(3,6), cha: d(3,6)}; getRace(r(8)+r(8)); betterStats(); getClass(r(8)+r(8), 'normal'); startingGear(); formatTraits.xpReq=true; break; case 'weird': stats={str: d(3,6), dex: d(3,6), con: d(3,6), int: d(3,6), wis: d(3,6), cha: d(3,6)}; getRace(r(raceList.length)); getClass(r(24), 'weird'); document.getElementById("extraCharInterestGLOG").checked = true; startingGear(); formatTraits.xpReq=true; break; case 'basic': stats={str: d(4,4), dex: d(4,4), con: d(4,4), int: d(4,4), wis: d(4,4), cha: d(4,4)}; getRace(5+r(6)); betterStats(); getClass(4+r(6), 'basic'); startingGear(2); break; case 'level 0': stats={str: d(3,6), dex: d(3,6), con: d(3,6), int: d(3,6), wis: d(3,6), cha: d(3,6)}; if(r(6)) getRace(r(8)+r(8)); else getRace(r(raceList.length)); levelZero(); startingGear(); break; case 'die_trying': stats={str: d(3,6), dex: d(3,6), con: d(3,6), int: d(3,6), wis: d(3,6), cha: d(3,6)}; if(r(4)) getRace(r(8)+r(8)); else getRace(r(raceList.length)); betterStats(); dieTrying(); if(!formatTraits.enhancedWeapon && formatTraits.dtExtra=='fighting_men') accoutrements.push("choose any weapon, you are a master with it"); startingGear(); break; } if(document.getElementById("extraCharInterest").checked || document.getElementById("extraCharInterestGLOG").checked) characterInterest(); getName(); document.getElementById("name").innerHTML = "Name: "+name; document.getElementById("race").innerHTML = "Race: "+raceID; if(formatTraits.brand=='level 0') document.getElementById("class").innerHTML = "Failed Career: "+classID; if(formatTraits.brand=='die_trying') document.getElementById("class").innerHTML = "Former Life: "+classID; else document.getElementById("class").innerHTML = "Class: "+classID; document.getElementById("basic").innerHTML = "Basically: "+simpleDesc; document.getElementById("ABILITYSCORES").innerHTML = "STR: "+String(stats.str)+"<br>"+ "DEX: "+String(stats.dex)+"<br>"+ (formatTraits.no_con_score?"CON: N/A":"CON: "+String(stats.con))+"<br>"+ "INT: "+String(stats.int)+"<br>"+ "WIS: "+String(stats.wis)+"<br>"+ "CHA: "+String(stats.cha); // if(formatTraits.brand=='die_trying') { // var elem = document.getElementById('class'); // elem.parentNode.removeChild(elem); // } var otherStatOut = ''; attTypes = "ATT"; if(mod(stats.str)!=mod(stats.dex)) attTypes += ": melee "+String(att+mod(stats.str))+", ranged "+String(att+mod(stats.wis)); else attTypes += ": "+String(att+mod(stats.str)) if(formatTraits.alt_att_mod) attTypes = "ATT: "+String(att+Math.max(mod(stats.str),mod(stats.dex))); if(def==10){ //all other armour types will have adjusted at this point if(gear.includes('leather chaps')) def++; if(gear.includes('grimy gambeson')) def++; if(gear.includes('helmet')||gear.includes('rusty helmet')) def++; } if(formatTraits.olmArmour) def=10; //helmet should be replaced with stone mask defTypes = "DEF"; if (gear.includes('shield' || 'stalwart shield (grants +2 Save to anyone of your faith)')) defTypes += ": "+String(def+mod(stats.dex))+", shield "+String(def+mod(stats.dex)+1); else defTypes += ": "+String(def+mod(stats.dex)); if(formatTraits.olmArmour) defTypes += ", water "+String(def+mod(stats.dex)+6); otherStatOut = attTypes+"<br>"+defTypes+"<br>"; startHP = 0; switch(formatTraits.brand){ default: startHP = Math.max(d(1,HD),d(1,HD)) break; case 'level 0': startHP = String(Math.max(maxHP+mod(stats.con),1)) break; case 'basic': startHP = HD-r(2) break; case 'die_trying': startHP = 6+maxHP+mod(stats.con); break; } if(formatTraits.brand=='die_trying' || formatTraits.brand=='level 0') otherStatOut += "HP: "+startHP+"/"+startHP+"<br>"; else otherStatOut += "HP: "+startHP+"<br>HD: 1d"+String(HD)+(raceID=='Halfling'?"/1d"+String(HD+2):"")+"<br>"; otherStatOut += "SAVE: "+String(save+mod(stats.cha))+"<br>"; if(svF!=0) otherStatOut += "SAVE vs. Fear: "+String(save+mod(stats.cha)+svF)+"<br>"; for (var i = 0; i < otherSaves.length; i++) { otherStatOut += otherSaves[i].type+String(save+mod(stats.cha)+otherSaves[i].value)+"<br>"; } if (initiative>0) otherStatOut += "INITIATIVE: "+String(initiative+stats.wis)+"<br>"; if (md!=0){ if (isNaN(md)) otherStatOut += md; else otherStatOut += "MD: "+md+"/"+md; } var mdAlts = ['buying wizard robes','bathing in dragonblood','getting struck by lightning','snorting wizard teeth','making a deal','tapping a leyline','demonflesh grafts','magic knucklebones','atomic bee honey','liquid occultum','using a remnant','licking toads','sacrificing a goat'] mdAlts.shuffle(); if (md==0 && (formatTraits.dtExtra=='cheap_tricks' || formatTraits.spellcaster)) otherStatOut += "MD: 0. Perhaps try "+mdAlts[0]+" or "+mdAlts[1]+"?"; document.getElementById("OTHERSTATS").innerHTML = otherStatOut; document.getElementById("charTextOut").innerHTML += traits[0]+"<ul>"; for (var i = 1; i<traits.length; i++) { if(traits[i]=="") { document.getElementById("charTextOut").innerHTML += "</ul><br>"; document.getElementById("charTextOut").innerHTML += traits[++i]+"<ul>"; } else document.getElementById("charTextOut").innerHTML += "<li>"+traits[i]+"</li>"; } document.getElementById("charTextOut").innerHTML += "</ul><br>"; for (var it = 0; it < gear.length; it++) { if(gear[it].search(/(0 slots)/)!= -1) { accoutrements.push(gear[it].slice(0,gear[it].length-10)); gear[it]=gear.pop(); } } invWeight += gear.length; invSize += stats.str; gear[0] += ' ('+invWeight+'/'+invSize+' slots filled'; if(invWeight>(invSize+3)) gear[0] += ', heavily overencumbered, disadvantage on all checks)'; else if(invWeight>invSize) gear[0] += ', disadvantage on DEX checks)'; else gear[0] += ')'; document.getElementById("charTextOut").innerHTML += gear[0]+"<ul>"; for (var j = 1; j<gear.length; j++) { gear[j] = gear[j].replace('+STR op.',String(mod(stats.str)>0?"+"+mod(stats.str):"")); gear[j] = gear[j].replace(/\+STR/g, String((mod(stats.str)>0?"+":"")+(mod(stats.str)==0?"":mod(stats.str)))); document.getElementById("charTextOut").innerHTML += "<li>"+gear[j]+"</li>"; } document.getElementById("charTextOut").innerHTML += "</ul><br>"; if(accoutrements.length>1){ document.getElementById("charTextOut").innerHTML += accoutrements[0]+"<ul>"; for (var i = 1; i < accoutrements.length; i++) { document.getElementById("charTextOut").innerHTML += "<li>"+accoutrements[i]+"</li>"; } document.getElementById("charTextOut").innerHTML += "</ul><br>"; gear.push(''); gear = gear.concat(accoutrements); } for (var k = 0; k<mod(stats.int); k++) skills.push(sel(allSkills)); var sCount = {}; skills.forEach(function(x) { sCount[x] = (sCount[x] || 0)+1; }); for (var j in sCount) { if (sCount.hasOwnProperty(j)) { if (sk.length>8) sk += ", "; sk += j+" "+"I".repeat(sCount[j]); } } if(sk=="Skills: ") sk += "None"; document.getElementById("charTextOut").innerHTML += sk; document.getElementById("DLbutton").innerHTML = '<button onclick="copyToClipboard()">Copy to clipboard</button>'; //<button onclick="download()">Download character sheet</button> } function stripHTML(text){ var tmp = document.createElement("DIV"); tmp.innerHTML = text; return tmp.innerText; } function getURL(text) { var nameLength = stripHTML(text).length; return text.slice(9,text.length-22-nameLength); } function getSaveText() { var out = document.getElementById("name").innerHTML+"\r\n"+ document.getElementById("race").innerHTML+"\r\n"+ stripHTML(document.getElementById("class").innerHTML)+"\r\n\r\n"; if(classID.length>40) subclassLink = getURL(classID); if(subclassLink != "" && !formatTraits.brand=='die_trying') out += 'Subclass details - '+subclassLink+"\r\n\r\n"; out += document.getElementById("ABILITYSCORES").innerHTML.replace(/<br>/g,"\r\n")+"\r\n\r\n"; out += document.getElementById("OTHERSTATS").innerHTML.replace(/<br>/g,"\r\n")+"\r\n\r\n"; var sectionTitle = true; for (var i = 0; i<traits.length; i++) { if(traits[i].slice(0,6)=='School' && traits[i].length>30) out += '- School - '+stripHTML(traits[i].slice(9))+" ("+getURL(traits[i].slice(9))+")\r\n"; else { if(sectionTitle && traits[i]!=""){ out += traits[i]+"\r\n"; sectionTitle=false; } else { if(traits[i]=="") { out += "\r\n" sectionTitle = true; } else out += "- "+traits[i]+"\r\n"; } } } out += "\r\n"; sectionTitle = true; for (var i = 0; i<gear.length; i++) { if(sectionTitle && gear[i]!=""){ out += gear[i]+"\r\n"; sectionTitle=false; } else { if(gear[i]=="") { out += "\r\n" sectionTitle = true; } else out += "- "+gear[i]+"\r\n"; } } out += "\r\n"; out += sk+"\r\n\r\n"; out += "Ability scores\r\n3-5: -2\r\n6-8: -1\r\n9-11: +0\r\n12-14: +1\r\n15-17: +2\r\n18: +3"; if(formatTraits.xpReq) out += "\r\n\r\nExp = 0, 5, 15, 30\r\nLevel = 1, 2, 3, 4"; return out; } function download() { var pom = document.createElement('a'); pom.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(getSaveText())); pom.setAttribute('download', raceID+" "+stripHTML(classID)); if (document.createEvent) { var event = new MouseEvent("click", {"view": window,"bubbles": true,"cancelable": false}); pom.dispatchEvent(event); } else { pom.click(); } } function copyToClipboard(){ const el = document.createElement('textarea'); // Create a <textarea> element el.value = getSaveText(); // Set its value to the string that you want copied el.setAttribute('readonly', ''); // Make it readonly to be tamper-proof el.style.position = 'absolute'; el.style.left = '-9999px'; // Move outside the screen to make it invisible document.body.appendChild(el); // Append the <textarea> element to the HTML document const selected = document.getSelection().rangeCount > 0 // Check if there is any content selected previously ? document.getSelection().getRangeAt(0) // Store selection if found : false; // Mark as false to know no selection existed before el.select(); // Select the <textarea> content document.execCommand('copy'); // Copy - only works as a result of a user action (e.g. click events) alert(raceID+" "+stripHTML(classID)+" copied to clipboard"); document.body.removeChild(el); // Remove the <textarea> element if (selected) { // If a selection existed before copying document.getSelection().removeAllRanges(); // Unselect everything on the HTML document document.getSelection().addRange(selected); // Restore the original selection } } </script> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML3'> <h2 class='title'>Multiferous Mutations</h2> <div class='widget-content'> <div id='changingButton'></div> <button onclick='newLimb()'>New "Limb"</button><br /> <button onclick='bodyPart()'>Body Horror</button><br /> <button onclick='larj()'>d1000 Afflictions</button> <br /> <br /> <p id='outputTextyk6'></p> <script> var currentMutations = []; function r(x){return Math.floor(Math.random() * x);} function shiftButton(){ document.getElementById('changingButton').innerHTML = "<button onclick='selectRandomyk6()'>"+['Pulsating','Throbbing','Brand New','Twitching','Grotesque','Frightening','Fascinating','Improbable','Great Big','Abnormal'][r(10)]+" "+['Lumps','Tumours','Dribbly Bits','Holes','Limbs','Organs','Sarcomas','Cysts','Swellings','Growths'][r(10)]+"!</button>"; } function add(text){ document.getElementById('outputTextyk6').innerHTML = ''; currentMutations.unshift(text); if(currentMutations.length>5) currentMutations.pop(); for (var i = 0; i < currentMutations.length; i++) { document.getElementById('outputTextyk6').innerHTML += currentMutations[i]+"<br>"; } } shiftButton(); var modification = ['Adhesive','Crystalline','Clockwork','Dripping','Fanged','Flaming','Furred','Gigantic','Glowing','Gooey','Humming','Icy','Incomplete','Malformed','Necrotic','Neon','Nutritious','Predatory','Prehensile','Pungent','Reflective','Blooming','Rubbery','Screaming','Skeletal','Slimy','Smoking','Spiky','Throbbing','Transparent']; var body = ['Hips','Bones','Brain','Buttocks','Calf','Chest','Ear','Elbow','Eye','Face','Fingers','Foot','Forearm','Genitalia','Guts','Hand','Limbs','Lungs','Mouth','Neck','Nose','Shoulder','Skin','Skull','Spine','Thigh','Toes','Tongue','Torso','Whole Body']; var addition = ['Antennae','Brain','Claw','Extra Arm','Extra Ear','Extra Eye','Extra Face','Extra Leg','Extra Mouth','Extra Teeth','Feathers','Fins','Foliage','Glands','Horn','Maggots','Lumps','Mandibles','Oil','Pincers','Proboscis','Shell','Scales','Tentacles','Sores','Stripes','Suction Pods','Tail','Tubes','Wings']; var bullshit = ['The Ultimate Cleanse','Laser Eyes, 3d6 damage 1/day, half self-damage','Gun Hand, 1d8 damage, +2 Att, 1 CON damage per shot','Spawn, 1d4 CON to gain a friend','Hidden compartment in chest','Invisible, not including clothing and equipment','Detachable limbs','Hover, can’t touch the ground','Wizard Vision, lose 1d6 Wis/Cha','Switch two stats, physical change','Fuse with a nearby object','Completely hairless','Change race','Weird Blood (ants, worms, fire, sound, potion, seawater)','Living Bomb, 3d6 damage','Skin colour: '+['red', 'orange', 'yellow', 'green', 'blue', 'purple', 'black', 'white'][r(6)],'Internal Twin, visible through “porthole”','"Ranma". Change gender when wet','New diet: '+['wood', 'oil', 'spells', 'ghosts'][r(4)],'Shadow escapes your control','Wandering organs, crits, poisons and diseases are modified','Random Insanity, physical change','Halve a random stat, physical change','Lilliputian, shrink by 10% per hour','Allergic to: '+['sunlight', 'clothing', 'women', 'money'][r(4)],'You cannot die. You cannot heal. You begin rotting','"Unstable". Roll a random limb/day','"The Sun". 1d6 fire damage, +1d6 per round','"Akira". +1 HD and attack/round, [HD]-in-20 chance of vanish','Boneless, skeleton escapes you']; var fate = ["slops into goop","crawls away","evaporates","tries to kill you","betrays you at the worst time","disappears overnight"] var weird = [`Grotesque. Distressingly deformed, scarred, or mangled. -6 Charisma`,`Corrupted Organs. Your guts writhe, everyone in 30' must Save vs Fear if they see them`,`Bat Wings. Huge, flappy. Fly speed equal to your Movement speed`,`Burst of Speed.  Once per day, can double movement for 10 minutes`,`Barrel Chest. +1d6 Constitution, +1d6 HP`,`Lamarckian Evolution. One hand turns into a random tool. Roll on the Professions table`,`Hooved. 2 of your legs end in hooves. No effect`,`Unstable. On death, parasitic limbs try to grapple nearby targets, fuse to them`,`Crab Arm. One hand becomes a claw. 1d8 crushing damage, -4 Attack to hit`,`Hook Fingers. Locked and bony. 1d6 damage claw attack, but cannot hold weapons`,`Patterned Skin. Stripes`,`Inside Out. Horrible. Charisma becomes 2, HP is halved`,`Hole. Mysterious hole right through your forehead`,`Poison Spot. Bright blue, the size of a coin. Anyone touching it must Save or die. Migrates`,`1000 Noses. They cover your body. You can smell as well as sight up to 30'`,`Extra Mouths. Gain 2d6 extra mouths on your head and neck`,`Neck Frill. Can inflate to frighten beasts. May require a Morale check`,`Foul Stench. Burnt meat and hair. -4 Stealth`,`Magnetic Sense. Can detect magnetic north unless near a strong magnetic field or iron`,`Hinged Head. Enormous toothy grin, ear to ear. Head opens like a box`,`Leathery Hide. Base Defense becomes 12 instead of 10`,`Lightning Speed. You become incredibly nimble. Your Movement increased by 2d6`,`Venomous. Your natural attacks (bite, claw, etc.) deal an extra 1d4 poison damage`,`Spike Teeth. Long and serrated`,`The Vapours. You emit clouds of stinking yellow vapour from your ears. -6 Stealth`,`Milk. 1 ration's worth per day. Painful if neglected for more than 3 days`,`Monkey Tail. Can grip items. +4 bonus to any climbing tests`,`Bizarre Colour. Your skin flickers between two colours (red, orange, yellow, green, blue, indigo, violet, octarine)`,`Leather Skin. Lumpy and warty. Cannot wear armour. Defense as Leather`,`Insane Risks. No sense of danger. Immune to Fear. Will take some but not all precautions`,`Pheromones. Repels insects, 20' radius`,`Atrophy. One your limbs becomes withered and useless`,`Inverted. Legs swap with arms. Movement unimpeded. Writing and delicate tasks are difficult`,`Hulking Arms. They grow huge as your legs shrink. You can walk on them. +1d6 Strength`,`Sensitive Skin. Unpleasant, itchy rash from touching silver`,`Bird Wings. Vestigial. Cannot fly`,`Stabbing Limb. One arm becomes a sharp point of bone. As a dagger`,`Mute. Your tongue disappears`,`Spores. On death, coat a 30' radius in purple hallucinogenic spores`,`Unusual Genitals. Whatever you had going on down there is different and weird now`,`Single Bird Wing. Roll for location. Useless`,`Feeble Jaw. Enormous overbite`,`Third Eye. On your forehead`,`Dog Face. Face of a houndling`,`Perfect Memory. Can Save vs Intelligence to recall incredibly trivial details`,`Bad Posture. Head swapped with leg. May need to hop. -4 Movement`,`Skin Flaps. Like flying squirrel wings. Cannot use them to fly or even fall slowly`,`Long Nose. Protruding, sharp`,`Strange Walk. You joints fire in an odd order. Reduce your Movement by 1`,`Crown of Tentacles. 2d10 tiny tentacles grow in a ring around your head. No effect`,`Spider Neck. On death, head is revealed to be a giant spider living on top of your body`,`Mental Backsliding. -1d6 to Intelligence. Cannot read or write`,`Hair Migration. All of it migrates to one side of your head in a huge tuft`,`Cyclops. All your eyes migrate to the centre of your forehead and fuse into one`,`The Fits. Your mind isn't quite right. Save vs bright light or flail about for 1d6 rounds`,`Boiling Obesity. Fat fills up 4+1d6 of your Inventory Slots. Roll the 1d6 every morning`,`Finger Mouths. Every finger ends in a tiny lamprey mouth. Can eat with them`,`Rearrangeable. You can slide your limbs around to new positions. 1 hour per limb`,`Fly Cluster. A pocket of writhing fly legs appears on one of your arms`,`Toe Growth. Your big toes grow as large as the rest of your foot. You will need new boots`,`Alluring Face. All your facial blemishes migrate to a spot on your back. +2 Charisma`,`Strange Voice. Something has gone awry with your vocal cords. Your voice sounds like a distressed cat`,`Fractal Fingers. One hand only. Cannot drop objects held in that hand. 2d1000 fingers`,`Horrible Bloating. Something is wrong with your guts. Save every time you eat a ration or take 1 damage`,`Foul Stench. Rotting fish and boiled hooves. -4 Stealth`,`Bilious Vomit. 10' cone, 1d4 damage. Requires 1 ration to recharge. No other effect from the ration`,`Illusion of Normality. You revert to your normal, original form until you fail your next Save`,`Concealed Mutation. 1d6 of your mutations fade, appearing only when you are stressed or damaged`,`Bloated Tongue. Doesn't fit in your mouth. Makes speaking difficult`,`Revival. A missing body part, organ, or limb regenerates fully`,`Spider Gland. You can excrete 10' of rope per day`,`1000 Eyes. They cover your body. -1d6 Charisma. You cannot be Surprised`,`Second Face. On your stomach. It can see and smell but not hear or speak`,`Metal Skin. Your skin is covered in metal plates. You cannot swim or wear armour. Your base defense is 18`,`Migratory Fingers. Rearranged on hands, pointing in all directions. Cannot hold weapons`,`Neck Pouch. Inflates, becomes big and red`,`Puny. You shrivel like a raisin, shrinking to a quarter of your former size. -1d6 to all stats`,`Glandular. Cheerful. Nothing can go wrong. Everything will turn out for the best`,`Frog Tongue. As a whip`,`Face Bubble. Eyes are protected by a clear dome across face`,`Glow Pockets. Can glow (as a candle) at will`,`Goat Horns. Small and pointy`,`Climber's Eye. You gain a +4 bonus to plan climbing routes. You want to be high up`,`Elastic Face. Features slide around in wild animation as you talk`,`Spell Tumor. Gain 1 random spell in a lump on your head. It casts at a random hour, with random targets`,`Chameleon Eyes. Bulge, can look in 2 directions at once`,`Pelican Mouth. +2 Inventory Slots`,`Detachable Tail. Newt-like. Falls off if you lose 6 HP in one hit`,`Suckers. Your fingers end in suction cups. You can pick up anything`,`Extra Lobes. +1d6 Intelligence`,`Thick Skull. -1d6 Intelligence, +1d6 Constitution. Cannot be Stunned by physical attacks`,`Oily. All bodily fluids can be used as (smelly) lamp oil. 1 flask per day normally`,`Tentacle Fingers. All wiggly`,`Strange Voice. Something has gone awry with your vocal cords. Your voice sounds like a faxed duck`,`Spores. On death, coat a 30' radius in thick yellow spores`,`Turtle Shell. Base Defense is 16 (as Plate). Cannot wear armour or clothes. -1d6 Dexterity`,`Swap. GM picks a mutation you currently have and replaces it with one rolled on this table`,`Unstable. Any body part chopped off combusts in 1d6 rounds`,`Breasts. 2x1d6. In rows`,`Patterned Skin. Squares or checks`,`Pig Tail. Curly`,`Coloured Pupils. Pick a colour (Red, Orange, Yellow, Green, Blue, Indigo, Violet, Octarine)`,`Compound Eyes. Whole bunch of little eyeballs, like a raspberry`,`Detachable Leg. Falls off if you take 6 damage in one round. Can be reattached`,`Telescoping Neck. Can grow or shrink as needed. Not very useful`,`Baby Bird Heads. A ring of them around your neck. They cheep silently`,`Strange Voice. Something has gone awry with your vocal cords. Your voice sounds like a clogged drain`,`Suggestible. You must Save vs commands`,`Worm. Your legs fuse into one. You have difficulty climbing and riding a horse`,`Confident. You are absolutely convinced your mutations make you sexually appealing. Others may disagree`,`Evil Eye. One of your eyes becomes black and weeps tar-like tears`,`1000 Ears. They cover your body. You can hear as well as sight up to 30'`,`Trouble With Names. Everyone is "that guy" if you're in a hurry. Can find name in 2d6 rounds`,`Mimic. You can mimic all voices, music, and natural sounds`,`Wattles. Like a rooster`,`Slime Trail. You sweat a horrible stinking ooze`,`Mysterious Dot. You project a red dot from one eye. 100' range, very bright`,`Headless. Your head shrinks into your chest. Eyes, ears, nose, etc. Migrate appropriately`,`Compulsive Dancing. Save every time your hear music or dance along`,`Earthworm Blood. Your blood is now earthworms`,`Stabbing Limb. One arm becomes a long serrated spike of of bone. As a sword`,`Donkey Ears. Tufted`,`Sensitive Eyes. Cannot bear direct sunlight`,`Scorpion Tail. +1 attack per round dealing 1d4 poison damage`,`Mantis Arm. One arm gains several extra joints. Can extend to 10' long, folds up to normal size`,`Insect Hatred. All insects instinctively fear or hate you. People are immune`,`Mind Split. You start hearing voices. The voices are you, or part of you. They offer terrible advice`,`Bad Posture. Head swapped with arm`,`Two Necks. Attached to one head. Tricky to decapitate. Can sing in harmony with self`,`Lamarckian Evolution. One hand turns into a terrible version of the last tool you used`,`Asymmetry. Everything you have 2 of you now have 1 of. Roll to see if it's on the left or right side`,`Iron Nails. Fingernails, toenails, and teeth of iron. You can chew through leather`,`1000 Sores. They cover your body. -1d6 Charisma and Constitution`,`Comb. Like a rooster`,`Trouble With Nouns. Everything is a "thing" if you're in a hurry. Can find word in 2d6 rounds`,`Serrated Teeth. All your teeth become fearsomely sharp. You deal 1d6 damage on a bite`,`Resilient. Reduce all incoming physical damage by 1`,`Booming Hoot. Once per day, can hoot incredibly loudly. 1 mile radius`,`Iron Skin. Flakes in rusty layers. Cannot wear armour. Defense as Chain`,`Bristly Beard. Black, long, and coarse`,`Pin Face. Head shrinks to a narrow point. Eyes on either side like tennis balls. -1d6 to all stats`,`Long Spine. Legs shrink to keep height the same`,`Temperature Sensitive Hair. Varies from purple (cold) to red (steaming hot)`,`Retractable Head. Can shrink into torso, leaving only hair exposed`,`Pheromones. Insects find you very attractive and want to lick you`,`Goat Legs. 2 of your legs become goat legs. You are not slowed by broken or rocky terrain`,`Unsettling Laughter. Your laugh requires small children, hirelings, etc. to make a Morale check`,`Bizarre Colour. Your skin becomes a new colour (red, orange, yellow, green, blue, indigo, violet, octarine)`,`Musk Gland. For marking territory. Smells intriguing`,`Stinging Skin. Anyone you touch must Save or be Stunned for 1 round`,`Ink Skin. You can cause words to appear on your arms by concentrating`,`Claws. Your fingers fuse into sharp claws. You cannot hold weapons. You claws do 1d6 slashing damage`,`Thirsty. You desire water all the time. You drink twice as much water as normal`,`Horse Tail`,`Feathered Skin. You are covered in rainbow feathers`,`Evil Eye. One of your eyes becomes green and wobbly. If you die, it becomes a slime`,`Duplication. Split in half. Reduce all your Stats by 1d6 and your HP by half. Your "twin" rolls new stats and HP`,`Wracked. Your body twists and deforms. -1d6 Constitution`,`Spindle Arm. A new one, red and feeble. Stick it into a fresh corpse to make it walk and talk`,`Hunchback. You store a huge heap of fat on your back. Take twice as long to starve`,`Corpulent. Fat fills up 4 of your Inventory Slots`,`Mooncalf. Your head becomes silver and swollen. You gain the effect of a ration from 4 hours in moonlight`,`Eyestalk. One of your eyes extends on a tube. It can see around corners or look behind you`,`Neuter. Your genitals fly away on little bat wings. They frighten drunk monks at night`,`Rabbit Ears`,`Mouse Blood. Your blood is now mice`,`Glue Blood. Your blood is now glue. At 0 HP or below, any hits trap the weapon used to hit you`,`Egg Laying. Once a week. Eggs are self-fertilized, hatch into horrible malicious mini-clones`,`The Fits. Your mind isn't quite right. If you fail a Save vs Fear, you flail about for 1d6 rounds`,`Grinding Throat. Can eat tough objects (leather, wood). No extra benefit, but you can do it`,`No Lips. Exposed teeth and gums. Dribbly`,`Gaseous Guts. Whenever you are seriously injured, everyone in 30' must Save or be poisoned (1d4 damage)`,`Goat Horns. Large and curled`,`Forehead homunculus. A tiny version of you, from the waist up, grows from where your face used to be`,`Patterned Skin. Halved, with each half a different shade`,`1000 Mouths. They cover your body. -1d6 Charisma. You can shout really loudly`,`Cold Blooded. Extremely slow at low temperatures`,`Caustic Spray. New pulsing glands on back. Can fire 20' cone, 2d6 acid damage, smells awful`,`Starskin. Skin becomes jet black with faint white stars`,`Fish Hatred. All fish instinctively fear or hate you. People are immune`,`Migrating Eyes. They move as far apart on your face as they can, as if repelled by magnets`,`Hunchback. You grow a migratory lump on your back`,`Frenzy. Gain the Rage trait (as Barbarian). Select a trigger (goats, heights, etc.). Save if you encounter it`,`Feathered Skin. You are covered in white and black feathers`,`Filter Tongue. Like a butterfly net, 2' long. Can scoop fish out of water or filter soup`,`Long Nose. Bulbous, like a mushroom`,`Patterned Skin. Disruptive camouflage. No effect`,`Enhanced Genitals. Whatever you had going on down there is different and better now`,`Gasbag. Your stomach bloats. You hover and float like a balloon`,`Frog Eyes. Bulge and retract every time you swallow`,`Spare Legs. Current legs divide into three. Shuffle at normal speed`,`Finger Frills. 3d10 tiny fingers up and down your neck and ribcage`,`Shark Teeth. Whole mouth full of them. 1d6 bite damage`,`Carnivore. Can only eat meat for rations`,`Warts. All over the place`,`Fire Breath. 30' cone, 1d6 damage, once per day`,`Second Brain. In your guts. +1d6 Intelligence. If decapitated, you can live (blind, deaf, and dumb, but alive)`,`Wonderful Odour. +1d6 Charisma. Smells of spices`,`Addiction. You desire turnips. You take 1d6 Int. and Con. damage each day you do not have a turnip`,`Unstable. If you take 4 fire damage in 1 round, Save or explode. 3d6 damage, 20' radius`,`Gulper. You can eat something up to 2x your current size and still walk, very slowly`,`Crown of Arms. 2d10 tiny arms grow in a ring around your head. No effect`,`Blowhole. You can breathe through the top of your head or your normal mouth`,`Milk. 1x[# of breasts]+1 ration's worth per day. Painful if neglected for more than 3 days`,`Grappling Hand. On tendons. Can throw it 10' and retract. Cannot lift you. Can pull light things`,`Long Legs. Gain an extra joint and 1' in height`,`Long Neck. Can rotate 360 degrees and peer around corners`,`Lamprey Mouth. Can suck on a creature to gain 1 HP every 5 minutes`,`Extra Toes. 2d10 extra toes per foot`, `Poison Gas Breath. 30' cone, 1d6 damage, once per day`,`Youth. De-age 2d10 years`,`Rabbit Teeth`,`Very Warm. +4 to Save vs Cold. Like a clay oven`,`Unbalanced Legs. One grows strong and thick. The other withers. -2 Movement`,`Frenzy. Gain the Rage trait (as Barbarian). Save each combat or activate it`,`Teeth Warts. Molars all over`,`Bat Wings. Vestigial. Cannot fly`,`Dribbly. Your mouth salivates constantly, leaving a trail of slime down your front`,`Fly Cluster. A pocket of writhing fly legs appears on the back of your head`,`Bird Hands. From the elbow down. Like chicken legs with four scaly fingers`,`Blood Fountain. Take 1d6 damage to spray blood from your pores 10' in all directions`,`Bird Legs. 2 of your legs become bird legs. You can run twice as fast`,`Multiple Heads. 1d6 additional heads on your neck. The size of apples. They mutter and glare`,`Egg Laying. Once a week. Eggs are probably unfertilized. Taste delicious`,`Bloat Bladder. If you fail a Save vs Fear, you inflate to a comical size`,`Tentacle Leg. Horrible and bendy, but it still works`,`Anosmic. Your nose disappears`,`Palm Spines. Your hands are very adhesive. You can climb anything a spider could climb`,`Worm Warts. All over. Like earthworms half embedded in your skin`,`Stump Teeth. Little white pegs`,`Hive Belly. A swarm of insects grows in your stomach. They buzz al the time`,`Pheromones. Creatures of your race and the same gender find you very attractive`,`Third Eye. Roll for location`,`Long Nose. And 2d10 extra nostrils. Like a pepper pot`,`Sensitive. You need to Save to fall asleep each night`,`Hideous Morphing. Remove all current mutations. Roll once on this table for each mutation removed`,`Crab Legs. 2d6 of them, replacing your normal legs. Can scuttle sideways at normal speed`,`Pheromones. Creatures of your race and opposite gender find you very attractive`,`Fast. You become slightly more nimble. Your Movement increased by 1d6`,`Extra Head. Identical to your current one, but mirrored. No bonuses due to bickering`,`Reactive Mutability. One hand grows to resemble anything you hold in the other hand`,`The Vapours. Your breath comes out in foggy white burps. -2 Stealth`,`Antlers. Two of them. Can be used as a club`,`Huge Veins. They throb dangerously`,`Lightning Breath. 30' cone, 1d6 damage, once per day`,`Flesh Hose. Connects arm to torso`,`Dire Straits. Roll again twice. You get both mutations`,`Photosynthetic. You become green. You gain the effect of a ration from 4 hours in sunlight`,`Detachable Arm. Falls off if you take 6 damage in one round. Can be reattached`,`Blindness. All your eyes fly away and roost in a nearby tree or crevice`,`Sensitive Skin. Unpleasant, itchy rash from touching copper`,`Agile. Your limbs become longer and whip-quick. +1d6 Dexterity`,`Feather Frill. Brightly coloured feathers around your neck`,`Splinter Teeth. Your teeth are now glassy, brittle, horrible and pointy`,`Ridges. All over, up and down your back and sides`,`Acidic Slobber. Can dribble a moderately strong acid on people`,`Second Stomach. You can eat and store 1 ration or potion for later use`,`Fish Love. All fish instinctively want to be your friend. People are immune`,`Hunchback. Your spine bends upwards`,`Misshapen. May no longer run or ride a horse. Reduce Movement by 1/2`,`Faulty Memory. Must Save vs Intelligence to recall details. Will lie to conceal ignorance`,`Swap. Pick a mutation you currently have and replace it with one rolled on this table`,`Frog Eyes. They grow large and bulging`,`Emaciated. Reduce Strength, Constitution, and HP by 1d4. Need to eat 1 extra Ration per day`,`Hydra. If head cut off, Save. If passed, 2 new heads emerge`,`Hypnotic Eye. Lock eyes with a creature of 2 HD or less. It must Save or be stunned`,`Lightning Touch. Your skin tingles with electricity. No effect, but you are annoying to touch`,`Addiction. You desire alcohol. You take 1d6 Int. and Con. damage each day you do not have a drink`,`Grey Hairs. Age 2d10 years`,`Wyrdsight. One eye can see souls`,`Spike Chin. Like a doorstop`,`Amoebic. You can split and reform yourself. Each half has half stats, half HP. Infinite splittings available`,`Joint Reversal. All your knees and elbows now bend the other way`,`Detachable Limbs. Your arms, legs, and head can be removed and reattached`,`Ant Feelers. Eyes vanish. Can navigate by smell only (30' range)`,`Extra Arm. Sticks off your back. It can hold things but it's not very convenient`,`Skin Slough. Your skin falls off, exposing muscles and sinew. Charisma halved. -4 to Save vs Disease`,`Extra Arm. Sticks off your side. It can hold things including an extra weapon or a shield`,`Brittle spines. Useless, floppy spines on all sides. Cannot wear armour. Constantly shedding spines`,`Whiskers. They sense air currents and vibrations. +1d6 Wisdom`,`Foul Stench. Sharp metallic vomit. -4 Stealth`,`Bird Wings. Huge, flappy. Fly speed equal to your Movement speed`,`Heart Cannon. Can fire heart at target, as a thrown dagger. Then Save vs Death`,`Lantern Jaw. Enormous underbite`,`Twitchy. Something's wrong with your nerves. You vibrate and fidget at all times`,`Spindle Arm. A new one, red and feeble. Stick it into a fresh corpse to learn its secrets`,`Swap. Random mutation you currently is replaced with one rolled on this table`,`Slit Nostrils. Like a snake. Nose disappears`,`Beak. Your mouth becomes a chicken's beak`,`Vigorous Soul. +2 to Save vs Magic. You gain an ironclad ego`, `Flesh Hose. Connects head to torso`,`Cravings. You are hungry all the time. You consume twice as many rations as normal`,`Signal Pods. Two tentacles grow from your shoulders. The tips glow like matches`,`Toxic Blood. Immune to poison and disease. At 0 HP or below, any hits deal 1d4 damage to attacker`,`Hindbrain. Can sleep while walking or riding a horse`,`Secret Proboscis. Can extend to drink water or other liquids from tall glasses`,`Glorious Skin. Your skin becomes soft, smooth, and faintly luminescent. Gain 1d6 Charisma`,`Tar Blood. You bleed black tar`,`Perfect Teeth. A winning smile. +1d6 Charisma`,`Life-Eater. Need to eat 1 living creature a day or take 1d6 damage. Vermin work`,`Fur. Sprouts in tufts`,`Retract. You can return to your normal form for 1d6 minutes per day`,`Flipper Feet. -2 Movement on land, +2 Movement in water`,`Enormous Head. Your head swells to twice its usual size`,`Mind Split. You start hearing voices. The voices are you, or part of you. Second thoughts are good. +1d6 Int`,`Second Mouth. Inside the first one. Repeats what you say with a very slight delay`,`Glass Flesh. Blue-white and brittle. Any fall damage you take is doubled`,`Mental Regression. -4 to Intelligence. Cannot read, write, or cast spells`,`Mindless. Intelligence becomes 3. You obey any stern, simple order. Maybe time for a new character?`,`Pinecone Skull. Your head fold and ripples into a layered, complex shape`,`Insect Love. All insects instinctively want to be your friend. People are immune`,`Patterned Skin. Spotted`,`Huge. You grow, unevenly. Gain 1d6 Strength, Constitution, and HP. Lose 1d6 Intelligence`,`Owl Eyes. Large but very deep set`,`Mutable. If you have sex with someone, randomly allocate mutations between participants`,`Unstable. On death, body flails and runs around mindlessly for 10 minutes`,`People-Eater. Can only eat people for rations`,`Mirrored Hands. They swap sides`,`Tentacle Arm. One arm only. Works as normal, but slimy and flexible`,`Synthesia. Your senses are confused and miswired. You taste colours, etc. -1d6 Wisdom`,`Manic. Choose a repetitive activity (knitting, screaming, etc.) Replaces sleep. Still takes 4hrs`,`Head Rotation. Flips upside-down on your head`,`Centipede. Your legs fuse and then grow 10x1d10 little legs. You move and climb normally`,`Lumps. All over the place. The size of apples`,`Glow Pockets. Constantly glowing. Too dim to use to navigate, but easy to spot. -4 Stealth`,`Well Protected. You are immune to most diseases. Your white blood cells are ant-sized`,`Hole. Mysterious hole right through your torso`,`Lightning Blood. Immune to lightning. At 0 HP or below, any hits deal 1d6 damage to attacker`,`Wheezing Voice. Cannot shout. Breathe in or out every three words`,`Retractable Claws. Like a cat. 1d4 damage`,`Strange Voice. Something has gone awry with your vocal cords. Your voice drops three octaves`,`Breast. Just the one. If you already had some, you get a spare`,`Dire Straits. Roll again twice. Other players vote secretly on which mutation you get`,`Head Crest. A bony ridge sprouts along your forehead`,`Detachable Head. Falls off if you take 6 damage in one round. Can be reattached`,`Gills. You can breathe underwater`,`Snake Tongue. Can extend up to 1'`,`Bizarre Colour. Your skin glows a new colour (red, orange, yellow, green, blue, indigo, violet, octarine)`,`No Nails. Toenails and fingernails vanish`,`Petal Ears. Like flowers. Big, fleshy flowers`,`Chameleon Skin. +4 Stealth`,`Anemone Head. Crown of orange tentacles. Sting deals 1d4 damage`,`Utterly Jaded. Gain a +8 to Save vs Fear`,`Mismatched Flesh. Lots of lines and ripples. -1d6 HP`,`Prehensile Feet. Function as hands`,`Out of Phase. You can hover through solid objects by taking 1d6 damage per round`,`Blindness. All your eyes go milky white`,`Colour Ripple. You are always the colour of the sky overhead`,`Occasional Scales. Not quite lizard, not quite fish, not quite total coverage`,`Glue Toes. Your toes dribble sticky glue. Can't use it to climb. Slowly fills up boots`,`Long Bone Cannon. Can fire bones from arms (as crossbow). Arms are floppy afterwards`,`Feathered Skin. You develop patches of feathers`,`Cubic. Your body becomes a sort of cube, with your limbs and head at separate corners`,`Rabbit Legs. Jump twice as high`,`Rocket Fingers. You can fire your fingers as thrown daggers. The fingers do not come back`,`Fur. Coats your head and back`,`Second Face. On the back of your head. Has all the normal senses, can speak`,`Foul Spit. As a thrown dagger, 1d4 acid damage. Once per round, instead of attacking`,`Compressible. Squishy. Can squeeze under a door, given time`,`Goat Face. Face of a goatling`,`Curdling Scent. Something you emit curdles milk and blisters paint. -1d6 Charisma`,`Folding Limbs. Any extra limbs you have or gain can be folded away inside your torso`,`Spare Organs. A hairy hump with a heart, lung, liver, and stomach grows on your back`,`Rash. Horrible red lumps with white heads coat part of your body. They migrate with the moon's phases`,`Powerful Legs. Thick tendons and springy joints. +2 Movement`,`Ethereal Feelers. They sense danger. +1d6 Wisdom`,`Mammal Hatred. All mammals instinctively fear or hate you. People are immune`,`Bat Ears. Can sense 30' in the dark by clicking`,`Fins. One on your back, two on your sides. +2 Movement in water`,`Split Direction. If you are angry, gain +2 Strength. If you are calm, gain +2 Intelligence`,`Craven. Gain a -4 to Save vs Fear`,`Iron Hair. Spikes and wires. Cannot wear hats; need to shave with clippers. Painful`,`Dead Black Eyes. Like a doll's eyes. +2 Save vs Fear`,`Crystal Skin. Your skin is brittle and rocky. You cannot swim`,`Deafness. Your ears pop (like blisters)`,`Goat Eyes. Square pupils`,`Addiction. You desire blood. You take 1d6 Int. and Con. damage each day you do not have a drink`,`Slab Hands. Fingers fuse together. Can still hold weapons. Save to perform delicate tasks`,`Boils. Horrible red lumps all over your body. Save vs Wisdom to sleep`,`Mammal Love. All mammals instinctively want to be your friend. People are immune`,`Spherical. All protrusions retract. Can extend legs and arms, but can also roll`,`Quick Nerves. +1d6 Dexterity and Wisdom`,`Dire Straits. Roll again twice. GM decides which mutation you get`,`Weak Grip. Cannot hold anything heavier than a pen in your hands`,`Snake Arm. A new one. Like an eyeless, noseless boa constrictor. Disobedient`,`Chameleon Skin. No bonus to hiding, as it always shifts to vibrant colours`,`Albino. All pigment and colour leaches from your body. Your eyes are pink`,`Hydrophobic. Water slides off you`,`Heat-Sensing Eye. 30' range. Can see invisible creatures, etc`,`Giant Antlers. 1d6 sets of them. Take up 1 Inventory Slot each. +1 Defense (total, no matter how many.)`,`Lizard Tail`,`Hydra. If limb cut off, Save. If passed, 2 new limbs emerge`,`Needle Beak. Your lips are replaced with a sharp pointed beak. Too delicate to use as a weapon`,`Ant Face. Face of an antling`,`Sugar Sticky. 1 person can lick you for 2 hours to gain the benefit of 1 ration`,`Feather Crest. Wiggles up and down with your emotional state. Makes bluffing difficult`,`Ant Feelers. Can tell doppelgangers and illusions from real creatures`,`Hand Migration. They move to your elbows`,`Cilia Lips. Wriggly. Seals food inside. Like kissing a millipede`,`Second Feet. 2 of  your legs have second, backwards-facing feet. No effect`,`Second Face. On your lower back. It can see, smell, and speak but not hear`,`Massive Brain. +1d6 Intelligence. Brain pokes out of your head. Cannot wear a helmet`,`Vertical Eyelids. They blink sideways`,`Slug Slime. Can slowly climb any surface a slug could climb. Always sticky`,`Fangs. Your canine teeth sharpen. You deal 1d4 damage on a bite`,`Elongated skull. Grows backwards, bulging oddly`,`Locust Blood. You bleed flying locusts. No effect, but they fly around if you are hit`,`Musk Gland. For marking territory. Smells like old socks`,`Migratory Mouth. It roves across your body like a slug`,`Gyroscopic Guts. -1d6 Constitution, +1d6 Dexterity. Cannot be knocked prone`,`Butterfly Wings. Cannot fly, but they do look pretty`,`Sensitive Skin. Unpleasant, itchy rash from touching iron`,`Organ Vomit. You can throw up your stomach to distract predators by taking 1d6 damage`,`Homunculi Gland. If you are killed, a new version of you with 1/2 all your Stats, HP, and memories bursts free`,`Mane of Hair. Sticks out in all directions, untameable`,`Noisy Marrow. Any broken bones cause horrible wailing, hissing noises from the break`,`Inflatable. Even piercing damage causes you to deflate, and can be rolled up like a bedroll`,`Molten Blood. Your blood is now molten iron. You a very warm. 2 Inventory Slots are filled with Iron Blood`,`Migratory Teeth. Your teeth swim around under your skin, reemerging at mealtimes. No effect`,`Boneless. Gain +1d6 Dexterity. You can squeeze through gaps as small as your head`,`Stabbing Limb. One arm becomes a telescoping spear of sinew and bone. As a spear`,`Poison Spines. Quills on all sides. Cannot wear armour. 1d6+1d4 poison damage by running into people`,`Burrowing Nails. If you scratch or slash someone, a nail breaks off and slides into their skin`,`Eye Cleaners. Instead of blinking, tongues come out to clean your eyes`,`Fragile. Increase all incoming physical damage by 1`,`Burst of Speed. Take 1d6 damage to double movement for 10 minutes`,`Fluted Face. Your sinus passages become twisted and musical. Woodwind sneezes`,`Poison Cyst. Any poison you ingest is shunted into a transparent cyst on your waist`,`Beetle Blood. Your blood is now beetles`,`Snail Shell. Base Defense is 14 (as Chain). Cannot wear armour. -1d6 Dexterity`,`Ink Cloud. If you fail a Save vs Fear, you spray ink in a 20' radius`,`Evil Eye. One of your eyes becomes red and glows in the dark`,`Moist. Cannot be set on fire. Reduce all fire damage by 1`,`Dead Nerves. Immune to pain. Gain 1d6 HP`,`Extra Leg. Gain an extra leg. It doesn't speed you up or slow you down`,`Cow Tail`,`Acid Sweat. Clothes and armour are destroyed in 12 hours. A slap deals 1d4 acid damage`,`Dismal Genitals. Whatever you had going on down there is different and much less impressive now`,`Abhor. Pick one thing (rain, leopards, arrows). It abhors you and you abhor it, as if repelled by a magnet`,`Compound Eyes. Like a fly's`,`Rubber Flesh. +1d6 HP`,`Foam Blood. Fill the air with sticky red mist when seriously injured`,`Flaps. Strange glowing pancake-like things grow from your limbs`, `Goop Blood. You bleed thick green goop`,`1000 Tongues. They cover your body. -1d6 Charisma, -4 to Save vs Poison`,`Dragonfly Wings. Very fragile. Fly speed equal to your Movement speed. Can hover`,`Parasite Friends. They live in your guts. Need to eat 1 extra Ration per day`,`Glue Fingers. Your fingertips dribble sticky glue. Can't use it to climb. Gums  up book pages`,`Bent Face. All facial features migrate to one side and smush together`,`The Voices. You can hear the other players (not PCs) make jokes sometimes`,`Hairless Body. All hair flees in a sudden burst`,`Trunk. A long prehensile trunk grows on your face. Acts like another arm, but with Strength 4`,`Elastic Limbs. Your joints rotate in all directions. +1d6 Dexterity`,`Atrophy. 1d4 of your limbs become withered and useless`,`Rasp Tongue. Good for cleaning meat off bones`,`Migrating Genitals. Whatever you had going on down isn't going to be down there for much longer`,`Very Cold. +4 to Save vs Heat. Almost corpse-like`,`Solid Blood. You bleed red crystals`,`Crocodile Face. Face hinges open. Lots of new teeth. Bite attack does 1d6 damage`,`Fire Blood. Immune to fire. At 0 HP or below, any hits deal 1d6 damage to attacker`,`Spell Tumour. Gain one random spell in a lump on your head. Squeeze lump, cast spell with 2 MD`,`Colour Ripple. You are always the colour of the thing you are looking at`,`Large Ears. They double in size`,`Asymmetry. Everything you have two of you now gain an extra one of`,`Glandular. Depressed. Everything is awful and nobody cares`,`Churning Guts. Can eat rotten food as rations`,`Strange Voice. Something has gone awry with your vocal cords. Your voice rises three octaves`,`Unstable. On death, burst messily. 2d6 acid damage, 10' radius`,`Rippling Muscles. +1d6 Strength`,`Porcupine Spines. Quills on all sides. Cannot wear armour. 1d6 damage by running into people`,`Moronic. Large parts of your brain grow wings and fly away. -2d6 Intelligence`,`Spike Tongue. Good for opening bottles but not much else`,`Secret Pocket. Can hide 1 thing the size of an apple`,`Spike Warts. All over`,`Head Crest. Waving tentacles`,`Bird Leg. Just one`,`Unstable. On death, limbs run away to pursue separate diabolical agendas`,`Rubber Flesh. Any fall damage that would kill you reduces you to 0 HP instead`,`Tusks. Like a boar`,`Thick Fur. Coats your entire body. +4 to Save vs Cold`,`Unpalatable. You smell unappetizing. Most creatures won't consider you edible`,`Detachable Genitals. You grow new ones in 1d6 days`,`Full Body Dandruff. It just flakes off of you`,`Wind Blood. At 0 HP or below, you make a horrifying whistling scream. May require a Morale check`,`Molting. Once per week you shed your skin. Can be used to make coats or blankets`,`Spiracles. You can breathe through your thighs and ribs`,`Atrophy. Your head shrinks to the size of an apple. -1d6 Int, Wis, and Cha`,`Stiff Joints. Cannot bend knees, elbows as easily. -2 Movement, -1d6 Dexterity`,`Hibernate. You can fall asleep and rest for 1 year without food or water`,`Mimic. You think you can mimic voices but they always sound eerie and tormented`,`Mute. Your tongue slides away like a leech`,`Mimic. If you eat someone's face, your face will look like their face for 1 day`,`Single Bat Wing. Roll for location. Useless`,`Herbivore. Can only eat plants for rations`,`Burst of Arms. 1d6 feeble ones, emerging from one point, just under an armpit. Can hold several things`,`Extra Fingers. 2d10 extra fingers per hand`,`Gills. You need to spend at least 4 hours a day in water or you take 1 damage per hour`,`Stump Legs. Lose a joint and 1' in height`,`Dead Skin. You lose your sense of touch`,`Goggle Eyes. Eyes grow to the size of melons. 30' Darkvision, blind in sunlight`,`Horns. You can make a noise like a brass band tuning by holding your breath for 1 minute`,`Fearful Blood. If you drop below half HP, Save or become melancholy and depressed until you heal`,`Linguist. You believe you can speak with anything or anyone. You can't`,`Malleable Sleep. While asleep or unconscious you transform into a boneless liquid sack`,`Narcolepsy. 1-in-10 chance of falling asleep just before a combat encounter or stressful situation`,`Vulnerable Soul. Double all magic damage taken`,`Letterpress. Anything you read moves across your forehead in lines of text`,`Shadowless. You cast no shadow`,`Cat Friend. Cats will not harm you and will rub their faces on you. You smell faintly minty`,`Duplication. An evil twin with all your abilities pops out of your body and runs away cackling`,`Imperial Sneer. You cannot conceal your contempt for peasants, beggars, etc`,`Pampered Sleep. While asleep or unconscious your hair is combed and perfumed`,`Delusion. You must prominently ornament your verbal communications with excess vocabulary`,`Arrow Eater. You are immune to non-magical projectile damage. Arrows, slings, bolts, cannonballs`,`Mystical Reformation. Reroll all your stats and take the higher result`,`Ghost Movement. Your soul moves slightly before your body. -2 Defense`,`Wizard Rage. When angry, you temporarily grow fangs and a red frilly neck crest`,`Delusion. You are repulsed by the sight of holy symbols`,`Gemstone Eyes. Like cut sapphires. Actual sapphires, worth 10gp each`,`Dense Bones. You cannot swim and you sink in most liquids. +2 Strength`,`Incredibly Quick. You can act twice each initiative round. You still only get 1 attack. Andyoutalklikethis`,`Memorial. When you die, an elaborate stone memorial with statues will grow on top of your body`,`Useless Legs. They turn into little noodles. You weigh nothing, can be carried easily`,`Indigo Sparks. Whenever you step, faint indigo sparks mark your footprints`,`Thumb Lamp. Hold your breath and your thumb becomes a light as bright as a candle`,`Transcendent Trunks. Your legs (and only your legs) are immune to magic damage`,`Delusion. You must wear a revealing or provocative costume to use magic items or cast spells`,`Stupendous Eyebrows. They glow with strong emotions and sometimes shoot sparks`,`Palsied. Flesh twitches, fingers tap, legs bend. Dexterity is halved`,`Gemstone Eyes. Like cut rubies. Actual rubies, worth 10gp each`,`Immortal Leg. One of your legs is completely immune to all damage. +2 Defense`,`Remarkably Unlucky. Save becomes 1`,`Winning Smile. If you smile, your teeth briefly flash as brightly as a candle. Hard to read or navigate by`,`Delusion. You believe the Beige Dragon Gomsband will protect you if you call out her name`,`Feeble Muscles. Like earthworms under your skin. Strength is halved`,`Phase. If you run at a wall or door at full speed, 1-in-6 chance of phasing through. If not, 1d6 damage`,`Spell Finger. Whenever you cast a spell, a copy also targets one of your fingers (even if detached)`,`Second Sight. Can see curses and enchantments as faint glows`,`Coiled Hair. Like a tightly wound spring. Lies close to your head, dense, tightly wound`,`Mystic Eyes. Opals reflecting the moon. No pupils`,`Delusion. Pick a type of inanimate object (stairs, windows, hats, etc). You utterly loath them`,`Strange Voice. Wandering accent. The stranger the better`,`Eggshell Skin. Splinters and bleeds. -2 to Constitution, -4 to Save vs Poison`,`Warrior Teeth. They fall out. 32 of them. You can plant them to create a skeleton that lasts 1 hour`,`The Darkest Magic. Needle teeth. Cast hateful or damage-dealing spells at +1 MD/ Caster Level`,`Dead Asleep. While asleep or unconscious you appear to be a rotting corpse`, `Cannibal Desires. You can only eat the dead flesh of intelligent creatures`,`Feature Slosh. Your facial features move slower than the rest of your head. They smear and blur`,`Blowtorch Thumb. Sheds light as a candle. Deals 1d6 damage (as a dagger). Hisses faintly`,`Muscle Bound. Covered in clams, oysters, and barnacles. Cannot wear armour. Defense as Chain`,`Cross Eyed. They roll constantly, pointing in random directions. -2 Attack and Defense`,`Second Life. The first time you die, you will return to life in a column of flame in 1 round, with full HP`,`Indigestible. Skin is rubbery. You are immune to acid damage`,`Hunchseat. Your back grows a chair. Any person riding in it doesn't burden you. Cannot carry cargo`,`Boiling Blood. Comes out as sticky red steam`,`Unusual Nose. Can stretch up to 30. Functions as a rope`,`Shifting Form. Randomize your race each morning`,`Homunculi. If you die,  your head grows spider legs and runs away to commit terrible crimes`,`Disagreeable. If anyone expresses a strong opinion, Save or openly disagree with them`,`Selective Invisibility. You are invisible while seated in a chair. Has to be a chair (no benches, logs, etc.)`,`The Darkest Magic. Eyes like white orbs. Damage-dealing spells you cast inflict +2 damage`,`Delusion. Any time someone you hear someone say your name you give a little scream of terror`,`Delusion. You believe a pebble you found contains the entire world. You must protect it`,`Firemind. Fire will not harm you, but it will harm things around you`,`Mercury Arm. Arm replaced with liquid metal. Can squeeze through gaps`,`Disentangled Legs. Projected slightly forward in time. +2 Movement and Dexterity`,`Roiling Mind. Immune to mind control and charm effects. Sounds like a boiling pot`,`Head Hinge. Your brain vanishes. Your head is hollow and has a hinged top`,`Painted Features. Face is flat and smooth. Features painted on`,`Spell Eater. After you are affected by a spell, heal 1d6 HP`,`Curse Palm. Marked in silver. If you pour blood on it, the blood foams and bubbles ominously`,`Lock Hatred. Doors and chests have a 1-in-6 chance of relocking behind you`,`Eldritch Marks. Names of any people you kill appear on your back in black letters`,`Glass Sweat. You sweat small gritty glass beads`,`Enormous Underbite. Lower jaw sticks out 10"`,`Thropy. You become a deranged one-eyed swan by the light of the full moon`,`Light Sleeper. While asleep or unconscious you weigh next to nothing. You float like a balloon`,`Wizard Speed. You gain a +4 to Wisdom for Initiative. If you act first, you must Save or show off`,`Sorcerer Head. Clear glass windows to show off your brain. -2 HP`,`Moth Flesh. Your skin is wrinkled, grey, and dusty. -2 Charisma`,`Cat Nap.  While asleep or unconscious you transform into a scruffy-looking cat`,`Scorecard. Your age, diseases, and marital status are displayed on your forehead in black letters`,`Metal Mask. Like your face, but frozen in a deeply concerned expression`,`Megamind. Gain 1d6 Int and Wis. Become insufferably smug`,`Eldritch Marks. Glowing red circle on your forehead`,`Meditation. Cross legs and concentrate fully to hover 1' off the ground`,`Cloud Skin. Become a skeleton coated in thick mist. Can drink water as rations. HP becomes 6`,`Wizard Rage. When angry, you temporarily grow a 5' long white beard`,`Ear Fronds. Like two ferns or peacock tails made of glass. +4 Wisdom`,`Coldfinger. One finger is freezing cold. Can freeze a 6" radius of water in 1hr`,`Fearful Blood. If you drop below half HP, Save vs Fear`,`Wizard Rage. If you are wronged, Save or rant loudly for at least 10 minutes`,`Fear Teleport. If you fail a Save vs Fear, teleport 2d10'x10' in a random direction`,`Terror Blood. If you take a Fatal Wound, you make an ominous ticking sound and vibrate like a drum`,`Fizzbody. If you hold your breath, you weigh as much as a feather`,`Eldritch Marks. Blue stripes. They glow faintly under moonlight`,`Bulging Eyes. Like two apples nailed to your face. -2 Charisma. Cannot blink or deliberately look away`,`Eldritch Marks. Your chest is covered in black symbols, deeply and intricately carved or burned`,`Spell Effects. When a spell damages you, you shoot sparks and jets of smoke in all directions`,`Wandering Mind. You never remember marching or long-distance travel. You seem to just arrive`,`Telescope Eye. Can see 3x as far. Sticks out of your head, clicks and buzzes`,`Gold Metabolism. Eat 1gp to heal 1hp. Skin becomes faintly golden`,`Wizard Beard. Many coloured, like a fan. Waves in the wind`,`Magpie. You must Save or touch any shiny object you see. Your fingers grow long and bird-like`,`Delusion. You believe you can hear the thoughts of others. You cannot`,`Silver Fingernails. Can harm some creatures by poking them`,`Silver Tongue. Literally. +2 Charisma. Can't  help but lie sometimes`,`Linguist. You can eat one of your own fingers (they detach) to learn any one language you hear`,`Salt Sweat. You sweat small gritty nodules of salt`,`Powerful Name. Whenever you say it, it echoes and reverberates`,`Wiggling Nose. Like a finger. Can pick up small objects, flick things`,`Night Terrors. You scream while asleep. You still sleep normally and do not remember your dreams`,`Eldritch Marks. Brass stars all over your body`,`Strange Voice. Sounds like it's coming from an old radio at the bottom of a well`,`Musical Flesh. When you fail a Save vs Fear or vs Magic, you make a siren-like alarm noise for 1 min`,`Stage Magician. Once per day you swirl your cloak dramatically and appear 20' away`,`Flaming Skull Face. Impressive but frightening`,`Strange Voice. Can shout loud enough to flap flags and ripple water. Proper wizard reverb`,`Acid Spit. One per day, you can spit a glob of acid (as a thrown dagger dealing 1d6 acid damage)`,`Mystical Reformation. Reroll all your stats and take the lower result`,`Impressive Thoughts. Your head sparks and fizzes when you think deeply or study something`,`Musical Flesh. You make a loud siren-like noise whenever you have a Fatal Wound`,`Bristled. All your hair becomes as thick as a pencil and as brittle as chalk`,`Adjusted Humour. You think most statements are jokes, hidden puns, or innuendo`,`Autobiography. Your life story written in minute black letters in a spiral tattoo on your back. Grows daily`,`Flame Hair. All your hair turns into fire on a failed a Save vs Fear or a Fatal Wound. Doesn't burn you`,`Oil Spray. If you take any fire damage, you spray flammable oil in a 10' radius`,`Adjusted Humour. Blood, death, pain, and misery are absolutely hilarious to you`,`Wizard Toe. One toe is 1' long with five extra joints`,`Spell Effects. When a spell damages you, 10' radius around you sprouts flowers`,`Cloud Flesh. Soft, white, and damp. Can drink water as rations. HP halved`,`Ratchet Joints. Only move in 10 degree increments. Clicky and mechanical`,`Skin Buttons. You can unbutton your chest and open up the skin flaps. Makes surgery easy`,`Milky Eyes. Cannot see further than 10'. Need to squint to read`,`Assistants. Unless closely watched, your hands will detach and try to help you. They are incompetent`,`Strange Voice. Sounds like you're singing all the time`,`Sun-Sail Ears. Like large copper plates. You can hear spells being cast even if you can't see them`,`Pea Brain. The size of a marble. Rattles inside your head`,`Flame Hair. Your facial hair becomes fire. It doesn't burn you. Casts light as a candle`,`Wheels. Your legs are replaced with iron cart wheels. +4 Movement`,`Immortal Arm. One of your arms is completely immune to all damage. +2 Defense`,`Soul Eviction. Body is taken over by a spirit, spell, or ghost. Reroll Wis, Int, Cha. Become weirder`,`Powerful Name. Whenever you say it, an unseen chorus repeats it`,`Second Life. The first time you die, you will lurch into undead life for 6hrs. 10 HP, cannot heal`,`Miser. Must Save to spend money. Can try again in 6hrs`,`Zombie Curse. Any people you kill have a 1-in-6 chance of rising as hostile zombies in 1 round`, `Wart Faces. Grow dozens of horrible little warts, each one with your face`,`Mystic Sight. Your eyes become glowing balls of flame. Casts light as a candle`,`Second Sight. Can see disguised creatures, illusions, and doppelgangers as their true forms`,`Crispy. Your skin is paper thin and dry. You take 2x damage from fire`,`Eldritch Marks. Gold flecks, as if you were made of quartz`,`Strange Voice. Before you speak, there's a brief burst of buzzing and a small wisp of smoke`,`Meditation. Cross legs and concentrate intently for 1hr to hear thoughts of people within 30'`,`Eldritch Marks. Your face is covered in diagonal bands of white and black`,`Soul Eater. Your eyes are black orbs. Every person you kill heals you for 1d6 HP`,`Long Nails. 4" long, curved, black as coal. Very menacing`,`Cold Feet. Feet are like ice. Can walk on snow barefoot`,`Mystic Eyes. Pupils rearrange to black intricate runes`,`Hypnosis Eyes. White orbs, rotating black spirals. Disconcerting but cannot actually hypnotize people`,`Steady Hands. You will never spill a drink. Any glass or flask held will not tip or dribble`,`Recumbent Hover. If you lounge on your side in a casual manner you float 2' off the ground`,`Skull Head. Head becomes a rat's skull. Still functions normally`,`Winning Smile. If you smile, a floating after-image of your teeth hovers in the air for 10 minutes`,`Linguist. You can speak with water`,`Magic Deflection. Any spell targeting you has a 1-in-6 chance of hitting a random nearby target instead`,`Map Blindness. You cannot read a map or give directions`,`Sorcerer Hair. Made from lead coins with your face on them. Fits close to your skin`,`Wizard Whistle. Once per day, you can whistle loud enough to deal 1 damage in a 50' radius`,`Linguist. You can speak with any food you cook`,`Magnetic Hands. Iron sticks to them`,`Glowing Heart. Like a glowing coal in your chest. Casts light as a match`,`Fingerwalk. Fingers become 5' long, legs shrivel away. Walk on your fingers now, spider-like`,`Ratbody. You are fifty rats in a skin suit. When you die, the rats scatter`,`Thunder Guts. After each meal, you make a noise like a thunderstorm for 1d10 minutes`,`Unstable Shimmer. Constant microteleportation makes it difficult to tell where you are. +4 to Defense`,`Eyeless Sight. Eyes fall out and fly away. You are blind, but are convinced you can still see just a little`,`The Darkest Magic. Long stringy hair. Any time you kill a creature with a spell, heal +1 HP`,`Water Walking. You can walk on water as long as you hold your breath. (Con bonus minutes)`,`Powerful Gaze. You can lock eyes with a small creature. It must Save or be hypnotized`,`Crown of Spikes. Long metal spikes poke through your scalp. They rust`,`Yellow Sparks. Whenever you gesture, faint yellow sparks float in the air`,`Lightning Breath. 10' cone, 1d6 lightning damage, once per day`,`Autobiography. Important scenes or events grow into full colour tattoos`,`Musical Flesh. Your heartbeat sounds like a faint bell`,`Seawater Sleep. You drool 3d10 litres of seawater while asleep`,`Chronologically Detached. Take 1d6 damage to disappear and reappear 1d6 hours in the future`,`Powerful Gaze. If you lock eyes with a person, they must Save or continue locking eyes with you`,`Broadcast Brain. Everyone in 30' can sense your location as a mental noise, glow, or smell`,`Wizard Stains. Your fingers are coated in yellow grease. It marks everything you touch`,`Raincloud Friend. Follows you around outside. If inside, wanders off, returns after 1d6 hours outside`,`Filthy. Permanently matted hair, greasy fingers, and spotty complexion. -2 Charisma`,`Flickering Shadow. Like a roaring torch`,`Spores. If you die, you turn into spores. 30' radius, opaque, choking cloud`,`Cannonball Guts. Once per day, must vomit up a 2" diameter stone ball`,`Split Body. You are neatly bisected with a 1" gap between your left and right sides. No other effect`,`Eldritch Marks. Silver branched lines around your eyes`,`Lauch Legs. Once per day, raise both arms in the air to slowly rise 20' upwards on a column of fire`,`Sand Paddler. You can swim through sand as if it were water`,`Wizard Speed. You can run 4x as fast, but must Save vs Dex or smack into a wall each round your run`,`Wizard Whistle. Once per day, you can whistle to summon your hat or weapon to your hand`,`Second Sight. Can see ghosts, spells, and spirits as faint outlines`,`Thropy. You become a swarm of bees by the light of the full moon`,`Bubbles. You constantly emit a stream of floating soap bubbles as you speak`,`Liar's Nose. Glows like a candle if you tell a lie`,`Magic Trick. Produce 1 copper piece from behind your ear once per day`,`Bird Friend. Sparrows or small birds will bring you worms and beetles and expect you to be impressed`,`Delusion. You believe you cannot go outside without wearing your special hat`,`Agreeable. You must always verbally agree to any request or plan. You don't actually have to do it`,`Emergency Teleport. If you are reduced to 0 HP, you teleport 2d10x10' in a random direction`,`Glass Hair. Can shatter it with a hammer or dagger`,`Zero Buoyancy. You cannot swim. You sink instantly in water as if it wasn't there`,`Magical Odour. You constantly smell of ozone and boiled frogs`,`Soul Bargain. Can cut deals to gain people's souls once they die. You'll need to put them in jars`,`Completely Hollow. Like a sack. -2 HP, +10 inventory slots (inside your body). Mouth opens really wide`,`Terror Blood. If you take a Fatal Wound, you bleed light, fire, sparks, and screams`,`Delusion. You believe you are the race of the first person you see when you wake up each day`,`Glass Step. You can bounce off an invisible plate of force mid leap. Double distance jumped`,`Noisy Hands. Your fingerbones click and squeak like iron on slate. -4 Stealth`,`Mystic Eyes. Portals into a vast starscape`,`Wizard Hat. Your hat cannot be removed by any means`,`Ghost Genitals. Semi-visible. Immune to non-magical damage, can only interact with magical things`,`Skeleton Assistant. Your skeleton steps behind your flesh and skin. It holds up your new boneless form`,`Red Sparks. Whenever you speak, faint red sparks fly from your mouth`,`Finger Orbit. They fly around your body. No change to grip strength, carrying capacity, etc`,`Flame Hair. The hair on the top of your head becomes fire. It doesn't burn you. Casts light as a torch`,`Expressive Eyebrows. You become mute, but your eyebrows spell out everything you want to say`,`Thropy. You become a random creature by the light of the full moon`,`Delusion. You believe you can speak with birds. You cannot`,`Skull Head. Head becomes a skull with lidless eyes. -2 HP and Charisma`,`Glowing Mind. Whenver you have a really good idea your head glows like a torch for 1d10 mintues`,`Healing Touch. Can lose 1d6 HP to heal a person for the same amount once per day`,`Linguist. You can speak with plants`,`Violet Sparks. Whenever you experience a strong emotion, faint violet sparks fly from your teeth`,`Ghost Arm. Semi-visible. Immune to non-magical damage, can only interact with magical things`,`Eyeless Sight. Eyes fall out and evaporate. You can still see`,`Adjusted Figure. Legs shorten, waist broadens. Pear-shaped, ungainly, long neck. -2 Dexterity`,`Wax Body. Flammable. 2x damage from fire. Soft. -2 Strength and HP`,`Thunderbolt Hair. You are immune to lightning damage. You will be struck by lightning if possible`,`Cat Fingers. Fingers are the front halves of kittens. Hard to control. -2 Dex and Stealth`,`Snorkel. If underwater, can extend a 2' breathing tube from your left ear`,`Catastrophic Mutation. Roll on this table 2d4 more times`,`Atrophy. Your body withers and is pulled around by your normal-sized floating head. -6 Str, Dex, Con`,`Magic Trick. Pull a 10' long string of ribbons from your ear once per day`,`Orange Sparks. Whenever you move your fingers, faint orange sparks fall from your fingertips`,`Crystal Body. Quartz limbs, faceted eyes. No other effect`,`Unconvincing Body. You become a humanoid stack of twigs, rope, dirt, and cloth. No change to stats`,`Yarn Body. You are crochet. Button eyes, yarn teeth. Can be unraveled (painfully)`,`Metal Mask. Neutral, genderless, nearly featureless`,`Adjusted Figure. Legs lengthen, waist shrinks. Like a stick, ungainly, tottering. -2 Dexterity`,`Wood Body. Flammable. 2x damage from fire, +2 Strength and HP`,`Slithering Sinews. Veins and arteries move like worms. Immune to piercing damage`,`Crystal Brain. Inside your skull, brain becomes a crystal ball. Can cast scry once per day`,`Thropy. You become a wolf by the light of the full moon`,`Mechanical Guts. Horrible grinding and buzzing sounds for 1hr after every meal`,`Strength-Draining Grip. As long as you touch someone, they must Save or count their Strength as 5`,`Planetary Ring. A halo of dust and ice orbits your head. Tiny comets sometimes pass by`,`Incense Breath. Your chest has holes in it and you breathe wisps of spicy smoke`,`Goldfinger. One finger becomes solid gold. Does not bend. Worth 5gp`,`Shadow Magic. Your shadow is hideously mutated and distorted`,`Pine Needles. Your hair becomes small, dense, green, and faintly mint flavoured`, `Lightning Finger. Once per day, you can poke someone to deal 2d6 lightning damage`,`Oldfinger. One of your index fingers becomes twice as long, wrinkly, and mottled with liver spots`,`Missing Torso. Arms, legs, head in their usual spots, but nothing between. -6 Inventory slots`,`Stuck. You can only speak one word. You can change the intonation but not the word`,`Wandering Hands. If left to their own devices, they untie knots and make rude gestures`,`Heavy Sleeper. While asleep or unconscious you weigh 500lbs`,`Soluble. Your skin is grey and chalky. You take 2x damage from acid`,`Twirling. You constantly flip head over heels about once every two minutes. -2 Movement`,`Moron. Head caves in. Intelligence halved`,`Corpse Bomb. Any creatures you kill have a 1-in-6 chance of exploding. 20' radius, HDxd6 damage`,`Wizard Rage. When woken, you scream as loud as you can for 1 minute`,`Ladderguts. Once per day, you can vomit up a 20' ladder made from bone. It crumbles in 6 hrs`,`Narrator. You hear a voice in your head inaccurately narrating all your actions. -2 Wisdom`,`Root Legs. They want to burrow. No longer need to drink. -4 Movement`,`Ink Cloud. If you fail a Save vs Fear, you spray ink 10' in all directions`,`Delusion. Any plan you come up with is the best plan; all other plans are inferior`,`Sadim Curse. Any gold you touch turns to clay`,`Entangled Legs. Projected slightly backwards in time. -2 Movement and Dexterity`,`Frenzied Flesh. You gain +1 Attack per round if you attack without hesitation, fear, or tactics`,`Lava Walking. You can walk on molten rock as long as you hold your breath. (Con bonus minutes)`,`Adjusted Humour. You find the number 5 hilarious. Nothing else makes you laugh unless it's got 5 in it`,`Delusion. You believe spiders are your spies and bring you secrets. They are not and do not`,`Cleaned. Permanently smooth skin, clean and combed hair, and shining teeth. +2 Charisma`,`Chain Limb. A random limb is replaced with a lifeless steel chain. Hand/foot on the end still works`,`Spell Effects. When a spell damages you, heal 1d6 HP`,`Delusion. You believe you are invisible. People just keep making lucky guesses as to your location`,`Adaptable. In water, transform into a fish with 2 HP. If you are falling, transform into a bird with 2 HP`,`Snake Guts. Your intestines are a colony of snakes`,`Adjusted. You adopt the sex and gender of the first person you see when you wake up each day`,`Smokestack. Flesh tube sticks off your back. Emits puffs of grey smoke`,`Soluble. Take 1 damage per round you spend in water or in rain`,`Wizard Thumb. One thumb is 1' long with five extra joints`,`Suction Fingers. Each one ends in a round moist disc. Cannot accidentally drop any items held`,`Smoke Feet. Must wear special tightly sealed leather boots to walk`,`Steady Hands. Take 1d6 damage for one hand to act as an immobile rod for 1d6 rounds`,`Mind Beams. Each day, pick a person you can see. You can hear them speak no matter the distance`,`Crater Eyes. They sink into your face. Your pupils are white hateful pinpricks`,`Four Eyes. In a grid, on the front of your face`,`Treesprout. A 2' tall pine tree grows from your back. Sheds needles constantly`,`Butterfly Spit. At any time, you can spit out an orange-red butterfly. It has no nutritional value`,`Reformed Flesh. All your visible mutations are concealed as long as you are at full HP`,`Laser Blood. If you take a Fatal Wound, you die and deal 3d6 damage in a 30' radius, Save to dodge`,`Rose Head. Face becomes wrinkled. At night, it unfolds to reveal fleshy flower parts. Bees like you`,`Mirror Face. Your face appears to be the face of any person looking at it. Very unsettling`,`Glowing Tongue. If you yell as loud as you can, your tongue glows as brightly as a torch`,`Stupendous Eyebrows. Gold and scaled, like majestic snakes`,`Borrowed Senses. Can use the senses of any creature you touch as long as you maintain contact`,`Curse Palm. If you slap someone very hard in the face, they must Save or get a permanent runic mark`,`Compressible. Take 1/2 fall damage, but collapse into a 3" high disc, 1hr to return to former height`,`Curse Palm. Has a tiny black arrowhead on it. Lick it to experience weird visions for 1d10 minutes`,`Unseen Chorus. When you roll a critical success or do something amazing a huge chorus cheers`,`Skull Head. Head becomes a cat's skull. Still functions normally`,`Magic Deflection. Any spell targeting a nearby person has a 1-in-6 chance of hitting you instead`,`Aurovore. You can eat 5gp instead of a ration`,`Gyroscope Neck. Your head stays perfectly level as you walk. You can balance anything on top of it`,`Round Head. Like a perfect sphere with your features painted on`,`Tongue Fingers. Can taste anything you touch. Only 1d10 fingers affected`,`Musical Flesh. You make a pleasant bell-like tone whenever you take damage`,`Copper Metabolism. Eat 100cp to heal 1gp. Skin becomes faintly blue`,`Watercolour Skin. You look like a living impressionist painting`,`Smoothed. You are airbrushed, tidied, and polished. +2 Charisma`,`Forgetful. Save each morning to remember details from previous day`,`Flytrap Sprouts. Little green plate-like plants sprout from your head. They eat flies`,`Metal Mask. Like your face, but frozen in a neutral expression`,`Delusion. You cannot remember anyone's name and your guesses are wildly inaccurate`,`Wizard Wobble. When idle, stand on one foot and constantly sway from side to side`,`Wizard Rage. When angry, your skin glows an ominous red`,`Linguist. You can speak with fire`,`Skeleton Frame. You become unnaturally emaciated, literally only skin and bones and eyeballs`,`Sturdy Soul. Reduce all incoming magical damage by 2`,`Compulsive Eater. Consume 2 rations per meal. Save or try new foods, meats, spices`,`Foam Spray. If you take any fire damage, you spray white foam in a 10' radius. Extinguishes all fires`,`Thropy. You become a badger by the light of the full moon`,`Spell Effects. When a spell damages you, heal everyone in a 10' radius 1d6 HP (except for you)`,`Upset Stomach. Must Save to eat any spiced or novel food. Constantly queasy`,`Strange Voice. Incredibly sarcastic. Like a teenager on a road trip to the National Shoe Museum`,`Prismatic Breath. 10' cone, 1d6 magic damage, once per day`,`Broadcast Brain. Everyone in 30' can hear your thoughts as faint murmuring. You can't hear theirs`,`Ice Hatred. Snowflakes weigh 5lbs each to you. Double damage from cold and ice`,`Shimmerskin. Faint pearl patterns. You are invisible if viewed through glass`,`High Voice. Like a whistling flute, musical and sharp`,`Smokebomb. Once per day you can vanish in a puff of smoke and appear 20' away`,`Arrow Magnet. Non-magical projectiles get a +4 to hit you and deal an extra 1d6 damage`,`Wizard Rage. When you are angry, you froth. It's blue and sparkly`,`Lead Skin. +2 Defense, but cannot swim or run. Lead takes up 2 Inventory Slots`,`Secret Eater. Tongue becomes 1' long, thin, blue. Can dip into peoples ears to eat their secrets`,`Starfish Body. Flaps of flesh connect your ankles, wrists, etc. -4 Dexterity`,`Name Vision. If you know a person's name, you can see it over their head in glowing yellow letters`,`Powerful Name. Whenever you say it, it appears in smoky letters above your head`,`Time Lock. Take 1d6 damage to stop time for 2 rounds. Cannot affect anything but can move freely`,`Evil Eye. Red and pulsing. Can stare at a target to deal 1d6 damage to it once per day`, `Cruel Fingers. Unarmed attacks count as daggers. You cannot deal non-lethal damage`,`Permanent Politeness. Cannot willingly enter an occupied building without being invited`,`Ghost Leg. Semi-invisible. Immune to non-magical damage, can only interact with magical things`,`Uncertain Flesh. Each morning, Save or mutate`,`Hero of the Beach. Once a day, shout a catchphrase or your name to gain +4 Strength for 1d6 rounds`,`Cyclops. Your head becomes one giant eyeball. You eat by putting food in the pupil`,`Wizard Wisdom. Your brain sizzles like a hot stove. +4 Intelligence. Save to not offer an opinion`,`Frozen Skin. Your skin is like ice. You take 1/2 cold but 2x fire damage`,`Skull Head. Head becomes a bull's skull. Still functions normally`,`Cracked. You are peeling apart. Spend 1hr each morning tying yourself together or lose half HP`,`Eldritch Marks. Moons and sickles all over in red scars`,`Blue Sparks. Whenever you take damage, faint blue sparks fall from your ears`,`Pearl Skin. Like a giant polished shell or a tooth`,`Future Sight. Can see very slightly into the future. When a disaster happens you can shout "I knew it!"`,`Skin Cloak. The back of your neck forms a large pink cloak`,`Honeycomb Chest. Bees nest in it. They buzz all the time, but they provide a small amount of honey`,`Fire Finger. Once per day, you can poke someone to deal 2d6 fire damage`,`Assistants. Tiny homunculi grow from your shoulders. One is revoltingly evil, the other is pious and dull`,`Copyist Mind. You can accurately and quickly sketch anything you see`,`Eldritch Marks. Fish tattoos that swim all over your skin`,`Extremely Mellow. Immune to fear, mind-altering effects, panic. Cannot be hurried`,`Hollow Guts. Your intestines, stomach, etc. fall out. Your chest is an empty ribcage. -1d6 HP`,`Chronologically Detached. Take 1d6 damage to disappear and reappear 1d6 rounds in the future`,`Enormous Overbite. Upper jaw sticks out 10". Dribbly`,`Green Sparks. Whenever you jump or run, faint green sparks float in the air behind you`,`Checkered Shadow. Squares cut out of it like a checkerboard`,`Mercury Vomit. You can throw up 1L of mercury once per day`,`Wobbled. You can only cast spells, use magic items, read, write, or sing while drunk`,`Powerful Name. Whenever you say it, it dogs bark and cats hiss`,`Sorcerer's Arrogance. +4 to Save vs Fear. Utterly convinced of your own magical powers. Egotistical`,`Delusion. You believe evil powers watch you from the moon. Conceal yourself from its gaze`,`Cross Eyed. Point away from your nose`,`Evil Eye. Blue and watery. Once per day, a target you stare at must Save or age 1d10 years`,`Sorcerer Hair. Long and wild. Reacts to your emotions. Dramatic and flashy`,`Shingles. You are covered in thick grey sheets of sandpaper. +2 HP and Constitution, -2 Dex`,`Strange Voice. Slowly rises and falls like you're doing scales`,`Insubstantial Flesh. In sunlight, appear as a rotting corpse. No effect on stats`,`Eldritch Marks. Jet black eyeliner`,`Silver Metabolism. Eat 10sp to heal 1gp. Skin becomes faintly silver`,`Delusion. You believe any person you injure is dead. Any further movements are rigor mortis`,`Wizard Ears. 2' tall, pointed, tufts of bristles on the end and in the ear-holes`,`Curse Magnet. Any curse inflicted within 30' of you also affects you`,`Falsetto. You can sing indefinitely without breathing in. Can Save vs Con. to attempt to shatter glass`,`Polymorph. Reroll your race`,`Labeled. Your veins and freckles rearrange to label all your body parts and organs`,`Unusual Nose. Grows 1" whenever you lie, shrinks to normal at midnight. Bendy like a finger`,`Polymorph. Become a random creature of 2HD or less. This may make you non-sentient`,`Counting Sheep. Livestock and simple-minded animals are fascinated by your sleeping form`,`Ghost Finger. Semi-visible. Immune to non-magical damage, can only interact with magical things`,`Weather Curse. You are afflicted with rain, storms, hail, and sleet at unseasonable times`,`Insubstantial Flesh. In moonlight, appear as a rotting corpse. No effect on stats`,`Fragile Composition. Each point of damage you take also temporarily decreases all stats by 1`, `Ripple Skin. Wiggles like water during a storm. Constantly churning, shimmering`,`Uncertain Flesh. Each time you are struck by a spell, Save or mutate`,`Wizard Wobble. Most of your mass moves to your head. Any attack that hits you knocks you prone`,`Sadim Curse. Any gold you touch turns to very angry poisonous spiders`,`Lozenge Head. Flat and oblong. Eyes migrate to edges of mouth, nose becomes blowhole`,`Dream Teleport. When you sleep, Save. If failed, teleport 2d10'x10' in a random direction`,`Coral Body. Brittle, tiny feelers, crunchy movements. -4 Stealth, +2 HP`,`Wizard Rage. When angry, the top of your head rattles like a boiling kettle`,`Orbiting Eyes. You can see in all directions, but you must Save vs Dizziness when running`,`Bewildered. Eyes roll, ears flap. Wisdom halved`,`Cooling Tower Head. Like an inverted bell. Intense thoughts produce a column of steam`,`Spring Legs. Metal coils ending in feet. 1/2 fall damage, can jump twice as high`,`Wizard  Hat. Remove your hat to reveal a new, identical hat. Removed hats vanish in 5 minutes`,`Ropeguts. Once per day, you can vomit up 100' of rope made from sinew. It rots in 6 hrs`,`Hat Summoning. You can call and store your hat elsewhere. It appears and disappears nosily`,`Wizard Stains. Your hair is constantly moist and drips with bright blue fluid`,`Alcoholic Drool. Very strong. You cannot get drunk`,`Hollow. You are an empty sack of skin. Still need to eat, etc, but it falls into your hollow legs`,`Powerful Name. If anyone in 10 miles says your true name, you hear them say it`,`Unseen Chorus. When you roll a critical failure or botch something a huge chorus laughs at you`,`Shadow Magic. Your shadow acts out your hidden desires`,`Delusion. If you take 6 damage in 1 round, you fall to prone and believe you are dead for 1d6 rounds`,`Spell Finger. You can cast a random spell once per day from one finger, using 2 MD`,`Spores. You constantly shed spores. Produces white fungus, grows into mushrooms with your face`,`Stupendous Eyebrows. Butterfly iridescence`,`Detachable Head. Pops off if you take 3 damage to the head. Unlimited range`,`Dark Halo. A circle or triangle of black fire hovers over you. Looks ominous and possibly daemonic`,`Flattened. 1" thick, all other dimensions normal. -2 Constitution and HP`,`Convenienced. Your bodily waste is shunted 2 miles away, appearing with a faint magical glow`,`Snail Shell. 1'x1'x1`,`n your back. You can retreat inside of it leaving only 1 hand exposed`,`Eldritch Marks. Glowing blue star on your forehead`,`Cross Eyed. Point towards your nose`,`Fizzbody. You hover 6" off the ground as long as you are conscious`,`Turbulent Hair. Flies around as if in a violent storm. Gets in your eyes. -2 Wisdom`,`Evil Eye. Black and glassy. Weeps grease. Once per day, target must Save or drop all held objects`,`Assistants. Each morning, local wildlife (sparrows, centipedes, etc.) bring you 1d10cp and a ration`,`Milk Duct. Nutritious nozzle. Produces 1 pint of milk per day`,`Raving. You don't need to sleep, but you do need to pace and rave, doing nothing else, for 6hrs a day`,`Delusion. You believe you can sense lies. You cannot`,`Incredibly Slow. You always act last in each initiative round. And... You... Talk.... Like... This`,`Sorcerer Hair. Reaches the floor. Curly and unruly`,`Sneer. Your face is locked in a permanent expression of disdain. -2 Charisma`,`Eldritch Marks. Bright blue eyeliner`,`Twirling. You constantly spin counterclockwise, about once every two minutes. -2 Movement`,`Eldritch Marks. Grey spots and lines, like constellations`,`Floating Hands. Arms no longer exist, but hands still do. No extra range of movement`,`Eldritch Marks. Black spirals all over your body`,`Sadim Curse. Any gold you touch turns to water`,`Pin Legs. No feet. Legs end in needle-sharp points. Can use them as daggers`,`Faint Breeze. No matter where you are, a faint wind tousles your hair and moves your clothes`,`Wizard Wobble. Most of your mass moves to your feet. You cannot be knocked prone`,`Deep Voice. Like the rumble of tectonic plates`,`Gravity Guts. Small objects will orbit you. +2 Defense. Your mass takes up 2 inventory slots`,`Spell Effects. When a spell damages you, teleport 1d10x10' in a random direction`,`Thunderclap Hands. You can clap your hands to make a noise audible for 1 mile in all directions`,`Molten Flesh. It dribbles and drips. Lose 1 HP per day unless you wear a fully enclosed suit`,`Blood Addiction. You need to drink a small amount of blood per day or take 1d6 damage at sunset`,`Spindle Form. You grow 2' taller and much thinner. Your fingers are long and knobbly`,`Unusual Nose. Turns bright red whenever you swear or curse`,`Impressive Thoughts. Black smoke comes from your ears when you think deeply or study something`,`Powerful Name. When you say it, everyone who heard it feels a cold shiver down their spine`,`Twirling. You constantly cartwheel counterclockwise, about once every two minutes. -2 Movement`,`Insubstantial Flesh. In darkness or dim light, appear as a rotting corpse. No effect on stats`,`Sideways Step. Once per day, you can step through a gap of any width but at least your height`,`Shadow Magic. Your shadow is perfectly normal, no matter how mutated you are`,`Blasphemous Blubber. Capillaries form unholy runes. Immune to bludgeoning damage`,`Spell Rebound. Any spell that strikes you rebounds to also strike an adjacent target`,`Narrator. You hear a voice in your head narrating all your actions. +2 Wisdom`,`Wizard Stains. You leave black greasy footprints even if you wear shoes`,`Opalescent Shell. +2 Defense. Takes up 4 inventory slots. You can retreat inside it`,`Draining Touch. Can drain 1d6 HP from a person to heal the same amount once per day`,`Ghost Curse. Any people you kill have a 1-in-6 chance of rising as hostile ghosts in 1 round`,`Broadcast Brain. Everyone in 30' must Save or experience any strong emotion you are experiencing`,`Stupendous Eyebrows. Made of copper wire`,`Temperamental Limbs. 10% chance each limb vanishes for 24hrs. Roll every morning`,`Powerful Name. Whenever you say it, thunder rolls and horses whinny in fear`,`Clamps. Your hands are replaced with iron clamps. Like having 2 metal fingers. +2 Strength`,`Hyperbuoyancy. You float alarmingly well. You cannot drown but you cannot dive either`,`Stupendous Eyebrows. Wiry, elongated, thick, and alarming`,`Glass Limbs. Any time a limb takes 6 damage in 1 round it shatters. It grows back in a week`,`Flame Belch. Once per day, spew a 10' cone of fire and oil. 1d6 damage, save for half`,`Moth Flesh. You constantly shed small white dusty moths. They live in your pores. -2 Charisma`,`Hover. 1" off the ground at all times. Still take fall damage but do not set off pressure plates`,`Sealed Lips. They fuse shut while you sleep. Need to cut them open (1 damage) each morning`,`Fruit Chest. You produce apples. 1 per week`,`Relentless Positivity. You are always optimistic no matter how bad things are. Cannot curse or frown`,`Wizard Beard. Grey and pointed, down to  your knees`,`Amnesia. Save each morning for forget the previous day's events`,`Wandering Mind. When you sleep, it pops out of your head and hops around. Brain has 1 HP`,`Eldritch Marks. Shimmering flame tattoos all over your arms and legs`,`Stupendous Eyebrows. Spiked and elaborate. 1" wider than your head`,`Comically Promiscuous. You can't sleep with everyone but you will sleep with almost anyone`,`Eyeless Sight. Eye sockets fuse over with flesh. You can still see`,`Strange Voice. Forced to say a rhyming couplet before casting a spell or using a magic item`,`Split Body. You split into 2 characters (half of each stat, half mass). Divide mutations evenly`,`Fusion Hands. Any two mundane inanimate objects you hold at the same time will fuse together`,`Flee! If you are startled, your head flies off and disappears. You grow a new head in 1d6 minutes`] function selectRandomyk6(){ out = ''; switch(r(6)){ case 0: out = modification[r(30)]+" "+body[r(30)]; break; case 1: out = addition[r(30)]+" attached to "+body[r(30)]; break; case 2: out = modification[r(30)]+" "+addition[r(30)]; break; case 3: out = body[r(30)]+" "+fate[r(6)]; break; case 4: out = bullshit[r(30)]; break; case 5: out = weird[r(1000)]; break; } add(out) shiftButton(); } function newLimb(){ add(modification[r(30)]+" "+addition[r(30)]); } function larj(){ add(weird[r(1000)]); } function bodyPart(){ add(body[r(30)]); } </script> </div> <div class='clear'></div> </div><div class='widget HTML' data-version='1' id='HTML4'> <h2 class='title'>Spell Generator</h2> <div class='widget-content'> <button onclick='selectRandom8Cv()'>Random spell</button> <br /> <p id='outputText8Cv'></p> <script> var magic_word_list_8Cv = [`Absolute`,`Absorb`,`Abyss`,`Acid`,`Addict`,`Addiction`,`Aegis`,`After`,`Age`,`Ailment`,`Air`,`Albatross`,`Alcohol`,`Altar`,`Alter`,`Always`,`Amber`,`Analyse`,`Anchor`,`Angel`,`Anger`,`Animal`,`Animate`,`Ant`,`Antelope`,`Antennae`,`Anti`,`Antler`,`Ape`,`Apocalypse`,`Appendage`,`Appendix`,`Arc`,`Arm`,`Armadillo`,`Armor`,`Arrow`,`Artery`,`Ash`,`Ask`,`Astral`,`Attack`,`Attract`,`Aura`,`Aurora`,`Avenge`,`Awaken`,`Away`,`Axe`,`Baboon`,`Back`,`Badger`,`Bag`,`Balance`,`Ball`,`Bamboo`,`Bandage`,`Bane`,`Banish`,`Bark`,`Barren`,`Barrier`,`Basalt`,`Bat`,`Beacon`,`Beak`,`Beam`,`Bear`,`Beard`,`Beast`,`Beaver`,`Become`,`Bee`,`Beer`,`Beetle`,`Belch`,`Bellow`,`Belly`,`Bend`,`Bestow`,`Bewilder`,`Beyond`,`Bezoar`,`Bind`,`Bite`,`Black`,`Blade`,`Blasphemous`,`Blast`,`Blight`,`Blind`,`Blink`,`Blob`,`Block`,`Blood`,`Bloodhound`,`Blossom`,`Blow`,`Blue`,`Boar`,`Boat`,`Body`,`Boil`,`Bolt`,`Bone`,`Bones`,`Book`,`Bow`,`Brain`,`Breath`,`Breathe`,`Breed`,`Brew`,`Bridge`,`Brine`,`Bronze`,`Brown`,`Brush`,`Bubble`,`Build`,`Bull`,`Burn`,`Butterfly`,`Bypass`,`Cabal`,`Call`,`Camel`,`Cancel`,`Candle`,`Carapace`,`Carbon`,`Carry`,`Carving`,`Cascade`,`Cat`,`Cauldron`,`Centipede`,`Chain`,`Chameleon`,`Change`,`Changeling`,`Chaos`,`Chariot`,`Charisma`,`Charm`,`Cheat`,`Cheetah`,`Child`,`Chill`,`Choke`,`Circle`,`City`,`Clap`,`Claw`,`Clay`,`Clean`,`Cleric`,`Clinging`,`Cloak`,`Clockwork`,`Clone`,`Close`,`Cloth`,`Cloud`,`Cloying`,`Cockroach`,`Code`,`Coil`,`Colossus`,`Colour`,`Comb`,`Combine`,`Come`,`Command`,`Communicate`,`Communion`,`Compel`,`Conceal`,`Conduit`,`Cone`,`Confuse`,`Confusion`,`Conjure`,`Constitution`,`Consume`,`Contact`,`Contaminate`,`Contemplate`,`Continual`,`Control`,`Copper`,`Copy`,`Core`,`Corpse`,`Corrupt`,`Coruscatory`,`Cough`,`Courage`,`Cowardice`,`Coyote`,`Craft`,`Cranial`,`Crawl`,`Create`,`Creep`,`Cricket`,`Crime`,`Crocodile`,`Cross`,`Crouch`,`Crow`,`Crown`,`Crush`,`Cry`,`Crystal`,`Cube`,`Cult`,`Cure`,`Curse`,`Dagger`,`Damn`,`Dance`,`Dark`,`Darkness`,`Dash`,`Day`,`Dead`,`Deafen`,`Death`,`Decay`,`Deceive`,`Decimate`,`Decipher`,`Deer`,`Defend`,`Degenerate`,`Delay`,`Demon`,`Desecrate`,`Desire`,`Detect`,`Detonation`,`Devil`,`Devour`,`Dexterity`,`Diamond`,`Dig`,`Digestion`,`Dimension`,`Diminish`,`Direction`,`Dirt`,`Disc`,`Discord`,`Disease`,`Disembowel`,`Disguise`,`Disgust`,`Disk`,`Dismember`,`Dispel`,`Dissolve`,`Distant`,`Distortion`,`Distract`,`Divide`,`Doctor`,`Dog`,`Donkey`,`Doom`,`Door`,`Dragon`,`Drain`,`Draw`,`Dream`,`Drink`,`Drunk`,`Dubious`,`Duck`,`Duplicate`,`Dust`,`Dwarf`,`Eagle`,`Ear`,`Earth`,`Eat`,`Echo`,`Ectoplasm`,`Egg`,`Ego`,`Elbow`,`Eldritch`,`Electricity`,`Elemental`,`Elephant`,`Elf`,`Elk`,`Elm`,`Ember`,`Embolden`,`Embrace`,`Enchant`,`Encode`,`Endure`,`Energize`,`Enfeeble`,`Enhance`,`Enlighten`,`Ennui`,`Enrage`,`Envelop`,`Envy`,`Epiphany`,`Eternal`,`Evil`,`Eviscerate`,`Excise`,`Excrete`,`Excruciate`,`Execute`,`Exercise`,`Exhale`,`Existential`,`Exoskeleton`,`Expand`,`Expel`,`Explode`,`Explosive`,`External`,`Extract`,`Eye`,`Fake`,`Falcon`,`Fall`,`Falsehood`,`Fang`,`Farm`,`Fart`,`Fat`,`Fate`,`Fatten`,`Fear`,`Fearsome`,`Feast`,`Feather`,`Feculent`,`Fecundity`,`Feel`,`Ferret`,`Fester`,`Field`,`Fiend`,`Fight`,`Filth`,`Fin`,`Find`,`Finger`,`Fire`,`Fish`,`Fist`,`Flail`,`Flame`,`Flap`,`Flee`,`Flesh`,`Flex`,`Flick`,`Flight`,`Flower`,`Fly`,`Foe`,`Fog`,`Food`,`Foot`,`Forbidden`,`Force`,`Foresee`,`Forest`,`Forever`,`Forge`,`Form`,`Fountain`,`Fox`,`Free`,`Freeze`,`Friend`,`Frog`,`Frown`,`Fulgerous`,`Fulgurite`,`Fungal`,`Fungus`,`Fur`,`Furniture`,`Fuse`,`Gallow`,`Gas`,`Gate`,`Gaze`,`Geas`,`Gem`,`Ghost`,`Ghoul`,`Gill`,`Giraffe`,`Give`,`Glamour`,`Gland`,`Glare`,`Glass`,`Globs`,`Glow`,`Glutinous`,`Glyph`,`Goat`,`God`,`Gold`,`Golem`,`Good`,`Gorilla`,`Granite`,`Grasp`,`Grasshopper`,`Grave`,`Gravity`,`Greed`,`Green`,`Grief`,`Grind`,`Grip`,`Grow`,`Growth`,`Gruesome`,`Grunt`,`Guise`,`Gut`,`Hair`,`Hallucinate`,`Hallucinatory`,`Hammer`,`Hand`,`Hard`,`Harm`,`Harmony`,`Haruspex`,`Harvest`,`Hasten`,`Hate`,`Hawk`,`Heal`,`Health`,`Hear`,`Heart`,`Heat`,`Hedgehog`,`Heel`,`Heir`,`Hell`,`Hermit`,`Hero`,`Hex`,`Hide`,`Hinder`,`Hips`,`Hold`,`Hole`,`Hone`,`Honey`,`Hoof`,`Hook`,`Hope`,`Horn`,`Horror`,`Horse`,`Hug`,`Hummingbird`,`Hyena`,`Ice`,`Identify`,`Ignite`,`Iguana`,`Illuminate`,`Illusion`,`Imbue`,`Immoral`,`Immunity`,`Implant`,`Imprison`,`Indigo`,`Induce`,`Infect`,`Infernal`,`Infest`,`Inflict`,`Insanity`,`Insect`,`Instantaneous`,`Instill`,`Intelligence`,`Internal`,`Intestine`,`Intoxicate`,`Invest`,`Invisible`,`Iris`,`Iron`,`Jackal`,`Jar`,`Jaw`,`Jaws`,`Jellyfish`,`Joint`,`Journal`,`Joy`,`Judge`,`Jump`,`Justify`,`Kangaroo`,`Karma`,`Key`,`Kick`,`Kill`,`King`,`Kiss`,`Knee`,`Know`,`Knowledge`,`Knuckle`,`Lair`,`Lake`,`Lament`,`Land`,`Language`,`Lapse`,`Lash`,`Laugh`,`Laughter`,`Launch`,`Lava`,`Law`,`Lead`,`Leaf`,`Lean`,`Leap`,`Learn`,`Leech`,`Leg`,`Lemur`,`Lens`,`Leprous`,`Lessen`,`Lever`,`Levitate`,`Lick`,`Lie`,`Life`,`Lift`,`Light`,`Lightning`,`Limb`,`Limbo`,`Link`,`Lion`,`Lips`,`Liquid`,`Liver`,`Lizard`,`Lobster`,`Locate`,`Lock`,`Look`,`Loop`,`Lore`,`Loss`,`Love`,`Lucid`,`Lung`,`Lurk`,`Lust`,`Lynx`,`Machine`,`Madden`,`Magic`,`Magpie`,`Mahogany`,`Maidens`,`Make`,`Mane`,`Mask`,`Masochism`,`Meat`,`Meld`,`Melt`,`Memories`,`Memory`,`Mend`,`Mermaid`,`Mesmerize`,`Message`,`Metal`,`Meteor`,`Miasma`,`Mighty`,`Mind`,`Mindread`,`Mineral`,`Mirror`,`Missile`,`Mist`,`Mistake`,`Modify`,`Mole`,`Molt`,`Moment`,`Mongoose`,`Monkey`,`Monolith`,`Monster`,`Moon`,`Moose`,`Morph`,`Moss`,`Moth`,`Mouth`,`Move`,`Mucus`,`Mud`,`Mule`,`Murder`,`Muscle`,`Mustache`,`Mutate`,`Mutation`,`Mutilate`,`Nails`,`Name`,`Nature`,`Navel`,`Neck`,`Negate`,`Negation`,`Nerve`,`Never`,`Nexus`,`Nickel`,`Night`,`Nightmare`,`Noise`,`Nomad`,`Nose`,`Nullify`,`Oak`,`Object`,`Obsequious`,`Obsidian`,`Obstruct`,`Ocean`,`Octopus`,`Offend`,`Offset`,`Oil`,`Ooze`,`Open`,`Opiate`,`Opossum`,`Orange`,`Orbit`,`Orc`,`Order`,`Organ`,`Orifice`,`Orphan`,`Ostrich`,`Otter`,`Outermost`,`Owl`,`Ox`,`Pact`,`Pain`,`Palm`,`Panic`,`Panther`,`Paper`,`Paradigm`,`Paralyze`,`Paranoia`,`Parasite`,`Parrot`,`Pass`,`Pat`,`Path`,`Peace`,`Peacock`,`Permanent`,`Person`,`Petrify`,`Phantom`,`Phase`,`Pheromones`,`Phlegm`,`Phoenix`,`Pierce`,`Pig`,`Pinch`,`Pink`,`Pique`,`Piranha`,`Pit`,`Plague`,`Plant`,`Plasm`,`Plasma`,`Platinum`,`Platypus`,`Play`,`Poetry`,`Point`,`Poison`,`Porcupine`,`Pores`,`Portal`,`Possess`,`Potion`,`Pound`,`Power`,`Pride`,`Prismatic`,`Prison`,`Probability`,`Proboscis`,`Prophet`,`Protect`,`Pull`,`Pulse`,`Punch`,`Purify`,`Purple`,`Pursue`,`Push`,`Pyramid`,`Quake`,`Queen`,`Quell`,`Quiet`,`Quill`,`Quintessence`,`Rabbit`,`Racoon`,`Rage`,`Rain`,`Raise`,`Ram`,`Rashness`,`Rat`,`Rattlesnake`,`Ravage`,`Raven`,`Ray`,`Razor`,`Reach`,`Read`,`Realm`,`Reap`,`Recoil`,`Red`,`Reflect`,`Regenerate`,`Release`,`Remove`,`Rend`,`Repair`,`Repel`,`Return`,`Reveal`,`Revenge`,`Reverse`,`Revolt`,`Rhinoceros`,`Rib`,`Ring`,`Riot`,`Rip`,`Ripen`,`Ritual`,`Road`,`Robe`,`Robot`,`Rod`,`Rope`,`Rot`,`Rub`,`Ruin`,`Rumors`,`Run`,`Rune`,`Rupture`,`Rust`,`Sacrifice`,`Sadism`,`Sadness`,`Salt`,`Sanctum`,`Sand`,`Sap`,`Sapphire`,`Savage`,`Say`,`Scale`,`Scorch`,`Scorpion`,`Scramble`,`Scratch`,`Scream`,`Screech`,`Scry`,`Scythe`,`Seal`,`Secret`,`See`,`Seethe`,`Send`,`Sentinel`,`Separate`,`Serpent`,`Servant`,`Shadow`,`Shake`,`Shape`,`Shard`,`Share`,`Shark`,`Sharp`,`Shatter`,`Sheep`,`Shell`,`Shield`,`Shift`,`Shine`,`Ship`,`Shrewd`,`Shrink`,`Shrivel`,`Sight`,`Sigil`,`Signal`,`Silence`,`Silver`,`Sin`,`Sinister`,`Sit`,`Skeleton`,`Skin`,`Skull`,`Skunk`,`Sky`,`Slap`,`Slave`,`Sleep`,`Slide`,`Slime`,`Slither`,`Sloth`,`Slow`,`Sludge`,`Smell`,`Smile`,`Smite`,`Smoke`,`Snail`,`Snake`,`Snap`,`Sneeze`,`Snow`,`Sober`,`Soft`,`Soil`,`Song`,`Soothe`,`Sorrow`,`Soul`,`Sound`,`Space`,`Spasm`,`Spawn`,`Speak`,`Spear`,`Spell`,`Sphere`,`Spheres`,`Spider`,`Spin`,`Spine`,`Spirit`,`Spit`,`Spleen`,`Splice`,`Splinter`,`Sponge`,`Spore`,`Spray`,`Squamous`,`Square`,`Squeeze`,`Squid`,`Squirm`,`Squirrel`,`Stack`,`Staff`,`Stalker`,`Stand`,`Star`,`Stare`,`Stasis`,`Statue`,`Steal`,`Steam`,`Steed`,`Steel`,`Step`,`Sting`,`Stingray`,`Stitch`,`Stomp`,`Stone`,`Stork`,`Storm`,`Strain`,`Strength`,`Stretch`,`Strike`,`Stroke`,`Stun`,`Success`,`Sucker`,`Summon`,`Surprise`,`Swallow`,`Swan`,`Swarm`,`Sweat`,`Swift`,`Swing`,`Sword`,`Symbol`,`Table`,`Tail`,`Take`,`Talon`,`Tangible`,`Tap`,`Tar`,`Taste`,`Teak`,`Tear`,`Teeth`,`Tempo`,`Tendril`,`Tenebrous`,`Tentacle`,`Terrain`,`Terrify`,`Terror`,`Test`,`Thief`,`Think`,`Thorn`,`Thought`,`Threaten`,`Throat`,`Throne`,`Thunder`,`Tiger`,`Till`,`Time`,`Tin`,`Tiny`,`Titanic`,`Toe`,`Tomb`,`Tongue`,`Tool`,`Torch`,`Torment`,`Torrent`,`Tortoise`,`Torture`,`Touch`,`Tower`,`Transfer`,`Transform`,`Transmute`,`Transport`,`Trap`,`Travel`,`Traveling`,`Tree`,`Trust`,`Truth`,`Tusk`,`Unclaimed`,`Undead`,`Unhinged`,`Unique`,`Unlucky`,`Unseen`,`Uranium`,`Use`,`Useful`,`Uttermost`,`Vague`,`Vampire`,`Vanity`,`Vegetable`,`Vein`,`Vigour`,`Vile`,`Villain`,`Vine`,`Violent`,`Violet`,`Vision`,`Vodka`,`Voice`,`Void`,`Vomit`,`Vortex`,`Vulgarity`,`Vulture`,`Wail`,`Walk`,`Wall`,`War`,`Ward`,`Warp`,`Wasp`,`Waste`,`Water`,`Waterfall`,`Wave`,`Wax`,`Weak`,`Weapon`,`Weary`,`Weather`,`Web`,`Weird`,`Whale`,`Whisker`,`Whisper`,`White`,`Wiggle`,`Wight`,`Wind`,`Wine`,`Wing`,`Wisdom`,`Wish`,`Wither`,`Wizard`,`Wolf`,`Wood`,`Word`,`Worm`,`Worship`,`Wounding`,`Wrack`,`Wrath`,`Wriggle`,`Wrist`,`Write`,`Writhe`,`Yak`,`Years`,`Yellow`,`Yew`,`Zeal`,`Zealot`,`Zombie`] function get_word() {return magic_word_list_8Cv[Math.floor(Math.random() * magic_word_list_8Cv.length)]} function selectRandom8Cv(){ var tab = document.getElementById('outputText8Cv').innerHTML.split("<br>",5) var out = get_word()+" "+get_word() if (Math.random() < 0.05) out += " "+get_word() document.getElementById('outputText8Cv').innerHTML = "- "+out+"<br>" for (var i = 0; i < tab.length; i++) { document.getElementById('outputText8Cv').innerHTML += tab[i]+"<br>" } } </script> </div> <div class='clear'></div> </div><div class='widget LinkList' data-version='1' id='LinkList1'> <h2>System Documents</h2> <div class='widget-content'> <ul> <li><a href='https://docs.google.com/document/d/1SAcQlMo77kdl7O9gJkO89SAfYfioTKrj1FDonb-DzCE/edit?usp=sharing'>DIE TRYING</a></li> <li><a href='https://docs.google.com/document/d/1CWAyJDhUYKMeX9XS2khMKhhuHDq8_amyhCLlbCgI6h8/edit?usp=sharing'>GLOG - Owlbear Stew - Core Rules</a></li> <li><a href='https://docs.google.com/document/d/1skhnLMUrxOU5xbfK3TkDccdrhdyEQ90PftDZp-NpFZc/edit?usp=sharing'>Owlbear Stew - Extra Classes [WIP]</a></li> <li><a href='https://docs.google.com/document/d/14lElecm-VX9GgnQ3jgCn4JE4yJc7JWPBLeKkHv2uhMs/edit?usp=sharing'>Character Interestifier</a></li> </ul> <div class='clear'></div> </div> </div><div class='widget PopularPosts' data-version='1' id='PopularPosts1'> <h2>Popular Posts</h2> <div class='widget-content popular-posts'> <ul> <li> <a href='https://meanderingbanter.blogspot.com/2018/09/automatic-list-to-html-translator.html'>Automatic List to HTML Translator</a> </li> <li> <a href='https://meanderingbanter.blogspot.com/2018/10/OVERLOAD-YOUR-ENCOUNTER-DICE.html'>OVERLOAD YOUR ENCOUNTER DICE - Fear the Passage of Time, Meet New People, Kill Them</a> </li> <li> <a href='https://meanderingbanter.blogspot.com/2019/02/die-trying-v1.html'>DIE TRYING</a> </li> <li> <a href='https://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html'>Automatic List to HTML Translator - Version 2</a> </li> <li> <a href='https://meanderingbanter.blogspot.com/2020/04/welcome.html'>Welcome!</a> </li> </ul> <div class='clear'></div> </div> </div><div class='widget PageList' data-version='1' id='PageList1'> <h2>Pages</h2> <div class='widget-content'> <ul> <li> <a href='https://meanderingbanter.blogspot.com/'>Home</a> </li> <li> <a href='https://meanderingbanter.blogspot.com/p/index.html'>Index</a> </li> <li> <a href='https://meanderingbanter.blogspot.com/p/character-generator.html'>Random Character Generator v7.2</a> </li> <li> <a href='https://meanderingbanter.blogspot.com/p/quick-hirelings.html'>Quick Hirelings</a> </li> <li> <a href='https://docs.google.com/document/d/146z-2YleizK17FitPLEaRzdb_bxMIXM8uScvC5iL8AE/edit?usp=sharing'>FIGHTING MEN</a> </li> <li> <a href='https://meanderingbanter.blogspot.com/p/death-and-dismemberment-and-dice.html'>Death and Dismemberment and Dice</a> </li> <li> <a href='https://meanderingbanter.blogspot.com/p/encounter-enhancement.html'>Lost and Found Generators</a> </li> <li> <a href='https://meanderingbanter.blogspot.com/p/finders-keepers-lists.html'>Finders Keepers - Lists</a> </li> </ul> <div class='clear'></div> </div> </div><div class='widget BlogArchive' data-version='1' id='BlogArchive1'> <h2>All posts</h2> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2020/'> 2020 </a> <span class='post-count' dir='ltr'>(3)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2020/04/'> April 2020 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2020/01/'> January 2020 </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2019/'> 2019 </a> <span class='post-count' dir='ltr'>(21)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2019/12/'> December 2019 </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2019/11/'> November 2019 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2019/09/'> September 2019 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2019/08/'> August 2019 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2019/07/'> July 2019 </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2019/06/'> June 2019 </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2019/04/'> April 2019 </a> <span class='post-count' dir='ltr'>(5)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2019/03/'> March 2019 </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2019/02/'> February 2019 </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2019/01/'> January 2019 </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate expanded'> <a class='toggle' href='javascript:void(0)'> <span class='zippy toggle-open'> ▼  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2018/'> 2018 </a> <span class='post-count' dir='ltr'>(40)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2018/12/'> December 2018 </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2018/11/'> November 2018 </a> <span class='post-count' dir='ltr'>(6)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate expanded'> <a class='toggle' href='javascript:void(0)'> <span class='zippy toggle-open'> ▼  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2018/10/'> October 2018 </a> <span class='post-count' dir='ltr'>(8)</span> <ul class='posts'> <li><a href='https://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html'>Automatic List to HTML Translator - Version 2</a></li> <li><a href='https://meanderingbanter.blogspot.com/2018/10/north-west-marches-session-one.html'>North-West Marches Session One; or, How Much Money...</a></li> <li><a href='https://meanderingbanter.blogspot.com/2018/10/wand-generator.html'>Wand / Staff / Bullshit Generator</a></li> <li><a href='https://meanderingbanter.blogspot.com/2018/10/naming-conventions-for-weirdos-in-holes.html'>Naming Conventions for Weirdos In Holes</a></li> <li><a href='https://meanderingbanter.blogspot.com/2018/10/OVERLOAD-YOUR-ENCOUNTER-DICE.html'>OVERLOAD YOUR ENCOUNTER DICE - Fear the Passage of...</a></li> <li><a href='https://meanderingbanter.blogspot.com/2018/10/wacky-dungeon-word-generator-wip.html'>Wacky Dungeon Word Generator [WIP]</a></li> <li><a href='https://meanderingbanter.blogspot.com/2018/10/ynn-generator-and-tracker.html'>Ynn Generator and Tracker</a></li> <li><a href='https://meanderingbanter.blogspot.com/2018/10/sakers-summon-hack.html'>Saker's Summon Hack (Now with Buttons! and Poor De...</a></li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2018/09/'> September 2018 </a> <span class='post-count' dir='ltr'>(7)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2018/08/'> August 2018 </a> <span class='post-count' dir='ltr'>(7)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2018/07/'> July 2018 </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='https://meanderingbanter.blogspot.com/2018/06/'> June 2018 </a> <span class='post-count' dir='ltr'>(7)</span> </li> </ul> </li> </ul> </div> </div> <div class='clear'></div> </div> </div><div class='widget Label' data-version='1' id='Label1'> <h2>Tags</h2> <div class='widget-content cloud-label-widget-content'> <span class='label-size label-size-3'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/actual%20play'>actual play</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/advice'>advice</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/alternate%20game%20mode'>alternate game mode</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/challenge'>challenge</a> </span> <span class='label-size label-size-2'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/chambers%20of%20god'>chambers of god</a> </span> <span class='label-size label-size-5'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/class'>class</a> </span> <span class='label-size label-size-5'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/coding'>coding</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/crowdsourced'>crowdsourced</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/curse'>curse</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/death'>death</a> </span> <span class='label-size label-size-2'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/die%20trying'>die trying</a> </span> <span class='label-size label-size-2'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/DM%20screen'>DM screen</a> </span> <span class='label-size label-size-2'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/dungeon'>dungeon</a> </span> <span class='label-size label-size-2'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/finders%20keepers'>finders keepers</a> </span> <span class='label-size label-size-2'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/generator'>generator</a> </span> <span class='label-size label-size-5'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/glog'>glog</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/it%27s%20dangerous%20to%20go%20alone'>it's dangerous to go alone</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/knaves%20without%20number'>knaves without number</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/KWN'>KWN</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/LONG'>LONG</a> </span> <span class='label-size label-size-2'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/magic'>magic</a> </span> <span class='label-size label-size-2'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/magic%20weapons'>magic weapons</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/map'>map</a> </span> <span class='label-size label-size-4'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/mechanic'>mechanic</a> </span> <span class='label-size label-size-2'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/monster'>monster</a> </span> <span class='label-size label-size-3'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/north-west%20marches'>north-west marches</a> </span> <span class='label-size label-size-3'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/not%20actually%20mine'>not actually mine</a> </span> <span class='label-size label-size-3'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/not%20all%20wizards%20are%20wizards'>not all wizards are wizards</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/not%20entirely%20mine'>not entirely mine</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/not%20playtested'>not playtested</a> </span> <span class='label-size label-size-2'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/npc'>npc</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/races'>races</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/santicorn'>santicorn</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/system'>system</a> </span> <span class='label-size label-size-4'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/table'>table</a> </span> <span class='label-size label-size-3'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/tables'>tables</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/take%20this'>take this</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/theory'>theory</a> </span> <span class='label-size label-size-2'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/tiny%20dungeon'>tiny dungeon</a> </span> <span class='label-size label-size-2'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/uncut%20unedited%20and%20extra%20juicy'>uncut unedited and extra juicy</a> </span> <span class='label-size label-size-5'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/utility'>utility</a> </span> <span class='label-size label-size-1'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/wall%20of%20text'>wall of text</a> </span> <span class='label-size label-size-2'> <a dir='ltr' href='https://meanderingbanter.blogspot.com/search/label/wizard'>wizard</a> </span> <div class='clear'></div> </div> </div><div class='widget Profile' data-version='1' id='Profile1'> <div class='widget-content'> <dl class='profile-datablock'> <dt class='profile-data'> <a class='profile-name-link g-profile' href='https://www.blogger.com/profile/07247063374457045751' rel='author' style='background-image: url(//www.blogger.com/img/logo-16.png);'> Spwack </a> </dt> </dl> <a class='profile-link' href='https://www.blogger.com/profile/07247063374457045751' rel='author'>View my complete profile</a> <div class='clear'></div> </div> </div><div class='widget Followers' data-version='1' id='Followers1'> <h2 class='title'>Followers</h2> <div class='widget-content'> <div id='Followers1-wrapper'> <div style='margin-right:2px;'> <div><script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <div id="followers-iframe-container"></div> <script type="text/javascript"> window.followersIframe = null; function followersIframeOpen(url) { gapi.load("gapi.iframes", function() { if (gapi.iframes && gapi.iframes.getContext) { window.followersIframe = gapi.iframes.getContext().openChild({ url: url, where: document.getElementById("followers-iframe-container"), messageHandlersFilter: gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER, messageHandlers: { '_ready': function(obj) { window.followersIframe.getIframeEl().height = obj.height; }, 'reset': function() { window.followersIframe.close(); followersIframeOpen("https://www.blogger.com/followers/frame/5563086658557974847?colors\x3dCgt0cmFuc3BhcmVudBILdHJhbnNwYXJlbnQaByNjZGNkY2QiByMwMDgzZmYqByM0MjQyNDIyByNmZmZmZmY6ByNjZGNkY2RCByMwMDgzZmZKByM5YjliOWJSByMwMDgzZmZaC3RyYW5zcGFyZW50\x26pageSize\x3d21\x26hl\x3den\x26origin\x3dhttps://meanderingbanter.blogspot.com"); }, 'open': function(url) { window.followersIframe.close(); followersIframeOpen(url); }, 'blogger-ping': function() { } } }); } }); } followersIframeOpen("https://www.blogger.com/followers/frame/5563086658557974847?colors\x3dCgt0cmFuc3BhcmVudBILdHJhbnNwYXJlbnQaByNjZGNkY2QiByMwMDgzZmYqByM0MjQyNDIyByNmZmZmZmY6ByNjZGNkY2RCByMwMDgzZmZKByM5YjliOWJSByMwMDgzZmZaC3RyYW5zcGFyZW50\x26pageSize\x3d21\x26hl\x3den\x26origin\x3dhttps://meanderingbanter.blogspot.com"); </script></div> </div> </div> <div class='clear'></div> </div> </div><div class='widget BlogList' data-version='1' id='BlogList1'> <h2 class='title'>Inspiration and Perspiration</h2> <div class='widget-content'> <div class='blog-list-container' id='BlogList1_container'> <ul id='BlogList1_blogs'> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='https://goblinpunch.blogspot.com/' target='_blank'> Goblin Punch</a> </div> <div class='item-content'> <div class='item-thumbnail'> <a href='https://goblinpunch.blogspot.com/' target='_blank'> <img alt='' border='0' height='72' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh57NUIp1dXVNswObRqyd5a423Lfg2a7v5Lk1mV3pi8MnCvKwkpz9oFAyHFAcSuBF0eAp6t0nmACTntgReWsvTq7efShJ-LtsOygW-UBC9vm-vi_e7kCpLXM8IShlKv6HPyD4W_yzqTq-9lD2xhlv9rAdPacSJnNwkv2mmUI3xrSTBh5EHCYYl_32T0Ieo/s72-c/erasmus.jpg' width='72'/> </a> </div> <span class='item-title'> <a href='https://goblinpunch.blogspot.com/2024/11/cailish-andorum.html' target='_blank'> Cailish Andorum </a> </span> - <span class='item-snippet'> Bospero I’ve sure you’ve heard many stories of Cailish Andorum, and his great sin. However, I suspect that few of you know how it begins, or that it took ... </span> <div class='item-time'> 17 hours ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='https://coinsandscrolls.blogspot.com/' target='_blank'> Coins and Scrolls</a> </div> <div class='item-content'> <div class='item-thumbnail'> <a href='https://coinsandscrolls.blogspot.com/' target='_blank'> <img alt='' border='0' height='72' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1N1jWVUjEiCZP-x1euv2-1NQq7DV6DQxzd8CY97K-cWs_hW8VQSMrbhXLJ7JBR1MY8OhmoxE8GPtXBC4Ahr1d-GWL6nHT_ajom46JqF7qNPADcwT-lzC3dcMiim2dRXnxJe0j8mnFojR7hL8Z_SLjNuDEa6BrMJN4KWEnX0gQBx5LFPx_Mov4Qj7BPns/s72-w640-h408-c/eads-bridge-bw.jpg' width='72'/> </a> </div> <span class='item-title'> <a href='https://coinsandscrolls.blogspot.com/2024/11/osr-magical-industrial-gunboats.html' target='_blank'> OSR: Magical Industrial Gunboats </a> </span> - <span class='item-snippet'> Here's some useful information for river-based adventures using *Magical Industrial Revolution*. Skip to Part 3 or click this PDF link if you just want t... </span> <div class='item-time'> 5 days ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://weirdwonderfulworlds.blogspot.com/' target='_blank'> Weird & Wonderful Worlds</a> </div> <div class='item-content'> <span class='item-title'> <a href='http://weirdwonderfulworlds.blogspot.com/2024/11/charmin-ultra-soft-smooth-tear-product.html' target='_blank'> Charmin Ultra Soft Smooth Tear Product of the Year 2024 Not Review </a> </span> - <span class='item-snippet'> As jaded as we've become by notions like "innovation" and "progress" in this late stage of our capitalism, one should take a step back once in a while and ... </span> <div class='item-time'> 5 days ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://falsemachine.blogspot.com/' target='_blank'> False Machine</a> </div> <div class='item-content'> <span class='item-title'> <a href='http://falsemachine.blogspot.com/2024/11/veins-of-earth-workshop.html' target='_blank'> Veins of the Earth - Workshop </a> </span> - <span class='item-snippet'> 'Queen Mab's Palace' will be moving to layout soon. My gigantic review of Hugh Cooks 'Chronicles of and Age of Darkness' is done. What will False Machine b... </span> <div class='item-time'> 1 week ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://riseupcomus.blogspot.com/' target='_blank'> Rise Up Comus</a> </div> <div class='item-content'> <div class='item-thumbnail'> <a href='http://riseupcomus.blogspot.com/' target='_blank'> <img alt='' border='0' height='72' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZvrEA8wTjLM-co8Ji07IVL1pSm6tdAK4taXCqzWA3R6ooZNs8p27l-ds08hXmqOh5QA8g_HcRtfrGDzHiI2wD23W2HROgsqi52Xu6XXqb8vkAi3ipcETwD5diH25zV8p7sTgbXzYSmT38E67SIEzvpFYR5ww-mqop8lQCTfSMPmcoa9GLm16PnZB2ROQ6/s72-c/PXL_20241103_185916597.jpg' width='72'/> </a> </div> <span class='item-title'> <a href='http://riseupcomus.blogspot.com/2024/11/running-tolkien-game-that-does-not-exist.html' target='_blank'> Running a Tolkien Game that Does Not Exist </a> </span> - <span class='item-snippet'> The Lord of the Rings Adventure Game is one of my favorite licensed Tolkien games. It was released in 1991, and was largely the work of long-time ICE des... </span> <div class='item-time'> 1 week ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://cavegirlgames.blogspot.com/' target='_blank'> Cavegirl's Game Stuff</a> </div> <div class='item-content'> <div class='item-thumbnail'> <a href='http://cavegirlgames.blogspot.com/' target='_blank'> <img alt='' border='0' height='72' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghl_mWtenS71quO4C6r97UcVhfdyZhofbwQTTuJCFmNmyT8rNikq9cjlF-XsFZH7UC3B2haaB3h_yYXO2gjDv7lSQhU7ygcH_oh-7fnDo_mXXF5_CTWFbmWVd96pOq5lKWJTw_S1JTj9KDFQnmS_X-lkvbFf1u1-XHIWxH3k5smfB_ubRVo0LoyvwGIZPL/s72-w640-h640-c/00_Violet_Core_Spash_Art_wurked_webbyart_by_Sarah_Carapace%20and%20Cryskir.jpg' width='72'/> </a> </div> <span class='item-title'> <a href='http://cavegirlgames.blogspot.com/2024/10/an-interview-with-sarah-carapace.html' target='_blank'> An Interview! With Sarah Carapace! </a> </span> - <span class='item-snippet'> 1. *Right! Something a bit different. Today, I'm interviewing my good friend Sarah Carapace to promote her current kickstarter Violet Core (li... </span> <div class='item-time'> 5 weeks ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='https://hexculture.com' target='_blank'> hex culture</a> </div> <div class='item-content'> <span class='item-title'> <a href='https://hexculture.com/2024/07/runs-in-the-family.html' target='_blank'> runs in the family </a> </span> - <span class='item-snippet'> Thinking about dragonborn for an upcoming 5e game I’ll be running/playing in. This is designed to be laid atop dragonborn as they are in the book, so there... </span> <div class='item-time'> 4 months ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://roll1d12.blogspot.com/' target='_blank'> The Dungeon Dozen</a> </div> <div class='item-content'> <div class='item-thumbnail'> <a href='http://roll1d12.blogspot.com/' target='_blank'> <img alt='' border='0' height='72' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifwkDyrzw4Rd6JrOz8NSX3H67H_DO2bzTDULUiZmbgxd4rGTt98E15LBa_KlMD-gCHIhMUbwHhLxgLVPwIDvEG1f62tDDQw5f3CFFPXhyphenhyphenqHaIOalAFDjw8dQzO80x1peVDT1xTQlVeq5lfxNLZUzba1yn1uq6ZhWnY-ltsDpOsGIitGWFDQ6JiyoK8A7w/s72-w324-h603-c/Underworldotter.jpg' width='72'/> </a> </div> <span class='item-title'> <a href='http://roll1d12.blogspot.com/2024/06/a-bargain-at-any-price-unfathomable.html' target='_blank'> A Bargain at Any Price: Unfathomable Bundle in Progress </a> </span> - <span class='item-snippet'> This impecunious Underworld Otter knows a good deal when he smells it. If you crave* deep*, almost ridiculous discounts for your RPG materials, look no fu... </span> <div class='item-time'> 5 months ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='https://sheepandsorcery.blogspot.com/' target='_blank'> Sheep and Sorcery</a> </div> <div class='item-content'> <div class='item-thumbnail'> <a href='https://sheepandsorcery.blogspot.com/' target='_blank'> <img alt='' border='0' height='72' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhML7URGRHAGm_bTx52OErgXbfLRXDhnQ_bUg8dxABnk9YKETZqMVkbjgKhMOY-Ij-fPTP6M27V9HDX2h_OqXhkmqamSgnjNPkziesBGCSklfc17mHU8kIp5ZOOC8Ma90rqODBxEY1iJc05gpcOmYmCcDiiXTNwOV8RHy9BvTJHWM2sXaYbiJ8w1UmWCoo/s72-w400-h299-c/829f9cff4aee8f05b093e5d82c1e0a1d.jpeg' width='72'/> </a> </div> <span class='item-title'> <a href='https://sheepandsorcery.blogspot.com/2024/05/dragons-great-victims-of-worldbuilding.html' target='_blank'> Dragons: The Great Victims of Worldbuilding </a> </span> - <span class='item-snippet'> I'm not a fan of Wizards of the Coast dragons. I don't really feel like this should be that controversial. The organization of dragons based on the colo... </span> <div class='item-time'> 6 months ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='https://www.paperspencils.com' target='_blank'> Papers and Pencils</a> </div> <div class='item-content'> <span class='item-title'> <a href='https://www.paperspencils.com/housekeeping-2024/' target='_blank'> Housekeeping 2024 </a> </span> - <span class='item-snippet'> Coactus Illustration © Heather Gwinn. A gift she gave me in 2013 for an edition of Miscreated Creatures which I hope exists someday. Coloring by me. I am a... </span> <div class='item-time'> 10 months ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://whatwouldconando.blogspot.com/' target='_blank'> What Would Conan Do?</a> </div> <div class='item-content'> <span class='item-title'> <a href='http://whatwouldconando.blogspot.com/2023/11/spider-bankers-of-bureau-of-universal.html' target='_blank'> Spider Bankers of the Bureau of Universal Exchange </a> </span> - <span class='item-snippet'> I'll put in a picture when I have one. We're working on these a bit at a time. The Spider Bankers have been in Troika since the beginning and I've alway... </span> <div class='item-time'> 11 months ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://melancholiesandmirth.blogspot.com/' target='_blank'> Melancholies and Mirth</a> </div> <div class='item-content'> <span class='item-title'> <a href='http://melancholiesandmirth.blogspot.com/2023/06/horo-dej-artifacts-generator_10.html' target='_blank'> Horo-Dej Artifacts Generator </a> </span> - <span class='item-snippet'> Generate </span> <div class='item-time'> 1 year ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='https://bottomlesssarcophagus.blogspot.com/' target='_blank'> The Bottomless Sarcophagus</a> </div> <div class='item-content'> <div class='item-thumbnail'> <a href='https://bottomlesssarcophagus.blogspot.com/' target='_blank'> <img alt='' border='0' height='72' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSLJZ9PgCNx7q0BmpB1OWKb4GmTybsFAilsI3mKuPKRo8uMSI08XYfbwBu8JmaRW2XRZDjFEw3onVNdTKFGyPspCyW6JEcukJG_RxRpT4mPRQQoz1OEbPIjfllRrvK2JcauQkTc2igMpbi8pPRNmM6uwnW-CCHMYA9xnoftzG6NHNJzU-_U3iQ0RDM/s72-w389-h553-c/pablo-hurtado-de-mendoza-31052020-2.jpg' width='72'/> </a> </div> <span class='item-title'> <a href='https://bottomlesssarcophagus.blogspot.com/2023/05/sorcerer-afterword.html' target='_blank'> SORCERER (Afterword) </a> </span> - <span class='item-snippet'> Hi there. I'm sure you, astute reader, have noticed that this blog isn't very active anymore. That's because I don't quite have the inspiration for it. N... </span> <div class='item-time'> 1 year ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://henchmanabuse.blogspot.com/' target='_blank'> Henchman Abuse</a> </div> <div class='item-content'> <span class='item-title'> <a href='http://henchmanabuse.blogspot.com/2023/05/3d-printed-minis.html' target='_blank'> 3d printed minis </a> </span> - <span class='item-snippet'> A question for all of you - I've been ignoring the OSR and blogs (which I assume are dead at this point) and forums (also guessing, dead) and reddits and... </span> <div class='item-time'> 1 year ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://udan-adan.blogspot.com/' target='_blank'> Against The Wicked City</a> </div> <div class='item-content'> <div class='item-thumbnail'> <a href='http://udan-adan.blogspot.com/' target='_blank'> <img alt='' border='0' height='72' src='https://blogger.googleusercontent.com/img/a/AVvXsEgWobbPfsrfArPkLS1k_A1O2nxSGHr2Ju3STJ5mKvWUpoUosQIB8XL2LBL4q3EccmbrFmJqjoVOm335UZKmIn00kqat8ohFnSytNq0mMMpcf724HC8bnET1rRATXcekZWjfz3n-Ruu-YooIW95G3le7pkU0mRSh4FI6kPT81b-fi4zUYT-Qxt9su2eN0w=s72-w379-h298-c' width='72'/> </a> </div> <span class='item-title'> <a href='http://udan-adan.blogspot.com/2022/07/notes-on-semi-successful-skill-system.html' target='_blank'> Notes on a semi-successful skill system </a> </span> - <span class='item-snippet'> When I finished my Team Tsathogga campaign back in 2019, one of the things that I noted afterwards was the extent to which fighters had struggled to keep... </span> <div class='item-time'> 2 years ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://todistantlands.blogspot.com/' target='_blank'> To Distant Lands</a> </div> <div class='item-content'> <span class='item-title'> <a href='http://todistantlands.blogspot.com/2022/06/moving-blog.html' target='_blank'> Moving the blog </a> </span> - <span class='item-snippet'> I am moving this blog to a git-based version at todistantlands.github.io. For your convenience, here is a link to its RSS feed. I have migrated many of my... </span> <div class='item-time'> 2 years ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://tarsostheorem.blogspot.com/' target='_blank'> Tarsos Theorem</a> </div> <div class='item-content'> <div class='item-thumbnail'> <a href='http://tarsostheorem.blogspot.com/' target='_blank'> <img alt='' border='0' height='72' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWCYBsJZboOtLPnqyYveQ_LYpZDFBUmJkyrfJkdwJJR0g5rtXWEYDtylbzh6e4xTIHQTRVLp86yGYtvJeg6AZ8bKLPKWLNDd1mWbRabpAQVNCqixihEG2i56SlXUeaf5HppbrDnmjGgwg/s72-c' width='72'/> </a> </div> <span class='item-title'> <a href='http://tarsostheorem.blogspot.com/2021/09/srdcat-sneak-peek-collections.html' target='_blank'> SRDCAT Sneak Peek: Collections </a> </span> - <span class='item-snippet'> My first post on WTF.com is up! It's the first glimpse of SRDcat's Collections interface, which helps us organize the vast amount of game objects that... </span> <div class='item-time'> 3 years ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='https://lastgaspgrimoire.com' target='_blank'> Last Gasp</a> </div> <div class='item-content'> <span class='item-title'> <a href='https://lastgaspgrimoire.com/as-useful-as-a-pile-of-dicks/' target='_blank'> As Useful As A Pile Of Dicks </a> </span> - <span class='item-snippet'> Remember STEAL THE EYES OF YASHOGGHUH? Still working on it. The post As Useful As A Pile Of Dicks first appeared on Last Gasp. </span> <div class='item-time'> 3 years ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://homebrewhomunculus.blogspot.com/' target='_blank'> Homebrew Homunculus</a> </div> <div class='item-content'> <div class='item-thumbnail'> <a href='http://homebrewhomunculus.blogspot.com/' target='_blank'> <img alt='' border='0' height='72' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6UaYF2qJmLHdJIdhE65-rWTTUjZKj6VNNGlKLDCqR9Rawz1VMypfdR9Sl22x_e-rYws9ExgDCFWKyTYZ4hoJwIBqONBeDVj19NbheywksYz-gOVj-9KKW1FvPHoOKQ1ZoxoxhIlpz7rA/s72-w200-h320-c/od%2526d+booklet+2.png' width='72'/> </a> </div> <span class='item-title'> <a href='http://homebrewhomunculus.blogspot.com/2021/05/the-game-that-invented-epic-loot.html' target='_blank'> The game that invented epic loot: Angband (1990) </a> </span> - <span class='item-snippet'> *Angband *is a 1990 computer game in the subgenre of turn-based permadeath dungeon-crawling RPGs, also known as roguelikes. Very few people play *Angband... </span> <div class='item-time'> 3 years ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://www.northofreality.com/tales/' target='_blank'> NORTH OF REALITY</a> </div> <div class='item-content'> <span class='item-title'> <a href='http://www.northofreality.com/tales/2020/12/20/an-object-lesson-in-temperance' target='_blank'> AN OBJECT LESSON IN TEMPERANCE </a> </span> - <span class='item-snippet'> A marble statue of an angel hovered over the lagoon, with no physical connection to the Earth below. Water poured forth from an amphora in her motionless h... </span> <div class='item-time'> 3 years ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://oldskulling.blogspot.com/' target='_blank'> Old Skulling</a> </div> <div class='item-content'> <div class='item-thumbnail'> <a href='http://oldskulling.blogspot.com/' target='_blank'> <img alt='' border='0' height='72' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE9ThPIheNX0j_mT2B-uuvuGZUXS2pG8Ze7uO6xMr0OE_Kyfuzzysez33N9zDHJeImG51TR15_EEBsRejI6CEFnwNi1wlRj19FRNgXpuJLp9twH0eHIBmwnVq_OEhizKlijuxxRS57UAc/s72-w258-h400-c/image.png' width='72'/> </a> </div> <span class='item-title'> <a href='http://oldskulling.blogspot.com/2020/11/my-rpg-zine-trilogy-is-on-kickstarter.html' target='_blank'> My RPG Zine Trilogy is on Kickstarter! </a> </span> - <span class='item-snippet'> I can't believe I didn't post about it here! The Dead are Coming, Screams Amongst the Stars and Running Out of Time are on *Kickstarter right now!* Thes... </span> <div class='item-time'> 3 years ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://www.incunabuli.com/' target='_blank'> Incunabuli</a> </div> <div class='item-content'> <div class='item-thumbnail'> <a href='http://www.incunabuli.com/' target='_blank'> <img alt='' border='0' height='72' src='https://1.bp.blogspot.com/-ROEpcuJEt70/X7_MLtSn_gI/AAAAAAAABrQ/0bSlSIVeuZooTuQnNCIqJWOV7q884JeYwCLcBGAsYHQ/s72-w640-h426-c/hand.png' width='72'/> </a> </div> <span class='item-title'> <a href='http://www.incunabuli.com/2020/11/a-first-impression.html' target='_blank'> A First Impression </a> </span> - <span class='item-snippet'> *Jalisco tugged his sleeves.* His cufflinks flashed in the setting sun. Chamber music lilted neath the vaulted pergola, and the scent of wine and cut cyp... </span> <div class='item-time'> 3 years ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://twogoblinsinatrenchcoat.blogspot.com/' target='_blank'> Two Goblins in a Trenchcoat</a> </div> <div class='item-content'> <span class='item-title'> <a href='http://twogoblinsinatrenchcoat.blogspot.com/2019/12/secret-santicorn-2019-words-for-monster.html' target='_blank'> Secret Santicorn 2019: Words for Monster </a> </span> - <span class='item-snippet'> The second annual Secret Santicorn event on the OSR Discord Server is just wrapping up! It's like Secret Santa, but instead of requesting regular gifts, pa... </span> <div class='item-time'> 4 years ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='https://joeskythedungeonbrawler.wordpress.com' target='_blank'> Joeskythedungeonbrawler's Blog</a> </div> <div class='item-content'> <span class='item-title'> <a href='https://joeskythedungeonbrawler.wordpress.com/2019/12/13/re-zak/' target='_blank'> RE: ZAK </a> </span> - <span class='item-snippet'> FUCK ZAK. MAY BE I;M WRONG TO NOT BE ZAK’S FRIEND. BUT FUCK HIM. **SPOILER HINT: I;M NOT WRONG!!!1 </span> <div class='item-time'> 4 years ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='https://www.occultesque.com/' target='_blank'> Occultesque</a> </div> <div class='item-content'> <div class='item-thumbnail'> <a href='https://www.occultesque.com/' target='_blank'> <img alt='' border='0' height='72' src='https://1.bp.blogspot.com/-kPHcAkt_pIQ/XaKCMAm9CAI/AAAAAAAAAuY/DL7dQvQEMWAFVZNCrQ4AXy2P8sg8xzEwwCEwYBhgL/s72-c/tomb-rosicrucian-1600.jpg' width='72'/> </a> </div> <span class='item-title'> <a href='https://www.occultesque.com/2019/10/one-hundred-thieves-tools.html' target='_blank'> One Hundred Thieves' Tools </a> </span> - <span class='item-snippet'> "He dropped into the garden noiselessly, and I watched from my tower window with rapt curiosity. The thief approached a guard and quietly dragged him off i... </span> <div class='item-time'> 5 years ago </div> </div> </div> <div style='clear: both;'></div> </li> <li style='display: block;'> <div class='blog-icon'> </div> <div class='blog-content'> <div class='blog-title'> <a href='http://gloomtrain.blogspot.com/' target='_blank'> gloomtrain</a> </div> <div class='item-content'> <span class='item-title'> <a href='https://gloomtrain.blogspot.com/2014/07/fairy-locations-21-30.html' target='_blank'> Fairy Locations 21-30 </a> </span> - <span class='item-snippet'> 1. Here, the Giant of Slumbering Days runs down his prey of lost sheep and lost shepherds and innocent travelers. He does so merrily, with great ... </span> <div class='item-time'> 10 years ago </div> </div> </div> <div style='clear: both;'></div> </li> </ul> <div class='clear'></div> </div> </div> </div></div> <table border='0' cellpadding='0' cellspacing='0' class='section-columns columns-2'> <tbody> <tr> <td class='first columns-cell'> <div class='sidebar no-items section' id='sidebar-right-2-1'></div> </td> <td class='columns-cell'> <div class='sidebar no-items section' id='sidebar-right-2-2'></div> </td> </tr> </tbody> </table> <div class='sidebar no-items section' id='sidebar-right-3'></div> </aside> </div> </div> </div> <div style='clear: both'></div> <!-- columns --> </div> <!-- main --> </div> </div> <div class='main-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> <footer> <div class='footer-outer'> <div class='footer-cap-top cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left footer-fauxborder-left'> <div class='fauxborder-right footer-fauxborder-right'></div> <div class='region-inner footer-inner'> <div class='foot no-items section' id='footer-1'></div> <table border='0' cellpadding='0' cellspacing='0' class='section-columns columns-2'> <tbody> <tr> <td class='first columns-cell'> <div class='foot no-items section' id='footer-2-1'></div> </td> <td class='columns-cell'> <div class='foot no-items section' id='footer-2-2'></div> </td> </tr> </tbody> </table> <!-- outside of the include in order to lock Attribution widget --> <div class='foot section' id='footer-3' name='Footer'><div class='widget Attribution' data-version='1' id='Attribution1'> <div class='widget-content' style='text-align: center;'> Simple theme. Powered by <a href='https://www.blogger.com' target='_blank'>Blogger</a>. </div> <div class='clear'></div> </div></div> </div> </div> <div class='footer-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </footer> <!-- content --> </div> </div> <div class='content-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </div> <script type='text/javascript'> window.setTimeout(function() { document.body.className = document.body.className.replace('loading', ''); }, 10); </script> <script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/984859869-widgets.js"></script> <script type='text/javascript'> window['__wavt'] = 'AOuZoY4ha8IAMB36ZHa5Ncw_1tQYXRSJAQ:1732506678612';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d5563086658557974847','//meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html','5563086658557974847'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '5563086658557974847', 'title': 'Meandering Banter', 'url': 'https://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html', 'canonicalUrl': 'http://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html', 'homepageUrl': 'https://meanderingbanter.blogspot.com/', 'searchUrl': 'https://meanderingbanter.blogspot.com/search', 'canonicalHomepageUrl': 'http://meanderingbanter.blogspot.com/', 'blogspotFaviconUrl': 'https://meanderingbanter.blogspot.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': false, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': '', 'encoding': 'UTF-8', 'locale': 'en', 'localeUnderscoreDelimited': 'en', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Meandering Banter - Atom\x22 href\x3d\x22https://meanderingbanter.blogspot.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Meandering Banter - RSS\x22 href\x3d\x22https://meanderingbanter.blogspot.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Meandering Banter - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/5563086658557974847/posts/default\x22 /\x3e\n\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Meandering Banter - Atom\x22 href\x3d\x22https://meanderingbanter.blogspot.com/feeds/3817865132288810912/comments/default\x22 /\x3e\n', 'meTag': '', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': false, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/da8f33dd880cc4f1', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Share to X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': false, 'jumpLinkMessage': 'Read more', 'pageType': 'item', 'postId': '3817865132288810912', 'pageName': 'Automatic List to HTML Translator - Version 2', 'pageTitle': 'Meandering Banter: Automatic List to HTML Translator - Version 2'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard!', 'ok': 'Ok', 'postLink': 'Post Link'}}, {'name': 'template', 'data': {'name': 'Simple', 'localizedName': 'Simple', 'isResponsive': false, 'isAlternateRendering': false, 'isCustom': false, 'variant': 'dark', 'variantId': 'dark'}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Automatic List to HTML Translator - Version 2', 'description': 'Update : Version 3 \xa0is now live, has fewer bugs (???) and greatly improved syntax NEW FEATURES Multiple tables in one Nested sub-tables ...', 'url': 'https://meanderingbanter.blogspot.com/2018/10/automatic-list-to-html-translator-v2.html', 'type': 'item', 'isSingleItem': true, 'isMultipleItems': false, 'isError': false, 'isPage': false, 'isPost': true, 'isHomepage': false, 'isArchive': false, 'isLabelSearch': false, 'postId': 3817865132288810912}}]); _WidgetManager._RegisterWidget('_NavbarView', new _WidgetInfo('Navbar1', 'navbar', document.getElementById('Navbar1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'lightboxEnabled': true, 'lightboxModuleUrl': 'https://www.blogger.com/static/v1/jsbin/2646514562-lbx.js', 'lightboxCssUrl': 'https://www.blogger.com/static/v1/v-css/1964470060-lightbox_bundle.css'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'sidebar-right-1', document.getElementById('HTML1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML3', 'sidebar-right-1', document.getElementById('HTML3'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML4', 'sidebar-right-1', document.getElementById('HTML4'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_LinkListView', new _WidgetInfo('LinkList1', 'sidebar-right-1', document.getElementById('LinkList1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_PopularPostsView', new _WidgetInfo('PopularPosts1', 'sidebar-right-1', document.getElementById('PopularPosts1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_PageListView', new _WidgetInfo('PageList1', 'sidebar-right-1', document.getElementById('PageList1'), {'title': 'Pages', 'links': [{'isCurrentPage': false, 'href': 'https://meanderingbanter.blogspot.com/', 'title': 'Home'}, {'isCurrentPage': false, 'href': 'https://meanderingbanter.blogspot.com/p/index.html', 'id': '6891956018013524139', 'title': 'Index'}, {'isCurrentPage': false, 'href': 'https://meanderingbanter.blogspot.com/p/character-generator.html', 'id': '4699081240007796528', 'title': 'Random Character Generator v7.2'}, {'isCurrentPage': false, 'href': 'https://meanderingbanter.blogspot.com/p/quick-hirelings.html', 'id': '4020838340316684980', 'title': 'Quick Hirelings'}, {'isCurrentPage': false, 'href': 'https://docs.google.com/document/d/146z-2YleizK17FitPLEaRzdb_bxMIXM8uScvC5iL8AE/edit?usp\x3dsharing', 'title': 'FIGHTING MEN'}, {'isCurrentPage': false, 'href': 'https://meanderingbanter.blogspot.com/p/death-and-dismemberment-and-dice.html', 'id': '4493028228288905264', 'title': 'Death and Dismemberment and Dice'}, {'isCurrentPage': false, 'href': 'https://meanderingbanter.blogspot.com/p/encounter-enhancement.html', 'id': '6087216094048166118', 'title': 'Lost and Found Generators'}, {'isCurrentPage': false, 'href': 'https://meanderingbanter.blogspot.com/p/finders-keepers-lists.html', 'id': '3463532093627020149', 'title': 'Finders Keepers - Lists'}], 'mobile': false, 'showPlaceholder': true, 'hasCurrentPage': false}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar-right-1', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_LabelView', new _WidgetInfo('Label1', 'sidebar-right-1', document.getElementById('Label1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_ProfileView', new _WidgetInfo('Profile1', 'sidebar-right-1', document.getElementById('Profile1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_FollowersView', new _WidgetInfo('Followers1', 'sidebar-right-1', document.getElementById('Followers1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogListView', new _WidgetInfo('BlogList1', 'sidebar-right-1', document.getElementById('BlogList1'), {'numItemsToShow': 0, 'totalItems': 26}, 'displayModeFull')); _WidgetManager._RegisterWidget('_AttributionView', new _WidgetInfo('Attribution1', 'footer-3', document.getElementById('Attribution1'), {}, 'displayModeFull')); </script> </body> </html>