v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Difference between revisions of "v0.34:Cheating"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(copied from the 0.31 as most of the changes still apply)
Line 1: Line 1:
 
{{quality|Tattered|22:44, 21 February 2012 (UTC)}}{{av}}
 
{{quality|Tattered|22:44, 21 February 2012 (UTC)}}{{av}}
 +
 +
{{mod}}
 +
 +
'''Cheating''' is altering the game to make Dwarf Fortress easier. This is distinctly different from [[Main:exploits|exploits]]. There are two main ways to alter the game: changing the game's raw source files (which are really just text files), and directly altering the game's memory (which requires special tools).
 +
 +
 +
=Raw Editing=
 +
 +
For making modifications to a newly generated world, edit the raw files located in the '''dwarffortress/raw/objects''' folder ''before'' generating the game. For making modifications to an existing world, edit the raw files located in the '''raw/objects''' sub-folder of the [[Main:saved game folder|saved game folder]] for that world.
 +
 +
The most common use of editing raw files is to get free items, such as [[gem]]s, [[adamantine]], or [[flux]].
 +
 +
When changing the raw files, you may or may not need to create a new world in order for your changes to be reflected.
 +
 +
Generally speaking, ''modifications'' to an existing entry in a raw file don't require a new world. Altering existing reactions or creatures is an example of this.
 +
 +
However, when adding or deleting entries, you need to create a new world for the changes to take place, and when deleting, it can and probably will render your old world unplayable as attempting to play worlds generated before the deletion will cause an error.
 +
 +
[[Main:Shaostoul%27s Guide|Shaostoul's Guide]] contains several cut & paste examples for editing raw files specifically for the purpose of cheating.
 +
 +
==Creature Token Modifications==
 +
Modifying creature files does not require the creation of a new world. You can modify the physical attributes of a creature, make animals tamable and trainable, make your dwarves into short little bearded terminators, and much more.
 +
 +
===Instructions for use:===
 +
# Open creature_standard.txt
 +
# Find dwarven (or other creature) stats, which ought to resemble the sets below.
 +
# Delete those stats and replace with the new set.
 +
# Done.
 +
 +
*[http://notepad-plus-plus.org/ Notepad++] is recommended for altering raw files on Windows.
 +
 +
===Speedy Dwarves===
 +
Getting bored with slow dwarves?
 +
 +
Go into the creature_standard file and add the [SPEED:1] in somewhere in the top section of the entry.(or SPEED:0 if you're up to some psychedelic light speed traveling)
 +
 +
This will make your dwarves do the majority of their actions '''''super''''' fast, including moving, digging and workshop actions.
 +
 +
This may, ironically, lower FPS when a high population is present, but no more than what doing many actions at once would.
 +
To avoid this, add [SPEED:3] instead.  Even [SPEED:100] is ridiculously fast.
 +
(Warning, editing this in may cause the game to crash or freeze for a few seconds. {{Verify}}[This may be due to editting in the Raw but not the Save, or visa versa])
 +
 +
===No Needs Dwarves===
 +
 +
Not wanting to care for your dwarves? simply add [NO_EAT], [NO_SLEEP], and [NO_DRINK] to your dwarves' raws and never care for them again. (Warning when editing [NO_SLEEP], because sometimes dwarves will rest and just never wake up{{Verify}})
 +
 +
As an added bonus, try adding [NOFEAR], [NOBREATHE], [NOSTUN], [NONAUSEA], [NOPAIN], [NO_DIZZINESS], [NO_FEVERS], and [NOEXERT] as well.
 +
 +
(Warning, editing this may cause the game to crash.{{Verify}})
 +
 +
Other potential problems include but are not limited to unhappiness due to never drinking any booze, and insane dwarves with no viable avenues for suicide; not that they can't be [[Unfortunate accident|assisted in such endeavors]].
 +
 +
* Removing the [ALCOHOL_DEPENDENT] tag should alleviate the problem of unhappiness due to never drinking booze.
 +
 +
===Pets for everyone===
 +
Ever want Cave dragons, Giant cave spiders, or even Helmet snakes for pets?<br />
 +
Simply add [PET] and [COMMON_DOMESTIC] to the creature of your choice then generate a new world. Enjoy killing the local elephant population with your army of Giant cave spiders.
 +
Also if you want them to not be caged, cut out their raw file and transfer it to the bottom part of the creature_domestic.txt file and change the [FANCIFUL] token into the [NATURAL] token
 +
 +
 +
''Note: Pets may be '''expensive'''. '' Which is why you set [PETVALUE:1]
 +
 +
===Tinkering with the Dwarven Soul===
 +
By messing with the soul of a dwarf, you can drastically increase attributes and learning rates.  Below are notes and a copy-paste section of text that you can use in the creature_standard.txt file, in which you replace the existing dwarf attributes.  Some of these tags ''must'' be placed in the section where castes are defined (ex: to speed learning rates, place the tags under the [CASTE:MALE] and [CASTE:FEMALE] tags) Using the Castes, it is very possible to specify what parts of your society get what (ex: adding a 'prodigy' caste of dwarves that learn 5 times faster than regular dwarves).  The most easily adjustable portion of the castes is with the Males and Females.
 +
 +
ATT_RANGE dictates the level of effectiveness a being receives in an ability.  5,000 is the max.  Please note that the elves get "5,000" in the memory stat, for the entire range.  Humans get a default of 1,000, and presumably the same goes for any other creature that doesn't have a specified range.
 +
 +
Below, the ATT_RATES tag basically determines how quickly you gain and lose an attribute.  The first value indicates cost.  The lower it is, the better.  The other values are for dictating the rate of decay, so keeping them at "NONE" basically nullifies that aspect.  Don't use "0" for the first value, it crashes the game.  Default for the first value is 500.  If there is no number, the default will be used.  I believe that you can use negative numbers, which further increases the gain of attributes, since the ceiling to the next attribute level is lowered by the negative percentage you use.
 +
 +
ATT_RATES (Default is 500:2:3:2]
 +
* ATTRIBUTE Token
 +
* cost to improve   
 +
* unused counter rate
 +
* rust counter rate
 +
* demotion counter rate
 +
 +
[PHYS_ATT_RATES:STRENGTH:-5000:NONE:NONE:NONE]
 +
 +
 +
The game comes pre-stocked with several sets of attribute ranges, some better than others.  The signs that come after the numeral ranges indicate what level that range represents, but has no effect in of themselves.
 +
 +
 +
 +
0:0:0:0:0:0:0]                      unattainable
 +
 +
0:100:200:300:400:450:500]          ---
 +
 +
0:400:600:750:800:900:1100]          --
 +
 +
150:600:800:900:1000:1100:1500]        -
 +
 +
450:950:1150:1250:1350:1550:2250]      +
 +
 +
700:1200:1400:1500:1600:1800:2500]    ++
 +
 +
1250:1500:1750:2000:2500:3000:5000]  +++
 +
 +
5000:5000:5000:5000:5000:5000:5000]  max
 +
 +
 +
Skill rates is a tag that grants you a % of skill improvement.  The first number is the percentage, while the last three slots indicate decay.  Skill rate increase is capped at 500%. Default is 100%, but creatures with Slow Learner tag will get half of that.
 +
 +
SKILL_RATE (Default is 100:8:8:16]
 +
* % of improvement points you get
 +
* unused counter rate
 +
* rust counter rate
 +
* demotion counter rate
 +
 +
Add this line under whichever castes you wish to receive the benefits.
 +
 +
[SKILL_RATES:500:NONE:NONE:NONE]
 +
 +
 +
 +
PHYS_ATT_CAP_PERC
 +
MENT_ATT_CAP_PERC
 +
 +
The default value is 200% of a dwarf's median+starting stats.  This tag caps the amount of improvement to be had in an attribute. Below, I have cranked it up to 5,000%, hoping that it would let all dwarves achieve maximum attributes.
 +
 +
ex
 +
[PHYS_ATT_CAP_PERC:STRENGTH:5000]
 +
[MENT_ATT_CAP_PERC:FOCUS:5000]
 +
 +
 +
<div style="height:200px; overflow:scroll;">
 +
      [SKILL_RATES:5000:NONE:NONE:NONE]
 +
      [PHYS_ATT_RANGE:STRENGTH:1250:1500:1750:2000:2500:3000:5000]          +++   
 +
      [PHYS_ATT_RATES:STRENGTH:-5000:NONE:NONE:NONE]
 +
      [PHYS_ATT_CAP_PERC:STRENGTH:5000:NONE:NONE:NONE]
 +
      [PHYS_ATT_RANGE:TOUGHNESS:1250:1500:1750:2000:2500:3000:5000]          +++
 +
      [PHYS_ATT_RATES:TOUGHNESS:-5000:NONE:NONE:NONE]
 +
      [PHYS_ATT_CAP_PERC:TOUGHNESS:5000:NONE:NONE:NONE]
 +
      [PHYS_ATT_RANGE:AGILITY:1250:1500:1750:2000:2500:3000:5000]          +++
 +
      [PHYS_ATT_RATES:AGILITY:-5000:NONE:NONE:NONE]
 +
      [PHYS_ATT_CAP_PERC:AGILITY:5000:NONE:NONE:NONE]
 +
      [PHYS_ATT_RANGE:ENDURANCE:1250:1500:1750:2000:2500:3000:5000]          +++
 +
      [PHYS_ATT_RATES:ENDURANCE:-5000:NONE:NONE:NONE]
 +
      [PHYS_ATT_CAP_PERC:ENDURANCE:5000]
 +
      [PHYS_ATT_RANGE:RECUPERATION:1250:1500:1750:2000:2500:3000:5000]        +++     
 +
      [PHYS_ATT_RATES:RECUPERATION:-5000:NONE:NONE:NONE]
 +
      [PHYS_ATT_CAP_PERC:RECUPERATION:5000]
 +
      [PHYS_ATT_RANGE:DISEASE_RESISTANCE:1250:1500:1750:2000:2500:3000:5000]  +++
 +
      [PHYS_ATT_RATES:DISEASE_RESISTANCE:-5000:NONE:NONE:NONE]
 +
      [PHYS_ATT_CAP_PERC:DISEASE_RESISTANCE:5000]
 +
      [MENT_ATT_RANGE:FOCUS:1250:1500:1750:2000:2500:3000:5000]              +++           
 +
      [MENT_ATT_RATES:FOCUS:-5000:NONE:NONE:NONE]
 +
      [MENT_ATT_CAP_PERC:FOCUS:5000]
 +
      [MENT_ATT_RANGE:CREATIVITY:1250:1500:1750:2000:2500:3000:5000]        +++       
 +
      [MENT_ATT_RATES:CREATIVITY:-5000:NONE:NONE:NONE]
 +
      [MENT_ATT_CAP_PERC:CREATIVITY:5000]
 +
      [MENT_ATT_RANGE:PATIENCE:1250:1500:1750:2000:2500:3000:5000]          +++   
 +
      [MENT_ATT_RATES:PATIENCE:-5000:NONE:NONE:NONE]
 +
      [MENT_ATT_CAP_PERC:PATIENCE:5000]
 +
      [MENT_ATT_RANGE:MEMORY:1250:1500:1750:2000:2500:3000:5000]          +++           
 +
      [MENT_ATT_RATES:MEMORY:-5000:NONE:NONE:NONE]
 +
      [MENT_ATT_CAP_PERC:MEMORY:5000]
 +
      [MENT_ATT_RANGE:SPATIAL_SENSE:1250:1500:1750:2000:2500:3000:5000]        +++
 +
      [MENT_ATT_RATES:SPATIAL_SENSE:-5000:NONE:NONE:NONE]
 +
      [MENT_ATT_CAP_PERC:SPATIAL_SENSE:5000]
 +
      [MENT_ATT_RANGE:EMPATHY:1250:1500:1750:2000:2500:3000:5000]          +++
 +
      [MENT_ATT_RATES:EMPATHY:-5000:NONE:NONE:NONE]
 +
      [MENT_ATT_CAP_PERC:EMPATHY:5000]
 +
      [MENT_ATT_RANGE:MUSICALITY:1250:1500:1750:2000:2500:3000:5000]        +++
 +
      [MENT_ATT_RATES:MUSICALITY:-5000:NONE:NONE:NONE]
 +
      [MENT_ATT_CAP_PERC:MUSICALITY:5000]
 +
      [MENT_ATT_RANGE:ANALYTICAL_ABILITY:1250:1500:1750:2000:2500:3000:5000]  +++
 +
      [MENT_ATT_RATES:ANALYTICAL_ABILITY:-5000:NONE:NONE:NONE]
 +
      [MENT_ATT_CAP_PERC:ANALYTICAL_ABILITY:5000]
 +
      [MENT_ATT_RANGE:LINGUISTIC_ABILITY:1250:1500:1750:2000:2500:3000:5000]  +++
 +
      [MENT_ATT_RATES:LINGUISTIC_ABILITY:-5000:NONE:NONE:NONE]
 +
      [MENT_ATT_CAP_PERC:LINGUISTIC_ABILITY:5000]
 +
      [MENT_ATT_RANGE:INTUITION:1250:1500:1750:2000:2500:3000:5000]          +++
 +
      [MENT_ATT_RATES:INTUITION:-5000:NONE:NONE:NONE]
 +
      [MENT_ATT_CAP_PERC:INTUITION:5000]
 +
      [MENT_ATT_RANGE:WILLPOWER:1250:1500:1750:2000:2500:3000:5000]          +++
 +
      [MENT_ATT_RATES:WILLPOWER:-5000:NONE:NONE:NONE]
 +
      [MENT_ATT_CAP_PERC:WILLPOWER:5000]
 +
      [MENT_ATT_RANGE:SOCIAL_AWARENESS:1250:1500:1750:2000:2500:3000:5000]    +++
 +
      [MENT_ATT_RATES:SOCIAL_AWARENESS:-5000:NONE:NONE:NONE]
 +
      [MENT_ATT_CAP_PERC:SOCIAL_AWARENESS:5000]
 +
      [MENT_ATT_RANGE:KINESTHETIC_SENSE:1250:1500:1750:2000:2500:3000:5000]    +++
 +
      [MENT_ATT_RATES:KINESTHETIC_SENSE:-5000:NONE:NONE:NONE]
 +
      [MENT_ATT_CAP_PERC:KINESTHETIC_SENSE:5000]
 +
</div>
 +
 +
===No More skill loss===
 +
Are you tired of your dwarfs having red stats after a few years? If so, try adding this mod by [http://www.bay12forums.com/smf/index.php?topic=61016.0 LordSnow] to df_folder/data/save/region/raw/objects/creature_standard.txt in the "dwarf" section.
 +
 +
<div style="height:200px; overflow:scroll;">
 +
Phys/Ment rate default: 500
 +
  [PHYS_ATT_RATES:STRENGTH:50:NONE:NONE:NONE]
 +
  [PHYS_ATT_RATES:AGILITY:50:NONE:NONE:NONE]
 +
  [PHYS_ATT_RATES:TOUGHNESS:50:NONE:NONE:NONE]
 +
  [PHYS_ATT_RATES:ENDURANCE:50:NONE:NONE:NONE]
 +
  [PHYS_ATT_RATES:DISEASE_RESISTANCE:50:NONE:NONE:NONE]
 +
  [PHYS_ATT_RATES:RECUPERATION:50:NONE:NONE:NONE]
 +
 +
  [MENT_ATT_RATES:ANALYTICAL_ABILITY:50:NONE:NONE:NONE]
 +
  [MENT_ATT_RATES:CREATIVITY:50:NONE:NONE:NONE]
 +
  [MENT_ATT_RATES:EMPATHY:50:NONE:NONE:NONE]
 +
  [MENT_ATT_RATES:FOCUS:50:NONE:NONE:NONE]
 +
  [MENT_ATT_RATES:INTUITION:50:NONE:NONE:NONE]
 +
  [MENT_ATT_RATES:KINESTHETIC_SENSE:50:NONE:NONE:NONE]
 +
  [MENT_ATT_RATES:LINGUISTIC_ABILITY:50:NONE:NONE:NONE]
 +
  [MENT_ATT_RATES:MUSICALITY:50:NONE:NONE:NONE]
 +
  [MENT_ATT_RATES:PATIENCE:50:NONE:NONE:NONE]
 +
  [MENT_ATT_RATES:SOCIAL_AWARENESS:50:NONE:NONE:NONE]
 +
  [MENT_ATT_RATES:MEMORY:50:NONE:NONE:NONE]
 +
  [MENT_ATT_RATES:SPATIAL_SENSE:50:NONE:NONE:NONE]
 +
  [MENT_ATT_RATES:WILLPOWER:50:NONE:NONE:NONE]
 +
</div>
 +
 +
===Enemy race dies in a pink cloud===
 +
Causes all creatures of a type to go *poof* in a little pink cloud. Put this under the creature you want to never appear again. Goodbye invasions! [[v0.31:Utilities#Runesmith|Runesmith]] can also remove species easily.
 +
 +
[SELECT_MATERIAL:ALL]
 +
      [BOILING_POINT:0]
 +
      [STATE_COLOR:ALL:PINK]
 +
      [STATE_NAME_ADJ:GAS:poof!]
 +
 +
Warning: As with all cheats that involve the words "[BOILING_POINT:0]", the mist created when the creature boils will be very cold. Such cold temperatures will rapidly degrade weak items like cloth and leather, and may pose a danger to dwarves caught in the cloud without adequate cold weather clothing. You might have to experiment to find a temperature that will guarantee boiling without posing a danger to your dwarves.
 +
 +
Note: You must add this text after all the material you want to boil is defined. To be safe, just place it at the very end.
 +
 +
===All Skills Legendary===
 +
Put this under Creature:Dwarf in creature_standard.txt
 +
<div style="height:200px; overflow:scroll;"><pre>
 +
[NATURAL_SKILL:MINING:16]
 +
[NATURAL_SKILL:WOODCUTTING:16]
 +
[NATURAL_SKILL:CARPENTRY:16]
 +
[NATURAL_SKILL:DETAILSTONE:16]
 +
[NATURAL_SKILL:MASONRY:16]
 +
[NATURAL_SKILL:ANIMALTRAIN:16]
 +
[NATURAL_SKILL:ANIMALCARE:16]
 +
[NATURAL_SKILL:DISSECT_FISH:16]
 +
[NATURAL_SKILL:DISSECT_VERMIN:16]
 +
[NATURAL_SKILL:PROCESSFISH:16]
 +
[NATURAL_SKILL:BUTCHER:16]
 +
[NATURAL_SKILL:TRAPPING:16]
 +
[NATURAL_SKILL:TANNER:16]
 +
[NATURAL_SKILL:WEAVING:16]
 +
[NATURAL_SKILL:BREWING:16]
 +
[NATURAL_SKILL:ALCHEMY:16]
 +
[NATURAL_SKILL:CLOTHESMAKING:16]
 +
[NATURAL_SKILL:MILLING:16]
 +
[NATURAL_SKILL:PROCESSPLANTS:16]
 +
[NATURAL_SKILL:CHEESEMAKING:16]
 +
[NATURAL_SKILL:MILK:16]
 +
[NATURAL_SKILL:COOK:16]
 +
[NATURAL_SKILL:PLANT:16]
 +
[NATURAL_SKILL:HERBALISM:16]
 +
[NATURAL_SKILL:FISH:16]
 +
[NATURAL_SKILL:SMELT:16]
 +
[NATURAL_SKILL:EXTRACT_STRAND:16]
 +
[NATURAL_SKILL:FORGE_WEAPON:16]
 +
[NATURAL_SKILL:FORGE_ARMOR:16]
 +
[NATURAL_SKILL:FORGE_FURNITURE:16]
 +
[NATURAL_SKILL:CUTGEM:16]
 +
[NATURAL_SKILL:ENCRUSTGEM:16]
 +
[NATURAL_SKILL:WOODCRAFT:16]
 +
[NATURAL_SKILL:STONECRAFT:16]
 +
[NATURAL_SKILL:METALCRAFT:16]
 +
[NATURAL_SKILL:GLASSMAKER:16]
 +
[NATURAL_SKILL:LEATHERWORK:16]
 +
[NATURAL_SKILL:BONECARVE:16]
 +
[NATURAL_SKILL:AXE:16]
 +
[NATURAL_SKILL:SWORD:16]
 +
[NATURAL_SKILL:DAGGER:16]
 +
[NATURAL_SKILL:MACE:16]
 +
[NATURAL_SKILL:HAMMER:16]
 +
[NATURAL_SKILL:SPEAR:16]
 +
[NATURAL_SKILL:CROSSBOW:16]
 +
[NATURAL_SKILL:SHIELD:16]
 +
[NATURAL_SKILL:ARMOR:16]
 +
[NATURAL_SKILL:SIEGECRAFT:16]
 +
[NATURAL_SKILL:SIEGEOPERATE:16]
 +
[NATURAL_SKILL:BOWYER:16]
 +
[NATURAL_SKILL:PIKE:16]
 +
[NATURAL_SKILL:WHIP:16]
 +
[NATURAL_SKILL:BOW:16]
 +
[NATURAL_SKILL:BLOWGUN:16]
 +
[NATURAL_SKILL:THROW:16]
 +
[NATURAL_SKILL:MECHANICS:16]
 +
[NATURAL_SKILL:MAGIC_NATURE:16]
 +
[NATURAL_SKILL:SNEAK:16]
 +
[NATURAL_SKILL:DESIGNBUILDING:16]
 +
[NATURAL_SKILL:DRESS_WOUNDS:16]
 +
[NATURAL_SKILL:DIAGNOSE:16]
 +
[NATURAL_SKILL:SURGERY:16]
 +
[NATURAL_SKILL:SET_BONE:16]
 +
[NATURAL_SKILL:SUTURE:16]
 +
[NATURAL_SKILL:CRUTCH_WALK:16]
 +
[NATURAL_SKILL:WOOD_BURNING:16]
 +
[NATURAL_SKILL:LYE_MAKING:16]
 +
[NATURAL_SKILL:SOAP_MAKING:16]
 +
[NATURAL_SKILL:POTASH_MAKING:16]
 +
[NATURAL_SKILL:DYER:16]
 +
[NATURAL_SKILL:OPERATE_PUMP:16]
 +
[NATURAL_SKILL:SWIMMING:16]
 +
[NATURAL_SKILL:PERSUASION:16]
 +
[NATURAL_SKILL:NEGOTIATION:16]
 +
[NATURAL_SKILL:JUDGING_INTENT:16]
 +
[NATURAL_SKILL:APPRAISAL:16]
 +
[NATURAL_SKILL:ORGANIZATION:16]
 +
[NATURAL_SKILL:RECORD_KEEPING:16]
 +
[NATURAL_SKILL:LYING:16]
 +
[NATURAL_SKILL:INTIMIDATION:16]
 +
[NATURAL_SKILL:CONVERSATION:16]
 +
[NATURAL_SKILL:COMEDY:16]
 +
[NATURAL_SKILL:FLATTERY:16]
 +
[NATURAL_SKILL:CONSOLE:16]
 +
[NATURAL_SKILL:PACIFY:16]
 +
[NATURAL_SKILL:TRACKING:16]
 +
[NATURAL_SKILL:KNOWLEDGE_ACQUISITION:16]
 +
[NATURAL_SKILL:CONCENTRATION:16]
 +
[NATURAL_SKILL:DISCIPLINE:16]
 +
[NATURAL_SKILL:SITUATIONAL_AWARENESS:16]
 +
[NATURAL_SKILL:WRITING:16]
 +
[NATURAL_SKILL:PROSE:16]
 +
[NATURAL_SKILL:POETRY:16]
 +
[NATURAL_SKILL:READING:16]
 +
[NATURAL_SKILL:SPEAKING:16]
 +
[NATURAL_SKILL:COORDINATION:16]
 +
[NATURAL_SKILL:BALANCE:16]
 +
[NATURAL_SKILL:LEADERSHIP:16]
 +
[NATURAL_SKILL:TEACHING:16]
 +
[NATURAL_SKILL:MELEE_COMBAT:16]
 +
[NATURAL_SKILL:RANGED_COMBAT:16]
 +
[NATURAL_SKILL:WRESTLING:16]
 +
[NATURAL_SKILL:BITE:16]
 +
[NATURAL_SKILL:GRASP_STRIKE:16]
 +
[NATURAL_SKILL:STANCE_STRIKE:16]
 +
[NATURAL_SKILL:DODGING:16]
 +
[NATURAL_SKILL:MISC_WEAPON:16]
 +
[NATURAL_SKILL:KNAPPING:16]
 +
[NATURAL_SKILL:MILITARY_TACTICS:16]
 +
[NATURAL_SKILL:SHEARING:16]
 +
[NATURAL_SKILL:SPINNING:16]
 +
[NATURAL_SKILL:POTTERY:16]
 +
[NATURAL_SKILL:GLAZING:16]
 +
[NATURAL_SKILL:PRESSING:16]
 +
[NATURAL_SKILL:BEEKEEPING:16]
 +
[NATURAL_SKILL:WAX_WORKING:16]
 +
</pre></div>
 +
 +
==Reaction Additions==
 +
There are now two reaction files: reaction_smelter and reaction_other. Additions to these lists will not take effect until you generate a new world. Note that if you edit an existing reaction entry (leaving the [REACTION:NAME] line unchanged) rather than add a new one, you will not need to generate a new world. Don't forget to add [PERMITTED_REACTION:(reaction)] under [ENTITY:MOUNTAIN] in entity_default raw.
 +
 +
===Skill Practice Workshops===
 +
A useful application of the new workshop/reaction setup is the Practice Workshop: loaded with no-reagent no-product reactions tied to every quality-based skill, it's an excellent way to get the most out of scarce resources and to train workers who utilize said resources (Jewelers, Craftsdwarves, etc).
 +
 +
Create a new raw called building_practice_workshop in \raw\objects, and within it paste the following (ripped nigh-straight out of Lazureus' Crematorium package):
 +
 +
<div style="height:200px; overflow:scroll;">
 +
<pre>
 +
building_practice_workshop
 +
 +
[OBJECT:BUILDING]
 +
 +
[BUILDING_WORKSHOP:PRACTICE_WORKSHOP]
 +
[NAME:Practice Workshop]
 +
[NAME_COLOR:7:0:1]
 +
[DIM:3:3]
 +
[WORK_LOCATION:2:3]
 +
[BUILD_LABOR:MASON]
 +
[BUILD_KEY:CUSTOM_SHIFT_P]
 +
[BLOCK:1:0:0:0]
 +
[BLOCK:2:0:0:0]
 +
[BLOCK:3:0:0:0]
 +
[TILE:0:1:' ':' ':236]
 +
[TILE:0:2:' ':236:'/']
 +
[TILE:0:3:'|':' ':' ']
 +
[COLOR:0:1:0:0:0:0:0:0:0:0:1]
 +
[COLOR:0:2:0:0:0:0:0:1:6:0:0]
 +
[COLOR:0:3:6:0:0:0:0:0:0:0:0]
 +
[TILE:1:1:236:' ':227]
 +
[TILE:1:2:'|':' ':8]
 +
[TILE:1:3:' ':' ':236]
 +
[COLOR:1:1:0:0:1:0:0:0:0:0:1]
 +
[COLOR:1:2:6:0:0:0:0:0:0:0:1]
 +
[COLOR:1:3:0:0:0:0:0:0:0:0:1]
 +
[TILE:2:1:201:227:187]
 +
[TILE:2:2:200:8:188]
 +
[TILE:2:3:' ':' ':' ']
 +
[COLOR:2:1:0:0:1:0:0:1:0:0:1]
 +
[COLOR:2:2:0:0:1:0:0:1:0:0:1]
 +
[COLOR:2:3:0:0:0:0:0:0:0:0:0]
 +
[TILE:3:1:201:227:187]
 +
[TILE:3:2:200:8:188]
 +
[TILE:3:3:150:210:253]
 +
[COLOR:3:1:0:0:1:0:0:1:0:0:1]
 +
[COLOR:3:2:0:0:1:0:4:1:0:0:1]
 +
[COLOR:3:3:0:0:1:6:0:0:7:0:1]
 +
[BUILD_ITEM:1:NONE:NONE:NONE:NONE][BUILDMAT][WORTHLESS_STONE_ONLY][CAN_USE_ARTIFACT]
 +
</pre>
 +
</div>
 +
 +
Create a new raw called reaction_practice_workshop, and within it paste the following: (Fixed the process to only accept bars of coke instead of just ANY bar. Enjoy. -Anonymous)
 +
 +
<div style="height:200px; overflow:scroll;">
 +
<pre>
 +
reaction_practice_workshop
 +
 +
[OBJECT:REACTION]
 +
 +
[REACTION:PRACTICE_ARMORSMITHING]
 +
[NAME:practice armorsmithing]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:FORGE_ARMOR]
 +
 +
[REACTION:PRACTICE_BEEKEEPING]
 +
[NAME:practice beekeeping]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:BEEKEEPING]
 +
 +
[REACTION:PRACTICE_BONECARVING]
 +
[NAME:practice bonecarving]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:BONECARVE]
 +
 +
[REACTION:PRACTICE_BONESETTING]
 +
[NAME:practice bonesetting]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:SET_BONE]
 +
 +
[REACTION:PRACTICE_BOWMAKING]
 +
[NAME:practice bowmaking]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:BOWYER]
 +
 +
[REACTION:PRACTICE_BREWING]
 +
[NAME:practice brewing]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:BREWING]
 +
 +
[REACTION:PRACTICE_CARPENTRY]
 +
[NAME:practice carpentry]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:CARPENTRY]
 +
 +
[REACTION:PRACTICE_CLOTHESMAKING]
 +
[NAME:practice clothesmaking]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:CLOTHESMAKING]
 +
 +
[REACTION:PRACTICE_COOKING]
 +
[NAME:practice cooking]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:COOK]
 +
 +
[REACTION:PRACTICE_DESIGNBUILDING]
 +
[NAME:practice architecture]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:DESIGNBUILDING]
 +
 +
[REACTION:PRACTICE_DIAGNOSIS]
 +
[NAME:practice diagnosis]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:DIAGNOSE]
 +
 +
[REACTION:PRACTICE_DYING]
 +
[NAME:practice dying]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:DYER]
 +
 +
[REACTION:PRACTICE_ENGRAVING]
 +
[NAME:practice engraving]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:DETAILSTONE]
 +
 +
[REACTION:PRACTICE_GEM_CUTTING]
 +
[NAME:practice gem cutting]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:CUTGEM]
 +
 +
[REACTION:PRACTICE_GEM_SETTING]
 +
[NAME:practice gem setting]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:ENCRUSTGEM]
 +
 +
[REACTION:PRACTICE_GLASSMAKING]
 +
[NAME:practice glassmaking]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:GLASSMAKER]
 +
 +
[REACTION:PRACTICE_GLAZING]
 +
[NAME:practice glazing]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:GLAZING]
 +
 +
[REACTION:PRACTICE_GROWING]
 +
[NAME:practice growing]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:PLANT]
 +
 +
[REACTION:PRACTICE_HERBALISM]
 +
[NAME:practice herbalism]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:HERBALISM]
 +
 +
[REACTION:PRACTICE_LEATHERWORKING]
 +
[NAME:practice leatherworking]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:LEATHERWORK]
 +
 +
[REACTION:PRACTICE_MASONRY]
 +
[NAME:practice masonry]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:MASONRY]
 +
 +
[REACTION:PRACTICE_MECHANICS]
 +
[NAME:practice mechanics]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:MECHANICS]
 +
 +
[REACTION:PRACTICE_METALCRAFTING]
 +
[NAME:practice metalcrafting]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:METALCRAFT]
 +
 +
[REACTION:PRACTICE_METALSMITHING]
 +
[NAME:practice metalsmithing]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:FORGE_FURNITURE]
 +
 +
[REACTION:PRACTICE_MINING]
 +
[NAME:practice mining]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:MINING]
 +
 +
[REACTION:PRACTICE_POTTERY]
 +
[NAME:practice pottery]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:POTTERY]
 +
 +
[REACTION:PRACTICE_SIEGE_ENGINEERING]
 +
[NAME:practice siege engineering]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:SIEGECRAFT]
 +
 +
[REACTION:PRACTICE_STONECRAFTING]
 +
[NAME:practice stonecrafting]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:STONECRAFT]
 +
 +
[REACTION:PRACTICE_SURGERY]
 +
[NAME:practice surgery]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:SURGERY]
 +
 +
[REACTION:PRACTICE_SUTURING]
 +
[NAME:practice suturing]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:SUTURE]
 +
 +
[REACTION:PRACTIVE_WAX_WORKING]
 +
[NAME:practice waxworking]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:WAX_WORKING]
 +
 +
[REACTION:PRACTICE_WEAPONSMITHING]
 +
[NAME:practice weaponsmithing]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:FORGE_WEAPON]
 +
 +
[REACTION:PRACTICE_WEAVING]
 +
[NAME:practice weaving]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:WEAVING]
 +
 +
[REACTION:PRACTICE_WOODCRAFTING]
 +
[NAME:practice woodcrafting]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:WOODCRAFT]
 +
 +
[REACTION:PRACTICE_WOUND_DRESSING]
 +
[NAME:practice wound dressing]
 +
[BUILDING:PRACTICE_WORKSHOP:NONE]
 +
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
[SKILL:DRESS_WOUNDS]
 +
</pre>
 +
</div>
 +
 +
Lastly, paste the following to their respective spots in the dwarf section of entity_default, and you're done:
 +
<div style="height:200px; overflow:scroll;">
 +
<pre>
 +
[PERMITTED_BUILDING:PRACTICE_WORKSHOP]
 +
[PERMITTED_REACTION:PRACTICE_ARMORSMITHING]
 +
[PERMITTED_REACTION:PRACTICE_BEEKEEPING]
 +
[PERMITTED_REACTION:PRACTICE_BONECARVING]
 +
[PERMITTED_REACTION:PRACTICE_BONESETTING]
 +
[PERMITTED_REACTION:PRACTICE_BOWMAKING]
 +
[PERMITTED_REACTION:PRACTICE_BREWING]
 +
[PERMITTED_REACTION:PRACTICE_CARPENTRY]
 +
[PERMITTED_REACTION:PRACTICE_CLOTHESMAKING]
 +
[PERMITTED_REACTION:PRACTICE_DESIGNBUILDING]
 +
[PERMITTED_REACTION:PRACTICE_DIAGNOSIS]
 +
[PERMITTED_REACTION:PRACTICE_DYING]
 +
[PERMITTED_REACTION:PRACTICE_ENGRAVING]
 +
[PERMITTED_REACTION:PRACTICE_GEM_CUTTING]
 +
[PERMITTED_REACTION:PRACTICE_GEM_SETTING]
 +
[PERMITTED_REACTION:PRACTICE_GLASSMAKING]
 +
[PERMITTED_REACTION:PRACTICE_GLAZING]
 +
[PERMITTED_REACTION:PRACTICE_GROWING]
 +
[PERMITTED_REACTION:PRACTICE_HERBALISM]
 +
[PERMITTED_REACTION:PRACTICE_LEATHERWORKING]
 +
[PERMITTED_REACTION:PRACTICE_MASONRY]
 +
[PERMITTED_REACTION:PRACTICE_MECHANICS]
 +
[PERMITTED_REACTION:PRACTICE_METALCRAFTING]
 +
[PERMITTED_REACTION:PRACTICE_METALSMITHING]
 +
[PERMITTED_REACTION:PRACTICE_MINING]
 +
[PERMITTED_REACTION:PRACTICE_POTTERY]
 +
[PERMITTED_REACTION:PRACTICE_SIEGE_ENGINEERING]
 +
[PERMITTED_REACTION:PRACTICE_SIEGE_OPERATION]
 +
[PERMITTED_REACTION:PRACTICE_STONECRAFTING]
 +
[PERMITTED_REACTION:PRACTICE_SURGERY]
 +
[PERMITTED_REACTION:PRACTICE_SUTURING]
 +
[PERMITTED_REACTION:PRACTICE_WAX_WORKING]
 +
[PERMITTED_REACTION:PRACTICE_WEAPONSMITHING]
 +
[PERMITTED_REACTION:PRACTICE_WEAVING]
 +
[PERMITTED_REACTION:PRACTICE_WOODCRAFTING]
 +
[PERMITTED_REACTION:PRACTICE_WOUND_DRESSING]
 +
</pre>
 +
</div>
 +
 +
===Easy Vermin Disposal===
 +
Tired of vermin corpses lying around for months? Use this reaction to put them to a useful purpose:
 +
<div style="height:200px; overflow:scroll;">
 +
<pre>
 +
[REACTION:BUGS_TO_COKE]
 +
  [NAME:Cremate Vermin Corpses]
 +
  [BUILDING:SMELTER:NONE]
 +
  [REAGENT:A:5:REMAINS:NONE:NONE:NONE]
 +
  [PRODUCT:20:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
 +
  [SKILL:SMELT]
 +
</pre>
 +
</div>
 +
 +
Remember to add this to the appropriate entity files before generating a new world.
 +
 +
==Easy Entity Editing==
 +
 +
Here is the edited entity_default raw entry. Just copy and paste everything underneath the existing entries. You may add more by using the format: [PERMITTED_REACTION:(reaction)]
 +
 +
<div style="height:200px; overflow:scroll;">
 +
<pre>
 +
   
 +
        [PERMITTED_REACTION:FREE_DIAMOND_LY]
 +
[PERMITTED_REACTION:FREE_DIAMOND_FY]
 +
[PERMITTED_REACTION:FREE_EMERALD]
 +
        [PERMITTED_REACTION:FREE_RUBY]
 +
[PERMITTED_REACTION:FREE_SAPPHIRE]
 +
[PERMITTED_REACTION:FREE_DIAMOND_CLEAR]
 +
[PERMITTED_REACTION:FREE_DIAMOND_RED]
 +
[PERMITTED_REACTION:FREE_DIAMOND_GREEN]
 +
[PERMITTED_REACTION:FREE_DIAMOND_BLUE]
 +
[PERMITTED_REACTION:FREE_DIAMOND_YELLOW]
 +
[PERMITTED_REACTION:FREE_DIAMOND_BLACK]
 +
[PERMITTED_REACTION:FREE_RUBY_STAR]
 +
        [PERMITTED_REACTION:FREE_SAPPHIRE_STAR]
 +
[PERMITTED_REACTION:FREE_ADAMANTINE_THREAD]
 +
[PERMITTED_REACTION:FREE_ADAMANTINE_WAFERS]
 +
[PERMITTED_REACTION:FREE_WOOD]
 +
 +
</pre>
 +
</div>
 +
 +
 +
===Free Gems===
 +
Fill in the name of a gem from the inorganic_stone_gem file and paste this in the reaction_smelter file to make your smelter spew out gems.
 +
<pre>
 +
[REACTION:FREE_(gem name here)]
 +
[NAME:make (gem name here)]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:(gem name {from raws})]
 +
[SKILL:SMELT]
 +
</pre>
 +
Note: You can change the skill used and the workshop, but make sure to keep it in the correct reaction file.
 +
For convenience, here are all the precious gems in the game.
 +
<div style="height:200px; overflow:scroll;">
 +
<pre>
 +
[REACTION:FREE_DIAMOND_LY]
 +
[NAME: make light yellow diamonds]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_LY]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_DIAMOND_FY]
 +
[NAME: make faint yellow diamonds]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_FY]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_EMERALD]
 +
[NAME: make emeralds]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:EMERALD]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_RUBY]
 +
[NAME: make rubies]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:RUBY]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_SAPPHIRE]
 +
[NAME: make sapphires]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:SAPPHIRE]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_DIAMOND_CLEAR]
 +
[NAME: make clear diamonds]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_CLEAR]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_DIAMOND_RED]
 +
[NAME: make red diamonds]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_RED]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_DIAMOND_GREEN]
 +
[NAME: make green diamond]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_GREEN]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_DIAMOND_BLUE]
 +
[NAME: make blue diamonds]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_BLUE]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_DIAMOND_YELLOW]
 +
[NAME: make yellow diamonds]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_YELLOW]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_DIAMOND_BLACK]
 +
[NAME: make black diamonds]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_BLACK]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_RUBY_STAR]
 +
[NAME: make star rubies]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:RUBY_STAR]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_SAPPHIRE_STAR]
 +
[NAME: make star sapphires]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:SAPPHIRE_STAR]
 +
[SKILL:SMELT]
 +
</pre>
 +
</div>
 +
 +
===Easy Adamantine===
 +
To get free adamantine wafers, add this to your reaction_smelter.
 +
<pre>
 +
[REACTION:FREE_ADAMANTINE_WAFERS]
 +
[NAME:create adamantine wafers]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:ADAMANTINE][PRODUCT_DIMENSION:150]
 +
[SKILL:SMELT]
 +
</pre>
 +
 +
For adamantine thread it would be:
 +
<pre>
 +
[REACTION:FREE_ADAMANTINE_THREAD]
 +
[NAME:create adamantine thread]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:1:THREAD:NO_SUBTYPE:METAL:ADAMANTINE][PRODUCT_DIMENSION:15000]
 +
[SKILL:SMELT]
 +
</pre>
 +
 +
 +
===Easy Flux, Sand, and Ore===
 +
Add [REACTION_CLASS:FLUX] to any stone you have to turn it into a flux. This is in inorganic_stone_mineral, or inorganic_stone_layer Or, add [METAL_ORE:{metal name}:100] to turn it into an ore. It also bears noting that the metal can easily be an alloy, like steel or brass. Likewise, open inorganic_stone_soil and add [SOIL_SAND] to any soil to turn it into sand suitable for making glass with.
 +
 +
None of these cheats require creating a new world. Turn peat into glass, basalt into platinum, and combine iron, diorite, and coal to make steel.
 +
 +
 +
===Easy Metal===
 +
Open reaction_smelter and change any reactions you like. Remove the [FUEL] tag.
 +
to make them require no fuel. Remove the line(s) headed with [REAGENT:whatever] to make them require no reagents. You can pick any metal that exists in the game, as long as you pick the right raw name. (For example: IRON, PEWTER_LAY, and NICKEL_SILVER makes iron, lay pewter, and nickel silver respectively.)
 +
<pre>
 +
[REACTION:FREE_(metal name here)]
 +
[NAME:create (metal name here)]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:(metal name {from raws})][PRODUCT_DIMENSION:150]
 +
[SKILL:SMELT]
 +
</pre>
 +
These cheats do not require a new world (because they only modify existing reactions), and allow smelters to create steel and adamantine from nothing.
 +
 +
===Create Wood===
 +
To create wood for free, Add this to reaction_smelter. (don't forget the wood type. Like OAK, PINE, TOWER_CAP, or FUNGIWOOD.)
 +
<pre>
 +
[REACTION:FREE_WOOD]
 +
[NAME:create wood]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:5:WOOD:NO_SUBTYPE:PLANT_MAT:(wood name {from raws}):WOOD][PRODUCT_DIMENSION:150]
 +
[SKILL:SMELT]
 +
</pre>
 +
 +
Some examples with very light wood, perfect for buckets, and  a frozen wood.
 +
 +
<pre>
 +
[REACTION:FREE_FROZEN_WOOD]
 +
[NAME:create frozen wood]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:5:WOOD:NO_SUBTYPE:PLANT_MAT:NETHER_CAP:WOOD][PRODUCT_DIMENSION:150]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_FEATHER_WOOD]
 +
[NAME:create light wood]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:5:WOOD:NO_SUBTYPE:PLANT_MAT:FEATHER:WOOD][PRODUCT_DIMENSION:150]
 +
[SKILL:SMELT]
 +
 +
</pre>
 +
 +
===Produce Food===
 +
To create food for free, add this to '''reaction_smelter'''. Fair warning, this will NOT allow you to grow these plants if you have not already discovered/obtained them. If you cannot get sun berries or similar through trade or gathering, you won't be able to plant the seeds and grow crops from them.
 +
 +
<div style="height:200px; overflow:scroll;">
 +
<pre>
 +
[REACTION:FREE_PLUMP_HELMET]
 +
[NAME:create plump helmets]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:PLANT:NO_SUBTYPE:PLANT_MAT:MUSHROOM_HELMET_PLUMP:STRUCTURAL]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_CAVE_WHEAT]
 +
[NAME:create cave wheat]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:PLANT:NO_SUBTYPE:PLANT_MAT:GRASS_WHEAT_CAVE:STRUCTURAL]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_WILD_STRAWBERRIES]
 +
[NAME:create wild strawberries]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:PLANT:NO_SUBTYPE:PLANT_MAT:BERRIES_STRAW_WILD:STRUCTURAL]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_PRICKLE_BERRIES]
 +
[NAME:create prickle berries]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:PLANT:NO_SUBTYPE:PLANT_MAT:BERRIES_PRICKLE:STRUCTURAL]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_SWEET_PODS]
 +
[NAME:create sweet pods]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:PLANT:NO_SUBTYPE:PLANT_MAT:POD_SWEET:STRUCTURAL]
 +
[SKILL:SMELT]
 +
 +
[REACTION:FREE_GRASS_TAIL_PIG]
 +
[NAME:create pig tail grass]
 +
[BUILDING:SMELTER:NONE]
 +
[PRODUCT:100:10:PLANT:NO_SUBTYPE:PLANT_MAT:GRASS_TAIL_PIG:STRUCTURAL]
 +
[SKILL:SMELT]
 +
</pre>
 +
</div>
 +
<BR />
 +
... and this to '''entity_default'''
 +
<div style="height:200px; overflow:scroll;">
 +
<pre>
 +
[PERMITTED_REACTION:FREE_PLUMP_HELMET]
 +
[PERMITTED_REACTION:FREE_CAVE_WHEAT]
 +
[PERMITTED_REACTION:FREE_WILD_STRAWBERRIES]
 +
[PERMITTED_REACTION:FREE_CAVE_WHEAT]
 +
[PERMITTED_REACTION:FREE_PRICKLE_BERRIES]
 +
[PERMITTED_REACTION:FREE_SWEET_PODS]
 +
[PERMITTED_REACTION:FREE_GRASS_TAIL_PIG]
 +
</pre>
 +
</div>
 +
 +
===Produce Water===
 +
This reaction will allow your Dwarves to draw water from the rock. Unfortunately, it will not allow them to part the Red Sea - for that, you'll need lots of [[screw pump]]s, but that's another story...
 +
<pre>
 +
[REACTION:CHEAT_WATER]
 +
        [NAME:make water]
 +
        [BUILDING:SMELTER:NONE]
 +
        [REAGENT:rock:1:BOULDER:NONE:NONE:NONE][WORTHLESS_STONE_ONLY]
 +
        [REAGENT:bucket:1:BUCKET:NONE:NONE:NONE][EMPTY][DOES_NOT_ABSORB][PRESERVE_REAGENT][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
        [PRODUCT:100:1:LIQUID_MISC:NONE:WATER:NONE][PRODUCT_DIMENSION:150][PRODUCT_TO_CONTAINER:bucket]
 +
</pre>
 +
 +
Slightly less cheaty, this reaction allows you to convert drinks to water at the brewery:
 +
 +
<pre>
 +
[REACTION:PURIFY_WATER]
 +
[NAME:purify water from booze]
 +
[BUILDING:STILL:CUSTOM_P]
 +
 +
[REAGENT:booze:150:DRINK:NONE:NONE:NONE]
 +
[REAGENT:container1:1:NONE:NONE:NONE:NONE]
 +
[CONTAINS:booze]
 +
[PRESERVE_REAGENT]
 +
[DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
 +
        [REAGENT:bucket:1:BUCKET:NONE:NONE:NONE]
 +
[EMPTY]
 +
[DOES_NOT_ABSORB]
 +
[PRESERVE_REAGENT]
 +
[DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 +
 +
        [PRODUCT:100:1:LIQUID_MISC:NONE:WATER:NONE]
 +
[PRODUCT_DIMENSION:75]
 +
[PRODUCT_TO_CONTAINER:bucket]
 +
  [SKILL:BREW]
 +
</pre>
 +
 +
=Memory Hacking=
 +
Memory Hacking is much harder than raw editing, and requires [[utilities|special tools]]. At present, tools that have been adapted to v0.31 include [[Utilities#Reveal|Reveal]], which allows you to see the whole map (though be warned- it also releases [[Hidden Fun Stuff]]) and [[Utilities#DFHack|DFhack]], a versatile tool which includes, among other things, a liquids hack that lets you place [[water]] or [[magma]] of a depth you choose into a square and "dfprospector," which tells you what minerals are available on the map.

Revision as of 01:05, 30 May 2012

This article is about an older version of DF.

Cheating is altering the game to make Dwarf Fortress easier. This is distinctly different from exploits. There are two main ways to alter the game: changing the game's raw source files (which are really just text files), and directly altering the game's memory (which requires special tools).


Raw Editing

For making modifications to a newly generated world, edit the raw files located in the dwarffortress/raw/objects folder before generating the game. For making modifications to an existing world, edit the raw files located in the raw/objects sub-folder of the saved game folder for that world.

The most common use of editing raw files is to get free items, such as gems, adamantine, or flux.

When changing the raw files, you may or may not need to create a new world in order for your changes to be reflected.

Generally speaking, modifications to an existing entry in a raw file don't require a new world. Altering existing reactions or creatures is an example of this.

However, when adding or deleting entries, you need to create a new world for the changes to take place, and when deleting, it can and probably will render your old world unplayable as attempting to play worlds generated before the deletion will cause an error.

Shaostoul's Guide contains several cut & paste examples for editing raw files specifically for the purpose of cheating.

Creature Token Modifications

Modifying creature files does not require the creation of a new world. You can modify the physical attributes of a creature, make animals tamable and trainable, make your dwarves into short little bearded terminators, and much more.

Instructions for use:

  1. Open creature_standard.txt
  2. Find dwarven (or other creature) stats, which ought to resemble the sets below.
  3. Delete those stats and replace with the new set.
  4. Done.
  • Notepad++ is recommended for altering raw files on Windows.

Speedy Dwarves

Getting bored with slow dwarves?

Go into the creature_standard file and add the [SPEED:1] in somewhere in the top section of the entry.(or SPEED:0 if you're up to some psychedelic light speed traveling)

This will make your dwarves do the majority of their actions super fast, including moving, digging and workshop actions.

This may, ironically, lower FPS when a high population is present, but no more than what doing many actions at once would. To avoid this, add [SPEED:3] instead. Even [SPEED:100] is ridiculously fast. (Warning, editing this in may cause the game to crash or freeze for a few seconds. [Verify][This may be due to editting in the Raw but not the Save, or visa versa])

No Needs Dwarves

Not wanting to care for your dwarves? simply add [NO_EAT], [NO_SLEEP], and [NO_DRINK] to your dwarves' raws and never care for them again. (Warning when editing [NO_SLEEP], because sometimes dwarves will rest and just never wake up[Verify])

As an added bonus, try adding [NOFEAR], [NOBREATHE], [NOSTUN], [NONAUSEA], [NOPAIN], [NO_DIZZINESS], [NO_FEVERS], and [NOEXERT] as well.

(Warning, editing this may cause the game to crash.[Verify])

Other potential problems include but are not limited to unhappiness due to never drinking any booze, and insane dwarves with no viable avenues for suicide; not that they can't be assisted in such endeavors.

  • Removing the [ALCOHOL_DEPENDENT] tag should alleviate the problem of unhappiness due to never drinking booze.

Pets for everyone

Ever want Cave dragons, Giant cave spiders, or even Helmet snakes for pets?
Simply add [PET] and [COMMON_DOMESTIC] to the creature of your choice then generate a new world. Enjoy killing the local elephant population with your army of Giant cave spiders. Also if you want them to not be caged, cut out their raw file and transfer it to the bottom part of the creature_domestic.txt file and change the [FANCIFUL] token into the [NATURAL] token


Note: Pets may be expensive. Which is why you set [PETVALUE:1]

Tinkering with the Dwarven Soul

By messing with the soul of a dwarf, you can drastically increase attributes and learning rates. Below are notes and a copy-paste section of text that you can use in the creature_standard.txt file, in which you replace the existing dwarf attributes. Some of these tags must be placed in the section where castes are defined (ex: to speed learning rates, place the tags under the [CASTE:MALE] and [CASTE:FEMALE] tags) Using the Castes, it is very possible to specify what parts of your society get what (ex: adding a 'prodigy' caste of dwarves that learn 5 times faster than regular dwarves). The most easily adjustable portion of the castes is with the Males and Females.

ATT_RANGE dictates the level of effectiveness a being receives in an ability. 5,000 is the max. Please note that the elves get "5,000" in the memory stat, for the entire range. Humans get a default of 1,000, and presumably the same goes for any other creature that doesn't have a specified range.

Below, the ATT_RATES tag basically determines how quickly you gain and lose an attribute. The first value indicates cost. The lower it is, the better. The other values are for dictating the rate of decay, so keeping them at "NONE" basically nullifies that aspect. Don't use "0" for the first value, it crashes the game. Default for the first value is 500. If there is no number, the default will be used. I believe that you can use negative numbers, which further increases the gain of attributes, since the ceiling to the next attribute level is lowered by the negative percentage you use.

ATT_RATES (Default is 500:2:3:2]

* ATTRIBUTE Token
* cost to improve     
* unused counter rate
* rust counter rate
* demotion counter rate

[PHYS_ATT_RATES:STRENGTH:-5000:NONE:NONE:NONE]


The game comes pre-stocked with several sets of attribute ranges, some better than others. The signs that come after the numeral ranges indicate what level that range represents, but has no effect in of themselves.


0:0:0:0:0:0:0] unattainable

0:100:200:300:400:450:500] ---

0:400:600:750:800:900:1100] --

150:600:800:900:1000:1100:1500] -

450:950:1150:1250:1350:1550:2250] +

700:1200:1400:1500:1600:1800:2500] ++

1250:1500:1750:2000:2500:3000:5000] +++

5000:5000:5000:5000:5000:5000:5000] max


Skill rates is a tag that grants you a % of skill improvement. The first number is the percentage, while the last three slots indicate decay. Skill rate increase is capped at 500%. Default is 100%, but creatures with Slow Learner tag will get half of that.

SKILL_RATE (Default is 100:8:8:16]

* % of improvement points you get
* unused counter rate
* rust counter rate
* demotion counter rate

Add this line under whichever castes you wish to receive the benefits.

[SKILL_RATES:500:NONE:NONE:NONE]


PHYS_ATT_CAP_PERC MENT_ATT_CAP_PERC

The default value is 200% of a dwarf's median+starting stats. This tag caps the amount of improvement to be had in an attribute. Below, I have cranked it up to 5,000%, hoping that it would let all dwarves achieve maximum attributes.

ex [PHYS_ATT_CAP_PERC:STRENGTH:5000] [MENT_ATT_CAP_PERC:FOCUS:5000]


     [SKILL_RATES:5000:NONE:NONE:NONE]
     [PHYS_ATT_RANGE:STRENGTH:1250:1500:1750:2000:2500:3000:5000]           +++     
     [PHYS_ATT_RATES:STRENGTH:-5000:NONE:NONE:NONE]
     [PHYS_ATT_CAP_PERC:STRENGTH:5000:NONE:NONE:NONE]
     [PHYS_ATT_RANGE:TOUGHNESS:1250:1500:1750:2000:2500:3000:5000]           +++
     [PHYS_ATT_RATES:TOUGHNESS:-5000:NONE:NONE:NONE]
     [PHYS_ATT_CAP_PERC:TOUGHNESS:5000:NONE:NONE:NONE]
     [PHYS_ATT_RANGE:AGILITY:1250:1500:1750:2000:2500:3000:5000]           +++
     [PHYS_ATT_RATES:AGILITY:-5000:NONE:NONE:NONE]
     [PHYS_ATT_CAP_PERC:AGILITY:5000:NONE:NONE:NONE]
     [PHYS_ATT_RANGE:ENDURANCE:1250:1500:1750:2000:2500:3000:5000]           +++
     [PHYS_ATT_RATES:ENDURANCE:-5000:NONE:NONE:NONE]
     [PHYS_ATT_CAP_PERC:ENDURANCE:5000]
     [PHYS_ATT_RANGE:RECUPERATION:1250:1500:1750:2000:2500:3000:5000]        +++       
     [PHYS_ATT_RATES:RECUPERATION:-5000:NONE:NONE:NONE]
     [PHYS_ATT_CAP_PERC:RECUPERATION:5000]
     [PHYS_ATT_RANGE:DISEASE_RESISTANCE:1250:1500:1750:2000:2500:3000:5000]  +++
     [PHYS_ATT_RATES:DISEASE_RESISTANCE:-5000:NONE:NONE:NONE]
     [PHYS_ATT_CAP_PERC:DISEASE_RESISTANCE:5000]
     [MENT_ATT_RANGE:FOCUS:1250:1500:1750:2000:2500:3000:5000]              +++             
     [MENT_ATT_RATES:FOCUS:-5000:NONE:NONE:NONE]
     [MENT_ATT_CAP_PERC:FOCUS:5000]
     [MENT_ATT_RANGE:CREATIVITY:1250:1500:1750:2000:2500:3000:5000]        +++         
     [MENT_ATT_RATES:CREATIVITY:-5000:NONE:NONE:NONE]
     [MENT_ATT_CAP_PERC:CREATIVITY:5000]
     [MENT_ATT_RANGE:PATIENCE:1250:1500:1750:2000:2500:3000:5000]           +++     
     [MENT_ATT_RATES:PATIENCE:-5000:NONE:NONE:NONE]
     [MENT_ATT_CAP_PERC:PATIENCE:5000]
     [MENT_ATT_RANGE:MEMORY:1250:1500:1750:2000:2500:3000:5000]           +++             
     [MENT_ATT_RATES:MEMORY:-5000:NONE:NONE:NONE]
     [MENT_ATT_CAP_PERC:MEMORY:5000]
     [MENT_ATT_RANGE:SPATIAL_SENSE:1250:1500:1750:2000:2500:3000:5000]        +++
     [MENT_ATT_RATES:SPATIAL_SENSE:-5000:NONE:NONE:NONE]
     [MENT_ATT_CAP_PERC:SPATIAL_SENSE:5000]
     [MENT_ATT_RANGE:EMPATHY:1250:1500:1750:2000:2500:3000:5000]           +++
     [MENT_ATT_RATES:EMPATHY:-5000:NONE:NONE:NONE]
     [MENT_ATT_CAP_PERC:EMPATHY:5000]
     [MENT_ATT_RANGE:MUSICALITY:1250:1500:1750:2000:2500:3000:5000]        +++
     [MENT_ATT_RATES:MUSICALITY:-5000:NONE:NONE:NONE]
     [MENT_ATT_CAP_PERC:MUSICALITY:5000]
     [MENT_ATT_RANGE:ANALYTICAL_ABILITY:1250:1500:1750:2000:2500:3000:5000]  +++
     [MENT_ATT_RATES:ANALYTICAL_ABILITY:-5000:NONE:NONE:NONE]
     [MENT_ATT_CAP_PERC:ANALYTICAL_ABILITY:5000]
     [MENT_ATT_RANGE:LINGUISTIC_ABILITY:1250:1500:1750:2000:2500:3000:5000]  +++
     [MENT_ATT_RATES:LINGUISTIC_ABILITY:-5000:NONE:NONE:NONE]
     [MENT_ATT_CAP_PERC:LINGUISTIC_ABILITY:5000]
     [MENT_ATT_RANGE:INTUITION:1250:1500:1750:2000:2500:3000:5000]           +++
     [MENT_ATT_RATES:INTUITION:-5000:NONE:NONE:NONE]
     [MENT_ATT_CAP_PERC:INTUITION:5000]
     [MENT_ATT_RANGE:WILLPOWER:1250:1500:1750:2000:2500:3000:5000]           +++
     [MENT_ATT_RATES:WILLPOWER:-5000:NONE:NONE:NONE]
     [MENT_ATT_CAP_PERC:WILLPOWER:5000]
     [MENT_ATT_RANGE:SOCIAL_AWARENESS:1250:1500:1750:2000:2500:3000:5000]     +++
     [MENT_ATT_RATES:SOCIAL_AWARENESS:-5000:NONE:NONE:NONE]
     [MENT_ATT_CAP_PERC:SOCIAL_AWARENESS:5000]
     [MENT_ATT_RANGE:KINESTHETIC_SENSE:1250:1500:1750:2000:2500:3000:5000]     +++
     [MENT_ATT_RATES:KINESTHETIC_SENSE:-5000:NONE:NONE:NONE]
     [MENT_ATT_CAP_PERC:KINESTHETIC_SENSE:5000]

No More skill loss

Are you tired of your dwarfs having red stats after a few years? If so, try adding this mod by LordSnow to df_folder/data/save/region/raw/objects/creature_standard.txt in the "dwarf" section.

Phys/Ment rate default: 500

  [PHYS_ATT_RATES:STRENGTH:50:NONE:NONE:NONE]
  [PHYS_ATT_RATES:AGILITY:50:NONE:NONE:NONE]
  [PHYS_ATT_RATES:TOUGHNESS:50:NONE:NONE:NONE]
  [PHYS_ATT_RATES:ENDURANCE:50:NONE:NONE:NONE]
  [PHYS_ATT_RATES:DISEASE_RESISTANCE:50:NONE:NONE:NONE]
  [PHYS_ATT_RATES:RECUPERATION:50:NONE:NONE:NONE]
  [MENT_ATT_RATES:ANALYTICAL_ABILITY:50:NONE:NONE:NONE]
  [MENT_ATT_RATES:CREATIVITY:50:NONE:NONE:NONE]
  [MENT_ATT_RATES:EMPATHY:50:NONE:NONE:NONE]
  [MENT_ATT_RATES:FOCUS:50:NONE:NONE:NONE]
  [MENT_ATT_RATES:INTUITION:50:NONE:NONE:NONE]
  [MENT_ATT_RATES:KINESTHETIC_SENSE:50:NONE:NONE:NONE]
  [MENT_ATT_RATES:LINGUISTIC_ABILITY:50:NONE:NONE:NONE]
  [MENT_ATT_RATES:MUSICALITY:50:NONE:NONE:NONE]
  [MENT_ATT_RATES:PATIENCE:50:NONE:NONE:NONE]
  [MENT_ATT_RATES:SOCIAL_AWARENESS:50:NONE:NONE:NONE]
  [MENT_ATT_RATES:MEMORY:50:NONE:NONE:NONE]
  [MENT_ATT_RATES:SPATIAL_SENSE:50:NONE:NONE:NONE]
  [MENT_ATT_RATES:WILLPOWER:50:NONE:NONE:NONE]

Enemy race dies in a pink cloud

Causes all creatures of a type to go *poof* in a little pink cloud. Put this under the creature you want to never appear again. Goodbye invasions! Runesmith can also remove species easily.

[SELECT_MATERIAL:ALL]
     [BOILING_POINT:0]
     [STATE_COLOR:ALL:PINK]
     [STATE_NAME_ADJ:GAS:poof!]

Warning: As with all cheats that involve the words "[BOILING_POINT:0]", the mist created when the creature boils will be very cold. Such cold temperatures will rapidly degrade weak items like cloth and leather, and may pose a danger to dwarves caught in the cloud without adequate cold weather clothing. You might have to experiment to find a temperature that will guarantee boiling without posing a danger to your dwarves.

Note: You must add this text after all the material you want to boil is defined. To be safe, just place it at the very end.

All Skills Legendary

Put this under Creature:Dwarf in creature_standard.txt

	[NATURAL_SKILL:MINING:16]
	[NATURAL_SKILL:WOODCUTTING:16]
	[NATURAL_SKILL:CARPENTRY:16]
	[NATURAL_SKILL:DETAILSTONE:16]
	[NATURAL_SKILL:MASONRY:16]
	[NATURAL_SKILL:ANIMALTRAIN:16]
	[NATURAL_SKILL:ANIMALCARE:16]
	[NATURAL_SKILL:DISSECT_FISH:16]
	[NATURAL_SKILL:DISSECT_VERMIN:16]
	[NATURAL_SKILL:PROCESSFISH:16]
	[NATURAL_SKILL:BUTCHER:16]
	[NATURAL_SKILL:TRAPPING:16]
	[NATURAL_SKILL:TANNER:16]
	[NATURAL_SKILL:WEAVING:16]
	[NATURAL_SKILL:BREWING:16]
	[NATURAL_SKILL:ALCHEMY:16]
	[NATURAL_SKILL:CLOTHESMAKING:16]
	[NATURAL_SKILL:MILLING:16]
	[NATURAL_SKILL:PROCESSPLANTS:16]
	[NATURAL_SKILL:CHEESEMAKING:16]
	[NATURAL_SKILL:MILK:16]
	[NATURAL_SKILL:COOK:16]
	[NATURAL_SKILL:PLANT:16]
	[NATURAL_SKILL:HERBALISM:16]
	[NATURAL_SKILL:FISH:16]
	[NATURAL_SKILL:SMELT:16]
	[NATURAL_SKILL:EXTRACT_STRAND:16]
	[NATURAL_SKILL:FORGE_WEAPON:16]
	[NATURAL_SKILL:FORGE_ARMOR:16]
	[NATURAL_SKILL:FORGE_FURNITURE:16]
	[NATURAL_SKILL:CUTGEM:16]
	[NATURAL_SKILL:ENCRUSTGEM:16]
	[NATURAL_SKILL:WOODCRAFT:16]
	[NATURAL_SKILL:STONECRAFT:16]
	[NATURAL_SKILL:METALCRAFT:16]
	[NATURAL_SKILL:GLASSMAKER:16]
	[NATURAL_SKILL:LEATHERWORK:16]
	[NATURAL_SKILL:BONECARVE:16]
	[NATURAL_SKILL:AXE:16]
	[NATURAL_SKILL:SWORD:16]
	[NATURAL_SKILL:DAGGER:16]
	[NATURAL_SKILL:MACE:16]
	[NATURAL_SKILL:HAMMER:16]
	[NATURAL_SKILL:SPEAR:16]
	[NATURAL_SKILL:CROSSBOW:16]
	[NATURAL_SKILL:SHIELD:16]
	[NATURAL_SKILL:ARMOR:16]
	[NATURAL_SKILL:SIEGECRAFT:16]
	[NATURAL_SKILL:SIEGEOPERATE:16]
	[NATURAL_SKILL:BOWYER:16]
	[NATURAL_SKILL:PIKE:16]
	[NATURAL_SKILL:WHIP:16]
	[NATURAL_SKILL:BOW:16]
	[NATURAL_SKILL:BLOWGUN:16]
	[NATURAL_SKILL:THROW:16]
	[NATURAL_SKILL:MECHANICS:16]
	[NATURAL_SKILL:MAGIC_NATURE:16]
	[NATURAL_SKILL:SNEAK:16]
	[NATURAL_SKILL:DESIGNBUILDING:16]
	[NATURAL_SKILL:DRESS_WOUNDS:16]
	[NATURAL_SKILL:DIAGNOSE:16]
	[NATURAL_SKILL:SURGERY:16]
	[NATURAL_SKILL:SET_BONE:16]
	[NATURAL_SKILL:SUTURE:16]
	[NATURAL_SKILL:CRUTCH_WALK:16]
	[NATURAL_SKILL:WOOD_BURNING:16]
	[NATURAL_SKILL:LYE_MAKING:16]
	[NATURAL_SKILL:SOAP_MAKING:16]
	[NATURAL_SKILL:POTASH_MAKING:16]
	[NATURAL_SKILL:DYER:16]
	[NATURAL_SKILL:OPERATE_PUMP:16]
	[NATURAL_SKILL:SWIMMING:16]
	[NATURAL_SKILL:PERSUASION:16]
	[NATURAL_SKILL:NEGOTIATION:16]
	[NATURAL_SKILL:JUDGING_INTENT:16]
	[NATURAL_SKILL:APPRAISAL:16]
	[NATURAL_SKILL:ORGANIZATION:16]
	[NATURAL_SKILL:RECORD_KEEPING:16]
	[NATURAL_SKILL:LYING:16]
	[NATURAL_SKILL:INTIMIDATION:16]
	[NATURAL_SKILL:CONVERSATION:16]
	[NATURAL_SKILL:COMEDY:16]
	[NATURAL_SKILL:FLATTERY:16]
	[NATURAL_SKILL:CONSOLE:16]
	[NATURAL_SKILL:PACIFY:16]
	[NATURAL_SKILL:TRACKING:16]
	[NATURAL_SKILL:KNOWLEDGE_ACQUISITION:16]
	[NATURAL_SKILL:CONCENTRATION:16]
	[NATURAL_SKILL:DISCIPLINE:16]
	[NATURAL_SKILL:SITUATIONAL_AWARENESS:16]
	[NATURAL_SKILL:WRITING:16]
	[NATURAL_SKILL:PROSE:16]
	[NATURAL_SKILL:POETRY:16]
	[NATURAL_SKILL:READING:16]
	[NATURAL_SKILL:SPEAKING:16]
	[NATURAL_SKILL:COORDINATION:16]
	[NATURAL_SKILL:BALANCE:16]
	[NATURAL_SKILL:LEADERSHIP:16]
	[NATURAL_SKILL:TEACHING:16]
	[NATURAL_SKILL:MELEE_COMBAT:16]
	[NATURAL_SKILL:RANGED_COMBAT:16]
	[NATURAL_SKILL:WRESTLING:16]
	[NATURAL_SKILL:BITE:16]
	[NATURAL_SKILL:GRASP_STRIKE:16]
	[NATURAL_SKILL:STANCE_STRIKE:16]
	[NATURAL_SKILL:DODGING:16]
	[NATURAL_SKILL:MISC_WEAPON:16]
	[NATURAL_SKILL:KNAPPING:16]
	[NATURAL_SKILL:MILITARY_TACTICS:16]
	[NATURAL_SKILL:SHEARING:16]
	[NATURAL_SKILL:SPINNING:16]
	[NATURAL_SKILL:POTTERY:16]
	[NATURAL_SKILL:GLAZING:16]
	[NATURAL_SKILL:PRESSING:16]
	[NATURAL_SKILL:BEEKEEPING:16]
	[NATURAL_SKILL:WAX_WORKING:16]

Reaction Additions

There are now two reaction files: reaction_smelter and reaction_other. Additions to these lists will not take effect until you generate a new world. Note that if you edit an existing reaction entry (leaving the [REACTION:NAME] line unchanged) rather than add a new one, you will not need to generate a new world. Don't forget to add [PERMITTED_REACTION:(reaction)] under [ENTITY:MOUNTAIN] in entity_default raw.

Skill Practice Workshops

A useful application of the new workshop/reaction setup is the Practice Workshop: loaded with no-reagent no-product reactions tied to every quality-based skill, it's an excellent way to get the most out of scarce resources and to train workers who utilize said resources (Jewelers, Craftsdwarves, etc).

Create a new raw called building_practice_workshop in \raw\objects, and within it paste the following (ripped nigh-straight out of Lazureus' Crematorium package):

building_practice_workshop

[OBJECT:BUILDING]

[BUILDING_WORKSHOP:PRACTICE_WORKSHOP]
	[NAME:Practice Workshop]
	[NAME_COLOR:7:0:1]
	[DIM:3:3]
	[WORK_LOCATION:2:3]
	[BUILD_LABOR:MASON]
	[BUILD_KEY:CUSTOM_SHIFT_P]
	[BLOCK:1:0:0:0]
	[BLOCK:2:0:0:0]
	[BLOCK:3:0:0:0]
	[TILE:0:1:' ':' ':236]
	[TILE:0:2:' ':236:'/']
	[TILE:0:3:'|':' ':' ']
	[COLOR:0:1:0:0:0:0:0:0:0:0:1]
	[COLOR:0:2:0:0:0:0:0:1:6:0:0]
	[COLOR:0:3:6:0:0:0:0:0:0:0:0]
	[TILE:1:1:236:' ':227]
	[TILE:1:2:'|':' ':8]
	[TILE:1:3:' ':' ':236]
	[COLOR:1:1:0:0:1:0:0:0:0:0:1]
	[COLOR:1:2:6:0:0:0:0:0:0:0:1]
	[COLOR:1:3:0:0:0:0:0:0:0:0:1]
	[TILE:2:1:201:227:187]
	[TILE:2:2:200:8:188]
	[TILE:2:3:' ':' ':' ']
	[COLOR:2:1:0:0:1:0:0:1:0:0:1]
	[COLOR:2:2:0:0:1:0:0:1:0:0:1]
	[COLOR:2:3:0:0:0:0:0:0:0:0:0]
	[TILE:3:1:201:227:187]
	[TILE:3:2:200:8:188]
	[TILE:3:3:150:210:253]
	[COLOR:3:1:0:0:1:0:0:1:0:0:1]
	[COLOR:3:2:0:0:1:0:4:1:0:0:1]
	[COLOR:3:3:0:0:1:6:0:0:7:0:1]
	[BUILD_ITEM:1:NONE:NONE:NONE:NONE][BUILDMAT][WORTHLESS_STONE_ONLY][CAN_USE_ARTIFACT]

Create a new raw called reaction_practice_workshop, and within it paste the following: (Fixed the process to only accept bars of coke instead of just ANY bar. Enjoy. -Anonymous)

reaction_practice_workshop

[OBJECT:REACTION]

[REACTION:PRACTICE_ARMORSMITHING]
[NAME:practice armorsmithing]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:FORGE_ARMOR]

[REACTION:PRACTICE_BEEKEEPING]
[NAME:practice beekeeping]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:BEEKEEPING]

[REACTION:PRACTICE_BONECARVING]
[NAME:practice bonecarving]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:BONECARVE]

[REACTION:PRACTICE_BONESETTING]
[NAME:practice bonesetting]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:SET_BONE]

[REACTION:PRACTICE_BOWMAKING]
[NAME:practice bowmaking]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:BOWYER]

[REACTION:PRACTICE_BREWING]
[NAME:practice brewing]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:BREWING]

[REACTION:PRACTICE_CARPENTRY]
[NAME:practice carpentry]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:CARPENTRY]

[REACTION:PRACTICE_CLOTHESMAKING]
[NAME:practice clothesmaking]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:CLOTHESMAKING]

[REACTION:PRACTICE_COOKING]
[NAME:practice cooking]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:COOK]

[REACTION:PRACTICE_DESIGNBUILDING]
[NAME:practice architecture]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:DESIGNBUILDING]

[REACTION:PRACTICE_DIAGNOSIS]
[NAME:practice diagnosis]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:DIAGNOSE]

[REACTION:PRACTICE_DYING]
[NAME:practice dying]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:DYER]

[REACTION:PRACTICE_ENGRAVING]
[NAME:practice engraving]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:DETAILSTONE]

[REACTION:PRACTICE_GEM_CUTTING]
[NAME:practice gem cutting]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:CUTGEM]

[REACTION:PRACTICE_GEM_SETTING]
[NAME:practice gem setting]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:ENCRUSTGEM]

[REACTION:PRACTICE_GLASSMAKING]
[NAME:practice glassmaking]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:GLASSMAKER]

[REACTION:PRACTICE_GLAZING]
[NAME:practice glazing]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:GLAZING]

[REACTION:PRACTICE_GROWING]
[NAME:practice growing]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:PLANT]

[REACTION:PRACTICE_HERBALISM]
[NAME:practice herbalism]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:HERBALISM]

[REACTION:PRACTICE_LEATHERWORKING]
[NAME:practice leatherworking]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:LEATHERWORK]

[REACTION:PRACTICE_MASONRY]
[NAME:practice masonry]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:MASONRY]

[REACTION:PRACTICE_MECHANICS]
[NAME:practice mechanics]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:MECHANICS]

[REACTION:PRACTICE_METALCRAFTING]
[NAME:practice metalcrafting]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:METALCRAFT]

[REACTION:PRACTICE_METALSMITHING]
[NAME:practice metalsmithing]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:FORGE_FURNITURE]

[REACTION:PRACTICE_MINING]
[NAME:practice mining]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:MINING]

[REACTION:PRACTICE_POTTERY]
[NAME:practice pottery]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:POTTERY]

[REACTION:PRACTICE_SIEGE_ENGINEERING]
[NAME:practice siege engineering]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:SIEGECRAFT]

[REACTION:PRACTICE_STONECRAFTING]
[NAME:practice stonecrafting]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:STONECRAFT]

[REACTION:PRACTICE_SURGERY]
[NAME:practice surgery]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:SURGERY]

[REACTION:PRACTICE_SUTURING]
[NAME:practice suturing]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:SUTURE]

[REACTION:PRACTIVE_WAX_WORKING]
[NAME:practice waxworking]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:WAX_WORKING]

[REACTION:PRACTICE_WEAPONSMITHING]
[NAME:practice weaponsmithing]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:FORGE_WEAPON]

[REACTION:PRACTICE_WEAVING]
[NAME:practice weaving]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:WEAVING]

[REACTION:PRACTICE_WOODCRAFTING]
[NAME:practice woodcrafting]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:WOODCRAFT]

[REACTION:PRACTICE_WOUND_DRESSING]
[NAME:practice wound dressing]
[BUILDING:PRACTICE_WORKSHOP:NONE]
[REAGENT:A:1:BAR:NO_SUBTYPE:COAL:COKE][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
[SKILL:DRESS_WOUNDS]

Lastly, paste the following to their respective spots in the dwarf section of entity_default, and you're done:

	[PERMITTED_BUILDING:PRACTICE_WORKSHOP]
	[PERMITTED_REACTION:PRACTICE_ARMORSMITHING]
	[PERMITTED_REACTION:PRACTICE_BEEKEEPING]
	[PERMITTED_REACTION:PRACTICE_BONECARVING]
	[PERMITTED_REACTION:PRACTICE_BONESETTING]
	[PERMITTED_REACTION:PRACTICE_BOWMAKING]
	[PERMITTED_REACTION:PRACTICE_BREWING]
	[PERMITTED_REACTION:PRACTICE_CARPENTRY]
	[PERMITTED_REACTION:PRACTICE_CLOTHESMAKING]
	[PERMITTED_REACTION:PRACTICE_DESIGNBUILDING]
	[PERMITTED_REACTION:PRACTICE_DIAGNOSIS]
	[PERMITTED_REACTION:PRACTICE_DYING]
	[PERMITTED_REACTION:PRACTICE_ENGRAVING]
	[PERMITTED_REACTION:PRACTICE_GEM_CUTTING]
	[PERMITTED_REACTION:PRACTICE_GEM_SETTING]
	[PERMITTED_REACTION:PRACTICE_GLASSMAKING]
	[PERMITTED_REACTION:PRACTICE_GLAZING]
	[PERMITTED_REACTION:PRACTICE_GROWING]
	[PERMITTED_REACTION:PRACTICE_HERBALISM]
	[PERMITTED_REACTION:PRACTICE_LEATHERWORKING]
	[PERMITTED_REACTION:PRACTICE_MASONRY]
	[PERMITTED_REACTION:PRACTICE_MECHANICS]
	[PERMITTED_REACTION:PRACTICE_METALCRAFTING]
	[PERMITTED_REACTION:PRACTICE_METALSMITHING]
	[PERMITTED_REACTION:PRACTICE_MINING]
	[PERMITTED_REACTION:PRACTICE_POTTERY]
	[PERMITTED_REACTION:PRACTICE_SIEGE_ENGINEERING]
	[PERMITTED_REACTION:PRACTICE_SIEGE_OPERATION]
	[PERMITTED_REACTION:PRACTICE_STONECRAFTING]
	[PERMITTED_REACTION:PRACTICE_SURGERY]
	[PERMITTED_REACTION:PRACTICE_SUTURING]
	[PERMITTED_REACTION:PRACTICE_WAX_WORKING]
	[PERMITTED_REACTION:PRACTICE_WEAPONSMITHING]
	[PERMITTED_REACTION:PRACTICE_WEAVING]
	[PERMITTED_REACTION:PRACTICE_WOODCRAFTING]
	[PERMITTED_REACTION:PRACTICE_WOUND_DRESSING]

Easy Vermin Disposal

Tired of vermin corpses lying around for months? Use this reaction to put them to a useful purpose:

[REACTION:BUGS_TO_COKE]
   [NAME:Cremate Vermin Corpses]
   [BUILDING:SMELTER:NONE]
   [REAGENT:A:5:REMAINS:NONE:NONE:NONE]
   [PRODUCT:20:1:BAR:NO_SUBTYPE:COAL:COKE][PRODUCT_DIMENSION:150]
   [SKILL:SMELT]

Remember to add this to the appropriate entity files before generating a new world.

Easy Entity Editing

Here is the edited entity_default raw entry. Just copy and paste everything underneath the existing entries. You may add more by using the format: [PERMITTED_REACTION:(reaction)]

    
        [PERMITTED_REACTION:FREE_DIAMOND_LY]
	[PERMITTED_REACTION:FREE_DIAMOND_FY]
	[PERMITTED_REACTION:FREE_EMERALD]
        [PERMITTED_REACTION:FREE_RUBY]
	[PERMITTED_REACTION:FREE_SAPPHIRE]
	[PERMITTED_REACTION:FREE_DIAMOND_CLEAR]
	[PERMITTED_REACTION:FREE_DIAMOND_RED]
	[PERMITTED_REACTION:FREE_DIAMOND_GREEN]
	[PERMITTED_REACTION:FREE_DIAMOND_BLUE]
	[PERMITTED_REACTION:FREE_DIAMOND_YELLOW]
	[PERMITTED_REACTION:FREE_DIAMOND_BLACK]
	[PERMITTED_REACTION:FREE_RUBY_STAR]
        [PERMITTED_REACTION:FREE_SAPPHIRE_STAR]
	[PERMITTED_REACTION:FREE_ADAMANTINE_THREAD]
	[PERMITTED_REACTION:FREE_ADAMANTINE_WAFERS]
	[PERMITTED_REACTION:FREE_WOOD]


Free Gems

Fill in the name of a gem from the inorganic_stone_gem file and paste this in the reaction_smelter file to make your smelter spew out gems.

[REACTION:FREE_(gem name here)]
[NAME:make (gem name here)]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:(gem name {from raws})]
[SKILL:SMELT]

Note: You can change the skill used and the workshop, but make sure to keep it in the correct reaction file. For convenience, here are all the precious gems in the game.

[REACTION:FREE_DIAMOND_LY]
[NAME: make light yellow diamonds]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_LY]
[SKILL:SMELT]

[REACTION:FREE_DIAMOND_FY]
[NAME: make faint yellow diamonds]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_FY]
[SKILL:SMELT]

[REACTION:FREE_EMERALD]
[NAME: make emeralds]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:EMERALD]
[SKILL:SMELT]

[REACTION:FREE_RUBY]
[NAME: make rubies]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:RUBY]
[SKILL:SMELT]

[REACTION:FREE_SAPPHIRE]
[NAME: make sapphires]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:SAPPHIRE]
[SKILL:SMELT]

[REACTION:FREE_DIAMOND_CLEAR]
[NAME: make clear diamonds]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_CLEAR]
[SKILL:SMELT]

[REACTION:FREE_DIAMOND_RED]
[NAME: make red diamonds]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_RED]
[SKILL:SMELT]

[REACTION:FREE_DIAMOND_GREEN]
[NAME: make green diamond]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_GREEN]
[SKILL:SMELT]

[REACTION:FREE_DIAMOND_BLUE]
[NAME: make blue diamonds]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_BLUE]
[SKILL:SMELT]

[REACTION:FREE_DIAMOND_YELLOW]
[NAME: make yellow diamonds]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_YELLOW]
[SKILL:SMELT]

[REACTION:FREE_DIAMOND_BLACK]
[NAME: make black diamonds]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:DIAMOND_BLACK]
[SKILL:SMELT]

[REACTION:FREE_RUBY_STAR]
[NAME: make star rubies]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:RUBY_STAR]
[SKILL:SMELT]

[REACTION:FREE_SAPPHIRE_STAR]
[NAME: make star sapphires]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:ROUGH:NO_SUBTYPE:STONE:SAPPHIRE_STAR]
[SKILL:SMELT]

Easy Adamantine

To get free adamantine wafers, add this to your reaction_smelter.

[REACTION:FREE_ADAMANTINE_WAFERS]
[NAME:create adamantine wafers]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:ADAMANTINE][PRODUCT_DIMENSION:150]
[SKILL:SMELT]

For adamantine thread it would be:

[REACTION:FREE_ADAMANTINE_THREAD]
[NAME:create adamantine thread]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:1:THREAD:NO_SUBTYPE:METAL:ADAMANTINE][PRODUCT_DIMENSION:15000]
[SKILL:SMELT]


Easy Flux, Sand, and Ore

Add [REACTION_CLASS:FLUX] to any stone you have to turn it into a flux. This is in inorganic_stone_mineral, or inorganic_stone_layer Or, add [METAL_ORE:{metal name}:100] to turn it into an ore. It also bears noting that the metal can easily be an alloy, like steel or brass. Likewise, open inorganic_stone_soil and add [SOIL_SAND] to any soil to turn it into sand suitable for making glass with.

None of these cheats require creating a new world. Turn peat into glass, basalt into platinum, and combine iron, diorite, and coal to make steel.


Easy Metal

Open reaction_smelter and change any reactions you like. Remove the [FUEL] tag. to make them require no fuel. Remove the line(s) headed with [REAGENT:whatever] to make them require no reagents. You can pick any metal that exists in the game, as long as you pick the right raw name. (For example: IRON, PEWTER_LAY, and NICKEL_SILVER makes iron, lay pewter, and nickel silver respectively.)

[REACTION:FREE_(metal name here)]
[NAME:create (metal name here)]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:(metal name {from raws})][PRODUCT_DIMENSION:150]
[SKILL:SMELT]

These cheats do not require a new world (because they only modify existing reactions), and allow smelters to create steel and adamantine from nothing.

Create Wood

To create wood for free, Add this to reaction_smelter. (don't forget the wood type. Like OAK, PINE, TOWER_CAP, or FUNGIWOOD.)

[REACTION:FREE_WOOD]
[NAME:create wood]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:5:WOOD:NO_SUBTYPE:PLANT_MAT:(wood name {from raws}):WOOD][PRODUCT_DIMENSION:150]
[SKILL:SMELT]

Some examples with very light wood, perfect for buckets, and a frozen wood.

[REACTION:FREE_FROZEN_WOOD]
[NAME:create frozen wood]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:5:WOOD:NO_SUBTYPE:PLANT_MAT:NETHER_CAP:WOOD][PRODUCT_DIMENSION:150]
[SKILL:SMELT]

[REACTION:FREE_FEATHER_WOOD]
[NAME:create light wood]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:5:WOOD:NO_SUBTYPE:PLANT_MAT:FEATHER:WOOD][PRODUCT_DIMENSION:150]
[SKILL:SMELT]

Produce Food

To create food for free, add this to reaction_smelter. Fair warning, this will NOT allow you to grow these plants if you have not already discovered/obtained them. If you cannot get sun berries or similar through trade or gathering, you won't be able to plant the seeds and grow crops from them.

[REACTION:FREE_PLUMP_HELMET]
[NAME:create plump helmets]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:PLANT:NO_SUBTYPE:PLANT_MAT:MUSHROOM_HELMET_PLUMP:STRUCTURAL]
[SKILL:SMELT]

[REACTION:FREE_CAVE_WHEAT]
[NAME:create cave wheat]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:PLANT:NO_SUBTYPE:PLANT_MAT:GRASS_WHEAT_CAVE:STRUCTURAL]
[SKILL:SMELT]

[REACTION:FREE_WILD_STRAWBERRIES]
[NAME:create wild strawberries]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:PLANT:NO_SUBTYPE:PLANT_MAT:BERRIES_STRAW_WILD:STRUCTURAL]
[SKILL:SMELT]

[REACTION:FREE_PRICKLE_BERRIES]
[NAME:create prickle berries]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:PLANT:NO_SUBTYPE:PLANT_MAT:BERRIES_PRICKLE:STRUCTURAL]
[SKILL:SMELT]

[REACTION:FREE_SWEET_PODS]
[NAME:create sweet pods]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:PLANT:NO_SUBTYPE:PLANT_MAT:POD_SWEET:STRUCTURAL]
[SKILL:SMELT]

[REACTION:FREE_GRASS_TAIL_PIG]
[NAME:create pig tail grass]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:PLANT:NO_SUBTYPE:PLANT_MAT:GRASS_TAIL_PIG:STRUCTURAL]
[SKILL:SMELT]


... and this to entity_default

	[PERMITTED_REACTION:FREE_PLUMP_HELMET]
	[PERMITTED_REACTION:FREE_CAVE_WHEAT]
	[PERMITTED_REACTION:FREE_WILD_STRAWBERRIES]
	[PERMITTED_REACTION:FREE_CAVE_WHEAT]
	[PERMITTED_REACTION:FREE_PRICKLE_BERRIES]
	[PERMITTED_REACTION:FREE_SWEET_PODS]
	[PERMITTED_REACTION:FREE_GRASS_TAIL_PIG]

Produce Water

This reaction will allow your Dwarves to draw water from the rock. Unfortunately, it will not allow them to part the Red Sea - for that, you'll need lots of screw pumps, but that's another story...

[REACTION:CHEAT_WATER]
        [NAME:make water]
        [BUILDING:SMELTER:NONE]
        [REAGENT:rock:1:BOULDER:NONE:NONE:NONE][WORTHLESS_STONE_ONLY]
        [REAGENT:bucket:1:BUCKET:NONE:NONE:NONE][EMPTY][DOES_NOT_ABSORB][PRESERVE_REAGENT][DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
        [PRODUCT:100:1:LIQUID_MISC:NONE:WATER:NONE][PRODUCT_DIMENSION:150][PRODUCT_TO_CONTAINER:bucket]

Slightly less cheaty, this reaction allows you to convert drinks to water at the brewery:

[REACTION:PURIFY_WATER]
	[NAME:purify water from booze]
	[BUILDING:STILL:CUSTOM_P]

	[REAGENT:booze:150:DRINK:NONE:NONE:NONE]
	[REAGENT:container1:1:NONE:NONE:NONE:NONE]
		[CONTAINS:booze]
		[PRESERVE_REAGENT]
		[DOES_NOT_DETERMINE_PRODUCT_AMOUNT]

        [REAGENT:bucket:1:BUCKET:NONE:NONE:NONE]
		[EMPTY]
		[DOES_NOT_ABSORB]
		[PRESERVE_REAGENT]
		[DOES_NOT_DETERMINE_PRODUCT_AMOUNT]

        [PRODUCT:100:1:LIQUID_MISC:NONE:WATER:NONE]
		[PRODUCT_DIMENSION:75]
		[PRODUCT_TO_CONTAINER:bucket]
   [SKILL:BREW]

Memory Hacking

Memory Hacking is much harder than raw editing, and requires special tools. At present, tools that have been adapted to v0.31 include Reveal, which allows you to see the whole map (though be warned- it also releases Hidden Fun Stuff) and DFhack, a versatile tool which includes, among other things, a liquids hack that lets you place water or magma of a depth you choose into a square and "dfprospector," which tells you what minerals are available on the map.