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.31:Cheating"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(Cleaned things up. But I need some verifies though, since I've never had the game crash due to those changes.)
Line 41: Line 41:
 
This may, ironically, lower FPS when a high population is present, but no more than what doing many actions at once would.
 
This may, ironically, lower FPS when a high population is present, but no more than what doing many actions at once would.
  
(Warning, editing this in may cause the game to crash. {{Verify}})
+
(Warning, editing this in may cause the game to crash or freeze for a few seconds. {{Verify}})
  
 
===No Needs Dwarves===
 
===No Needs Dwarves===

Revision as of 01:58, 29 October 2010

Template:AV

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

Raw files are located in the raw/objects directory

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.


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.


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.

(Warning, editing this in may cause the game to crash or freeze for a few seconds. [Verify])

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.

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

(Warning, editing this in 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 is 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. You can also utilize this code with the Castes, if you want to specify what parts of your society get what. The most easily adjustable portion of the castes is with the Males and Females.

Please note that in v31.03 of Dwarf Fortress, most of the mental attributes and Skill_Rate's learning speed is broken. This should change after the Merge, since Toady will be able to correct bugs and fully implement the Soul system.


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. Furthermore, I believe that it is capped at 5,000%. Default is 100, but creatures with Slow Learner tag will get half of that. The skill acceleration doesn't work currently, which is believed to be a bug. The information here is a placeholder until that is corrected.

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

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

[SKILL_RATES:5000: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!]

Be advised that when you use this cheat on a creature that wears armor, it'll leave behind piles of armor and weapons on the edges of your map. If you think this would be an easy way to get "free" clothes and armor, it isn't. Since the creature will die in an explosion of pink gas, that explosion will degrade the armor it was wearing. So far, I've seen plant and leather based clothes and armor go from virtually being untouched to completely disintegrated. Mostly however, it will leave behind tattered piles. One good thing, it appears that metal based armor is untouched from the gas explosion as are the weapons. It might be possible to trade away the damaged armor, but I'm not sure how well the trader will respond to getting traded tattered rags. Or, if you have a lava incinerator, you can toss it in there as well.

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.

Easy Entity Editing

Here is the edited entity_default raw entry. Just copy and paste everything underneath the existing entries.

       
	[PERMITTED_REACTION:FREE_DIAMOND_FY]
	[PERMITTED_REACTION:FREE_EMERALD]
	[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_ADAMANTINE_THREAD]
	[PERMITTED_REACTION:FREE_ADAMANTINE_WAFERS]
	[PERMITTED_REACTION:FREE_WOOD]
	[PERMITTED_REACTION:(reaction)]
	[PERMITTED_REACTION:(reaction)]


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 nickle 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]

Produce Food

To create food for free, add this to reaction_smelter.

[REACTION:FREE_FOOD]
[NAME:produce food]
[BUILDING:SMELTER:NONE]
[PRODUCT:100:10:PLANT:NO_SUBTYPE:PLANT_MAT:(plant name {from raws}):PLANT]
[SKILL:SMELT]

Memory Hacking

Memory Hacking is much harder than raw editing, and requires special tools. At present, tools that have been adapted to DF2010 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.