One Inch Square has moved!

You will be automatically redirected to the new address, OneInchSquare.net. If that does not occur, visit
OneInchSquare.net
and update your bookmarks.

Saturday, February 27, 2010

Creature Variant: Kobold Fire Skeleton

"There is a sound like breaking branches and the clattering of bones.  Something stirs among the smoldering remains of the pyre, and suddenly the bones of the departed kobolds rise from the ashes and compose themselves.  With a whoosh like tinder finally set alight, the skeletons are engulfed in flame.  One raises a bony, burning finger, and from within the empty sockets of its eyes bolts of roiling fire grow..."

The players in my campaign (Keep on the Shadowfell) recently tangled with a nasty goblin named Irontooth who had been leading a band of kobolds in raids against the town of Winterhaven.  They were unable to take him down in their first encounter with him and were forced to regroup and rest up.  Since they had wiped out most of his minions in their initial assault on his hideout, I wanted to make their return visit a little more interesting than finding him alone in a cave.  I decided that while the PCs were licking their wounds, the few remaining kobolds would gather up their dead and perform last rites.

Kobolds have a strong association with dragons, so it seemed appropriate for them to burn their dead in a funeral pyre, symbolic of the "cleansing fire" of the dragons they worshiped.  In addition to being a nice way to make the world seem more realistic and alive (the PCs would return to the cave to find a smoldering pyre and kobold bones) it also let me introduce a what I hoped would be a cool and unexpected encounter.

In keeping with the undead themes presented later, I envisioned the Kobold Wyrmpriest gathering the bodies and heaping them on a pyre, performing a dark ritual (perhaps influenced by the teachings of a priest of Orcus).  This rite had the power to reanimate the dead to ward against intruders.  The bones of the fallen would rise from the ashes, wreathed in fire, flames roiling inside their hollow eye sockets.

Thus, the Kobold Fire Skeleton was born:


These creatures provided a fun, unexpected encounter for the PCs who were in the middle of patting themselves on the backs for dispatching Irontooth and his minions.  In the actual encounter in which they appeared, I tossed a handful of kobold minions at the PCs (a hunting party that had returned to the cave and was ordered by Irontooth to guard the entrance), surprising the players by having the skeletons rise in the second round of combat. The appearance of flaming kobold skeletons that shot fire from their eye sockets elicited a couple of "whoas" and at least one "cool", which, as a DM, is one of the more rewarding words you can hear at the table.

Dragonborn Expressions

One of my players, who happens to be new to D&D, is really getting into his character.  He is playing as a Dragonborn, a race of dragon-like humanoids that first appeared in the D&D 3.5 supplement Races of the Dragon and became a core race in 4th Edition.  When Wizards of the Coast released the 4E supplement Player's Handbook Races: Dragonborn, my player and I were both intrigued by the short sidebar included within entitled "Speaking Like A Dragonborn".  I thought the use of such phrases was a great way to flesh out a character so I created a few of my own for my player to use as he saw fit.  I present them here for anyone else who might want to use them.

"Sometimes snakes walk upright." - An expression of contempt, originally used to belittle a fellow dragonborn (comparing them to little more than a snake with legs). Implies that the person in question is deceitful, untrustworthy, or lowly.  "What do I think of him? You know what they say, 'Sometimes snakes walk upright'."

"By/with tooth, claw, and scale." - A proclamation that one will overcome a difficult obstacle with whatever means available.  "We shall defeat them by tooth, claw, and scale."

"Grow wings to fool a dragon" - Response to an idea deemed ridiculous or foolish, or a request to do the impossible.  "What a brilliant plan.  Why don't I just grown wings to fool a dragon while we're at it?"

"Had I wings, I would still not be a dragon." - Both a statement of identity (distinguishing the proud dragonborn people from the dragons they once served), as well an observation that superficial changes do not change who a person or thing is.

"A beautiful blade does not make it keen." - The dragonborn version of "beauty is only skin deep", also a philosophical warning against putting form over substance.

"A blunt sword is the weapon of a fool."/"Only a fool wields a blunt sword." -  Wisdom prevails over ignorance.

"An axe will break down a door, but that's not what axes are for." - Whimsical expression along the lines of "use the right tool for the job".

"Greet with an open mouth"/"Be greeted by open mouths"- References the dragonborn ability to breathe fire, acid, etc., which tends to be an act of violence and, naturally, requires one to open its mouth.  It means: to receive something or someone with hostility, to vehemently oppose something. By contrast "be greeted with mouths closed" is the equivalent of "welcome with open arms".

"To act with open mouth(s)"/"Act with their mouths wide" -  To do something foolish without thinking it through first.

"You can't unbreak an egg." - There's no turning back, what's done is done.

"By Io's blood" - Exclamation of conviction or amazement. "By Io's blood, I've never seen such courage!", "By Io's blood, I will prevail!"

"A Tiefling with scales" - Similar to "a wolf in sheep's clothing"

"I have but my blood to give, as Io did before me." -  A solemn oath of service or loyalty.

"You may take my life but not my honor." - A rebuke to one's enemies.

"A scale may deflect an arrow. Then again, sometimes it may not." - Somewhat equivalent to "you win some, you lose some", also used sometimes to mean "who knows why things happen the way they do."

"Some days it's as if every head of Tiamat is looking your way." - Roughly equivalent to "shit happens".

"Allies before Self. Family before Allies. Clan before Family. Ancestors before Clan.  Honor before all." A Dragonborn oath.

"If I had wings and a tail, I'd be a dragon." - A statement expressing incredulity, and expression of disbelief at another's claims.  -"I slew the Umberhulk with nothing but a knife!" -"Right, and if I had wings and a tail, I'd be a dragon."

Friday, February 5, 2010

Painted Hirst Arts Chest


Miniature:
Hirst Arts Chest Unpainted
Before
Hirst Arts Chest Painted 2
After


Paints:
  • Thinner (50% Water, %25 Liquitex Slo-Dri, %25 Windsor & Newton Flow Improver)
  • Vallejo Game Color 2 White Primer
  • Vallejo Game Color 42 Parasite Brown (drybrushing)
  • Vallejo Game Color 43 Beasty Brown (base coat)
  • Vallejo Game Color 45 Charred Brown (wash)
  • Vallejo Game Color 53 Chainmail Silver (chest bands and latch)
  • Vallejo Game Color 68 Smoky Ink (wash)
  • Vallejo Game Color 70 Matt Varnish (clear coat)

Brushes:
  • Prince August Super Detail Size 3 (primer coat)
  • Vallejo Size 0 (base coat/wash)
  • Privateer Press Formula P3 Fine Hobby Brush (chest bands and latch)
  • Reaper Pro Paint Size 2 (drybrushing)

Tuesday, February 2, 2010

Copying Compendium Stat Blocks Into Google Docs

I've been using Google Docs since the beginning of the D&D campaign I'm running to write up encounters, adventures, etc. Although Docs is pretty bare-bones in its functionality, the fact that it is "cloud-based" and cross-browser/cross-OS makes it incredibly convenient to use. Plus, it's free, and with all the money I'm spending on rulebooks, supplements, DDI, minis, and D&D Themed Jones Soda, free is definitely welcome.

Unfortunately, complex formatting in Google Docs can be a bit of a chore, and if you've ever tried to copy a monster stat block from the D&D Compendium and paste it into Docs, you've no doubt discovered that it doesn't quite work right.


Compendium on the left, Google Docs on the right


It turns out, however, that most of the underlying formatting is still there, Google Docs is just missing the piece that tells the browser how to render it all as intended. The solution is fairly simple, fortunately.

THE SOLUTION IN THREE EASY STEPS

Step 1:
  1. In your Google Document, go to Edit->Edit CSS.
  2. Copy and Paste the following into the popup window:

    html>body {
    font-size: 12px;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.5em;
    }

    div.detail {
    background: #fff;
    width: 560px;
    color: #3e141e;
    }
    div.detail {
    font-size: 0.916em;
    }
    div.detail p {
    padding-left: 15px;
    color: #3e141e;
    }
    div.detail table {
    width: 100%;
    }
    div.detail table td {
    vertical-align: top;
    padding: 0 10px 0;
    background: #d6d6c2;
    border-bottom: 1px solid #fff;
    }
    div.detail p.flavor, div.detail span.flavor, div.detail ul.flavor {
    display: block;
    padding: 2px 15px;
    margin: 0;
    background: #d6d6c2;
    }
    div.detail p.powerstat {
    padding: 0px 0px 0px 15px;
    margin: 0;
    background: #ffffff;
    }
    div.detail span.ritualstats {
    float: right;
    padding: 0 30px 0 0;
    }
    div.detail p.flavorIndent {
    display: block;
    padding: 2px 15px 2px 30px;
    margin: 0;
    background: #d6d6c2;
    }
    div.detail p.alt, div.detail span.alt, div.detail td.alt {
    background: #c3c6ad;
    }
    div.detail th {
    background: #1d3d5e;
    color: #fff;
    text-align: left;
    padding: 0 0 0 5px;
    }
    div.detail i, div.detail em {
    font-style: italic;
    }
    div.detail ul {
    list-style: disc;
    margin: 1em 0 1em 30px;
    }
    div.detail table, div.detail ul.flavor {
    margin-bottom: 1em;
    }
    div.detail ul li {
    color: #3e141e;
    }
    div.detail ul.flavor li {
    /* list-style-image: url("../images/bullet.gif"); */
    margin-left: 15px;
    }
    div.detail a {
    color: #3e141e;
    }
    div.detail blockquote {
    padding: 0 0 0 22px;
    background: #d6d6c2;
    }
    div.detail h1 {
    font-size: 1.09em;
    line-height: 2;
    padding-left: 15px;
    margin: 0;
    color: #fff;
    background: #000;
    }
    div.detail h1.player {
    background: #1d3d5e;
    font-size: 1.35em;
    }
    div.detail h1.monster {
    background: #4e5c2e;
    height: 38px;
    }
    div.detail h1.dm {
    background: #5c1f34;
    }
    div.detail h1.trap {
    background: #5c1f34;
    height: 38px;
    }
    div.detail h1.atwillpower {
    background: #619869;
    }
    div.detail h1.encounterpower {
    background: #961334;
    }
    div.detail h1.dailypower {
    background: #4d4d4f;
    }
    div.detail h1.magicitem {
    background: #d8941d;
    }
    div.detail h1.utilitypower {
    background: #1c3d5f;
    }
    div.detail h1 .level {
    padding-right: 15px;
    margin-top: 0;
    text-align: right;
    float: right;
    }
    div.detail h1.monster .level, h1.trap .level {
    margin-top: 0;
    text-align: right;
    position: relative;
    top: -60px;
    }
    div.detail h1.monster .type, div.detail h1.monster .xp {
    display: block;
    position: relative;
    z-index: 99;
    top: -0.75em;
    height: 1em;
    font-weight: normal;
    font-size: 0.917em;
    }
    /* Traps */
    div.detail h1.trap .level {
    margin-top: 0;
    text-align: right;
    }
    div.detail h1.trap .type, div.detail h1.trap .xp {
    display: block;
    position: relative;
    z-index: 99;
    top: -0.75em;
    height: 1em;
    font-weight: normal;
    font-size: 0.917em;
    }
    div.detail .traplead {
    display: block;
    padding: 1px 15px;
    margin: 0;
    background: #ffffff;
    }
    div.detail .trapblocktitle {
    display: block;
    padding: 1px 15px;
    margin: 0;
    background: #d6d6c2;
    font-weight: bold;
    }
    div.detail .trapblockbody {
    display: block;
    padding: 1px 15px 1px 30px;
    margin: 0;
    background: #ffffff;
    }
    /* Detail page related link section */
    /* -------------------------------------------- */
    div.detail #RelatedArticles h5 {
    width: 100px;
    float: left;
    padding-top: 10px;
    padding-left: 20px;
    color: #3e141e;
    font-weight: bold;
    }
    div.detail #RelatedArticles ul.RelatedArticles {
    padding: 10px 0 0 0;
    float: right;
    width: 430px;
    margin: 0;
    list-style: none;
    }
  3. Hit OK.

Step 2:
  1. Find your favorite monster in the D&DI Compendium, click on the link.
  2. Click on the popup stat block (so it has focus) and "Select All" (Edit->Select All in most browsers, Ctrl-A in Windows, Command-A in Mac OS)
  3. Copy the selection (Edit->Copy in most browsers, Ctrl-C or Command-C)
  4. In your Google Document, move the cursor to where you want your monster and paste (Ctrl-V or Command-V)

Step 3:
  1. In your Google Document, go to Edit->Edit HTML.
  2. Find the line that says
    <div id="detail">
    You may want to use your browser's find utility (usually Ctrl-F or Command-F)
  3. Change that line to say
    <div class="detail">
  4. Click Update.

That's it, your pasted stat block should look pretty similar if not identical to the one in the Compendium. Note, you will only have to do Step 1 once per document, but you'll have to repeat Step 3 every time you paste in a new monster block. Not a perfect solution, but it's a start.

WHAT I DID

As it turns out, when you copy the stat block from the Compendium, Google Docs preserves the underlying HTML in addition to the text. This means that all of the structure is there, but Google Docs is missing the information on how to display it. This was found easily enough by looking at the source of the Compendium page. I grabbed the relevant CSS (Cascading Style Sheets, a markup file that allows developers to customize the look/feel of a site) and modified them slightly. Briefly, here is what I did:
  1. Grabbed the following CSS file: http://www.wizards.com/dndinsider/compendium/styles/detail.css
  2. Removed the @import url(site.css) from the top (not useful to us).
  3. Replaced all instances of the words #detail with div.detail (original styling applied to only a block with the id of detail, now it applies to any div of the class detail, which means we can paste as many of these stat blocks into our document and it will still work).
  4. From the first div.detail block, removed the float line (to avoid formatting problems) and padding line (to avoid unnecessary border around the block).
  5. Added the following which sets the font and line heights to match the Compendium:
    html>body {
    font-size: 12px;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.5em;
    }

TWEAKING

If you know anything about CSS, you can modify the CSS in your Google Doc to change how the stat block is displayed. For instance, if you want the stat block to match the width of the images from the Monster Builder, change the div.detail line from width: 560px; to width: 432px;

CAVEATS

Since you're changing the style sheets which control how the page is rendered, there is a chance that these changes could effect the rest of your document. Additionally, I have tested this mostly with Firefox on Windows/Mac. Results may vary using other browsers/systems (notably: the Chrome browser on Mac Snow Leopard seems to have issues with the Edit CSS popup).