Ornamentation: Polishing Gems

Hope Diamond, By David Bjorgen

Hope Diamond, By David Bjorgen (Own work) [GFDL, CC-BY-SA-3.0 or CC BY-SA 2.5-2.0-1.0], via Wikimedia Commons

Creighton Broadhurst of Raging Swan Press (I like Raging Swan products) wrote a post last week about Gygax On… Treasure, speaking mostly of how most treasures are likely to consist of a collection of varied but valuable items, rather than a simple chest full of coin or pouch of gems. Coins and gems will probably be involved, as might jewelry and objets d’art, but there might be trade goods (barrels of wine, furs) or luxury items (such as spices).

One of the items listed was “a two-handed sword (with silver wire wrapped about its hilt and lapis lazuli pommel to make it worth three times its normal value)“, and it occurred to me that I haven’t seen guidelines to help make items like this. I’ve seen guidelines for randomly generating weapons (possibly masterwork), and for jewelry (though often that just identifies the gold piece value range and suggests items that might be worth that value), but never really any tables for generating ‘decorated items’.

I started to write a post about this, then realized it’s likely to run pretty long. Thankfully the topic almost naturally splits itself up, at each stage I can add another piece. In good programmer fashion, I’ve got the high-level design done, but will implement from the bottom, most-detailed part up.


Gems are divided into two general classes, semi-precious stones and precious stones. Precious stones are ideally clear, even-colored (with some exceptions; some particular irregularities are very appealing), and often cut so they are faceted. Semi-precious stones are more common and are often opaque and/or have patterns or irregularities in their coloration that give them their appeal.

Some earlier editions of D&D had fairly complex rules for determining gem value, but this article is based more closely on the Pathfinder Roleplaying Game. This model identifies six grades of gems. Each grade has a different standard value, and it can be easiest to simply use the base values. There can also be some variation in the values, but not nearly as much as the earlier editions.

Grade Name Standard Value Random Value Random Range
1 Least Semi-Precious 10 gp 5 gp + 2d4 gp 7-13 gp
2 Lesser Semi-Precious 50 gp 25 gp + 2d4 × 5 gp 35-65 gp
3 Semi-Precious 100 gp 50 gp + 2d4 × 10 gp 70-130 gp
4 Greater Semi-Precious 500 gp 250 gp + 2d4 × 50 gp 350-650 gp
5 Lesser Precious 1,000 gp 500 gp + 2d4 × 100 gp 700-1,300 gp
6 Greater Precious 5,000 gp 2,500 gp + 2d4 × 500 gp 3,500-6,500 gp

Both the standard value and the random value are workable. The standard value feels a little like funny-shaped coins (especially considering the recommendation to assume 50 gems weighs a pound) but it really is straightforward and easy to apply. The random value amounts to the same thing in the long run but has a little more texture, at the expense of a bit more work.

I’m going to take it a step further. Older editions actually described why the gem was worth more or less. I’d like to retain that.

A simple way is to use the dice of the random range to assign size and quality. This almost works, but I don’t see in the table how to have an “average medium-sized” gem. With four values per die you don’t have ‘average’ values on the individual dice, even though the two dice together have an integral average (mean) value.

However, it is easy to fake it using a pair of d10s. I initially considered applying these as “d5s” but ended up weighting the ranges differently. They still get added together to get the modifying value.

d10 Value Size Quality Alternate Value
<1 -3 Diminutive ? not yet named -3 + roll
1 -2 Tiny Flawed -2
2-3 -1 Small Poor -1
4-7 +0 Medium Average +0
8-9 +1 Large Good +1
10 +2 Huge Excellent +2
>10 +3 Gargantuan Flawless +2 + roll – 10

2016-10-26 I realized there’s really no reason these have to be capped at -3..+3 when the size or quality roll would be very far out of bounds. The difference in value is 10% per point (see below), so if you manage to get a size 10 quality 10 stone it’s still only worth three times normal. I provide an alternate value for those cases that gives an addition +-1 for each point the roll is outside the normal 1..10 range.

This gives a slightly wider range (from -2 to +2 on each die, assuming no modifiers, giving -4 to +4 in the final result instead of -3 to +3) but keeps pretty close to the same percentages for the same values. I show values outside the normal d10 die range because later articles will include modifiers to the rolls.

Value 2d4 Indexed 2d10
-4 1
-3 6.25 4
-2 12.50 12
-1 18.75 20
0 25.00 26
+1 18.75 20
+2 12.50 12
+3 6.25 4
+4 1

The values shown above adjust the market price of the gem by 10%. That is, a large (+1) excellent (+2) opal (greater semi-precious gem, base value 500 gp) would have a market price of 650 gp, while a small (-1) excellent (+2) opal would have a market price of 550 gp, and a tiny (-2) flawed (-2) opal would have a market price of 300 gp.

Despite using the normal size descriptors, I’m going to consider gems to be 100 per pound. I had originally thought to use 50 per pound, then I read that the Hope Diamond — which would likely count as a ‘huge gem’ under this scheme — is a touch over 9 grams in mass: 1/50 of a pound. As almost all gems are probably less than half this, I figured 1/100 pound each should be fine. (And if this causes problems with the encumbrance rules, the encumbrance rules aren’t where the problem is…)

I considered varying by size descriptor, but decided that if we don’t bother doing that for coins I’m certainly not going to bother for gems.

Now, just to see what it looks like in practice…

  • a medium [0] average [0] jade [100]: [100 gp]
  • a medium [0] good [+1] turquoise [10]: [11 gp]
  • a tiny [-2] poor [-1] moonstone [50]: [35 gp]
  • a large [+1] poor [-1] obsidian [10]: [10 gp]
  • a large [+1] average [0] aquamarine [500]: [550 gp]
  • a large [+1] poor [-1] topaz [500]: [500 gp]
  • a large [+1] average [0] carnelian [50]: [55 gp]
  • a medium [0] good [+1] jasper [50]: [55 gp]
  • a large [+1] average [0] ruby (blood red) [5000]: [5500 gp]
  • a tiny [-2] average [0] citrine [50]: [40 gp]
  • a huge [+2] average [0] aquamarine [500]: [600 gp]
  • a large [+1] excellent [+2] sapphire [1000]: [1300 gp]
  • a huge [+2] good [+1] spinel (red or green) [50]: [65 gp]
  • a small [-1] flawed [-2] quartz (milky, rose, or smoky) [50]: [35 gp]
  • a medium [0] good [+1] spinel (red or green) [50]: [55 gp]
  • a large [+1] excellent [+2] pearl (black) [500]: [650 gp]
  • a medium [0] excellent [+2] diamond (fancy) [5000]: [6000 gp]
  • a huge [+2] average [0] amber [100]: [120 gp]
  • a small [-1] average [0] pearl (saltwater) [100]: [90 gp]
  • a medium [0] average [0] topaz [500]: [500 gp]
  • a small [-1] poor [-1] coral [100]: [80 gp]
  • a tiny [-2] excellent [+2] sapphire [1000]: [1000 gp]
  • a small [-1] excellent [+2] ruby [1000]: [1100 gp]
  • a small [-1] average [0] topaz [500]: [450 gp]
  • a medium [0] average [0] topaz [500]: [500 gp]
  • a medium [0] flawed [-2] jet [100]: [80 gp]
  • a small [-1] flawed [-2] turquoise [10]: [7 gp]
  • a tiny [-2] average [0] jet [100]: [80 gp]
  • a medium [0] good [+1] ruby [1000]: [1100 gp]
  • a large [+1] good [+1] pearl (black) [500]: [600 gp]
  • a medium [0] good [+1] malachite [10]: [11 gp]
  • a medium [0] average [0] amethyst [100]: [100 gp]
  • a medium [0] poor [-1] jet [100]: [90 gp]
  • a small [-1] average [0] pyrite [10]: [9 gp]
  • a large [+1] flawed [-2] jasper [50]: [45 gp]
  • a medium [0] good [+1] onyx [50]: [55 gp]
  • a large [+1] average [0] jade [100]: [110 gp]
  • a large [+1] good [+1] obsidian [10]: [12 gp]
  • a medium [0] flawed [-2] peridot [50]: [40 gp]
  • a large [+1] average [0] tigereye [10]: [11 gp]
  • a large [+1] average [0] pearl (black) [500]: [550 gp]
  • a tiny [-2] good [+1] onyx [50]: [45 gp]
  • a huge [+2] average [0] shell [10]: [12 gp]
  • a medium [0] poor [-1] coral [100]: [90 gp]
  • a medium [0] excellent [+2] pyrite [10]: [12 gp]
  • a medium [0] poor [-1] jade [100]: [90 gp]
  • a medium [0] flawed [-2] sardonyx [50]: [40 gp]
  • a small [-1] poor [-1] carnelian [50]: [40 gp]
  • a small [-1] poor [-1] opal [500]: [400 gp]
  • a small [-1] average [0] quartz (rock crystal) [10]: [9 gp]
  • a huge [+2] average [0] lapis lazuli [10]: [12 gp]
  • a medium [0] good [+1] rhodochrosite [10]: [11 gp]
  • a small [-1] good [+1] amethyst [100]: [100 gp]
  • a small [-1] average [0] opal [500]: [450 gp]
  • a large [+1] flawed [-2] quartz (milky, rose, or smoky) [50]: [45 gp]
  • a medium [0] average [0] pearl (irregular freshwater) [10]: [10 gp]
  • a medium [0] flawed [-2] spinel (red or green) [50]: [40 gp]
  • a large [+1] average [0] carnelian [50]: [55 gp]
  • a tiny [-2] poor [-1] diamond [1000]: [700 gp]
  • a medium [0] average [0] pearl (black) [500]: [500 gp]
  • a tiny [-2] good [+1] citrine [50]: [45 gp]
  • a medium [0] poor [-1] ivory [50]: [45 gp]
  • a medium [0] average [0] sardonyx [50]: [50 gp]
  • a medium [0] excellent [+2] opal [500]: [600 gp]
  • a large [+1] good [+1] shell [10]: [12 gp]
  • a large [+1] average [0] shell [10]: [11 gp]
  • a small [-1] average [0] malachite [10]: [9 gp]
  • a small [-1] excellent [+2] rhodochrosite [10]: [11 gp]
  • a large [+1] flawed [-2] coral [100]: [90 gp]
  • a large [+1] average [0] chrysoberyl [100]: [110 gp]
  • a medium [0] average [0] tourmaline [100]: [100 gp]
  • a large [+1] good [+1] spinel (red or green) [50]: [60 gp]
  • a huge [+2] average [0] pearl (saltwater) [100]: [120 gp]
  • a medium [0] good [+1] sardonyx [50]: [55 gp]
  • a medium [0] flawed [-2] pearl (black) [500]: [400 gp]
  • a large [+1] flawed [-2] obsidian [10]: [9 gp]
  • a large [+1] average [0] aquamarine [500]: [550 gp]
  • a large [+1] average [0] topaz [500]: [550 gp]
  • a tiny [-2] poor [-1] moonstone [50]: [35 gp]
  • a large [+1] average [0] opal [500]: [550 gp]
  • a huge [+2] average [0] emerald (brilliant green) [5000]: [6000 gp]
  • a medium [0] poor [-1] alabaster [10]: [9 gp]
  • a large [+1] poor [-1] onyx [50]: [50 gp]
  • a medium [0] average [0] pyrite [10]: [10 gp]
  • a medium [0] poor [-1] opal [500]: [450 gp]
  • a tiny [-2] average [0] citrine [50]: [40 gp]
  • a medium [0] good [+1] tourmaline [100]: [110 gp]
  • a huge [+2] poor [-1] pearl (black) [500]: [550 gp]
  • a medium [0] poor [-1] jet [100]: [90 gp]
  • a medium [0] average [0] diamond [1000]: [1000 gp]
  • a medium [0] excellent [+2] opal [500]: [600 gp]
  • a medium [0] flawed [-2] pyrite [10]: [8 gp]
  • a medium [0] poor [-1] spinel (deep blue) [100]: [90 gp]
  • a medium [0] poor [-1] pearl (saltwater) [100]: [90 gp]
  • a large [+1] average [0] shell [10]: [11 gp]
  • a medium [0] good [+1] azurite [10]: [11 gp]
  • a medium [0] good [+1] pearl (irregular freshwater) [10]: [11 gp]
  • a small [-1] good [+1] ruby [1000]: [1000 gp]
  • a tiny [-2] average [0] jet [100]: [80 gp]
  • a medium [0] average [0] opal [500]: [500 gp]

I used a weighted table of grades (1-5 grade 1, 6-10 grade 2, 11-14 grade 3, 15-17 grade 4, 18-19 grade 5, 20 grade 6) and I’m showing the input values so I can double check… basic verification.

So far, so good. More to come.

Just Decking Around

I had an epiphany of sorts last night. Also, insomnia; the epiphany might be nothing of the sort.

In my previous post about the card crawl I described PCs as starting at ‘second level’, and that each level made them better in one area of endeavor (martial, arcane, divine, skill), with a specialized skill within that. I considered the different pieces that can be assembled for the initial character builds and realized that I might actually want three levels at the start instead of two. Dwarves are classically powerful warriors and skilled crafters (argument for martial and skill), elves are magical warriors (martial and arcane), paladins are holy warriors (lots of martial with a bit of divine) and clerics are crusaders (lots of divine with some martial). It starts to make sense to have characters starting with three levels instead of two, especially since it allows initial builds to have uneven amounts of two areas of endeavor.

I originally expected PCs to start at second level and perhaps reach seventh or so. If the overland map is a 3×3 array, the PCs start in one corner and must travel to the diametrically-opposite corner to complete their quest they’ll have to pass through at least three and probably up to five of the other locations. This aligns closely enough with the design of Echelon that I can probably look at that for guidance. Start at third tier, each dungeon completed can result in a tier gain (and new cards are based on tier, so the later-game gains get to be pretty impressive)… this could work well for me.

Which led me to think: Echelon assumes that higher-tier characters are simply better than lower-tier characters, at least as far as adventuring capability is concerned. The d20 model of the game uses a 4e-style Level Bonus as a base modifier for rolls, and the dice pool version adds another die to all rolls at each tier (and talents improve the size of the die rolled). Higher-tier characters are more likely to succeed at tasks than lower-tier characters.

Having recently played some One Deck Dungeon (card-based rogue-like game) recently I realized that having none of something can be a problem. Higher-level characters are supposed to be better, and this can entirely hamstring them in some area. I am inclined to have each level provide a ‘general bonus’ (that applies to pretty much anything) in addition to the level-specific abilities. This gives space for higher-tier characters to be generally more capable than lower-tier characters, while actually reducing the significance of the potentially greater number of levels — I now picture gaining up to eight or ten instead of three to five — between characters of the same tier. That is, a sixth-tier character has six general levels (typeless, no specific ability, etc.) and up to six levels of martial ability, and acts with twelve martial and six anything-else, while another (four arcane levels and two skill levels) acts with ten arcane, eight skill, and six anything-else.

This can apply when buying new cards as well, though I might want to double the cost to account for the greater purchasing power available. Anyone could afford an ‘arcane 6’ card when they reach the sixth tier, but a dedicated arcanist could afford the card at the start of the game (three arcane levels and three general). This opens things up a bit for those who need to spread their abilities out, without requiring large diversions to get the basic ability needed to branch out at all.

I’ll want to keep an eye on that. There is merit to having an “arcanist” that is only good at magic and a warrior that is only good at martial activity. This might not work well in very small groups because too much specialization can be a problem… but it’s worth examining both options. I could even have both built in, but ‘hard mode’ means you don’t count the general levels.

More grist for the mill.

Keeping My Hands Off My Deck

… or not. I’m working around the edges of a card-based crawl game. I don’t know all the resolution mechanics yet, but I’m starting to see the shape of it.

  • Probably co-op (adventuring party)
    • Possibly competitive co-op: party has a shared goal, but each PC might have individual goals that score as well.
  • Card-based play. Randomness lies in the draw of the cards, card resolution is deterministic.
  • Hand management: strict limit to number of cards in hand and in play (stacks in play — if one card augments another, they count as a single card for hand purposes). Probably 5 or 7 cards, might get extended by certain powers or at certain levels.
    • You can play more than one card (major and minor actions?) each round.
    • End of each round you can draw up to 2 cards and keep up to your limit (if limit is 7 and you have 6 cards, you can draw 2 and discard any of the 8 you now hold — except curses).
  • Fatigue: if you are required to draw a card and cannot, you are exhausted and can only provide minor support (per Sentinels of the Multiverse hero cards).
    • Deck resets when team leaves a dungeon.
    • Deck resets when team defeats a boss.
  • Wounds: if you take damage you must discard from your hand/equipped or deck (running your cards out faster).
    • Hard mode: bury cards starting from hand/equipped, deck, then discard pile. Buried cards are not available on deck reset, but healing will restore them.
    • Wounds cannot be paid with curse cards.
  • Deck-building: hero decks build up over time.
    • Encounter rewards are added to a player’s deck (discard pile; must reset to be able to use).
    • Probably can spend cards from hand to buy new cards (to discard pile). Might not allow buying new cards in a boss fight.
    • Cannot spend curse cards to buy new cards.
  • Hero cards have two levels (chosen from martial, arcane, divine, skill; both levels do not need to be the same type) and a specific ability (which might be keyed to level and level type). Probably also have a keyword or two.
  • Gaining levels: defeating a boss makes two level cards available.
    • Each level card typically represents ability taken from defeated boss or ability representing defeating boss (defeating the Necromancer might mean you gain Guardian of Life to represent your being champion of the forces of life, or it might mean you gain Dread Arcanist to represent you learning knowledge of death magic).
    • Level cards can be applied any time before leaving the dungeon. You’d likely want to see all options available before assigning.
    • Each hero can gain only one level card per dungeon.
    • Level card increases level in one axis (martial, arcane, divine, skill) and keyword (special ability).
    • Level cards are applied to hero card, not added to draw deck.
  • Equipment cards typically represent objects with persistent effects, such as weapons or armor.
    • May be equipped (placed on table); still count against hand size.
    • May be augmented (other card added to equipped card to increase effect); augmenting cards do not count against hand size (already covered by item being augmented).
  • Spell cards typically represent magical effects.
    • May be immediate or persistent; if immediate may be played directly from hand, if persistent get ‘equipped’ and count against hand size.
    • Effects may depend on or be augmented by arcane or divine level.
    • Availability or usability might be constrained by arcane or divine level.
  • Technique cards are mundane ‘spell cards’.
    • May be immediate or persistent; if immediate may be played directly from hand, if persistent get ‘equipped’ and count against hand size.
    • Effects may depend on or be augmented by martial or skill level.
    • Availability or usability might be constrained by martial or skill level.
  • Might be ‘gish cards’.
    • May be immediate or persistent; if immediate may be played directly from hand, if persistent get ‘equipped’ and count against hand size.
    • Effects may depend on or be augmented by (martial|skill) and (arcane|divine) level, probably using the lower of the two or the sum of the two.
  • Curse cards are added to heroes’ hands under certain circumstances (described below). Added to deck normally and when drawn can be held in hand ‘with no effect’ beyond tying up hand real estate. When played may have immediate effect (and get discarded) or ongoing effect (lasts longer and may tie up an equipment slot as normal). Cannot be discarded or buried for damage.
    • Starting a dungeon but not completing gives each hero a curse card specific to that dungeon.
    • Encountering a boss but running away gives each hero a curse card specific to that boss.
    • Defeating the source of the curse removes the curse,
  • Card effects are deterministic. Play (or activate) card, effect happens.

Initial thoughts, and subject to change. Also, very flow of thought.

Z-A Challenge 2016 Index

A-Z 2016 "Z"Buffering made the challenge much easier this year. I had time to prepare three or four posts before April 1, and while I never got that far ahead again, it was enough that I was able to stay on time. I think almost always I had at least one post for the day up by 9:00 PM the night before (Pacific time; midnight Eastern time). This was mostly because I get up early and wanted to make sure they were live before I went to bed.

Not that I often get to bed by 9:00 PM, but that was the thought.

Slightly more posts than previous years (34 this year, 28 last year and 32 the year before). About 36,583 words, a little lower than a couple years ago (about 38,000), somewhat more than last year.

The most common topic in this challenge was ‘graded items’, magic items with multiple powers assigned at different grades (measures of power). I suspect that after review and revision the topic will form the core of another book. Like Polyhedral Pantheons there’s a good chance a small part of the book will explain the processes and much more of the book will be spent on gameable examples. Somewhat to my surprise I didn’t actually create many such examples during the challenge — they’re quick and easy, but I had bigger thoughts to write about.

Another major topic this time around was some cartography techniques regarding how to draw mountains. Rounding the list out were a few posts about encounter design and development, and the data capture and encoding process I use in creating the Echelon Reference Series (and how I think I’ll be doing it over, better… again).

A pretty satisfying run this year. Buffering made a huge difference, even being a single day ahead gave me some grace when I was pressed for time. Having two evenings a week consumed by judo makes this pretty important.

Okay, enough A-Z Challenge for this year, time to get back to work.

Date Letter Words Title
2016-04-30 Z 552 Z-A Challenge 2016 Index
2016-04-29 Y 1,153 Yet More Reorganization Notes
Y 1,288 Yet Another Grand Reorganization
2016-04-28 X 680 Exotic… No, Esoteric Draconic Bloodlines
X 389 XML Workflow, A New Direction
2016-04-27 W 2,133 Weapons and Armor made of ‘Special Materials’
2016-04-26 V 1,099 Variation: Graded Item Sets
2016-04-25 U 1,100 Umbral Mail
U 963 Unchained Skill Unlocks for Echelon
2016-04-23 T 1,333 Touching up the Mountain Colors
T 348 Thinking Again About the Price of Graded Spell Trigger Items
2016-04-22 S 1,120 Several Mountain Ranges Together
2016-04-21 R 1,195 Revisiting the Mountain Tutorial, Drawing the Initial Landform
2016-04-20 Q 1,396 Quirk, Flaw, Curse: What’s the Difference?
2016-04-19 P 1,159 Pushing Your Luck: Enchantment Gone Wrong
2016-04-18 posted midday Sunday because it was part of a conversation online
2016-04-17 O 3,002 On Mapping Mountains, Using a Few Simple Tricks
2016-04-16 N 841 New Uses for Unchained Item Qualities
2016-04-15 M 296 Metamagic Feats in Graded Wands and Staves
M 296 Midpoint Check-In
2016-04-14 L 457 Legendary/Spontaneous Graded Items, Made Simpler
L 2,096 Legendary/Spontaneous Graded Items
2016-04-13 K 767 “Kill Everything”: Making That Plan B
2016-04-12 J 2,416 JRPG-Inspired Encounter Design
2016-04-11 I 2,055 Improving Encounter Economy and Design
2016-04-09 H 1,157 Hammer Time! Polyhedral Graded Weapons and Armor
2016-04-08 G 940 Graded Weapons and Armor
2016-04-07 F 1,317 Forging Graded Items
F 62 Fey Bloodlines
2016-04-06 E 1,789 Exploring Multiple Charge Casting for Graded Items
2016-04-05 D 845 Determining Market Price of Graded Staves and Wands
2016-04-04 C 907 Crafting Graded Staves
C 718 Crafted Graded Wands
2016-04-02 B 198 Blood of Dragons? In My Veins? It’s More Common Than You Think
2016-04-01 A 466 Assigning Graded Abilities
Total 36,583

Yet More Reorganization Notes

A-Z 2016 "Y"I had time to think about this some more on my bus ride home. And even take notes, though that’s a bit of a challenge (I hate writing in a moving vehicle).

It appears I was only mostly right in what I had planned. I was having difficulty reconciling ‘data type’ and ‘data object’ in some cases. For instance, ‘rage power’ is a class feature, cool… but it can also be a data type. There are literally hundreds of rage powers. I know. I counted.

Turns out a solution is pretty simple. Time for some data modeling.

Data Dictionary

Good data projects really should have a data dictionary. I’ve worked (been stuck with) too many that don’t, so I’m starting one now.

Some of the names are subject to change, but I describe the purpose of the various types below.

Data Object

This is the core element of the entire system. Almost everything I care about is a data object: feats, spells, skills, monsters, everything. A data object has:

  • attributes, meta-information about the object that describe how the object is to be treated. Most data objects have default values for the attributes.
    • one of the common attributes is ‘parent’, indicating the data object this is an example of (“Rage Power” has an parent of “Class Feature”). This will often be set more or less implicitly by a new object being subordinate to a data object or data type. “Rage Power” is defined inside “Class Feature”; I can set it explicitly but don’t need to.
    • another attribute indicates that the data object can be used as a data type. For instance, “Class Feature” might be a data object (that probably never gets printed, oh well) marked “data-type=’class-feature'”. “Rage Power” is a class feature that might be marked “data-type=’rage-power'”. When I want, I can use a ‘rage power’ data type marker and all data objects under it are marked as being rage powers.
    • another attribute indicates ‘index type’, how to mark objects of this type when they get indexed. “Rage Power” is a class feature, and is indexed as “Rage Power (class feature)”, while “Animal Fury” gets indexed as “Animal Fury (rage power)”.
  • stat block (often empty): spells and monsters are examples here, but even feats can be said to have a stat block (type, prerequisites, type, and minimum level). May or may not be rendered as an actual stat block.
  • content: block text, tables, lists, etc., and may have sections and subobjects.

Data Type

Data type is actually much smaller and simpler than I’d anticipated. It’s basically a marker to show that the objects ‘inside it’ are of a particular type. Importantly, though:

  • the data type markers are never printed, they exist only in data.
  • there is a hierarchy to the data type Word styles, but only so they can be nested within other things (a bloodline has bloodline powers; structurally the data file might have
  • Bloodline [data type]
    • Draconic [‘bloodline’ data object]
      • statblock (bloodline skill, list of bloodline feats, list of bloodline spells, etc.)
      • content
      • Bloodline Powers [section heading]
        • Bloodline Power [data type]
          • Claws [‘bloodline power’ data object]
            • statblock
            • content
          • Dragon Resistances [‘bloodline power’ data object]
            • statblock
            • content
          • Breath Weapon [‘bloodline power’ data object]
            • statblock (save DC)
            • content
          • Wings [‘bloodline power’ data object]
            • statblock
            • content
          • Power of Wyrms [‘bloodline power’ data object]
            • statblock
            • content
  • while there is a hierarchy to the Word styles used, it does not reflect on the data hierarchy. “Rage Power” and “Bloodline Power” are both data types, even though “Bloodline Power” is typically used inside a “Bloodline” (as shown above). There is really no fixed hierarchy to the objects, though there is to the data types. If it turns out convenient to have a “Magic Item” inside a “Monster” (not common, but not unheard of) you can do it.
    • Word style hierarchy probably goes
      • data type 1 >
      • data object 1 >
      • data section 1 >
      • data type 2 >
      • data object 2 >
      • data section 2 >
      • data type 3 >
      • data object 3 >
      • data section 3
    • If I somehow really need more levels (class -> class feature -> class subfeature -> class subfeature power: sorcerer -> bloodline -> draconic bloodline -> claws) I’m probably making it difficult for myself. The ‘bloodline class feature’ can stay here (it identifies that the class has that feature), but the bloodline definitions can themselves be higher-level objects.
    • It occurs to me that this even lets me have objects that are children of the same kind of object. For instance, ‘monster group’ and “magic item group” can now be nested. “Dragon” > “Chromatic Dragon” can now work, as can “Rod” and “Metamagic Rod” or “Wondrous Item” > “Figurine of Wondrous Power”.


I have a practice of indexing the game content pretty aggressively. I can include indexing rules in the data objects so that when they are referenced as types the objects can be indexed the way I want. This definitely includes the type markers I have in the index, but can also include hierarchy displayed in the index.

I expect that I will be able to create indexes something like:

  • Affliction
    • Curse, see Curse (affliction)
    • Disease, see Disease (affliction)
    • Poison, see Poison (affliction)
  • Bloodline (class feature)
    • Draconic
    • Elemental
    • Fey
    • Undead
  • Claws (bloodline power)
  • Domain (class feature)
    • Air
    • Death
    • Earth
    • Fire
  • Draconic (bloodline)
  • Earth (domain)
  • Electricity Resistance (domain power)
  • Elemental (bloodline)
  • Fey (bloodline)
  • Lightning Arc (domain power)
  • Undead (bloodline)

Parts of this will be pretty easy, a few might be a bit tricky… but I’ve solved harder problems.


The semi-arbitrary/semi-abstract nature of the data structure also makes it so I can give each object a unique identifier, as long as the object is defined in basically the same way twice.

Data objects have two identifiers. The first is the group-id and consists of the type and name (modified). The “Rage Power” class feature has group-id=”class-feature.rage-power”. Some (parent) data types can be marked to be appended to the end of their children. For instance, while “Rage Power” has group-id=”class-feature.rage-power”, when described in the barbarian class (“Class” data type says “append to children’s IDs”) that object has id=”class-feature.rage-power.barbarian”.

The dual IDs let me group the objects by group-id (they are the same type and same name, and therefore equivalent for search purposes) while keeping the individual instances separate. This is important as there is more overlap, because I can then refine the data: I can have a single master definition of “Uncanny Dodge” that explains what it does, and the class-specific entry is reduced to a note saying when that class gains access to it.

Closing Comments

Didn’t plan to write this tonight, already had a “Y Day” post (and we were supposed to go judo but I’m having vehicle problems… again). I had some notes scribbled on the bus and I thought I’d try to get them into more readable form.

Strangely enough, I didn’t actually look at them. It seems the act of writing them was sufficient to cement them in my mind for later. Which is good, because I can’t read the damn things.

Yet Another Grand Reorganization

A-Z 2016 "Y"One of the hazards of being a data geek, and good at it, is that over time you become better at it. You find better ways to do things.

Also, the Pathfinder Roleplaying Game has become progressively more complex, both from player perspective (hence the Echelon Reference Series) and particularly from a data modeling perspective.

It’s time for me to fall back and regroup, reorganize how I’m capturing the data. The workflow changes somewhat, but more importantly the data and file management changes.

Existing Data Models

Today, each source is captured more or less exactly as published. Each Word file represents (usually) one source, complete with document structure (book, part, chapter, section, subsection, etc.) and game element structure (each game element is a major element, minor element, subelement, etc., and there are divisions within them such as for a bloodline’s bloodline powers).

Word produces relatively flat, unhierarchical files. Whether converted to HTML or converted to XML, the document structure basically lacks hierarchy. For instance, conceptually a book’s structure has chapters, and a chapter may have sections. That is, there is an implied hierarchy. In the document files, though, rather than

  • chapter
    • paragraph
    • paragraph
    • section
      • paragraph
      • table
        • table rows
      • paragraph
    • section
      • paragraph

you’ll see

  • chapter
  • paragraph
  • paragraph
  • section
  • paragraph
  • table
    • table rows
  • paragraph
  • section
  • paragraph

There are tricks, tools, and techniques for dealing with these, and I’ve gotten good at them. However, the process ultimately generates some eighteen levels of grouping (7 for document structure and 11 for data). In many cases I need to infer from element ancestry what I’m looking at. That is, I might have a “class-feature” called “domain”. Each “class-subfeature” is an instance of a domain (“Air”, “War”, etc.). The “class-subsubfeature” in that is a domain power… but it’s up to me, in my code, to recognize that.

Do you have any idea how many class features exhibit complicated internal structure like this?

New Data Models

I’m splitting the files. Data will all go into one set of files, and ‘document content’ will go into another set of files. I have found in my preliminary experiments that the ‘documents’ change remarkably little after initial capture, but the data elements get tweaked and massaged quite a bit.

Sometimes the purely document content is not Open Game Content (OGC), or is outright Product Identity (PI). I capture it mostly so I can reproduce the original document formatted to my taste (easier for me to read; so many publishers use hard to read fonts, for example), partly so I can view the game elements in situ so I have better context for examining them later, and frankly because, well, I’m a data geek and I like things to be complete. The PI and other non-OGC never gets republished.

Document Files

The document files are pretty straightforward. They follow normal document structure conventions (chapters, sections, etc.). They also can have “include commands” that identify game elements to be added to the document at that point when rendered.

When I captured the text of Pathfinder® Roleplaying Game: Ultimate Combat™ I originally reproduced the document structure, marking up the feats so they could be automatically extracted. Now I would create a data file for the feats, and the “Feats chapter” is reduced to introductory text and a series of “include these feats” instructions.

This gives me much more control than I had before. It also significantly reduces the size of the files I work with, which makes my job much easier.

Data Files

The data files are even simpler. Most game elements have a very similar structure, and the major difference is how they are applied.

  • Element name
    • Summary/statblock information (includes prereqs)
    • Descriptive text
    • Subelements (repeatable… and have the same structure as the parent)

Right now I define new Word styles for the various element types… but structurally they almost all boil down to the same basic structure. There are exceptions, but probably 80% or more of the game elements I deal with fall into this structure.

Instead, I’m going to rely more on metadata to identify what a particular element is. The metadata type will have a definition that is shared when needed, but otherwise will be used just by name. That is,

  • “Feat” [data type marker]
    • “Dodge” [data element]
      • prerequisites Dex 13
      • benefit lorem ipsum
    • “Mobility” [data element]
      • prerequisites Dex 13, Dodge feat
      • benefit lorem ipsum

(I spelled out ‘Dodge feat’, but given just a name the parser can usually find what it’s after… but ‘Dodge feat’ is explicit and resolves ambiguous cases).

Ultimately I end up with data objects something like

<d20:object class="feat" name="Dodge">
    <d20:prereq refid="score.dexterity" refclass="score" value="13" />
  <!-- content elided -->

<d20:object class="feat" name="Mobility">
    <d20:prereq refid="score.dexterity" refclass="score" value="13" />
    <d20:prereq refid="feat.dodge" refclass="feat" />
  <!-- content elided -->

Feats, most class features, and so on are generally presented in pretty much the same way. There are exceptions, of course, but I can now focus on handling them differently at need rather than having to lay out each data type explicitly.

It can be more complicated, but in many ways it isn’t. For Polyhedral Pantheons I might have something like

  • Deity [base data type]
  • Shu-shi [parent=Deity]
  • Jixiang Shen [parent=Shu-Shi Deity]
  • Zhengchang Shen [parent=Shu-Shi Deity]
  • Bukeishiyi Shen [parent=Shu-Shi Deity]
  • Goblin [parent=Deity]
  • Vorubec [parent=Goblin Deity]
  • Jhesiri [parent=Goblin Deity]
  • Kouzelnik [parent=Goblin Deity]


  • Jixiang Shen [data type]
    • Huanghou
    • Xingyun
    • Xiao Ling
    • Chengshi
    • Zhongli
    • Jingcai

Because I defined the data types as I did, I can traverse the relationships a couple ways. If I need to, I can determine that Huanghou (empress of heaven) is a Jixiang Shen (auspicious deity), a Shu-shi Deity, and a Deity. This gives me quite a bit of control over the formatting (default ‘game object’ formatting? more specific ‘deity’ formatting?), and even the indexing. The index might include

  • Deity
    •  Shu-shi
      • Jixiang Shen
        • Chengshi
        • Huanghou
        • Jingcai
        • Xiao Ling
        • Xingyun
        • Zhongli
  • Huanghou (shu-shi deity)

(because I decided I only wanted to go as far as the pantheon, not the subpantheon, here… custom indexing rule)

Closing Comments

My existing file and data structure has evolved over time to the point it has become hard to use. Splitting the files into “document content” and “game data content” lets me offload a lot of the more static content (document) and focus on the more often edited content (game data). It makes it easier to exclude the bits I mostly don’t care about most of the time (I don’t have to load the document content into my data store, where it gets repeatedly loaded and processed later) while keeping them available for later if I find I want them. This should speed up capture, editing, and processing.

Abstracting the data lets me rely more on the common aspects of the data. Feats, spells, and deities can all be structurally quite similar: name, statblock, text, done. I can start from there and refine as needed, rather than the current model that requires that I get detailed early, and find that I have many objects that are structurally the same.

This will let me do the RAF (Rough and Fast) versions of new data… well, rougher and faster. It will also let me focus my effort on the more complex cases where I want to know more about the game object. Spells can be structurally similar to other blockish game objects, but I can gain quite a bit by parsing further. Similarly, I know the “Domains” field of a deity definition will contain references to domains (object of type ‘domain’), so if I put just a little more effort into it I can parse and extract that information… let me both index the domain reference, and even update the domain object by adding a “Deities” line identifying the deities who have that domain.

I… did say I’m a data geek, right?

Exotic… No, Esoteric Draconic Bloodlines

A-Z 2016 "X"‘X Day’ is always difficult in the A-Z Challenge. So few words actually start with ‘X’.

I was going to write about how I was going to add esoteric draconic bloodlines to Draconic Bloodlines, since I deliberately excluded them when I released the book. I even started drafting that post, but when I started examining things more closely I realized my original reasons for excluding them stand.

The esoteric dragons are too different from the other dragon families, and creating bloodlines for them the same way would involve me picking things without enough knowledge to make good decisions. The esoteric dragons often have many spells (in a couple of cases seven or eight), and trimming that down requires me to choose from among them. I’ll have to come back after I’ve had a chance to read more about occult magic and internalize it somewhat.

That said, I now see four ways forward, where previously I’d seen one.

Ways to Include Esoteric Draconic Bloodlines

The primary stumbling block here is that almost all dragons cast spells as sorcerers, except the esoteric dragons. Esoteric dragons cast occult spells as psychics. I present them below, in approximate order of deviation from plan.

Steal From the Psychic Bloodline

The psychic bloodline’s bloodline arcana says

Your sorcerer spells and spell-like abilities count as psychic instead of arcane. You use thought and emotion components instead of verbal and somatic components when casting your spells.

In principle that arcana pretty much solves the “sorcerer magic vs psychic magic” disconnect, but it seems incomplete. I’d probably want to incorporate some of the bonus spells, bonus feats, and bloodline powers (at least one) to make the bloodline ‘more psychic’. I thought I might find sufficient overlap in the dragon special abilities to handle some of the ‘psychic bloodline powers’, but after reading them I don’t think so. There are some nifty abilities, though.

Create a Sorcerer Archetype

This honestly was my first intended approach, and went beyond what I was prepared to do when I considered it. Changing the sorcerer’s spell casting is, after all, a pretty fundamental shift. This would give me the opportunity to tweak more of the class features so things would fit properly. This is probably my favored approach right now, but again I’ll need to do some more research.

Create a Draconic Sorcerer Prestige Class

In discussion online it was suggested that a prestige class could solve the problem. I usually wouldn’t agree, I’m not a big fan of prestige classes to solve mechanical problems (I do like them as campaign elements — actual “prestige” classes), but in this case it could work. If a sorcerer starts with the core draconic bloodline, a prestige class could allow the sorcerer to shift to a more specific draconic bloodline, or even add it altogether. There would probably have to be some kind of additional cost or change to class features… a prestige class like this is something like a late-added archetype, I suppose.

Backup plan, definitely behind the archetype and possibly even behind the psychic bloodline.

Make This a Psychic Discipline

Perhaps I’m going about this the wrong way entirely. Esoteric dragons, unlike the other dragons, cast as psychics rather than sorcerers. Maybe there should instead be a ‘draconic’ psychic discipline that can be specialized.

Right now I’m leaning toward this as my favored approach. I’m not sure if it would be a separate product or not, though.

Closing Comments

I think a large part of my difficulty with esoteric dragons is that they are a poor fit for the sorcerer class altogether. The minimalist approach (pull from the psychic bloodline) seems woefully inadequate. Creating a prestige class to fix it smacks of a band-aid fix, and I don’t like those. A sorcerer archetype is my favored solution from a design standpoint, tweak the class first before adding the psychic dragon stuff.

Ultimately, though, I think keeping them as a psychic class thing and making them psychic disciplines (possibly with a generic ‘draconic’ discipline) is the right way to go. I’ve got some more reading to do.


XML Workflow, A New Direction

A-Z 2016 "X"A couple years ago, or just slightly more, I wrote about my workflow for extracting game information captured in Word. It’s kind of long:

  • Type (or copy and paste) into Word;
  • Convert Word files to ‘Filtered HTML’;
  • Fix character encoding;
  • Convert to XHTML;
  • Convert to XML closer and closer to the problem domain (game elements) using a series of XSLT scripts.

Once I’ve got the information encoded I can do other transformations to get my actual goal products:

  • Machine-generated diagrams:
    • Build a hierarchical model for each game element that has or is a prerequisite;
    • Convert that hierarchical model into DOT format (GraphViz input file; I’ve written about visualization using GraphViz before);
    • Render the DOT files into PNG and SVG format, giving me diagrams I can redraw (GraphViz is powerful, the output isn’t always suitable for inclusion in my books) showing the relationships between game elements.
  • PDFs:
    • Convert XML files (created as above, but using ‘book markup’) to LaTeX;
    • Convert LaTeX to PDF (this can incorporate diagrams redrawn as described above.
  • Index and analysis files; I sometimes create spreadsheets containing…
    • spell summary information;
    • master spell lists for all classes (and domains and bloodlines and patrons…);
    • summary monster stats;
  • I also sometimes create new Word files containing aggregated or reformatted content.

This has proven fairly effective over the last few years, but I think it’s time for a change. Word has a ‘WordProcessingML’ that represents, to a fairly large degree, the internal memory representation of a document. There is a great deal of information there that can be discarded, and some ‘internal Wordisms’ I’ll need to work around, but I think this can get me past some niggling translation and encoding difficulties I’ve been having.

The new workflow will probably look much like:

  • Type (or copy and paste) into Word;
  • Convert Word files to WordProcessingML;
  • Convert to XML closer and closer to the problem domain (game elements) using a series of XSLT scripts.

This doesn’t seem like it saves me a lot of steps, but in reality it does. The “Fix character encoding”, “Word -> Filtered HTML”, and “Filtered HTML -> XHTML” do useful work, but all three stages introduce some annoying data artifacts I need to work around. The new workflow should not only reduce the number of stages (the initial bullet points), but should make the processing after that much simpler.

Weapons and Armor made of ‘Special Materials’

A-Z 2016 "W"A recent question on Facebook reminded me that I was going to review and revise how special materials work with graded items.

In short, I expect to look primarily at the effect of the special material and build from there.

Sample Materials

A few of the common materials from the PRD, first quoting the PRD and then giving my take on them.

In almost all cases, I disregard part of the description: almost all ‘metal materials’ are actually alloys rather than pure materials. This lets me treat them as justification for various qualities at different grades, and even allows me to mix them somewhat.

Bypassing DR/material is usually more or less free — the target has a benefit that renders them less harmed by everything except this material, so this material bypassing that is not inherent in the material and shouldn’t be paid for. Actually, I’d be willing to consider a quality that directly targets and adds damage in these cases: an item made of special silver doesn’t just bypass DR/silver, it does additional damage (as with flaming or bane… not sure which, I could go either way).


Mined from rocks that fell from the heavens, this ultrahard metal adds to the quality of a weapon or suit of armor. Weapons fashioned from adamantine have a natural ability to bypass hardness when sundering weapons or attacking objects, ignoring hardness less than 20. Armor made from adamantine grants its wearer damage reduction of 1/— if it’s light armor, 2/— if it’s medium armor, and 3/— if it’s heavy armor. Adamantine is so costly that weapons and armor made from it are always of masterwork quality; the masterwork cost is included in the prices given below. Thus, adamantine weapons and ammunition have a +1 enhancement bonus on attack rolls, and the armor check penalty of adamantine armor is lessened by 1 compared to ordinary armor of its type. Items without metal parts cannot be made from adamantine. An arrow could be made of adamantine, but a quarterstaff could not.

Weapons and armor normally made of steel that are made of adamantine have one-third more hit points than normal. Adamantine has 40 hit points per inch of thickness and hardness 20.

Type of Adamantine Item Item Price Modifier
Ammunition +60 gp per item
Light armor +5,000 gp
Medium armor +10,000 gp
Heavy armor +15,000 gp
Weapon +3,000 gp

So… weapons gain hardness 20 (from the default of steel’s hardness 10) and bypasses DR/adamantine (which is uncommon). Armor gains DR 1/— if light, DR 2/— if medium, or DR 3/— if heavy. Per RAW they’re all masterwork but the price is included.

I’m going to reduce this to basics:

  • The impervious perk increases an item’s hardness by 5. I’m willing to let that be repeated, and since perks are considered grade 1 qualities I’m willing to have impervious have multiple grades: hardness is increased by 5 per grade. Adamantine has a hardness of 20, 10 higher than steel, so this would be a grade 2 quality.
  • The durable perk doubles an items hit points… but the sturdy quality from Green Ronin’s Black Company masterworks rules is +50% per grade. I think I like that better, so I’ll be dropping the ‘durable’ perk. An adamantine weapon or armor has a third more hit points than usual (but double the hit points per inch thickness, strange), so I’ll call that one grade and make it a bit better at 50% more hit points.
  • DR/— from armor is one grade per point of DR. There could reasonably be a surcharge or limitation of some sort of for light and medium armor, but I’m not going to bother yet. In any case, DR/— is handled.

The effects of a weapon made of an adamantine alloy are “+50% hit points, +10 hardness”: a grade 1 quality and a grade 2 quality. In a weapon with no other qualities, this adds 4,500 gp to the market price of the item. Unlike RAW, this is not a ‘masterwork item’ (no +1 enhancement bonus to hit).

If I wanted to be fiercer about it, I could say that adamantine construction is itself a grade 3 quality… but I won’t do that today.

Adamantine armor is pretty simple. Like weapons the hit points and hardness are increased, and the armor grants DR/—.

  • Light armor gains hardness 20 and 50% more hit points, and DR 1/—. This amounts to one grade 2 quality and two grade 1 qualities, a total of four grades. This adds 4,000 gp to the market price (4*4*500 gp = 8,000 gp, halved because this is armor).
  • Medium armor gains hardness 20 and 50% more hit points, and DR 2/—. Two grade 2 qualities and one grade 1 quality, a total of five grades. This adds 6,250 gp to the market price (5*5*500 gp = 12,500 gp, halved because this is armor).
  • Heavy armor gains hardness 20 and 50% more hit points, and DR 3/—. A grade 3 quality, a grade 2 quality, and a grade 1 quality, a total of six grades. This adds 9,000 gp to the market price (6*6*500 gp = 18,000 gp, halved because this is armor).

The armor is generally lighter than RAW because the costs are halved, but unlike RAW these will make following qualities more expensive… by quite a bit, really.


Mithral is a rare, silvery metal that is lighter than steel but just as hard. When worked like steel, it can be used to create amazing armor, and is occasionally used for other items as well. Most mithral armors are one category lighter than normal for purposes of movement and other limitations. Heavy armors are treated as medium, and medium armors are treated as light, but light armors are still treated as light. This decrease does not apply to proficiency in wearing the armor. A character wearing mithral full plate must be proficient in wearing heavy armor to avoid adding the armor’s check penalty on all his attack rolls and skill checks that involve moving. Spell failure chances for armors and shields made from mithral are decreased by 10%, maximum Dexterity bonuses are increased by 2, and armor check penalties are decreased by 3 (to a minimum of 0).

An item made from mithral weighs half as much as the same item made from other metals. In the case of weapons, this lighter weight does not change a weapon’s size category or the ease with which it can be wielded (whether it is light, one-handed, or two-handed). Items not primarily of metal are not meaningfully affected by being partially made of mithral. (A longsword can be a mithral weapon, while a quarterstaff cannot.) Mithral weapons count as silver for the purpose of overcoming damage reduction.

Weapons and armors fashioned from mithral are always masterwork items as well; the masterwork cost is included in the prices given below.

Mithral has 30 hit points per inch of thickness and hardness 15.

Type of Mithral Item Item Price Modifier
Light armor +1,000 gp
Medium armor +4,000 gp
Heavy armor +9,000 gp
Shield +1,500 gp
Other items +500 gp/lb.

Mithral halves the weight of primarily metal items and increases the hardness by 5. There is no mention of an increase in hit points.

Armor has decreased spell failure chance, increased maximum Dexterity bonus to AC, and Armor check penalties are reduced by 3… this ends up being quite nice. Also, the armor is treated as one category lighter (heavy treated as medium, medium treated as light) to a minimum of light, for the purpose of mobility and other features, but not proficiency.

  • The lightweight perk halves an item’s weight, and could be considered a grade 1 quality.
    • The light quality from Green Ronin’s Black Company masterworks rules reduces weight by 10% per grade, but that seems too expensive for its regular effect. Reducing weight by half honestly isn’t worth a grade 5 quality. I’m going with the lightweight perk for now.
  • The mastercraft quality from Green Ronin’s Black Company masterworks rules reduces armor check penalty by one per grade. I’ll go with this for now. By RAW the check penalties are reduced by 3, but I’m willing to allow this to completely negate the armor check penalties… if someone is willing to invest that much, I’m prepared to allow it.
    • The creeping armor special ability is a +5,000 gp in RAW, and is in the +2 Armor Special Ability table. It negates the armor check penalty for Stealth checks, while the mastercraft quality applies to all relevant checks. I’m inclined to go with the mastercraft quality.
  • The modifier to arcane spell failure is a little trickier, but the Magic Item Compendium from D&D 3.5 has the twilight armor quality. This +1 armor quality reduces arcane spell failure by 10%. As a +1 armor quality maps to a grade 2 quality in this system, I’m fairly comfortable considering twilight a scaling quality reducing arcane spell failure by 5% per grade. As with mastercraft above, someone could entirely negate arcane spell failure… but it gets very expensive for heavy armor (grade 8 to negate the 40% arcane spell failure of splint mail and half-plate!).
  • I don’t have anything specific for increasing the maximum Dexterity bonus to AC, but since an enhancement bonus is two grades per +1 I’m willing to call this one grade per increase here. For now at least.
  • The mobility advantages seem pretty mild, really. I’ll call them a grade 1 quality for now.

Given the above, to exactly model mithral weapons basically halves the weight (lightweight, grade 1) and increases hardness by 5 (impervious I, grade 1); that the weapon counts as silver for DR purposes is basically free. In the absence of other improvement, a mithral weapon adds (2*2*500 gp) 2,000 gp to a weapon’s market price. This is spot on for a longsword, more expensive for a short sword or dagger, less expensive for a great axe. Since it doesn’t really do anything, I’m okay with it.

Armor, on the other hand, gets quite a bit more expensive.

  • Light armor doesn’t benefit from the reduced category, but does benefit from lightweight (grade 1), improved maximum Dexterity bonus (grade 2, +2), reduced armor check penalty (grade 2 — the only relevant armor has an ACP of -2), and reduced arcane spell failure (grade 2, 10%). This is a total of seven grades! This would thus be worth 12,250 gp (7*7*500 gp = 24,500 gp, halved because it’s armor).
  • Medium and heavy armor would actually be the same: lighter category (grade 1), lightweight (grade 1), improved maximum Dexterity bonus (grade 2, +2), reduced armor check penalty (grade 3), reduced arcane spell failure (grade 2). This is a total of nine grades, and add, in the absence of other improvements, 20,250 gp (9*9*500 gp = 40,500 gp, halved because this is armor).
  • A light steel shield isn’t so bad: lightweight (grade 1), reduced armor check penalty (grade 1), reduced arcane spell failure (grade 1, 5%), a total of three grades. 2,250 gp (3*3*500 gp = 4,500 gp, halved).
  • A heavy steel shield is more expensive: lightweight (grade 1), reduced armor check penalty (grade 2), reduced arcane spell failure (grade 2, 10%). A total of five grades, 6,250 gp (5*5*500 gp = 12,500, halved).

Combining Special Materials

Because these are alloys rather than pure metals, it seems plausible that someone could try to blend them into an item that does more. An adamantine/mithral mix might incorporate the features of both.

A longsword made of an alloy (or pattern-welded billet of these two materials with steel) might include:

  • hardness 20 (impervious, grade 2)
  • +50% hit points (sturdy, grade 1)
  • lightweight (grade 1)

This is a basic grade 4 item with a market price of 8,000 gp.

A suit of chainmail made of this material, though…

  • hardness 20 (impervious, grade 2)
  • +50% hit points (sturdy, grade 1)
  • DR 2/— (grade 2)
  • lighter category (grade 1)
  • lightweight (grade 1)
  • improved maximum Dexterity bonus (grade 2, +2)
  • reduced armor check penalty (grade 3)
  • reduced arcane spell failure (grade 2, 10%)

Grade 14! This adds a 49,000 gp to the market price (14*14*500 = 98,000 gp, halved). This is before adding any other qualities!

As just a suit of adamantine chainmail this would be only a grade 5 item (6,250 gp market price). As just a suit of mithral it would still be grade 10 (25,000 gp market price).

Complex alloys are expensive… but since by RAW they don’t exist at all, I’ll probably be okay with that after I get past being a bit stunned.

Closing Comments

By looking at the effects of special materials, and how they fit into the rest of the framework, they can do some strange things to the costs. The materials themselves are largely unimportant, acting primarily as justification for crafting the items with these qualities. To be honest I’d be inclined to split some of the materials up a bit. Mithral does many things, and they don’t all apply to all wearers (the reduce arcane spell failure). Having the improved maximum Dexterity bonus a mix of material and cunning construction (rather than a fixed value whether the crafter wants it or not) could be a reasonable change as well, as might the reduced armor check penalty.

RAW, I don’t see why almost all armor isn’t made of mithral. It’s amazingly cheap for what it does, especially since the cost doesn’t scale with other improvements.

Actually, I’m pretty sure mithral is the most common special material for armor. As it should be, looking at this.

Variation: Graded Item Sets

A-Z 2016 "V"“Magic item sets” were an artifact (sorry) of the late D&D 3.x era. A small group of items related by their history and power, with a synergy between them that made them more powerful together than apart.

The regalia of the phoenix consisted of the raptor’s mask, the crown of flames, the talon scepter, and the phoenix cloak. Each was a magic item in its own right, often relatively minor (worth 3,500 gp, 8,500 gp, 10,305 gp, and 50,000 gp respectively). If you had and wore/wielded two or more of them you gained increasing power from their synergy: 5/day resistance to fire when you had two of the items, 5/day immunity to fire when you had three of the items, and 1/day heal when reduced to 0..-9 hit points when you had all four items.

What if you could do something similar with graded items?

One way to go about it — and I’m not entirely certain this is workable — is to have items that are part of the same set add their grades together for effect. Individually they are all still magic items, but together they act as a much more powerful item… albeit in multiple item slots.

The Lightning Harness

The lightning harness might be a suit of armor consisting of several pieces that are individually enchanted. The breastplate (armor slot), helm (head slot), gauntlets (wrists slot), and boots (feet slot) are each magic items that combine to make a more powerful whole. Let’s give them preliminary grades of 7, 6, 4, and 3 respectively — a total of 20.

In the first pass I’ll assign a single quality to each piece

Item Grade Qualities
stormplate 7 (4) +2 enhancement, (2) electricity resistance I (5 points), (1) lightweight
lightning helm 6 (2) +1 enhancement, (2) electricity resistance I (5 points), (1) enemy glow (elementals), (1) alert I (+2 Perception)
shock gauntlets 4 (2) shock I (+1d6 electricity damage), (1) hated foe (elementals), (1) sacred (god of storms)
wind boots 3 (2) dexterity I, (1) nimble I (+2 Acrobatics)

… well. This might be a bust. Of all the options above, only the enhancement bonuses and the electricity resistance can even stack. If one character wears both the stormplate and the lightning helm that character has what amounts to a grade 13 item with +3 enhancement (grade 6, within limits, 7 grades remaining), electricity resistance 10 (grade 4, within limits, 3 grades remaining), then the lightweightenemy glow, and alert qualities (each grade 1).

On the other hand, as a grade 13 item that would normally have a market price of 42,250 gp (13*13*500 gp = 84,500 gp, but halved because it’s all armor). As separate items they have a market price of only 21,250 gp (7*7*500 gp = 24,500 gp, halved to 12,250 gp; 6*6*500 gp= 18,000 gp, halved to 9,000 gp). This is just over half the normal price. If you can afford the slots, it costs a lot less gold to go this way. It does load the item down with more low-grade qualities than might otherwise happen.

All four items together would have the qualities of a grade 20 item, which has a market price of 100,000 gp (20*20*500 gp, halved for being armor… should actually be a bit more because the shock I quality is a weapon quality, but it’s tiny compared to the rest. As individual items the total comes to 27,500 gp, only a little more than a quarter.

I suspect we’ll find the most synergy when more of the items’ qualities match. Let’s see…

The Four-Part Elemental Staff

The four-part elemental staff is currently separated into four wands, one for each element. These wands to not all have the same grades. These wands can be fitted together in arbitrary order to combine their powers.

  • The wand of elemental air is a grade 6 wand and can cast stinking cloud (3), summon monster II (2, air elemental), feather fall (1)
  • The wand of elemental earth is a grade 4 wand and can cast summon monster II (2, earth elemental), detect secret doors (1), magic weapon (1)
  • The wand of elemental fire is a grade 6 wand and can cast fireball (3), summon monster II (2, earth elemental), burning hands (1)
  • The wand of elemental water is a grade 4 wand and can cast summon monster III (2, water elemental), grease (1), obscuring mist (1)

If the wand of elemental earth or the wand of elemental water is fitted together with any one other wand, the result is still a wand, otherwise the result is a staff.

In all cases, the resulting item has the summon monster levels ‘added together’ (two wands means the summon monster II is replaced by summon monster IV, three wands means the summon monster II is replaced by summon monster VI, and all four together allow the wielder to cast summon monster VIII). The charges are likewise added together, and the caster level increases to the sum of the wands’ levels.

The wand of elemental earth and fire (the two fitted together) is a grade 10 item with summon monster IV (4), fireball (3), burning hands (1), detect secret doors (1), and magic weapon (1) spells, and 10 charges that can be spent on any combination of these spells. You can separate the wands if you want a weaker summon monster II again, but it’ll be cast at a lower caster level.

The four-part elemental staff, when completely combined, is a grade 20 item with the following spells:

  • summon monster VIII (8 charges; air, earth, fire, or water elementals)
  • fireball (3 charges)
  • stinking cloud (3 charges)
  • burning hands (1 charge)
  • detect secret doors (1 charge)
  • feather fall (1 charge)
  • grease (1 charge)
  • magic weapon (1 charge)
  • obscuring mist (1 charge)

All spells are cast at 20th level.

As a grade 20 item the staff would be 20*20*500 gp = 200,000 gp. As the four wands the cost would be 6*6*500 gp = 18,000 gp for the air and fire wands, and 4*4*500 gp = 8,000 gp for the earth and water wands, for a total of 52,000 gp.

Clearly Some Adjustment is Needed

I very much wanted this to work, but it doesn’t look quite right to me. “Combining the item powers” doesn’t seem to do enough, and the market price implications can result in wildly cheaper power.

When I say combining the item powers doesn’t do enough, I mean it’s just basic aggregation, and being allowed to do it when you otherwise wouldn’t (the enhancement and energy resistance qualities in the lightning harness, and the summon monster spells in the four-part elemental staff). Boring, not cool.

At the same time, by splitting into four separate items of approximately equal power, the total cost is reduced to a little more than a quarter. For the lightning harness this isn’t horrible, since it also ties up four item slots (armor, helmet, wrists, feet), but for the four-part elemental staff it’s basically a non-issue.

I’ve considered some combination of quirks, flaws, and curses based on level of the wielder compared to the grade of the item, or increasing some element of unpleasantness based on the number of items, but nothing feels right yet.