Decorations rule. They turn a plain, boring item into a highly distinctive and personal accessory, something you can really call your own. DF's decorations are already pretty complex, but they could use some improvements:
- Inscriptions, like on the blades of swords and such, would be awesome. Lines of poetry, badass names, whatever. They also shouldn't require additional materials -- a craftsdwarf can just carve directly into the blade.
- Buckets currently have their own unique "attachable" decoration, a handle. More items should have unique components -- pommel stones on sword hilts and fullers on sword blades, for example.
- For some items, the game should be more specific about what part of the item the decoration is on. When you have a sword encircled with bands of leather, you'd better hope they're not on the blade.
- Certain decorations just don't belong on certain items. A floodgate's a little big to be encircled with bands of anything.
- Artistic decorations should be themed appropriately for the item. Weapons should have depictions of war and death, barrels should have pictures of food.
- The big one: decorations aren't in the raws. New decorations can't be modded in, and modders can't control which materials are used by which decorations.
Now this thread takes a Choose Your Own Adventure twist.
If you're not a gigantic nerd, feel free to STOP HERE and reply directly to the ideas above. If you ARE a gigantic nerd and you have way too much free time like me, keep reading as I attempt to demonstrate the feasability of throwing all the existing decoration features AND the new ideas in the raws.
Note: I'm using "improvement" as a generic term with four
fixed categories: decorations, images, inscriptions, and components. Decorations are non-artistic things like bands and hanging rings. Components are item-specific things like handles and pommel stones.
Now let's get started with how everyone's favorite decoration, menacing spikes, might look in the raws. Notice it has a list of materials that can be used to create this decoration (to prevent rope reed spikes), each with an associated skill and a REAGENT-style item specification, so the game knows exactly what's needed for the job.
[IMPROVEMENT:DECORATION:SPIKES]
[NAME:menacing spikes]
[DESCRIPTION:ACTIVE:menaces:with spikes of]
[MATERIAL:METALCRAFTING:BAR:NO_SUBTYPE:METAL:NO_MATGLOSS]
[MATERIAL:STONECRAFTING:STONE:NO_SUBTYPE:STONE:NO_MATGLOSS]
[MATERIAL:BONE_CARVING:SHELL:NO_SUBTYPE:SHELL:NO_MATGLOSS]
[MATERIAL:BONE_CARVING:BONES:NO_SUBTYPE:BONE:NO_MATGLOSS]
On to encircling bands. Note the [SINGLE] tag, which prevents this decoration from being done more than once on the item (or attachment point, as we'll see later). Also note that the description is PASSIVE, which is information DF needs to construct the descriptive paragraph.
[IMPROVEMENT:DECORATION:BANDS]
[NAME:bands]
[SINGLE]
[DESCRIPTION:PASSIVE:encircled:with bands of]
[MATERIAL:METALCRAFTING:BAR:NO_SUBTYPE:METAL:NO_MATGLOSS]
[MATERIAL:LEATHERWORKING:SKIN_TANNED:NO_SUBTYPE:LEATHER:NO_MATGLOSS:wrapped]
[MATERIAL:CLOTHESMAKING:CLOTH:NO_SUBTYPE:NO_MATERIAL:NO_MATGLOSS:wrapped]
Now coverings. DF seems to currently use the "covering" decoration to cover encrusting, studding, etc. To accomodate this, the description string is broken into two parts, the first part of which ("covered") can be optionally overriden on a per-material basis using an optional final token.
[IMPROVEMENT:DECORATION:COVERING]
[NAME:covering]
[DESCRIPTION:PASSIVE:covered:with]
[MATERIAL:GEM_SETTING:SMALLGEM:NO_SUBTYPE:STONE:NO_MATGLOSS:encrusted]
[MATERIAL:LEATHERWORKING:SKIN_TANNED:NO_SUBTYPE:LEATHER:NO_MATGLOSS:decorated]
[MATERIAL:METALCRAFTING:BAR:NO_SUBTYPE:METAL:NO_MATGLOSS:studded]
[MATERIAL:BONE_CARVING:BONES:NO_SUBTYPE:BONE:NO_MATGLOSS]
Having illustrated the nuances of the decoration tags, let's move on to images. Note that they don't need a description string.
[IMPROVEMENT:IMAGE:IMAGE_SEWN]
[NAME:sewn image]
[SINGLE]
[MATERIAL:LEATHERWORKING:SKIN_TANNED:NO_SUBTYPE:LEATHER:NO_MATGLOSS]
[MATERIAL:CLOTHESMAKING:CLOTH:NO_SUBTYPE:NO_MATERIAL:NO_MATGLOSS]
[IMPROVEMENT:IMAGE:IMAGE_INLAID]
[NAME:inlaid image]
[MATERIAL:METALCRAFTING:BAR:NO_SUBTYPE:METAL:NO_MATGLOSS]
[MATERIAL:WOODCRAFTING:WOOD:NO_SUBTYPE:WOOD:NO_MATGLOSS]
[MATERIAL:BONE_CARVING:BONES:NO_SUBTYPE:BONE:NO_MATGLOSS]
Here's the first new improvement -- an engraved image. Because it's an engraving, it doesn't need additional materials. Instead this improvement simply has the [SUBTRACTIVE] tag. To figure out what labor gets used for the engraving, the game looks at the base material of the item, so an iron axe will be engraved by a metalcrafter, a wooden bucket by a woodcrafter, etc.
[IMPROVEMENT:IMAGE:IMAGE_ENGRAVED]
[NAME:engraved image]
[SUBTRACTIVE]
Another new improvement, the inscription. This is pretty open-ended -- the easiest thing would be a name for the item, but later on crafters could quote poetry or something.
[IMPROVEMENT:INSCRIPTION:INSCRIPTION_ENGRAVED]
[NAME:engraved inscription]
[SUBTRACTIVE]
[SINGLE]
And finally, the item-specific components. These can either specify materials (the pommel stone) or use [SUBTRACTIVE] (the fuller -- yes, you can grind a fuller onto a finished blade, I looked it up). Also, I took the debatably insane step of adding a recursive [SUB_IMPROVEMENT] tag to the bucket handle, so the handle itself can be encrusted with gems or whatever. It uses the same syntax as the item improvement specification further down.
[IMPROVEMENT:COMPONENT:DECORATIVE_GEM]
[NAME:gem]
[SINGLE]
[MATERIAL:GEM_SETTING:SMALLGEM:NO_SUBTYPE:STONE:NO_MATGLOSS]
[IMPROVEMENT:COMPONENT:SWORD_FULLER]
[NAME:fuller]
[SINGLE]
[SUBTRACTIVE]
[IMPROVEMENT:COMPONENT:BUCKET_HANDLE]
[NAME:handle]
[SINGLE]
[MATERIAL:WOODCRAFTING:WOOD:NO_SUBTYPE:WOOD:NO_MATGLOSS]
[MATERIAL:METALCRAFTING:BAR:NO_SUBTYPE:METAL:NO_MATGLOSS]
[SUB_IMPROVEMENT:EXTERNAL:ENTIRE_ITEM:COVERING]
Want to stick jeweled, spiked, platinum-banded skulls all over your throne? You got it.
[IMPROVEMENT:COMPONENT:DECORATIVE_SKULL]
[NAME:skull]
[MATERIAL:BONE_CARVING:SKULL:NO_SUBTYPE:BONE:NO_MATGLOSS]
[SUB_IMPROVEMENT:EXTERNAL:ENTIRE_ITEM:COVERING:SPIKES:BANDS]
[SUB_IMPROVEMENT:INTERNAL:left eye socket:DECORATIVE_GEM]
[SUB_IMPROVEMENT:INTERNAL:right eye socket:DECORATIVE_GEM]
Okay, so we have a nice list of improvements. Now items need the ability to specify what kind of improvements they can receive -- and where! This is handled via an IMPROVEMENT tag, which ideally could be used by any item. Each tag specifies a location on the item, followed by a list of improvements usable on that location. The list can specify individual improvements, as well as whole categories of improvements -- ANY_DECORATION, ANY_IMAGE, ANY_INSCRIPTION, or even the blanket token ANY_IMPROVEMENT (which would still exclude component-type improvements, of course).
This sword has a blade, a guard, and a hilt. The blade only permits an inscription and a fuller, while the guard can have any old crap hanging off it, but no images or inscriptions. The hilt can be wrapped with leather, and the pommel can have a stone set within it (note INTERNAL, which lets the game know to describe it as "in the pommel" rather than "on the pommel").
[ITEM_WEAPON:ITEM_WEAPON_SWORD_SHORT]
...
[IMPROVEMENT:EXTERNAL:blade:INSCRIPTION_ENGRAVED:SWORD_FULLER]
[IMPROVEMENT:EXTERNAL:guard:ANY_DECORATION]
[IMPROVEMENT:EXTERNAL:grip:BANDS]
[IMPROVEMENT:INTERNAL:pommel:DECORATIVE_GEM]
For items that don't have important locations, the special token ENTIRE_ITEM is used to specify that the improvement is smeared out all over the item, as the game currently treats all improvements.
[ITEM_BUCKET]
...
[IMPROVEMENT:ENTIRE_ITEM:ANY_IMPROVEMENT:BUCKET_HANDLE]
An illustration of how locations can be used to place interesting restrictions on improvements. This armor only allows images and coverings on the front and back, and spikes on the shoulder plates.
[ITEM_ARMOR:ITEM_ARMOR_PLATEMAIL]
...
[IMPROVEMENT:EXTERNAL:breastplate:ANY_IMAGE:COVERING]
[IMPROVEMENT:EXTERNAL:backplate:ANY_IMAGE:COVERING]
[IMPROVEMENT:EXTERNAL:left pauldron:SPIKES]
[IMPROVEMENT:EXTERNAL:right pauldron:SPIKES]
Buildings handle improvements by profession. Once workshops are in the raws, a craftsdwarf's shop would have:
[IMPROVEMENT:STONECRAFTING]
[IMPROVEMENT:WOODCRAFTING]
[IMPROVEMENT:BONE_CARVING]
While a forge would have:
[IMPROVEMENT:METALCRAFTING]
Finally, some potential complications with this approach:
- It requires buckets to be moved to the raws, to avoid introducing a hardcoded dependence on a particular raws entry.
- It requires some expansions to the item text descriptions to accommodate locational descriptions and sub-improvements.
- It introduces item "sections" (such as the blade, guard and hilt of a sword) without really giving them proper definitions. It might make more sense to wait until items are actually assembled from components.
- It doesn't include dyes. It probably could with the addition of a fifth category, but I haven't thought that part through.
Goddamn, I'm going to go get some fresh air now. If anybody actually read all that, please point out any flaws you found.