Dwarf Fortress > DF Modding

Familiar Instruments Mod [WIP] v0.0.4.2

(1/7) > >>

RoaryStar:
While the new update with instruments is wonderful, I have a few problems with their procedural generation:

* Some instruments are incredibly difficult to make, and there is no adequate documentation for it.
* Some instruments are completely ridiculous. People have encountered an instrument that's literally a block that you hit with your hand.
* Every civilization has a completely different set of instruments. In one dwarven civ, a Litash could be a block, but in another world it would be something like a violin. It's too difficult to remember what these instruments are.
The last point, for me, is the most important part. So I've searched for an instrument mod, to no avail, and the old raws literally have five instruments.
That's why I've decided to make one myself.

Note: my modding is dabbling at best, and I only really know how string instruments work. Suggestions, thoughts, and corrections are not only welcome, they are encouraged.

RAW download from DFFD (v0.0.4.2)
Spoiler: Changes (click to show/hide)- Cellos should now work

Completed Files (not yet tested)
Spoiler: item_instrument_violin (click to show/hide)
--- Code: ---item_instrument_violin

[OBJECT:ITEM]

[ITEM_TOOL:PART_VIOLIN_BODY]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:violin body:violin bodies]
[VALUE:15]
[WOOD_MAT]
[TILE:155]
[SIZE:500][MATERIAL_SIZE:1]
[DESCRIPTION:The curved violin body makes up most of the violin.]

[ITEM_TOOL:PART_VIOLIN_NECK]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:violin neck:violin necks]
[VALUE:5]
[WOOD_MAT]
[TILE:155]
[SIZE:300][MATERIAL_SIZE:1]
[DESCRIPTION:The violin neck is stuck onto the front of the body and is used to modify a note's pitch. It includes the scroll, where tuning pegs are jammed in.]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]

[ITEM_TOOL:PART_VIOLIN_STRINGS]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:violin strings:violin strings]
[VALUE:1]
[METAL_MAT]
[TILE:155]
[SIZE:10][MATERIAL_SIZE:1]
[DESCRIPTION:The strings of a violin, stretched from the bottom of the body to the top of the neck, is used to produce sound.]

[ITEM_TOOL:PART_VIOLIN_BOW]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:violin bow:violin bows]
[VALUE:10]
[WOOD_MAT]
[TILE:155]
[SIZE:50][MATERIAL_SIZE:1]
[DESCRIPTION:The long violin bow is used to pull a string to create its signature timbre.]

[ITEM_TOOL:PART_VIOLIN_OTHER]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:violin accessories:violin accessories]
[VALUE:20]
[WOOD_MAT]
[TILE:155]
[SIZE:500][MATERIAL_SIZE:1]
[DESCRIPTION:Violin accessories are tiny items but neccessary to use the instrument. They include tuning pegs, the bridge, sound-post, chinrest, shoulder rest, and fine tuners.]

[ITEM_INSTRUMENT:ITEM_INSTRUMENT_VIOLIN]
[NAME:violin:violins]
[DESCRIPTION:The classical violin is a relatively small string instrument consisting of four metal strings - G3, D4, A5, and E5 - stretched from the scroll, the top of the neck, over the fingerboard, pressing down on the bridge and to the bottom of the body. Most parts are generally made from wood, though most hard materials work as well. There are many ways to play the violin. A musician can bow the strings, creating a fluid yet evolving timbre, or pluck the strings, playing clear, sharp notes. It has a three-octave range, going from a mid-low to a very high pitch.]
[VALUE:200]
[SIZE:1360]
[DOMINANT_MATERIAL_PIECE:BODY]
[INSTRUMENT_PIECE:BODY:PART_VIOLIN_BODY:body:bodies:ALWAYS_SINGULAR]
[INSTRUMENT_PIECE:NECK:PART_VIOLIN_NECK:neck:necks:ALWAYS_SINGULAR]
[INSTRUMENT_PIECE:STRINGS:PART_VIOLIN_STRINGS:strings:strings:ALWAYS_PLURAL]
[INSTRUMENT_PIECE:BOW:PART_VIOLIN_BOW:bow:bows:ALWAYS_SINGULAR]
[INSTRUMENT_PIECE:SCROLL:PART_VIOLIN_OTHER:tuning peg:tuning pegs:ALWAYS_PLURAL]
[VOLUME_mB:0:10000]
[SOUND_PRODUCTION:PLUCKED_BY_BP:STRINGS]
[SOUND_PRODUCTION:STRUCK:BOW:STRINGS]
[SOUND_PRODUCTION:BOWED:BOW:STRINGS]
[PITCH_CHOICE:STOPPING_AGAINST_BODY:STRINGS:NECK]
[TUNING:PEGS]
[PITCH_RANGE:1900:6400]
[TIMBRE:SMOOTH:EVOLVING:FLUID:RICH]
[MUSIC_SKILL:PLAY_STRINGED_INSTRUMENT]

--- End code ---
Spoiler: reaction_instrument_violin (click to show/hide)
--- Code: ---reaction_instrument_violin

[OBJECT:REACTION]

[REACTION:MAKE_INSTRUMENT_VIOLIN_BODY]
[NAME:make violin body]
[BUILDING:CRAFTSMAN:NONE]
[REAGENT:wood:1:WOOD:NONE:NONE:NONE]
[PRODUCT:100:1:TOOL:PART_VIOLIN_BODY:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[SKILL:WOODCRAFT]
[DESCRIPTION:USE_TOOL:PART_VIOLIN_BODY]
[CATEGORY:INSTRUMENT_PIECE]

[REACTION:MAKE_INSTRUMENT_VIOLIN_OTHER]
[NAME:make violin parts]
[BUILDING:CRAFTSMAN:NONE]
[REAGENT:wood:1:WOOD:NONE:NONE:NONE]
[PRODUCT:100:1:TOOL:PART_VIOLIN_NECK:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[PRODUCT:100:1:TOOL:PART_VIOLIN_BOW:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[PRODUCT:100:1:TOOL:PART_VIOLIN_OTHER:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[SKILL:WOODCRAFT]
[DESCRIPTION:Makes the bow, neck, and accessories for a violin.]
[CATEGORY:INSTRUMENT_PIECE]

[REACTION:MAKE_INSTRUMENT_VIOLIN_STRINGS]
[NAME:forge violin strings]
[BUILDING:METALSMITH:NONE]
[FUEL]
[REAGENT:bar:30:BAR:NONE:METAL:NONE]
[PRODUCT:100:1:TOOL:PART_VIOLIN_STRINGS:GET_MATERIAL_FROM_REAGENT:bar:NONE]
[SKILL:METALCRAFT]
[DESCRIPTION:USE_TOOL:PART_VIOLIN_BODY]
[CATEGORY:INSTRUMENT_PIECE]

[REACTION:MAKE_INSTRUMENT_VIOLIN]
[NAME:assemble violin]
[BUILDING:CRAFTSMAN:NONE]
[REAGENT:body:1:TOOL:PART_VIOLIN_BODY:NONE:NONE]
[REAGENT:neck:1:TOOL:PART_VIOLIN_NECK:NONE:NONE]
[REAGENT:bow:1:TOOL:PART_VIOLIN_BOW:NONE:NONE]
[REAGENT:other:1:TOOL:PART_VIOLIN_OTHER:NONE:NONE]
[REAGENT:strings:1:TOOL:PART_VIOLIN_STRINGS:NONE:NONE]
[PRODUCT:100:1:INSTRUMENT:ITEM_INSTRUMENT_VIOLIN:GET_MATERIAL_FROM_REAGENT:body:NONE]
[PRODUCT_TOKEN:instrument]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:BODY:GET_MATERIAL_FROM_REAGENT:body:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:NECK:GET_MATERIAL_FROM_REAGENT:neck:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:BOW:GET_MATERIAL_FROM_REAGENT:bow:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:STRINGS:GET_MATERIAL_FROM_REAGENT:strings:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:SCROLL:GET_MATERIAL_FROM_REAGENT:other:NONE]
[SKILL:WOODCRAFT]
[DESCRIPTION:The classical orchestral string instrument.]
[CATEGORY:INSTRUMENT]

--- End code ---
Spoiler: item_instrument_viola (click to show/hide)
--- Code: ---item_instrument_viola

[OBJECT:ITEM]

[ITEM_TOOL:PART_VIOLA_BODY]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:viola body:viola bodies]
[VALUE:20]
[WOOD_MAT]
[TILE:155]
[SIZE:600][MATERIAL_SIZE:1]
[DESCRIPTION:The curved viola body makes up most of the viola.]

[ITEM_TOOL:PART_VIOLA_NECK]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:viola neck:viola necks]
[VALUE:5]
[WOOD_MAT]
[TILE:155]
[SIZE:360][MATERIAL_SIZE:1]
[DESCRIPTION:The viola neck is stuck onto the front of the body and is used to modify a note's pitch. It includes the scroll, where tuning pegs are jammed in.]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]

[ITEM_TOOL:PART_VIOLA_STRINGS]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:viola strings:viola strings]
[VALUE:1]
[METAL_MAT]
[TILE:155]
[SIZE:12][MATERIAL_SIZE:1]
[DESCRIPTION:The strings of a viola, stretched from the bottom of the body to the top of the neck, is used to produce sound.]

[ITEM_TOOL:PART_VIOLA_BOW]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:viola bow:viola bows]
[VALUE:10]
[WOOD_MAT]
[TILE:155]
[SIZE:50][MATERIAL_SIZE:1]
[DESCRIPTION:The long viola bow is used to pull a string to create its signature timbre.]

[ITEM_TOOL:PART_VIOLA_OTHER]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:viola accessories:viola accessories]
[VALUE:20]
[WOOD_MAT]
[TILE:155]
[SIZE:600][MATERIAL_SIZE:1]
[DESCRIPTION:Viola accessories are tiny items but neccessary to use the instrument. They include tuning pegs, the bridge, sound-post, chinrest, shoulder rest, and fine tuners.]

[ITEM_INSTRUMENT:ITEM_INSTRUMENT_VIOLA]
[NAME:viola:violas]
[DESCRIPTION:The viola is a relatively small string instrument consisting of four metal strings - C3, G3, D4, and A5 - stretched from the scroll, the top of the neck, over the fingerboard, pressing down on the bridge and to the bottom of the body. Most parts are made from wood, though the strings are metal. There are many ways to play the viola, though classically most involve accompanying a violin. A musician can bow the strings, playing a steady note, or pluck the strings, creating a brittle sound. It has a three-octave range, going from a mid-low to a mid-high pitch.]
[VALUE:250]
[SIZE:1722]
[DOMINANT_MATERIAL_PIECE:BODY]
[INSTRUMENT_PIECE:BODY:PART_VIOLA_BODY:body:bodies:ALWAYS_SINGULAR]
[INSTRUMENT_PIECE:NECK:PART_VIOLA_NECK:neck:necks:ALWAYS_SINGULAR]
[INSTRUMENT_PIECE:STRINGS:PART_VIOLA_STRINGS:strings:strings:ALWAYS_PLURAL]
[INSTRUMENT_PIECE:BOW:PART_VIOLA_BOW:bow:bows:ALWAYS_SINGULAR]
[INSTRUMENT_PIECE:SCROLL:PART_VIOLA_OTHER:tuning peg:tuning pegs:ALWAYS_PLURAL]
[VOLUME_mB:0:10000]
[SOUND_PRODUCTION:PLUCKED_BY_BP:STRINGS]
[SOUND_PRODUCTION:STRUCK:BOW:STRINGS]
[SOUND_PRODUCTION:BOWED:BOW:STRINGS]
[PITCH_CHOICE:STOPPING_AGAINST_BODY:STRINGS:NECK]
[TUNING:PEGS]
[PITCH_RANGE:-1200:3300]
[TIMBRE:STEADY:MELLOW:FLUID:RESONANT]
[MUSIC_SKILL:PLAY_STRINGED_INSTRUMENT]
--- End code ---
Spoiler: reaction_instrument_viola (click to show/hide)
--- Code: ---reaction_instrument_viola

[OBJECT:REACTION]

[REACTION:MAKE_INSTRUMENT_VIOLA_BODY]
[NAME:make viola body]
[BUILDING:CRAFTSMAN:NONE]
[REAGENT:wood:1:WOOD:NONE:NONE:NONE]
[PRODUCT:100:1:TOOL:PART_VIOLA_BODY:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[SKILL:WOODCRAFT]
[DESCRIPTION:USE_TOOL:PART_VIOLA_BODY]
[CATEGORY:INSTRUMENT_PIECE]

[REACTION:MAKE_INSTRUMENT_VIOLA_OTHER]
[NAME:make viola parts]
[BUILDING:CRAFTSMAN:NONE]
[REAGENT:wood:1:WOOD:NONE:NONE:NONE]
[PRODUCT:100:1:TOOL:PART_VIOLA_NECK:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[PRODUCT:100:1:TOOL:PART_VIOLA_BOW:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[PRODUCT:100:1:TOOL:PART_VIOLA_OTHER:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[SKILL:WOODCRAFT]
[DESCRIPTION:Makes the bow, neck, and accessories for a viola.]
[CATEGORY:INSTRUMENT_PIECE]

[REACTION:MAKE_INSTRUMENT_VIOLA_STRINGS]
[NAME:forge viola strings]
[BUILDING:METALSMITH:NONE]
[FUEL]
[REAGENT:bar:30:BAR:NONE:METAL:NONE]
[PRODUCT:100:1:TOOL:PART_VIOLA_STRINGS:GET_MATERIAL_FROM_REAGENT:bar:NONE]
[SKILL:METALCRAFT]
[DESCRIPTION:USE_TOOL:PART_VIOLA_BODY]
[CATEGORY:INSTRUMENT_PIECE]

[REACTION:MAKE_INSTRUMENT_VIOLA]
[NAME:assemble viola]
[BUILDING:CRAFTSMAN:NONE]
[REAGENT:body:1:TOOL:PART_VIOLA_BODY:NONE:NONE]
[REAGENT:neck:1:TOOL:PART_VIOLA_NECK:NONE:NONE]
[REAGENT:bow:1:TOOL:PART_VIOLA_BOW:NONE:NONE]
[REAGENT:other:1:TOOL:PART_VIOLA_OTHER:NONE:NONE]
[REAGENT:strings:1:TOOL:PART_VIOLA_STRINGS:NONE:NONE]
[PRODUCT:100:1:INSTRUMENT:ITEM_INSTRUMENT_VIOLA:GET_MATERIAL_FROM_REAGENT:body:NONE]
[PRODUCT_TOKEN:instrument]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:BODY:GET_MATERIAL_FROM_REAGENT:body:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:NECK:GET_MATERIAL_FROM_REAGENT:neck:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:BOW:GET_MATERIAL_FROM_REAGENT:bow:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:STRINGS:GET_MATERIAL_FROM_REAGENT:strings:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:SCROLL:GET_MATERIAL_FROM_REAGENT:other:NONE]
[SKILL:WOODCRAFT]
[DESCRIPTION:The alto orchestral string instrument.]
[CATEGORY:INSTRUMENT]
--- End code ---
Spoiler: item_instrument_violoncello (click to show/hide)
--- Code: ---item_instrument_violoncello

[OBJECT:ITEM]

[ITEM_TOOL:PART_VIOLONCELLO_BODY]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:cello body:cello bodies]
[VALUE:180]
[WOOD_MAT]
[TILE:155]
[SIZE:6000][MATERIAL_SIZE:3]
[DESCRIPTION:The curved cello body makes up most of the cello.]

[ITEM_TOOL:PART_VIOLONCELLO_NECK]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:cello neck:cello necks]
[VALUE:15]
[WOOD_MAT]
[TILE:155]
[SIZE:850][MATERIAL_SIZE:1]
[DESCRIPTION:The cello neck is stuck onto the front of the body and is used to modify a note's pitch. It includes the scroll, where tuning pegs are jammed in.]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]

[ITEM_TOOL:PART_VIOLONCELLO_STRINGS]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:cello strings:cello strings]
[VALUE:2]
[METAL_MAT]
[TILE:155]
[SIZE:30][MATERIAL_SIZE:1]
[DESCRIPTION:The strings of a cello, stretched from the bottom of the body to the top of the neck, is used to produce sound.]

[ITEM_TOOL:PART_VIOLONCELLO_BOW]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:cello bow:cello bows]
[VALUE:16]
[WOOD_MAT]
[TILE:155]
[SIZE:80][MATERIAL_SIZE:1]
[DESCRIPTION:The long cello bow is used to pull a string to create its signature timbre.]

[ITEM_TOOL:PART_VIOLONCELLO_OTHER]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:cello accessories:cello accessories]
[VALUE:20]
[WOOD_MAT]
[TILE:155]
[SIZE:500][MATERIAL_SIZE:1]
[DESCRIPTION:Cello accessories are tiny items but neccessary to use the instrument. They include tuning pegs, the bridge, sound-post, endpin, and fine tuners.]

[ITEM_INSTRUMENT:ITEM_INSTRUMENT_VIOLONCELLO]
[NAME:cello:cellos]
[DESCRIPTION:The violoncello is a relatively large string instrument consisting of four metal strings - C2, G2, D3, and A4 - stretched from the scroll, the top of the neck, over the fingerboard, pressing down on the bridge and to the bottom of the body. Most parts are generally made from wood, though most hard materials work as well. There are many ways to play the cello. A musician can bow the strings, creating a broad and even timbre, or pluck the strings, playing rough, sharp notes. It has a four-octave range, going from a low to a mid-high pitch.]
[VALUE:1100]
[SIZE:7460]
[DOMINANT_MATERIAL_PIECE:BODY]
[INSTRUMENT_PIECE:BODY:PART_VIOLONCELLO_BODY:body:bodies:ALWAYS_SINGULAR]
[INSTRUMENT_PIECE:NECK:PART_VIOLONCELLO_NECK:neck:necks:ALWAYS_SINGULAR]
[INSTRUMENT_PIECE:STRINGS:PART_VIOLONCELLO_STRINGS:strings:strings:ALWAYS_PLURAL]
[INSTRUMENT_PIECE:BOW:PART_VIOLONCELLO_BOW:bow:bows:ALWAYS_SINGULAR]
[INSTRUMENT_PIECE:SCROLL:PART_VIOLONCELLO_OTHER:tuning peg:tuning pegs:ALWAYS_PLURAL]
[VOLUME_mB:0:10000]
[SOUND_PRODUCTION:PLUCKED_BY_BP:STRINGS]
[SOUND_PRODUCTION:STRUCK:BOW:STRINGS]
[SOUND_PRODUCTION:BOWED:BOW:STRINGS]
[PITCH_CHOICE:STOPPING_AGAINST_BODY:STRINGS:NECK]
[TUNING:PEGS]
[PITCH_RANGE:-2400:2100]
[TIMBRE:BROAD:EVEN:FLUID:ROUGH]
[MUSIC_SKILL:PLAY_STRINGED_INSTRUMENT]
--- End code ---
Spoiler: reaction_instrument_violoncello (click to show/hide)
--- Code: ---reaction_instrument_violoncello

[OBJECT:REACTION]

[REACTION:MAKE_INSTRUMENT_VIOLONCELLO_BODY]
[NAME:make cello body]
[BUILDING:CRAFTSMAN:NONE]
[REAGENT:wood:1:WOOD:NONE:NONE:NONE]
[PRODUCT:100:1:TOOL:PART_VIOLONCELLO_BODY:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[SKILL:WOODCRAFT]
[DESCRIPTION:USE_TOOL:PART_VIOLONCELLO_BODY]
[CATEGORY:INSTRUMENT_PIECE]

[REACTION:MAKE_INSTRUMENT_VIOLONCELLO_OTHER]
[NAME:make cello parts]
[BUILDING:CRAFTSMAN:NONE]
[REAGENT:wood:1:WOOD:NONE:NONE:NONE]
[PRODUCT:100:1:TOOL:PART_VIOLONCELLO_NECK:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[PRODUCT:100:1:TOOL:PART_VIOLONCELLO_BOW:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[PRODUCT:100:1:TOOL:PART_VIOLONCELLO_OTHER:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[SKILL:WOODCRAFT]
[DESCRIPTION:Makes the bow, neck, and accessories for a cello.]
[CATEGORY:INSTRUMENT_PIECE]

[REACTION:MAKE_INSTRUMENT_VIOLONCELLO_STRINGS]
[NAME:forge cello strings]
[BUILDING:METALSMITH:NONE]
[FUEL]
[REAGENT:bar:50:BAR:NONE:METAL:NONE]
[PRODUCT:100:1:TOOL:PART_VIOLONCELLO_STRINGS:GET_MATERIAL_FROM_REAGENT:bar:NONE]
[SKILL:METALCRAFT]
[DESCRIPTION:USE_TOOL:PART_VIOLONCELLO_BODY]
[CATEGORY:INSTRUMENT_PIECE]

[REACTION:MAKE_INSTRUMENT_VIOLONCELLO]
[NAME:assemble cello]
[BUILDING:CRAFTSMAN:NONE]
[REAGENT:body:1:TOOL:PART_VIOLONCELLO_BODY:NONE:NONE]
[REAGENT:neck:1:TOOL:PART_VIOLONCELLO_NECK:NONE:NONE]
[REAGENT:bow:1:TOOL:PART_VIOLONCELLO_BOW:NONE:NONE]
[REAGENT:other:1:TOOL:PART_VIOLONCELLO_OTHER:NONE:NONE]
[REAGENT:strings:1:TOOL:PART_VIOLONCELLO_STRINGS:NONE:NONE]
[PRODUCT:100:1:INSTRUMENT:ITEM_INSTRUMENT_VIOLONCELLO:GET_MATERIAL_FROM_REAGENT:body:NONE]
[PRODUCT_TOKEN:instrument]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:BODY:GET_MATERIAL_FROM_REAGENT:body:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:NECK:GET_MATERIAL_FROM_REAGENT:neck:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:BOW:GET_MATERIAL_FROM_REAGENT:bow:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:STRINGS:GET_MATERIAL_FROM_REAGENT:strings:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:SCROLL:GET_MATERIAL_FROM_REAGENT:other:NONE]
[SKILL:WOODCRAFT]
[DESCRIPTION:The bass orchestral string instrument.]
[CATEGORY:INSTRUMENT]
--- End code ---
Spoiler: item_instrument_bass_string (click to show/hide)
--- Code: ---item_instrument_bass_string

[OBJECT:ITEM]

[ITEM_TOOL:PART_BASS_STRING_BODY]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:double-base body:double-base bodies]
[VALUE:400]
[WOOD_MAT]
[TILE:155]
[SIZE:12000][MATERIAL_SIZE:3]
[DESCRIPTION:The curved double-bass body makes up most of the string bass.]

[ITEM_TOOL:PART_BASS_STRING_NECK]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:double-base neck:double-base necks]
[VALUE:30]
[WOOD_MAT]
[TILE:155]
[SIZE:1900][MATERIAL_SIZE:1]
[DESCRIPTION:The double-bass neck is stuck onto the front of the body and is used to modify a note's pitch. It includes the scroll, where tuning pegs are attached.]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]

[ITEM_TOOL:PART_BASS_STRING_STRINGS]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:double-bass strings:double-bass strings]
[VALUE:5]
[METAL_MAT]
[TILE:155]
[SIZE:70][MATERIAL_SIZE:1]
[DESCRIPTION:The strings of a double-bass, stretched from the bottom of the body to the top of the neck, is used to produce sound.]

[ITEM_TOOL:PART_BASS_STRING_BOW]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:double-base bow:double-base bows]
[VALUE:20]
[WOOD_MAT]
[TILE:155]
[SIZE:150][MATERIAL_SIZE:1]
[DESCRIPTION:The long double-base bow is used to pull a string to create its signature timbre.]

[ITEM_TOOL:PART_BASS_STRING_OTHER]
[NO_DEFAULT_JOB]
[INCOMPLETE_ITEM]
[UNIMPROVABLE]
[NAME:double-base accessories:double-base accessories]
[VALUE:25]
[WOOD_MAT]
[TILE:155]
[SIZE:700][MATERIAL_SIZE:1]
[DESCRIPTION:String bass accessories are tiny items but neccessary to use the instrument. They include tuning pegs, the bridge, sound-post, and endpin.]

[ITEM_INSTRUMENT:ITEM_INSTRUMENT_BASS_STRING]
[NAME:double-bass:double-basses]
[DESCRIPTION:The string bass is a large string instrument consisting of four metal strings - G2, D2, A1, E1 - stretched from the scroll, the top of the neck, over the fingerboard, pressing down on the bridge and to the bottom of the body. Most parts are generally made from wood, though most hard materials work as well. There are many ways to play the bass. A musician can bow the strings, creating a strained, broad timbre, or pluck the strings, playing rough yet clear notes. It has a four-octave range, going from a very low to a mid-low pitch.]
[VALUE:2200]
[SIZE:14820]
[DOMINANT_MATERIAL_PIECE:BODY]
[INSTRUMENT_PIECE:BODY:PART_BASS_STRING_BODY:body:bodies:ALWAYS_SINGULAR]
[INSTRUMENT_PIECE:NECK:PART_BASS_STRING_NECK:neck:necks:ALWAYS_SINGULAR]
[INSTRUMENT_PIECE:STRINGS:PART_BASS_STRING_STRINGS:strings:strings:ALWAYS_PLURAL]
[INSTRUMENT_PIECE:BOW:PART_BASS_STRING_BOW:bow:bows:ALWAYS_SINGULAR]
[INSTRUMENT_PIECE:SCROLL:PART_BASS_STRING_OTHER:tuning peg:tuning pegs:ALWAYS_PLURAL]
[VOLUME_mB:0:10000]
[SOUND_PRODUCTION:PLUCKED_BY_BP:STRINGS]
[SOUND_PRODUCTION:STRUCK:BOW:STRINGS]
[SOUND_PRODUCTION:BOWED:BOW:STRINGS]
[PITCH_CHOICE:STOPPING_AGAINST_BODY:STRINGS:NECK]
[TUNING:PEGS]
[PITCH_RANGE:-4400:1900]
[TIMBRE:STRAINED:BROAD:FLUID:ROUGH]
[MUSIC_SKILL:PLAY_STRINGED_INSTRUMENT]
--- End code ---
Spoiler: reaction_instrument_bass_string (click to show/hide)
--- Code: ---reaction_instrument_bass_string

[OBJECT:REACTION]

[REACTION:MAKE_INSTRUMENT_BASS_STRING_BODY]
[NAME:make double-bass body]
[BUILDING:CRAFTSMAN:NONE]
[REAGENT:wood:1:WOOD:NONE:NONE:NONE]
[PRODUCT:100:1:TOOL:PART_BASS_STRING_BODY:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[SKILL:WOODCRAFT]
[DESCRIPTION:USE_TOOL:PART_BASS_STRING_BODY]
[CATEGORY:INSTRUMENT_PIECE]

[REACTION:MAKE_INSTRUMENT_BASS_STRING_OTHER]
[NAME:make double-bass parts]
[BUILDING:CRAFTSMAN:NONE]
[REAGENT:wood:1:WOOD:NONE:NONE:NONE]
[PRODUCT:100:1:TOOL:PART_BASS_STRING_NECK:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[PRODUCT:100:1:TOOL:PART_BASS_STRING_BOW:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[PRODUCT:100:1:TOOL:PART_BASS_STRING_OTHER:GET_MATERIAL_FROM_REAGENT:wood:NONE]
[SKILL:WOODCRAFT]
[DESCRIPTION:Makes the bow, neck, and accessories for a string base.]
[CATEGORY:INSTRUMENT_PIECE]

[REACTION:MAKE_INSTRUMENT_BASS_STRING_STRINGS]
[NAME:forge double-bass strings]
[BUILDING:METALSMITH:NONE]
[FUEL]
[REAGENT:bar:75:BAR:NONE:METAL:NONE]
[PRODUCT:100:1:TOOL:PART_BASS_STRING_STRINGS:GET_MATERIAL_FROM_REAGENT:bar:NONE]
[SKILL:METALCRAFT]
[DESCRIPTION:USE_TOOL:PART_BASS_STRING_BODY]
[CATEGORY:INSTRUMENT_PIECE]

[REACTION:MAKE_INSTRUMENT_BASS_STRING]
[NAME:assemble double-bass]
[BUILDING:CRAFTSMAN:NONE]
[REAGENT:body:1:TOOL:PART_BASS_STRING_BODY:NONE:NONE]
[REAGENT:neck:1:TOOL:PART_BASS_STRING_NECK:NONE:NONE]
[REAGENT:bow:1:TOOL:PART_BASS_STRING_BOW:NONE:NONE]
[REAGENT:other:1:TOOL:PART_BASS_STRING_OTHER:NONE:NONE]
[REAGENT:strings:1:TOOL:PART_BASS_STRING_STRINGS:NONE:NONE]
[PRODUCT:100:1:INSTRUMENT:ITEM_INSTRUMENT_BASS_STRING:GET_MATERIAL_FROM_REAGENT:body:NONE]
[PRODUCT_TOKEN:instrument]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:BODY:GET_MATERIAL_FROM_REAGENT:body:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:NECK:GET_MATERIAL_FROM_REAGENT:neck:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:BOW:GET_MATERIAL_FROM_REAGENT:bow:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:STRINGS:GET_MATERIAL_FROM_REAGENT:strings:NONE]
[IMPROVEMENT:100:instrument:INSTRUMENT_PIECE:SCROLL:GET_MATERIAL_FROM_REAGENT:other:NONE]
[SKILL:WOODCRAFT]
[DESCRIPTION:The lowest orchestral string instrument.]
[CATEGORY:INSTRUMENT]
--- End code ---

Entity Edits
Spoiler: entity_default (things to insert) (click to show/hide)
--- Code: (violin) ---[TOOL:PART_VIOLIN_BODY]
[TOOL:PART_VIOLIN_NECK]
[TOOL:PART_VIOLIN_BOW]
[TOOL:PART_VIOLIN_OTHER]
[TOOL:PART_VIOLIN_STRINGS]
[INSTRUMENT:ITEM_INSTRUMENT_VIOLIN]
[PERMITTED_REACTION:MAKE_INSTRUMENT_VIOLIN_BODY]
[PERMITTED_REACTION:MAKE_INSTRUMENT_VIOLIN_STRINGS]
[PERMITTED_REACTION:MAKE_INSTRUMENT_VIOLIN_OTHER]
[PERMITTED_REACTION:MAKE_INSTRUMENT_VIOLIN]
--- End code ---

--- Code: (viola) ---[TOOL:PART_VIOLA_BODY]
[TOOL:PART_VIOLA_NECK]
[TOOL:PART_VIOLA_BOW]
[TOOL:PART_VIOLA_OTHER]
[TOOL:PART_VIOLA_STRINGS]
[INSTRUMENT:ITEM_INSTRUMENT_VIOLA]
[PERMITTED_REACTION:MAKE_INSTRUMENT_VIOLA_BODY]
[PERMITTED_REACTION:MAKE_INSTRUMENT_VIOLA_STRINGS]
[PERMITTED_REACTION:MAKE_INSTRUMENT_VIOLA_OTHER]
[PERMITTED_REACTION:MAKE_INSTRUMENT_VIOLA]
--- End code ---

--- Code: (violoncello) ---[TOOL:PART_CELLO_BODY]
[TOOL:PART_CELLO_NECK]
[TOOL:PART_CELLO_BOW]
[TOOL:PART_CELLO_OTHER]
[TOOL:PART_CELLO_STRINGS]
[INSTRUMENT:ITEM_INSTRUMENT_CELLO]
[PERMITTED_REACTION:MAKE_INSTRUMENT_CELLO_BODY]
[PERMITTED_REACTION:MAKE_INSTRUMENT_CELLO_STRINGS]
[PERMITTED_REACTION:MAKE_INSTRUMENT_CELLO_OTHER]
[PERMITTED_REACTION:MAKE_INSTRUMENT_CELLO]
--- End code ---

--- Code: (string bass) ---[TOOL:PART_BASS_STRING_BODY]
[TOOL:PART_BASS_STRING_NECK]
[TOOL:PART_BASS_STRING_BOW]
[TOOL:PART_BASS_STRING_OTHER]
[TOOL:PART_BASS_STRING_STRINGS]
[INSTRUMENT:ITEM_INSTRUMENT_BASS_STRING]
[PERMITTED_REACTION:MAKE_INSTRUMENT_BASS_STRING_BODY]
[PERMITTED_REACTION:MAKE_INSTRUMENT_BASS_STRING_STRINGS]
[PERMITTED_REACTION:MAKE_INSTRUMENT_BASS_STRING_OTHER]
[PERMITTED_REACTION:MAKE_INSTRUMENT_BASS_STRING]
--- End code ---
Spoiler: entity_default (things to delete) (click to show/hide)
--- Code: ---[GENERATE_STRINGED_INSTRUMENTS]
--- End code ---


To install or test what's here so far:

* Download the .zip from the top
* Unzip in your Dwarf Fortress/raws folder
* Generate a new world
* Have fun!
To uninstall:

* Delete the files named above
* Delete entity_default.txt
* Rename entity_default_old.txt to entity_default.txt

Planned Features (under construction)
Spoiler: Strings (click to show/hide)Violin
Viola
Violoncello
Double Bass
Guitar
Ukulele
Harp
[others]
Spoiler: Winds (click to show/hide)ArraySpoiler: Brass (click to show/hide)ArraySpoiler: Keyboard (click to show/hide)ArraySpoiler: Percussion (click to show/hide)ArraySpoiler: Other (click to show/hide)Array

IndigoFenix:
Finally!  I knew someone would make something like this eventually.  Procedurally generated instruments is a neat programming trick, but for immersion purposes I'd much rather see people playing instruments I can imagine on sight rather than having to read a whole description and picture them as they are described.

Putnam:
Huh. You went with violin first too?

I never really bothered making this since I figured someone else would, too.

Meph:
I can be mistaken, but in the medieval times, shouldnt violins have cat-gut strings instead of metal strings?

thatkid:
Serious question, that i think needs to be answered for this: If a civilization doesn't generate an instrument as per the random generation tag does it even still make music for that instrument and produce bards? Will dance forms still work correctly?
For some reason I could see issues coming up. I'm all for this, but it might be a good idea to make sure that the Generation tags aren't required for certain things to work, first.

Also: Lutes, brah

Navigation

[0] Message Index

[#] Next page

Go to full version