<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://dwarffortresswiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DPhKraken</id>
	<title>Dwarf Fortress Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://dwarffortresswiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DPhKraken"/>
	<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php/Special:Contributions/DPhKraken"/>
	<updated>2026-04-07T12:05:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.11</generator>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Elf&amp;diff=315613</id>
		<title>Elf</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Elf&amp;diff=315613"/>
		<updated>2026-03-26T02:33:45Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Ethics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior|11:04, 25 February 2023 (CST)}}&lt;br /&gt;
{{Creaturelookup/0&lt;br /&gt;
|image=Elf_sprite.png&lt;br /&gt;
|portrait=elf_portrait_anim.gif&lt;br /&gt;
|wiki=yes}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{creaturedesc}}&lt;br /&gt;
&lt;br /&gt;
{{D for Dwarf}} &lt;br /&gt;
&lt;br /&gt;
'''Elves''' (singular, '''Elf''') are &amp;lt;s&amp;gt;smelly, stuck-up, arrogant [[tree]]-fondling hippies&amp;lt;/s&amp;gt; intelligent [[Creature|humanoids]] dedicated to the protection of ''their'' concept of nature (centered around trees, and the worship of certain natural [[force]]s that permeate the forests, as opposed to the [[deities]] worshipped by other races). They are one of the main [[civilization]]s of the game, featured in [[fortress mode]] and playable in [[adventurer mode]].&lt;br /&gt;
&lt;br /&gt;
By default, they are often allies of [[dwarves]] and [[humans]], however, elves' conflicting view on nature compared to other races can create tension between them and their erstwhile allies. Elves often prefer using grown wood (and sometimes glass) for their weapons and armor, which do very little damage and offers little protection respectively compared to metal. If you go to war with them, you'll find that their primary danger comes from their numbers, archers, and dangerous tamed animals that may [[Mount|accompany]] them.&lt;br /&gt;
&lt;br /&gt;
In fortress mode, &amp;lt;s&amp;gt;hippie wagons&amp;lt;/s&amp;gt; elven caravans arrive in late spring, bringing only [[plant]]s and their own &amp;quot;grown&amp;quot; [[wood]]-related items, [[cage]]d tame animals, or various types of [[clay]] and [[sand]]. When trading with elves, unless the player seeks to intentionally antagonize them, they must be very careful to not offer any wooden objects/animal-derived goods - [[#Trading|see here for specifics]]. You may also steal from them, or even kill them, without fear of immediate repercussion, as elven caravans are unguarded, and merchants will not resist if you seize their goods, or competently fight back if attacked.  &lt;br /&gt;
&lt;br /&gt;
Offending elves by attempting to trade wooden items normally causes them to angrily refuse further trade that year and leave early. ''Repeatedly'' offending elves by attempting to trade wooden items may cause them to attack your fortress with an [[ambush]], which may later evolve into a full [[siege]].&lt;br /&gt;
&lt;br /&gt;
Elves appear as usually thin and/or frail humanoids similar to humans, but with pointy ears and modest facial hair. Like [[goblin]]s, they are biologically [[immortal]] and will only die to violence and disease, and also similarly to goblins, this tends to result in high populations. Their life of harmony with the land and its wild beauty and creatures (due to elven civs possessing the {{token|AT_PEACE_WITH_WILDLIFE|e}} token) leads to them often settling in [[savage|high-savagery]] regions. Elves speak the [[Main:Elven language|elven language]].&lt;br /&gt;
&lt;br /&gt;
Some &amp;lt;s&amp;gt;stupid, useless, tree-fondling traitors&amp;lt;/s&amp;gt; ''highly misguided'' dwarves [[Preferences|like]] elves for their ''grace''.&lt;br /&gt;
&lt;br /&gt;
[[File:Lafo-sarasti.jpg|thumb|Artist rendering of an elf by Mechlin ([http://www.bay12forums.com/smf/index.php?topic=169691.msg7701761#msg7701761 post])]]&lt;br /&gt;
&lt;br /&gt;
==Fortress mode==&lt;br /&gt;
===Diplomats===&lt;br /&gt;
Once your fort has a [[baron]], elven civilizations in diplomatic contact send a [[Diplomat#Elven diplomats|diplomat]] to [[Meeting|meet]] with them approximately halfway through the first month in [[Calendar|spring]].&lt;br /&gt;
&lt;br /&gt;
If this is their first visit to your fort and you aren't at war with their civilization, the diplomat will either congratulate you for your respect for the trees, or, in the more-likely event that you've cut even one down, chastise you for your disrespect. At some point, the diplomat may revisit your fortress to establish a treecutting quota, requesting that the dwarves keep the amount of trees cut down to a variable quota. It is possible to negotiate for a higher number, and the quota seems to be affected by your noble's [[Zone#Quality_and_value|office quality]], [[stress]], and [[social skill]]s. If the player agrees to a treecutting quota, it will be visible after selecting the elves in [[Civilization and World Info|the Civilizations screen]], {{menu icon|Y}}. This quota lasts until the next year's meeting, and keeping to it will improve [[Diplomacy|diplomatic relations]], while violating it will worsen them and can lead to all-out [[war]], as will rejecting a quota entirely. '''However, agreeing and sticking to a quota in one year, and then denying any agreement in the next, will keep the relationship in a state of &amp;quot;alliance&amp;quot;, allowing your dwarves to raze entire forests every second year without the elves getting unhappy about it.'''&lt;br /&gt;
&lt;br /&gt;
Note that the quota is measured in trees, not logs, so be sure to fell only the largest trees on your map to get the most out of your agreement. The elves also do not care if you damage saplings that haven't yet properly developed a trunk. Elves do, however, (''misguidedly enough?'')care about [[Tree#Underground trees|tree-like subterranean fungus]] like [[tower-cap]]s and [[tunnel tube]]s; cutting fungus &amp;quot;trees&amp;quot; down does count toward your quota. How many trees they will allow can be adjusted in the [[Difficulty#Tree_quota|difficulty]] [[settings]].&lt;br /&gt;
&lt;br /&gt;
In addition to haggling over tree-cutting quotas, these meetings work like any other diplomatic [[meeting]]. Your [[Civilization and World Info|civilization screen]] will be updated with new info from the world, and depending on relations the diplomat may come to declare [[war]] or sue for peace.&lt;br /&gt;
&lt;br /&gt;
=== Elven caravans  ===&lt;br /&gt;
Friendly elven civilizations send a [[caravan]] in late spring bringing a mix of natural trade goods, such as tamed animals, plant clothes, and various [[Wood#Grown_wood|grown wood]] objects.&lt;br /&gt;
&lt;br /&gt;
==== Trading ====&lt;br /&gt;
{{main|Trading#Unacceptable items|l1=Unacceptable items}}&lt;br /&gt;
Elven traders are very picky about what items they will accept, and consider most items made from wood or animal byproducts to be unethical, often rejecting items merely for requiring wood or ash in their preparation. Offering them even one of these items, either in a trade or as a gift, will cause their trader to insult you and leave in a huff, ending trading for that year and damaging your diplomatic relationship with their [[civilization]]. In general, items made from [[stone]], [[metal]], [[Gem|gemstone]], non-woody [[plant]]s, or [[silk]] are acceptable, as are live animals or &amp;quot;grown&amp;quot; wooden items (generally only available from elves), but even these items can be rendered taboo with inappropriate «[[decoration]]s» or by containing or being contained in an inappropriate item.&lt;br /&gt;
&lt;br /&gt;
The [[Trading]] article has specific info on [[Trading#Unacceptable items|taboo]] and [[Trading#Acceptable items|accepted]] items.&lt;br /&gt;
&lt;br /&gt;
==== Stock====&lt;br /&gt;
[[File:grown_weapon_sprites_preview.png|thumb|142px|right|Some sprites of naturally grown elven weapons, although some standard wooden weapons will also use these sprites.]]Elven caravans will never have stone, metal, or animal products. Aside from those, you can expect an average elven caravan to have:&lt;br /&gt;
&lt;br /&gt;
* [[Wood]]en [[log]]s: Always useful, unless you are in a forest [[biome]] and ''already'' drowning in wooden logs. The quantity depends on how many logs you have already: lower means more. However, caravans with grown logs tend to be rare.&lt;br /&gt;
* [[Plant]]-based [[food]], both from [[crop]]s and picked from [[tree]]s. These can be handy for avoiding negative [[thought]]s from eating or drinking the same old thing, or satisfying a dwarf's unusual [[preference]]. They can also be a source of [[seed]]s for your own [[Tile attributes|above-ground]] [[Farming|farm]]s, if you live in a compatible [[biome]].&lt;br /&gt;
* Wooden containers: [[chest]]s, [[cage]]s, [[bucket]]s, and [[barrel]]s. These are usually cheap if not decorated and useful in bulk, but even if you don't have access to wood and don't want to waste metal, there are stone, clay, and glass alternatives that you can easily make on your own.&lt;br /&gt;
* Soil types: [[sand]] in bags, various types of [[clay]]. Unfortunately, they don't bring enough of either for large-scale production of either [[ceramic]] or [[glass]], and neither of these are very important to have in small quantities. A bit of sand can be used to make raw glass, which is occasionally demanded by dwarves in a [[strange mood]], but other races can sell you that cheaply without needing an intervening step.&lt;br /&gt;
* [[Bag]]s and [[rope]]s made from plant cloth. A few extra bags never hurt, but plant cloth bags are a bit expensive.&lt;br /&gt;
* A few above-ground tame animals in wooden cages. It may be [[opossum|a]] [[stoat|disappointingly]] [[fox|useless]] [[hoary marmot|animal]] or [[Giant badger|an]] [[Giant tiger|incredibly]] [[Giant elephant|awesome]] [[Giant eagle|one]]. Elves bring animals from the environment surrounding their settlements, so you may be able to guess what they will bring next. Elves who live in [[Surroundings|savage]] [[Biome|tropical]] lands bring the best ones. Exotic animals are considered fully tame and will never require [[Animal trainer|training]].&lt;br /&gt;
* Caged tame [[vermin]]. These are only even slightly useful for pleasing dwarves with a [[preference]] for that specific type of vermin, and they may even [[Hateable|annoy other dwarves]]. The vermin itself is probably worthless, but the possibly-useful cage comes included.&lt;br /&gt;
* [[Plant fiber]] [[thread]], [[cloth]], and [[clothing]]. These are mainly useful for jumpstarting or replacing a [[textile industry]]. Elves wear and sell the same-sized clothing as dwarves, and may sell cosmetically-different &amp;quot;foreign&amp;quot; clothes items like turbans, skirts, or sandals.&lt;br /&gt;
* Plant cloth [[quiver]]s. Dwarves can't make quivers out of plant cloth, but they can easily make them out of [[leather]]. &lt;br /&gt;
* Wooden [[crutch]]es and [[Health care#Splints|splint]]s. Easy to make, but just as easy to forget, and they're fairly cheap.&lt;br /&gt;
* Wooden [[armor]] and [[weapon]]s. This includes weapons and armor dwarves can't normally make out of wood, but wood melee weapons and armor are [[Material science#Material and item properties|basically useless in combat]]. You can use elven melee weapons to [[Training|train]] with before making proper weapons, but that's probably not worth bothering with.&lt;br /&gt;
* [[Bow]]s and [[arrow]]s, both made of wood. While dwarves can't make bows, it's very easy to make your own superior [[crossbow]]s and [[bolt]]s from wood, [[bone]], or [[metal]]. Bows are less dependent on material or quality than melee weapons, which makes them a bit more useful than most weapons bought from traders. Unfortunately, bows use a separate [[combat skill]] from crossbows, can't be used for [[hunting]], and leave you reliant on trade with or [[Goblinite|scavenging from]] non-dwarven civilizations for [[arrow]] ammunition. &lt;br /&gt;
* Miscellaneous other [[finished goods]] made from wood or plant fiber. These might include [[instrument]]s that dwarves cannot make or copies of new [[book]]s, but other items are only marginally useful at best. Note that instrument ''parts'' are useless, since your dwarves do not know how to assemble them into a completed instrument unless they already knew how to make that instrument in the first place.&lt;br /&gt;
&lt;br /&gt;
Unless you have a shortage of something, the main unique goods elves can bring are foreign plants (especially ones you can then grow yourself), foreign tame animals (especially large war-trainable carnivores), or possibly foreign instruments or new books. Everything else is relatively easy to produce on your own, and as with all traders, any dwarf with any amount of relevant crafting [[skill]] at all will make as-good- or better-[[quality]] items.&lt;br /&gt;
&lt;br /&gt;
All wooden products made by elves are called &amp;quot;grown&amp;quot;. Unlike regular wood, these may be traded back to the elves without repercussions; otherwise, they are identical to the wood items that you can produce.&lt;br /&gt;
&lt;br /&gt;
==Ethics==&lt;br /&gt;
[[File:Stasost-sarasti.jpg|thumb|right|300px|Artist rendering of an elf by Mechlin ([http://www.bay12forums.com/smf/index.php?topic=169691.msg7701761#msg7701761 post])]]&lt;br /&gt;
&lt;br /&gt;
Elven [[civilization]]s' [[ethics]] often differ from those of other races. Their position on moral philosophy will likely put them at odds with [[human]]s, [[goblin]]s, [[dwarf|dwarves]], and sometimes [[kobold]]s and [[animal people]], although they favor war with goblins over other races. Their settlement of [[savage]] lands likewise leads to animal people often joining their ranks. At any given point in time, elves and dwarves are likely to be at peace, but it is certainly possible for an elven civilization to be at war with a dwarven one at the end of worldgen. Use the tab button when selecting an [[embark]] site to view whether elves are at war with the currently selected dwarven culture, and cycle dwarven cultures to find out. &lt;br /&gt;
&lt;br /&gt;
Elves are the only race which wholeheartedly accepts the devouring of enemy combatants. Looking in legends mode shows that an elven combatant will sometimes devour the other person they were fighting when they win. In spite of this, elves refuse to butcher and consume intelligent beings under other conditions. Elves find torture as an example acceptable, but condemn other forms of torture and consider torturing for information misguided. To elves, keeping any trophy of any kind is an unthinkable act. In world generation, their position on cannibalism is particularly notable for driving conflicts with other civilizations.&lt;br /&gt;
&lt;br /&gt;
Elves begrudgingly allow for killing animals when done in self-defense, and the killing of fellow elves is justified if there is an extremely good reason for doing so. For elves, the killing of plants, ''especially'' trees, is unthinkable, on the other hand, the killing of neutral beings and enemies is acceptable. Elven society seems to be regulated by shame from the community, rather than by threat of punishment; as such, elves never offer serious or capital punishment to criminals; instead, elves found to have committed vandalism, trespassing or theft are reprimanded, while those convicted of treason, lying, oath-breaking, assault or participating in slavery are forced into exile.&lt;br /&gt;
&lt;br /&gt;
Elves [[Personality value|value]] nature above all, and they also place a degree of value on family, eloquence, cunning, artwork, fairness, merriment, competition, and romance, but they do not especially respect commerce and have a dislike for self-control. However, even an elf can be &amp;quot;annoyed caught in the rain&amp;quot;, as inconsistent as that may be with their respect for nature.&lt;br /&gt;
&lt;br /&gt;
(Note that these are merely the ethics of elven ''civilizations''. Elves may adopt the cultures of other races via wandering individuals joining civilizations, or when conquest absorbs elves into another civilization. Sentient creatures adopt the values and ethics of their culture, subject to personal variation. Elves born among, [[Main:Cacame Awemedinade|or even leading]], dwarves may adopt dwarven ethics and values, and vice versa.)&lt;br /&gt;
&lt;br /&gt;
As ghastly as the concept may be, elven cultures have become more powerful since the days of [[Main:Tholtig|Tholtig Cryptbrain]], and it is entirely possible for one or more dwarven civilizations to be extinct due to elven aggression. What elves lack in engineering, crafting, or [[Soaper|hygiene]], they make up for in raw, unwashed numbers, and once-mighty dwarven civilizations may crumble to hordes of soldiers and great beasts alike. Immortality also allows elven [[historical figure]]s to continually develop their skills throughout history. Even more troubling is their employment of [[Mercenary|mercenaries]], often much better equipped than the elves themselves. Embarking with (possibly homeless wandering survivor) dwarves claiming to be from that civilization is possible, but always starts at war with the elves that claimed the lives of those tragically unfortunate dwarves' friends, and you may not get migrants.&lt;br /&gt;
&lt;br /&gt;
==In combat==&lt;br /&gt;
Elves by themselves are rarely considered a threat due to their insistence in using equipment purely made out of wood in battle, which is only marginally better than fighting unarmed and generally stands no chance against a half-competent, metal-clad dwarven militia [see [[Material_science|Material science]] for more info]. However, elves will also employ [[Mercenary|mercenaries]], often much better equipped than the elves themselves. &lt;br /&gt;
During [[Siege#Elven_sieges|sieges]] their archers and potential numbers (like goblins, their ageless immortality means very high populations) can still be dangerous, and perhaps the greatest threat they pose is if they bring tamed animals along with them, which may range from easily dispatched creatures to [[Giant elephant|huge]][[Tiger| sources]][[unicorn| of]][[Grizzly bear| fun]] depending upon what animals their civ has access to, which in theory can include any exotic land animal including giant variants.&lt;br /&gt;
&lt;br /&gt;
==Community outlook==	&lt;br /&gt;
Due to ''Dwarf Fortress'' making ample use of the ''wood-elven'', or &amp;quot;elves as stuck-up jerks who live in trees&amp;quot; stereotype (which is especially noticeable when talking to their diplomats), the race as a whole tends to be widely [[Unfortunate accident|disliked]] by players, who aren't too happy about said stuck-up jerks trying to tell their dwarves how to live their lives and who will gladly ambush &amp;lt;s&amp;gt;and likely eat&amp;lt;/s&amp;gt; dwarven children while they play in the woods. &lt;br /&gt;
However, due to their wooden weaponry only being ''really'' effective on said children and unarmed dwarves, elves have a reputation among the community of being all-''bark''-and-no-bite wimps who serve as the perfect punching bags to be on the receiving end of whatever [[stupid dwarf trick]] the fortress is currently conducting, especially if it's a particularly [[Fun|violent]] one - many gruesome stories involve at least one elf as the victim. The elves' nigh-religious devotion to trees is also a point of note; many players will go as far as to raze their map clean of trees, for no reason but to spite the elves and provoke them into attacking, just for the chance to slaughter them all. &lt;br /&gt;
&lt;br /&gt;
Unlike many other fantasy settings, ''Dwarf Fortress'' elves have very few redeeming characteristics (they aren't any more attractive than a dwarf, human or goblin, [http://tolkiengateway.net/wiki/Celebrimbor aren't good smiths], and don't have any superhuman abilities beyond biological [[immortality]], a peculiar ability to walk through grass and other ground covering plants without disturbing them, and a (currently) off-screen ability to &amp;quot;shape&amp;quot; wood via magic - one of their few other saving graces is their potential to provide fully-tamed exotic animals for trade), though most long-time players play their antics for laughs, resulting in them essentially being the community's collective chew-toys. Many players will take on a Tolkien (''or, more likely, Warhammer Fantasy'')-esque dwarven spirit of hatred towards elves, slaughtering them for their actions against dwarven kind; or perhaps, compelled by some god of murder for the simple glee of the resulting elven blood rain. Being compared to an elf is particularly insulting, as it implies you're an unwashed, tree-loving, cannibalistic hippie (''or, as [[Dwarf#Community_outlook|some have said]], the kind of being that's prone to sitting around and living '''in''' the world, rather than acting upon it''). That's not to say that elves are universally disliked, however: some have earned the liking of the player base, typically due to them being part of a dwarven civilization (and as such, not acting like elves), with [[Main:Cacame Awemedinade|Cacame Awemedinade]] being one of the community's most well-known and beloved characters.&lt;br /&gt;
&lt;br /&gt;
{{gamedata}}&lt;br /&gt;
{{gamedata|title=Entity ([[civilization]]) Raws|{{raw|v50:entity_default.txt|ENTITY|FOREST}}}}&lt;br /&gt;
{{Creatures}}&lt;br /&gt;
{{Category|Races}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Elf&amp;diff=315612</id>
		<title>Elf</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Elf&amp;diff=315612"/>
		<updated>2026-03-26T02:32:42Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Ethics */ Elaborate on some game effects&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior|11:04, 25 February 2023 (CST)}}&lt;br /&gt;
{{Creaturelookup/0&lt;br /&gt;
|image=Elf_sprite.png&lt;br /&gt;
|portrait=elf_portrait_anim.gif&lt;br /&gt;
|wiki=yes}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{creaturedesc}}&lt;br /&gt;
&lt;br /&gt;
{{D for Dwarf}} &lt;br /&gt;
&lt;br /&gt;
'''Elves''' (singular, '''Elf''') are &amp;lt;s&amp;gt;smelly, stuck-up, arrogant [[tree]]-fondling hippies&amp;lt;/s&amp;gt; intelligent [[Creature|humanoids]] dedicated to the protection of ''their'' concept of nature (centered around trees, and the worship of certain natural [[force]]s that permeate the forests, as opposed to the [[deities]] worshipped by other races). They are one of the main [[civilization]]s of the game, featured in [[fortress mode]] and playable in [[adventurer mode]].&lt;br /&gt;
&lt;br /&gt;
By default, they are often allies of [[dwarves]] and [[humans]], however, elves' conflicting view on nature compared to other races can create tension between them and their erstwhile allies. Elves often prefer using grown wood (and sometimes glass) for their weapons and armor, which do very little damage and offers little protection respectively compared to metal. If you go to war with them, you'll find that their primary danger comes from their numbers, archers, and dangerous tamed animals that may [[Mount|accompany]] them.&lt;br /&gt;
&lt;br /&gt;
In fortress mode, &amp;lt;s&amp;gt;hippie wagons&amp;lt;/s&amp;gt; elven caravans arrive in late spring, bringing only [[plant]]s and their own &amp;quot;grown&amp;quot; [[wood]]-related items, [[cage]]d tame animals, or various types of [[clay]] and [[sand]]. When trading with elves, unless the player seeks to intentionally antagonize them, they must be very careful to not offer any wooden objects/animal-derived goods - [[#Trading|see here for specifics]]. You may also steal from them, or even kill them, without fear of immediate repercussion, as elven caravans are unguarded, and merchants will not resist if you seize their goods, or competently fight back if attacked.  &lt;br /&gt;
&lt;br /&gt;
Offending elves by attempting to trade wooden items normally causes them to angrily refuse further trade that year and leave early. ''Repeatedly'' offending elves by attempting to trade wooden items may cause them to attack your fortress with an [[ambush]], which may later evolve into a full [[siege]].&lt;br /&gt;
&lt;br /&gt;
Elves appear as usually thin and/or frail humanoids similar to humans, but with pointy ears and modest facial hair. Like [[goblin]]s, they are biologically [[immortal]] and will only die to violence and disease, and also similarly to goblins, this tends to result in high populations. Their life of harmony with the land and its wild beauty and creatures (due to elven civs possessing the {{token|AT_PEACE_WITH_WILDLIFE|e}} token) leads to them often settling in [[savage|high-savagery]] regions. Elves speak the [[Main:Elven language|elven language]].&lt;br /&gt;
&lt;br /&gt;
Some &amp;lt;s&amp;gt;stupid, useless, tree-fondling traitors&amp;lt;/s&amp;gt; ''highly misguided'' dwarves [[Preferences|like]] elves for their ''grace''.&lt;br /&gt;
&lt;br /&gt;
[[File:Lafo-sarasti.jpg|thumb|Artist rendering of an elf by Mechlin ([http://www.bay12forums.com/smf/index.php?topic=169691.msg7701761#msg7701761 post])]]&lt;br /&gt;
&lt;br /&gt;
==Fortress mode==&lt;br /&gt;
===Diplomats===&lt;br /&gt;
Once your fort has a [[baron]], elven civilizations in diplomatic contact send a [[Diplomat#Elven diplomats|diplomat]] to [[Meeting|meet]] with them approximately halfway through the first month in [[Calendar|spring]].&lt;br /&gt;
&lt;br /&gt;
If this is their first visit to your fort and you aren't at war with their civilization, the diplomat will either congratulate you for your respect for the trees, or, in the more-likely event that you've cut even one down, chastise you for your disrespect. At some point, the diplomat may revisit your fortress to establish a treecutting quota, requesting that the dwarves keep the amount of trees cut down to a variable quota. It is possible to negotiate for a higher number, and the quota seems to be affected by your noble's [[Zone#Quality_and_value|office quality]], [[stress]], and [[social skill]]s. If the player agrees to a treecutting quota, it will be visible after selecting the elves in [[Civilization and World Info|the Civilizations screen]], {{menu icon|Y}}. This quota lasts until the next year's meeting, and keeping to it will improve [[Diplomacy|diplomatic relations]], while violating it will worsen them and can lead to all-out [[war]], as will rejecting a quota entirely. '''However, agreeing and sticking to a quota in one year, and then denying any agreement in the next, will keep the relationship in a state of &amp;quot;alliance&amp;quot;, allowing your dwarves to raze entire forests every second year without the elves getting unhappy about it.'''&lt;br /&gt;
&lt;br /&gt;
Note that the quota is measured in trees, not logs, so be sure to fell only the largest trees on your map to get the most out of your agreement. The elves also do not care if you damage saplings that haven't yet properly developed a trunk. Elves do, however, (''misguidedly enough?'')care about [[Tree#Underground trees|tree-like subterranean fungus]] like [[tower-cap]]s and [[tunnel tube]]s; cutting fungus &amp;quot;trees&amp;quot; down does count toward your quota. How many trees they will allow can be adjusted in the [[Difficulty#Tree_quota|difficulty]] [[settings]].&lt;br /&gt;
&lt;br /&gt;
In addition to haggling over tree-cutting quotas, these meetings work like any other diplomatic [[meeting]]. Your [[Civilization and World Info|civilization screen]] will be updated with new info from the world, and depending on relations the diplomat may come to declare [[war]] or sue for peace.&lt;br /&gt;
&lt;br /&gt;
=== Elven caravans  ===&lt;br /&gt;
Friendly elven civilizations send a [[caravan]] in late spring bringing a mix of natural trade goods, such as tamed animals, plant clothes, and various [[Wood#Grown_wood|grown wood]] objects.&lt;br /&gt;
&lt;br /&gt;
==== Trading ====&lt;br /&gt;
{{main|Trading#Unacceptable items|l1=Unacceptable items}}&lt;br /&gt;
Elven traders are very picky about what items they will accept, and consider most items made from wood or animal byproducts to be unethical, often rejecting items merely for requiring wood or ash in their preparation. Offering them even one of these items, either in a trade or as a gift, will cause their trader to insult you and leave in a huff, ending trading for that year and damaging your diplomatic relationship with their [[civilization]]. In general, items made from [[stone]], [[metal]], [[Gem|gemstone]], non-woody [[plant]]s, or [[silk]] are acceptable, as are live animals or &amp;quot;grown&amp;quot; wooden items (generally only available from elves), but even these items can be rendered taboo with inappropriate «[[decoration]]s» or by containing or being contained in an inappropriate item.&lt;br /&gt;
&lt;br /&gt;
The [[Trading]] article has specific info on [[Trading#Unacceptable items|taboo]] and [[Trading#Acceptable items|accepted]] items.&lt;br /&gt;
&lt;br /&gt;
==== Stock====&lt;br /&gt;
[[File:grown_weapon_sprites_preview.png|thumb|142px|right|Some sprites of naturally grown elven weapons, although some standard wooden weapons will also use these sprites.]]Elven caravans will never have stone, metal, or animal products. Aside from those, you can expect an average elven caravan to have:&lt;br /&gt;
&lt;br /&gt;
* [[Wood]]en [[log]]s: Always useful, unless you are in a forest [[biome]] and ''already'' drowning in wooden logs. The quantity depends on how many logs you have already: lower means more. However, caravans with grown logs tend to be rare.&lt;br /&gt;
* [[Plant]]-based [[food]], both from [[crop]]s and picked from [[tree]]s. These can be handy for avoiding negative [[thought]]s from eating or drinking the same old thing, or satisfying a dwarf's unusual [[preference]]. They can also be a source of [[seed]]s for your own [[Tile attributes|above-ground]] [[Farming|farm]]s, if you live in a compatible [[biome]].&lt;br /&gt;
* Wooden containers: [[chest]]s, [[cage]]s, [[bucket]]s, and [[barrel]]s. These are usually cheap if not decorated and useful in bulk, but even if you don't have access to wood and don't want to waste metal, there are stone, clay, and glass alternatives that you can easily make on your own.&lt;br /&gt;
* Soil types: [[sand]] in bags, various types of [[clay]]. Unfortunately, they don't bring enough of either for large-scale production of either [[ceramic]] or [[glass]], and neither of these are very important to have in small quantities. A bit of sand can be used to make raw glass, which is occasionally demanded by dwarves in a [[strange mood]], but other races can sell you that cheaply without needing an intervening step.&lt;br /&gt;
* [[Bag]]s and [[rope]]s made from plant cloth. A few extra bags never hurt, but plant cloth bags are a bit expensive.&lt;br /&gt;
* A few above-ground tame animals in wooden cages. It may be [[opossum|a]] [[stoat|disappointingly]] [[fox|useless]] [[hoary marmot|animal]] or [[Giant badger|an]] [[Giant tiger|incredibly]] [[Giant elephant|awesome]] [[Giant eagle|one]]. Elves bring animals from the environment surrounding their settlements, so you may be able to guess what they will bring next. Elves who live in [[Surroundings|savage]] [[Biome|tropical]] lands bring the best ones. Exotic animals are considered fully tame and will never require [[Animal trainer|training]].&lt;br /&gt;
* Caged tame [[vermin]]. These are only even slightly useful for pleasing dwarves with a [[preference]] for that specific type of vermin, and they may even [[Hateable|annoy other dwarves]]. The vermin itself is probably worthless, but the possibly-useful cage comes included.&lt;br /&gt;
* [[Plant fiber]] [[thread]], [[cloth]], and [[clothing]]. These are mainly useful for jumpstarting or replacing a [[textile industry]]. Elves wear and sell the same-sized clothing as dwarves, and may sell cosmetically-different &amp;quot;foreign&amp;quot; clothes items like turbans, skirts, or sandals.&lt;br /&gt;
* Plant cloth [[quiver]]s. Dwarves can't make quivers out of plant cloth, but they can easily make them out of [[leather]]. &lt;br /&gt;
* Wooden [[crutch]]es and [[Health care#Splints|splint]]s. Easy to make, but just as easy to forget, and they're fairly cheap.&lt;br /&gt;
* Wooden [[armor]] and [[weapon]]s. This includes weapons and armor dwarves can't normally make out of wood, but wood melee weapons and armor are [[Material science#Material and item properties|basically useless in combat]]. You can use elven melee weapons to [[Training|train]] with before making proper weapons, but that's probably not worth bothering with.&lt;br /&gt;
* [[Bow]]s and [[arrow]]s, both made of wood. While dwarves can't make bows, it's very easy to make your own superior [[crossbow]]s and [[bolt]]s from wood, [[bone]], or [[metal]]. Bows are less dependent on material or quality than melee weapons, which makes them a bit more useful than most weapons bought from traders. Unfortunately, bows use a separate [[combat skill]] from crossbows, can't be used for [[hunting]], and leave you reliant on trade with or [[Goblinite|scavenging from]] non-dwarven civilizations for [[arrow]] ammunition. &lt;br /&gt;
* Miscellaneous other [[finished goods]] made from wood or plant fiber. These might include [[instrument]]s that dwarves cannot make or copies of new [[book]]s, but other items are only marginally useful at best. Note that instrument ''parts'' are useless, since your dwarves do not know how to assemble them into a completed instrument unless they already knew how to make that instrument in the first place.&lt;br /&gt;
&lt;br /&gt;
Unless you have a shortage of something, the main unique goods elves can bring are foreign plants (especially ones you can then grow yourself), foreign tame animals (especially large war-trainable carnivores), or possibly foreign instruments or new books. Everything else is relatively easy to produce on your own, and as with all traders, any dwarf with any amount of relevant crafting [[skill]] at all will make as-good- or better-[[quality]] items.&lt;br /&gt;
&lt;br /&gt;
All wooden products made by elves are called &amp;quot;grown&amp;quot;. Unlike regular wood, these may be traded back to the elves without repercussions; otherwise, they are identical to the wood items that you can produce.&lt;br /&gt;
&lt;br /&gt;
==Ethics==&lt;br /&gt;
[[File:Stasost-sarasti.jpg|thumb|right|300px|Artist rendering of an elf by Mechlin ([http://www.bay12forums.com/smf/index.php?topic=169691.msg7701761#msg7701761 post])]]&lt;br /&gt;
&lt;br /&gt;
Elven [[civilization]]s' [[ethics]] often differ from those of other races. Their position on moral philosophy will likely put them at odds with [[human]]s, [[goblin]]s, [[dwarf|dwarves]], and sometimes [[kobold]]s and [[animal people]], although they favor war with goblins over other races. Their settlement of [[savage]] lands likewise leads to animal people often joining their ranks. At any given point in time, elves and dwarves are likely to be at peace, but it is certainly possible for an elven civilization to be at war with a dwarven one at the end of worldgen. Use the tab button when selecting an [[embark]] site to view whether elves are at war with the currently selected dwarven culture, and cycle dwarven cultures to find out. &lt;br /&gt;
&lt;br /&gt;
Elves are the only race which wholeheartedly accepts the devouring of enemy combatants. Looking in legends mode shows that an elven combatant will sometimes devour the other person they were fighting when they win. In spite of this, elves refuse to butcher and consume intelligent beings under other conditions. Elves find torture as an example acceptable, but condemn other forms of torture and consider torturing for information misguided. To elves, keeping any trophy of any kind is an unthinkable act. In world generation, their position on cannibalism is particularly notable for driving conflicts with other civilizations.&lt;br /&gt;
&lt;br /&gt;
Elves begrudgingly allow for killing animals when done in self-defense, and the killing of fellow elves is justified if there is an extremely good reason for doing so. For elves, the killing of plants, ''especially'' trees, is unthinkable, on the other hand, the killing of neutral beings and enemies is acceptable. Elven society seems to be regulated by shame from the community, rather than by threat of punishment; as such, elves never offer serious or capital punishment to criminals; instead, elves found to have committed vandalism, trespassing or theft are reprimanded, while those convicted of treason, lying, oath-breaking, assault or participating in slavery are forced into exile.&lt;br /&gt;
&lt;br /&gt;
Elves [[Personality value|value]] nature above all, and they also place a degree of value on family, eloquence, cunning, artwork, fairness, merriment, competition, and romance, but they do not especially respect commerce and have a dislike for self-control. However, even an elf can be &amp;quot;annoyed caught in the rain&amp;quot;, as inconsistent as that may be with their respect for nature.&lt;br /&gt;
&lt;br /&gt;
(Note that these are merely the ethics of elven ''civilizations''. Elves may adopt the cultures of other races via wandering individuals joining civilizations, or when conquest absorbs elves into another civilization. Sentient creatures adopt the values and ethics of their culture, subject to personal variation. Elves born among, [[Main:Cacame Awemedinade|or even leading]], dwarves may adopt dwarven ethics and values, and vice versa.)&lt;br /&gt;
&lt;br /&gt;
As ghastly as the concept may be, elven cultures have become more powerful since the days of [[Main:Tholtig|Tholtig Cryptbrain]], and it is entirely possible for one or more dwarven civilizations to be extinct due to elven aggression. What elves lack in engineering, crafting, or [[Soap maker|hygiene]], they make up for in raw, unwashed numbers, and once-mighty dwarven civilizations may crumble to hordes of soldiers and great beasts alike. Immortality also allows elven [[historical figure]]s to continually develop their skills throughout history. Even more troubling is their employment of [[Mercenary|mercenaries]], often much better equipped than the elves themselves. Embarking with (possibly homeless wandering survivor) dwarves claiming to be from that civilization is possible, but always starts at war with the elves that claimed the lives of those tragically unfortunate dwarves' friends, and you may not get migrants.&lt;br /&gt;
&lt;br /&gt;
==In combat==&lt;br /&gt;
Elves by themselves are rarely considered a threat due to their insistence in using equipment purely made out of wood in battle, which is only marginally better than fighting unarmed and generally stands no chance against a half-competent, metal-clad dwarven militia [see [[Material_science|Material science]] for more info]. However, elves will also employ [[Mercenary|mercenaries]], often much better equipped than the elves themselves. &lt;br /&gt;
During [[Siege#Elven_sieges|sieges]] their archers and potential numbers (like goblins, their ageless immortality means very high populations) can still be dangerous, and perhaps the greatest threat they pose is if they bring tamed animals along with them, which may range from easily dispatched creatures to [[Giant elephant|huge]][[Tiger| sources]][[unicorn| of]][[Grizzly bear| fun]] depending upon what animals their civ has access to, which in theory can include any exotic land animal including giant variants.&lt;br /&gt;
&lt;br /&gt;
==Community outlook==	&lt;br /&gt;
Due to ''Dwarf Fortress'' making ample use of the ''wood-elven'', or &amp;quot;elves as stuck-up jerks who live in trees&amp;quot; stereotype (which is especially noticeable when talking to their diplomats), the race as a whole tends to be widely [[Unfortunate accident|disliked]] by players, who aren't too happy about said stuck-up jerks trying to tell their dwarves how to live their lives and who will gladly ambush &amp;lt;s&amp;gt;and likely eat&amp;lt;/s&amp;gt; dwarven children while they play in the woods. &lt;br /&gt;
However, due to their wooden weaponry only being ''really'' effective on said children and unarmed dwarves, elves have a reputation among the community of being all-''bark''-and-no-bite wimps who serve as the perfect punching bags to be on the receiving end of whatever [[stupid dwarf trick]] the fortress is currently conducting, especially if it's a particularly [[Fun|violent]] one - many gruesome stories involve at least one elf as the victim. The elves' nigh-religious devotion to trees is also a point of note; many players will go as far as to raze their map clean of trees, for no reason but to spite the elves and provoke them into attacking, just for the chance to slaughter them all. &lt;br /&gt;
&lt;br /&gt;
Unlike many other fantasy settings, ''Dwarf Fortress'' elves have very few redeeming characteristics (they aren't any more attractive than a dwarf, human or goblin, [http://tolkiengateway.net/wiki/Celebrimbor aren't good smiths], and don't have any superhuman abilities beyond biological [[immortality]], a peculiar ability to walk through grass and other ground covering plants without disturbing them, and a (currently) off-screen ability to &amp;quot;shape&amp;quot; wood via magic - one of their few other saving graces is their potential to provide fully-tamed exotic animals for trade), though most long-time players play their antics for laughs, resulting in them essentially being the community's collective chew-toys. Many players will take on a Tolkien (''or, more likely, Warhammer Fantasy'')-esque dwarven spirit of hatred towards elves, slaughtering them for their actions against dwarven kind; or perhaps, compelled by some god of murder for the simple glee of the resulting elven blood rain. Being compared to an elf is particularly insulting, as it implies you're an unwashed, tree-loving, cannibalistic hippie (''or, as [[Dwarf#Community_outlook|some have said]], the kind of being that's prone to sitting around and living '''in''' the world, rather than acting upon it''). That's not to say that elves are universally disliked, however: some have earned the liking of the player base, typically due to them being part of a dwarven civilization (and as such, not acting like elves), with [[Main:Cacame Awemedinade|Cacame Awemedinade]] being one of the community's most well-known and beloved characters.&lt;br /&gt;
&lt;br /&gt;
{{gamedata}}&lt;br /&gt;
{{gamedata|title=Entity ([[civilization]]) Raws|{{raw|v50:entity_default.txt|ENTITY|FOREST}}}}&lt;br /&gt;
{{Creatures}}&lt;br /&gt;
{{Category|Races}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Elf&amp;diff=315611</id>
		<title>Elf</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Elf&amp;diff=315611"/>
		<updated>2026-03-26T02:17:56Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior|11:04, 25 February 2023 (CST)}}&lt;br /&gt;
{{Creaturelookup/0&lt;br /&gt;
|image=Elf_sprite.png&lt;br /&gt;
|portrait=elf_portrait_anim.gif&lt;br /&gt;
|wiki=yes}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{creaturedesc}}&lt;br /&gt;
&lt;br /&gt;
{{D for Dwarf}} &lt;br /&gt;
&lt;br /&gt;
'''Elves''' (singular, '''Elf''') are &amp;lt;s&amp;gt;smelly, stuck-up, arrogant [[tree]]-fondling hippies&amp;lt;/s&amp;gt; intelligent [[Creature|humanoids]] dedicated to the protection of ''their'' concept of nature (centered around trees, and the worship of certain natural [[force]]s that permeate the forests, as opposed to the [[deities]] worshipped by other races). They are one of the main [[civilization]]s of the game, featured in [[fortress mode]] and playable in [[adventurer mode]].&lt;br /&gt;
&lt;br /&gt;
By default, they are often allies of [[dwarves]] and [[humans]], however, elves' conflicting view on nature compared to other races can create tension between them and their erstwhile allies. Elves often prefer using grown wood (and sometimes glass) for their weapons and armor, which do very little damage and offers little protection respectively compared to metal. If you go to war with them, you'll find that their primary danger comes from their numbers, archers, and dangerous tamed animals that may [[Mount|accompany]] them.&lt;br /&gt;
&lt;br /&gt;
In fortress mode, &amp;lt;s&amp;gt;hippie wagons&amp;lt;/s&amp;gt; elven caravans arrive in late spring, bringing only [[plant]]s and their own &amp;quot;grown&amp;quot; [[wood]]-related items, [[cage]]d tame animals, or various types of [[clay]] and [[sand]]. When trading with elves, unless the player seeks to intentionally antagonize them, they must be very careful to not offer any wooden objects/animal-derived goods - [[#Trading|see here for specifics]]. You may also steal from them, or even kill them, without fear of immediate repercussion, as elven caravans are unguarded, and merchants will not resist if you seize their goods, or competently fight back if attacked.  &lt;br /&gt;
&lt;br /&gt;
Offending elves by attempting to trade wooden items normally causes them to angrily refuse further trade that year and leave early. ''Repeatedly'' offending elves by attempting to trade wooden items may cause them to attack your fortress with an [[ambush]], which may later evolve into a full [[siege]].&lt;br /&gt;
&lt;br /&gt;
Elves appear as usually thin and/or frail humanoids similar to humans, but with pointy ears and modest facial hair. Like [[goblin]]s, they are biologically [[immortal]] and will only die to violence and disease, and also similarly to goblins, this tends to result in high populations. Their life of harmony with the land and its wild beauty and creatures (due to elven civs possessing the {{token|AT_PEACE_WITH_WILDLIFE|e}} token) leads to them often settling in [[savage|high-savagery]] regions. Elves speak the [[Main:Elven language|elven language]].&lt;br /&gt;
&lt;br /&gt;
Some &amp;lt;s&amp;gt;stupid, useless, tree-fondling traitors&amp;lt;/s&amp;gt; ''highly misguided'' dwarves [[Preferences|like]] elves for their ''grace''.&lt;br /&gt;
&lt;br /&gt;
[[File:Lafo-sarasti.jpg|thumb|Artist rendering of an elf by Mechlin ([http://www.bay12forums.com/smf/index.php?topic=169691.msg7701761#msg7701761 post])]]&lt;br /&gt;
&lt;br /&gt;
==Fortress mode==&lt;br /&gt;
===Diplomats===&lt;br /&gt;
Once your fort has a [[baron]], elven civilizations in diplomatic contact send a [[Diplomat#Elven diplomats|diplomat]] to [[Meeting|meet]] with them approximately halfway through the first month in [[Calendar|spring]].&lt;br /&gt;
&lt;br /&gt;
If this is their first visit to your fort and you aren't at war with their civilization, the diplomat will either congratulate you for your respect for the trees, or, in the more-likely event that you've cut even one down, chastise you for your disrespect. At some point, the diplomat may revisit your fortress to establish a treecutting quota, requesting that the dwarves keep the amount of trees cut down to a variable quota. It is possible to negotiate for a higher number, and the quota seems to be affected by your noble's [[Zone#Quality_and_value|office quality]], [[stress]], and [[social skill]]s. If the player agrees to a treecutting quota, it will be visible after selecting the elves in [[Civilization and World Info|the Civilizations screen]], {{menu icon|Y}}. This quota lasts until the next year's meeting, and keeping to it will improve [[Diplomacy|diplomatic relations]], while violating it will worsen them and can lead to all-out [[war]], as will rejecting a quota entirely. '''However, agreeing and sticking to a quota in one year, and then denying any agreement in the next, will keep the relationship in a state of &amp;quot;alliance&amp;quot;, allowing your dwarves to raze entire forests every second year without the elves getting unhappy about it.'''&lt;br /&gt;
&lt;br /&gt;
Note that the quota is measured in trees, not logs, so be sure to fell only the largest trees on your map to get the most out of your agreement. The elves also do not care if you damage saplings that haven't yet properly developed a trunk. Elves do, however, (''misguidedly enough?'')care about [[Tree#Underground trees|tree-like subterranean fungus]] like [[tower-cap]]s and [[tunnel tube]]s; cutting fungus &amp;quot;trees&amp;quot; down does count toward your quota. How many trees they will allow can be adjusted in the [[Difficulty#Tree_quota|difficulty]] [[settings]].&lt;br /&gt;
&lt;br /&gt;
In addition to haggling over tree-cutting quotas, these meetings work like any other diplomatic [[meeting]]. Your [[Civilization and World Info|civilization screen]] will be updated with new info from the world, and depending on relations the diplomat may come to declare [[war]] or sue for peace.&lt;br /&gt;
&lt;br /&gt;
=== Elven caravans  ===&lt;br /&gt;
Friendly elven civilizations send a [[caravan]] in late spring bringing a mix of natural trade goods, such as tamed animals, plant clothes, and various [[Wood#Grown_wood|grown wood]] objects.&lt;br /&gt;
&lt;br /&gt;
==== Trading ====&lt;br /&gt;
{{main|Trading#Unacceptable items|l1=Unacceptable items}}&lt;br /&gt;
Elven traders are very picky about what items they will accept, and consider most items made from wood or animal byproducts to be unethical, often rejecting items merely for requiring wood or ash in their preparation. Offering them even one of these items, either in a trade or as a gift, will cause their trader to insult you and leave in a huff, ending trading for that year and damaging your diplomatic relationship with their [[civilization]]. In general, items made from [[stone]], [[metal]], [[Gem|gemstone]], non-woody [[plant]]s, or [[silk]] are acceptable, as are live animals or &amp;quot;grown&amp;quot; wooden items (generally only available from elves), but even these items can be rendered taboo with inappropriate «[[decoration]]s» or by containing or being contained in an inappropriate item.&lt;br /&gt;
&lt;br /&gt;
The [[Trading]] article has specific info on [[Trading#Unacceptable items|taboo]] and [[Trading#Acceptable items|accepted]] items.&lt;br /&gt;
&lt;br /&gt;
==== Stock====&lt;br /&gt;
[[File:grown_weapon_sprites_preview.png|thumb|142px|right|Some sprites of naturally grown elven weapons, although some standard wooden weapons will also use these sprites.]]Elven caravans will never have stone, metal, or animal products. Aside from those, you can expect an average elven caravan to have:&lt;br /&gt;
&lt;br /&gt;
* [[Wood]]en [[log]]s: Always useful, unless you are in a forest [[biome]] and ''already'' drowning in wooden logs. The quantity depends on how many logs you have already: lower means more. However, caravans with grown logs tend to be rare.&lt;br /&gt;
* [[Plant]]-based [[food]], both from [[crop]]s and picked from [[tree]]s. These can be handy for avoiding negative [[thought]]s from eating or drinking the same old thing, or satisfying a dwarf's unusual [[preference]]. They can also be a source of [[seed]]s for your own [[Tile attributes|above-ground]] [[Farming|farm]]s, if you live in a compatible [[biome]].&lt;br /&gt;
* Wooden containers: [[chest]]s, [[cage]]s, [[bucket]]s, and [[barrel]]s. These are usually cheap if not decorated and useful in bulk, but even if you don't have access to wood and don't want to waste metal, there are stone, clay, and glass alternatives that you can easily make on your own.&lt;br /&gt;
* Soil types: [[sand]] in bags, various types of [[clay]]. Unfortunately, they don't bring enough of either for large-scale production of either [[ceramic]] or [[glass]], and neither of these are very important to have in small quantities. A bit of sand can be used to make raw glass, which is occasionally demanded by dwarves in a [[strange mood]], but other races can sell you that cheaply without needing an intervening step.&lt;br /&gt;
* [[Bag]]s and [[rope]]s made from plant cloth. A few extra bags never hurt, but plant cloth bags are a bit expensive.&lt;br /&gt;
* A few above-ground tame animals in wooden cages. It may be [[opossum|a]] [[stoat|disappointingly]] [[fox|useless]] [[hoary marmot|animal]] or [[Giant badger|an]] [[Giant tiger|incredibly]] [[Giant elephant|awesome]] [[Giant eagle|one]]. Elves bring animals from the environment surrounding their settlements, so you may be able to guess what they will bring next. Elves who live in [[Surroundings|savage]] [[Biome|tropical]] lands bring the best ones. Exotic animals are considered fully tame and will never require [[Animal trainer|training]].&lt;br /&gt;
* Caged tame [[vermin]]. These are only even slightly useful for pleasing dwarves with a [[preference]] for that specific type of vermin, and they may even [[Hateable|annoy other dwarves]]. The vermin itself is probably worthless, but the possibly-useful cage comes included.&lt;br /&gt;
* [[Plant fiber]] [[thread]], [[cloth]], and [[clothing]]. These are mainly useful for jumpstarting or replacing a [[textile industry]]. Elves wear and sell the same-sized clothing as dwarves, and may sell cosmetically-different &amp;quot;foreign&amp;quot; clothes items like turbans, skirts, or sandals.&lt;br /&gt;
* Plant cloth [[quiver]]s. Dwarves can't make quivers out of plant cloth, but they can easily make them out of [[leather]]. &lt;br /&gt;
* Wooden [[crutch]]es and [[Health care#Splints|splint]]s. Easy to make, but just as easy to forget, and they're fairly cheap.&lt;br /&gt;
* Wooden [[armor]] and [[weapon]]s. This includes weapons and armor dwarves can't normally make out of wood, but wood melee weapons and armor are [[Material science#Material and item properties|basically useless in combat]]. You can use elven melee weapons to [[Training|train]] with before making proper weapons, but that's probably not worth bothering with.&lt;br /&gt;
* [[Bow]]s and [[arrow]]s, both made of wood. While dwarves can't make bows, it's very easy to make your own superior [[crossbow]]s and [[bolt]]s from wood, [[bone]], or [[metal]]. Bows are less dependent on material or quality than melee weapons, which makes them a bit more useful than most weapons bought from traders. Unfortunately, bows use a separate [[combat skill]] from crossbows, can't be used for [[hunting]], and leave you reliant on trade with or [[Goblinite|scavenging from]] non-dwarven civilizations for [[arrow]] ammunition. &lt;br /&gt;
* Miscellaneous other [[finished goods]] made from wood or plant fiber. These might include [[instrument]]s that dwarves cannot make or copies of new [[book]]s, but other items are only marginally useful at best. Note that instrument ''parts'' are useless, since your dwarves do not know how to assemble them into a completed instrument unless they already knew how to make that instrument in the first place.&lt;br /&gt;
&lt;br /&gt;
Unless you have a shortage of something, the main unique goods elves can bring are foreign plants (especially ones you can then grow yourself), foreign tame animals (especially large war-trainable carnivores), or possibly foreign instruments or new books. Everything else is relatively easy to produce on your own, and as with all traders, any dwarf with any amount of relevant crafting [[skill]] at all will make as-good- or better-[[quality]] items.&lt;br /&gt;
&lt;br /&gt;
All wooden products made by elves are called &amp;quot;grown&amp;quot;. Unlike regular wood, these may be traded back to the elves without repercussions; otherwise, they are identical to the wood items that you can produce.&lt;br /&gt;
&lt;br /&gt;
==Ethics==&lt;br /&gt;
[[File:Stasost-sarasti.jpg|thumb|right|300px|Artist rendering of an elf by Mechlin ([http://www.bay12forums.com/smf/index.php?topic=169691.msg7701761#msg7701761 post])]]&lt;br /&gt;
&lt;br /&gt;
Elven [[civilization]]s' [[ethics]] often differ from those of other races. Their position on moral philosophy will likely put them at odds with [[human]]s, [[goblin]]s, [[dwarf|dwarves]], and sometimes [[kobold]]s and [[animal people]], although they favor war with goblins over other races. At any given point in time, elves and dwarves are likely to be at peace, but it is certainly possible for an elven civilization to be at war with a dwarven one at the end of worldgen. Use the tab button when selecting an [[embark]] site to view whether elves are at war with the currently selected dwarven culture, and cycle dwarven cultures to find out. &lt;br /&gt;
&lt;br /&gt;
Elves are the only race which wholeheartedly accepts the devouring of enemy combatants. Looking in legends mode shows that an elven combatant will sometimes devour the other person they were fighting when they win. In spite of this, elves refuse to butcher and consume intelligent beings under other conditions. Elves find torture as an example acceptable, but condemn other forms of torture and consider torturing for information misguided. To elves, keeping any trophy of any kind is an unthinkable act. Elves begrudgingly allow for killing animals when done in self-defense, and the killing of other elves by an elf is justified if there is an extremely good reason for doing so. For elves, the killing of plants, ''especially'' trees, is unthinkable, on the other hand, the killing of neutral beings and enemies is acceptable. Elven society seems to be regulated by shame from the community, rather than by threat of punishment; as such, elves never offer serious or capital punishment to criminals; instead, elves found to have committed vandalism, trespassing or theft are reprimanded, while those convicted of treason, lying, oath-breaking, assault or participating in slavery are forced into exile.&lt;br /&gt;
&lt;br /&gt;
Elves [[Personality value|value]] nature incredibly highly, and they also place a degree of value on family, eloquence, cunning, artwork, fairness, merriment, competition, and romance, but they do not especially respect commerce and have a dislike for self-control. However, even an elf will be &amp;quot;annoyed caught in the rain&amp;quot;, as inconsistent as that may be.&lt;br /&gt;
&lt;br /&gt;
(Note that these are merely the ethics of elven ''civilizations''. Elves may adopt the cultures of other races via wandering individuals joining civilizations, or when conquest absorbs elves into another civilization. Sentient creatures adopt the values and ethics of their culture, regardless of race. Elves living among, [[Main:Cacame Awemedinade|or even leading]], dwarves will have dwarven ethics and values, and vice versa.)&lt;br /&gt;
&lt;br /&gt;
As ghastly as the concept may be, elven cultures have become more powerful since the days of [[Main:Tholtig|Tholtig Cryptbrain]], and it is entirely possible for one or more dwarven civilizations to be extinct due to elven aggression. What elves lack in engineering, crafting, intelligence, bravery, skill, or hygiene, they make up for in raw, unwashed numbers, and once-mighty dwarven civilizations may crumble to the hordes. Even more troubling is their employment of [[Mercenary|mercenaries]], often much better equipped than the elves themselves. Embarking with (possibly homeless wandering survivor) dwarves claiming to be from that civilization is possible, but always starts at war with the elves that claimed the lives of those tragically unfortunate dwarves' friends, and you may not get migrants.&lt;br /&gt;
&lt;br /&gt;
==In combat==&lt;br /&gt;
Elves by themselves are rarely considered a threat due to their insistence in using equipment purely made out of wood in battle, which is only marginally better than fighting unarmed and generally stands no chance against a half-competent, metal-clad dwarven militia [see [[Material_science|Material science]] for more info]. However, elves will also employ [[Mercenary|mercenaries]], often much better equipped than the elves themselves. &lt;br /&gt;
During [[Siege#Elven_sieges|sieges]] their archers and potential numbers (like goblins, their ageless immortality means very high populations) can still be dangerous, and perhaps the greatest threat they pose is if they bring tamed animals along with them, which may range from easily dispatched creatures to [[Giant elephant|huge]][[Tiger| sources]][[unicorn| of]][[Grizzly bear| fun]] depending upon what animals their civ has access to, which in theory can include any exotic land animal including giant variants.&lt;br /&gt;
&lt;br /&gt;
==Community outlook==	&lt;br /&gt;
Due to ''Dwarf Fortress'' making ample use of the ''wood-elven'', or &amp;quot;elves as stuck-up jerks who live in trees&amp;quot; stereotype (which is especially noticeable when talking to their diplomats), the race as a whole tends to be widely [[Unfortunate accident|disliked]] by players, who aren't too happy about said stuck-up jerks trying to tell their dwarves how to live their lives and who will gladly ambush &amp;lt;s&amp;gt;and likely eat&amp;lt;/s&amp;gt; dwarven children while they play in the woods. &lt;br /&gt;
However, due to their wooden weaponry only being ''really'' effective on said children and unarmed dwarves, elves have a reputation among the community of being all-''bark''-and-no-bite wimps who serve as the perfect punching bags to be on the receiving end of whatever [[stupid dwarf trick]] the fortress is currently conducting, especially if it's a particularly [[Fun|violent]] one - many gruesome stories involve at least one elf as the victim. The elves' nigh-religious devotion to trees is also a point of note; many players will go as far as to raze their map clean of trees, for no reason but to spite the elves and provoke them into attacking, just for the chance to slaughter them all. &lt;br /&gt;
&lt;br /&gt;
Unlike many other fantasy settings, ''Dwarf Fortress'' elves have very few redeeming characteristics (they aren't any more attractive than a dwarf, human or goblin, [http://tolkiengateway.net/wiki/Celebrimbor aren't good smiths], and don't have any superhuman abilities beyond biological [[immortality]], a peculiar ability to walk through grass and other ground covering plants without disturbing them, and a (currently) off-screen ability to &amp;quot;shape&amp;quot; wood via magic - one of their few other saving graces is their potential to provide fully-tamed exotic animals for trade), though most long-time players play their antics for laughs, resulting in them essentially being the community's collective chew-toys. Many players will take on a Tolkien (''or, more likely, Warhammer Fantasy'')-esque dwarven spirit of hatred towards elves, slaughtering them for their actions against dwarven kind; or perhaps, compelled by some god of murder for the simple glee of the resulting elven blood rain. Being compared to an elf is particularly insulting, as it implies you're an unwashed, tree-loving, cannibalistic hippie (''or, as [[Dwarf#Community_outlook|some have said]], the kind of being that's prone to sitting around and living '''in''' the world, rather than acting upon it''). That's not to say that elves are universally disliked, however: some have earned the liking of the player base, typically due to them being part of a dwarven civilization (and as such, not acting like elves), with [[Main:Cacame Awemedinade|Cacame Awemedinade]] being one of the community's most well-known and beloved characters.&lt;br /&gt;
&lt;br /&gt;
{{gamedata}}&lt;br /&gt;
{{gamedata|title=Entity ([[civilization]]) Raws|{{raw|v50:entity_default.txt|ENTITY|FOREST}}}}&lt;br /&gt;
{{Creatures}}&lt;br /&gt;
{{Category|Races}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Elf&amp;diff=315610</id>
		<title>Elf</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Elf&amp;diff=315610"/>
		<updated>2026-03-26T01:59:40Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Elves display facial hair on their sprites, reflecting an extant tissue, though it is minimal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior|11:04, 25 February 2023 (CST)}}&lt;br /&gt;
{{Creaturelookup/0&lt;br /&gt;
|image=Elf_sprite.png&lt;br /&gt;
|portrait=elf_portrait_anim.gif&lt;br /&gt;
|wiki=yes}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{creaturedesc}}&lt;br /&gt;
&lt;br /&gt;
{{D for Dwarf}} &lt;br /&gt;
&lt;br /&gt;
'''Elves''' (singular, '''Elf''') are &amp;lt;s&amp;gt;smelly, stuck-up, arrogant [[tree]]-fondling hippies&amp;lt;/s&amp;gt; intelligent [[Creature|humanoids]] dedicated to the protection of ''their'' concept of nature (centered around trees, and the worship of certain natural [[force]]s that permeate the forests, as opposed to the [[deities]] worshipped by other races). They are one of the main [[civilization]]s of the game, featured in [[fortress mode]] and playable in [[adventurer mode]].&lt;br /&gt;
&lt;br /&gt;
By default, they are often allies of [[dwarves]] and [[humans]], however, elves' conflicting view on nature compared to other races, can create tension between them and their erstwhile allies. Elves often prefer using grown wood (and sometimes glass) for their weapons and armor, which do very little damage and offers little protection respectively compared to metal. If you go to war with them, you'll find that their primary danger comes from their numbers, archers, and dangerous tamed animals that may [[Mount|accompany]] them.&lt;br /&gt;
&lt;br /&gt;
In fortress mode, &amp;lt;s&amp;gt;hippie wagons&amp;lt;/s&amp;gt; elven caravans arrive in late spring, bringing only [[plant]]s and their own &amp;quot;grown&amp;quot; [[wood]]-related items, [[cage]]d tame animals, or various types of [[clay]] and [[sand]]. When trading with elves, unless the player seeks to intentionally antagonize them, they must be very careful to not offer any wooden objects/animal-derived goods - [[#Trading|see here for specifics]]. You may also steal from them, or even kill them, without fear of immediate repercussion, as elven caravans are unguarded, and merchants will not resist if you seize their goods, or competently fight back if attacked.  &lt;br /&gt;
&lt;br /&gt;
Offending elves by attempting to trade wooden items normally causes them to angrily refuse further trade that year and leave early. ''Repeatedly'' offending elves by attempting to trade wooden items may cause them to attack your fortress with an [[ambush]], which may later evolve into a full [[siege]].&lt;br /&gt;
&lt;br /&gt;
Elves appear as usually thin and/or frail humanoids similar to humans, but with pointy ears and modest facial hair. Like [[goblin]]s, they are biologically [[immortal]] and will only die to violence and disease, and also similarly to goblins, this tends to result in high populations. Their life of harmony with the land and its wild beauty and creatures (due to elven civs possessing the {{token|AT_PEACE_WITH_WILDLIFE|e}} token) leads to them often settling in [[savage|high-savagery]] regions. Elves speak the [[Main:Elven language|elven language]].&lt;br /&gt;
&lt;br /&gt;
Some &amp;lt;s&amp;gt;stupid, useless, tree-fondling traitors&amp;lt;/s&amp;gt; ''highly misguided'' dwarves [[Preferences|like]] elves for their ''grace''.&lt;br /&gt;
&lt;br /&gt;
[[File:Lafo-sarasti.jpg|thumb|Artist rendering of an elf by Mechlin ([http://www.bay12forums.com/smf/index.php?topic=169691.msg7701761#msg7701761 post])]]&lt;br /&gt;
&lt;br /&gt;
==Fortress mode==&lt;br /&gt;
===Diplomats===&lt;br /&gt;
Once your fort has a [[baron]], elven civilizations in diplomatic contact send a [[Diplomat#Elven diplomats|diplomat]] to [[Meeting|meet]] with them approximately halfway through the first month in [[Calendar|spring]].&lt;br /&gt;
&lt;br /&gt;
If this is their first visit to your fort and you aren't at war with their civilization, the diplomat will either congratulate you for your respect for the trees, or, in the more-likely event that you've cut even one down, chastise you for your disrespect. At some point, the diplomat may revisit your fortress to establish a treecutting quota, requesting that the dwarves keep the amount of trees cut down to a variable quota. It is possible to negotiate for a higher number, and the quota seems to be affected by your noble's [[Zone#Quality_and_value|office quality]], [[stress]], and [[social skill]]s. If the player agrees to a treecutting quota, it will be visible after selecting the elves in [[Civilization and World Info|the Civilizations screen]], {{menu icon|Y}}. This quota lasts until the next year's meeting, and keeping to it will improve [[Diplomacy|diplomatic relations]], while violating it will worsen them and can lead to all-out [[war]], as will rejecting a quota entirely. '''However, agreeing and sticking to a quota in one year, and then denying any agreement in the next, will keep the relationship in a state of &amp;quot;alliance&amp;quot;, allowing your dwarves to raze entire forests every second year without the elves getting unhappy about it.'''&lt;br /&gt;
&lt;br /&gt;
Note that the quota is measured in trees, not logs, so be sure to fell only the largest trees on your map to get the most out of your agreement. The elves also do not care if you damage saplings that haven't yet properly developed a trunk. Elves do, however, (''misguidedly enough?'')care about [[Tree#Underground trees|tree-like subterranean fungus]] like [[tower-cap]]s and [[tunnel tube]]s; cutting fungus &amp;quot;trees&amp;quot; down does count toward your quota. How many trees they will allow can be adjusted in the [[Difficulty#Tree_quota|difficulty]] [[settings]].&lt;br /&gt;
&lt;br /&gt;
In addition to haggling over tree-cutting quotas, these meetings work like any other diplomatic [[meeting]]. Your [[Civilization and World Info|civilization screen]] will be updated with new info from the world, and depending on relations the diplomat may come to declare [[war]] or sue for peace.&lt;br /&gt;
&lt;br /&gt;
=== Elven caravans  ===&lt;br /&gt;
Friendly elven civilizations send a [[caravan]] in late spring bringing a mix of natural trade goods, such as tamed animals, plant clothes, and various [[Wood#Grown_wood|grown wood]] objects.&lt;br /&gt;
&lt;br /&gt;
==== Trading ====&lt;br /&gt;
{{main|Trading#Unacceptable items|l1=Unacceptable items}}&lt;br /&gt;
Elven traders are very picky about what items they will accept, and consider most items made from wood or animal byproducts to be unethical, often rejecting items merely for requiring wood or ash in their preparation. Offering them even one of these items, either in a trade or as a gift, will cause their trader to insult you and leave in a huff, ending trading for that year and damaging your diplomatic relationship with their [[civilization]]. In general, items made from [[stone]], [[metal]], [[Gem|gemstone]], non-woody [[plant]]s, or [[silk]] are acceptable, as are live animals or &amp;quot;grown&amp;quot; wooden items (generally only available from elves), but even these items can be rendered taboo with inappropriate «[[decoration]]s» or by containing or being contained in an inappropriate item.&lt;br /&gt;
&lt;br /&gt;
The [[Trading]] article has specific info on [[Trading#Unacceptable items|taboo]] and [[Trading#Acceptable items|accepted]] items.&lt;br /&gt;
&lt;br /&gt;
==== Stock====&lt;br /&gt;
[[File:grown_weapon_sprites_preview.png|thumb|142px|right|Some sprites of naturally grown elven weapons, although some standard wooden weapons will also use these sprites.]]Elven caravans will never have stone, metal, or animal products. Aside from those, you can expect an average elven caravan to have:&lt;br /&gt;
&lt;br /&gt;
* [[Wood]]en [[log]]s: Always useful, unless you are in a forest [[biome]] and ''already'' drowning in wooden logs. The quantity depends on how many logs you have already: lower means more. However, caravans with grown logs tend to be rare.&lt;br /&gt;
* [[Plant]]-based [[food]], both from [[crop]]s and picked from [[tree]]s. These can be handy for avoiding negative [[thought]]s from eating or drinking the same old thing, or satisfying a dwarf's unusual [[preference]]. They can also be a source of [[seed]]s for your own [[Tile attributes|above-ground]] [[Farming|farm]]s, if you live in a compatible [[biome]].&lt;br /&gt;
* Wooden containers: [[chest]]s, [[cage]]s, [[bucket]]s, and [[barrel]]s. These are usually cheap if not decorated and useful in bulk, but even if you don't have access to wood and don't want to waste metal, there are stone, clay, and glass alternatives that you can easily make on your own.&lt;br /&gt;
* Soil types: [[sand]] in bags, various types of [[clay]]. Unfortunately, they don't bring enough of either for large-scale production of either [[ceramic]] or [[glass]], and neither of these are very important to have in small quantities. A bit of sand can be used to make raw glass, which is occasionally demanded by dwarves in a [[strange mood]], but other races can sell you that cheaply without needing an intervening step.&lt;br /&gt;
* [[Bag]]s and [[rope]]s made from plant cloth. A few extra bags never hurt, but plant cloth bags are a bit expensive.&lt;br /&gt;
* A few above-ground tame animals in wooden cages. It may be [[opossum|a]] [[stoat|disappointingly]] [[fox|useless]] [[hoary marmot|animal]] or [[Giant badger|an]] [[Giant tiger|incredibly]] [[Giant elephant|awesome]] [[Giant eagle|one]]. Elves bring animals from the environment surrounding their settlements, so you may be able to guess what they will bring next. Elves who live in [[Surroundings|savage]] [[Biome|tropical]] lands bring the best ones. Exotic animals are considered fully tame and will never require [[Animal trainer|training]].&lt;br /&gt;
* Caged tame [[vermin]]. These are only even slightly useful for pleasing dwarves with a [[preference]] for that specific type of vermin, and they may even [[Hateable|annoy other dwarves]]. The vermin itself is probably worthless, but the possibly-useful cage comes included.&lt;br /&gt;
* [[Plant fiber]] [[thread]], [[cloth]], and [[clothing]]. These are mainly useful for jumpstarting or replacing a [[textile industry]]. Elves wear and sell the same-sized clothing as dwarves, and may sell cosmetically-different &amp;quot;foreign&amp;quot; clothes items like turbans, skirts, or sandals.&lt;br /&gt;
* Plant cloth [[quiver]]s. Dwarves can't make quivers out of plant cloth, but they can easily make them out of [[leather]]. &lt;br /&gt;
* Wooden [[crutch]]es and [[Health care#Splints|splint]]s. Easy to make, but just as easy to forget, and they're fairly cheap.&lt;br /&gt;
* Wooden [[armor]] and [[weapon]]s. This includes weapons and armor dwarves can't normally make out of wood, but wood melee weapons and armor are [[Material science#Material and item properties|basically useless in combat]]. You can use elven melee weapons to [[Training|train]] with before making proper weapons, but that's probably not worth bothering with.&lt;br /&gt;
* [[Bow]]s and [[arrow]]s, both made of wood. While dwarves can't make bows, it's very easy to make your own superior [[crossbow]]s and [[bolt]]s from wood, [[bone]], or [[metal]]. Bows are less dependent on material or quality than melee weapons, which makes them a bit more useful than most weapons bought from traders. Unfortunately, bows use a separate [[combat skill]] from crossbows, can't be used for [[hunting]], and leave you reliant on trade with or [[Goblinite|scavenging from]] non-dwarven civilizations for [[arrow]] ammunition. &lt;br /&gt;
* Miscellaneous other [[finished goods]] made from wood or plant fiber. These might include [[instrument]]s that dwarves cannot make or copies of new [[book]]s, but other items are only marginally useful at best. Note that instrument ''parts'' are useless, since your dwarves do not know how to assemble them into a completed instrument unless they already knew how to make that instrument in the first place.&lt;br /&gt;
&lt;br /&gt;
Unless you have a shortage of something, the main unique goods elves can bring are foreign plants (especially ones you can then grow yourself), foreign tame animals (especially large war-trainable carnivores), or possibly foreign instruments or new books. Everything else is relatively easy to produce on your own, and as with all traders, any dwarf with any amount of relevant crafting [[skill]] at all will make as-good- or better-[[quality]] items.&lt;br /&gt;
&lt;br /&gt;
All wooden products made by elves are called &amp;quot;grown&amp;quot;. Unlike regular wood, these may be traded back to the elves without repercussions; otherwise, they are identical to the wood items that you can produce.&lt;br /&gt;
&lt;br /&gt;
==Ethics==&lt;br /&gt;
[[File:Stasost-sarasti.jpg|thumb|right|300px|Artist rendering of an elf by Mechlin ([http://www.bay12forums.com/smf/index.php?topic=169691.msg7701761#msg7701761 post])]]&lt;br /&gt;
&lt;br /&gt;
Elven [[civilization]]s' [[ethics]] often differ from those of other races. Their position on moral philosophy will likely put them at odds with [[human]]s, [[goblin]]s, [[dwarf|dwarves]], and sometimes [[kobold]]s and [[animal people]], although they favor war with goblins over other races. At any given point in time, elves and dwarves are likely to be at peace, but it is certainly possible for an elven civilization to be at war with a dwarven one at the end of worldgen. Use the tab button when selecting an [[embark]] site to view whether elves are at war with the currently selected dwarven culture, and cycle dwarven cultures to find out. &lt;br /&gt;
&lt;br /&gt;
Elves are the only race which wholeheartedly accepts the devouring of enemy combatants. Looking in legends mode shows that an elven combatant will sometimes devour the other person they were fighting when they win. In spite of this, elves refuse to butcher and consume intelligent beings under other conditions. Elves find torture as an example acceptable, but condemn other forms of torture and consider torturing for information misguided. To elves, keeping any trophy of any kind is an unthinkable act. Elves begrudgingly allow for killing animals when done in self-defense, and the killing of other elves by an elf is justified if there is an extremely good reason for doing so. For elves, the killing of plants, ''especially'' trees, is unthinkable, on the other hand, the killing of neutral beings and enemies is acceptable. Elven society seems to be regulated by shame from the community, rather than by threat of punishment; as such, elves never offer serious or capital punishment to criminals; instead, elves found to have committed vandalism, trespassing or theft are reprimanded, while those convicted of treason, lying, oath-breaking, assault or participating in slavery are forced into exile.&lt;br /&gt;
&lt;br /&gt;
Elves [[Personality value|value]] nature incredibly highly, and they also place a degree of value on family, eloquence, cunning, artwork, fairness, merriment, competition, and romance, but they do not especially respect commerce and have a dislike for self-control. However, even an elf will be &amp;quot;annoyed caught in the rain&amp;quot;, as inconsistent as that may be.&lt;br /&gt;
&lt;br /&gt;
(Note that these are merely the ethics of elven ''civilizations''. Elves may adopt the cultures of other races via wandering individuals joining civilizations, or when conquest absorbs elves into another civilization. Sentient creatures adopt the values and ethics of their culture, regardless of race. Elves living among, [[Main:Cacame Awemedinade|or even leading]], dwarves will have dwarven ethics and values, and vice versa.)&lt;br /&gt;
&lt;br /&gt;
As ghastly as the concept may be, elven cultures have become more powerful since the days of [[Main:Tholtig|Tholtig Cryptbrain]], and it is entirely possible for one or more dwarven civilizations to be extinct due to elven aggression. What elves lack in engineering, crafting, intelligence, bravery, skill, or hygiene, they make up for in raw, unwashed numbers, and once-mighty dwarven civilizations may crumble to the hordes. Even more troubling is their employment of [[Mercenary|mercenaries]], often much better equipped than the elves themselves. Embarking with (possibly homeless wandering survivor) dwarves claiming to be from that civilization is possible, but always starts at war with the elves that claimed the lives of those tragically unfortunate dwarves' friends, and you may not get migrants.&lt;br /&gt;
&lt;br /&gt;
==In combat==&lt;br /&gt;
Elves by themselves are rarely considered a threat due to their insistence in using equipment purely made out of wood in battle, which is only marginally better than fighting unarmed and generally stands no chance against a half-competent, metal-clad dwarven militia [see [[Material_science|Material science]] for more info]. However, elves will also employ [[Mercenary|mercenaries]], often much better equipped than the elves themselves. &lt;br /&gt;
During [[Siege#Elven_sieges|sieges]] their archers and potential numbers (like goblins, their ageless immortality means very high populations) can still be dangerous, and perhaps the greatest threat they pose is if they bring tamed animals along with them, which may range from easily dispatched creatures to [[Giant elephant|huge]][[Tiger| sources]][[unicorn| of]][[Grizzly bear| fun]] depending upon what animals their civ has access to, which in theory can include any exotic land animal including giant variants.&lt;br /&gt;
&lt;br /&gt;
==Community outlook==	&lt;br /&gt;
Due to ''Dwarf Fortress'' making ample use of the ''wood-elven'', or &amp;quot;elves as stuck-up jerks who live in trees&amp;quot; stereotype (which is especially noticeable when talking to their diplomats), the race as a whole tends to be widely [[Unfortunate accident|disliked]] by players, who aren't too happy about said stuck-up jerks trying to tell their dwarves how to live their lives and who will gladly ambush &amp;lt;s&amp;gt;and likely eat&amp;lt;/s&amp;gt; dwarven children while they play in the woods. &lt;br /&gt;
However, due to their wooden weaponry only being ''really'' effective on said children and unarmed dwarves, elves have a reputation among the community of being all-''bark''-and-no-bite wimps who serve as the perfect punching bags to be on the receiving end of whatever [[stupid dwarf trick]] the fortress is currently conducting, especially if it's a particularly [[Fun|violent]] one - many gruesome stories involve at least one elf as the victim. The elves' nigh-religious devotion to trees is also a point of note; many players will go as far as to raze their map clean of trees, for no reason but to spite the elves and provoke them into attacking, just for the chance to slaughter them all. &lt;br /&gt;
&lt;br /&gt;
Unlike many other fantasy settings, ''Dwarf Fortress'' elves have very few redeeming characteristics (they aren't any more attractive than a dwarf, human or goblin, [http://tolkiengateway.net/wiki/Celebrimbor aren't good smiths], and don't have any superhuman abilities beyond biological [[immortality]], a peculiar ability to walk through grass and other ground covering plants without disturbing them, and a (currently) off-screen ability to &amp;quot;shape&amp;quot; wood via magic - one of their few other saving graces is their potential to provide fully-tamed exotic animals for trade), though most long-time players play their antics for laughs, resulting in them essentially being the community's collective chew-toys. Many players will take on a Tolkien (''or, more likely, Warhammer Fantasy'')-esque dwarven spirit of hatred towards elves, slaughtering them for their actions against dwarven kind; or perhaps, compelled by some god of murder for the simple glee of the resulting elven blood rain. Being compared to an elf is particularly insulting, as it implies you're an unwashed, tree-loving, cannibalistic hippie (''or, as [[Dwarf#Community_outlook|some have said]], the kind of being that's prone to sitting around and living '''in''' the world, rather than acting upon it''). That's not to say that elves are universally disliked, however: some have earned the liking of the player base, typically due to them being part of a dwarven civilization (and as such, not acting like elves), with [[Main:Cacame Awemedinade|Cacame Awemedinade]] being one of the community's most well-known and beloved characters.&lt;br /&gt;
&lt;br /&gt;
{{gamedata}}&lt;br /&gt;
{{gamedata|title=Entity ([[civilization]]) Raws|{{raw|v50:entity_default.txt|ENTITY|FOREST}}}}&lt;br /&gt;
{{Creatures}}&lt;br /&gt;
{{Category|Races}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=On_the_origins_of_dwarves&amp;diff=315207</id>
		<title>On the origins of dwarves</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=On_the_origins_of_dwarves&amp;diff=315207"/>
		<updated>2026-03-03T17:44:47Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: &amp;quot;dwarfhood&amp;quot; implies a non-dwarven life stage, so &amp;quot;adulthood&amp;quot; would be a better correction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{D for Dwarf}}&lt;br /&gt;
&lt;br /&gt;
Piecewise's &amp;lt;s&amp;gt;article&amp;lt;/s&amp;gt; &amp;lt;s&amp;gt;masterstroke&amp;lt;/s&amp;gt; work of art on the forums needs to go here, so all can admire it.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;On the Origin of Dwarves&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Long before our times, during the times of yore when great beasts stalked the darkness and tore civilization’s forebears asunder, there came to this world a strange new race: the dwarves.  The ancestry of the dwarves is muddled and confused, often times contradictory, impossible, incestuous or all three. This can mainly be contributed to the dwarven tendency to keep their history through the use of engravings, rather than books or even oral tradition. Dwarves, being a subterranean people, rarely create paper and lack the memories to pass down stories of their ancestors in any reasonable fashion; this inability is mostly blamed on their near constant state of inebriation. Also unfortunate to would be historians is the dwarven tendency to place these historical engravings 60 feet underground and surrounded by all manner of deadly traps, questionable architecture and various slavering beasts. If one didn’t know better it would seem as though they are deliberately hiding their past.&lt;br /&gt;
&lt;br /&gt;
Through what can be recovered the origin of dwarven kind (according to their creation myths) is as follows:&lt;br /&gt;
&lt;br /&gt;
Once, long ago, a particularly ugly and foul tempered mountain goat raped a particularly hairy and insane Mandrill atop a pile of stones and vomit. From this coupling was born the first of dwarven kind, the Mountain King. He was born with a battle axe and bottomless tankard clutched in his tiny hands and his body was covered in such copious amounts of hair that he might easily have been mistaken for a bearded bear cub. The Mountain King was raised by a Granite Boulder and grew strong upon a diet of booze, cave mushrooms and the blood of his enemies. At age 4 he killed a bear in a staring contest and at age 7 he domesticated the first wagon. Upon his ascendancy into adulthood he destroyed the boulder which had raised him and reshaped it into the first anvil, proclaiming:&lt;br /&gt;
&lt;br /&gt;
“Reg limar, abod ber, avuz thol, or mabdug, nokor buket!”&lt;br /&gt;
&lt;br /&gt;
These words would echo forever through dwarvenkind, though it is said that another phrase was within this motto. The lost phrase is said to have been:&lt;br /&gt;
&lt;br /&gt;
“Gatiz emar agak.” &lt;br /&gt;
&lt;br /&gt;
Though what this phrase means has been lost to us and inquiries to dwarven historians often end in violence. What little can be gathered is that it seems to relate to animal husbandry. &lt;br /&gt;
&lt;br /&gt;
His childhood behind him, the Mountain King set about founding the first Mountain Home, digging out most of the mountain by himself using only his bare hands and frighteningly calloused manhood. His lavish home now complete and balanced entirely upon a single pillar he set out to make his name known and to find a wife worthy of bearing his fuzzy offspring.  The first civilization he came upon were the elves, a race of naked and eternally beautiful feyfolk who abhorred the use of trees or animals for any means. It was said that when they met the Mountain King, he was in the process of beating a mountain lion to death with a wolf. The elves, in their kindness, attempted to persuade the Mountain King to follow their naturalistic ways. In response the Mountain King tore off the head druid’s face and promptly began using it as his undergarments. Before the shocked elven masses he announced:&lt;br /&gt;
&lt;br /&gt;
“Etar linem etes gubel lor.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Which, roughly translated, means:&lt;br /&gt;
&lt;br /&gt;
“Your king blows my bulbous tool.”&lt;br /&gt;
&lt;br /&gt;
Since this epochal meeting the relations between the elves and dwarves have continued to be tense, often times ending in massive forest fires, rampant cannibalism, horrifying dismemberment or, worst of all, crossbreeding. His duty done, the Mountain King continued his journey through the primal world. He next came upon the goblins and was delighted to find that their skinny limbs and necks broke with even the gentlest of hammer blows. After a brief campaign of recreational genocide the Mountain King grew bored of his new playthings and continued on, leaving the goblins broken and scattered, connected only by their intense hatred of small, bearded people. This hatred continues to this day, resulting in nearly constant goblin raids against dwarven settlements. Unfortunately, goblins' limbs and neck still snap with the ease of twigs, making these valiant efforts more or less meaningless. &lt;br /&gt;
&lt;br /&gt;
The last race which the Mountain King discovered was that of Humans, still in their fragile and frightened infancy. Taking rare pity upon the gangly and awkward race, the Mountain King gifted them with weapons, armor and booze, ensuring a stable business and war partner as well as drinking buddy for generations to come. It was after finding this last race that the Mountain King realized he was still without a wife and was beginning to feel the effects of his decades of celibacy.  After a tour of countless brothels and leaving a swath of broken pelvises and dislocated jaws behind him The Mountain king finally returned to his home. Determined to have his bride, the Mountain King built a tower to the heavens themselves and petitioned Armok, God of Blood, to grant him a wife. Armok agreed, on the condition that all their descendants from first to last be cursed with a tendency to die horribly. The Mountain King gladly agreed. &lt;br /&gt;
&lt;br /&gt;
The wife which he was given, The Queen of All Stone, was truly a rightful receiver of his seed and wore a beard that could match his own. It was from these two that all dwarven kind sprang (or walked, being that dwarves don't really spring, hop, jump, skip or do anything that means removing more than one foot from the ground). &lt;br /&gt;
&lt;br /&gt;
From this common ancestor onward the genealogy is scattered and unsure, engraved upon bars of soap and metal beds across the world. Many believe that the first child of the Mountain King was a girl by the name of Urist. Records become scarce beyond this but what little can be found indicate that she was notorious trickster and prone to paranoid mania, preferring to remain isolated. From this point on we can only guess.&lt;br /&gt;
&lt;br /&gt;
== Urist's Anatomy ==&lt;br /&gt;
&lt;br /&gt;
Dwarves are, by weight, 40% Body hair, 30% alcohol, 6% calluses, 12% anger, 7% muscle, 1% skin and 4% miscellaneous.  Their blood does not have different “types”; rather it has a variety of “proofs”.  Their bone structure is not unlike that of a man, though much stouter and more dense.  The exceptions to this comparison come mostly from two places: the legs and the head. Dwarves, for whatever reason, lack knees and are therefore incapable of things like hopping, skipping, running in a dignified manner or bending down without falling prone. Dwarves, however, seem to prefer it this way and regard anything requiring knees as being the actions of “elven silly nannys”. Several of the other strange anatomical designs are centered in the head and the curious structure of the dwarven skull. A dwarf’s beard is actually connected directly to the bones of his jaw and palate and is comprised of a thick mane of hair like cartilage growths. These growths are actually quite sensitive to certain stimuli and allow a dwarf to detect things like an abandoned pigtail sock, even from miles away.  &lt;br /&gt;
&lt;br /&gt;
The dwarven skull is composed of only two very thick bones, one being the mandible and the other consisting of the entire rest of the cranium. This strange configuration seems to be an adaptation to generations of cave-ins and the popular dwarven drinking game “Smash rock with face”. Unfortunately the thick and solid skull compresses the dwarven brain and induces a species wide mental syndrome not unlike severe bipolar disorder. This means that dwarves are highly susceptible to sudden and often violent mood swings, shifting between murderous rage and enthralled stupor with only a particularly nice sock or table as the cause.  Another interesting anomaly, or lack of anomaly, is that of the dwarven liver. Dwarves, as a race, are dependent on alcohol from birth; it has been proven that it is not simply conditioning but that the dwarven body is actually dependent on alcohol to perform at its best. While the exact process that makes them dependent and why it is so necessary is still unknown, it does appear as though the dwarven body is paradoxically not equipped to  deal with the massive amounts of alcohol it must imbibe. The dwarven liver is by no means more effective or efficient when it comes to filtering the massive amounts of booze that a dwarf drinks, leading to liver failure to be the leading cause of death among dwarven kind (followed closely by “bludgeoned to death by enraged soap maker”). &lt;br /&gt;
&lt;br /&gt;
Beyond these obvious abnormalities are the less known and harder to distinguish differences in dwarven anatomy. Dwarves are a methodical and stubborn race to the point that every aspect of their life is directly influenced. Dwarves work, party, drink and sleep in marathon-like stints, often times continuing a single party or drinking binge for months on end and their inherent stubbornness makes it nearly impossible to change tasks quickly even if their lives depend on it. It is far from unknown to hear of a dwarven fortress falling to invading hordes simply because the fortress guard were in the middle of a 6 month nap or drinking themselves comatose. This tendency has lead to the adage “oblivious as a dwarf on break”.&lt;br /&gt;
&lt;br /&gt;
Beyond their stubbornness dwarves also exhibit a variety of odd behaviors, some of which seem to be related to their physiology while others are more idiosyncratic. A dwarf’s chosen profession seems to influence his thought patterns in radical ways, often leading to specific phobias and reckless behavior. Non-military dwarves, for example, seem to universally develop a crippling fear of all animals, even the most harmless. It’s not uncommon to see panicking works-dwarves running in abject terror from things like mountain goats and perturbed llamas. Military dwaves, on the other hand, seem to completely lose their sense of self-preservation and run heedlessly into battle, ignoring tactics in favor of fanatic yelling. So removed from their sense of fear are the warrior women that they often carry their children into battle, a tactic which often ends in tragedy; It should be noted, however, that there are few sights more frightening then a dwarven woman, bare from the waist up, holding a suckling newborn in one hand and a battleaxe in the other, charging toward you. &lt;br /&gt;
&lt;br /&gt;
The debate on the subject of dwarven depression and anger is a complex one at best and is hard to study without significant risk to life and limb. It’s a well known fact that dwarves are particularly mentally unstable and subject a great many psychoses. One, as yet unproven, theory asserts that this tendency toward madness is actually a inborn limiting mechanism to control the number of dwarves occupying a certain area. It is a documented fact that, as a dwarven civilization grows in population the risk of insanity and depression also increases.  Indeed it is impossible to walk into a thriving dwarven civilization and not see at least a handful of raving mad-dwarves  screaming at the walls. The Theory asserts, however, that these harmless, though insane, individuals are not the purpose of the madness, merely a unforeseen failing. The true purpose of the madness is to limit population numbers through murder, suicide and random dwarfslaughter. Indeed it does seem that large dwarven civilizations are often brought down by internal subterfuge, mass suicide and ritual murder (or by poor architectural planning). &lt;br /&gt;
&lt;br /&gt;
This inherent tendency toward insanity, whatever its cause, seems to have given dwarves an odd sense of art as well as particular building talents. Dwarves are known world over for their proficiency in metal working and weapon crafting as well as mechanical skill, however it is their decorative arts that are perhaps the most interesting. Take for instance a random piece of dwarven armor, a copper gauntlet in this case. Its construction is of the highest order and it is menacing with iron spikes, however perhaps the most frightening thing is its decoration. Recreated in painstaking detail is an image of a horse. The horse is screaming.  Often times things such as dining room walls and children’s toys are adorned with images of violent slaughter, terrible holocausts and the occasional giant mushroom.  Its not known exactly why dwarves would decorate their homes in such manner, but the scenes of violence actually seem to stave off fits of madness and violence, perhaps acting in some sort of primitive cathartic manner. Or perhaps dwarves just genuinely enjoy images of bloody dismemberment and triangles.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;War, Peace and Fell Moods&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
The dwarven society is a complex and puzzling one, when compared to our relatively simple human society. Where as we seem to be guided mostly by instinct and desire, dwarves are driven by an entirely different kind of morals and ambitions. For instance, it is still completely unknown, even by the dwarves themselves, where their orders come from. Despite the existence of nobles within their society dwarves seem to act independently yet, paradoxically, also as a whole. For the non-informed imagine it like this. One dwarf may decide to mine out some stone, while another may decided to cut stone blocks and yet another may decide to assemble these blocks into a wall. These dwarves do these actions without the knowledge of what their fellow dwarves are doing and they seem only to do this on a whim. Theories of hivemindism abound, but perhaps the most interesting theory is that, in line with dwarven creation myth, the dwarves are being influenced and semi-puppeted by Armok, the dwarven god of blood, or His helpers. However, these speculations remain simply blind guesses. &lt;br /&gt;
&lt;br /&gt;
A brief glance at dwarven society reveals it to be something like Feudalism, with many settlements under the ultimate control of a Monarchy. However, in depth study reveals that the tiny fraction of nobles actually seem to have very little to do with anything outside of trade relations. The prevailing opinion of the dwarven working class is that nobles are slightly touched in the head and their orders border on delusional. Its common for nobles to attempt to restrict the trade of items that do not exist and often can not exist in a specific settlement; they're also known for their strange obsessions over seemingly random objects and will demand their manufacture, much to the annoyance of the general masses. Some believe that nobles are simply dwarves which have some how escaped whatever force binds and orders the rest of the workers, leading them to be unreliable and mentally unsound without the external control. In this situation the Aristocracy is seen more as an aggravating and demanding elephant graveyard, a position that the worthless and potentially dangerous of dwarven society  are “promoted” to, in order to keep them away from weapons or heavy machinery. &lt;br /&gt;
&lt;br /&gt;
The possible exceptions of this rule lie within the dwarven justice system, specifically with the sheriff and the Hammerer. Dwarven law is seemingly draconian in many ways, but is also rather progressive. Dwarves put a great emphasis on the lives of living creatures (so much so that they consider the killing of a tame, non-food animal equivalent to murder) and as such have no capital punishment. What they have instead though, could be said to be even worse. Dwarves have three forms of punishment: Imprisonment, beating and Hammering. The first two are relatively minor, with even the harshest of beatings generally resulting in only minor injuries, it is the final punishment which is the most feared. The Hammering is doled out by the Hammerer, the dwarven equivalent of an executioner who wields a war hammer rather then an ax or sword. Hammering is simply that, the condemned receives repeated blows with the war hammer until either the sentence is carried out or the criminal is dead.  While death is not the express purpose of the hammering it is often a side effect, with the other outcome usually being serious, crippling injury. Unfortunately one of the crimes which can possibly net this debilitating consequence is that of failure to comply with work orders, meaning that innocent dwarves may have their heads caved in for their inability to make glass in the middle of a frozen tundra.  Its not surprising that nobles tend to meet their ends under suspicious circumstances and are often found under mysterious cave ins or floating face down in the moat. &lt;br /&gt;
&lt;br /&gt;
Despite their warrior mentalities and fierce personalities dwarves have shown themselves to be passive aggressive at best (and aggressively passive at worst). While they are known for their fighting ability and boastful nature they rarely conduct war as an invading force, preferring instead to let the foolhardy enemies break themselves upon the fortresses' walls.  A common dwarven saying that of “The best place to insult your enemies is behind forty feet of stone.”  Its not to say that the most famous dwarven conflicts were those between dwarves and other sentient beings, far from it in fact. Perhaps the greatest example of the, ahem, quirkiness of dwarven culture is that the grand fortress of Boatmurdered. Boatmurdered endured the normal hardships of a dwarven settlement, namely constant raids from goblins and an inherently unstable society, but there was one main difference: elephants. It is, to this day, not known as to why the settlement was founded so close to the forest of “Tuskydeath”, but the outcome was nothing less then horrifying on all sides. For years the dwarves and elephants traded blows, usually resulting in the brutal impalement or trampling of dwarves or the imprisonment or death of the elephants. This conflict culminated in the creation of a “doomsday device” which was used to halt aggressive flooding as well as to flash boil most of the wildlife.  Since the final fiery end of Boatmurdered a fragile truce seems to have been enacted between the elephants and the dwarves, if only to prevent such slaughter from ever occurring again. &lt;br /&gt;
&lt;br /&gt;
Unfortunately one creature that continues to be a continuous hazard to dwarven kind is that of carp. The official myth of the dwarves is that Armok created the carp out of river rocks and instructed them to mutilate random passersby. Regardless of their origin carp are considerably dangerous to dwarves, fisher dwarves in particular. Its not uncommon for fisher dwarves to be dragged into the river by swarms of these blood thirsty beasts. Some dwarves die as they are snatched off bridges or while gathering water and are never seen again, at least in one piece.  Worse than river carp are the popularly named “death pool carp” or carp that have become trapped in murky pools.  These pools are death traps and can be fatal to anything which wanders too close. Perhaps the most terrifying is the idea of what dwarves refer to (in hushed tones) as skeletal carp. These creatures are the remains of carp, animated through dark means, and are reported to be “faster than a beak dog and stronger than an ogre” as well as nearly immune to any sort of conventional weapons. There are reports of hordes of these strangely animate corpses galloping across the bleak and blasted wastes, tearing apart anything which gets in their way. Exactly how a fish, undead or not, can gallop is something beyond this writer's comprehension.&lt;br /&gt;
&lt;br /&gt;
== The Book of Job(s) ==&lt;br /&gt;
&lt;br /&gt;
Dwarven culture is one dominated by toil and greed, leading most dwarves to be little more then glorified workhorses for the vast majority of their lives. It was once remarked of a dwarven miner that “there has never been a life as cruel or mercifully short as his”. In general dwarven labor is separated into two categories, crafting and hauling things about. For instance, a carpenter is considered a craftdwarf, as he creates useful objects from a raw material; a woodcutter is considered a hauler because his job consists mainly of chopping trees and lugging them around till he inevitably dies during some sort of animal attack. Almost all known dwarven professions have been complied and documented here for the sake of…well, record keeping. &lt;br /&gt;
&lt;br /&gt;
[[Mining]]:&lt;br /&gt;
The noble, humble and very crushable miner is a job of both great importance and great ineptitude. On one hand the lives and livelihoods of all other dwarves depend on their ability to carve away the mountain and protect their comrades from the harshness of outdoor living. On the other hand their only discernible skill is the ability to swing a pick and (usually) not get crushed by falling rocks (maybe). It should be noted that, though both the job and the worker are relatively simple, the work does tend to produce sculpted, muscular dwarves ripe for military usage. Let us not forget the tales of dwarven work camps being defended by Herculean miners, their massive arms bulging as they embed pickaxes into elven hearts and minds.  &lt;br /&gt;
&lt;br /&gt;
[[Wood cutting]]:&lt;br /&gt;
The wood cutter is much like his miner counterpart: essential to many facets of the modern fortress and yet requiring the rough mental equivalency of a wagon wheel. However the wood cutter faces many more dangers in his line of work, from braving the horror of the wide open sky to battling the various forest creatures (sometimes including elven assassins). Unfortunately the woodcutter gains even less recognition than the miner, probably because the material he harvests only has a small set of uses within a well established fortress. &lt;br /&gt;
&lt;br /&gt;
[[Carpentry]]:&lt;br /&gt;
Carpenters make various things out of wood, a practice that was deemed “Dangerously elf-like” many generations ago. Because of this carpenters are viewed either as outcasts (if they enjoy their job) or as unfortunate souls doing a terrible duty out of necessity (if they don’t like their job). While it is grudgingly acknowledged that some wooden things are necessary, at least early on, this does not mean that dwarves have to like this fact. In the grand scheme of things dwarves view carpentry as somewhere between manure shoveler and rapist on the scale of social agreeability. &lt;br /&gt;
&lt;br /&gt;
Generally Carpenters and Wood cutters are tolerated as essential for the sheer fact that they make elves cry.&lt;br /&gt;
&lt;br /&gt;
[[Masonry]]:&lt;br /&gt;
A mason has a strange place within dwarven society. They're generally seen as respectable by most, their job being one of the more useful and in demand; however they are also sometimes seen as heretical and dangerous. This belief stems from a common dwarven idea that the mountain and natural stone are all around better than anything that they or any of the other races could throw together; as such it’s seen as rather impertinent that a mason would try to “improve” on the natural rock by making unnatural things out of it. However the groups that truly think this tend to be small fringe groups, many of which also believe that the masons are a world spanning cabal intent on taking over the world and then carving all the mountains into giant cheese statues. &lt;br /&gt;
&lt;br /&gt;
[[Engraving]]:&lt;br /&gt;
Engravers are an odd bunch, perhaps the most innately subversive group in any dwarven fortress. During times of relative calm they enjoy carving things like triangles and mushrooms, perhaps in an attempt to create some sort of weaponized boredom. However, in troubled times they delight in covering every flat surface in an endless array of disturbing images; it's not uncommon for dwarven bedrooms to be adorned with mosaics of the inhabitant’s loved ones being gored by elephants or trampled by goats. Engravers are often described by their peers as “arseholes”.&lt;br /&gt;
&lt;br /&gt;
[[Animal training]]:&lt;br /&gt;
Despite the job title this dwarf seems to have the perplexing task of randomly releasing various terrifying animals from their cages and promptly getting mauled. It seems that occasionally they may accidentally domesticate one of these snarling beasts but this can probably be chalked up to chance. Very rarely they also teach dogs to bite goblins where it hurts.&lt;br /&gt;
&lt;br /&gt;
[[Animal care]]:&lt;br /&gt;
See Butcher&lt;br /&gt;
&lt;br /&gt;
[[Health care]]:&lt;br /&gt;
See Burial&lt;br /&gt;
&lt;br /&gt;
[[Fish cleaning]], [[small animal dissection]], [[fish dissection]];&lt;br /&gt;
Dwarves with any of these jobs seem rather unbalanced and are prone to fire starting and bed wetting. It’s advised that one should keep at least ten feet from them, for a variety of very good reasons, not the least of which being that they are coated in the internal fluids of untold house pets. &lt;br /&gt;
&lt;br /&gt;
[[Butchery]]:&lt;br /&gt;
The butcher serves essentially the same purpose a human butcher does, though dwarven butchers seem to prefer battle axes to meat cleavers and enjoy their job a great deal more. While dwarves can live quite healthily on a diet of Plump Helmets they are renown for their delight in all manners of carnivorousness and as such the Butcher is seen as a welcome friend, a bloody and wide eyed bartender. The difference here is that the drinks are undercooked and made from cats. &lt;br /&gt;
 &lt;br /&gt;
[[Leatherworking]]:&lt;br /&gt;
Dwarves have a code of morals surrounding animals that is strangely familiar. They abhor the torture or mistreatment of their furry companions but seem to have no problem slaughtering, skinning, and eating them wholesale as long as it’s done in a specific manner. This means that there is often a vast amount of usable leather from various beasts and house pets just laying around the fortress, making leatherworking a stable job indeed. Dwarves seem to possess a strange affinity for elf leather products, perhaps a hold over from the leather thong of their great forefather the Mountain King. &lt;br /&gt;
&lt;br /&gt;
[[Tanning]]:&lt;br /&gt;
This is the middle man between pet and sock, the great equalizer of life and upholstery. The tanner has the glorious job of taking the semi-rotten skin of various animals (and occasionally people) and transforming it into fine leather to be used as a raw material. It’s unknown how dwarves go about this process, as the human method of tanning requires large tracts of time, various foul chemicals and generally produces an odor that is noticeable for miles. The dwarven Tanneries are, by comparison, tiny workshops often located next to living quarters or even within kitchens. When questioned about this perplexity dwarven tanners whistle and attempt to look uninterested&lt;br /&gt;
&lt;br /&gt;
[[Farming]]:&lt;br /&gt;
Dwarven farming takes two paths, the normal above-ground farming which we are familiar with and more exotic underground growing. Dwarves seem to prefer the act of farming underground, even if they occasionally delight in the exotic brews made possible by above ground plants. Beyond the dwarven nutritional staple of booze the farms serve a lesser purpose of producing food and raw materials. Dwarves seem unconcerned about what they eat in most cases and can easily live out their lives subsisting on a diet of Dwarven wine, plump helmet and the occasional side of cat meat; This leads to an overwhelming majority of plump helmet farms which in turn leads a dwarven farm to resemble a scene from Alice in wonderland, albeit a dark, dank, vomit reeking wonderland populated by manic-depressive midgets. &lt;br /&gt;
&lt;br /&gt;
[[Fishing]]:&lt;br /&gt;
Depending on the area the job of a fisherdwarf can either be a luxury or a death sentence. In most areas the work of a fisherdwarf is dangerous only because of its need to be outside, amongst wild animals and horrible sky. However if [[carp]] are involved this normally menial job becomes a game of roulette, with every moment being just another chance to die. From the few historical carvings we have we know that the dwarves once had a 4th punishment, in addition to their current triad of prison, pummeling, and pounding; this fourth punishment entailed forcing the condemned to fish in a carp infested river till he was finally set upon by the beasts. This punishment was eventually banned, partially because it was deemed too cruel and partially because it tended to have a mortality rate of 4 or 5 rather then the intended 1 as guards and spectators were also dragged to their fishy end. &lt;br /&gt;
&lt;br /&gt;
[[Soap making]]:&lt;br /&gt;
Strange does not begin to describe this particular labor, The strangeness of it stems from the fact that dwarves are seemingly incapable of using soap for its intended washing purposes, choosing instead to stacking it about or simply trade it away. The soap maker himself seems perplexed by his creation yet continues to make it. Various men have tried to instruct the dwarves in the use of their creation however they remain seemingly mentally blocked from comprehending its purpose. However, men have also tried to teach the dwarves the meaning of being on fire and were equally unsuccessful, so perhaps there is simply some sort of cognitive dissonance involved. &lt;br /&gt;
&lt;br /&gt;
[[Furnace operating]]:&lt;br /&gt;
There is a saying which goes “When a dwarf and fire are wed, the former will inevitably end up dead.” This, above all else, accurately describes the dwarven relationship with things hotter then body temperature. As such it’s surprising that furnace operation is such a safe job, indeed there are no reports of fatalities directly relating to the furnace operator’s job (unless being caught in a cave in counts). How this record is maintained appears to be a complete mystery to all involved, including the Operators themselves. However, since it seems to take the average Operator something like a week to do even the simplest of tasks one could surmise that the record is the result of extreme safety measures or simple cowardice. &lt;br /&gt;
&lt;br /&gt;
[[Wood burning]]:&lt;br /&gt;
Wood burners lead a charmed life, revered as heroes for their use of fire to destroy the scourge that is above-ground nature, yet constantly hunted by elven assassins for the same reason. Wood burners are often local celebrities and are the pride of a fortress but the position is rarely volunteered for. The elves, in their endless attempts to destroy dwarven values, have singled wood burners out for death. The term of a Wood burner is usually ended when he his found face down with an oak arrow embedded in his spine.  &lt;br /&gt;
&lt;br /&gt;
[[Lye making]]/[[Potash making]]:&lt;br /&gt;
This labor includes letting ash float in water and then letting that water dry out (maybe). It also includes setting one’s hair on fire in a desperate attempt to liven up one’s bleak, ashy existence.&lt;br /&gt;
&lt;br /&gt;
[[Weaponsmithing]]:&lt;br /&gt;
The act of making a hammer with another hammer, creating the paradox of “where did the first hammer come from?” Weaponsmiths are often hulking brutes of considerable strength, perhaps second only to dwarven accountants in sheer muscle mass. Their job mainly consists of lifting something heavy and smacking it against something hot till something sharp is made. They are considered the backbone of the army, both for their skill in weapon creation and for their general propensity to cave in goblin skulls with their hammers. &lt;br /&gt;
&lt;br /&gt;
[[Armoring]]:&lt;br /&gt;
The rival of weaponsmithing, it’s not uncommon for inter-fortress arms races to pop up as weaponsmiths and armorers compete to one up each other. (in this case however I’m referring to the ancient dwarven tradition of “arms races” in which the participants drag themselves around the fortress using only one arm.) The armorers say they are more valuable because you only need one weapon, but many items of armor.&lt;br /&gt;
&lt;br /&gt;
[[Blacksmithing]] and [[Metalcrafting]]:&lt;br /&gt;
The work that doesn’t fall into either armoring or weaponsmithing is relegated to the humble blacksmith. The Metalsmith makes the much more mundane objects needed by the fortress, including cups which no one uses and coins that generally have no value. &lt;br /&gt;
&lt;br /&gt;
[[Gem cutting]] and [[Gem setting]]&lt;br /&gt;
Gem cutters are the jewelers of the dwarven world and are known for their flamboyant nature and sequin cloaks. They are often found, prancing about the tunnels with small hammers, gathering the raw material for their labor before returning to the shop to gently chisel away. While not a particularly proud part of the fortress gem cutters are tolerated for the vast wealth they bring in. Curiously they’re all named Shirley. Gem setters are a fair bit more dignified, even if their casual attire is a jewel encrusted codpiece. &lt;br /&gt;
&lt;br /&gt;
[[Bonecarving]]:&lt;br /&gt;
A habit most pick up in jail is actually a time honored tradition within dwarven society. It’s well known that dwarves prefer to use just about every part of an animal (not because of any sort of ethical ideal, but because it increases profit) and that they have a vicious sense of ironic humor; as such the act of turning elephant bones into arrows with which to shoot more elephants is seen not only as cost effective but as a genocidal good time. &lt;br /&gt;
&lt;br /&gt;
[[Stonecrafting]]:&lt;br /&gt;
One thing that dwarven society is never short of is spare rocks and it is the stoneworker’s job to turn all this useless debris into equally useless trade goods. Some of the strangest things a stonecrafter can make are stone musical instruments. How exactly one is expected to play a stone harp is lost on this author. &lt;br /&gt;
&lt;br /&gt;
[[Woodcrafting]]:&lt;br /&gt;
Like carpenters, woodcrafters are often the object of ridicule and anger. They do, however, have one talent which brings them some social standing: the ability to make wood bolts for crossbows. As mentioned before dwarves have a love of poetic justice and as such greatly enjoy killing elves with wooden arrows. A famous dwarven general once said of a particular conflict with the elves: “They demanded to know what we had done with all their precious trees. So our archers showed them.” &lt;br /&gt;
&lt;br /&gt;
[[Glassmaking]]:&lt;br /&gt;
Dwarves have a perilous relationship with glass. On one hand it’s fragile, a quality dwarves detest. On the other it’s shiny and involves fire in its creation, both qualities which they love. Regardless of their opinions on the substance glass tends to have few if any practical uses within a fortress, being that windows aren’t exactly a necessity a mile beneath the earth. Much like the stonecrafter the glass maker seems to focus his efforts on building things like Goblets which dwarves never use and toys which will invariably shatter into some child’s hands and eyes. However, unlike the stonecrafter, the glassmaker’s raw material is time and resource consuming to create. This leads to the common impression that dwarven glassmakers are insane. &lt;br /&gt;
&lt;br /&gt;
[[Siege engineering]] and [[Siege operating]]:&lt;br /&gt;
Merchants of death on a grand scale, Siege engineers create the dwarven weapons of mass destruction: the ballista and the catapult. Regarded as talented though a bit off, as they tend to test their wares on migrants and unsuspecting wildlife, much to their own delight. &lt;br /&gt;
&lt;br /&gt;
[[Mechanics]]:&lt;br /&gt;
The dwarven mechanic is usually considered one of the most intelligent of dwarven society, capable of constructing everything from power generators to deadly traps. Oddly enough they require only one type of mechanism to do this, though the number of these mechanisms varies from machine to machine. Humans have for years tried to discover the method by which such complex apparatuses can be constructed with only 2-3 parts and have in-so-far been unsuccessful. Another mystery is the way in which mechanics can mechanically connect two objects, even across massive distances, with only two of these mechanisms. When we questioned a dwarven mechanic by the name of Hertz about this seemingly impossible phenomenon he merely shrugged and replied “Ich habe keine Ahnung, aber es ist recht interessant.”&lt;br /&gt;
&lt;br /&gt;
[[Weaving]]:&lt;br /&gt;
While the task of weaving is usually relegated to the women of other races dwarves hold no such sexist policies. Instead they have much more dangerous policies, like capturing enormous spiders and feeding them a constant diet of crippled goblins in order to harvest the spider’s web for high value silk production. It should be noted that the dwarves also do not discriminate who to feed to said spider based on sex, race or age; in other words it’s equal opportunity murder all around. &lt;br /&gt;
&lt;br /&gt;
[[Dyeing]]:&lt;br /&gt;
A favorite activity of dwarves, especially those near volcanoes or cliffs.&lt;br /&gt;
&lt;br /&gt;
[[Clothes making]]:&lt;br /&gt;
Dwarves are a simple race when it comes to clothing; many wear and in fact prefer to wear simple clothing. Of course this simple clothing invariably degenerates into rags, prompting the creation of new clothing. After all, spending is better then mending. Counter-intuitively, though, the post as clothier is rarely filled, meaning that the demand for new clothing often goes unanswered. When asked why so few are willing to become a clothier most dwarves will simply scream and run, while the few braver souls will recount stories of horrible carnage and destruction. It is believed, after careful study, that the loom is actually a distant cousin of the Wagon; however, unlike the wagon, the loom is capable of moving of its own accord. Loss of life and limb is rife. &lt;br /&gt;
&lt;br /&gt;
[[Milling]]:&lt;br /&gt;
Dwarves tend to do this when they should otherwise be working. &lt;br /&gt;
&lt;br /&gt;
[[Hunting]]:&lt;br /&gt;
In theory this is the practice of bludgeoning, stabbing or shooting various wildlife to death in order to use their carcass as food or raw materials. In reality it’s the practice of wandering into the forest, getting trampled or gored and then dragging one’s crippled self back to the fortress where one then occupies a bed for the rest of one’s natural life. &lt;br /&gt;
&lt;br /&gt;
[[Brewing]]:&lt;br /&gt;
Brewers are loved above all others in their community and in the cases of exceptional brewers almost worshiped. A master brewer will often have a harem of comely young women (or nubile young boys) along with substantial treasure and fame. However a brewer who disgraces the practice by brewing sub-par drinks will be ridiculed and despised, or in some extreme cases publicly lynched. It should be noted that many of the aforementioned actions and decisions happen while the participants are extremely inebriated on said brewers beer. This has lead to the adage “Madder then a Dwarf on Sewer Brew” &lt;br /&gt;
&lt;br /&gt;
[[Plant gathering]]:&lt;br /&gt;
The act of tearing various plants out of the ground for various purposes, the favorite of which is “just to annoy the blasted elves”. The brewers do thank the gatherers - sometimes.&lt;br /&gt;
&lt;br /&gt;
[[Milking]]:&lt;br /&gt;
Dwarves are quite odd in their choice of which animal to milk. While all manner of mammals are available to dwarves, including the cow, camel, ox and goat, dwarves instead choose a insect as their only source of milk. Beyond this they chose a maggot that many dwarves find detestable and that can only be milked once a season. When asked why they would do something so counter-intuitive most dwarves look embarrassed and attempt to change the subject. &lt;br /&gt;
&lt;br /&gt;
[[Cheese making]]:&lt;br /&gt;
Because milk is a rather rare commodity in dwarven society, for aforementioned reasons, the prospect of cheese is rather dubious. Because of this dwarven cheese is actually extremely valuable, equal to dragon meat. This author wonders if the choice of “dwarven” cheese rather then “purring maggot” cheese has something to do with this, though dwarven cheese implies rather disturbing things in and of itself. &lt;br /&gt;
&lt;br /&gt;
[[Cooking]]:&lt;br /&gt;
Dwarven cooks are only grudgingly accepted into society, mainly because they are seen as an unnecessary step between the raw meat of the butcher and a potential meal. The dwarves are not particularly unreasonable in this either as it is a well documented fact that dwarven cooks do not, in fact, cook anything. Raw meat, plant products and Minced wine are simply mixed together to create “roasts” and “biscuits”. While these names may sound appetizing the reality of the matter is that they are gelatinous masses of grayish moist unhappiness. While many outsiders think that the miasma found around kitchens is the result of rotting food, it is actually a byproduct of successful cooking. &lt;br /&gt;
&lt;br /&gt;
[[Trapping]]:&lt;br /&gt;
Imagine, if you will, a great and grizzled mountain man with a long flowing beard and eyes shining like two great lumps of coal. Imagine this man holding a bear trap. Imagine this man chasing a mouse with this bear trap. This is the basic scenario of dwarven Trapping.&lt;br /&gt;
&lt;br /&gt;
[[Architecture]]:&lt;br /&gt;
The dwarven architect is often uneducated and inexperienced, sometimes picked simply because he is the closest to the current construction job. Thus thrust into his new position the unfortunate victim usually fails terribly, often ending in the deaths of several masons and the stranding of many more. In order to avoid embarrassment the project foreman has the architect jailed and supposedly executed. However, rather then actually executing him the foreman simply gives the victim a false beard to wear over his real one and then reintroduces him into society. By the end of his life time the average dwarf is reported to be wearing no fewer then 3 false beards over his real one.&lt;br /&gt;
&lt;br /&gt;
[[Category:Humor and stories]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Profile&amp;diff=315206</id>
		<title>Profile</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Profile&amp;diff=315206"/>
		<updated>2026-03-03T17:34:13Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Thoughts */ Add image and links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{migrated article}}&lt;br /&gt;
{{Quality|Unrated}}&lt;br /&gt;
{{av}}&lt;br /&gt;
:''(For workshop profiles, see [[Manager#Setting_workshop_profiles|Manager]].)''&lt;br /&gt;
&lt;br /&gt;
The '''profile''' (or character sheet) is an important part of the [[interface]], giving all information you can ever need (or better get by normal means)&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt; on a particular dwarf. The profile is accessible by clicking on a dwarf, and consists of several screens (or tabs): Relations, Groups, Military, Thoughts, Personality, Overview, Items, Health, Skills, Rooms, Labor.&lt;br /&gt;
&lt;br /&gt;
After clicking the dwarf the overview screen (tab) is shown giving you an overview of their&lt;br /&gt;
:* upper left box: gender, age, most important family relations and pets (if any)&lt;br /&gt;
:* upper right box: notable characteristics&lt;br /&gt;
:* second row box (left): (current) health status&lt;br /&gt;
:* second row box (right): current positions (administrativ and noble)&lt;br /&gt;
:* third row box (left): hauled (job) item, only one is shown, if multiple are hauled. Might be ie. wheelbarrow, if one is currently used by the dwarf.&lt;br /&gt;
:* third row box (right): current assigned squad (if any) and highest combat related skills&lt;br /&gt;
:* fourth row box (left): highest labor/job related skills&lt;br /&gt;
:* last row box: a quote from the dwarf (ie. about their most recent activity or their general view on life or how they are feeling) and their most recent thoughts and memories. This can give an overview of some of the most recent activities of the dwarf.&lt;br /&gt;
&lt;br /&gt;
Also on the top right side of the profile their are some buttons to view the dwarf's (recent) combat history, customize the dwarf's name and profession (ie. give the dwarf a nickname), set the camera to follow the dwarf around and a button to send the dwarf somewhere else (ie. send the dwarf to a linked site, if any, or outright expel the dwarf).&lt;br /&gt;
&lt;br /&gt;
The other tabs of the profile can be accessed by clicking a tab (above the boxes) in the profile.&lt;br /&gt;
&lt;br /&gt;
''Note:'' &amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;): Some stats (ie. concrete current attribute values, raw skill level, amount of skill experience etc.) are either not acessible by normal means (except ie. using utilities like gui/gm-editor of dfhack) or only acessible (shown), if df is run with dfhack.&lt;br /&gt;
&lt;br /&gt;
==Breakdown of (other) tabs==&lt;br /&gt;
===Relations===&lt;br /&gt;
{{main|Relationships}}&lt;br /&gt;
This section is accesible by clicking the &amp;quot;Relations&amp;quot; tab. It lists the relations with other dwarves, worshipped deities (and/or religions), pets and bonded animals. Close family relations are listed first, then any worshipped deities, followed by pets and bonded animals and at last the non-kin relationships to other dwarves (and sentient beings) are listed. The more relationships, generally, the happier they are, but also the more impacted they will be by potential deaths.&lt;br /&gt;
&lt;br /&gt;
===Groups===&lt;br /&gt;
This lists the current and former groups (also known as entities) the dwarf does (and did) belong to, their ties to that group and the positions the dwarf holds (or did hold) in that group. Every entry gives the name of the group, the type of the group/entity (ie. civilization, site government or guild) and the tie the dwarf has to the group (ie. citizen, in case of a civilization). Groups, where the dwarf holds (or did held) a position, will be listed multiple times as each position is also a link/tie to a group. Also note for each unique position (like manager or mayor) of a group only one entry is added, ie. if a dwarf was previously a manager and is again serving as a manager, it is only mentioned that the dwarf is currently the manager (and not that the dwarf is also the ex-manager), but for each squad the dwarf was (or is) part of the list will have an entry, also for each different militia captain (squad leader) position the dwarf holds (or did hold) an entry is listed (as each squad has its own unique leader).&lt;br /&gt;
&lt;br /&gt;
===Military===&lt;br /&gt;
Has three sub-tabs: squads (opened after clicking on the military tab), uniform and kills. If the dwarf is in a squad the name of the squad and the current orders are listed (in the first tab, opened upon clicking the military tab). The second tab gives an overview of the assigned uniform (if any) and the third tab shows the kill list.&lt;br /&gt;
&lt;br /&gt;
====Kill list====&lt;br /&gt;
A dwarf's [[kill_list|kill list]] is a record of what creatures they have killed ([[meat industry|slaughtering]] aside). Only dwarves that have actually killed things in hostile combat get kill lists. Some dwarves arrive at your fortress with a few kills already under their belt. Although vampires draining others of blood count as kills, in practice their true kill lists are hidden and usually empty as part of their disguise.&lt;br /&gt;
&lt;br /&gt;
===Thoughts===&lt;br /&gt;
[[File:Thoughts_v50_preview.png|right|258px]]&lt;br /&gt;
''See also: [[Thought]] and [[Memory (thought)|Memory]]''&lt;br /&gt;
&lt;br /&gt;
This screen is accessible by clicking on the &amp;quot;Thoughts&amp;quot; tab. It has two sub-tabs: Recent thoughts and Memories.&lt;br /&gt;
&lt;br /&gt;
The Recent thoughts (sub-)tab gives you a list of the recent thoughts of the dwarf (see [[Thought|thoughts]]), with the most recent thoughts (and remembered memories) listed first (in comparison to the list on the overview tab this list is much longer).&lt;br /&gt;
&lt;br /&gt;
The Memories tab gives a lists of seasons and the memories the dwarf has gained in that season (see [[Memory_(thought)|memories]]), if a listed memory (upon becoming a core memory) did change a personality facet (and/or value) it is mentioned here (but is not generally mentioned, whether a listed memory has become a core memory or not).&lt;br /&gt;
&lt;br /&gt;
===Personality===&lt;br /&gt;
[[File:Personality v50 preview.png|right|thumb|A miner's mind.]]&lt;br /&gt;
This tab consists of four sub-tabs (Traits, Values, Preferences, Needs) and gives an overview over the personality of the dwarf.&lt;br /&gt;
When the personality tab is clicked by default the Traits tab is shown.&lt;br /&gt;
&lt;br /&gt;
====Traits====&lt;br /&gt;
This tab gives a detailed description of the dwarf's (or character's) traits. &lt;br /&gt;
&lt;br /&gt;
If any of the mental attributes (see [[Attribute#Soul_attributes| mental attributes]]) are above or below the racial average attribute range, then all of these attributes are listed in the first paragraph (the paragraph is missing if all mental attributes are within the average mental attribute ranges). Instead of just listing the name of the attribute and the concrete value of the attribute a verbose description of the attribute (and the corresponding value range the attribute's value belongs to) is given instead. All attributes above the average attribute range are listed first and in green (with the attributes more tiers above the average listed before attributes with less tiers above the average) and all attributes below are listed (afterwards and) in red (with the attributes with more tiers below the average listed after the attributes with less tiers below the average, so that the worst mental attributes are listed last).&lt;br /&gt;
&lt;br /&gt;
Afterwards the [[Personality_facet| personality facets]] of the creature, which are not in the default range, are listed. As usually every creature will have a personality facet, which is not in the default range, this paragraph will usually not be empty. Again the facets, with the higher deviation from the default range are listed first. If any of the personality facets were changed due to the memory of an event becoming a core memory, for each personality facet changed, the last such event with the change is also mentioned here. Also not that temporary personality facet changes (eg. due to recent alcohol consumption) are also mentioned (and highlighted by using yellow text color).&lt;br /&gt;
&lt;br /&gt;
In the next paragraph the [[Mannerisms|mannerisms]] of the character are mentioned, which might be empty (if the character does not have any).&lt;br /&gt;
&lt;br /&gt;
And afterwards the alcohol addiction of dwarves is mentioned and it is also mentioned if the character likes working outdoors - it is not mentioned, if a character does not like working outdoors.&lt;br /&gt;
&lt;br /&gt;
====Values====&lt;br /&gt;
This subtab lists first (in one very long sentence) the general [[Personality_value|personality values]] shared by all members of that civilization. The personality values are ordered by the higher tier differences from the middle personality value tier listed before personality value with lower tier deviation. Any personality values, which belong to the middle tier, are omitted. Also all personality values, which differ from the normal personality value of that civilization are not mentioned in the first sentence.&lt;br /&gt;
Afterwards in light blue (?) text color the personality values, which differ from the cultural values (of that civilization) are mentioned.&lt;br /&gt;
And lastly, if the character has [[Personality_goal| personality goals]], these are listed afterwards (in vanilla, without adding any more personality goals ie. via dfhack, a character will have at most one personality goal).&lt;br /&gt;
&lt;br /&gt;
====Preferences====&lt;br /&gt;
This sub-tab lists the [[Preferences|preferences]] of the dwarf as well as the hateable vermin, the creature hates (or dislikes) the most.&lt;br /&gt;
&lt;br /&gt;
====Needs====&lt;br /&gt;
This sub-tab lists gives an (detailed) overview of the characters [[Need|needs]] and to which degree the need is currently met.&lt;br /&gt;
&lt;br /&gt;
===Items===&lt;br /&gt;
This tab lists the items the character is currently wearing or hauling. Any (worn) items, which are part of the regular clothing (which includes any crafts or even large gems), are marked as such (with the letter 'c' before the button at the right side of the entry) and are considered to be owned by that dwarf. Any item worn (and not hauled), which is not considered part of the regular clothing, is not considered to be owned by that dwarf. All items (ie. to view, dump or forbid the item) can be accessed via a button on the right side of the entry.&lt;br /&gt;
&lt;br /&gt;
===Health===&lt;br /&gt;
This tab has five sub-tabs, which are status, wounds, treatment, history and description. Upon clicking on the Health tab the status sub-tab is shown. If the character has any health problems, they are listed here. If the character has any (evaluated) wounds, they are listed in the wounds sub-tab. Any treatments are listed in the treatment sub-tab. The medical history (if any) of the character are given in the history sub-tab. The Description sub-tab gives a description of the dwarf (and an overview of the dwarfs physical attributes).&lt;br /&gt;
&lt;br /&gt;
====Description====&lt;br /&gt;
This tab gives a detailed description of the creatures (appearance and physical capabilities).&lt;br /&gt;
&lt;br /&gt;
First (in grey text color) a short description of the race (or species) the character belongs to is given.&lt;br /&gt;
&lt;br /&gt;
If there are any physical attributes, which deviate from the average value range of that attribute for that creature, another paragraph is added listing all physical attributes, which deviate from the average value range. The ordering of the attributes is the same as the ordering for the mental attributes (and again the attributes above the default/average value range are listed in green text and the attributes below the default/average value range are listed in red text).&lt;br /&gt;
&lt;br /&gt;
Afterwards a detailed description of the characters appearance is given. Also any missing or deformed extremeties (and organs) are listed (if there are any).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Skills===&lt;br /&gt;
This tab has five sub-tabs, which are Labor, Combat, Social, Other skills and knowledge. Upon clicking on the Skills tab the Labor sub-tab is opened. In all sub-tabs (except the Knowledge sub-tab) different skills the character has are listed. In each category the skills with the higher skill levels are listed above the skills with lower skill levels. For skills with the legendary rank, the skills with higher raw skill level are listed above other legendary skills with lower raw skill level. If a skill is considered to be rusty (or very rusty) it is mentioned here.&lt;br /&gt;
&lt;br /&gt;
The Labor sub-tab lists all skills (with at least 1 experience point), which are associated with any labor (including organizer, for administrative jobs, and appraiser, for the broker position, but not ie. ambusher). For each skill the color associated with the corresponding profession is used as text color.&lt;br /&gt;
&lt;br /&gt;
The Combat sub-tab lists all combat related skills (including Observer and Discipline, but not ie. Mining, allthough that skill is used for characters using a pick-axe as a weapon, or ambusher).&lt;br /&gt;
&lt;br /&gt;
The Social sub-tab lists all social skills of the character (including ie. leader, speaker and teacher, but not student).&lt;br /&gt;
&lt;br /&gt;
In the Other skills sub-tab all remaining skills are listed, which ie. includes all skills (except speaker), which are associated with any performance, Concentration, Student, Ambusher, Swimmer and Climber.&lt;br /&gt;
&lt;br /&gt;
The Knowledge sub-tab lists all knowledge of ie. art forms, with known poetic forms listed before known musical forms, which in turn are listed before known dance forms.&lt;br /&gt;
&lt;br /&gt;
===Rooms===&lt;br /&gt;
This tab lists all rooms (Study, Quarters, Dining Room and Tomb) which are assigned to the dwarf. If no room of a type is assigned to the character (or the character's spouse) then this is also mentioned, ie. by saying &amp;quot;No Study&amp;quot; or &amp;quot;No Dining Room&amp;quot;. If multiple rooms of a type are assigned to a character (including rooms assigned to the character's spouse) each such room is listed. Each entry has first an icon, donating the type of room, then the name of the room (or default name of that room, if the room was not named) and the type of the room (including quality) is mentioned. If any of the character's positions (noble or administrative) need a room of a certain quality, then the entry also mentions for any assigned room of that type, whether that room satisfies the requirement (and also the icon color is then changed from ie. grey, no requirement, to either green or yellow, depending on whether the room meets the requirement) - and in general all rooms, which do not satisfy the needed room quality should be removed (as the character might use the sub-standard room and thus get a bad thought from that). Also each room entry has a button on the right side to directly go to the location of that room (but this does not open the corresponding zone menu).&lt;br /&gt;
&lt;br /&gt;
===Labor===&lt;br /&gt;
This tab has four sub-tabs, which are work details (shown, after clicking the labor tab), workshops, locations and work animals. At the top of each sub-tab it is mentioned, whether the character is specialized or not (and can be changed by clicking the corresponding button).&lt;br /&gt;
&lt;br /&gt;
====Work details====&lt;br /&gt;
If the character's profession is not a baby (nor a child), then an overview of the character's work details is given here, with the possiblity to reassign the characters work details. &lt;br /&gt;
&lt;br /&gt;
====Workshops====&lt;br /&gt;
Lists the name of the workshop (if any name was given) the character is assigned to. Each list entry also has three buttons on the right side, allowing to navigate to the location of the workshop, to view the workshop's screen (and thereby exiting the character sheet) and to remove character from an assigned workshop. All build levers are considered workshops, too, so if the character is assigned to a lever (or multiple levers), the levers are also listed here.&lt;br /&gt;
&lt;br /&gt;
If the character's profession is either baby or child, then it is only stated: &amp;quot;No dedicated workshop assignments&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Locations====&lt;br /&gt;
Lists the name of the location with the type of occupation and the name of the location. The entry also has the possibility to open the corresponding location menu (or more precise to the zone assigned to a location with the lowest id) via a button or to remove the character from the assignment via a button.&lt;br /&gt;
&lt;br /&gt;
If the character's profession is either baby or child, then it is only stated: &amp;quot;No dedicated location assignments&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Work animals====&lt;br /&gt;
Lists all work animals, which are all animals trained for either hunting or war (including work animals currently assigned to other characters), and gives the possibility to assign or remove an assigned work animal from that character (note: the first time a work animal is assigned to a character the work animal is given a name) - it should also be noted that an assigned work animal cannot be removed via the list entry in the Pet/livestock tab of the unit list. It is also possible for all listed work animals to either view the current location of the work animal or to view the corresponding character sheet (profile) of that work animal.&lt;br /&gt;
&lt;br /&gt;
It should also be noted, that it is possible to assign work animals to children and babies(!) via the Pets/Lifestock tab of the unit list, but it is not possible to remove these assigned animals (before the character did come of age), because, if the character's profession is either baby or child, then it is only stated: &amp;quot;Cannot assign work animals&amp;quot; (eventhough the assignment of work animals is clearly possible, via the Pets/Lifestock tab of the unit list).&lt;br /&gt;
&lt;br /&gt;
{{category|Interface}}&lt;br /&gt;
[[ru:Profile]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Memory_(thought)&amp;diff=315205</id>
		<title>Memory (thought)</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Memory_(thought)&amp;diff=315205"/>
		<updated>2026-03-03T17:30:53Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Remove v44 version banner&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Fine}}&lt;br /&gt;
{{av}}&lt;br /&gt;
&lt;br /&gt;
[[File:memories_preview.png|thumb|258px|right|The memories of a [[scholar]].]]&lt;br /&gt;
'''Memories''' are recipients for a dwarf's [[thought]]s. They are essentially an evolution of the old trauma system from previous versions.&lt;br /&gt;
&lt;br /&gt;
Each dwarf has eight short-term memory slots and eight long-term memory slots. During a year-long period, the dwarf will &amp;quot;dwell upon/relive/remember&amp;quot; the eight events that evoked the strongest emotions (negative or positive) and receive an additional [[stress]] change. After a year in one of the short-term slots, a memory will then be moved to the long-term memory slots if it is stronger than the ones there, otherwise it is discarded. Long-term memory slots are retained forever and keep haunting the dwarf periodically (for better or for worse), until they are overwritten by even stronger memories or enter the dwarf's core memory. In order to avoid redundant and similar trauma that piles up and clogs your dwarf's slots (e.g. multiple instances of horror in battle when seeing many creatures die), memories are grouped into categories, and only the strongest emotion in each category will get a specific slot.&lt;br /&gt;
&lt;br /&gt;
The emotion evoked by the memory may change in nature as time passes, and this may cause permanent personality changes in a dwarf's [[trait]]s and [[value]]s. When this happens, it will be indicated in the [[thoughts and preferences]] screen in bright magenta: which way the trait or value changed, what event caused the change and when.&lt;br /&gt;
&lt;br /&gt;
== Mechanics ==&lt;br /&gt;
&lt;br /&gt;
Dwarves have thoughts based on their experiences, which provoke [[emotion]]s of varying degrees of strength, creating memories. Each type of memory falls into a group. Each dwarf has three memory storage systems: short-term,  long term memory, and core memory. You can see what has recently been in a dwarf's memory by looking at their [[thoughts and preferences]] screen. If an experience is immediate: &amp;quot;{{DFtext|She felt satisfied at work.}}&amp;quot; it has affected their short-term memory, but if an experience is recalled: &amp;quot;{{DFtext|She felt satisfied remembering work.}}&amp;quot; it has affected their long-term memory. Core memories are shown in detail, alongside the year of the event and a personality change that came about as a result. &amp;quot;{{DFtext|She can easily fall in love or develop positive sentiments, after gaining a sibling in 351.}}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Short-term memories ===&lt;br /&gt;
&lt;br /&gt;
A dwarf has 8 short-term memory slots. When a dwarf has a thought, a check is made to see if a memory of that group already exists in a short-term memory slot. If the thought doesn't fall into an existing group, the new thought will fill an empty slot, or if no slots are empty, overwrite the weakest memory (the one with the weakest emotion) in the 8 short-term memory slots - even if the overwritten memory is stronger than the new one. If the thought already has one of its group in a memory slot the strongest memory of the two, the new thought and the existing memory, will be kept and the other discarded.&lt;br /&gt;
&lt;br /&gt;
For example, a dwarf gets caught in the rain and is dejected (strength 1/4). If they haven't seen rain in the last year, this will be written to their memory, overwriting the weakest existing memory of a different group. If they have seen rain in the last year, it will overwrite the previously weaker emotion of being annoyed by the rain (strength 1/8), or ignore the new experience if the old emotion was the stronger being dismayed by the rain (strength 1/2).&lt;br /&gt;
&lt;br /&gt;
This mostly leads to a constant cycling of the weakest of the 8 memory slots as new thoughts overwrite each other. An overwritten thought is a forgotten thought. You can see this in the dwarf's thoughts and preferences screen, they'll mention more than 8 things that they have recently experienced, but they are only being ''affected'' by 8 of those things. The list is not a reflection of what is in their current memory, but is a reflection of what has been in their memory recently. The consequence of this cycling is that short-term memories are mostly fleeting, with a maximum of 7 short-term memories having a lasting effect on a dwarf's mood.&lt;br /&gt;
&lt;br /&gt;
=== Long-term memories ===&lt;br /&gt;
&lt;br /&gt;
Once a memory has remained in a short-term memory slot for one year it will attempt to be promoted to a long-term memory slot. There are 8 long-term memory slots, and the procedure works similarly to short-term memory allocations, with one important difference.&lt;br /&gt;
&lt;br /&gt;
When the attempt to promote is made, a check is first made to see if there is an empty slot, if there is an empty slot the memory will be promoted to that slot even if a memory of that group already exists in another long-term memory slot. It is possible (but very rare) to have more than one memory of the same group in long term memory. This cannot happen in short term memory. If there are no empty slots a check is made to see if an existing memory of the same group exists. The promotion will fail if the existing long term memory is stronger, or will overwrite if the existing long term memory is weaker. If there are no empty slots and no existing memory of the same group, then the weakest of the other existing memories in long term will be overwritten.&lt;br /&gt;
&lt;br /&gt;
When a short-term memory is promoted (or possibly fails to promote) to long term memory it leaves an empty slot in the dwarf's short-term memory. Due to the cycling of the weakest short-term memories, it tends to be the stronger emotions that cause memories to remain in short-term memory for long enough to be promoted. The effect of the promotion on the dwarf's short-term memory is that it 'purges' a slot, allowing for a relatively weaker emotion to stick around without being overwritten by the cycling.&lt;br /&gt;
&lt;br /&gt;
Long-term memories are important and can be particularly impactful on a dwarf's mood because: 1) if a dwarf is frequently experiencing the same thing, good or bad, the same emotion can easily exist in both short term and long term, effectively doubling its impact; 2) long term memories are often revisited long after an experience has ceased to occur; and 3) long term memories can become clogged with thoughts that can't be promoted further - more on that below.&lt;br /&gt;
&lt;br /&gt;
It's currently indeterminate what causes a dwarf to think about something in their long-term memory, whether it's random or predictable, but it seems to be frequent. (Across a sample size of 300 dwarves, all of whom had been in one of several 'happy' fortresses for more than 2 years, the median number of revisited memories was 9, with 83% of dwarves revisiting 8 or more long-term memories. This suggests that all of their long-term memories had been revisited at the point of sampling, with some cycling of long-term memories having occurred within the recent months.)&lt;br /&gt;
&lt;br /&gt;
=== Core memories ===&lt;br /&gt;
&lt;br /&gt;
When a dwarf thinks about a long-term memory, it has a 1:3 chance of being promoted to core memory and causing one or more personality changes, if the memory is of a group that can be promoted to core memory. There is no limit on the number of core memory slots, and it is common to have several core memory slots populated by memories of the same group, for example, several experiences of seeing dead bodies in different years are common in core memory.&lt;br /&gt;
&lt;br /&gt;
Core memories are less impactful than long-term memories, as they are rarely, if ever, revisited. However, the change that is made to the personality of the dwarf is permanent, and this can be for good or  bad.&lt;br /&gt;
&lt;br /&gt;
The majority of long-term memories that will be promoted to core memory are negative thoughts. The ones that have been found so far are: seeing a dead body, seeing somebody die, having a loved one die, being uncovered, wearing old/tattered clothing, experiencing trauma, experiencing miasma, rain, freakish weather or being made nauseous by the sun; and on the positive side: new romance, getting married, becoming a parent and gaining a sibling. A query to Toady about this tendency to promote only certain long-term memories to core memory confirmed that he thinks that there is an exclusion list, but couldn't recall what was on it at the time of the Q&amp;amp;A.&lt;br /&gt;
&lt;br /&gt;
In fact the event becoming a parent comes in pairs (for the parents only): the mother gets the additional &amp;quot;giving birth to a boy/girl/twins/triplets&amp;quot; while the father gets two instances of becoming a parent. And both usually end up as core memories and only in one case it was observed that the event did not become a long-term memory for the parents (possibly because the mother was already carrying a baby around at the time).&lt;br /&gt;
&lt;br /&gt;
The effect of mostly negative memories being promoted to core means that the long-term memory slots of a dwarf can become clogged with relatively positive emotions, if care is taken. Only the weakest long-term memory will be cycled out by short-term memories being promoted, meaning that it is possible to maintain dwarves in an ecstatic state.&lt;br /&gt;
&lt;br /&gt;
Long-term memories that are written to the core memory are removed from long-term memory, thereby leaving an empty slot.&lt;br /&gt;
&lt;br /&gt;
{{Category|Thoughts}}&lt;br /&gt;
[[ru:Memories]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Profile&amp;diff=315204</id>
		<title>Profile</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Profile&amp;diff=315204"/>
		<updated>2026-03-03T17:26:42Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Personality */ Add image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{migrated article}}&lt;br /&gt;
{{Quality|Unrated}}&lt;br /&gt;
{{av}}&lt;br /&gt;
:''(For workshop profiles, see [[Manager#Setting_workshop_profiles|Manager]].)''&lt;br /&gt;
&lt;br /&gt;
The '''profile''' (or character sheet) is an important part of the [[interface]], giving all information you can ever need (or better get by normal means)&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt; on a particular dwarf. The profile is accessible by clicking on a dwarf, and consists of several screens (or tabs): Relations, Groups, Military, Thoughts, Personality, Overview, Items, Health, Skills, Rooms, Labor.&lt;br /&gt;
&lt;br /&gt;
After clicking the dwarf the overview screen (tab) is shown giving you an overview of their&lt;br /&gt;
:* upper left box: gender, age, most important family relations and pets (if any)&lt;br /&gt;
:* upper right box: notable characteristics&lt;br /&gt;
:* second row box (left): (current) health status&lt;br /&gt;
:* second row box (right): current positions (administrativ and noble)&lt;br /&gt;
:* third row box (left): hauled (job) item, only one is shown, if multiple are hauled. Might be ie. wheelbarrow, if one is currently used by the dwarf.&lt;br /&gt;
:* third row box (right): current assigned squad (if any) and highest combat related skills&lt;br /&gt;
:* fourth row box (left): highest labor/job related skills&lt;br /&gt;
:* last row box: a quote from the dwarf (ie. about their most recent activity or their general view on life or how they are feeling) and their most recent thoughts and memories. This can give an overview of some of the most recent activities of the dwarf.&lt;br /&gt;
&lt;br /&gt;
Also on the top right side of the profile their are some buttons to view the dwarf's (recent) combat history, customize the dwarf's name and profession (ie. give the dwarf a nickname), set the camera to follow the dwarf around and a button to send the dwarf somewhere else (ie. send the dwarf to a linked site, if any, or outright expel the dwarf).&lt;br /&gt;
&lt;br /&gt;
The other tabs of the profile can be accessed by clicking a tab (above the boxes) in the profile.&lt;br /&gt;
&lt;br /&gt;
''Note:'' &amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;): Some stats (ie. concrete current attribute values, raw skill level, amount of skill experience etc.) are either not acessible by normal means (except ie. using utilities like gui/gm-editor of dfhack) or only acessible (shown), if df is run with dfhack.&lt;br /&gt;
&lt;br /&gt;
==Breakdown of (other) tabs==&lt;br /&gt;
===Relations===&lt;br /&gt;
{{main|Relationships}}&lt;br /&gt;
This section is accesible by clicking the &amp;quot;Relations&amp;quot; tab. It lists the relations with other dwarves, worshipped deities (and/or religions), pets and bonded animals. Close family relations are listed first, then any worshipped deities, followed by pets and bonded animals and at last the non-kin relationships to other dwarves (and sentient beings) are listed. The more relationships, generally, the happier they are, but also the more impacted they will be by potential deaths.&lt;br /&gt;
&lt;br /&gt;
===Groups===&lt;br /&gt;
This lists the current and former groups (also known as entities) the dwarf does (and did) belong to, their ties to that group and the positions the dwarf holds (or did hold) in that group. Every entry gives the name of the group, the type of the group/entity (ie. civilization, site government or guild) and the tie the dwarf has to the group (ie. citizen, in case of a civilization). Groups, where the dwarf holds (or did held) a position, will be listed multiple times as each position is also a link/tie to a group. Also note for each unique position (like manager or mayor) of a group only one entry is added, ie. if a dwarf was previously a manager and is again serving as a manager, it is only mentioned that the dwarf is currently the manager (and not that the dwarf is also the ex-manager), but for each squad the dwarf was (or is) part of the list will have an entry, also for each different militia captain (squad leader) position the dwarf holds (or did hold) an entry is listed (as each squad has its own unique leader).&lt;br /&gt;
&lt;br /&gt;
===Military===&lt;br /&gt;
Has three sub-tabs: squads (opened after clicking on the military tab), uniform and kills. If the dwarf is in a squad the name of the squad and the current orders are listed (in the first tab, opened upon clicking the military tab). The second tab gives an overview of the assigned uniform (if any) and the third tab shows the kill list.&lt;br /&gt;
&lt;br /&gt;
====Kill list====&lt;br /&gt;
A dwarf's [[kill_list|kill list]] is a record of what creatures they have killed ([[meat industry|slaughtering]] aside). Only dwarves that have actually killed things in hostile combat get kill lists. Some dwarves arrive at your fortress with a few kills already under their belt. Although vampires draining others of blood count as kills, in practice their true kill lists are hidden and usually empty as part of their disguise.&lt;br /&gt;
&lt;br /&gt;
===Thoughts===&lt;br /&gt;
This screen is accessible by clicking on the &amp;quot;Thoughts&amp;quot; tab. It has two sub-tabs Recent thoughts and memories. The Recent thoughts (sub-)tab gives you a list of the recent thoughts of the dwarf (see [[Thought|thoughts]]), with the most recent thoughts (and remembered memories) listed first (in comparison to the list on the overview tab this list is much longer). The Memories tab gives a lists of seasons and the memories the dwarf has gained in that season (see [[Memory_(thought)|memories]]), if a listed memory (upon becoming a core memory) did change a personality facet (and/or value) it is mentioned here (but is not generally mentioned, whether a listed memory has become a core memory or not).&lt;br /&gt;
&lt;br /&gt;
===Personality===&lt;br /&gt;
[[File:Personality v50 preview.png|right|thumb|A miner's mind.]]&lt;br /&gt;
This tab consists of four sub-tabs (Traits, Values, Preferences, Needs) and gives an overview over the personality of the dwarf.&lt;br /&gt;
When the personality tab is clicked by default the Traits tab is shown.&lt;br /&gt;
&lt;br /&gt;
====Traits====&lt;br /&gt;
This tab gives a detailed description of the dwarf's (or character's) traits. &lt;br /&gt;
&lt;br /&gt;
If any of the mental attributes (see [[Attribute#Soul_attributes| mental attributes]]) are above or below the racial average attribute range, then all of these attributes are listed in the first paragraph (the paragraph is missing if all mental attributes are within the average mental attribute ranges). Instead of just listing the name of the attribute and the concrete value of the attribute a verbose description of the attribute (and the corresponding value range the attribute's value belongs to) is given instead. All attributes above the average attribute range are listed first and in green (with the attributes more tiers above the average listed before attributes with less tiers above the average) and all attributes below are listed (afterwards and) in red (with the attributes with more tiers below the average listed after the attributes with less tiers below the average, so that the worst mental attributes are listed last).&lt;br /&gt;
&lt;br /&gt;
Afterwards the [[Personality_facet| personality facets]] of the creature, which are not in the default range, are listed. As usually every creature will have a personality facet, which is not in the default range, this paragraph will usually not be empty. Again the facets, with the higher deviation from the default range are listed first. If any of the personality facets were changed due to the memory of an event becoming a core memory, for each personality facet changed, the last such event with the change is also mentioned here. Also not that temporary personality facet changes (eg. due to recent alcohol consumption) are also mentioned (and highlighted by using yellow text color).&lt;br /&gt;
&lt;br /&gt;
In the next paragraph the [[Mannerisms|mannerisms]] of the character are mentioned, which might be empty (if the character does not have any).&lt;br /&gt;
&lt;br /&gt;
And afterwards the alcohol addiction of dwarves is mentioned and it is also mentioned if the character likes working outdoors - it is not mentioned, if a character does not like working outdoors.&lt;br /&gt;
&lt;br /&gt;
====Values====&lt;br /&gt;
This subtab lists first (in one very long sentence) the general [[Personality_value|personality values]] shared by all members of that civilization. The personality values are ordered by the higher tier differences from the middle personality value tier listed before personality value with lower tier deviation. Any personality values, which belong to the middle tier, are omitted. Also all personality values, which differ from the normal personality value of that civilization are not mentioned in the first sentence.&lt;br /&gt;
Afterwards in light blue (?) text color the personality values, which differ from the cultural values (of that civilization) are mentioned.&lt;br /&gt;
And lastly, if the character has [[Personality_goal| personality goals]], these are listed afterwards (in vanilla, without adding any more personality goals ie. via dfhack, a character will have at most one personality goal).&lt;br /&gt;
&lt;br /&gt;
====Preferences====&lt;br /&gt;
This sub-tab lists the [[Preferences|preferences]] of the dwarf as well as the hateable vermin, the creature hates (or dislikes) the most.&lt;br /&gt;
&lt;br /&gt;
====Needs====&lt;br /&gt;
This sub-tab lists gives an (detailed) overview of the characters [[Need|needs]] and to which degree the need is currently met.&lt;br /&gt;
&lt;br /&gt;
===Items===&lt;br /&gt;
This tab lists the items the character is currently wearing or hauling. Any (worn) items, which are part of the regular clothing (which includes any crafts or even large gems), are marked as such (with the letter 'c' before the button at the right side of the entry) and are considered to be owned by that dwarf. Any item worn (and not hauled), which is not considered part of the regular clothing, is not considered to be owned by that dwarf. All items (ie. to view, dump or forbid the item) can be accessed via a button on the right side of the entry.&lt;br /&gt;
&lt;br /&gt;
===Health===&lt;br /&gt;
This tab has five sub-tabs, which are status, wounds, treatment, history and description. Upon clicking on the Health tab the status sub-tab is shown. If the character has any health problems, they are listed here. If the character has any (evaluated) wounds, they are listed in the wounds sub-tab. Any treatments are listed in the treatment sub-tab. The medical history (if any) of the character are given in the history sub-tab. The Description sub-tab gives a description of the dwarf (and an overview of the dwarfs physical attributes).&lt;br /&gt;
&lt;br /&gt;
====Description====&lt;br /&gt;
This tab gives a detailed description of the creatures (appearance and physical capabilities).&lt;br /&gt;
&lt;br /&gt;
First (in grey text color) a short description of the race (or species) the character belongs to is given.&lt;br /&gt;
&lt;br /&gt;
If there are any physical attributes, which deviate from the average value range of that attribute for that creature, another paragraph is added listing all physical attributes, which deviate from the average value range. The ordering of the attributes is the same as the ordering for the mental attributes (and again the attributes above the default/average value range are listed in green text and the attributes below the default/average value range are listed in red text).&lt;br /&gt;
&lt;br /&gt;
Afterwards a detailed description of the characters appearance is given. Also any missing or deformed extremeties (and organs) are listed (if there are any).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Skills===&lt;br /&gt;
This tab has five sub-tabs, which are Labor, Combat, Social, Other skills and knowledge. Upon clicking on the Skills tab the Labor sub-tab is opened. In all sub-tabs (except the Knowledge sub-tab) different skills the character has are listed. In each category the skills with the higher skill levels are listed above the skills with lower skill levels. For skills with the legendary rank, the skills with higher raw skill level are listed above other legendary skills with lower raw skill level. If a skill is considered to be rusty (or very rusty) it is mentioned here.&lt;br /&gt;
&lt;br /&gt;
The Labor sub-tab lists all skills (with at least 1 experience point), which are associated with any labor (including organizer, for administrative jobs, and appraiser, for the broker position, but not ie. ambusher). For each skill the color associated with the corresponding profession is used as text color.&lt;br /&gt;
&lt;br /&gt;
The Combat sub-tab lists all combat related skills (including Observer and Discipline, but not ie. Mining, allthough that skill is used for characters using a pick-axe as a weapon, or ambusher).&lt;br /&gt;
&lt;br /&gt;
The Social sub-tab lists all social skills of the character (including ie. leader, speaker and teacher, but not student).&lt;br /&gt;
&lt;br /&gt;
In the Other skills sub-tab all remaining skills are listed, which ie. includes all skills (except speaker), which are associated with any performance, Concentration, Student, Ambusher, Swimmer and Climber.&lt;br /&gt;
&lt;br /&gt;
The Knowledge sub-tab lists all knowledge of ie. art forms, with known poetic forms listed before known musical forms, which in turn are listed before known dance forms.&lt;br /&gt;
&lt;br /&gt;
===Rooms===&lt;br /&gt;
This tab lists all rooms (Study, Quarters, Dining Room and Tomb) which are assigned to the dwarf. If no room of a type is assigned to the character (or the character's spouse) then this is also mentioned, ie. by saying &amp;quot;No Study&amp;quot; or &amp;quot;No Dining Room&amp;quot;. If multiple rooms of a type are assigned to a character (including rooms assigned to the character's spouse) each such room is listed. Each entry has first an icon, donating the type of room, then the name of the room (or default name of that room, if the room was not named) and the type of the room (including quality) is mentioned. If any of the character's positions (noble or administrative) need a room of a certain quality, then the entry also mentions for any assigned room of that type, whether that room satisfies the requirement (and also the icon color is then changed from ie. grey, no requirement, to either green or yellow, depending on whether the room meets the requirement) - and in general all rooms, which do not satisfy the needed room quality should be removed (as the character might use the sub-standard room and thus get a bad thought from that). Also each room entry has a button on the right side to directly go to the location of that room (but this does not open the corresponding zone menu).&lt;br /&gt;
&lt;br /&gt;
===Labor===&lt;br /&gt;
This tab has four sub-tabs, which are work details (shown, after clicking the labor tab), workshops, locations and work animals. At the top of each sub-tab it is mentioned, whether the character is specialized or not (and can be changed by clicking the corresponding button).&lt;br /&gt;
&lt;br /&gt;
====Work details====&lt;br /&gt;
If the character's profession is not a baby (nor a child), then an overview of the character's work details is given here, with the possiblity to reassign the characters work details. &lt;br /&gt;
&lt;br /&gt;
====Workshops====&lt;br /&gt;
Lists the name of the workshop (if any name was given) the character is assigned to. Each list entry also has three buttons on the right side, allowing to navigate to the location of the workshop, to view the workshop's screen (and thereby exiting the character sheet) and to remove character from an assigned workshop. All build levers are considered workshops, too, so if the character is assigned to a lever (or multiple levers), the levers are also listed here.&lt;br /&gt;
&lt;br /&gt;
If the character's profession is either baby or child, then it is only stated: &amp;quot;No dedicated workshop assignments&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Locations====&lt;br /&gt;
Lists the name of the location with the type of occupation and the name of the location. The entry also has the possibility to open the corresponding location menu (or more precise to the zone assigned to a location with the lowest id) via a button or to remove the character from the assignment via a button.&lt;br /&gt;
&lt;br /&gt;
If the character's profession is either baby or child, then it is only stated: &amp;quot;No dedicated location assignments&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Work animals====&lt;br /&gt;
Lists all work animals, which are all animals trained for either hunting or war (including work animals currently assigned to other characters), and gives the possibility to assign or remove an assigned work animal from that character (note: the first time a work animal is assigned to a character the work animal is given a name) - it should also be noted that an assigned work animal cannot be removed via the list entry in the Pet/livestock tab of the unit list. It is also possible for all listed work animals to either view the current location of the work animal or to view the corresponding character sheet (profile) of that work animal.&lt;br /&gt;
&lt;br /&gt;
It should also be noted, that it is possible to assign work animals to children and babies(!) via the Pets/Lifestock tab of the unit list, but it is not possible to remove these assigned animals (before the character did come of age), because, if the character's profession is either baby or child, then it is only stated: &amp;quot;Cannot assign work animals&amp;quot; (eventhough the assignment of work animals is clearly possible, via the Pets/Lifestock tab of the unit list).&lt;br /&gt;
&lt;br /&gt;
{{category|Interface}}&lt;br /&gt;
[[ru:Profile]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Demon&amp;diff=315203</id>
		<title>Demon</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Demon&amp;diff=315203"/>
		<updated>2026-03-03T17:16:49Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Killed demons */ Edit joke to reference mining speed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Exceptional}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{spoiler}}&lt;br /&gt;
&lt;br /&gt;
[[File:demon_preview.png|right]]'''Demons''' {{Tile|&amp;amp;|7:0}} are procedurally-generated [[creature]]s who inhabit the [[Underworld]]. These immense, malicious and formidably powerful beasts are among the most powerful enemies in the game in both [[fortress mode]] and [[adventurer mode]]. They are not available to be spawned in the [[object testing arena]].&lt;br /&gt;
&lt;br /&gt;
Graphically, the sprites that demons use will be of randomly-generated creatures with random colors that resemble the generated appearance they've been given. This same setup is used for other procedurally-generated creatures, such as [[megabeast]]s, [[angel]]s, and some [[experiment]]s.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
{{imagefix|[[File:demon_icon.png|left]]|8}}[[File:Assdemon.png|thumb|right|300px|&amp;quot;Etar Patternedtombs was a mint green demon. It was the only one of its kind. A gigantic feathered ass twisted into humanoid form. It undulates rhythmically. Its mint green feathers are patchy. Beware its deadly gas!&amp;quot; ([http://www.bay12forums.com/smf/index.php?topic=76346.msg2667300#msg2667300 post]).]]Demons inhabit the Underworld. They are randomly generated at worldgen, creating unique [[fun]] for every player. Examples of possible demons include giant centipedes made of ash that hunger for blood, eyeless mosquitoes that spit toxins, and emaciated fruitbats with giant clicking mandibles. The number of different types of demon created during world generation is closely related to world size, and it can be directly controlled with [[advanced world generation]] – a world generated with &amp;quot;{{tt|Number of Demon Types}}&amp;quot; set to {{tt|0}} in advanced world generation will not have any demons in it.&lt;br /&gt;
&lt;br /&gt;
[[File:demon_desc_v50_preview.png|thumb|300px|right|Description of a demon.]]All demons share certain traits. They are [[Creature token#SUPERNATURAL|supernatural]], [[fanciful]], evil-aligned creatures represented by an ampersand with a randomized [[color]]. They are all able to swim in and [[Amphibious|breathe]] water and magma, and [[Building destroyer|destroy buildings]]. Furthermore, they are [[Trapavoid|immune to traps]], [[No Pain|pain]], fear, nausea, [[No Stun|stunning]], [[No Exert|exertion]], dizziness, fevers, fire, any sort of poison, and have fixed body temperature, thus are unaffected by extremes of heat and cold (even if made of materials that would suggest otherwise). Roughly half possess [[Creature_token#EXTRAVISION|extravision]]. They are very large (size 10,000,000, smaller than a [[megabeast]], but larger than a [[giant]] and 167 times the size of a [[dwarf]]). They don't require sleep, food, or drink. All non-unique demons start out at Accomplished [[skill]] level in the following combat skills: wrestling, biting, striking, kicking, fighting, archery, dodging, and observing. Unique demons start out at Grand Master in the same skills. All unique demons, and roughly a half of non-unique ones, possess intelligence ([[Creature token#CAN_LEARN|&amp;lt;code&amp;gt;[CAN_LEARN]&amp;lt;/code&amp;gt;]] + [[Creature token#CAN_SPEAK|&amp;lt;code&amp;gt;[CAN_SPEAK]&amp;lt;/code&amp;gt;]]), so demons you face may well have developed their skills to a higher level than they began with; however, their skills cannot rust to a lower level. The initial wave spawns exactly one frame after you open the Underworld; the amount spawned can range from 10 to over 100. Demons inhabiting the Underworld spawn in groups of 1-5 individuals. The size of their population, specified as 5-10 in the raws, appears to be irrelevant, as the game makes all inhabitants of the Underworld spawn in limitless numbers. As long as the Underworld is unsealed, demons will continue to wander in from the edges of the map indefinitely, due to having populations that are (functionally) infinite.&lt;br /&gt;
&lt;br /&gt;
Demons receive large bonuses to every physical [[attribute]] except agility, and to the mental attributes of focus and willpower (also analytical ability, memory, linguistic ability, and social awareness, but those are less relevant). Many, but not all, are capable of flight. They may possess a wide variety of special attacks, including webbing, firebreath, poisonous appendages, toxic spittle or poison breath. Inorganic or zombie demons are especially difficult to kill; they can be killed by bisection, decapitation, or pulping via blunt weapons (inorganic blobs can only be killed in this manner), but this is far beyond the capabilities of an ordinary dwarf.&lt;br /&gt;
&lt;br /&gt;
Demons of each species can be all genderless, all male, or all female, or have both male and female castes. The latter can breed if given enough time. All demons are born adults, and immediately reach their full size after being born. They have a [[pet|pet value]] of 2000☼, but cannot be tamed, and you are rather unlikely to capture one. If you have deactivated compressed saves, the raws for a given world's demons (as well as [[forgotten beast]]s, [[titan]]s, [[werebeast]]s, etc.) can be found in the [[Saved game folder|world.dat]] of its save folder. Blob/inorganic demons tend to be genderless and non-sapient, but more research is required on this.&lt;br /&gt;
&lt;br /&gt;
Due to their somewhat spoilery nature – new players are unlikely to know they exist, creating [[Fun|much surprise]] when they inevitably dig too deep – veteran ''Dwarf Fortress'' players tend to hide the existence of demons by giving them nicknames, the most famous being '''Hidden Fun Stuff''' and '''clowns''', with the Underworld being their &amp;quot;circus&amp;quot;. Unique demons (see below), by extension, are usually referred to as the '''ringleaders'''.&lt;br /&gt;
&lt;br /&gt;
Dwarves may [[Preferences|like]] a species of demon for their ''horrifying features'', their ''rhythmic undulations'' or their ''bloated appearance''.&lt;br /&gt;
&lt;br /&gt;
== Their interaction with the world ==&lt;br /&gt;
Certain types of demons, those described as &amp;quot;being twisted into humanoid form&amp;quot; and marked with {{token|UNIQUE_DEMON|c}} instead of {{token|DEMON|c}} in world.dat, will occasionally escape the underworld. This happens by the aid of a [[deity]] through a ritual conducted with an [[artifact]] [[slab]]. It is most common that the demon and deity share a sphere, though it is not a requirement. Once they are in the mortal world, they will gain rule over a [[goblin]] [[civilization]] – each goblin faction in the world will be led by a unique demon, and attempting to create a world without demons in it through [[advanced world generation]] will lead to goblins being locked away in the underworld until a dwarf civilization digs too deep. As noted in [[Legends|legends mode]], these demons will occasionally make journeys to the [[Cavern|depths of the world]] and tame the creatures that dwell in them – most specifically, species with the {{token|PET_EXOTIC}} token – going from [[giant rat]]s to [[voracious cave crawler]]s and [[cave dragon]]s. Presumably, this is how goblin civilizations gain access to these creatures to use them in [[siege]]s.&lt;br /&gt;
&lt;br /&gt;
Demons may also arise when a dwarven civilization digs too deep in [[world generation|worldgen]] – the dwarves have a chance to fight them off, but, most of the time, the fortress will be taken over by goblins under a demonic ruler.&lt;br /&gt;
&lt;br /&gt;
Found within the goblins' [[dark fortress]]es are demonic [[Underworld spire|spires]] made of [[slade]], whose lowermost levels lead directly into the Underworld. They will also create slade [[vault]]s, whose treasure is guarded by incredibly powerful and dangerous [[angel]]s. If you can manage to fight off those freakishly strong beings ([[Fun|don't expect to by the way]]), you can find in the vault's centre the slab that contains the demon's true name. Learning this name allows your adventurer to either banish it back to the Underworld or bind it to your servitude. Although you will have a next to unkillable super soldier on your side if you opt for the latter, it's more of a bragging-rights reward, if anything – getting past the angels already requires pretty much being a god among men.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery class=&amp;quot;center&amp;quot; widths=&amp;quot;400px&amp;quot; heights=&amp;quot;184px&amp;quot;&amp;gt;&lt;br /&gt;
File:Demon banish.png|Banishing a demon back to the Underworld&lt;br /&gt;
File:Demon compel service.png|Compelling service from demon&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In [[fortress mode]], goblin law-giver demons may arrive as part of a goblin siege and are most of the time very dangerous.{{verify}}&lt;br /&gt;
&lt;br /&gt;
Demons can (and, in most cases, will) spread sphere-aligned evil from sites they control. Nightmare or darkness demons will spread regions filled with [[bogeymen]], death demons will spread reanimating evil regions, and so on. The evil-spreading can be reversed if the demon is slain or their site conquered or razed (e.g. through a [[raid]].)&lt;br /&gt;
&lt;br /&gt;
Depending on their spheres, demons may also be granted abilities similar to those of [[necromancer]]s. Death demons are able to create [[experiment]]s and raise corpses and [[intelligent undead]], though they do not raise corpses in world gen because they would be hostile to the goblins they rule. Nightmare demons may be able to summon [[nightmare]]s and [[bogeymen]].&lt;br /&gt;
&lt;br /&gt;
== Demon generation ==&lt;br /&gt;
Although the exact algorithm used to produce demons is unknown, something of the algorithm can be gathered from the string dump and analysis of demons. When generating a demon, the game begins by picking a creature from a predefined list, which is fixed and includes creatures not found in vanilla DF (such as anteater, ankylosaurid) and more general shapes (blob, quadruped, and humanoid). It is granted spheres, with a preference for &amp;quot;negative&amp;quot; spheres like misery, death, and torture. If inorganic, a material will be chosen, either one of the hardcoded ones (such as salt, ash, ice, or vomit), flames, or a randomly chosen raw-defined inorganic (any type of stone, soil, gem, metal, or other, such as gypsum plaster). If organic, it will get some sort of randomly-colored covering (such as feathers or hair) and/or have some feature (such as its eyes, nose or skin) removed. It will be granted a few &amp;quot;extra&amp;quot; features, like a tail, a trunk, or a shell, and a flavorful descriptor (such as &amp;quot;it knows and intones the names of all it encounters&amp;quot;). It may get some sort of special attack (such as a poisonous sting, toxic breath, fire breath). It will finally be given a name consisting of an adjective and a noun. The adjective will be based on the creature's color, its material (such as &amp;quot;inferno&amp;quot; or &amp;quot;snow&amp;quot;), what animal it's shaped like, or a descriptor (such as &amp;quot;winged&amp;quot;, &amp;quot;three-eyed&amp;quot; or &amp;quot;skinless&amp;quot;), and the noun chosen from the following list: demon, devil, fiend, brute, monster, spirit, ghost, banshee, haunt, phantom, specter, or wraith.&lt;br /&gt;
&lt;br /&gt;
== Strategy ==&lt;br /&gt;
[[File:Demon_Size.png|thumb|right|200px|Estimated size comparison between a typical demon and a dwarf.]]&lt;br /&gt;
&lt;br /&gt;
Of all of the challenges facing a player, defeating a demon horde is probably the most difficult, unless you are using certain [[trap]] schemes – and even then, you will need to take special precautions.&lt;br /&gt;
&lt;br /&gt;
=== Containment ===&lt;br /&gt;
Containment is the simplest strategy for dealing with demons. A simple constructed wall will block any demon. Because of their building destroyer status, demons cannot be contained via locked doors. However, indestructible artifact-quality portals can stop them, as can some bridges. As building destroyers can only destroy objects on the same z-level, a [[floor grate]] or forbidden [[hatch cover]] on a staircase/channel will also block movement. It may be difficult to lure demons away from artifact furniture, should the area need to be accessed to reset a trap. If using [[bridge]]s, be aware that any raising bridge that lands on a demon will deconstruct, and that demons can easily have internal temperatures greatly exceeding the melting points of [[steel]] or [[iron]], leading to deconstruction as they pass over them. Because of their vast numbers, containment is an important part of any attempt to defeat them – fighting two groups of 25 demons is much easier than fighting one group of 50.&lt;br /&gt;
&lt;br /&gt;
One particular gentleman, AussieGuy on the Bay12 forums, has found an ingenious method for disposing of an entire demonic invasion at once: a [[Megaprojects|stupid dwarven trick]] known as &amp;quot;the dwarven checkerboard&amp;quot;.([http://www.bay12forums.com/smf/index.php?topic=94140.0 Source])&lt;br /&gt;
&lt;br /&gt;
When using forbidden hatches to control flow of demons, note that some demons may be spawned with CANOPENDOORS to be not set, so once you unforbid the hatch, only the demons that can open doors will go through the door. The ones that can't open doors will remain behind the hatch, even if it is passable.&lt;br /&gt;
&lt;br /&gt;
=== Traps ===&lt;br /&gt;
Because all demons avoid traps, trapping demons can be very difficult – but not impossible. Demons become vulnerable to traps when they are webbed, so if you can find a way to get web onto your traps, the demons will be affected as any other creature (including your own dwarves!) would be.&lt;br /&gt;
&lt;br /&gt;
Alternatively, advanced triggered traps may be used. Demons do not set off [[pressure plate]]s, but if you can contain them, retracting upright spikes, casting them into [[obsidian]], or caving a portion of mountain onto them are all effective. Any plan involving these kind of traps must involve both a way to bait the demons to where you want them and a way to keep the demons where you want them. Tame animals appear to work well as bait, but need to be replaced as they're killed. Bridges can be used to contain the demons, but be wary of the risks of deconstruction as described above.&lt;br /&gt;
&lt;br /&gt;
Many traps need to be designed with the potential for extreme temperatures in mind. Obsidian trappers may find water used in the casting process boiling into steam before it contacts magma. Frequently, demons made of fire or steam explode on death, broiling nearby creatures and furniture. This effect can destroy upright spikes, leaving you with a trap chamber full of demons that you have no way to deal with. Demons do not destroy supports directly, but a hot enough demon may cause the destruction of nearby supports, just through heat damage. A clever dwarf might find a way to turn that to their advantage, if only such a thing as a clever dwarf existed.&lt;br /&gt;
&lt;br /&gt;
=== Ranged combat ===&lt;br /&gt;
Ranged combat sounds appealing, especially in the face of demons that explode with unimaginable heat upon death, but should be considered carefully. Most demons have vastly more powerful ranged attacks than marksdwarves have. Demons made of weak materials can be easily killed or dismembered by bolts, but inorganic demons composed of stronger stuff will only suffer chipped &amp;quot;bones&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Fortification]]s are appealing, as they can be dug directly into [[adamantine]] without ever exposing your fortress to a path to the demons. Even demons made out of steam cannot pass through a fortification unless it is submerged in 7/7 water or magma. Demons with syndrome attacks may attack through fortifications even without a path, although they appear to do so less frequently than if they have a path.&lt;br /&gt;
&lt;br /&gt;
Still, should you contain a group of demons composed of weaker materials, marksdwarves can be very effective.&lt;br /&gt;
&lt;br /&gt;
=== Melee combat ===&lt;br /&gt;
Demons can be very frightening melee opponents, as each one alone is nearly the size of a [[megabeast]], extremely fast, and has tremendous natural combat skills. That would be bad enough, but there tend to be pages of them rather than individuals. However, demons can still be defeated in melee combat.&lt;br /&gt;
&lt;br /&gt;
Despite their powerful attacks, many demons are made up of very flimsy materials, such as salt, snow, steam, or filth. A strong punch can decapitate creatures like this. Some demons, however, can be made of much harder materials, and it can be very difficult to bring down a demon composed of minerals or armor-quality metal. Blunt weapons can be reasonably effective against weaker-material demons by severing limbs and body parts despite blunt status, but are not nearly as effective against demons as they are against earthly foes that suffer from pain and blood loss; without internal organs or blood loss, piercing weapons are relatively ineffective. Good slashing weapons can reliably take down demons of any material type.&lt;br /&gt;
&lt;br /&gt;
The challenge of melee combat is how to deal with an enormous number of strong combatants while protecting against area-of-effect syndrome attacks and death explosions. Restraining visibility via a labyrinthine battleground is a good start. The area effects suggest meeting them with successive small waves of melee dwarves, but if the dwarves are too few, they'll be butchered by hundreds of angry demons before making a dent.&lt;br /&gt;
&lt;br /&gt;
In all cases, your demon-fighting melee dwarves should be very well armed and armored (steel and adamantine) and Legendary in some, if not all, of the relevant combat skills.&lt;br /&gt;
&lt;br /&gt;
=== Clean-up ===&lt;br /&gt;
Unfortunately, once the wave of demons has been dealt with, it's not yet over. [[Syndrome]]-bearing dust and blood may litter the battlefield and your survivors, and can be very difficult to isolate and contain. Some dwarves may carry burning items back from their encounters with very hot demons. Survivors should all pass through a shallow pool of water to wash them and their equipment of anything dangerous and to douse any flames. Any path used for the fight is best abandoned and walled up. Demons will continue to enter the Underworld from its map edges, as wildlife do on the surface, but path differently from the initial wave, content to wander through the Underworld even should a simple unobstructed path exist into your fortress.&lt;br /&gt;
&lt;br /&gt;
== Killed demons ==&lt;br /&gt;
Only unintelligent demons can be butchered, and butchering them yields products similar to those from [[forgotten beast]]s, including copious amounts of [[meat]] and [[bone]]s, vividly-colored [[hair]], [[feather]]s, [[scale]]s or [[chitin]], and [[shell]]s, if the demon had one. All materials obtained from demons have a value multiplier of 1, and aren't appreciably better than their mundane counterparts.&lt;br /&gt;
&lt;br /&gt;
Inorganic demons cannot be butchered, and after killing them you obtain only a massive demonic corpse to use in your [[stupid dwarf trick]].&lt;br /&gt;
&lt;br /&gt;
{{D for Dwarf}}&lt;br /&gt;
&lt;br /&gt;
Little do demons know that though their claws and fire cannot pierce the [[adamantine]] sealing them away, a simple [[copper]] [[pick]] (or any other kind of pick, for that matter) can dig right through it with enough time and effort. Armok forbid these unholy creatures ever get their hands on one. &lt;br /&gt;
&lt;br /&gt;
{{gamedata|title=Example raws (as extracted from world.sav)|[OBJECT:CREATURE]&lt;br /&gt;
&lt;br /&gt;
[CREATURE:DEMON_1]&lt;br /&gt;
[NAME:brine brute:brine brutes:brine brute]&lt;br /&gt;
[CASTE_NAME:brine brute:brine brutes:brine brute]&lt;br /&gt;
[GENERATED]&lt;br /&gt;
[DEMON]&lt;br /&gt;
[NATURAL_SKILL:WRESTLING:10]&lt;br /&gt;
[NATURAL_SKILL:BITE:10]&lt;br /&gt;
[NATURAL_SKILL:GRASP_STRIKE:10]&lt;br /&gt;
[NATURAL_SKILL:STANCE_STRIKE:10]&lt;br /&gt;
[NATURAL_SKILL:MELEE_COMBAT:10]&lt;br /&gt;
[NATURAL_SKILL:RANGED_COMBAT:10]&lt;br /&gt;
[NATURAL_SKILL:DODGING:10]&lt;br /&gt;
[NATURAL_SKILL:SITUATIONAL_AWARENESS:10]&lt;br /&gt;
[LARGE_ROAMING]&lt;br /&gt;
[LARGE_PREDATOR]&lt;br /&gt;
[DIFFICULTY:10]&lt;br /&gt;
[BIOME:SUBTERRANEAN_CHASM]&lt;br /&gt;
[UNDERGROUND_DEPTH:5:5]&lt;br /&gt;
[POPULATION_NUMBER:5:10]&lt;br /&gt;
[CLUSTER_NUMBER:1:5]&lt;br /&gt;
[FEMALE]&lt;br /&gt;
[PHYS_ATT_RANGE:STRENGTH:450:1050:1150:1250:1350:1550:2250]&lt;br /&gt;
[PHYS_ATT_RANGE:TOUGHNESS:450:1050:1150:1250:1350:1550:2250]&lt;br /&gt;
[PHYS_ATT_RANGE:ENDURANCE:450:1050:1150:1250:1350:1550:2250]&lt;br /&gt;
[PHYS_ATT_RANGE:RECUPERATION:450:1050:1150:1250:1350:1550:2250]&lt;br /&gt;
[PHYS_ATT_RANGE:DISEASE_RESISTANCE:700:1300:1400:1500:1600:1800:2500]&lt;br /&gt;
[MENT_ATT_RANGE:ANALYTICAL_ABILITY:1250:1500:1750:2000:2500:3000:5000]&lt;br /&gt;
[MENT_ATT_RANGE:FOCUS:1250:1500:1750:2000:2500:3000:5000]&lt;br /&gt;
[MENT_ATT_RANGE:WILLPOWER:1250:1500:1750:2000:2500:3000:5000]&lt;br /&gt;
[MENT_ATT_RANGE:PATIENCE:0:333:666:1000:2333:3666:5000]&lt;br /&gt;
[MENT_ATT_RANGE:MEMORY:1250:1500:1750:2000:2500:3000:5000]&lt;br /&gt;
[MENT_ATT_RANGE:LINGUISTIC_ABILITY:450:1050:1150:1250:1350:1550:2250]&lt;br /&gt;
[MENT_ATT_RANGE:MUSICALITY:0:333:666:1000:2333:3666:5000]&lt;br /&gt;
[MENT_ATT_RANGE:SOCIAL_AWARENESS:700:1300:1400:1500:1600:1800:2500]&lt;br /&gt;
[PERSONALITY:ANXIETY_PROPENSITY:0:0:0]&lt;br /&gt;
[PERSONALITY:DEPRESSION_PROPENSITY:0:0:0]&lt;br /&gt;
[PERSONALITY:BASHFUL:0:0:0]&lt;br /&gt;
[PERSONALITY:STRESS_VULNERABILITY:0:0:0]&lt;br /&gt;
[PERSONALITY:FRIENDLINESS:0:0:0]&lt;br /&gt;
[PERSONALITY:ASSERTIVENESS:100:100:100]&lt;br /&gt;
[PERSONALITY:DISDAIN_ADVICE:100:100:100]&lt;br /&gt;
[PERSONALITY:CHEER_PROPENSITY:0:0:0]&lt;br /&gt;
[PERSONALITY:GRATITUDE:0:0:0]&lt;br /&gt;
[PERSONALITY:TRUST:0:0:0]&lt;br /&gt;
[PERSONALITY:ALTRUISM:0:0:0]&lt;br /&gt;
[PERSONALITY:SWAYED_BY_EMOTIONS:0:0:0]&lt;br /&gt;
[PERSONALITY:CRUELTY:100:100:100]&lt;br /&gt;
[PERSONALITY:PRIDE:100:100:100]&lt;br /&gt;
[PERSONALITY:GREED:100:100:100]&lt;br /&gt;
[NO_DRINK]&lt;br /&gt;
[NO_EAT]&lt;br /&gt;
[NO_SLEEP]&lt;br /&gt;
[BODY_APPEARANCE_MODIFIER:HEIGHT:90:95:98:100:102:105:110]&lt;br /&gt;
[BODY_APPEARANCE_MODIFIER:BROADNESS:90:95:98:100:102:105:110]&lt;br /&gt;
[MAGMA_VISION]&lt;br /&gt;
[EVIL]&lt;br /&gt;
[FANCIFUL]&lt;br /&gt;
[SUPERNATURAL]&lt;br /&gt;
[AMPHIBIOUS]&lt;br /&gt;
[PETVALUE:2000]&lt;br /&gt;
[GRASSTRAMPLE:20]&lt;br /&gt;
[BUILDINGDESTROYER:2]&lt;br /&gt;
[ALL_ACTIVE]&lt;br /&gt;
[SWIMS_INNATE]&lt;br /&gt;
[TRAPAVOID]&lt;br /&gt;
[NOPAIN]&lt;br /&gt;
[NOSTUN]&lt;br /&gt;
[NONAUSEA]&lt;br /&gt;
[NOFEAR]&lt;br /&gt;
[NOEXERT]&lt;br /&gt;
[NO_DIZZINESS]&lt;br /&gt;
[NO_FEVERS]&lt;br /&gt;
[LARGE_PREDATOR]&lt;br /&gt;
[SPHERE:FISHING]&lt;br /&gt;
[SPHERE:HUNTING]&lt;br /&gt;
[SPHERE:MISERY]&lt;br /&gt;
[SPHERE:TORTURE]&lt;br /&gt;
[BODY_SIZE:0:0:10000000]&lt;br /&gt;
[CREATURE_TILE:'&amp;amp;']&lt;br /&gt;
[NO_THOUGHT_CENTER_FOR_MOVEMENT]&lt;br /&gt;
[BODY:RCP_BASIC_BODY_STANCE_WITH_HEAD_FLAG:RCP_TWO_FLIGHTLESS_WINGS]&lt;br /&gt;
[TISSUE:UNIFORM_TIS]&lt;br /&gt;
[TISSUE_NAME:tissue:NP]&lt;br /&gt;
[TISSUE_MATERIAL:SALT]&lt;br /&gt;
[TISSUE_MAT_STATE:SOLID_POWDER]&lt;br /&gt;
[MUSCULAR]&lt;br /&gt;
[FUNCTIONAL]&lt;br /&gt;
[STRUCTURAL]&lt;br /&gt;
[RELATIVE_THICKNESS:1]&lt;br /&gt;
[CONNECTS]&lt;br /&gt;
[TISSUE_SHAPE:LAYER]&lt;br /&gt;
[TISSUE_LAYER:BY_CATEGORY:ALL:UNIFORM_TIS]&lt;br /&gt;
[BODY_DETAIL_PLAN:STANDARD_HEAD_POSITIONS]&lt;br /&gt;
[BODY_DETAIL_PLAN:HUMANOID_HEAD_POSITIONS]&lt;br /&gt;
[BODY_DETAIL_PLAN:HUMANOID_RELSIZES]&lt;br /&gt;
[NOT_LIVING]&lt;br /&gt;
[NOT_BUTCHERABLE]&lt;br /&gt;
[COLOR:7:0:1]&lt;br /&gt;
[NOBREATHE]&lt;br /&gt;
[EXTRAVISION]&lt;br /&gt;
[FLIER]&lt;br /&gt;
[FIXED_TEMP:10040]&lt;br /&gt;
[FIREIMMUNE]&lt;br /&gt;
[GAIT:SWIM:Maximum Swim Speed:725:10:3:2175:50:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:50]&lt;br /&gt;
[GAIT:SWIM:Faster Swim:1450:5:3:2175:10:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:20]&lt;br /&gt;
[GAIT:SWIM:Fast Swim:2175:NO_BUILD_UP:5:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:10]&lt;br /&gt;
[GAIT:SWIM:Swim:2900:NO_BUILD_UP:0]( [GAIT:SWIM:Slow Swim:3900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:SWIM:Creeping Swim:5900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:FLY:Maximum Flight Speed:225:10:3:675:50:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:50]&lt;br /&gt;
[GAIT:FLY:Faster Flight:450:5:3:675:10:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:20]&lt;br /&gt;
[GAIT:FLY:Fast Flight:675:NO_BUILD_UP:5:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:10]&lt;br /&gt;
[GAIT:FLY:Fly:900:NO_BUILD_UP:0]) [GAIT:FLY:Slow Flight:1900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:FLY:Hover:2900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:WALK:Scramble:725:10:3:2175:50:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:50]&lt;br /&gt;
[GAIT:WALK:Faster Crawl:1450:5:3:2175:10:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:20]&lt;br /&gt;
[GAIT:WALK:Fast Crawl:2175:NO_BUILD_UP:5:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:10]&lt;br /&gt;
[GAIT:WALK:Crawl:2900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:WALK:Slow Crawl:5900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:WALK:Creep:8900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:CRAWL:Scramble:225:10:3:675:50:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:50]&lt;br /&gt;
[GAIT:CRAWL:Faster Crawl:450:5:3:675:10:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:20]&lt;br /&gt;
[GAIT:CRAWL:Fast Crawl:675:NO_BUILD_UP:5:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:10]&lt;br /&gt;
[GAIT:CRAWL:Crawl:900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:CRAWL:Slow Crawl:1900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:CRAWL:Creep:2900:NO_BUILD_UP:0]&lt;br /&gt;
[DESCRIPTION:A towering slug composed of salt.  It has wings and it has a gaunt appearance.]&lt;br /&gt;
[PREFSTRING:horrifying features]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{gamedata|title=Example [UNIQUE_DEMON] raws (as extracted from world.sav)|[OBJECT:CREATURE]&lt;br /&gt;
&lt;br /&gt;
[CREATURE:DEMON_3]&lt;br /&gt;
[NAME:clear devil:clear devils:clear devilish]&lt;br /&gt;
[CASTE_NAME:clear devil:clear devils:clear devilish]&lt;br /&gt;
[GENERATED]&lt;br /&gt;
[UNIQUE_DEMON]&lt;br /&gt;
[SPREAD_EVIL_SPHERES_IF_RULER]&lt;br /&gt;
[NATURAL_SKILL:WRESTLING:14]&lt;br /&gt;
[NATURAL_SKILL:BITE:14]&lt;br /&gt;
[NATURAL_SKILL:GRASP_STRIKE:14]&lt;br /&gt;
[NATURAL_SKILL:STANCE_STRIKE:14]&lt;br /&gt;
[NATURAL_SKILL:MELEE_COMBAT:14]&lt;br /&gt;
[NATURAL_SKILL:RANGED_COMBAT:14]&lt;br /&gt;
[NATURAL_SKILL:DODGING:14]&lt;br /&gt;
[NATURAL_SKILL:SITUATIONAL_AWARENESS:14]&lt;br /&gt;
[CAN_LEARN]&lt;br /&gt;
[CAN_SPEAK]&lt;br /&gt;
[DIFFICULTY:10]&lt;br /&gt;
[NO_GENDER]&lt;br /&gt;
[PHYS_ATT_RANGE:STRENGTH:450:1050:1150:1250:1350:1550:2250]&lt;br /&gt;
[PHYS_ATT_RANGE:TOUGHNESS:450:1050:1150:1250:1350:1550:2250]&lt;br /&gt;
[PHYS_ATT_RANGE:ENDURANCE:450:1050:1150:1250:1350:1550:2250]&lt;br /&gt;
[PHYS_ATT_RANGE:RECUPERATION:450:1050:1150:1250:1350:1550:2250]&lt;br /&gt;
[PHYS_ATT_RANGE:DISEASE_RESISTANCE:700:1300:1400:1500:1600:1800:2500]&lt;br /&gt;
[MENT_ATT_RANGE:ANALYTICAL_ABILITY:1250:1500:1750:2000:2500:3000:5000]&lt;br /&gt;
[MENT_ATT_RANGE:FOCUS:1250:1500:1750:2000:2500:3000:5000]&lt;br /&gt;
[MENT_ATT_RANGE:WILLPOWER:1250:1500:1750:2000:2500:3000:5000]&lt;br /&gt;
[MENT_ATT_RANGE:PATIENCE:0:333:666:1000:2333:3666:5000]&lt;br /&gt;
[MENT_ATT_RANGE:MEMORY:1250:1500:1750:2000:2500:3000:5000]&lt;br /&gt;
[MENT_ATT_RANGE:LINGUISTIC_ABILITY:450:1050:1150:1250:1350:1550:2250]&lt;br /&gt;
[MENT_ATT_RANGE:MUSICALITY:0:333:666:1000:2333:3666:5000]&lt;br /&gt;
[MENT_ATT_RANGE:SOCIAL_AWARENESS:700:1300:1400:1500:1600:1800:2500]&lt;br /&gt;
[PERSONALITY:ANXIETY_PROPENSITY:0:0:0]&lt;br /&gt;
[PERSONALITY:DEPRESSION_PROPENSITY:0:0:0]&lt;br /&gt;
[PERSONALITY:BASHFUL:0:0:0]&lt;br /&gt;
[PERSONALITY:STRESS_VULNERABILITY:0:0:0]&lt;br /&gt;
[PERSONALITY:FRIENDLINESS:0:0:0]&lt;br /&gt;
[PERSONALITY:ASSERTIVENESS:100:100:100]&lt;br /&gt;
[PERSONALITY:DISDAIN_ADVICE:100:100:100]&lt;br /&gt;
[PERSONALITY:CHEER_PROPENSITY:0:0:0]&lt;br /&gt;
[PERSONALITY:GRATITUDE:0:0:0]&lt;br /&gt;
[PERSONALITY:TRUST:0:0:0]&lt;br /&gt;
[PERSONALITY:ALTRUISM:0:0:0]&lt;br /&gt;
[PERSONALITY:SWAYED_BY_EMOTIONS:0:0:0]&lt;br /&gt;
[PERSONALITY:CRUELTY:100:100:100]&lt;br /&gt;
[PERSONALITY:PRIDE:100:100:100]&lt;br /&gt;
[PERSONALITY:GREED:100:100:100]&lt;br /&gt;
[NO_DRINK]&lt;br /&gt;
[NO_EAT]&lt;br /&gt;
[NO_SLEEP]&lt;br /&gt;
[BODY_APPEARANCE_MODIFIER:HEIGHT:90:95:98:100:102:105:110]&lt;br /&gt;
[BODY_APPEARANCE_MODIFIER:BROADNESS:90:95:98:100:102:105:110]&lt;br /&gt;
[MAGMA_VISION]&lt;br /&gt;
[EVIL]&lt;br /&gt;
[FANCIFUL]&lt;br /&gt;
[SUPERNATURAL]&lt;br /&gt;
[AMPHIBIOUS]&lt;br /&gt;
[PETVALUE:2000]&lt;br /&gt;
[GRASSTRAMPLE:20]&lt;br /&gt;
[BUILDINGDESTROYER:2]&lt;br /&gt;
[ALL_ACTIVE]&lt;br /&gt;
[SWIMS_INNATE]&lt;br /&gt;
[TRAPAVOID]&lt;br /&gt;
[NOPAIN]&lt;br /&gt;
[NOSTUN]&lt;br /&gt;
[NONAUSEA]&lt;br /&gt;
[NOFEAR]&lt;br /&gt;
[NOEXERT]&lt;br /&gt;
[NO_DIZZINESS]&lt;br /&gt;
[NO_FEVERS]&lt;br /&gt;
[LARGE_PREDATOR]&lt;br /&gt;
[SPHERE:BLIGHT]&lt;br /&gt;
[SPHERE:DEATH]&lt;br /&gt;
[SPHERE:MURDER]&lt;br /&gt;
[SPHERE:TWILIGHT]&lt;br /&gt;
[BODY_SIZE:0:0:10000000]&lt;br /&gt;
[CREATURE_TILE:'&amp;amp;']&lt;br /&gt;
[BODY:RCP_UPPER_BODY:RCP_LOWER_BODY:RCP_NECK:RCP_HEAD:RCP_TWO_PART_ARMS:RCP_TWO_PART_LEGS:RCP_TAIL:RCP_4_FINGERS:RCP_4_TOES:RCP_LUNGS:RCP_HEART:RCP_GUTS:RCP_THROAT:RCP_SPINE:RCP_UPPER_SPINE:RCP_BRAIN:RCP_SKULL:RCP_MOUTH:RCP_TONGUE:RCP_TEETH:RCP_RIBS]&lt;br /&gt;
[CANOPENDOORS]&lt;br /&gt;
[EQUIPS]&lt;br /&gt;
[BODY_DETAIL_PLAN:STANDARD_MATERIALS]&lt;br /&gt;
[REMOVE_MATERIAL:SKIN]&lt;br /&gt;
[REMOVE_MATERIAL:HAIR]&lt;br /&gt;
[USE_MATERIAL_TEMPLATE:SCALE:SCALE_TEMPLATE]&lt;br /&gt;
[BODY_DETAIL_PLAN:STANDARD_TISSUES]&lt;br /&gt;
[REMOVE_TISSUE:SKIN]&lt;br /&gt;
[REMOVE_TISSUE:HAIR]&lt;br /&gt;
[USE_TISSUE_TEMPLATE:SCALE:SCALE_TEMPLATE]&lt;br /&gt;
[BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:SCALE:FAT:MUSCLE:BONE:CARTILAGE]&lt;br /&gt;
[BODY_DETAIL_PLAN:STANDARD_HEAD_POSITIONS]&lt;br /&gt;
[BODY_DETAIL_PLAN:HUMANOID_HEAD_POSITIONS]&lt;br /&gt;
[BODY_DETAIL_PLAN:HUMANOID_RIBCAGE_POSITIONS]&lt;br /&gt;
[BODY_DETAIL_PLAN:HUMANOID_RELSIZES]&lt;br /&gt;
[USE_MATERIAL_TEMPLATE:SINEW:SINEW_TEMPLATE]&lt;br /&gt;
[TENDONS:LOCAL_CREATURE_MAT:SINEW:200]&lt;br /&gt;
[LIGAMENTS:LOCAL_CREATURE_MAT:SINEW:200]&lt;br /&gt;
[HAS_NERVES]&lt;br /&gt;
[NOBREATHE]&lt;br /&gt;
[EXTRAVISION]&lt;br /&gt;
[FIXED_TEMP:10040]&lt;br /&gt;
[SELECT_MATERIAL:SCALE]&lt;br /&gt;
[STATE_COLOR:ALL_SOLID:CLEAR]&lt;br /&gt;
[COLOR:0:0:1]&lt;br /&gt;
[SELECT_TISSUE_LAYER:HEART:BY_CATEGORY:HEART]&lt;br /&gt;
[PLUS_TISSUE_LAYER:SCALE:BY_CATEGORY:THROAT]&lt;br /&gt;
[TL_MAJOR_ARTERIES]&lt;br /&gt;
[USE_MATERIAL_TEMPLATE:GOO:GOO_TEMPLATE]&lt;br /&gt;
[BLOOD:LOCAL_CREATURE_MAT:GOO:LIQUID]&lt;br /&gt;
[USE_MATERIAL_TEMPLATE:CLAW:NAIL_TEMPLATE]&lt;br /&gt;
[USE_TISSUE_TEMPLATE:CLAW:CLAW_TEMPLATE]&lt;br /&gt;
[TISSUE_LAYER:BY_CATEGORY:FINGER:CLAW:FRONT]&lt;br /&gt;
[TISSUE_LAYER:BY_CATEGORY:TOE:CLAW:FRONT]&lt;br /&gt;
[USE_MATERIAL_TEMPLATE:POISON:CREATURE_EXTRACT_TEMPLATE]&lt;br /&gt;
[ENTERS_BLOOD]&lt;br /&gt;
[SYNDROME]&lt;br /&gt;
[SYN_NAME:demon sickness]&lt;br /&gt;
[SYN_AFFECTED_CLASS:GENERAL_POISON]&lt;br /&gt;
[SYN_IMMUNE_CREATURE:DEMON_3:ALL]&lt;br /&gt;
[SYN_INJECTED]&lt;br /&gt;
[SYN_CONTACT]&lt;br /&gt;
[SYN_INHALED]&lt;br /&gt;
[SYN_INGESTED]&lt;br /&gt;
[CE_DROWSINESS:SEV:100:PROB:100:START:565:PEAK:1649:END:4938:RESISTABLE:SIZE_DELAYS:SIZE_DILUTES]&lt;br /&gt;
[SECRETION:LOCAL_CREATURE_MAT:POISON:LIQUID:BY_CATEGORY:ALL:SCALE]&lt;br /&gt;
[FIREIMMUNE]&lt;br /&gt;
[ATTACK:PUNCH:BODYPART:BY_TYPE:GRASP]&lt;br /&gt;
[ATTACK_SKILL:GRASP_STRIKE]&lt;br /&gt;
[ATTACK_VERB:punch:punches]&lt;br /&gt;
[ATTACK_CONTACT_PERC:100]&lt;br /&gt;
[ATTACK_PREPARE_AND_RECOVER:2:2]&lt;br /&gt;
[ATTACK_FLAG_WITH]&lt;br /&gt;
[ATTACK_PRIORITY:MAIN]&lt;br /&gt;
[ATTACK:KICK:BODYPART:BY_TYPE:STANCE]&lt;br /&gt;
[ATTACK_SKILL:STANCE_STRIKE]&lt;br /&gt;
[ATTACK_VERB:kick:kicks]&lt;br /&gt;
[ATTACK_CONTACT_PERC:100]&lt;br /&gt;
[ATTACK_PREPARE_AND_RECOVER:2:2]&lt;br /&gt;
[ATTACK_FLAG_WITH]&lt;br /&gt;
[ATTACK_PRIORITY:MAIN]&lt;br /&gt;
[ATTACK_FLAG_BAD_MULTIATTACK]&lt;br /&gt;
[ATTACK:BITE:CHILD_BODYPART_GROUP:BY_CATEGORY:HEAD:BY_CATEGORY:TOOTH]&lt;br /&gt;
[ATTACK_SKILL:BITE]&lt;br /&gt;
[ATTACK_VERB:bite:bites]&lt;br /&gt;
[ATTACK_CONTACT_PERC:100]&lt;br /&gt;
[ATTACK_PENETRATION_PERC:100]&lt;br /&gt;
[ATTACK_PREPARE_AND_RECOVER:2:2]&lt;br /&gt;
[ATTACK_FLAG_EDGE]&lt;br /&gt;
[ATTACK_PRIORITY:MAIN]&lt;br /&gt;
[ATTACK_FLAG_CANLATCH]&lt;br /&gt;
[ATTACK:FSCRATCH:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:GRASP:BY_CATEGORY:ALL:CLAW]&lt;br /&gt;
[ATTACK_SKILL:GRASP_STRIKE]&lt;br /&gt;
[ATTACK_VERB:scratch:scratches]&lt;br /&gt;
[ATTACK_CONTACT_PERC:100]&lt;br /&gt;
[ATTACK_PENETRATION_PERC:100]&lt;br /&gt;
[ATTACK_PREPARE_AND_RECOVER:2:2]&lt;br /&gt;
[ATTACK_FLAG_EDGE]&lt;br /&gt;
[ATTACK_PRIORITY:MAIN]&lt;br /&gt;
[ATTACK:TSCRATCH:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:STANCE:BY_CATEGORY:ALL:CLAW]&lt;br /&gt;
[ATTACK_SKILL:STANCE_STRIKE]&lt;br /&gt;
[ATTACK_VERB:scratch:scratches]&lt;br /&gt;
[ATTACK_CONTACT_PERC:100]&lt;br /&gt;
[ATTACK_PENETRATION_PERC:100]&lt;br /&gt;
[ATTACK_PREPARE_AND_RECOVER:2:2]&lt;br /&gt;
[ATTACK_FLAG_EDGE]&lt;br /&gt;
[ATTACK_PRIORITY:MAIN]&lt;br /&gt;
[ATTACK_FLAG_BAD_MULTIATTACK]&lt;br /&gt;
[SELECT_MATERIAL:ALL]&lt;br /&gt;
[MAT_FIXED_TEMP:10040]&lt;br /&gt;
[HEATDAM_POINT:NONE]&lt;br /&gt;
[COLDDAM_POINT:NONE]&lt;br /&gt;
[IGNITE_POINT:NONE]&lt;br /&gt;
[GAIT:SWIM:Maximum Swim Speed:725:10:3:2175:50:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:50]&lt;br /&gt;
[GAIT:SWIM:Faster Swim:1450:5:3:2175:10:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:20]&lt;br /&gt;
[GAIT:SWIM:Fast Swim:2175:NO_BUILD_UP:5:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:10]&lt;br /&gt;
[GAIT:SWIM:Swim:2900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:SWIM:Slow Swim:3900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:SWIM:Creeping Swim:5900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:WALK:Sprint:225:10:3:675:50:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:50]&lt;br /&gt;
[GAIT:WALK:Run:450:5:3:675:10:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:20]&lt;br /&gt;
[GAIT:WALK:Jog:675:NO_BUILD_UP:5:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:10]&lt;br /&gt;
[GAIT:WALK:Walk:900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:WALK:Stroll:1900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:WALK:Creep:2900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:CRAWL:Scramble:225:10:3:675:50:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:50]&lt;br /&gt;
[GAIT:CRAWL:Faster Crawl:450:5:3:675:10:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:20]&lt;br /&gt;
[GAIT:CRAWL:Fast Crawl:675:NO_BUILD_UP:5:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:10]&lt;br /&gt;
[GAIT:CRAWL:Crawl:900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:CRAWL:Slow Crawl:1900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:CRAWL:Creep:2900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:CLIMB:Scramble:225:10:3:675:50:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:50]&lt;br /&gt;
[GAIT:CLIMB:Faster Climb:450:5:3:675:10:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:20]&lt;br /&gt;
[GAIT:CLIMB:Fast Climb:675:NO_BUILD_UP:5:LAYERS_SLOW:STRENGTH:AGILITY:STEALTH_SLOWS:10]&lt;br /&gt;
[GAIT:CLIMB:Climb:900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:CLIMB:Slow Climb:1900:NO_BUILD_UP:0]&lt;br /&gt;
[GAIT:CLIMB:Creep:2900:NO_BUILD_UP:0]&lt;br /&gt;
[DESCRIPTION:A gigantic eyeless chameleon twisted into humanoid form.  It squirms and fidgets.  Its clear scales are large and set far apart.  Beware its noxious secretions!]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Creatures}}&lt;br /&gt;
{{Category|Amphibious}}&lt;br /&gt;
{{Category|Building destroyer}}&lt;br /&gt;
{{Category|HFS}}&lt;br /&gt;
{{Category|Fanciful}}&lt;br /&gt;
{{Category|Fire immune}}&lt;br /&gt;
{{Category|Learns}}&lt;br /&gt;
{{Category|No Exert}}&lt;br /&gt;
{{Category|No Pain}}&lt;br /&gt;
{{Category|No Stun}}&lt;br /&gt;
[[ru:Demon]]&lt;br /&gt;
&lt;br /&gt;
{{Translation&lt;br /&gt;
| dwarven = uthgúr&lt;br /&gt;
| elvish  = slevina&lt;br /&gt;
| goblin  = arstruk&lt;br /&gt;
| human   = rohir&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Grime&amp;diff=314521</id>
		<title>Grime</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Grime&amp;diff=314521"/>
		<updated>2026-01-29T07:08:01Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: FB grime palette&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Fine}}&lt;br /&gt;
{{av}}&lt;br /&gt;
&lt;br /&gt;
'''Grime''' is a brown-colored [[contaminant]] that makes [[water]] from [[murky pool]]s disgusting to drink. When in item form, the water will be described as &amp;quot;laced with grime&amp;quot;. [[Ice]] mined from frozen murky pools will be described as &amp;quot;dirty ice&amp;quot;, and will also be coated in grime.&lt;br /&gt;
&lt;br /&gt;
Randomly generated creatures such as [[forgotten beast]]s may occasionally be composed of &amp;quot;grime and [[filth]]&amp;quot;, giving them the appearance of [[miasma]] in the graphical version.&lt;br /&gt;
&lt;br /&gt;
[[File:grime.jpg|thumb|300px|center|Waste and grime being dumped in water.]]&lt;br /&gt;
&lt;br /&gt;
{{gamedata|{{raw|DF2014:hardcoded_materials.txt|MATERIAL|GRIME}}}}&lt;br /&gt;
{{materials}}&lt;br /&gt;
&lt;br /&gt;
{{Category|Materials}}&lt;br /&gt;
[[ru:Grime]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Lua_scripting&amp;diff=314520</id>
		<title>Lua scripting</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Lua_scripting&amp;diff=314520"/>
		<updated>2026-01-29T06:57:10Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Tweaks */ humanoidable_only remap&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
[[File:Lua-Logo.svg|100px|right]]&lt;br /&gt;
{{Modding}}&lt;br /&gt;
&lt;br /&gt;
''This article is about procedural raw generation. Information on [[Utility:DFHack]] scripting can be found at https://docs.dfhack.org/en/stable/.''&lt;br /&gt;
&lt;br /&gt;
'''[https://www.lua.org/ Lua] scripting''' is a feature of Dwarf Fortress's [[modding]] system. It is used to write definitions for procedurally-generated objects, with the stated goal of &amp;quot;supporting future [[Magic|magical]] endeavors.&amp;quot; [https://www.youtube.com/watch?v=Z9rzhFwgfUk]&lt;br /&gt;
&lt;br /&gt;
It was added as an experimental feature in version 51.06 [https://store.steampowered.com/news/app/975370/view/547854206358257941?l=english] and incorporated into the 52.01 release. [https://www.bay12games.com/dwarves/index.html#2025-07-21][https://store.steampowered.com/news/app/975370/view/547867141501617961]&lt;br /&gt;
&lt;br /&gt;
Inorganic [[Material definition token|materials]], [[Language token|languages]], [[Creature token|creatures]], [[Interaction token|interactions]],  [[Item token|items]] (currently excluding instruments), [[reaction]]s, [[Entity token|entities]], and [[Plant token|plants]] are open to this system.&lt;br /&gt;
&lt;br /&gt;
Scripts are loaded from a mod's ``scripts/init.lua`` file, and can ``require()`` other files.&lt;br /&gt;
&lt;br /&gt;
==Videos==&lt;br /&gt;
Announcement video:&lt;br /&gt;
*[https://www.youtube.com/watch?v=Z9rzhFwgfUk More powerful mods coming to Dwarf Fortress via Lua]&lt;br /&gt;
Tutorials:&lt;br /&gt;
*[https://youtu.be/QMxgsUogIIk Generating raws with Lua]&lt;br /&gt;
*[https://youtu.be/DEBTWMlUQzA Random creatures with Lua]&lt;br /&gt;
&lt;br /&gt;
==Structure==&lt;br /&gt;
&lt;br /&gt;
As of right now, Lua scripting is confined to generation of procedural objects. This is done by running the ``generate()`` function, a global function loaded in ``'''data/init/generators.lua'''``. It runs unit tests, preprocess, do_once (or do_once_early), materials, items, languages, creatures, interactions, entities and postprocessing, in that order.&lt;br /&gt;
&lt;br /&gt;
When random objects are first generated, the game populates two global tables, ``world`` and ``random_object_parameters``.&lt;br /&gt;
&lt;br /&gt;
* ``world`` contains info about the world currently being generated (or, in the future, played in). It contains [[World token|worldgen parameters]], raw object definitions, and a few other fields.&lt;br /&gt;
&lt;br /&gt;
* ``random_object_parameters`` contains what the game expects to be generated in the current generation call.&lt;br /&gt;
&lt;br /&gt;
You can print the contents of these tables to the log to see what data is available. The [https://steamcommunity.com/sharedfiles/filedetails/?id=3492961907 Runtime Dataminer] mod includes a script to read these tables.&lt;br /&gt;
&lt;br /&gt;
DFHack also has a version of [https://github.com/DFHack/df-structures/blob/master/df.world.xml df.world], though these tables are not necessarily equivalent. Headers and paths may differ, even when referencing the same data.&lt;br /&gt;
&lt;br /&gt;
===Debugging===&lt;br /&gt;
You can set the global ``debug_level`` variable to print some debug info. It's a number, but what numbers are there are completely arbitrary. If it's &amp;gt;0, it'll run unit tests; if it's &amp;gt;=0.5, it'll display what step of generation it's at, at every step. You can use ``get_debug_logger(x)`` to return a function that logs to ``lualog.txt`` if the debug level is at least ``x``.&lt;br /&gt;
&lt;br /&gt;
Unit tests are functions that return a table, containing ``good``, which, if truthy, is considered passed, and ``info``, which is a string that contains information on said pass or fail. These unit tests should have no side effects, i.e. they shouldn't muck with global state any. Here's an example unit test shipped with the generators:&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=unittests.get_random_creature&lt;br /&gt;
|script=&lt;br /&gt;
    get_random_creature=function()&lt;br /&gt;
        local cr=world.creature.get_random_creature()&lt;br /&gt;
        local res={}&lt;br /&gt;
        res.good=type(cr)=='table'&lt;br /&gt;
        res.info=res.good and (&amp;quot;Got a random creature: &amp;quot;..cr.token) or &amp;quot;No random creature could be gotten, even at most permissive!&amp;quot;&lt;br /&gt;
        return res&lt;br /&gt;
    end}}&lt;br /&gt;
&lt;br /&gt;
===Object generation===&lt;br /&gt;
When ``generate()`` is called, it uses ``random_object_parameters`` to determine what is generated.&lt;br /&gt;
&lt;br /&gt;
Before the world map is generated, ``random_object_parameters.pre_gen_randoms`` is true for one generation. Once the map is finalized, ``random_object_parameters.main_world_randoms`` is true for one generation when &amp;quot;generating prehistory&amp;quot;; most of the initial randomization takes place here. Further generation calls, such as for [[experiment]]s being created, do not set these variables to true.&lt;br /&gt;
&lt;br /&gt;
If you're registering an entirely new procedural object type, you can generate it during these steps. The game includes a number of tables which you can add functions to, the game runs each function in them when generating raws.&lt;br /&gt;
&lt;br /&gt;
*``do_once`` only runs in the &amp;quot;main world randoms&amp;quot; generation call and is the safest option for adding new objects.&lt;br /&gt;
*``do_once_early`` runs in the &amp;quot;pre-gen randoms&amp;quot; generation call, and can be used for objects that need to be placed in the map like minerals or surface animal populations.&lt;br /&gt;
*``preprocess`` runs before either of the former tables, but is run during every ``generate()`` call and you cannot predict when this happens.&lt;br /&gt;
*``postprocess`` runs at the end of each ``generate()`` call, after the other steps complete.&lt;br /&gt;
&lt;br /&gt;
You can see examples of registering objects through these steps on the [[Lua script examples]] page.&lt;br /&gt;
&lt;br /&gt;
If you want to use ``preprocess`` or ``postprocess`` to generate raws, you can check if it's the right generation step by reading the aforementioned ``random_object_parameters``. The [[Lua script examples#Adamantine alloys|&amp;quot;adamantine alloys&amp;quot; example]] includes such a check.&lt;br /&gt;
&lt;br /&gt;
You can also mess around with ``random_object_parameters`` in preprocessing. Vanilla demon types are assigned here, and you can change the proportions as an end user if you want.&lt;br /&gt;
&lt;br /&gt;
====Generation from list====&lt;br /&gt;
After ``preprocess`` and ``do_once``, the game then generates all of the individual objects that the ``random_object_parameters`` expects. The general procedure for this is that the game calls the ``generate_from_list()`` function on a table of functions, which calls every function and picks one of the resulting values at random depending on their weights.&lt;br /&gt;
&lt;br /&gt;
For example, the ``interactions.secrets`` table contains one entry, that for necromancers; it returns a table containing three entries: ``{raws=tbl,weight=1,spheres=spheres}``.&lt;br /&gt;
&lt;br /&gt;
*``raws`` is the full raw text of the interaction.&lt;br /&gt;
*``weight`` is the random weight for the interaction, i.e. if you add another function which returns a table containing ``weight=2``, that will be twice as likely as necromancers.&lt;br /&gt;
*``spheres`` is some extra data the generator might be able to use. It actually doesn't, at this point, but one could override ``generate_random_interactions()`` with their own version that takes into account ``spheres`` and, say, tries to evenly distribute generated secrets over available spheres. (This didn't end up in vanilla primarily out of concerns of bug-like behavior cropping up).&lt;br /&gt;
&lt;br /&gt;
====Languages====&lt;br /&gt;
Languages are special, though; as can be seen in the [[Divine language/script]] or [[Lua script examples#Identity language|identity language]]. The ``languages`` table just expects to return table containing translations, e.g. ``tbl[&amp;quot;ABBEY&amp;quot;]=&amp;quot;abbey&amp;quot;``. If you want to procedurally add words or symbols (and yes, these are both doable), you can do so with ``raws.register_languages()`` in another function table.&lt;br /&gt;
&lt;br /&gt;
==Creatures==&lt;br /&gt;
Creatures have a lot more to them than other procedural objects. Forgotten beasts are, in a sense, the simplest of them:&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=creatures.fb.default&lt;br /&gt;
|script=&lt;br /&gt;
creatures.fb.default=function(layer_type,tok)&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    local options={&lt;br /&gt;
        strong_attack_tweak=true,&lt;br /&gt;
        spheres={CAVERNS=true},&lt;br /&gt;
        is_evil=true,&lt;br /&gt;
        sickness_name=&amp;quot;beast sickness&amp;quot;,&lt;br /&gt;
        token=tok&lt;br /&gt;
    }&lt;br /&gt;
    tbl=split_to_lines(tbl,[[&lt;br /&gt;
    [FEATURE_BEAST]&lt;br /&gt;
    [ATTACK_TRIGGER:0:0:2]&lt;br /&gt;
    [NAME:forgotten beast:forgotten beasts:forgotten beast]&lt;br /&gt;
    [CASTE_NAME:forgotten beast:forgotten beasts:forgotten beast]&lt;br /&gt;
    [NO_GENDER]&lt;br /&gt;
    [CARNIVORE]&lt;br /&gt;
    [DIFFICULTY:10]&lt;br /&gt;
&lt;br /&gt;
    [NATURAL_SKILL:WRESTLING:6]&lt;br /&gt;
    [NATURAL_SKILL:BITE:6]&lt;br /&gt;
    [NATURAL_SKILL:GRASP_STRIKE:6]&lt;br /&gt;
    [NATURAL_SKILL:STANCE_STRIKE:6]&lt;br /&gt;
    [NATURAL_SKILL:MELEE_COMBAT:6]&lt;br /&gt;
    [NATURAL_SKILL:DODGING:6]&lt;br /&gt;
    [NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&lt;br /&gt;
    [LARGE_PREDATOR]&lt;br /&gt;
    ]])&lt;br /&gt;
    add_regular_tokens(tbl,options)&lt;br /&gt;
    tbl[#tbl+1]=layer_type==0 and &amp;quot;[BIOME:SUBTERRANEAN_WATER]&amp;quot; or &amp;quot;[BIOME:SUBTERRANEAN_CHASM]&amp;quot;&lt;br /&gt;
    if layer_type==0 then options.spheres.WATER=true end&lt;br /&gt;
    options.spheres[pick_random(evil_spheres)]=true&lt;br /&gt;
    options.do_water=layer_type==0&lt;br /&gt;
    populate_sphere_info(tbl,options)&lt;br /&gt;
    local rcp=get_random_creature_profile(options)&lt;br /&gt;
    add_body_size(tbl,math.max(10000000,rcp.min_size),options)&lt;br /&gt;
    tbl[#tbl+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
    build_procgen_creature(rcp,tbl,options)&lt;br /&gt;
    return {creature=tbl,weight=1}&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
This is a lot of info! First, you build an ``options`` table; it's possible to make a full [[Lua functions#Options|list of options used in vanilla]], but other mods can also use arbitrary options. It then adds all the usual special-to-forgotten-beast tokens, in a big string, followed by calling ``add_regular_tokens(tbl,options)``, which adds some stuff common to all (vanilla) procedural creatures, based on the options given.&lt;br /&gt;
&lt;br /&gt;
It sets ``do_water`` and the WATER [[sphere]] if the FB is in a water [[cavern]], an option which whitelists certain random creature profiles, as well as adding a random evil sphere.&lt;br /&gt;
&lt;br /&gt;
``populate_sphere_info()`` is similar to ``add_regular_tokens()``; it adds all of the spheres in ``options.spheres`` to the creature, using the {{token|SPHERE}} token, then, if certain options are set, does more.&lt;br /&gt;
&lt;br /&gt;
Then, it gets a random creature profile using ``get_random_creature_profile()`` and the options, uses ``add_body_size()`` to set the BODY_SIZE tokens and attendant things that come with it, sets the creature tile, and finally runs the Big Function, ``build_procgen_creature()``, which creates the description, body, tissues, et cetera.&lt;br /&gt;
&lt;br /&gt;
===Random Creature Profiles===&lt;br /&gt;
{{main|Random creature profile}}&lt;br /&gt;
A random creature profile is a type of &amp;quot;thing&amp;quot; a generated creature can be. For example:&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=random_creature_types.GENERAL_QUADRUPED&lt;br /&gt;
|script=&lt;br /&gt;
	GENERAL_QUADRUPED={&lt;br /&gt;
		name_string=&amp;quot;quadruped&amp;quot;,&lt;br /&gt;
		tile='Q',&lt;br /&gt;
		body_base=&amp;quot;QUADRUPED&amp;quot;,&lt;br /&gt;
		c_class=&amp;quot;UNIFORM&amp;quot;,&lt;br /&gt;
		cannot_have_get_more_legs=true,&lt;br /&gt;
		min_size=70000,&lt;br /&gt;
		weight=1000&lt;br /&gt;
		},&lt;br /&gt;
 }}&lt;br /&gt;
&lt;br /&gt;
Of these, only ``cannot_have_get_more_legs`` is optional. ``build_procgen_creature()`` has direct access to the rcp, as the first argument, and thus extra table entries can be used however you like.&lt;br /&gt;
&lt;br /&gt;
``body_base`` points to a key in ``body_base_fun``, which is used to set creature options (walking and [[Procedural graphics layer|PCG layering]] are set this way) and returns a list of [[body token]]s. Quadrupeds use a special function to vary the sprite, so here's the body base function for a humanoid.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=body_base_fun.HUMANOID&lt;br /&gt;
|script=&lt;br /&gt;
	HUMANOID=function(rcp,options)&lt;br /&gt;
		options.pcg_layering_base=&amp;quot;BEAST_HUMANOID&amp;quot;&lt;br /&gt;
		options.walk_var=&amp;quot;STANDARD_BIPED_GAITS&amp;quot;&lt;br /&gt;
		options.walk_speed=900&lt;br /&gt;
		return {&amp;quot;RCP_UPPER_BODY&amp;quot;,&amp;quot;RCP_LOWER_BODY&amp;quot;,&amp;quot;RCP_NECK&amp;quot;,&amp;quot;RCP_HEAD&amp;quot;,&amp;quot;RCP_TWO_PART_ARMS&amp;quot;,&amp;quot;RCP_TWO_PART_LEGS&amp;quot;}&lt;br /&gt;
	end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
``c_class`` also refers to another determines the kind of tissue layers the creature has. &amp;quot;FLESHY&amp;quot;, &amp;quot;MAMMAL&amp;quot;, &amp;quot;CHITIN_EXO&amp;quot;, etc imply a biological creature with sinew, blood, different organs, nerves, and so on. &amp;quot;UNIFORM&amp;quot; describes a creature made of a single material, the choice influenced by its options. The ``random_creature_class`` and ``random_creature_material`` tables store the info for these traits.&lt;br /&gt;
&lt;br /&gt;
Organic creatures can be tweaked to alter their surfaces, such as becoming skinless, hairy, or even uniform.&lt;br /&gt;
&lt;br /&gt;
===Tweaks===&lt;br /&gt;
&lt;br /&gt;
In the broadest sense, a tweak is any deviation from the creature profile. The aforementioned surface changes, new body parts, and attack interactions are all examples of tweaks.&lt;br /&gt;
&lt;br /&gt;
A number of [[Lua functions#Options|options]] change the available tweaks or force one to happen, for example:&lt;br /&gt;
*``options.no_tweak`` disables random tweaks.&lt;br /&gt;
*``options.strong_attack_tweak`` allows the creature to always pick from the ``attack_tweaks`` table; ie: &amp;quot;Beware its webs!&amp;quot;&lt;br /&gt;
*``options.humanoidable_only`` makes the creature &amp;quot;twisted into humanoid form&amp;quot; (if evil), or &amp;quot;a &amp;lt;creature&amp;gt; in humanoid form&amp;quot; (if otherwise).&lt;br /&gt;
&lt;br /&gt;
One potential use of ``btc1_tweaks`` (see [[Lua functions#Creature patching]]) is to add custom tweak candidates, pointing to keys in ``tweaks``.&lt;br /&gt;
&lt;br /&gt;
===Color pickers===&lt;br /&gt;
&lt;br /&gt;
Color picker functions can give more fitting [[color]] choices based on the options, instead of the default full spectrum. There are color pickers for certain malevolent [[sphere]]s, giving them a dark appearance. [[Werebeast]]s use a flag to only have natural brown or black colors.&lt;br /&gt;
&lt;br /&gt;
If the creature matches ``cond`` and a given [[Descriptor color token|descriptor color]] matches ``color``, then it is added to the list of candidates. Colors have {{Tooltip|h,s,v|Hue, saturation, value}} and {{Tooltip|r,g,b|Red, green, blue}} values ranging from 0-1 (except hue, which ranges 0-360 degrees).&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=color_picker_functions&lt;br /&gt;
|script=color_picker_functions={&lt;br /&gt;
    death_misery={&lt;br /&gt;
        cond=function(options)&lt;br /&gt;
            return options.spheres.DEATH or options.spheres.MISERY&lt;br /&gt;
        end,&lt;br /&gt;
        color=function(color)&lt;br /&gt;
            -- GRAY TO BLACK/BLUEISH GREEN THAT ARE SOMEWHAT GRAYISH AND MORE BLUE&lt;br /&gt;
            return (color.v&amp;lt;=0.75 and color.s&amp;lt;=0.001) or (color.v==color.b and color.s&amp;lt;=0.25)&lt;br /&gt;
        end&lt;br /&gt;
    },&lt;br /&gt;
    darkness_night={&lt;br /&gt;
        cond=function(options)&lt;br /&gt;
            return options.spheres.DARKNESS or options.spheres.NIGHT&lt;br /&gt;
        end,&lt;br /&gt;
        color=function(color)&lt;br /&gt;
            -- GRAY TO BLACK OR DARK BLUISH&lt;br /&gt;
            return color.v&amp;lt;=0.4 and (color.s &amp;lt; 0.001 or (color.h&amp;gt;180 and color.h&amp;lt;=240))&lt;br /&gt;
        end&lt;br /&gt;
    },&lt;br /&gt;
    werebeast={&lt;br /&gt;
        cond=function(options)&lt;br /&gt;
            -- werebeasts only, in vanilla&lt;br /&gt;
            return options.animal_coloring_allowed&lt;br /&gt;
        end,&lt;br /&gt;
        color=function(color)&lt;br /&gt;
            --BROWN OKAY TOO&lt;br /&gt;
            return color.h&amp;gt;=30 and color.h&amp;lt;=48 and color.b&amp;lt;=0.15 and color.v&amp;lt;=0.75 and color.v &amp;gt; 0&lt;br /&gt;
        end&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
``options.blood_color`` works like a color picker function. If any colors match its function, then its [[blood]] will be colored like one of them. [[Bogeymen]] and [[nightmare]]s have a function that gives them magenta blood, for example, but you can create your own blood color functions.&lt;br /&gt;
&lt;br /&gt;
Creatures with other blood types, such as ichor, are unaffected.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=options.blood_color (Bogeyman)&lt;br /&gt;
|script=blood_color=function(cl)&lt;br /&gt;
            -- DARKER MAGENTA COLORS&lt;br /&gt;
            return cl.h&amp;gt;=260 and cl.h &amp;lt;= 340 and cl.v &amp;lt;= 0.5 and cl.v &amp;gt;= 0.1&lt;br /&gt;
        end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:Lua|S]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Lua_functions&amp;diff=314519</id>
		<title>Lua functions</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Lua_functions&amp;diff=314519"/>
		<updated>2026-01-29T06:55:47Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: humanoidable_only remap&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
{{Modding}}&lt;br /&gt;
&lt;br /&gt;
Dwarf Fortress defines a number of functions in addition to those standard for [https://www.lua.org/manual/5.4/ Lua 5.4].&lt;br /&gt;
&lt;br /&gt;
==C++ function calls==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Function&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''int'' {{text anchor|trandom}}(''int'' n)&lt;br /&gt;
| Returns a 32-bit integer from {{Tooltip|0 to n-1|Lua arrays start at 1, C++ arrays start at 0, hence the discrepancy.}}. Uses DF's internal RNG system instead of ``math.random()``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''str'' {{text anchor|capitalize_string_words}}(''str'' s)&lt;br /&gt;
| Capitalizes every word in a string.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''str'' {{text anchor|capitalize_string_first_word}}(''str'' s)&lt;br /&gt;
| Capitalizes the first word in a string.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''str'' {{text anchor|utterance}}()&lt;br /&gt;
| Returns a word from the [[kobold language]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''void'' {{text anchor|lua_log}}(''str'' s)&lt;br /&gt;
| Prints a string to ``Dwarf Fortress/lualog.txt``. The ``log()`` function is more robust and should be used instead.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
''void'' {{text anchor|raws.register_reactions}}(''table'' lines)&amp;lt;br&amp;gt;&lt;br /&gt;
''void'' {{text anchor|raws.register_creatures}}(''table'' lines)&amp;lt;br&amp;gt;&lt;br /&gt;
''void'' {{text anchor|raws.register_entities}}(''table'' lines)&amp;lt;br&amp;gt;&lt;br /&gt;
''void'' {{text anchor|raws.register_items}}(''table'' lines)&amp;lt;br&amp;gt;&lt;br /&gt;
''void'' {{text anchor|raws.register_inorganics}}(''table'' lines)&amp;lt;br&amp;gt;&lt;br /&gt;
''void'' {{text anchor|raws.register_interactions}}(''table'' lines)&amp;lt;br&amp;gt;&lt;br /&gt;
''void'' {{text anchor|raws.register_languages}}(''table'' lines)&amp;lt;br&amp;gt;&lt;br /&gt;
''void'' {{text anchor|raws.register_plants}}(''table'' lines)&lt;br /&gt;
| Takes a table of [[token]]s and reads them as that type of [[raw file]]. It is not necessary to add a header.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Globals==&lt;br /&gt;
Helper functions are defined in ``init/globals.lua``, and can be accessed by any script even if ``vanilla_procedural`` is not loaded.&lt;br /&gt;
&lt;br /&gt;
===Generation===&lt;br /&gt;
This function is defined in ``init/generators.lua``.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Function&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''table'' {{text anchor|add_generated_info}}(''table'' tbl)&lt;br /&gt;
| Adds {{token|GENERATED}} to the input table, and {{token|SOURCE_HFID}}/{{token|SOURCE_ENID}} if IDs are defined. Necessary for generated raws to be saved properly.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Randomization===&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Function&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''value'' {{text anchor|pick_random}}(''table'' t)&lt;br /&gt;
| Returns a random value from a table.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''value'' {{text anchor|pick_random_no_replace}}(''table'' t)&lt;br /&gt;
| Returns a random value from a table, then removes it from the table.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''value'' {{text anchor|pick_random_conditional}}(''table'' t, ''function'' cond,...)&lt;br /&gt;
| Returns a random value from a table that satisfies ``cond(...)``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''bool'' {{text anchor|one_in}}(''num'' x)&lt;br /&gt;
| Returns true with a one in x chance.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''value'' {{text anchor|pick_random_pairs}}(''table'' tbl)&lt;br /&gt;
| Returns a random key from a table. For example, ``pick_random_pairs( {WATER = true} )`` returns &amp;quot;WATER&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''value'' {{text anchor|pick_weighted_from_table}}(''table'' tbl)&lt;br /&gt;
| Requires a table of tables with ``weight`` keys. Returns a weighted random value.&lt;br /&gt;
At debug level &amp;gt;=4, logs the roll.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''value'' {{text anchor|generate_from_list}}(''table'' tbl,...)&lt;br /&gt;
| Requires a table of functions that return a ``weight`` key. Runs each function and returns a weighted random output. Used by [[werebeast]]s to generate an interaction and link to options from it.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Tables===&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Function&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ''table'' {{text anchor|split_to_lines}}(''table'' tbl,''string'' str)&lt;br /&gt;
| Adds a string into a table, with each line being a separate key.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''table'' {{text anchor|map_merge}}(''table'' tbl1, ''table'' tbl2)&lt;br /&gt;
| Combines two tables. If ``tbl1`` already has a value for a given key, it will not be overwritten. Used for sets such as ``{ WATER = true }``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''table'' {{text anchor|table_merge}}(''table'' tbl1, ''table'' tbl2)&lt;br /&gt;
| Adds each value from ``tbl2`` onto the end of ``tbl1``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''bool'' {{text anchor|find_in_array_part}}(''table'' tbl, ''value'' item)&lt;br /&gt;
| Returns true if ``item`` is a value in ``tbl``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''void'' {{text anchor|convert_array_to_set}}(''table'' tbl)&lt;br /&gt;
| Makes a set from an array, e.g. takes {&amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;,&amp;quot;c&amp;quot;} and makes it {a=true,b=true,c=true} so that it can be indexed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''void'' {{text anchor|add_unique}}(''table'' tbl, ''value'' item)&lt;br /&gt;
| Adds ``item`` to the end of ``tbl`` if not already present.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''void'' {{text anchor|remove_item}}(''table'' tbl, ''value'' item)&lt;br /&gt;
| Removes all instances of ``item`` from ``tbl``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''table'' {{text anchor|shallow_copy}}(''table'' tbl)&lt;br /&gt;
| Returns a table copied from all values in the input table.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''table'' {{text anchor|deep_copy}}(''table'' tbl)&lt;br /&gt;
| Returns a table recursively copied from all values in the input table.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;40%&amp;quot; | Function&lt;br /&gt;
! width=&amp;quot;60%&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ''void'' {{text anchor|log}}(...)&lt;br /&gt;
| Logs the input to ``Dwarf Fortress/lualog.txt``. Used for most cases.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''string'' {{text anchor|get_caller_loc_string}}()&lt;br /&gt;
| Returns the debug source info and the current line.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''string'' {{text anchor|get_debug_logger}}(''num'' level=1,...)&lt;br /&gt;
| Logs ``get_caller_loc_string()`` and any overloads if the ``debug_level`` is at least ``level``. ``debug_level`` is a global variable that defaults to 0.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''function'' {{text anchor|partial_function}}(''function'' f, arg,...)&lt;br /&gt;
| Returns ``f(arg,...)``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''function'' {{text anchor|log_table}}(''table''&amp;amp;nbsp;tbl, ''num''&amp;amp;nbsp;debug_level=0, ''num''&amp;amp;nbsp;nest_level=0, ''num''&amp;amp;nbsp;added_debug_from_nest=0)&lt;br /&gt;
| Logs a table if the global ``debug_level`` is at least the input ``debug_level``. ``nest_level`` starts at 0 and adds ``added_debug_from_nest`` for each nesting to the input debug level.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''function'' {{text anchor|print_table}}(''table'' tbl, ''num'' nest_level=0)&lt;br /&gt;
| Logs a table, regardless of debug level.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spheres===&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;45%&amp;quot; | Function&lt;br /&gt;
! width=&amp;quot;55%&amp;quot; | Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''string'' {{text anchor|get_random_sphere_adjective}}(''string'' [[Sphere#Sphere tokens|sphere]])&lt;br /&gt;
| Returns a random string from global table ``random_sphere_adjective[sph]``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''table'' {{text anchor|get_random_sphere_noun}}(''string'' [[Sphere#Sphere tokens|sphere]])&lt;br /&gt;
| Returns a random table ``tbl`` from global table ``random_sphere_nouns[sphere]``.&lt;br /&gt;
``tbl`` has two members: ``tbl.str``, which is a string; and ``tbl.flags``, which defaults to ``{OF=true,PREPOS=true,PRE=true}``, for grammar.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''table'' {{text anchor|add_sphere_mpp}}(''table''&amp;amp;nbsp;sphere_list, ''string''&amp;amp;nbsp;[[Sphere#Sphere tokens|new_s]], ''table''&amp;amp;nbsp;available_sphere, ''table''&amp;amp;nbsp;available_sphere_cur)&lt;br /&gt;
| Adds ``new_s`` to ``sphere_list`` and all parents and children. Sets the added spheres in ``available_sphere`` and ``available_sphere_cur`` to false, and sets all enemies in ``available_sphere_cur`` to false.&lt;br /&gt;
At debug level &amp;gt;= 2, will be logged.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Generation tables==&lt;br /&gt;
The ``generate()`` function is defined in ``init/generators.lua``, and is called to generate objects.&lt;br /&gt;
&lt;br /&gt;
Each type of random object is defined through a function that generates a table of raws. To generate objects for specific purposes, ``generate()`` can call functions from a table and provide inputs such as ``tok`` (unique token string).&lt;br /&gt;
For example, [[forgotten beast]]s are unique and generated for each cave region. If multiple functions are defined in ``creatures.fb``, such as both ``creatures.fb.default`` and a modded forgotten beast, the game uses the ``weight`` output to influence which one will be randomly chosen.&lt;br /&gt;
&lt;br /&gt;
By default, objects are generated in this order: unittests{{Tooltip|*|if debug_level is at least 0}}, preprocess, do_once, materials, items, languages, creatures, interactions, entities, and postprocess. Do note that you can register raws at any step. For example, each [[vault]] entity generates a set of [[divine equipment]] during the entity step, and [[werebeast]]s generate a curse interaction during the creature step.&lt;br /&gt;
&lt;br /&gt;
===Custom===&lt;br /&gt;
&lt;br /&gt;
{{main|Lua scripting#Object generation}}&lt;br /&gt;
&lt;br /&gt;
When the game uses ``generate()`` to generate objects, all functions in the following tables are run in sequence.&lt;br /&gt;
&lt;br /&gt;
``random_object_parameters.pre_gen_randoms`` and ``random_object_parameters.main_world_randoms`` are only ever true for one generation call each, at the start of world generation in that order.&lt;br /&gt;
&lt;br /&gt;
You cannot predict when ``generate()`` is called. Raws registered through ``preprocess`` and ``postprocess`` should check for either variable so that further calls do not endlessly register raws.&lt;br /&gt;
&lt;br /&gt;
Functions stored and called through these tables are not supplied with arguments.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; | Table&lt;br /&gt;
! width=&amp;quot;80%&amp;quot; | Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| preprocess&lt;br /&gt;
| Run at the start of each ``generate()`` call, after unit testing.&lt;br /&gt;
Includes two functions by default:&amp;lt;br&amp;gt;&lt;br /&gt;
``preprocess.demon()``, which populates the distribution of ``demon_type`` string inputs&amp;lt;br&amp;gt;&lt;br /&gt;
``preprocess.bogeyman_polymorph()``, which generates the [[bogeyman]]'s polymorph [[Interaction token|interactions]] if bogeymen exist&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| do_once_early&lt;br /&gt;
| As ``do_once``, but only runs if ``random_object_parameters.pre_gen_randoms == true`` (before the map exists)&lt;br /&gt;
Recommended for generating custom objects that need to be placed in the map; ie: animal populations, [[stone layers|minerals]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| do_once&lt;br /&gt;
| Runs immediately after all functions in preprocess, and before all other generation steps. Only runs if ``random_object_parameters.main_world_randoms == true`` (in prehistory once the map is finalized)&lt;br /&gt;
Recommended for generating most custom objects.&amp;lt;br&amp;gt;&lt;br /&gt;
Includes one function by default:&amp;lt;br&amp;gt;&lt;br /&gt;
``do_once.rcp_mat_emission()``, adds the ``RCP_MATERIAL_EMISSION`` [[Interaction token|interaction]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| postprocess&lt;br /&gt;
| Runs after all other generation steps are finished.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| unittests&lt;br /&gt;
| Runs before preprocess if the global ``debug_level`` is greater than 0. Expects a boolean output.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| languages&lt;br /&gt;
| For each function in this table, registers a language. Expects table of key-value pairs where the key is the [[Language token#WORD|word token]] and the value is the translated string. Initial generation call only.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Creatures===&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;40%&amp;quot; | Table&lt;br /&gt;
! width=&amp;quot;40%&amp;quot; | Inputs&lt;br /&gt;
! width=&amp;quot;60%&amp;quot; | Article&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
creatures.angel.great_beast&amp;lt;br&amp;gt;&lt;br /&gt;
creatures.angel.humanoid_generic&amp;lt;br&amp;gt;&lt;br /&gt;
creatures.angel.humanoid_warrior&lt;br /&gt;
| function(tok)&lt;br /&gt;
| [[Angel]] (see [[Angel#Angel types|types]])&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| creatures.demon&lt;br /&gt;
| function(demon_type, difficulty, tok)&lt;br /&gt;
| [[Demon]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
creatures.experiment.beast_large&amp;lt;br&amp;gt;&lt;br /&gt;
creatures.experiment.beast_small&amp;lt;br&amp;gt;&lt;br /&gt;
creatures.experiment.failed_large&amp;lt;br&amp;gt;&lt;br /&gt;
creatures.experiment.failed_small&amp;lt;br&amp;gt;&lt;br /&gt;
creatures.experiment.humanoid_giant&amp;lt;br&amp;gt;&lt;br /&gt;
creatures.experiment.humanoid&amp;lt;br&amp;gt;&lt;br /&gt;
| function(tok)&lt;br /&gt;
| [[Experiment]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| creatures.fb&lt;br /&gt;
| function(layer_type, tok)&lt;br /&gt;
| [[Forgotten beast]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| creatures.night_creature.bogeyman&lt;br /&gt;
| function(tok)&lt;br /&gt;
| [[Bogeyman]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| creatures.night_creature.nightmare&lt;br /&gt;
| function(tok)&lt;br /&gt;
| [[Nightmare]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| creatures.night_creature.troll&lt;br /&gt;
| function(tok)&lt;br /&gt;
| [[Night troll]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| creatures.night_creature.werebeast&lt;br /&gt;
werebeast_origin_interactions{{Tooltip|*|Called by vanilla_procedural, not by init/generators}}&lt;br /&gt;
| function(tok)&lt;br /&gt;
function(tok, name, options)&lt;br /&gt;
| [[Werebeast]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| creatures.titan&lt;br /&gt;
| function(subregion, tok)&lt;br /&gt;
| [[Titan]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
====Creature patching====&lt;br /&gt;
{{Main|Lua scripting#Tweaks}}&lt;br /&gt;
While ``SELECT_CREATURE`` cannot target generated objects, there are global tables set up to append data when building a creature. These tables contain functions which have access to tokens, options, and local functions from ``build_body_from_rcp()``. All functions in these tables are run at corresponding stages in the build function.&lt;br /&gt;
&lt;br /&gt;
``lines``, ``options`` and ``rcp`` are the creature's raw lines and data, which can be read or modified in these functions.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;10%&amp;quot; | Table&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Inputs&lt;br /&gt;
! width=&amp;quot;50%&amp;quot; | Timing&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| btc1_tweaks&lt;br /&gt;
| function(lines, options, add_to_body, add_to_body_unique, add_tweak_candidate)&lt;br /&gt;
| Before ``options.btc`` (the first tweak) is determined.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| feature_tweaks&lt;br /&gt;
| function(rcp, options, add_to_body, add_to_body_unique, add_tweak_candidate)&lt;br /&gt;
| After ``options.btc2`` is set. ``add_tweak_candidate()`` is unused in vanilla at this stage.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| post_attack_tweaks&lt;br /&gt;
| function(lines, options, is_in_body)&lt;br /&gt;
| After ``options.attack_tweak`` is set. By default, runs functions to add {{token|ATTACK}}s for body parts.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| post_gait_tweaks&lt;br /&gt;
| function(lines, options)&lt;br /&gt;
| This is the last operation in the build function.&lt;br /&gt;
Includes the ``bogey_polymorph()`` function by default, which checks ``options.can_bogey_polymorph`` to add the interaction.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;25%&amp;quot; | Local Function&lt;br /&gt;
! width=&amp;quot;80%&amp;quot; | Effect&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''void'' add_to_body(str)&lt;br /&gt;
| Adds the input [[body token]] to the ``options.body_string`` table.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''void'' add_to_body_unique(str)&lt;br /&gt;
| As ``add_to_body()`` and ``add_unique()``, only adds if not already present.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''void'' add_tweak_candidate(str)&lt;br /&gt;
| Adds the input to ``options.body_tweak_candidate``, pointing to a key in the ``tweaks`` table.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''bool'' is_in_body(str)&lt;br /&gt;
| Checks if the input [[body token]] is in ``options.body_string``.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Entities===&lt;br /&gt;
&lt;br /&gt;
Generated entities are supplied with the ``idx`` parameter, which is a number that starts at 1 and increments by 1 for each entity of that type. It can be used to give a unique ID to [[divine equipment]].&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;40%&amp;quot; | Table&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; | Inputs&lt;br /&gt;
! width=&amp;quot;60%&amp;quot; | Articles&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| entities.vault_guardian&lt;br /&gt;
| function(idx,tok)&lt;br /&gt;
| [[Vault]] ([[angel]]s)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| entities.mythical_guardian&lt;br /&gt;
| function(idx,tok)&lt;br /&gt;
| [[Mysterious dungeon]] ([[dungeon guardian]]s)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Interactions===&lt;br /&gt;
&lt;br /&gt;
====World====&lt;br /&gt;
World interactions are generated in the ``generate_random_interactions()`` step of ``generators.lua``.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Table&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Inputs&lt;br /&gt;
! width=&amp;quot;60%&amp;quot; | Examples&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
interactions.blessing.minor&amp;lt;br&amp;gt;&lt;br /&gt;
interactions.blessing.medium&lt;br /&gt;
| function(idx)&lt;br /&gt;
| [[Die]] roll effects: luck, holy item, healing, etc&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
interactions.curse.minor&amp;lt;br&amp;gt;&lt;br /&gt;
interactions.curse.medium&lt;br /&gt;
| function(idx)&lt;br /&gt;
| [[Die]] roll effects: week of curse&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| interactions.curse.major&lt;br /&gt;
| function(idx,tok)&lt;br /&gt;
| [[Vampire]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| interactions.disturbance&lt;br /&gt;
| function(idx)&lt;br /&gt;
| [[Mummy]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| interactions.mythical&lt;br /&gt;
| function(idx,power_level,[[sphere]])&lt;br /&gt;
| [[Dungeon guardian]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| interactions.mythical_item_power&lt;br /&gt;
| spheres={}, interaction=function()&lt;br /&gt;
| [[Primordial remnant#List of powers]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| interactions.regional&lt;br /&gt;
| function(idx)&lt;br /&gt;
| Reanimating [[Surroundings#Evil|evil biomes]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| interactions.secrets&lt;br /&gt;
| function(idx,[[sphere]])&lt;br /&gt;
| [[Necromancer]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Powers====&lt;br /&gt;
Powers are stored in the ``interactions.powers`` table and can be generated by other interactions. The structure of each power entry contains several keys that determine how it can be added to an interaction's syndrome.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;15%&amp;quot; | Key&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Inputs&lt;br /&gt;
! width=&amp;quot;60%&amp;quot; | Notes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tags&lt;br /&gt;
| ''table''&lt;br /&gt;
| A table of user-defined values that can be checked by other functions.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tags.lieutenant&lt;br /&gt;
| ''bool''&lt;br /&gt;
| If true, available to [[intelligent undead]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rarity&lt;br /&gt;
| ''number'' n&lt;br /&gt;
| Higher is rarer. An [[intelligent undead]] has a 1 in n chance to receive this power.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| gen&lt;br /&gt;
| ''table'' ``tbl``, ''table'' ``end_tbl`` function(name)&lt;br /&gt;
| Generates and returns lines of raws.&lt;br /&gt;
* ``tbl`` consists of [[syndrome]] lines comprising {{token|CE_CAN_DO_INTERACTION|syndrome}} and ``[[Interaction token#Usage|CDI]]``.&lt;br /&gt;
* ``end_tbl`` consists of lines that define the [[interaction]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Interaction helpers====&lt;br /&gt;
&lt;br /&gt;
Interaction helpers are defined by ``vanilla_procedural``.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;40%&amp;quot; | Function&lt;br /&gt;
! width=&amp;quot;60%&amp;quot; | Notes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''table''&amp;amp;nbsp;``tbl``, ''table''&amp;amp;nbsp;``end_tbl`` basic_lieutenant(''string''&amp;amp;nbsp;name, ''string''&amp;amp;nbsp;name_plural, ''string''&amp;amp;nbsp;token)&lt;br /&gt;
| Generates an interaction that raises an [[intelligent undead]] and calls ``basic_lieutenant_powers(token)``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''table''&amp;amp;nbsp;``tbl``, ''table''&amp;amp;nbsp;``end_tbl`` basic_lieutenant_powers(''string''&amp;amp;nbsp;token)&lt;br /&gt;
| Adds any number of powers (chosen from among ``interaction.powers``) and 0-5 sicken effects (from ``add_curses()``) to the current definition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''table''&amp;amp;nbsp;``tbl``, ''table''&amp;amp;nbsp;``end_tbl``, ''int''&amp;amp;nbsp;``idx`` add_curses(''table''&amp;amp;nbsp;tbl, ''table''&amp;amp;nbsp;end_tbl, ''string''&amp;amp;nbsp;token, ''int''&amp;amp;nbsp;num, ''int''&amp;amp;nbsp;start_idx, ''int''&amp;amp;nbsp;sev, ''table''&amp;amp;nbsp;good_effects)&lt;br /&gt;
| Adds ``num`` curses/afflictions to the current definition. ``good_effects`` lists the possible curses that can be chosen from ``default_curse_effects``, and ``sev`` is the syndrome's severity. Basic lieutenants use a ``sev`` of 500.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''string'' get_abstract_gesture()&lt;br /&gt;
| Returns a random string from either ``gestures`` or ``gestures_abstract``, used for {{token|VERB|interaction}}.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| populate_monotone_color_pattern()&lt;br /&gt;
| Writes all [[Descriptor color token|MONOTONE color patterns]] from ``world.descriptor.color_pattern`` to the global table ``monotone_color_pattern``, if not already populated.&lt;br /&gt;
Not to be confused with ``world.descriptor.color``, which has the same keys as a color rather than a pattern.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| add_base_poison_effects(mat, good_effects, sev, max_eff, min_start, max_start, min_peak, max_peak, min_end, max_end, terminal_chance, resist_chance, size_delay_chance, size_dilute_chance)&lt;br /&gt;
| Writes 1 to ``max_eff`` [[syndrome]] effects from ``good_effects`` to ``mat``, a table of raw lines. Has a one in ``terminal_chance`` to not end. If the effect  {{token|RESISTABLE}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Items===&lt;br /&gt;
&lt;br /&gt;
====Instruments====&lt;br /&gt;
&lt;br /&gt;
The default [[instrument]] system is not currently open to Lua, but ``generators.lua`` defines tables for each token.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Table&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Inputs&lt;br /&gt;
! width=&amp;quot;40%&amp;quot; | Token&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| items.instruments.keyboard&lt;br /&gt;
| N/A&lt;br /&gt;
| {{token|GENERATE_KEYBOARD_INSTRUMENTS|e}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| items.instruments.stringed&lt;br /&gt;
| N/A&lt;br /&gt;
| {{token|GENERATE_STRINGED_INSTRUMENTS|e}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| items.instruments.wind&lt;br /&gt;
| N/A&lt;br /&gt;
| {{token|GENERATE_WIND_INSTRUMENTS|e}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| items.instruments.percussion&lt;br /&gt;
| N/A&lt;br /&gt;
| {{token|GENERATE_PERCUSSION_INSTRUMENTS|e}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Divine equipment====&lt;br /&gt;
{{Main|Divine equipment}}&lt;br /&gt;
``entities.vault_guardian.default`` generates from the list ``angel_item_gens``, the default function of which then calls functions from ``angel_item_info``. Unless otherwise stated, the '''Behavior''' column refers to the behavior of how ``angel_item_gens.default`` generates from these lists.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; | Table&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; | Inputs&lt;br /&gt;
! width=&amp;quot;60%&amp;quot; | Behavior&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| angel_item_gens&lt;br /&gt;
| function(prefix,tokens)&lt;br /&gt;
| Called by ``entities.vault_guardian.default``, which supplies a unique ``prefix`` and doesn't provide ``tokens``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
angel_item_info.armor.pants.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.armor.armor.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.armor.helm.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.armor.gloves.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.armor.shoes.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.shield.gen&lt;br /&gt;
| function(i,prefix)&lt;br /&gt;
| Generates 1 piece of [[armor]] for each slot and 1 [[shield]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
angel_item_info.clothing.pants.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.clothing.armor.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.clothing.helm.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.clothing.gloves.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.clothing.shoes.gen&lt;br /&gt;
| function(i,prefix)&lt;br /&gt;
| Generates 1 piece of [[clothing]] for each slot.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
angel_item_info.weapon.PIKE.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.weapon.WHIP.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.weapon.BOW.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.weapon.BLOWGUN.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.weapon.AXE.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.weapon.SWORD.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.weapon.DAGGER.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.weapon.MACE.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.weapon.HAMMER.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.weapon.SPEAR.gen&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.weapon.CROSSBOW.gen&lt;br /&gt;
| function(i,prefix)&lt;br /&gt;
| Generates 5 [[weapon]]s. The tables correspond to [[combat skill]]s, and are not repeated. For example, a vault can't generate two types of swords.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
angel_item_info.ammo.ARROW&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.ammo.BOLT&amp;lt;br&amp;gt;&lt;br /&gt;
angel_item_info.ammo.BLOWDART&lt;br /&gt;
| function()&lt;br /&gt;
| When a ranged weapon is generated, it will also generate a random subtype of the proper ammunition.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Materials===&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; | Table&lt;br /&gt;
! width=&amp;quot;15%&amp;quot; | Inputs&lt;br /&gt;
! width=&amp;quot;15%&amp;quot; | Article&lt;br /&gt;
! width=&amp;quot;60%&amp;quot; | Notes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| materials.clouds&lt;br /&gt;
materials.rain&lt;br /&gt;
| function()&lt;br /&gt;
| [[Evil weather]]&lt;br /&gt;
| Associated regional [[interaction]]s are automatically written by ``init/generators.lua``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| materials.divine.metal&lt;br /&gt;
materials.divine.silk&lt;br /&gt;
| function([[sphere]])&lt;br /&gt;
| [[Divine metal]]&lt;br /&gt;
[[Divine fabric]]&lt;br /&gt;
| The list of potential spheres is determined by the individual function. See [[Lua script examples#New divine metal]].&lt;br /&gt;
{{token|DIVINE|inorganic}} and {{token|SPHERE|inorganic}} are added by ``generators.lua`` rather than in the individual function.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| materials.mythical_remnant&lt;br /&gt;
| function([[sphere]])&lt;br /&gt;
| [[Primordial remnant]]&lt;br /&gt;
| Possible spheres are determined by ``random_object_parameters.mythical_sphere``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| materials.mythical_healing&lt;br /&gt;
| function()&lt;br /&gt;
| [[Mythical substance]]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Random creatures==&lt;br /&gt;
&lt;br /&gt;
Creatures generated by ``vanilla_procedural`` use a number of shared functions to determine their attributes. The local ``options`` table stores most of the data used by these steps.&lt;br /&gt;
&lt;br /&gt;
===rcp functions===&lt;br /&gt;
The random creature profile determines the basic body of a generated creature, such as &amp;quot;humanoid&amp;quot; or &amp;quot;[[toad]]&amp;quot;, and provides options and data to later build the proper creature definition.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;40%&amp;quot; | Function&lt;br /&gt;
! width=&amp;quot;60%&amp;quot; | Notes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''table'' get_random_creature_profile(options,blacklist)&lt;br /&gt;
| Makes a weighted random choice of options from ``random_creature_types`` that satisfy arguments set in ``options`` (``options.do_water``, etc) and ``blacklist``. Falls back to ``random_creature_types.GENERAL_BLOB``.&lt;br /&gt;
At debug_level &amp;gt;= 3, will log failures. At debug_level &amp;gt;= 4, will also log successes.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''bool'' is_valid_random_creature(''string''&amp;amp;nbsp;creature, ''bool''&amp;amp;nbsp;do_water, ''bool''&amp;amp;nbsp;humanoidable_only, ''bool''&amp;amp;nbsp;is_good, ''bool''&amp;amp;nbsp;beast_only)&lt;br /&gt;
| Checks if ``creature`` is a valid key in certain tables depending on the arguments: aquatic (``do_water``), can be &amp;quot;twisted into humanoid form&amp;quot; (``humanoidable_only``), isn't an &amp;quot;evil&amp;quot; species (``is_good``), and is an animal species (``beast_only``) &lt;br /&gt;
At debug_level &amp;gt;= 3, will be logged.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ''void'' finalize_random_creature_types()&lt;br /&gt;
| If ``random_creature_types_finalized`` is false: sets it to true and iterates over ``random_creature_types`` to sanitize certain inputs.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Shared functions===&lt;br /&gt;
&lt;br /&gt;
Default creatures use ``add_regular_tokens()``, ``populate_sphere_info()``, ``get_random_creature_profile()``, ``add_body_size()`` and ``build_procgen_creature()`` as the main steps in generating raws.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;40%&amp;quot; | Function&lt;br /&gt;
! width=&amp;quot;60%&amp;quot; | Notes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| add_regular_tokens(tbl,options)&lt;br /&gt;
| Adds tokens to ``tbl``. Sets {{token|PETVALUE|2000}}, calculates material weaknesses (if ``options.material_weakness``), and adds a few immunity tokens depending on ``options.normal_biological``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tile_string(arg)&lt;br /&gt;
| Returns a string usable for {{token|CREATURE_TILE}}. Encloses number arguments in ``'`` characters.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| add_body_size(tbl,size,options)&lt;br /&gt;
| Adds {{token|BODY_SIZE|0:0:size}} and sets ``options.body_size``. Calls ``body_size_properties()``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| body_size_properties(tbl,size,options)&lt;br /&gt;
| Adds {{token|BUILDINGDESTROYER|2}} if size &amp;gt; 80,000; adds {{token|GRASSTRAMPLE|20}} and {{token|TRAPAVOID}} if size &amp;gt; 100,000.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| populate_sphere_info(tbl,options)&lt;br /&gt;
| Adds {{token|SPHERE}} tokens from ``options.spheres``. If ``options.do_sphere_rcm``, 1/2 chance to set ``options.sphere_rcm``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| add_poison_bits(tbl,options)&lt;br /&gt;
| Generates a [[Venom|poison material]] based on ``options.poison_state`` and ``options.sickness_name``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| build_procgen_creature(rcp,tbl,options)&lt;br /&gt;
| Calls ``build_body_from_rcp()``, ``build_description()``, and ``build_pcg_graphics()``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| build_body_from_rcp(rcp,tbl,options)&lt;br /&gt;
| Generates based on ``rcp`` and ``options``, assigns tweaks (mutations from the base body), tissues, organs, special attacks.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| build_description(tbl,options)&lt;br /&gt;
| Writes the {{token|DESCRIPTION}} and any {{token|PREFSTRING}}s.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| build_pcg_graphics(tbl,options)&lt;br /&gt;
| Assigns [[procedural graphics layer]]s based on ``options.pcg_layering`` keys set by ``build_body_from_rcp()``.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Options===&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- style='background-color:#ddd'&lt;br /&gt;
! width=&amp;quot;15%&amp;quot; | Key&lt;br /&gt;
! width=&amp;quot;20%&amp;quot; | Usage&lt;br /&gt;
! width=&amp;quot;80%&amp;quot; | Notes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| token&lt;br /&gt;
| add_poison_bits()&lt;br /&gt;
build_body_from_rcp()&lt;br /&gt;
| The creature's token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| do_water&lt;br /&gt;
| get_random_creature_profile()&lt;br /&gt;
| Use an aquatic rcp (``water_based_random_creature``)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| humanoidable_only&lt;br /&gt;
| get_random_creature_profile()&lt;br /&gt;
build_body_from_rcp()&lt;br /&gt;
| Use a rcp that can be turned into a humanoid form (``humanoidable_random_creature``), and automatically applies the ``MAKE_HUMANOID`` tweak. Will apply the tweak even if the body is already humanoid.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| beast_only&lt;br /&gt;
| get_random_creature_profile()&lt;br /&gt;
| Forbids generic humanoid/blob/quadruped rcps (``not_beast_random_creature``).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| normal_biological&lt;br /&gt;
| add_regular_tokens()&lt;br /&gt;
| If untrue, adds {{token|AMPHIBIOUS}}, {{token|SWIMS_INNATE}}, {{token|NONAUSEA}}, {{token|NOEXERT}}, {{token|NO_DIZZINESS}}, {{token|NOPAIN}}, {{token|NOSTUN}}. Used by [[experiment]]s.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| always_nobreathe&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Adds {{token|NOBREATHE}}, even if not uniform.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| no_general_poison&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| If untrue and the creature has blood or ichor, adds {{token|CREATURE_CLASS|c|GENERAL_POISON}}.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| fire_immune&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Adds {{token|FIREIMMUNE}}. Does not affect materials. Set if the creature has a fire interaction.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| material_weakness&lt;br /&gt;
| add_regular_tokens()&lt;br /&gt;
| Will gain a 10x {{token|MATERIAL_FORCE_MULTIPLIER}} to a random weapon [[metal]] and a {{token|GENERAL_MATERIAL_FORCE_MULTIPLIER|c|1:2}}.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| is_good&lt;br /&gt;
|&lt;br /&gt;
get_random_creature_profile()&amp;lt;br&amp;gt;&lt;br /&gt;
build_body_from_rcp()&amp;lt;br&amp;gt;&lt;br /&gt;
build_description()&lt;br /&gt;
| Forbids &amp;quot;evil&amp;quot; rcps (``cannot_be_good_random_creature``).&lt;br /&gt;
Affects options for materials, tweaks, description. Cannot have attack tweaks unless the rcp forces it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| is_evil&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
build_description()&lt;br /&gt;
| Affects options for materials, tweaks, description.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| spheres&lt;br /&gt;
| populate_sphere_info()&lt;br /&gt;
color_picker_functions&amp;lt;br&amp;gt;&lt;br /&gt;
build_description()&lt;br /&gt;
| A set of the creature's spheres.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| do_sphere_rcm&lt;br /&gt;
| populate_sphere_info()&lt;br /&gt;
| Adds a 1/2 chance to set ``options.sphere_rcm`` to a material relevant to their spheres.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pick_sphere_rcm&lt;br /&gt;
| random_creature_class.UNIFORM.body_fun()&lt;br /&gt;
| If uniform, adds an additional 1/2 chance to use a material relevant to their spheres.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pos_sphere_rcm&lt;br /&gt;
| populate_sphere_info()&lt;br /&gt;
| Temporary data storage for possible sphere RCM during ``populate_sphere_info()``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| sphere_rcm&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Forces the creature to be uniform and made of that ``random_creature_material``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| always_insubstantial&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| If uniform, will always choose an insubstantial material from ``insubstantial_materials``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| never_uniform&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| If ``options.r_class`` is UNIFORM, change it to FLESHY.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| always_make_uniform&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Changes ``options.r_class`` to UNIFORM.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| do_not_make_uniform&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Do not randomly change ``options.r_class`` to UNIFORM (normally there is a 1/20 chance), unless ``options.sphere_rcm`` is set.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| walk_var&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| A string for {{token|APPLY_CREATURE_VARIATION}}, ex: &amp;quot;STANDARD_WALKING_GAITS&amp;quot;. Usually set by ``rcp.body_base``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| walk_speed&lt;br /&gt;
special_walk_speed&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| The basic walking speed in a creature's [[gait]]. ``options.special_walk_speed`` will be used instead of ``options.walk_speed`` if both are present.&lt;br /&gt;
Crawling bodies use a ``options.walk_speed`` of 2900, walking bodies use 900.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| add_fly_gaits&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Creature has a flying gait even if wings aren't added. ``local add_fly_gaits`` is used for creatures with wings.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| intangible_flier&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| If ``options.intangible`` (set by certain uniform materials), sets ``options.add_fly_gaits`` and adds {{token|FILER}}.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| cannot_swim&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Will not add a [[swimming]] gait.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| no_tweak&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Will not add any random tweaks (such as body parts or attacks) to the basic creature that aren't specified by the rcp.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| always_glowing_eyes&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Will always add glowing eyes if the creature has ``options.eyes``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
no_glowing_eyes&amp;lt;br&amp;gt;&lt;br /&gt;
cannot_have_antennae&amp;lt;br&amp;gt;&lt;br /&gt;
cannot_have_mandibles&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Will not add the listed body tweaks.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| no_random_attack_tweak&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Will not add attack tweaks (or body parts that grant them) that aren't specified by the rcp.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| strong_attack_tweak&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Enables access to attack tweaks. Will always gain an attack tweak, unless the rcp already specifies it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| experiment_attack_tweak&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Enables access to a limited set of attack tweaks 1/4 of the time.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| sickness_name&lt;br /&gt;
| add_poison_bits()&lt;br /&gt;
| Determines the name of [[syndrome]]s caused by this creature.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| poison_state&lt;br /&gt;
| add_poison_bits()&lt;br /&gt;
build_body_from_rcp()&lt;br /&gt;
| Accepts &amp;quot;LIQUID&amp;quot; (default), &amp;quot;GAS&amp;quot;, or &amp;quot;SOLID_POWDER&amp;quot;. Determines the state of this creature's [[venom]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| prioritize_bite&lt;br /&gt;
| post_attack_tweaks&lt;br /&gt;
| If true, non-bite attacks will have {{token|PRIORITY|c|SECOND}}. If untrue, non-bite attacks will have {{token|PRIORITY|c|MAIN}}.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| bite_interaction&lt;br /&gt;
| post_attack_tweaks&lt;br /&gt;
| Adds {{token|SPECIALATTACK_INTERACTION}} to bite attacks.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| can_bogey_polymorph&lt;br /&gt;
| post_gait_tweaks&lt;br /&gt;
| Allows the creature to use the [[bogeyman]] polymorph interaction.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rcp&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
build_description()&lt;br /&gt;
| Set in ``build_body_from_rcp()`` from the ``rcp`` argument.&lt;br /&gt;
Usually derived from ``random_creature_types``, passes information from the random creature profile.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| r_class&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Set to a table in ``random_creature_class``. Describes the basic tissues/features a creature has, such as FLESHY, CHITIN_EXO, or UNIFORM. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| surface&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| The creature's exterior tissue. Set based on its ``random_creature_class`` and any tweaks.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rcm&lt;br /&gt;
| random_creature_class.UNIFORM.body_fun()&lt;br /&gt;
| Set by ``random_creature_class.UNIFORM.body_fun()``.&lt;br /&gt;
If ``options.sphere_rcm`` is supplied, will use that, otherwise will be randomly chosen based on ``options.is_evil``, ``options.is_good``, ``options.pick_sphere_rcm``, ``options.rcp.requires_flexible_material``, and ``options.always_insubstantial``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| post_mat_adj&lt;br /&gt;
| build_description()&lt;br /&gt;
| A string that says &amp;quot;composed of X&amp;quot;, etc. Normally supplied by ``random_creature_material``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| matgloss&lt;br /&gt;
| random_creature_class.UNIFORM.body_fun()&lt;br /&gt;
| Temporary data storage when calling inorganic materials from ``random_creature_material``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tok1&lt;br /&gt;
tok2&lt;br /&gt;
| random_creature_class.UNIFORM.body_fun()&lt;br /&gt;
| A uniform creature's {{token|TISSUE_MATERIAL|tissue|options.tok1:options.tok2}}.&lt;br /&gt;
Must be supplied by ``random_creature_material``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| mat_temp1&lt;br /&gt;
mat_temp2&lt;br /&gt;
| random_creature_class.UNIFORM.body_fun()&lt;br /&gt;
| A uniform creature's {{token|USE_MATERIAL_TEMPLATE|c|options.tok1:options.tok2}}.&lt;br /&gt;
Can be supplied by ``random_creature_material`` to add an organic material.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| st_tok&lt;br /&gt;
| random_creature_class.UNIFORM.body_fun()&lt;br /&gt;
| A uniform creature's {{token|TISSUE_MAT_STATE|tissue}}. Must be supplied by ``random_creature_material``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| fixed_temp&lt;br /&gt;
| random_creature_class.UNIFORM.body_fun()&lt;br /&gt;
| A uniform creature's {{token|FIXED_TEMP|}}.&lt;br /&gt;
Can be supplied by ``random_creature_material``. If a material template is used, adds {{token|MAT_FIXED_TEMP|md}}.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| intangible&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Flag normally supplied by ``random_creature_material``. Creature is non-solid, serves as the condition for ``options.intangible_flier``. Limits access to attack tweak.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| fire_mat&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Flag normally supplied by ``random_creature_material``. Prevents a fire breath attack.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| body_string&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| An array of all {{token|BODY}} tokens used.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| body_size&lt;br /&gt;
| build_description()&lt;br /&gt;
build_pcg_graphics()&lt;br /&gt;
| Set by ``body_size_properties()``. Stores the creature's volume for later use.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| body_tweak_candidate&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Temporary data storage for assigning tweaks.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tweak&lt;br /&gt;
| ''quadruped_function_curry()''&lt;br /&gt;
| Temporary data storage for quadruped leg tweaks.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
attack_tweak&amp;lt;br&amp;gt;&lt;br /&gt;
btc&amp;lt;br&amp;gt;&lt;br /&gt;
btc2&amp;lt;br&amp;gt;&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
build_description()&lt;br /&gt;
| Strings used as a key to retrieve information about the chosen tweaks. Set by ``build_body_from_rcp()``&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
eyes&amp;lt;br&amp;gt;&lt;br /&gt;
beak&amp;lt;br&amp;gt;&lt;br /&gt;
brain&amp;lt;br&amp;gt;&lt;br /&gt;
cheeks&amp;lt;br&amp;gt;&lt;br /&gt;
eyelids&amp;lt;br&amp;gt;&lt;br /&gt;
guts&amp;lt;br&amp;gt;&lt;br /&gt;
heart&amp;lt;br&amp;gt;&lt;br /&gt;
lips&amp;lt;br&amp;gt;&lt;br /&gt;
lungs&amp;lt;br&amp;gt;&lt;br /&gt;
mouth&amp;lt;br&amp;gt;&lt;br /&gt;
neck&amp;lt;br&amp;gt;&lt;br /&gt;
nose&amp;lt;br&amp;gt;&lt;br /&gt;
ribs&amp;lt;br&amp;gt;&lt;br /&gt;
skull&amp;lt;br&amp;gt;&lt;br /&gt;
spine&amp;lt;br&amp;gt;&lt;br /&gt;
teeth&amp;lt;br&amp;gt;&lt;br /&gt;
throat&amp;lt;br&amp;gt;&lt;br /&gt;
tongue&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Normally set by the creature's ``random_creature_class`` (MAMMAL, CHITIN_EXO, etc).&lt;br /&gt;
Adds the listed parts to the creature's body plan.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
blood&amp;lt;br&amp;gt;&lt;br /&gt;
ichor&amp;lt;br&amp;gt;&lt;br /&gt;
goo&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Normally set by the creature's ``random_creature_class`` (MAMMAL, CHITIN_EXO, etc).&lt;br /&gt;
Sets the creature's default {{token|BLOOD}} type.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| force_goo&lt;br /&gt;
force_ichor&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| If the creature is not uniform, overwrites the creature's default {{token|BLOOD}} type.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| blood_color&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Expects a function that takes a color's HSV values and returns a boolean. Sets the creature's blood color to any color that returns true for this function.&lt;br /&gt;
Only works with standard [[blood]] from ``options.blood``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
glowing_eyes&amp;lt;br&amp;gt;&lt;br /&gt;
fingers&amp;lt;br&amp;gt;&lt;br /&gt;
toes&amp;lt;br&amp;gt;&lt;br /&gt;
finger_claws&amp;lt;br&amp;gt;&lt;br /&gt;
toe_claws&amp;lt;br&amp;gt;&lt;br /&gt;
finger_nails&amp;lt;br&amp;gt;&lt;br /&gt;
toe_nails&amp;lt;br&amp;gt;&lt;br /&gt;
finger_talons&amp;lt;br&amp;gt;&lt;br /&gt;
toe_talons&amp;lt;br&amp;gt;&lt;br /&gt;
bat_wings&amp;lt;br&amp;gt;&lt;br /&gt;
lacy_wings&amp;lt;br&amp;gt;&lt;br /&gt;
feathered_wings&amp;lt;br&amp;gt;&lt;br /&gt;
has_proboscis&amp;lt;br&amp;gt;&lt;br /&gt;
do_webs&lt;br /&gt;
&lt;br /&gt;
| build_procgen_creature()&lt;br /&gt;
| Set when building the body if the creature has those traits. Can be called by the description and when building graphics.&lt;br /&gt;
[[Nail]]s, claws, and talons are given attacks.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| eye_count&lt;br /&gt;
| build_procgen_creature()&lt;br /&gt;
| The number of eyes the creature has. Set when building the body.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| tail_count&lt;br /&gt;
| build_procgen_creature()&lt;br /&gt;
| The number of tails the creature has. Can be set before building the body.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| clp&lt;br /&gt;
| build_procgen_creature()&lt;br /&gt;
| The creature's body color. Chosen randomly or based on material unless ``rcp.cannot_have_color`` is true.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| eye_clp&lt;br /&gt;
| build_procgen_creature()&lt;br /&gt;
| The creature's eye color. Set when building the body.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
color_f&amp;lt;br&amp;gt;&lt;br /&gt;
color_b&amp;lt;br&amp;gt;&lt;br /&gt;
color_br&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Set based on ``options.clp`` unless ``options.forced_color`` is supplied. Adds {{token|COLOR|c|options.color_f:options.color_b:options.color_br}}.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| forced_color&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Adds {{token|COLOR|c|options.forced_color.f:options.forced_color.b:options.forced_color.br}} and {{token|NO_UNIT_TYPE_COLOR}}.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| animal_coloring_allowed&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Color must be a shade of brown.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| experiment_colors&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Uses the set of colors assigned to [[experiment]]s.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| exp_proc_surface_color&lt;br /&gt;
| build_pcg_graphics&lt;br /&gt;
| Stores the index of an experiment's color, for portraits.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
name_mat&amp;lt;br&amp;gt;&lt;br /&gt;
flavor_adj&amp;lt;br&amp;gt;&lt;br /&gt;
potential_end_phrase&lt;br /&gt;
| Custom names&lt;br /&gt;
| An array of names for a creature's material. Can be supplied by ``random_creature_material``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| feature_flavor_adj&lt;br /&gt;
| Custom names&lt;br /&gt;
| When ``build_description()`` is run, populates ``options.flavor_adj`` with strings based on the creature's tweaks and [[color]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| can_learn&lt;br /&gt;
| build_description()&lt;br /&gt;
| Enables certain description strings, such as &amp;quot;it knows and intones the names of all it encounters&amp;quot;. Used by default intelligent creatures.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| no_extra_description&lt;br /&gt;
| build_description()&lt;br /&gt;
| Will not add strings from ``default_desc_adds``/``good_desc_adds``/``evil_desc_adds`` to the end of the description.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| custom_desc_func&lt;br /&gt;
| build_description()&lt;br /&gt;
| Adds the output of a string instead of ``default_desc_adds``/etc. Cannot have ``options.no_extra_description.``&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| end_phrase&lt;br /&gt;
| build_description()&lt;br /&gt;
| Adds a phrase after all other generated description pieces, such as [[Night creature|&amp;quot;Now you know why you fear the night.&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| and_add&lt;br /&gt;
| build_description()&lt;br /&gt;
| Temporary storage for description grammar.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pref_str&lt;br /&gt;
| build_description()&lt;br /&gt;
| A table of possible {{token|PREFSTRING}}s.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| fallback_pref_str&lt;br /&gt;
| build_description()&lt;br /&gt;
| A string that is added to ``options.pref_str`` it is empty.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| odor_string&lt;br /&gt;
odor_level&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Sets {{token|ODOR_STRING|}} and {{token|ODOR_LEVEL|}} respectively. Can be supplied by ``random_creature_material``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| forced_odor_string&lt;br /&gt;
forced_odor_level&lt;br /&gt;
forced_odor_chance&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Sets {{token|ODOR_STRING|}} and {{token|ODOR_LEVEL|}} (defaults to 90), 1 in ``options.forced_odor_chance`` of the time.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| always_odor&lt;br /&gt;
| build_body_from_rcp()&lt;br /&gt;
| Can use the ``options.forced_odor_string`` even if creature is uniform.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pcg_layering&lt;br /&gt;
| build_pcg_graphics()&lt;br /&gt;
| A set of [[procedural graphics layer]]s. Set by ``build_pcg_graphics()``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pcg_layering_base&lt;br /&gt;
| build_pcg_graphics()&lt;br /&gt;
| The basic PCG layer-set string, concatenated to form ``options.pcg_layering`` keys. Set by ``build_body_from_rcp()``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| pcg_layering_modifier&lt;br /&gt;
| build_pcg_graphics()&lt;br /&gt;
| A set of extra info for PCG layering, such as experiment skin types. Set by ``build_body_from_rcp()``.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| use_werebeast_pcg&lt;br /&gt;
| build_pcg_graphics()&lt;br /&gt;
| If true, use the layers for [[werebeast]]s.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| experiment_layering&lt;br /&gt;
| build_pcg_graphics()&lt;br /&gt;
| If true, use the layers for humanoid [[experiment]]s. Expects ``options.experiment_colors`` to be true.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
is_male_version&lt;br /&gt;
night_creature_strength_pref&lt;br /&gt;
night_creature_agile_pref&lt;br /&gt;
night_creature_strength_agile_pref&lt;br /&gt;
| night_troll_names&lt;br /&gt;
| Flags used by [[Night troll]]s.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| no_default_werebeast_curse&lt;br /&gt;
| werebeast_origin_interactions.default()&lt;br /&gt;
| If this is true for a custom function in creatures.night_creature.werebeast, ``generate_from_list(werebeast_origin_interactions,tok,rcp.name_string,options)`` will not be able to use werebeast_origin_interactions.default. This allows [[mod]]s to better control access to [[werebeast]] curses.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| amalgam_experiment&lt;br /&gt;
failed_experiment&lt;br /&gt;
| ''experiment_description()''&lt;br /&gt;
| Flags used for default [[experiment]]s.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| experiment_name_type&lt;br /&gt;
| ''experiment_name_token''&lt;br /&gt;
| Array of nouns used instead of ``ropar.making_experiment`` for naming [[experiment]]s.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| is_large&lt;br /&gt;
| ''make_failed_rcp()''&lt;br /&gt;
| Used for large failed [[experiment]]s. Capitalizes the creature tile.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| eadj&lt;br /&gt;
fadj&lt;br /&gt;
| Custom names&lt;br /&gt;
| Temporary data storage for complex name generation.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===rcp parameters===&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:Lua|F]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Lua_script_examples&amp;diff=314518</id>
		<title>Lua script examples</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Lua_script_examples&amp;diff=314518"/>
		<updated>2026-01-29T06:52:48Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Werebugs */ humanoidable_only remap&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
{{Modding}}&lt;br /&gt;
{{Main|Lua scripting}}&lt;br /&gt;
Snippets of vanilla generation can be found in [[:Category:Lua script pages]], and all vanilla scripts can be found in ``[https://github.com/Putnam3145/DF-Raws/tree/master/vanilla_procedural/scripts data/vanilla/vanilla_procedural/scripts/]``.&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;!--Needs a special line break--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Helper functions==&lt;br /&gt;
&lt;br /&gt;
===Search by reaction class===&lt;br /&gt;
This script returns a table of all inorganic materials with a given {{token|REACTION_CLASS|md}}. The ``mat`` table also has ``reaction_product_class``, which includes both {{token|MATERIAL_REACTION_PRODUCT|md}} and {{token|ITEM_REACTION_PRODUCT|md}} IDs.&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=get_all_by_reaction_class()&lt;br /&gt;
|script=&lt;br /&gt;
function get_all_by_reaction_class(rc)&lt;br /&gt;
    local valid={}&lt;br /&gt;
    for i,inorg in ipairs(world.inorganic.inorganic) do&lt;br /&gt;
        for _,class in inorg.mat.reaction_class do&lt;br /&gt;
            if class==rc then&lt;br /&gt;
                valid[#valid+1]=inorg&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return valid&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
==Languages==&lt;br /&gt;
&lt;br /&gt;
===Identity language===&lt;br /&gt;
This makes a [[Language token|language]] called ``GEN_IDENTITY`` which is like: &amp;quot;Abbey abbeyabbeys the abbey of abbeys&amp;quot; - i.e. it's the &amp;quot;English&amp;quot; language you might see occasionally. It is present in ``vanilla_procedural`` and can be used for {{Token|TRANSLATION|entity}} by default.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=GEN_IDENTITY&lt;br /&gt;
|script=&lt;br /&gt;
languages.GEN_IDENTITY=function()&lt;br /&gt;
    -- just to demonstrate the absolute most basic method of generating one of these&lt;br /&gt;
    -- also so that you can just mod stuff to use GEN_IDENTITY&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    local unempty = function(str1, str2) &lt;br /&gt;
        return str1=='' and str2 or str1&lt;br /&gt;
    end&lt;br /&gt;
    for k,v in ipairs(world.language.word) do&lt;br /&gt;
        local str=''&lt;br /&gt;
        str=unempty(str,v.NOUN_SING)&lt;br /&gt;
        str=unempty(str,v.ADJ)&lt;br /&gt;
        str=unempty(str,v.VERB_FIRST_PRES)&lt;br /&gt;
        str=unempty(str,string.lower(v.token))&lt;br /&gt;
        tbl[v.token]=str&lt;br /&gt;
    end&lt;br /&gt;
    return tbl&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
===Kobold language===&lt;br /&gt;
This generates a language made of {{token|UTTERANCES}}. This is essentially a proper translation based on the [[kobold language]]. Note that the hardcoded ``utterance()`` function generates words independently of any existing words in the language, so you may get duplicate words. &lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=GEN_KOBOLD&lt;br /&gt;
|script=&lt;br /&gt;
languages.GEN_KOBOLD=function()&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    for k,v in ipairs(world.language.word) do&lt;br /&gt;
        tbl[v.token]=utterance()&lt;br /&gt;
    end&lt;br /&gt;
    return tbl&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
==Generators==&lt;br /&gt;
&lt;br /&gt;
===Non-random generated material===&lt;br /&gt;
&lt;br /&gt;
Here's an example of an object registered through the ``do_once`` table. There are no random elements, it is equivalent (save for being {{token|GENERATED|mat}}) to an object defined through [[Material definition token]]s and registered through the ``raws.register_inorganics()`` function. It also prints itself to the lualog for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Single material&lt;br /&gt;
|script=do_once.cobalt = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	&lt;br /&gt;
	-- basic inorganic definition&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[INORGANIC:COBALT]&amp;quot;&lt;br /&gt;
	-- add [GENERATED] to save properly&lt;br /&gt;
	add_generated_info(lines)&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:cobalt]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid cobalt]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling cobalt]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:COBALT]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	raws.register_inorganics(lines)&lt;br /&gt;
&lt;br /&gt;
	-- show in lualog&lt;br /&gt;
	print_table(lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can register multiple objects at the same time. This script takes a table of color tokens, and makes a metal named after each of them, with a corresponding cheaty adventure reaction.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Chromatic metals&lt;br /&gt;
|script=do_once.chromatic_metal = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local reaction_lines = {}&lt;br /&gt;
	&lt;br /&gt;
	local color_tokens = {&lt;br /&gt;
			&amp;quot;AMETHYST&amp;quot;,&lt;br /&gt;
			&amp;quot;AQUAMARINE&amp;quot;,&lt;br /&gt;
			&amp;quot;CARDINAL&amp;quot;,&lt;br /&gt;
			&amp;quot;COBALT&amp;quot;,&lt;br /&gt;
			&amp;quot;EMERALD&amp;quot;,&lt;br /&gt;
			&amp;quot;JADE&amp;quot;,&lt;br /&gt;
			&amp;quot;MOSS_GREEN&amp;quot;,&lt;br /&gt;
			&amp;quot;PEARL&amp;quot;,&lt;br /&gt;
			&amp;quot;SAFFRON&amp;quot;,&lt;br /&gt;
			&amp;quot;TURQUOISE&amp;quot;,&lt;br /&gt;
			&amp;quot;WHITE&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- make a metal for each color token&lt;br /&gt;
	for k,v in pairs(color_tokens) do&lt;br /&gt;
		-- begin definition with ID token, [GENERATED] and template&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[INORGANIC:CHROMATICMETAL&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(lines)&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		-- look up the metal's color in the world table&lt;br /&gt;
		-- using string.lower(v) would result in &amp;quot;moss_green&amp;quot;&lt;br /&gt;
		local metalname = world.descriptor.color[v].name&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:&amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		-- appearance&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		-- create a corresponding reaction&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[REACTION:CHROMATICMETAL&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(reaction_lines)&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[NAME:create &amp;quot;..metalname..&amp;quot; bars]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[ADVENTURE_MODE_ENABLED]&amp;quot;&lt;br /&gt;
		-- make sure we're consistent with the inorganic ID&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT:100:1:BAR:NONE:INORGANIC:CHROMATICMETAL&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT_DIMENSION:150]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	raws.register_inorganics(lines)&lt;br /&gt;
	raws.register_reactions(reaction_lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Random generation===&lt;br /&gt;
&lt;br /&gt;
Here's an example of various DF-specific randomizers in use:&lt;br /&gt;
* ``trandom()`` is used to determine how many metals generate this way.&lt;br /&gt;
* ``utterance()`` generates utterances from the [[Kobold language]], e.g. &amp;quot;gorsnus&amp;quot;, &amp;quot;stogodilmus&amp;quot;, &amp;quot;gaylgis&amp;quot;&lt;br /&gt;
* ``pick_random_no_replace()`` determines the color from the table, but removes the rolled value so there's no repeats.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Kobold metals&lt;br /&gt;
|script=do_once.kobold_metal = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local reaction_lines = {}&lt;br /&gt;
	&lt;br /&gt;
	local color_tokens = {&lt;br /&gt;
		&amp;quot;AMETHYST&amp;quot;,&lt;br /&gt;
		&amp;quot;AQUAMARINE&amp;quot;,&lt;br /&gt;
		&amp;quot;CARDINAL&amp;quot;,&lt;br /&gt;
		&amp;quot;COBALT&amp;quot;,&lt;br /&gt;
		&amp;quot;EMERALD&amp;quot;,&lt;br /&gt;
		&amp;quot;JADE&amp;quot;,&lt;br /&gt;
		&amp;quot;MOSS_GREEN&amp;quot;,&lt;br /&gt;
		&amp;quot;PEARL&amp;quot;,&lt;br /&gt;
		&amp;quot;SAFFRON&amp;quot;,&lt;br /&gt;
		&amp;quot;TURQUOISE&amp;quot;,&lt;br /&gt;
		&amp;quot;WHITE&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- trandom() is expressed as (1dN)-1 because it uses C++ math that starts at 0&lt;br /&gt;
	local max_loops = trandom(10)+1&lt;br /&gt;
&lt;br /&gt;
	-- create 1-10 metals&lt;br /&gt;
	for i = 1,max_loops do&lt;br /&gt;
		-- begin definition with ID token, [GENERATED] and template&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[INORGANIC:KOBOLDMETAL&amp;quot;..i..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(lines)&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		-- this is the kobold name function&lt;br /&gt;
		local metalname = utterance()..&amp;quot;ite&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:&amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		-- no_replace removes the value from the table&lt;br /&gt;
		-- we don't need a fallback because there's more values than metals&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:&amp;quot;..pick_random_no_replace(color_tokens)..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		-- create a corresponding reaction&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[REACTION:KOBOLDMETAL&amp;quot;..i..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(reaction_lines)&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[NAME:create &amp;quot;..metalname..&amp;quot; bars]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[ADVENTURE_MODE_ENABLED]&amp;quot;&lt;br /&gt;
		-- make sure we're consistent with the inorganic ID&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT:100:1:BAR:NONE:INORGANIC:KOBOLDMETAL&amp;quot;..i..&amp;quot;]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT_DIMENSION:150]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	raws.register_inorganics(lines)&lt;br /&gt;
	raws.register_reactions(reaction_lines)&lt;br /&gt;
end		&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===New divine metals===&lt;br /&gt;
&lt;br /&gt;
Many of the tables used by vanilla procedural objects are global, and thus can be added to or overwritten by mods. You can add new metal descriptions for divine metal pretty easily, for example:&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Laughing metal&lt;br /&gt;
|script=&lt;br /&gt;
metal_by_sphere.CHILDREN={&lt;br /&gt;
    name=&amp;quot;laughing metal&amp;quot;,&lt;br /&gt;
    col=&amp;quot;7:0:1&amp;quot;,&lt;br /&gt;
    color=&amp;quot;WHITE&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can also add alternatives to the default divine metal function, such as one based on the aforementioned kobold metals.&lt;br /&gt;
Vanilla divine metal uses ``metal_by_sphere`` to determine its properties, and is thus valid only if the input sphere has an entry in that table.&lt;br /&gt;
Note that even if the weights are nominally the same; because it is valid for all input spheres, it will outnumber instances of the more limited vanilla material.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Divine kobold metal&lt;br /&gt;
|script=materials.divine.metal.kobold = function(sphere)&lt;br /&gt;
	if not foo then&lt;br /&gt;
		log(#metal_by_sphere)&lt;br /&gt;
		log(#world.spheres)&lt;br /&gt;
		foo = true&lt;br /&gt;
	end&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	--generation function handles ID, registration, generated info&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
	--add_generated_info(lines)&lt;br /&gt;
	local metalname = utterance()..&amp;quot;ite&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:&amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local color_tokens = {&lt;br /&gt;
		&amp;quot;AMETHYST&amp;quot;,&lt;br /&gt;
		&amp;quot;AQUAMARINE&amp;quot;,&lt;br /&gt;
		&amp;quot;CARDINAL&amp;quot;,&lt;br /&gt;
		&amp;quot;COBALT&amp;quot;,&lt;br /&gt;
		&amp;quot;EMERALD&amp;quot;,&lt;br /&gt;
		&amp;quot;JADE&amp;quot;,&lt;br /&gt;
		&amp;quot;MOSS_GREEN&amp;quot;,&lt;br /&gt;
		&amp;quot;PEARL&amp;quot;,&lt;br /&gt;
		&amp;quot;SAFFRON&amp;quot;,&lt;br /&gt;
		&amp;quot;TURQUOISE&amp;quot;,&lt;br /&gt;
		&amp;quot;WHITE&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	--allow for duplicate colors&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:&amp;quot;..pick_random(color_tokens)..&amp;quot;]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	--add a block of tokens&lt;br /&gt;
	lines=split_to_lines(lines,[[&lt;br /&gt;
    [MATERIAL_VALUE:200]&lt;br /&gt;
	[SPEC_HEAT:7500]&lt;br /&gt;
	[MELTING_POINT:NONE]&lt;br /&gt;
	[BOILING_POINT:NONE]&lt;br /&gt;
	[ITEMS_WEAPON][ITEMS_WEAPON_RANGED][ITEMS_AMMO][ITEMS_DIGGER][ITEMS_ARMOR][ITEMS_ANVIL]&lt;br /&gt;
	[ITEMS_HARD]&lt;br /&gt;
	[ITEMS_METAL]&lt;br /&gt;
	[ITEMS_BARRED]&lt;br /&gt;
	[ITEMS_SCALED]&lt;br /&gt;
	[SOLID_DENSITY:1000]&lt;br /&gt;
	[LIQUID_DENSITY:1000]&lt;br /&gt;
	[MOLAR_MASS:20000]&lt;br /&gt;
	[IMPACT_YIELD:1000000]&lt;br /&gt;
	[IMPACT_FRACTURE:2000000]&lt;br /&gt;
	[IMPACT_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[COMPRESSIVE_YIELD:1000000]&lt;br /&gt;
	[COMPRESSIVE_FRACTURE:2000000]&lt;br /&gt;
	[COMPRESSIVE_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[TENSILE_YIELD:1000000]&lt;br /&gt;
	[TENSILE_FRACTURE:2000000]&lt;br /&gt;
	[TENSILE_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[TORSION_YIELD:1000000]&lt;br /&gt;
	[TORSION_FRACTURE:2000000]&lt;br /&gt;
	[TORSION_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[SHEAR_YIELD:1000000]&lt;br /&gt;
	[SHEAR_FRACTURE:2000000]&lt;br /&gt;
	[SHEAR_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[BENDING_YIELD:1000000]&lt;br /&gt;
	[BENDING_FRACTURE:2000000]&lt;br /&gt;
	[BENDING_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[MAX_EDGE:12000]&lt;br /&gt;
	]])&lt;br /&gt;
	--sends this to get registered&lt;br /&gt;
	return {raws=lines,weight=1}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Remove default functions===&lt;br /&gt;
&lt;br /&gt;
Just as easily as new functions and table entries can be added, default entries can be overwritten so that they cannot generate. This snippet removes the default forgotten beasts.&lt;br /&gt;
&lt;br /&gt;
See [[Lua functions#Generation Tables]] for a list of the tables the default functions are stored in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; &amp;gt;&lt;br /&gt;
creatures.fb.default=nil&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Basic generated creature===&lt;br /&gt;
&lt;br /&gt;
This is essentially the simplest possible creature. It has no extraordinary options (beyond an [[Sphere|association]] with animals and creation), and each world generates one species from this function. It doesn't have any biome tokens or likewise, so it can only be spawned in the arena, but it is still functional.&lt;br /&gt;
&lt;br /&gt;
A sample output would be &amp;quot;A quadruped composed of flame. It has two narrow tails and it has a regal bearing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=do_once.basic_creature&lt;br /&gt;
|script=do_once.basic_creature = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local tok=&amp;quot;BASIC_PROCEDURAL_CREATURE&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE:&amp;quot;..tok..&amp;quot;]&amp;quot;&lt;br /&gt;
	add_generated_info(lines)&lt;br /&gt;
	&lt;br /&gt;
	local options={&lt;br /&gt;
		token=tok,&lt;br /&gt;
		spheres={&lt;br /&gt;
			ANIMALS=true,&lt;br /&gt;
			CREATION=true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	lines=split_to_lines(lines,[[&lt;br /&gt;
		[NAME:procedural creature:procedural creatures:procedural]&lt;br /&gt;
		[CASTE_NAME:procedural creature:procedural creatures:procedural]&lt;br /&gt;
	]])&lt;br /&gt;
	--adds some common tokens depending on the options&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	&lt;br /&gt;
	--handles sphere options: fills out [SPHERE] tokens from options.spheres, and so on&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	&lt;br /&gt;
	--choose a creature profile to base on&lt;br /&gt;
	local rcp=get_random_creature_profile(options)&lt;br /&gt;
	--set [BODY_SIZE] and some relevant tokens&lt;br /&gt;
	add_body_size(lines,rcp.min_size,options)&lt;br /&gt;
	--add the tile from the creature profile&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	--the Big Function determining tweaks, body, appearance, description...&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	&lt;br /&gt;
	raws.register_creatures(lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Making your own rcp===&lt;br /&gt;
&lt;br /&gt;
You don't have to be limited to the vanilla list of random creature variants. Mods can add new kinds of random creature profiles, materials, etc that can be seamlessly integrated into how it generates creatures. &lt;br /&gt;
&lt;br /&gt;
This script generates a single creature based on a [[Wikipedia:Eurypterid|eurypterid]]. It has a unique rcp, set in the function itself.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=do_once.local_rcp&lt;br /&gt;
|script=do_once.local_rcp = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local tok=&amp;quot;LOCAL_RCP&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE:&amp;quot;..tok..&amp;quot;]&amp;quot;&lt;br /&gt;
	add_generated_info(lines)&lt;br /&gt;
	&lt;br /&gt;
	local options={&lt;br /&gt;
		token=tok,&lt;br /&gt;
		spheres={&lt;br /&gt;
			ANIMALS=true,&lt;br /&gt;
			WATER=true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	--habitat&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[BIOME:ANY_OCEAN]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[LARGE_ROAMING]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[AQUATIC][UNDERSWIM]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	--define a local creature profile&lt;br /&gt;
	local rcp={&lt;br /&gt;
		name_string=&amp;quot;eurypterid&amp;quot;,&lt;br /&gt;
		tile='E',&lt;br /&gt;
		body_base=&amp;quot;SCORPION&amp;quot;,&lt;br /&gt;
		c_class=&amp;quot;CHITIN_EXO&amp;quot;,&lt;br /&gt;
		must_have_pincers=true,&lt;br /&gt;
		must_have_tail=true,&lt;br /&gt;
		min_size=70000,&lt;br /&gt;
		weight=200,&lt;br /&gt;
	}&lt;br /&gt;
	local name_str = rcp.name_string..&amp;quot;:&amp;quot;..rcp.name_string..&amp;quot;s:&amp;quot;..rcp.name_string..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[NAME:&amp;quot;..name_str&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[CASTE_NAME:&amp;quot;..name_str&lt;br /&gt;
	&lt;br /&gt;
	add_body_size(lines,rcp.min_size,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	&lt;br /&gt;
	raws.register_creatures(lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Adding a eurypterid profile to ``random_creature_profiles`` allows any creature to access it, if their profile is determined randomly.&lt;br /&gt;
&lt;br /&gt;
This script gives it proper flippers in its body base function. It's also associated with water-based random creatures, so it can potentially generate as an aquatic [[forgotten beast]] species.&lt;br /&gt;
&lt;br /&gt;
Other feature variants stored in tables, like materials, attacks, or descriptions, can be added in this way.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Global rcp&lt;br /&gt;
|script=&lt;br /&gt;
random_creature_types.EURYPTERID={&lt;br /&gt;
		name_string=&amp;quot;eurypterid&amp;quot;,&lt;br /&gt;
		tile='E',&lt;br /&gt;
		body_base=&amp;quot;SCORPION_FLIPPERS&amp;quot;,&lt;br /&gt;
		c_class=&amp;quot;CHITIN_EXO&amp;quot;,&lt;br /&gt;
		must_have_pincers=true,&lt;br /&gt;
		must_have_tail=true,&lt;br /&gt;
		min_size=70000,&lt;br /&gt;
		weight=200,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body_base_fun.SCORPION_FLIPPERS=function(rcp,options)&lt;br /&gt;
		options.pcg_layering_base=&amp;quot;BEAST_SCORPION&amp;quot;&lt;br /&gt;
		options.walk_var=&amp;quot;STANDARD_WALKING_GAITS&amp;quot;&lt;br /&gt;
		options.walk_speed=900&lt;br /&gt;
		return {&amp;quot;RCP_CEPHALOTHORAX&amp;quot;,&amp;quot;RCP_ABDOMEN&amp;quot;,&amp;quot;RCP_FIRST_SIMPLE_LEGS&amp;quot;,&amp;quot;RCP_SECOND_SIMPLE_LEGS&amp;quot;,&amp;quot;RCP_THIRD_SIMPLE_LEGS&amp;quot;,&amp;quot;RCP_PINCERS&amp;quot;,&amp;quot;RCP_FRONT_FLIPPER&amp;quot;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
water_based_random_creature.EURYPTERID=true&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Werebugs===&lt;br /&gt;
&lt;br /&gt;
You can make a custom function to determine what rcps are available to a given creature.&lt;br /&gt;
&lt;br /&gt;
These scripts are for an arthropoid version of a [[werebeast]].&lt;br /&gt;
* ``arthropod_rcp`` is a list of rcp keys which fit this theme (plus a few worms on there for fun), which the creature function rolls on to pick its form.&lt;br /&gt;
* ``is_bloodsucking_by_key``, along with ``rcp.must_suck_blood_through_proboscis`` and ``rcp.must_suck_blood_through_mouth`` are checked to assign {{token|BLOODSUCKER}} to it, which allows certain creature types to exhibit vampiric behavior if their berserk rampage wasn't enough [[fun]].&lt;br /&gt;
&lt;br /&gt;
Otherwise, the function should work the same as vanilla werebeasts, generating an associated [[Interaction token|major curse]] in the same way and becoming &amp;quot;twisted into humanoid form&amp;quot; (at the expense of their additional limbs).&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=arthropod_rcp&lt;br /&gt;
|script=local arthropod_rcp = {&lt;br /&gt;
	&amp;quot;ARACHNID_MITE&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_SCORPION&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_SPIDER&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_TARANTULA&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_TICK&amp;quot;,&lt;br /&gt;
	&amp;quot;CRUSTACEAN_CRAB&amp;quot;,&lt;br /&gt;
	&amp;quot;CRUSTACEAN_LOBSTER&amp;quot;,&lt;br /&gt;
	&amp;quot;CRUSTACEAN_SHRIMP&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_ANT&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_ANTLION&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_APHID&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_BEE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_BUTTERFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CADDISFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CATERPILLAR&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CICADA&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_COCKROACH&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CRICKET&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_DAMSELFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_DARKLING_BEETLE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_DRAGONFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_EARWIG&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_FIREFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_FLEA&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_FLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_GRASSHOPPER&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_HORNET&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_LACEWING&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_LADYBUG&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_LOUSE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MAGGOT&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MANTIS&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MAYFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MOSQUITO&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MOTH&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SILVERFISH&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SCARAB_BEETLE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SCORPIONFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SNAKEFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_STONEFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_TERMITE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_THRIPS&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_WASP&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_WEEVIL&amp;quot;,&lt;br /&gt;
	&amp;quot;NEMATODE&amp;quot;,&lt;br /&gt;
	&amp;quot;LEECH&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=is_bloodsucking_by_key&lt;br /&gt;
|script=local is_bloodsucking_by_key = {&lt;br /&gt;
	ARACHNID_MITE=true,&lt;br /&gt;
	ARACHNID_TICK=true,&lt;br /&gt;
	INSECT_EARWIG=true,--some are parasitic&lt;br /&gt;
	INSECT_FLEA=true,&lt;br /&gt;
	INSECT_LOUSE=true,&lt;br /&gt;
	INSECT_MAGGOT=true,&lt;br /&gt;
	INSECT_THRIPS=true,--no bloodsucking reported, but does bite humans&lt;br /&gt;
	NEMATODE=true,&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=creatures.night_creature.werebeast.werebug&lt;br /&gt;
|script=creatures.night_creature.werebeast.werebug=function(tok)&lt;br /&gt;
	local lines={}&lt;br /&gt;
	local options={&lt;br /&gt;
		spheres={&lt;br /&gt;
			CHAOS=true,&lt;br /&gt;
			ANIMALS=true,&lt;br /&gt;
			NIGHT=true,&lt;br /&gt;
			MOON=true&lt;br /&gt;
		},&lt;br /&gt;
		always_glowing_eyes=true,&lt;br /&gt;
		use_werebeast_pcg=true, --use them if werebug sprites somehow exist&lt;br /&gt;
		animal_coloring_allowed=true,&lt;br /&gt;
		no_tweak=true,&lt;br /&gt;
		material_weakness=true,&lt;br /&gt;
		humanoidable_only=true,&lt;br /&gt;
		prioritize_bite=true,&lt;br /&gt;
		force_ichor=true,&lt;br /&gt;
		token=tok&lt;br /&gt;
	}&lt;br /&gt;
	options.night_creature_agile_pref=true&lt;br /&gt;
	night_creature_universals(lines,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NIGHT_CREATURE_HUNTER]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CAN_LEARN]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CAN_SPEAK]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NO_GENDER]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[BONECARN]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CRAZED]&amp;quot;&lt;br /&gt;
	if options.night_creature_strength_pref then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:STRENGTH:1000:1250:1500:2000:2250:2500:3000]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:AGILITY:450:550:700:750:800:850:900]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:TOUGHNESS:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:ENDURANCE:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		options.special_walk_speed=1000&lt;br /&gt;
	elseif options.night_creature_agile_pref then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:STRENGTH:450:550:700:750:800:850:900]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:AGILITY:1000:1250:1500:2000:2250:2500:3000]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:TOUGHNESS:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:ENDURANCE:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		options.special_walk_speed=800;&lt;br /&gt;
	elseif options.night_creature_strength_agile_pref then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:STRENGTH:1000:1150:1250:1500:2000:2250:2500]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:AGILITY:1000:1150:1250:1500:2000:2250:2500]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:TOUGHNESS:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:ENDURANCE:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		options.special_walk_speed=850;&lt;br /&gt;
	end&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:RECUPERATION:450:1050:1150:1250:1350:1550:2250]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:DISEASE_RESISTANCE:700:1300:1400:1500:1600:1800:2500]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:ANALYTICAL_ABILITY:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:FOCUS:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:WILLPOWER:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:PATIENCE:0:333:666:1000:2333:3666:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:MEMORY:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:LINGUISTIC_ABILITY:450:1050:1150:1250:1350:1550:2250]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:MUSICALITY:0:333:666:1000:2333:3666:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:SOCIAL_AWARENESS:700:1300:1400:1500:1600:1800:2500]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:BASHFUL:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:STRESS_VULNERABILITY:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:FRIENDLINESS:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:DISDAIN_ADVICE:100:100:100]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:CHEER_PROPENSITY:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:GRATITUDE:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:TRUST:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:ALTRUISM:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:CRUELTY:100:100:100]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:WRESTLING:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:BITE:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:GRASP_STRIKE:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:STANCE_STRIKE:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:MELEE_COMBAT:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:DODGING:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:SNEAK:20]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[DIFFICULTY:3]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[LAIR:SIMPLE_BURROW:50]&amp;quot;&lt;br /&gt;
	-- pick a random bug rcp, there's no overlap with the mammal/reptile standard werebeasts&lt;br /&gt;
	finalize_random_creature_types() -- good practice to run before rolling on it&lt;br /&gt;
	local rcp_key = pick_random_no_replace(arthropod_rcp) or &amp;quot;INSECT_MANTIS&amp;quot;&lt;br /&gt;
	local rcp=random_creature_types[rcp_key]&lt;br /&gt;
&lt;br /&gt;
	local custom_desc_str = &amp;quot;it is crazed for blood and flesh&amp;quot;&lt;br /&gt;
	-- make them also vampires if they suck blood&lt;br /&gt;
	if rcp.must_suck_blood_through_proboscis or rcp.must_suck_blood_through_mouth or is_bloodsucking_by_key[rcp_key] then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[BLOODSUCKER]&amp;quot;&lt;br /&gt;
		custom_desc_str = &amp;quot;it is crazed for warm blood&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	-- This sort of process should be fully generalized&lt;br /&gt;
	-- to all creatures you want to have bespoke associated interactions&lt;br /&gt;
	-- for example, you can have a blessing that allows a sort of&lt;br /&gt;
	-- uncrazed transformation into some sort of bespoke&lt;br /&gt;
	-- generated thing--at least, hopefully it's robust enough for that&lt;br /&gt;
	local choice=generate_from_list(werebeast_origin_interactions,tok,rcp.name_string,options)&lt;br /&gt;
	map_merge(options,choice.options)&lt;br /&gt;
	local werebeast_choice_raws=choice.interaction or choice.raws&lt;br /&gt;
	raws.register_interactions(werebeast_choice_raws)&lt;br /&gt;
	add_body_size(lines,math.max(rcp.min_size,80000+trandom(11)*1000),options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:165]&amp;quot; --Ñ&lt;br /&gt;
	options.forced_color={&lt;br /&gt;
		f=6,&lt;br /&gt;
		b=0,&lt;br /&gt;
		br=1&lt;br /&gt;
	}&lt;br /&gt;
	options.custom_desc_func=function(options)&lt;br /&gt;
		return custom_desc_str&lt;br /&gt;
	end&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[GO_TO_START]&amp;quot;&lt;br /&gt;
	-- remove second words like &amp;quot; beetle&amp;quot;, etc from the end&lt;br /&gt;
	local short_name = rcp.name_string:gsub(&amp;quot;%s(%w+)$&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
	local name_str=&amp;quot;were&amp;quot;..short_name..&amp;quot;:were&amp;quot;..short_name..&amp;quot;s:were&amp;quot;..short_name..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NAME:&amp;quot;..name_str&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CASTE_NAME:&amp;quot;..name_str&lt;br /&gt;
	return {raws=lines,weight=1}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===New forgotten beasts===&lt;br /&gt;
You can add new types of forgotten beasts (or more appropriately, {{token|FEATURE_BEAST}}s). These generate as alternatives when populating the caverns with unique monsters. There are a number of options to interact with shared generation functions.&lt;br /&gt;
&lt;br /&gt;
Unbidden spirits only appear in dry cave layers, and like &amp;quot;spirit&amp;quot; [[demon]]s, are malevolent floating beings made of gas or dust.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Unbidden spirit&lt;br /&gt;
|script=&lt;br /&gt;
creatures.fb.unbidden=function(layer_type,tok)&lt;br /&gt;
    if layer_type==0 then return nil end -- land only&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    local options={&lt;br /&gt;
        strong_attack_tweak=true,&lt;br /&gt;
        always_make_uniform=true,&lt;br /&gt;
        always_insubstantial=true,&lt;br /&gt;
        intangible_flier=true,&lt;br /&gt;
        spheres={CAVERNS=true},&lt;br /&gt;
        is_evil=true,&lt;br /&gt;
        sickness_name=&amp;quot;beast sickness&amp;quot;,&lt;br /&gt;
        token=tok&lt;br /&gt;
    }&lt;br /&gt;
    tbl=split_to_lines(tbl,[[&lt;br /&gt;
    [FEATURE_BEAST]&lt;br /&gt;
    [ATTACK_TRIGGER:0:0:2]&lt;br /&gt;
    [NAME:unbidden spirit:unbidden spirit:unbidden spirit]&lt;br /&gt;
    [CASTE_NAME:unbidden spirit:unbidden spirit:unbidden spirit]&lt;br /&gt;
    [NO_GENDER]&lt;br /&gt;
    [CARNIVORE]&lt;br /&gt;
    [DIFFICULTY:10]&lt;br /&gt;
&lt;br /&gt;
    [NATURAL_SKILL:WRESTLING:6]&lt;br /&gt;
    [NATURAL_SKILL:BITE:6]&lt;br /&gt;
    [NATURAL_SKILL:GRASP_STRIKE:6]&lt;br /&gt;
    [NATURAL_SKILL:STANCE_STRIKE:6]&lt;br /&gt;
    [NATURAL_SKILL:MELEE_COMBAT:6]&lt;br /&gt;
    [NATURAL_SKILL:DODGING:6]&lt;br /&gt;
    [NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&lt;br /&gt;
    [LARGE_PREDATOR]&lt;br /&gt;
    ]])&lt;br /&gt;
    add_regular_tokens(tbl,options)&lt;br /&gt;
    tbl[#tbl+1]=layer_type==0 and &amp;quot;[BIOME:SUBTERRANEAN_WATER]&amp;quot; or &amp;quot;[BIOME:SUBTERRANEAN_CHASM]&amp;quot;&lt;br /&gt;
    if layer_type==0 then options.spheres.WATER=true end&lt;br /&gt;
    options.spheres[pick_random(evil_spheres)]=true&lt;br /&gt;
    options.do_water=layer_type==0&lt;br /&gt;
    populate_sphere_info(tbl,options)&lt;br /&gt;
    local rcp=get_random_creature_profile(options)&lt;br /&gt;
    add_body_size(tbl,math.max(10000000,rcp.min_size),options)&lt;br /&gt;
    tbl[#tbl+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
    build_procgen_creature(rcp,tbl,options)&lt;br /&gt;
    -- Weight is a float; all vanilla objects have weight 1&lt;br /&gt;
    return {creature=tbl,weight=0.5}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Construct creature|Elementals]] are defined by the material they're made of, using a table of options to set the right properties. In a dry chasm layer, they'll roll on the ``fb_elements`` table, while in a water layer, they'll be a water elemental. Should they ever carry a [[syndrome]], they would inflict [[Wikipedia:Dyscrasia|dyskrasia]].&lt;br /&gt;
&lt;br /&gt;
The most important feature is setting ``options.sphere_rcm`` to a key in ``random_creature_materials``, so fire elementals are made of &amp;quot;FLAME&amp;quot; and earth elementals are made of &amp;quot;ANY_MINERAL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Elemental&lt;br /&gt;
|script=&lt;br /&gt;
fb_elements = {&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;quot;fire&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;FLAME&amp;quot;,&lt;br /&gt;
		spheres={ FIRE=true },&lt;br /&gt;
		options={ fire_immune=true }&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;quot;earth&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;ANY_MINERAL&amp;quot;,&lt;br /&gt;
		rcp_options={ always_flightless=true },&lt;br /&gt;
		spheres={&lt;br /&gt;
			EARTH=true,&lt;br /&gt;
			MINERALS=true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;quot;air&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;STEAM&amp;quot;,&lt;br /&gt;
		spheres={&lt;br /&gt;
			WIND=true,&lt;br /&gt;
			SKY=true&lt;br /&gt;
		},&lt;br /&gt;
		options={&lt;br /&gt;
			always_insubstantial=true,&lt;br /&gt;
			intangible_flier=true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
creatures.fb.elemental=function(layer_type,tok)&lt;br /&gt;
	local lines={}&lt;br /&gt;
	local options={&lt;br /&gt;
		strong_attack_tweak=true,&lt;br /&gt;
		always_make_uniform=true, --irrelevant due to sphere_rcm&lt;br /&gt;
		spheres={},&lt;br /&gt;
		sickness_name=&amp;quot;dyskrasia&amp;quot;,&lt;br /&gt;
		token=tok&lt;br /&gt;
	}&lt;br /&gt;
	lines=split_to_lines(lines,[[&lt;br /&gt;
		[FEATURE_BEAST]&lt;br /&gt;
		[ATTACK_TRIGGER:0:0:2]&lt;br /&gt;
		[NO_GENDER]&lt;br /&gt;
		[NO_EAT][NO_DRINK]&lt;br /&gt;
		[DIFFICULTY:10]&lt;br /&gt;
		&lt;br /&gt;
		[NATURAL_SKILL:WRESTLING:6]&lt;br /&gt;
		[NATURAL_SKILL:BITE:6]&lt;br /&gt;
		[NATURAL_SKILL:GRASP_STRIKE:6]&lt;br /&gt;
		[NATURAL_SKILL:STANCE_STRIKE:6]&lt;br /&gt;
		[NATURAL_SKILL:MELEE_COMBAT:6]&lt;br /&gt;
		[NATURAL_SKILL:DODGING:6]&lt;br /&gt;
		[NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&lt;br /&gt;
		[LARGE_PREDATOR]&lt;br /&gt;
	]])&lt;br /&gt;
	&lt;br /&gt;
	-- Create a water elemental in water layers, otherwise use another type&lt;br /&gt;
	local water_elemental = {&lt;br /&gt;
		name=&amp;quot;water&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;WATER&amp;quot;,&lt;br /&gt;
		spheres={WATER=true},&lt;br /&gt;
		options={do_water=true}&lt;br /&gt;
	}&lt;br /&gt;
	local my_element = layer_type==1 and pick_random(fb_elements) or water_elemental&lt;br /&gt;
	&lt;br /&gt;
	-- Assign propertes from chosen element&lt;br /&gt;
	map_merge(options.spheres,my_element.spheres)&lt;br /&gt;
	if my_element.options then map_merge(options,my_element.options) end&lt;br /&gt;
	&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	lines[#lines+1]=layer_type==0 and &amp;quot;[BIOME:SUBTERRANEAN_WATER]&amp;quot; or &amp;quot;[BIOME:SUBTERRANEAN_CHASM]&amp;quot;&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	&lt;br /&gt;
	-- Set custom material&lt;br /&gt;
	options.sphere_rcm=my_element.rcm&lt;br /&gt;
	-- Build body&lt;br /&gt;
	local rcp=get_random_creature_profile(options)&lt;br /&gt;
	-- Set more options on the RCP&lt;br /&gt;
	if my_element.rcp_options then map_merge(rcp.options,my_element.rcp_options) end&lt;br /&gt;
	add_body_size(lines,math.max(10000000,rcp.min_size),options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:'E']&amp;quot;&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	&lt;br /&gt;
	-- Generate name&lt;br /&gt;
	local element_name = my_element.name or &amp;quot;glitchstuff&amp;quot;&lt;br /&gt;
	local name_str = element_name..&amp;quot; elemental:&amp;quot;..element_name..&amp;quot; elemental:&amp;quot;..element_name..&amp;quot;-elemental]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[GO_TO_START]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NAME:&amp;quot;..name_str&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CASTE_NAME:&amp;quot;..name_str&lt;br /&gt;
	&lt;br /&gt;
	return {raws=lines,weight=1.5}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Tweaking creatures===&lt;br /&gt;
Common Lua features allow you to extend functions by mirroring the original function and then overwriting it, akin to the ``SELECT`` tags. This function extends ``add_regular_tokens()`` to add {{token|GENERAL_MATERIAL_FORCE_MULTIPLIER}} to all generated creatures.&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=add_regular_tokens (extension)&lt;br /&gt;
|script=&lt;br /&gt;
old_add_regular_tokens=add_regular_tokens&lt;br /&gt;
function add_regular_tokens(lines,options)&lt;br /&gt;
    old_add_regular_tokens(lines,options)&lt;br /&gt;
    lines[#lines+1]=&amp;quot;[GENERAL_MATERIAL_FORCE_MULTIPLIER:1:2]&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--Consolidate the creature patching stuff in a single header--&amp;gt;&lt;br /&gt;
This function is run in ``build_body_from_rcp()`` right before tweaks are determined (See [[Lua functions#Creature patching]]). If a generated creature's size is greater than 500,000 Γ (about as much as an [[elephant]]), this patch adds {{token|POWER}} and the like to make forgotten beasts, titans, etc capable of impersonating [[Deity|deities]] and ruling [[civilization]]s.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=btc1_tweaks.titan_worship&lt;br /&gt;
|script=&lt;br /&gt;
-- make all large creatures into powers&lt;br /&gt;
btc1_tweaks.titan_worship=function(lines,options,add_to_body,add_to_body_unique,add_tweak_candidate)&lt;br /&gt;
	if options.body_size&amp;gt;=500000 then -- described as &amp;quot;very large&amp;quot;, graphics size cutoff&lt;br /&gt;
		options.can_learn=true -- for flavor text&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[INTELLIGENT]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[SUPERNATURAL]&amp;quot; -- knows secrets according to their spheres&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[POWER]&amp;quot; -- impersonates deities&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[SPREAD_EVIL_SPHERES_IF_RULER]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Adamantine alloys===&lt;br /&gt;
&lt;br /&gt;
You can add your own arbitrary generated objects, though as of right now there's no way to make settings for them. This allows for some ''truly'' wild stuff; here's a fun example: adamantine-metal alloys for every single non-special metal, giving you an average of the properties of them.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Adamantine alloys&lt;br /&gt;
|script=&lt;br /&gt;
preprocess.adamantine_alloys=function()&lt;br /&gt;
    if not random_object_parameters.main_world_randoms then return end&lt;br /&gt;
    local l=get_debug_logger(2)&lt;br /&gt;
    local lines={}&lt;br /&gt;
    local reaction_lines={}&lt;br /&gt;
    local reaction_names={}&lt;br /&gt;
    local adamantine=world.inorganic.inorganic.ADAMANTINE&lt;br /&gt;
    if not adamantine then return end&lt;br /&gt;
    local adamantine_color=world.descriptor.color[world.descriptor.color_pattern[adamantine.material.color_pattern.SOLID].color[1]]&lt;br /&gt;
    local adamantine_modulus = 2500000  --mildly arbitrary, just below the theoretical limit&lt;br /&gt;
    l(&amp;quot;Starting&amp;quot;)&lt;br /&gt;
    local done_category=false&lt;br /&gt;
    for k,v in ipairs(world.inorganic.inorganic) do&lt;br /&gt;
        if not v.flags.SPECIAL and v.material.flags.IS_METAL then&lt;br /&gt;
            l(v.token)&lt;br /&gt;
            local token=&amp;quot;GEN_ADAMANTINE_&amp;quot;..v.token&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[INORGANIC:&amp;quot;..token..&amp;quot;]&amp;quot;&lt;br /&gt;
            add_generated_info(lines)&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
            for kk,vv in pairs(v.material.adj) do&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[STATE_ADJ:&amp;quot;..kk..&amp;quot;:adamantine &amp;quot;..vv..&amp;quot;]&amp;quot; --&amp;quot;adamantine molten steel&amp;quot;? it's fine&lt;br /&gt;
            end&lt;br /&gt;
            for kk,vv in pairs(v.material.name) do&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[STATE_NAME:&amp;quot;..kk..&amp;quot;:adamantine &amp;quot;..vv..&amp;quot;]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            l(2)&lt;br /&gt;
            local mat_values={}&lt;br /&gt;
            -- Find the ratio for which you get closest to (but not below) 2000000 in the material's worst property&lt;br /&gt;
            local worst=math.min(v.material.yield.IMPACT,v.material.fracture.SHEAR)&lt;br /&gt;
            local wafers=1&lt;br /&gt;
            local bars=1&lt;br /&gt;
            if worst &amp;lt; 2000000 then&lt;br /&gt;
                local ratio = (2000000-3*worst)/1000000&lt;br /&gt;
                local best_diff=1&lt;br /&gt;
                for i=1,10 do&lt;br /&gt;
                    local wafer_amt=i*ratio&lt;br /&gt;
                    if wafer_amt&amp;gt;1 and wafer_amt&amp;lt;20 and math.ceil(wafer_amt)-wafer_amt&amp;lt;best_diff then&lt;br /&gt;
                        best_diff=math.ceil(wafer_amt)-wafer_amt&lt;br /&gt;
                        wafers=math.ceil(wafer_amt)&lt;br /&gt;
                        bars=i&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            local avg_denom=1/(bars*3+wafers) -- Multiplication just a bit faster than division, we're rounding at the end anyway&lt;br /&gt;
            local solid_cl=nil&lt;br /&gt;
            for kk,vv in pairs(v.material.color_pattern) do&lt;br /&gt;
                -- time to get silly&lt;br /&gt;
                local this_color=world.descriptor.color[world.descriptor.color_pattern[vv].color[1]]&lt;br /&gt;
                local wanted_color={&lt;br /&gt;
                    r=(this_color.r*bars*3+adamantine_color.r*wafers)*avg_denom,&lt;br /&gt;
                    g=(this_color.g*bars*3+adamantine_color.g*wafers)*avg_denom,&lt;br /&gt;
                    b=(this_color.b*bars*3+adamantine_color.b*wafers)*avg_denom,&lt;br /&gt;
                }&lt;br /&gt;
                local best_total_diff=1000000000&lt;br /&gt;
                local best_clp=nil&lt;br /&gt;
                for _,clp in ipairs(world.descriptor.color_pattern) do&lt;br /&gt;
                    if clp.pattern==&amp;quot;MONOTONE&amp;quot; then&lt;br /&gt;
                        local cl=world.descriptor.color[clp.color[1]]&lt;br /&gt;
                        local diff=math.abs(wanted_color.r-cl.r)+math.abs(wanted_color.b-cl.b)+math.abs(wanted_color.g-cl.g)&lt;br /&gt;
                        if diff&amp;lt;best_total_diff then&lt;br /&gt;
                            best_clp=clp&lt;br /&gt;
                            best_total_diff=diff&lt;br /&gt;
                        end&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[STATE_COLOR:&amp;quot;..kk..&amp;quot;:&amp;quot;..best_clp.token..&amp;quot;]&amp;quot;&lt;br /&gt;
                if kk==&amp;quot;SOLID&amp;quot; then solid_cl=world.descriptor.color[best_clp.color[1]] end&lt;br /&gt;
            end&lt;br /&gt;
            local color_str=solid_cl.col_f..&amp;quot;:0:&amp;quot;..solid_cl.col_br&lt;br /&gt;
            l(color_str)&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[DISPLAY_COLOR:&amp;quot;..color_str..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[BUILD_COLOR:&amp;quot;..color_str..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[ITEMS_METAL][ITEMS_HARD][ITEMS_SCALED][ITEMS_BARRED]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
            if v.material.flags.ITEMS_DIGGER then&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[ITEMS_DIGGER]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            local function new_value(str)&lt;br /&gt;
                mat_values[str]=mat_values[str] or math.floor((adamantine.material[str]*wafers+v.material[str]*bars*3)*avg_denom+0.5)&lt;br /&gt;
                l(str,mat_values[str])&lt;br /&gt;
                return mat_values[str]&lt;br /&gt;
            end&lt;br /&gt;
            local function new_value_nested(str1,str2)&lt;br /&gt;
                mat_values[str1..str2]=mat_values[str1..str2] or math.floor((adamantine.material[str1][str2]*wafers+v.material[str1][str2]*bars*3)/(bars*3+wafers)+0.5)&lt;br /&gt;
                l(str1..str2,mat_values[str1..str2])&lt;br /&gt;
                return mat_values[str1..str2]&lt;br /&gt;
            end&lt;br /&gt;
            if new_value_nested(&amp;quot;fracture&amp;quot;,&amp;quot;SHEAR&amp;quot;)&amp;gt;170000 or new_value_nested(&amp;quot;yield&amp;quot;,&amp;quot;IMPACT&amp;quot;)&amp;gt;245000 then&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[ITEMS_WEAPON][ITEMS_AMMO]&amp;quot;&lt;br /&gt;
                if new_value(&amp;quot;solid_density&amp;quot;)&amp;lt;10000 then&lt;br /&gt;
                    lines[#lines+1]=&amp;quot;[ITEMS_WEAPON_RANGED][ITEMS_ARMOR]&amp;quot;&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MATERIAL_VALUE:&amp;quot;..new_value(&amp;quot;base_value&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[SPEC_HEAT:&amp;quot;..new_value(&amp;quot;temp_spec_heat&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MELTING_POINT:&amp;quot;..new_value(&amp;quot;temp_melting_point&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[BOILING_POINT:&amp;quot;..new_value(&amp;quot;temp_boiling_point&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[SOLID_DENSITY:&amp;quot;..new_value(&amp;quot;solid_density&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[LIQUID_DENSITY:&amp;quot;..new_value(&amp;quot;liquid_density&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MOLAR_MASS:&amp;quot;..new_value(&amp;quot;molar_mass&amp;quot;)..&amp;quot;]&amp;quot; -- i don't think this is actually correct&lt;br /&gt;
            for _,thing in ipairs({&amp;quot;yield&amp;quot;,&amp;quot;fracture&amp;quot;}) do&lt;br /&gt;
                for force,_ in pairs(v.material[thing]) do&lt;br /&gt;
                    lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_&amp;quot;..string.upper(thing)..&amp;quot;:&amp;quot;..new_value_nested(thing,force)..&amp;quot;]&amp;quot;&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            for _,force in ipairs(&amp;quot;IMPACT&amp;quot;,&amp;quot;COMPRESSIVE&amp;quot;,&amp;quot;TENSILE&amp;quot;,&amp;quot;TORSION&amp;quot;,&amp;quot;SHEAR&amp;quot;,&amp;quot;BENDING&amp;quot;) do&lt;br /&gt;
                local modulus = v.yield[force] / v.elasticity[force]&lt;br /&gt;
                local average_modulus = (adamantine_modulus*wafers + modulus*bars*3)*avg_denom&lt;br /&gt;
                local strain_at_yield = math.floor(new_value_nested(&amp;quot;yield&amp;quot;,force) / average_modulus + 0.5) -- usually zero, but can be 1 or 2 sometimes&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_YIELD:&amp;quot;..new_value_nested(&amp;quot;yield&amp;quot;,force)..&amp;quot;]&amp;quot;&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_FRACTURE:&amp;quot;..new_value_nested(&amp;quot;fracture&amp;quot;,force)..&amp;quot;]&amp;quot;&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_STRAIN_AT_YIELD:&amp;quot;..strain_at_yield..&amp;quot;]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MAX_EDGE:&amp;quot;..new_value(&amp;quot;max_edge&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            local reaction_token=token..&amp;quot;_MAKING&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[REACTION:&amp;quot;..reaction_token..&amp;quot;]&amp;quot;&lt;br /&gt;
            add_generated_info(reaction_lines)&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[NAME:make adamantine &amp;quot;..v.material.name.SOLID..&amp;quot; (use bars)]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[BUILDING:SMELTER:NONE]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[REAGENT:A:&amp;quot;..tostring(150*wafers)..&amp;quot;:BAR:NO_SUBTYPE:METAL:ADAMANTINE]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[REAGENT:B:&amp;quot;..tostring(150*bars)..&amp;quot;:BAR:NO_SUBTYPE:METAL:&amp;quot;..v.token..&amp;quot;]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[PRODUCT:100:&amp;quot;..tostring(bars+wafers)..&amp;quot;:BAR:NO_SUBTYPE:METAL:&amp;quot;..token..&amp;quot;][PRODUCT_DIMENSION:150]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[FORTRESS_MODE_ENABLED]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY:ADAMANTINE_ALLOYS]&amp;quot;&lt;br /&gt;
            if not done_category then&lt;br /&gt;
                done_category=true&lt;br /&gt;
                reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY_NAME:Adamantine alloys]&amp;quot;&lt;br /&gt;
                reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY_DESCRIPTION:Debase adamantine with other metals to get extremely strong alloys.]&amp;quot;&lt;br /&gt;
                reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY_KEY:CUSTOM_SHIFT_A]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[FUEL]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[SKILL:SMELT]&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    local entity_lines={}&lt;br /&gt;
    raws.register_inorganics(lines)&lt;br /&gt;
    -- not used in vanilla right now, due to lack of instruments, but you CAN do this&lt;br /&gt;
    raws.register_reactions(reaction_lines)&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:Modding Examples]]&lt;br /&gt;
[[Category:Lua|S]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Storage&amp;diff=314017</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Storage&amp;diff=314017"/>
		<updated>2026-01-13T06:09:34Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Timelessness, container is not used to mean &amp;quot;box&amp;quot; in any of the supported versions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}} {{buggy}}&lt;br /&gt;
{{Quality|Exceptional}}&lt;br /&gt;
&lt;br /&gt;
[[File:storage_sprites_preview.png|right]]Types of items used for '''storage''' include [[Box|chests]], [[cabinet]]s, [[barrel]]s, [[large pot]]s, [[bag]]s, [[bin]]s, and [[bookcase]]s. All storage objects are used to hold items, from personal possessions to [[gem]]s, [[alcohol]], [[seed]]s, [[quarry bush]] leaves, and even living [[creature]]s. In [[Fortress mode]], each object has a specific use, so you cannot, for example, use your barrels for storing [[coin]]s. In [[Adventure mode]], any item can be stored with the {{Adv menu icon|p}} command if there's enough capacity for its [[size]].&lt;br /&gt;
&lt;br /&gt;
To examine a storage object's contents, select the object location with the mouse. If the storage object isn't selected (say, if there are multiple items or units on the same tile) it should be selectable as a tab on the upper right of the window.&lt;br /&gt;
&lt;br /&gt;
== Barrels, bins, bags, pots ==&lt;br /&gt;
[[Barrel]]s are [[wood]]en or [[metal]] containers that are useful for storing items in a [[Stockpile#food|food stockpile]] and are used to store [[alcohol]], [[plant]]s, [[seed]] bags, [[meat]], [[Creature#Aquatic|fish]], [[dwarven syrup]], [[quarry bush]] leaf bags, [[flour]] bags and [[dye]] bags, cooked food, [[fat]] and [[tallow]], and all [[prepared organs]]. They are made at a [[Carpenter's workshop]] with 1 log or at a [[Forge]] with 3 bars of metal. Barrels can be disabled in a stockpile to prevent haulers from running off with everything else inside to pick up a stray seed.&lt;br /&gt;
&lt;br /&gt;
[[Pot]]s, an alternative for barrels, can be made of wood, stone, clay, glass, or metal. Pots can also be used to store alcohol and other related liquids, though clay pots (earthenware) must be [[glaze]]d to hold liquids. Pots hold the same amount as barrels (60 total units of food, or 30 units of alcohol) and weigh 1/4th as much as a barrel of equivalent material. Except for a few barrel-specific requirements, pots are generally a superior replacement.&lt;br /&gt;
&lt;br /&gt;
[[Bin]]s are containers, again made from wood or metal, used for most non-food items. They are sent to all the other stockpiles (with the exclusion of the [[refuse]], [[stone]] and [[graveyard]] piles) and will hold much larger stacks of items, making organizing those endless piles of +giant cave spider silk socks+ and trade goods much easier to manage. They are made at a [[Carpenter's workshop]] with 1 log or at a [[Forge]] with 3 bars of metal. Bars and blocks will stack into a bin, but not into any other container, so a stockpile with bar/block enabled will default to requesting bins.&lt;br /&gt;
&lt;br /&gt;
[[Bag]]s are used to store [[seed]]s, [[quarry bush]] leaves, [[mill]] products ([[flour]], [[sugar]], [[dye]]), [[gypsum plaster]], [[quicklime]] and [[sand]] ([[powder]]s). They are made from [[plant fiber]] (or [[silk]]) [[cloth]], [[leather]], or [[adamantine]]. Bags are used to gather and transport powder the same way [[bucket]]s are used to carry [[water]]. Bags can be placed inside some other storage-items, such as barrels. They are made at a [[Clothier's shop]] with 1 cloth or at a [[Leather works]] with 1 leather.&lt;br /&gt;
&lt;br /&gt;
Empty barrels, pots, bins and bags can all be stored in a [[furniture]] [[stockpile]].&lt;br /&gt;
&lt;br /&gt;
== [[Chest]]s and [[cabinet]]s ==&lt;br /&gt;
Except in their specific workshop order menu, any in-game reference to a &amp;quot;box&amp;quot; or &amp;quot;chest&amp;quot; refers to ''any'' of a wood or metal chest, stone coffer or glass box, three different names for storage-items that are interchangeable for in-game purposes. Chests, coffers and boxes are listed under ''boxes'' in the [[stocks]] screen, and these can be built as &amp;quot;chests&amp;quot; from the {{key|b}}uilding menu, {{key|f}}urniture submenu to satisfy the &amp;quot;Needs: X Chests&amp;quot; requirement for [[noble]]s. Each other storage-item type has its own entry.&lt;br /&gt;
&lt;br /&gt;
Both cabinets and chest only work when placed as furniture. They must be built in bedrooms assigned to dwarves in order to fulfill the dwarves' room requirements. Cabinets are used to store clothing, and chests in bedrooms are used to store everything else.  &lt;br /&gt;
&lt;br /&gt;
Locations like [[tavern]]s, [[temple]]s, [[library|libraries]], and [[hospital]]s also need chests for their specific supply storage needs.&lt;br /&gt;
&lt;br /&gt;
Once built as furniture, their contents can be viewed by clicking on them with the mouse.&lt;br /&gt;
&lt;br /&gt;
== Quick reference ==&lt;br /&gt;
{{storage table head}}&lt;br /&gt;
{{storage table row|container=[[Animal trap]]|stockpile=Animals|furniture=y|solidcap=30000|liquidcap=|stores=Vermin, Bait|graphic=[[File:animal_trap_sprite.png]]|stone=n|wood=y|glass=n|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Armor stand]]|stockpile=Furniture &amp;gt; Type &amp;gt; Armor Stands|furniture=y|solidcap=60000|liquidcap=|stores=Armor|graphic=[[File:armor_stand_sprite.png]]|stone=y|wood=y|glass=y|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Equipment#Backpacks|Backpack]]|stockpile=Finished Goods &amp;gt; Type &amp;gt; Backpacks|furniture=n|solidcap=30000|liquidcap=|stores=Food|graphic=[[File:backpack_sprite.png]]|stone=n|wood=n|glass=n|metal=n|cloth=y|leather=y|ceramic=n|sup_cloth=3&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Bag]]|stockpile=Furniture &amp;gt; Type &amp;gt; Bag|furniture=n|solidcap=60000|liquidcap=|stores=Seeds, Leaves, Powders|graphic=[[File:bag_sprite.png]]|stone=n|wood=n|glass=n|metal=n|cloth=y|leather=y|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Box]]&amp;lt;br/&amp;gt;Chest&amp;lt;br/&amp;gt;Coffer|stockpile=Furniture &amp;gt; Type &amp;gt; Boxes|furniture=y|solidcap=60000|liquidcap=|stores=Bags: Seeds, Leaves, Powders&amp;lt;br/&amp;gt;Others: Owned items|graphic=[[File:chest_sprite.png]]|stone=Coffer|wood=Chest|glass=Box|metal=Chest|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Barrel]]|stockpile=Furniture &amp;gt; Type &amp;gt; Barrels|furniture=n|solidcap=60000|liquidcap=60000|stores=Food, Alcohol, Extracts, Milk, Lye, Bags|graphic=[[File:barrel_sprite.png]]|stone=n|wood=y|glass=n|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Bin]]|stockpile=Furniture &amp;gt; Type &amp;gt; Bins|furniture=n|solidcap=60000|liquidcap=|stores=Items, Jugs, Flasks|graphic=[[File:bin_sprite.png]]|stone=n|wood=y|glass=n|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Bucket]]|stockpile=Furniture &amp;gt; Type &amp;gt; Buckets|furniture=n|solidcap=|liquidcap=6000|stores=Milk, Lye, Water&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;|graphic=[[File:bucket_sprite.png]]|stone=n|wood=y|glass=n|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Cabinet]]|stockpile=Furniture &amp;gt; Type &amp;gt; Cabinets|furniture=y|solidcap=60000|liquidcap=|stores=Owned clothing|graphic=[[File:cabinet_sprite.png]]|stone=y|wood=y|glass=y|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Cage]]&amp;lt;br/&amp;gt;Aquarium&amp;lt;br/&amp;gt;Terrarium|stockpile=Animals|furniture=y|solidcap=60000|liquidcap=60000|stores=Creatures, Vermin&amp;lt;br/&amp;gt;Aquarium: Water|graphic=[[File:cage_sprite.png]]|stone=n|wood=Cage|glass=Terrarium&amp;lt;br/&amp;gt;Aquarium|metal=Cage|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Coffin]]&amp;lt;br/&amp;gt;Casket&amp;lt;br/&amp;gt;Sarcophagus|stockpile=Furniture &amp;gt; Type &amp;gt; Coffins|furniture=y|solidcap=60000|liquidcap=|stores=Creature/Vermin Corpses/Remains|graphic=[[File:coffin_sprite.png]]|stone=Coffin|wood=Casket|glass=Coffin|metal=Sarcophagus|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Flask]]&amp;lt;br/&amp;gt;Vial&amp;lt;br/&amp;gt;Waterskin|stockpile=Finished Goods &amp;gt; Type &amp;gt; Flasks|furniture=n|solidcap=|liquidcap=1800|stores=Alcohol, Water&amp;lt;br/&amp;gt;Vials: Extracts|graphic=[[File:flask_collection_sprite.png]]|stone=n|wood=n|glass=Vial|metal=Flask|cloth=n|leather=Waterskin|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Hive]]|stockpile=Finished Goods &amp;gt; Type &amp;gt; Tools|furniture=y|solidcap=5000|liquidcap=5000|stores=Honey Bees, Royal Jelly, Honeycomb|graphic=[[File:hive.png]]|stone=y|wood=y|glass=y|metal=y|cloth=n|leather=n|ceramic=y|sup_stonewood=4&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Jug]]|stockpile=Finished Goods &amp;gt; Type &amp;gt; Tools|furniture=n|solidcap=|liquidcap=10000|stores=Royal Jelly, Honey, Rock Nut Oil|graphic=[[File:jug_sprite.png]]|stone=y|wood=y|glass=y|metal=y|cloth=n|leather=n|ceramic=y|sup_stonewood=4&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Large pot]]|stockpile=Finished Goods &amp;gt; Type &amp;gt; Large pots/food storage|furniture=n|solidcap=60000|liquidcap=60000|stores=Food, Alcohol, Bags|graphic=[[File:large_pot_sprite.png]]|stone=y|wood=y|glass=y|metal=y|cloth=n|leather=n|ceramic=y|sup_stonewood=4&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Minecart]]|stockpile=Furniture &amp;gt; Type &amp;gt; Minecarts|furniture=n|sup_furn=5|solidcap=500000|liquidcap=500000|stores=Hauled items;&amp;lt;br/&amp;gt;[[Minecart#Loading_liquids|scooped]], but not loaded: Water, Magma|graphic=[[File:minecart_sprite.png]]|stone=n|wood=y|glass=n|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Nest box]]|stockpile=Finished Goods &amp;gt; Type &amp;gt; Tools|furniture=y|solidcap=2000|liquidcap=|stores=Eggs|graphic=[[File:nest_box_sprite.png]]|stone=y|wood=y|glass=y|metal=y|cloth=n|leather=n|ceramic=n|sup_stonewood=4&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=Pouch|stockpile=Finished Goods &amp;gt; Type &amp;gt; Tools{{verify}}|furniture=n|solidcap=1000|liquidcap=|stores=Coins (in [[adventurer mode]])|graphic=[[File:pouch_sprite.png]]|stone=n|wood=n|glass=n|metal=n|cloth=y|leather=y|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Equipment#Quiver|Quiver]]|stockpile=Finished Goods &amp;gt; Type &amp;gt; Quivers|furniture=n|solidcap=12000|liquidcap=|stores=Ammunition|graphic=[[File:quiver_sprite.png]]|stone=n|wood=n|glass=n|metal=n|cloth=y|leather=y|ceramic=n|sup_cloth=3&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Weapon rack]]|stockpile=Furniture &amp;gt; Type &amp;gt; Weapon Racks|furniture=y|solidcap=60000|liquidcap=|stores=Weapons|graphic=[[File:weapon_rack_sprite.png]]|stone=y|wood=y|glass=y|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Wheelbarrow]]|stockpile=Furniture &amp;gt; Type &amp;gt; Wheelbarrows|furniture=n|solidcap=100000|liquidcap=|stores=Hauled items|graphic=[[File:wheelbarrow_sprite.png]]|stone=n|wood=y|glass=n|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
:&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; - Large Pots can be made from any hard material, including wood and metal&lt;br /&gt;
:&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; - Used to carry water, can store Milk and Lye but will be emptied into Barrels&lt;br /&gt;
:&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; - Backpacks and quivers can only be made from Adamantine cloth, though ones made from other cloth can be purchased from caravans&lt;br /&gt;
:&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; - Rock and Wood versions of these items are made in [[Craftsdwarf's workshop]] rather than [[Carpenter's workshop]] or [[Mason's workshop]] as usual.&lt;br /&gt;
:&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; - A [[minecart]] can be placed where you need it and used for storage, but technically it's not built furniture&lt;br /&gt;
&lt;br /&gt;
*[[Tools]] have capacity set in units 10 times smaller; liquids have a capacity 60 per 1 unit, i.e. capacity 180 = 3 units of water, 50000 = 833 units, etc.&lt;br /&gt;
*Large Pots are equivalent to Barrels, except for a few specific uses (e.g. [[Farmer's workshop#Menu|process plant to barrel]]).&lt;br /&gt;
*Bins are requested by stockpiles like Barrels, but store different items.&lt;br /&gt;
*Buckets are used for temporary storage of Milk, Lye, and Water.&lt;br /&gt;
*Bags are used to stockpile powders, seeds, leaves, and other items. They can be stored inside Barrels and Large Pots if holding food items.&lt;br /&gt;
*Jugs are liquid storage specifically for [[beekeeping]] and [[pressing]], and can be stored inside Bins.&lt;br /&gt;
*[[Flask]]s (metal), waterskins (leather) and vials (glass) are different names for the same item, depending on the material.&lt;br /&gt;
*Chests (wood or metal), coffers (stone) and boxes (glass) are different names for the same piece of furniture, depending on the material.&lt;br /&gt;
*A terrarium can be designated as an Aquarium. A dwarf will use a bucket to fill it with water. If deconstructed it'll stay filled with Water[10] and can even be sold with the water inside. The water costs 1☼ each, so you get 10☼ for the water.&lt;br /&gt;
*A [[hive]] won't be destroyed if you don't have a stockpile for its products. You could use {{key|t}} on the hive and dump the item to use it.&lt;br /&gt;
&lt;br /&gt;
== Spilling ==&lt;br /&gt;
When a container is launched and collides with an obstacle, it spills its contents. If the obstacle permits (i.e. [[fortification]]), these continue to move in the same direction with some scattering, otherwise displaced 1 tile above and retain velocity. This was introduced for [[minecart]]s, but applies at least to [http://www.bay12forums.com/smf/index.php?topic=109460.msg3315406#msg3315406 other tools] and [http://www.bay12forums.com/smf/index.php?topic=109460.msg3340230#msg3340230 cages]. If the tile above also contains an obstacle and the spilled item is a storage-item, the process repeats on the next tick, until it runs out of either nested storage-items or wall height (see the first link above).&lt;br /&gt;
&lt;br /&gt;
[[Throwing]] a container does not cause it to collide and spill its contents.&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
* Hauling jobs can block access to &amp;lt;u&amp;gt;all&amp;lt;/u&amp;gt; the items in the destination container until the hauling is complete. This often results in cancellation spam and work delays.{{bug|9004}} One workaround is creating a &amp;quot;feeder stockpile&amp;quot; with barrels and bins disabled.&lt;br /&gt;
* Storage capacity is one-dimensional, resulting in unusually. Items only have &amp;quot;SIZE&amp;quot; determining the volume of their material and thus [[weight]], but ''no separate external volume''. For storage-items, CAPACITY is ''not'' added to it, i.e. they all are treated like soft bags: you can put 30 other bags inside a bag, and you can load a minecart with minecarts. At the same time, storage-items are assumed to ''not'' be soft bags - while weight of contents adds to the storage-item's weight, the ambiguous SIZE is constant. Together, these facts make storage-items nest-able ''indefinitely'', as long as CAPACITY&amp;gt;SIZE (which normally is the case) and potentially act like bags of holding - have the same stated volume whether empty or holding an arbitrary total amount of items via nested storage-items. The only nesting that normally happens in Fortress mode is minecart &amp;gt; barrel &amp;gt; bag, but this still makes a minor [[exploit]].&lt;br /&gt;
* Stacks made by a single job tend to ignore capacity. For one, haulers picking up items may stuff a [[Exploit#Quantum_stockpiles|quantum stockpile]] worth of items into one bin.{{bug|6063}} The same applies to brewing and extracting.&lt;br /&gt;
* Conversely, a freshly produced stack, no matter how small, will be put into a new container and not added into the old ones. This may be justified with ''brewing'', but also happens to production of many other items/substances without quality modifiers.&lt;br /&gt;
&lt;br /&gt;
{{Buildings}}&lt;br /&gt;
{{Category|Items}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Storage&amp;diff=314015</id>
		<title>Storage</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Storage&amp;diff=314015"/>
		<updated>2026-01-13T05:51:54Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Containers in different game modes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}} {{buggy}}&lt;br /&gt;
{{Quality|Exceptional}}&lt;br /&gt;
&lt;br /&gt;
[[File:storage_sprites_preview.png|right]]Types of items used for '''storage''' include [[Box|boxes]]*, [[cabinet]]s, [[barrel]]s, [[large pot]]s, [[bag]]s, [[bin]]s, and [[bookcase]]s. All storage objects are used to hold items, from personal possessions to [[gem]]s, [[alcohol]], [[seed]]s, [[quarry bush]] leaves, and even living [[creature]]s. In [[Fortress mode]], each object has a specific use, so you cannot, for example, use your barrels for storing [[coin]]s. In [[Adventure mode]], any item can be stored with the {{Adv menu icon|p}} command if there's enough capacity for its [[size]].&lt;br /&gt;
&lt;br /&gt;
To examine a storage object's contents, select the object location with the mouse. If the storage object isn't selected (say, if there are multiple items or units on the same tile) it should be selectable as a tab on the upper right of the window.&lt;br /&gt;
&lt;br /&gt;
: (* ''In game'', a &amp;quot;[[box]]&amp;quot; refers to any wooden or metal &amp;lt;u&amp;gt;chest&amp;lt;/u&amp;gt;, stone &amp;lt;u&amp;gt;coffer&amp;lt;/u&amp;gt; or glass &amp;lt;u&amp;gt;box&amp;lt;/u&amp;gt;, three in-game names for the same storage-item serving the identical in-game function. In previous versions, they were known collectively as &amp;quot;[[container]]s&amp;quot;, with [[bag]]s also included under this label. This article will preferentially use &amp;quot;storage-item&amp;quot; to avoid confusion, however nothing is perfect and a Wiki is a collective effort, so take any casual (mis-)use of the term &amp;quot;container&amp;quot; in context, especially in other articles.)&lt;br /&gt;
&lt;br /&gt;
== Barrels, bins, bags, pots ==&lt;br /&gt;
[[Barrel]]s are [[wood]]en or [[metal]] storage-items that are useful for storing items in a [[Stockpile#food|food stockpile]] and are used to store [[alcohol]], [[plant]]s, [[seed]] bags, [[meat]], [[Creature#Aquatic|fish]], [[dwarven syrup]], [[quarry bush]] leaf bags, [[flour]] bags and [[dye]] bags, cooked food, [[fat]] and [[tallow]], and all [[prepared organs]]. They are made at a [[Carpenter's workshop]] with 1 log or at a [[Forge]] with 3 bars of metal. Barrels can be disabled in a stockpile to prevent haulers from running off with everything else inside to pick up a stray seed.&lt;br /&gt;
&lt;br /&gt;
[[Pot]]s, an alternative for barrels, can be made of wood, stone, clay, glass, or metal. Pots can also be used to store alcohol and other related liquids, though clay pots (earthenware) must be [[glaze]]d to hold liquids. Pots hold the same amount as barrels (60 total units of food, or 30 units of alcohol) and weigh 1/4th as much as a barrel of equivalent material. Except for a few barrel-specific requirements, pots are generally a superior replacement.&lt;br /&gt;
&lt;br /&gt;
[[Bin]]s are storage-items, again made from wood or metal, used for most non-food items. They are sent to all the other stockpiles (with the exclusion of the [[refuse]], [[stone]] and [[graveyard]] piles) and will hold much larger stacks of items, making organizing those endless piles of +giant cave spider silk socks+ and trade goods much easier to manage. They are made at a [[Carpenter's workshop]] with 1 log or at a [[Forge]] with 3 bars of metal. Bars and blocks will stack into a bin, but not into any other storage-item, so a stockpile with bar/block enabled will default to requesting bins.&lt;br /&gt;
&lt;br /&gt;
[[Bag]]s are used to store [[seed]]s, [[quarry bush]] leaves, [[mill]] products ([[flour]], [[sugar]], [[dye]]), [[gypsum plaster]], [[quicklime]] and [[sand]] (&amp;quot;[[powder]]s&amp;quot;). They are made from [[plant fiber]] (or [[silk]]) [[cloth]], [[leather]], or [[adamantine]]. Bags are used to gather and transport powders the same way [[bucket]]s are used to carry [[water]]. Bags can be placed inside some other storage-items, such as barrels. They are made at a [[Clothier's shop]] with 1 cloth or at a [[Leather works]] with 1 leather.&lt;br /&gt;
&lt;br /&gt;
Empty barrels, pots, bins and bags can all be stored in a [[furniture]] [[stockpile]].&lt;br /&gt;
&lt;br /&gt;
== [[Chest]]s and [[cabinet]]s ==&lt;br /&gt;
Except in their specific workshop order menu, any in-game reference to a &amp;quot;container&amp;quot; or &amp;quot;box&amp;quot; or &amp;quot;chest&amp;quot; refers to ''any'' of a wood or metal chest, stone coffer or glass box, three different names for storage-items that are interchangeable for in-game purposes. Chests, coffers and boxes are listed under ''boxes'' in the [[stocks]] screen, and these can be built as &amp;quot;chests&amp;quot; from the {{key|b}}uilding menu, {{key|f}}urniture submenu to satisfy the &amp;quot;Needs: X Chests&amp;quot; requirement for [[noble]]s. Each other storage-item type has its own entry.&lt;br /&gt;
&lt;br /&gt;
Both cabinets and chest only work when placed as furniture. They must be built in bedrooms assigned to dwarves in order to fulfill the dwarves' room requirements. Cabinets are used to store clothing, and containers in bedrooms are used to store everything else.  &lt;br /&gt;
&lt;br /&gt;
Locations like [[tavern]]s, [[temple]]s, [[library|libraries]], and [[hospital]]s also need chests for their specific supply storage needs.&lt;br /&gt;
&lt;br /&gt;
Once built as furniture, their contents can be viewed by clicking on them with the mouse.&lt;br /&gt;
&lt;br /&gt;
== Quick reference ==&lt;br /&gt;
{{storage table head}}&lt;br /&gt;
{{storage table row|container=[[Animal trap]]|stockpile=Animals|furniture=y|solidcap=30000|liquidcap=|stores=Vermin, Bait|graphic=[[File:animal_trap_sprite.png]]|stone=n|wood=y|glass=n|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Armor stand]]|stockpile=Furniture &amp;gt; Type &amp;gt; Armor Stands|furniture=y|solidcap=60000|liquidcap=|stores=Armor|graphic=[[File:armor_stand_sprite.png]]|stone=y|wood=y|glass=y|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Equipment#Backpacks|Backpack]]|stockpile=Finished Goods &amp;gt; Type &amp;gt; Backpacks|furniture=n|solidcap=30000|liquidcap=|stores=Food|graphic=[[File:backpack_sprite.png]]|stone=n|wood=n|glass=n|metal=n|cloth=y|leather=y|ceramic=n|sup_cloth=3&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Bag]]|stockpile=Furniture &amp;gt; Type &amp;gt; Bag|furniture=n|solidcap=60000|liquidcap=|stores=Seeds, Leaves, Powders|graphic=[[File:bag_sprite.png]]|stone=n|wood=n|glass=n|metal=n|cloth=y|leather=y|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Box]]&amp;lt;br/&amp;gt;Chest&amp;lt;br/&amp;gt;Coffer|stockpile=Furniture &amp;gt; Type &amp;gt; Boxes|furniture=y|solidcap=60000|liquidcap=|stores=Bags: Seeds, Leaves, Powders&amp;lt;br/&amp;gt;Others: Owned items|graphic=[[File:chest_sprite.png]]|stone=Coffer|wood=Chest|glass=Box|metal=Chest|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Barrel]]|stockpile=Furniture &amp;gt; Type &amp;gt; Barrels|furniture=n|solidcap=60000|liquidcap=60000|stores=Food, Alcohol, Extracts, Milk, Lye, Bags|graphic=[[File:barrel_sprite.png]]|stone=n|wood=y|glass=n|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Bin]]|stockpile=Furniture &amp;gt; Type &amp;gt; Bins|furniture=n|solidcap=60000|liquidcap=|stores=Items, Jugs, Flasks|graphic=[[File:bin_sprite.png]]|stone=n|wood=y|glass=n|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Bucket]]|stockpile=Furniture &amp;gt; Type &amp;gt; Buckets|furniture=n|solidcap=|liquidcap=6000|stores=Milk, Lye, Water&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;|graphic=[[File:bucket_sprite.png]]|stone=n|wood=y|glass=n|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Cabinet]]|stockpile=Furniture &amp;gt; Type &amp;gt; Cabinets|furniture=y|solidcap=60000|liquidcap=|stores=Owned clothing|graphic=[[File:cabinet_sprite.png]]|stone=y|wood=y|glass=y|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Cage]]&amp;lt;br/&amp;gt;Aquarium&amp;lt;br/&amp;gt;Terrarium|stockpile=Animals|furniture=y|solidcap=60000|liquidcap=60000|stores=Creatures, Vermin&amp;lt;br/&amp;gt;Aquarium: Water|graphic=[[File:cage_sprite.png]]|stone=n|wood=Cage|glass=Terrarium&amp;lt;br/&amp;gt;Aquarium|metal=Cage|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Coffin]]&amp;lt;br/&amp;gt;Casket&amp;lt;br/&amp;gt;Sarcophagus|stockpile=Furniture &amp;gt; Type &amp;gt; Coffins|furniture=y|solidcap=60000|liquidcap=|stores=Creature/Vermin Corpses/Remains|graphic=[[File:coffin_sprite.png]]|stone=Coffin|wood=Casket|glass=Coffin|metal=Sarcophagus|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Flask]]&amp;lt;br/&amp;gt;Vial&amp;lt;br/&amp;gt;Waterskin|stockpile=Finished Goods &amp;gt; Type &amp;gt; Flasks|furniture=n|solidcap=|liquidcap=1800|stores=Alcohol, Water&amp;lt;br/&amp;gt;Vials: Extracts|graphic=[[File:flask_collection_sprite.png]]|stone=n|wood=n|glass=Vial|metal=Flask|cloth=n|leather=Waterskin|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Hive]]|stockpile=Finished Goods &amp;gt; Type &amp;gt; Tools|furniture=y|solidcap=5000|liquidcap=5000|stores=Honey Bees, Royal Jelly, Honeycomb|graphic=[[File:hive.png]]|stone=y|wood=y|glass=y|metal=y|cloth=n|leather=n|ceramic=y|sup_stonewood=4&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Jug]]|stockpile=Finished Goods &amp;gt; Type &amp;gt; Tools|furniture=n|solidcap=|liquidcap=10000|stores=Royal Jelly, Honey, Rock Nut Oil|graphic=[[File:jug_sprite.png]]|stone=y|wood=y|glass=y|metal=y|cloth=n|leather=n|ceramic=y|sup_stonewood=4&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Large pot]]|stockpile=Finished Goods &amp;gt; Type &amp;gt; Large pots/food storage|furniture=n|solidcap=60000|liquidcap=60000|stores=Food, Alcohol, Bags|graphic=[[File:large_pot_sprite.png]]|stone=y|wood=y|glass=y|metal=y|cloth=n|leather=n|ceramic=y|sup_stonewood=4&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Minecart]]|stockpile=Furniture &amp;gt; Type &amp;gt; Minecarts|furniture=n|sup_furn=5|solidcap=500000|liquidcap=500000|stores=Hauled items;&amp;lt;br/&amp;gt;[[Minecart#Loading_liquids|scooped]], but not loaded: Water, Magma|graphic=[[File:minecart_sprite.png]]|stone=n|wood=y|glass=n|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Nest box]]|stockpile=Finished Goods &amp;gt; Type &amp;gt; Tools|furniture=y|solidcap=2000|liquidcap=|stores=Eggs|graphic=[[File:nest_box_sprite.png]]|stone=y|wood=y|glass=y|metal=y|cloth=n|leather=n|ceramic=n|sup_stonewood=4&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=Pouch|stockpile=Finished Goods &amp;gt; Type &amp;gt; Tools{{verify}}|furniture=n|solidcap=1000|liquidcap=|stores=Coins (in [[adventurer mode]])|graphic=[[File:pouch_sprite.png]]|stone=n|wood=n|glass=n|metal=n|cloth=y|leather=y|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Equipment#Quiver|Quiver]]|stockpile=Finished Goods &amp;gt; Type &amp;gt; Quivers|furniture=n|solidcap=12000|liquidcap=|stores=Ammunition|graphic=[[File:quiver_sprite.png]]|stone=n|wood=n|glass=n|metal=n|cloth=y|leather=y|ceramic=n|sup_cloth=3&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Weapon rack]]|stockpile=Furniture &amp;gt; Type &amp;gt; Weapon Racks|furniture=y|solidcap=60000|liquidcap=|stores=Weapons|graphic=[[File:weapon_rack_sprite.png]]|stone=y|wood=y|glass=y|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
{{storage table row|container=[[Wheelbarrow]]|stockpile=Furniture &amp;gt; Type &amp;gt; Wheelbarrows|furniture=n|solidcap=100000|liquidcap=|stores=Hauled items|graphic=[[File:wheelbarrow_sprite.png]]|stone=n|wood=y|glass=n|metal=y|cloth=n|leather=n|ceramic=n&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
:&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; - Large Pots can be made from any hard material, including wood and metal&lt;br /&gt;
:&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; - Used to carry water, can store Milk and Lye but will be emptied into Barrels&lt;br /&gt;
:&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; - Backpacks and quivers can only be made from Adamantine cloth, though ones made from other cloth can be purchased from caravans&lt;br /&gt;
:&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; - Rock and Wood versions of these items are made in [[Craftsdwarf's workshop]] rather than [[Carpenter's workshop]] or [[Mason's workshop]] as usual.&lt;br /&gt;
:&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; - A [[minecart]] can be placed where you need it and used for storage, but technically it's not built furniture&lt;br /&gt;
&lt;br /&gt;
*[[Tools]] have capacity set in units 10 times smaller; liquids have a capacity 60 per 1 unit, i.e. capacity 180 = 3 units of water, 50000 = 833 units, etc.&lt;br /&gt;
*Large Pots are equivalent to Barrels except for a few specific uses (e.g. process plant to barrel).&lt;br /&gt;
*Bins are like Barrels but store different items.&lt;br /&gt;
*Buckets are used for temporary storage of Milk, Lye, and Water.&lt;br /&gt;
*Bags are mini storage-items for powders, seeds, leaves, and other items, and can be stored inside Barrels/Large Pots if holding food items.&lt;br /&gt;
*Jugs are mini storage-items specifically for honey and royal jelly, and can be stored inside Bins; in this sense they are like Bags.&lt;br /&gt;
*[[Flask]]s (metal), waterskins (leather) and vials (glass) are different names for the same storage-items depending on the material it's made from.&lt;br /&gt;
*Chests (wood or metal), coffers (stone) and boxes (glass) are different names for the same piece of furniture depending on the material it's made from.&lt;br /&gt;
*A terrarium can be designated as an Aquarium. A dwarf will use a bucket to fill it with water. If deconstructed it'll stay filled with Water[10] and can even be sold with the water inside. The water costs 1☼ each, so you get 10☼ for the water.&lt;br /&gt;
*A hive won't be destroyed if you don't have a stockpile for its products. You could use {{key|t}} on the hive and dump the item to use it.&lt;br /&gt;
&lt;br /&gt;
== Spilling ==&lt;br /&gt;
A storage-item that moves fast and collides with an obstacle spills its contents. If the obstacle permits (i.e. [[fortification]]), these continue to move in the same direction with some scattering, otherwise displaced 1 tile above and retain velocity. This was introduced for [[minecart]]s, but applies at least to [http://www.bay12forums.com/smf/index.php?topic=109460.msg3315406#msg3315406 other tools] and [http://www.bay12forums.com/smf/index.php?topic=109460.msg3340230#msg3340230 cages]. If the tile above also contains an obstacle and the spilled item is a storage-item, the process repeats on the next tick, until it runs out of either nested storage-items or wall height (see the first link above).&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
* Hauling jobs can block access to &amp;lt;u&amp;gt;all&amp;lt;/u&amp;gt; the items in the destination storage-item until the hauling is complete. This often results in cancellation spam and work delays.{{bug|9004}} One workaround is creating a &amp;quot;feeder stockpile&amp;quot; with barrels and bins disabled.&lt;br /&gt;
* Storage-item size works in mysterious ways. Items only have &amp;quot;SIZE&amp;quot; determining the volume of their material and thus [[weight]], but ''no separate external volume''. For storage-items, CAPACITY is ''not'' added to it, i.e. they all are treated like soft bags: you can put 30 other bags inside a bag, and you can load a minecart with minecarts. At the same time, storage-items are assumed to ''not'' be soft bags - while weight of contents adds to the storage-item's weight, the ambiguous SIZE is constant. Together, these facts make storage-items nest-able ''indefinitely'', as long as CAPACITY&amp;gt;SIZE (which normally is the case) and potentially act like bags of holding - have the same stated volume whether empty or holding an arbitrary total amount of items via nested storage-items. The only nesting that normally happens in Fortress mode is minecart &amp;gt; barrel &amp;gt; bag, but this still makes a minor [[exploit]].&lt;br /&gt;
* Stacks made by a single job tend to ignore capacity. For one, dwarves picking up items may stuff a [[Exploit#Quantum_stockpiles|quantum stockpile]] worth of items into one storage-item.{{bug|6063}} The same applies to brewing and extracting.&lt;br /&gt;
* Conversely, a freshly produced stack, no matter how small, will be put into a new storage-item and not added into the old ones. This may be justified with ''brewing'', but also happens to production of many other items/substances without quality modifiers.&lt;br /&gt;
&lt;br /&gt;
{{Buildings}}&lt;br /&gt;
{{Category|Items}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Stockpile&amp;diff=314014</id>
		<title>Stockpile</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Stockpile&amp;diff=314014"/>
		<updated>2026-01-13T05:39:46Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Notes */ Link to item types&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Exceptional}}&lt;br /&gt;
{{av}}&lt;br /&gt;
&lt;br /&gt;
{{For/see|exploits related to stockpiling|[[Quantum stockpile]]}}&lt;br /&gt;
[[File:v50_stockpile_gui_preview.png|right]]'''Stockpiles''' are where [[dwarf|dwarves]] store items of various types, usually in a safer, closer or more convenient place for the consumers. Dwarves with the corresponding &amp;quot;[[hauling]]&amp;quot; job will seek out items that are not already on a stockpile that accepts them and carry them to an appropriate stockpile, if available. It's important to place your stockpiles carefully to minimize the amount of time spent carrying items back-and-forth. Items in a stockpile may be stored in [[Storage|container]]s such as [[bag|bags]], [[barrel|barrels]] or [[bin|bins]] (see [[Using bins and barrels]]). Seed bags, flour bags, and dye bags can go inside barrels. Empty bags, however, cannot be stacked.&lt;br /&gt;
&lt;br /&gt;
== Creating and Removing Stockpiles == &lt;br /&gt;
To create a stockpile, click the {{Menu icon|p}}Stockpile button. At this point, you can click on any existing stockpile to inspect it, but to create a new one, you must click the button that appears immediately above the original stockpile button. When you click to create a new stockpile, you can draw a rectangle with the mouse. Clicking &amp;quot;Accept&amp;quot; in the top left pop-up finalizes the stockpile, or you can continue drawing rectangles to make the stockpile bigger. Non-contiguous regions are possible, but could be confusing to manage later for little benefit. If the chosen area has parts that cannot be made into a stockpile, like a [[wall]], a [[workshop]], or an already existing stockpile, a stockpile will be created but they will not be part of it. After clicking &amp;quot;accept&amp;quot;, a new menu pane opens up with a list of pre-set stockpile rules, of which you must select one or else select &amp;quot;Custom&amp;quot; to define your own rules.&lt;br /&gt;
&lt;br /&gt;
When creating a stockpile, any movable items (e.g. loose [[stone]], unbuilt [[furniture]], etc.) currently occupying the designated tiles will automatically be considered part of the stockpile, even if the stockpile settings disallow those particular items. These items also mark the tile as &amp;quot;full&amp;quot;, so no new items will be stored in that tile until all the original items in the tile are moved. To handle unwanted items, you can specify that the stockpile &amp;quot;gives&amp;quot; to a workshop or stockpile that will accept those items, or use a [[dump]] command to have them carried off to a garbage [[zone]]. &lt;br /&gt;
&lt;br /&gt;
To edit a stockpile, click the &amp;quot;Stockpile&amp;quot; button in the main menu, then click on the stockpile. The suite of buttons (mouse over to see their tooltips to determine what each button does) can be used to edit the name, edit its boundaries, set which stockpiles or workshops give to or receive from this stockpile, delete the stockpile, or set the amount of wheelbarrows and containers that can be used.&lt;br /&gt;
&lt;br /&gt;
When you click to repaint the stockpile, note that a secondary toolbar appears at the bottom of the screen, which you can use to switch to eraser mode.&lt;br /&gt;
&lt;br /&gt;
== Using stockpiles ==&lt;br /&gt;
Once a stockpile has been allocated, by default dwarves will automatically move items to the stockpile when they are available, as long as the stockpile has available space. Note that the dwarves will place the item into the empty spot that is nearest to the item, ''not counting any obstructions''{{verify}}. Dwarves will stockpile the ''newest'' item first, which may not necessarily be the nearest item to the stockpile. Tiles within a stockpile which contain only forbidden items are considered available space, and can accumulate another item without exploiting [[Quantum_stockpile#Quantum_stockpiles|quantum stockpiling]].&lt;br /&gt;
&lt;br /&gt;
One method to ensure a workshop has raw material on hand is to place a small stockpile of its input materials next to the workshop. This will speed up production as the crafter only has to take a few steps to obtain the material, preventing them from dragging material across the entire map. Whenever a crafter picks up material from the stockpile, your hauling dwarves will automatically fetch more material to refill the stockpile. This speeds up a queue of jobs, as other dwarves perform the time-consuming distant haul whilst the crafter concentrates on actually making items.&lt;br /&gt;
&lt;br /&gt;
It's not necessary to place stockpiles for all types of objects. If no storage is available for a certain item type, dwarves will seek out items wherever they might lie as mentioned earlier. This can be advantageous—if you don't have a stockpile for [[gem]]s, your [[jeweler]] will go pick up fresh gems without waiting for them to be carried to a pile first. However, this also means your jeweler has to spend a lot of time fetching the gems. If you have enough haulers available, it's generally more advantageous to designate stockpiles than not. Also remember that your workshops will get [[clutter]]ed and suffer production slowdowns if you let ridiculous numbers of items pile up in them, so it's important to occasionally clear out workshops if they get cluttered. This can be done either by having a stockpile available so that haulers will remove the items, by [[DF2012:Exploit#Quantum_stockpiles|quantum stockpiling]] the accumulation, or by removing and rebuilding the workshop, which will empty its contents onto the ground.&lt;br /&gt;
&lt;br /&gt;
== Give and/or take from a stockpile/workshop ==&lt;br /&gt;
Another feature of stockpiles allows you to tell dwarves to transfer items from or to one stockpile and/or workshop to another. The button that controls that feature is [[File:v50_stockpile_workshop_button.png|23px]], which is on by default once a stockpile is created. When this button is activated, the stockpile will take designated items from anywhere, but if disabled, it will only give and take items from specified workshops and stockpiles. Your chosen stockpile will now list the stockpile it will take from. This will cause items in the second stockpile to be hauled to the first stockpile. The button next to the previously mentioned one is [[File:v50_stockpile_shopadd_button.png|23px]], which allows the player to select where a stockpile's items will be given to or taken from, which are chosen with [[File:v50_stockpile_take_button.png|23px]] and [[File:v50_stockpile_give_button.png|23px]]&lt;br /&gt;
&lt;br /&gt;
Each stockpile can take from any number of other stockpiles.  You can't make two stockpiles feed into each other, although larger loops (e.g. three stockpiles that feed into each other in a circle) are allowed.&lt;br /&gt;
&lt;br /&gt;
When having a stockpile take items from a workshop, any items produced inside the workshop become eligible to move to the stockpile. Be aware that any items produced in the workshop that ''aren't'' accepted by the linked stockpile will not be moved anywhere at all. They will sit inside the workshop until a linked stockpile accepts them.&lt;br /&gt;
&lt;br /&gt;
Enough micromanagement will allow for effective and (relatively) streamlined supply chains. Here are some examples:&lt;br /&gt;
&lt;br /&gt;
*Speeding up [[wood cutting|lumber harvesting]], [[carpentry]], ''and'' [[ash]] and [[charcoal]] production by putting several wood stockpiles near the various [[Chop_down_trees|tree-felling areas]], then one large &amp;quot;primary&amp;quot; stockpile near the [[carpenter's workshop]] that takes from those small ones, and then finally, a small stockpile near the [[wood furnace]] that takes from the primary one.&lt;br /&gt;
*A smallish [[plant]] stockpile near your farms, disallowing barrels, will allow harvesters to spend very little time stockpiling the crops they just picked. A larger stockpile near the [[still]] (this one possibly allowing barrels), taking from the smaller stockpile, lets your general-purpose haulers do most of the grunt work of getting plants in place for the brewer. The larger stockpile should be set to &amp;quot;take from links only&amp;quot;, so the harvesters do not waste their time.&lt;br /&gt;
*A [[clothier's shop]] produces high-quality new [[clothing]]. There is currently no way to stockpile ''only'' new clothing, as opposed to [[wear|worn]] clothing, except for the fact that the new clothing is sitting in its workshop. A stockpile can be set to take from the clothier's shop (and to &amp;quot;take from links only&amp;quot;), so that it only gets new clothing produced in that workshop. If another stockpile with &amp;quot;take from anywhere&amp;quot; and no links is created, that one will accept all the worn clothing - it will never take from the linked clothier's shop. This worn-clothing stockpile may be placed near the [[trade depot]], if you plan to sell the used clothing, or near the [[magma|garbage disposal]], if you do not.&lt;br /&gt;
&lt;br /&gt;
When giving to a stockpile, an equal and opposite &amp;quot;take from stockpile&amp;quot; is created in the other direction (and vice versa). Deleting one of these inter-stockpile links also deletes the other link.&lt;br /&gt;
&lt;br /&gt;
Specifying that a workshop or furnace will only get its materials from a certain stockpile provides a way to make sure everything that the workshop produces is of a specific material.  For example, setting a granite stockpile to give to a mason's workshop ensures that the workshop will only use granite as its material. This is also extremely important when the workshop's input materials are heavy (e.g. [[stone]]s); linking a nearby stone stockpile to the workshop prevents the mason from hauling an enormous rock from hundreds of tiles away.&lt;br /&gt;
&lt;br /&gt;
This option is quite powerful, but should be used '''very''' carefully as the linked workshop will now ''only'' take from the stockpiles set to give to that workshop.  Make sure that the workshop gets ''all'' of the materials needed for its jobs there if you use this feature.  For example, if you link your ore stockpile to a non-magma [[smelter]], but don't also link a stockpile that includes a [[fuel]] source, then the dwarves will be unable to smelt ores at that smelter due to a lack of fuel.  If you set a fuel stockpile to give that smelter, it will still be unable to [[melt]] down items marked for melting, because it only takes from the ore and fuel stockpiles.  Another common mistake is setting a plant stockpile to give to a [[still]], but forgetting to also link a [[furniture]] stockpile to the still so that it has access to [[barrel]]s.&lt;br /&gt;
&lt;br /&gt;
==Max bin/barrel/wheelbarrows ==&lt;br /&gt;
{{imagefix|[[File:v50_stockpile_barrel_button.png|left]]|5|0}}The ''max bin'', ''max barrel'' and ''max wheelbarrows'' settings control the number of barrels, bins and wheelbarrows that are used for the organisation of items inside the stockpile. It can be useful to disallow bins and barrels from some stockpiles, for example stockpiles used to store seeds or for [[Exploit#Quantum stockpiles|quantum stockpiles]], by reducing this setting to 0. &lt;br /&gt;
&lt;br /&gt;
Increasing these numbers is not usually needed - they are set to the number of tiles in the stockpile when it is created, which is the maximum number of bins or barrels the stockpile can hold anyway. Which of bins or barrels is turned on is determined by the item type selected when the stockpile is designated - food stockpiles allow barrels, for example, and bar stockpiles allow bins. However, these settings are not updated if the types of items allowed in the stockpile are changed. If you change the types of items allowed in the stockpile, it may also be useful to change the number of bins and barrels that are allowed in it to allow your dwarves to store those items more efficiently.&lt;br /&gt;
&amp;lt;!-- == Will take from anywhere ==&lt;br /&gt;
&lt;br /&gt;
A stockpile that will take from anywhere does not restrict the source of its goods. Stockpiles with &amp;quot;take from links only&amp;quot; enabled will only accept goods from their assigned [[workshop]]s and linked stockpiles. You can use {{k|q}} {{k|a}} to toggle this setting on a stockpile. &lt;br /&gt;
&lt;br /&gt;
Setting your [[seed]] stockpiles to &amp;quot;take from links only&amp;quot; will prevent your haulers from carrying your vital seeds back and forth across the map to pick up each new seed in the [[dining room]]. When your stockpiled seeds run low you can temporarily toggle to &amp;quot;anywhere&amp;quot; to collect the loose seeds in bulk.&lt;br /&gt;
&lt;br /&gt;
The new &amp;quot;will take from anywhere&amp;quot; control is a toggle-button whose interpretation is as follows:&lt;br /&gt;
&lt;br /&gt;
In classical ASCII mode:&lt;br /&gt;
&lt;br /&gt;
* *️⃣➡️ - Expressing the concept &amp;quot;anywhere&amp;quot; (asterisk) and &amp;quot;will be accepted&amp;quot; (green arrow)&lt;br /&gt;
* *️⃣❌ - Expressing the concept &amp;quot;anywhere&amp;quot; (asterisk) and &amp;quot;will not be accepted&amp;quot; (red/orange &amp;quot;X&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
In vanilla graphics mode:&lt;br /&gt;
&lt;br /&gt;
* Highlighted Green - means the stockpile will give/take items from anywhere&lt;br /&gt;
* Not Highlighted Green - means the stockpile will NOT give/take items from anywhere (and will only give/take items to other stockpiles or workshops you manually designate)&lt;br /&gt;
&lt;br /&gt;
Citizens may still have leftover &amp;quot;haul item to the stockpile&amp;quot; tasks to a particular stockpile even after &amp;quot;will take from anywhere&amp;quot; has been turned off for it, or even setting its desired items to &amp;quot;none&amp;quot;, resulting in a batch of already-queued-up objects filling up the stockpile for quite some time. Smaller stockpiles will have significantly less of those delayed/queued up tasks. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stockpile categories ==&lt;br /&gt;
===[[Ammo]]===&lt;br /&gt;
This stockpile contains ammo for all forms of ammunition-requiring weaponry (except [[siege engine]]s). It can use [[bin]]s to consolidate stacks.&lt;br /&gt;
&lt;br /&gt;
===[[Animal]]===&lt;br /&gt;
[[Creature|Animals]] stored in [[cage|cages]] that are not affixed to a location will be stored in these stockpiles. [[Animal trap|Traps]] used for capturing wild animals and empty [[cage|cages]] are also stored here.&lt;br /&gt;
&lt;br /&gt;
This type of stockpile cannot use bins or barrels.&lt;br /&gt;
&lt;br /&gt;
===[[Armor]]===&lt;br /&gt;
Armor of all types is stored here. There is no preference for specific body parts, but usable/unusable armor may be specified. All types of armor can be stored in [[bin]]s.&lt;br /&gt;
&lt;br /&gt;
===[[Bar]]/[[Block]]===&lt;br /&gt;
Bars of smelted [[metal]] and blocks of cut stone and [[glass]] are kept here after being processed by the [[smelter]], [[mason's workshop|mason's workshops]], and [[glass furnace|glass furnaces]], before being used for other purposes. Weirdly, [[ash|ashes]], [[potash]], [[soap]], [[charcoal]], and [[coke]] from the [[wood furnace]], [[ashery]], [[soap maker's workshop]] and [[smelter]] will also be stored here. As with all stockpiles, this can be changed to allow for specific blocks and bars to be stored with custom settings. [[Bin]]s can be used to consolidate up to 10 bars/blocks.&lt;br /&gt;
&lt;br /&gt;
Bars of [[fuel]] ''(Coke and Charcoal)'' are stored in '''Bars: other materials-&amp;gt; Coal'''&lt;br /&gt;
&lt;br /&gt;
===[[Cloth]]===&lt;br /&gt;
Woven cloth and [[thread]] are stored here (plant fiber, animal hair, and silk). [[Bin]]s can be used to consolidate items.&lt;br /&gt;
&lt;br /&gt;
===[[Currency|Coins]]===&lt;br /&gt;
Minted coins are kept here, several thousand of them fitting into a single bin.&lt;br /&gt;
&lt;br /&gt;
===[[Corpse|Corpses]]===&lt;br /&gt;
Dead sentient beings (dwarves, goblins, trolls, etc.) and [[pet|pets]] that have no burial location will be placed here. Other corpses are considered part of the ''refuse'' category.&lt;br /&gt;
&lt;br /&gt;
If placed indoors, decaying bodies will generate [[miasma]], but [[bone]]s will not be removed at the end of the season. Rotting [[pet]]s or [[friend]]s give dwarves unhappy [[thought]]s unless they are given a proper burial in a [[Coffin|burial receptacle]].&lt;br /&gt;
&lt;br /&gt;
Corpse stockpiles are meant to be used as ''morgues'', though the inclusion of invader corpses makes this slightly difficult.&lt;br /&gt;
&lt;br /&gt;
===[[Finished goods|Finished Goods]]===&lt;br /&gt;
Finished goods created by the [[craftsdwarf's workshop]], as well as the [[clothier's shop]] and the [[leather works]], are placed here before being used in trade or other uses. This type of stockpile can use [[bin|bins]] to consolidate items, over a hundred objects can fit into a bin.&lt;br /&gt;
&lt;br /&gt;
Since this stockpile can also contain supplies that the player might not want to trade away ([[splint]]s, [[crutch]]es, [[rope]]s, [[waterskin]]s...), it is wise to make separate custom stockpiles for these goods.&lt;br /&gt;
&lt;br /&gt;
While not explicitly mentioned, the [[tools|Tool]] subcategory includes the following items:&lt;br /&gt;
* Scroll rollers&lt;br /&gt;
* [[Book binding]]&lt;br /&gt;
* [[Hive]]&lt;br /&gt;
* [[Honeycomb]]&lt;br /&gt;
* [[Quire]]&lt;br /&gt;
* [[Die]]&lt;br /&gt;
* [[Jug|Jugs]]&lt;br /&gt;
* [[Nestbox]]&lt;br /&gt;
&lt;br /&gt;
=== [[Food]] ===&lt;br /&gt;
As one would assume based on the name, food is stored here, in addition to a wide variety of inedible plant and animal products  -- [[seed]]s, [[lye]], [[giant desert scorpion]] venom, bags of [[dye]], and [[liquid fire]], to name a few. Raw [[Creature#Aquatic|fish]] is brought here, before being processed by a [[fishery]] and turned into edible [[meat]]. Drinks are always stored in [[barrel]]s or [[large pot]]s. Seeds are stored in [[bag]]s (which may in turn be stored in barrels/pots); other food items can be stored in barrels or pots.&lt;br /&gt;
&lt;br /&gt;
Barrels and pots can hold, at most, 60 [[prepared meal]]s. Stacks larger than that (☼Dwarven Beer Roast [200]☼ is possible) will not fit in a barrel, but will still only take up one tile of stockpile space. To free up barrels, you may decide to have separate prepared food stockpiles that do not accept barrels - if you cook larger meals, this shouldn't be a problem.&lt;br /&gt;
&lt;br /&gt;
Food will never [[wear|spoil]] while in a stockpile, although it may attract and be eaten by [[vermin]].  Food stockpiles should, in most cases, be restricted to desired types (e.g. [[seed]] stockpiles or meat stockpiles or unprepared fish stockpiles); there are simply too many things that go in them.&lt;br /&gt;
&lt;br /&gt;
Fat and tallow go in the same list and are listed by animal. To separate out just the tallow, search for &amp;quot;tallow&amp;quot; and click all/none for the column. This button only applies to displayed items. Resetting the search will show that tallow has been allowed/forbidden, but fat settings are unaffected.&lt;br /&gt;
&lt;br /&gt;
Fish that have been caught but not [[Fishing_industry#Fish_cleaning|cleaned]] are stored in '''Unprepared fish'''. Fish that have been cleaned ''(via Prepare a raw fish at a'' [[fishery]]) are stored in '''Fish'''.&lt;br /&gt;
&lt;br /&gt;
Read more about the following food stockpile categories here:&lt;br /&gt;
* [[Plant]]s&lt;br /&gt;
** For edible plants, see [[Crop]]s&lt;br /&gt;
* [[Seed]]s&lt;br /&gt;
* [[Crop#Garden_plants|Fruit]] / [[Plant#Bulb.2FFlower.2FLeaf|Leaves]]&lt;br /&gt;
* [[Miller#Millable_Plants|Milled plant]]&lt;br /&gt;
&lt;br /&gt;
===[[Furniture]] Storage===&lt;br /&gt;
Completed items from the [[carpenter's workshop]], [[mason's workshop]], and [[mechanic's workshop]] will be stored here, along with furniture created from other shops, until placed or used in another building. Bags filled with [[sand]] can also be stored in furniture stockpiles, and in fact will appear in any furniture stockpile unless expressly forbidden, regardless of materials permitted.&lt;br /&gt;
&lt;br /&gt;
Since this is a very broad category, it may be useful to create stockpiles for a specific type of item (like barrels, bags, bins, mechanisms)  via the stockpile settings.&lt;br /&gt;
&lt;br /&gt;
Furniture cannot be stored in barrels or bins.&lt;br /&gt;
&lt;br /&gt;
If you choose to apply advanced stockpiling of furniture e.g. &amp;quot;make a stockpile for only [[Furniture]]&amp;gt;[[Bed]]s.&amp;quot; Merely selecting &amp;quot;beds&amp;quot; under the &amp;quot;Type&amp;quot; category will not suffice. In this case one also needs to ensure the required qualities are selected! Should you want to store all quality beds, just make sure you select &amp;quot;all&amp;quot; on the categories: [[#Core Quality|Core Quality]] as well as [[#Total Quality|Total Quality]].&lt;br /&gt;
&lt;br /&gt;
[[Anvil]]s, [[millstone]]s, and [[quern]]s are stored as furniture, even though they are a core component of a [[workshop]].&lt;br /&gt;
&lt;br /&gt;
[[Siege engine]] items are also stored in this stockpile:&lt;br /&gt;
* Ballista parts&lt;br /&gt;
* Bolt thrower parts&lt;br /&gt;
* Catapult parts&lt;br /&gt;
* [[Ballista arrow]]&lt;br /&gt;
* Ballista arrowhead&lt;br /&gt;
&lt;br /&gt;
====Other Large Tools====&lt;br /&gt;
While not explicitly mentioned, the following items are stored in the &amp;quot;Other large tools&amp;quot; subcategory:&lt;br /&gt;
* [[Bookcase]]&lt;br /&gt;
* [[Pedestal]]&lt;br /&gt;
* [[Altar]]&lt;br /&gt;
* [[Stepladder]]&lt;br /&gt;
* [[Display case]]&lt;br /&gt;
&lt;br /&gt;
===[[Gem]]===&lt;br /&gt;
This stockpile stores gems and raw [[glass]], both cut and uncut, along with [[gizzard stone]]s. It can use [[bin]]s to consolidate gems.&lt;br /&gt;
&lt;br /&gt;
===[[Leather]]===&lt;br /&gt;
Leather, which is produced at a [[tanner's shop]], will be kept here. Like most stockpiles, it can use [[bin]]s to consolidate items.&lt;br /&gt;
&lt;br /&gt;
===[[Refuse]]===&lt;br /&gt;
Since dwarves hate rot, because of the [[miasma]] it spreads when in an enclosed place like a [[cave]], any garbage item that can rot will be stored in a refuse stockpile. Also, any [[wear|XXdamaged itemsXX]] will be moved to the refuse stockpile. Many players prefer to place this stockpile outside their cavern, usually a small distance from the entrance, as rottable items on tiles that are {{DFtext|Outside |3:1}}{{DFtext|Light |6:1}}{{DFtext|Above Ground|2:1}} do not generate miasma.&lt;br /&gt;
&lt;br /&gt;
If placed on a {{DFtext|Subterranean|0:1}} tile, decaying items will generate miasma, which will spread through your fortress and generate a small unhappy thought in any dwarf passing through it. For this reason, it is sensible to build [[door|doors]] (preferably several, separated by a few tiles to create an airlock) to all of your indoor refuse stockpiles. Miasma won't spread through a closed door, so only dwarves with business in the room will be bothered by the rot. &lt;br /&gt;
&lt;br /&gt;
An alternative to this is to dig [[channel|channels]] down from the surface, creating an area of tiles considered to be {{DFtext|Light |6:1}}{{DFtext|Above Ground|2:1}}, yet still located within your fortress. You can place your refuse stockpile here, and although it will be in your fort, rotten items on those tiles will not generate miasma. If you choose to cover them with walls or floors for security and/or aesthetic reasons, it will convert them to {{DFtext|Inside|6:0}}, but they will remain {{DFtext|Light |6:1}}{{DFtext|Above Ground|2:1}} tiles, which again do not generate miasma in rotten items. (For even more creative methods to restrict the spread of foul rotting stench, see the [[miasma]] page.)&lt;br /&gt;
&lt;br /&gt;
[[Bone]]s, [[skull]]s, and [[shell]]s are also stored here, whether from defeated enemies or raw food processing - if left in an area with high [[vermin]] levels, these will randomly disappear. Refuse stockpiles can be restricted to store only [[bone]]s, [[skull]]s, [[shell]]s, teeth, and horns/hooves.&lt;br /&gt;
&lt;br /&gt;
Note that a refuse stockpile is not the same as a [[Activity_zone#Garbage_Dump|garbage dump]] - a garbage dump is only for things manually marked to be dumped. Additionally, refuse types specifically marked as '''Dwarves Dump''' ''refuse type'' will be hauled to the garbage dump instead of the refuse stockpile.&lt;br /&gt;
&lt;br /&gt;
Be careful on evil biomes, since some can reanimate dead creatures and body parts.  If your fort is located on a map where part is evil and part is not, it is best to put your refuse stockpile on the part that is not evil.&lt;br /&gt;
&lt;br /&gt;
The corpses of sentient beings (goblins, trolls, etc.) are no longer stored in refuse stockpiles, [[Stockpile#Corpses|but in a corpse stockpile instead]].  If your dwarves are not cleaning up bodies, this is probably why.&lt;br /&gt;
&lt;br /&gt;
===[[Sheets]]===&lt;br /&gt;
This stockpile stores sheets, including paper and parchment. Like most stockpiles, it can use bins to consolidate items.&lt;br /&gt;
&lt;br /&gt;
===[[Stone]]===&lt;br /&gt;
Rough stone will be stored here, as well as [[ore]].  These stockpiles cannot use bins or barrels, but the use of [[wheelbarrow]]s is strongly advised. The default number of assigned wheelbarrows is 1, also if the number of assigned wheelbarrows is set to zero and the custom stockpile setting is entered, upon exiting the custom stockpile settings, the number of assigned wheelbarrows is reset to 1 (from zero), that happens even if no changes in the custom stockpile settings has been made.&lt;br /&gt;
&lt;br /&gt;
[[Stone management]] is a complex topic; in the simplest terms, most stones are extremely heavy, so you want to minimize the distance they are [[hauling|hauled]] by hand (e.g. from the stone [[stockpile]] to the [[mason's workshop]] or [[smelter]]) by putting such stockpiles very close to the workshops that they feed.&lt;br /&gt;
&lt;br /&gt;
===[[Weapon|Weapons]]===&lt;br /&gt;
Weapons of all types are stored here by default, including picks, trap components, and weapons too large for dwarves to use. [[Bin]]s can be used to consolidate weapons of any type.&lt;br /&gt;
&lt;br /&gt;
===[[Wood]]===&lt;br /&gt;
Chopped trees are brought to the wood stockpile before being used by carpenter's workshop, a wood furnace or siege workshop. Because wood takes a long time to haul and tends to travel a long way, the stockpile should be rather close to a fortress entrance (which does not necessarily mean on the upper z-levels - moving down one z-level is only one tile), unless you have an [[Tower-cap|underground tree farm]]. It is a good idea to position this stockpile close to your carpenter's workshop (or the other way round) since he is likely to be the main &amp;quot;customer&amp;quot;.  Wood stockpiles will also accept &amp;quot;grown&amp;quot; wood logs that elves bring.&lt;br /&gt;
&lt;br /&gt;
This type of stockpile cannot use bins or barrels.&lt;br /&gt;
&lt;br /&gt;
===Additional Options===&lt;br /&gt;
The options are &amp;quot;Allow Plant/Animal&amp;quot; (organic goods) which appear as [[File:v50_stockpile_allowplants.png|20px]] or [[File:v50_stockpile_allowplants_off.png|20px]] and &amp;quot;Allow Non-Plant/Animal (non-organic goods) which appear as [[File:v50_stockpile_allowmetals.png|20px]] or [[File:v50_stockpile_allowmetals_off.png|20px]]. Unlike all the other categories, the Additional Options settings apply to all other active categories. A stockpile that allows neither organic nor non-organic goods will never receive any items. Disabling &amp;quot;Additional Options&amp;quot; is a common cause of stockpile problems, and these options generally aren't useful anyway unless you want to consolidate trade goods which are safe to [[trade]] to [[Elf|Elven]] caravans.&lt;br /&gt;
&lt;br /&gt;
=== Custom stockpiles ===&lt;br /&gt;
With custom stockpiles, you can change which types of materials, goods, etc., can be stored in that stockpile. Any type of things can be mixed, so you could have a stockpile that will hold raw [[turtle]], [[mechanism|mechanisms]] and all stone types apart from [[onyx]] if you wanted, or only high-quality steel crossbow bolts (Ammo), all quivers (a Finished Good), and metal crossbows (a Weapon) - the combinations are endless, and can be finely tuned. Note that many sub-menus consist of several pages ( the 'other' menu of stone e.g. consists of several pages while 'metal [[ore|ores]]' and 'economic' consist of only one ).&lt;br /&gt;
&lt;br /&gt;
== Stockpile Settings ==&lt;br /&gt;
In the '''Stockpile Settings''', the first column are the major categories. In the second column there may or may not be subcategories. In the third you will see the individual items. The second and third columns are only visible when a category is enabled and selected. Any option can be selected in any category by simply clicking on it. Each column has an &amp;quot;All&amp;quot; or &amp;quot;None&amp;quot; button, which will enable or disable entire categories so that the player does not have to individually click each option to enable or disable an entire list.&lt;br /&gt;
&lt;br /&gt;
Be careful when selecting 'block all' on the subcategories, as it can make your stockpiles useless. For example, if you block all the furniture subcategories and then re-enable beds under types, the stockpile won't actually accept anything because it still registers all materials and all quality levels as forbidden. The correct way would be to 'forbid types' and then re-enable beds.&lt;br /&gt;
&lt;br /&gt;
=== Core Quality ===&lt;br /&gt;
Core quality means the quality of the ''craftsdwarfship of the item''. A masterfully crafted armor (made from qualityless metal bars) has masterful core quality. A finely-crafted dress (made from an exceptional pig tail fiber cloth) has fine core quality (because the craftsdwarfship ''of the item'' is fine).&lt;br /&gt;
&lt;br /&gt;
=== Total Quality ===&lt;br /&gt;
Total quality means the highest between the craftsdwarfship of the item and the craftsdwarfship of its components (or decorations). The finely-crafted dress from our previous example has a fine core quality, but its total quality is exceptional because its component — a pig tail fiber cloth — is of exceptional quality. Likewise, a superior quality steel gauntlet, masterfully studded with copper is of masterful total quality (and superior core quality).&lt;br /&gt;
&lt;br /&gt;
A more complex example: A rope reed fiber sock is superiorly decorated with pond turtle shell. Is masterfully crafted from a rope reed fiber cloth which was finely dyed with redroot dye. Core quality: masterful, Total quality: masterful. (Remember, for total quality, the best of either the item's quality, the quality of its components, or the quality of its decorations is chosen.)&lt;br /&gt;
&lt;br /&gt;
See also [http://www.bay12forums.com/smf/index.php?topic=96501.msg2765710 Crafting Skills, Quality and Statistics research].&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
Some categories will have a special extra type of item(s) that can be toggled.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! Categories&lt;br /&gt;
! Item type&lt;br /&gt;
|-&lt;br /&gt;
| Animals &lt;br /&gt;
| Empty [[cage]]s and empty [[animal trap]]s&lt;br /&gt;
|-&lt;br /&gt;
| Food  &lt;br /&gt;
| [[Prepared meal|Prepared food]]&lt;br /&gt;
|-&lt;br /&gt;
| Weapons &lt;br /&gt;
| Usable and unusable [[weapon]]s&lt;br /&gt;
|-&lt;br /&gt;
| Armor &lt;br /&gt;
| Usable and unusable [[armor]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you disable an item or items that are already sitting in a stockpile, then they become loose items. Your haulers will move them to a more suitable stockpile, should one exist. All existing stockpiles (and [[zone]]s) can be seen with {{Menu icon|P}} and viewing the &amp;quot;Zones&amp;quot; and &amp;quot;Stockpiles&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
== Custom Stockpile Uses ==&lt;br /&gt;
A custom stockpile is most useful for food, furniture, and bar/block stockpiles, to prevent your lye and venom sitting next to the [[kitchen|kitchens]], your [[floodgate|floodgates]] and mechanisms near the [[zone|rooms]] that need [[statue|statues]] and doors, your stone blocks next to the forges, and your metal bars by the farms.&lt;br /&gt;
&lt;br /&gt;
When setting up a custom stockpile to hold more than one type of raw material, it is often best to set up multiple custom stockpiles, one for each type. Otherwise your stockpile will invariably fill up with lesser-used items, rendering your custom stockpile nearly useless.&lt;br /&gt;
&lt;br /&gt;
One use for this is to have an outdoor stockpile next to your gate that will accept all refuse except bones, shells, skins and skulls, and then one or more indoor pile(s) near your craftsdwarf's workshop that will '''only''' accept these things. If you have set the option for dwarves to gather refuse from outside, the bones will be brought in once all the meat has rotted off of any carcasses outside. This means added risk to your dwarves if they try to gather refuse that is far from your gate, and additional hauling.&lt;br /&gt;
&lt;br /&gt;
Another effective use of custom stockpiles is Elven trading. Make a stockpile just for elf-safe trade goods: most categories where it is relevant have a 'materials' option. Note, however, that items with [[wood]]en [[decoration]]s will '''not''' be excluded. Similarly, [[noble]]s who frequently [[mandate]] restricted trading can have their preferred goods stored separately, far away from the [[trade depot]].&lt;br /&gt;
&lt;br /&gt;
A highly efficient method is to have wood burning furnaces feeding into a '[[charcoal]] only' bar/blocks stockpile, which in turn is near the smelting furnaces and forges. Bonus points if you also place a small wood stockpile near the wood furnaces.&lt;br /&gt;
&lt;br /&gt;
Other good uses:&lt;br /&gt;
* Planter's stock: [[seed|seeds]] and [[potash]]. If your [[ashery]] is nearby, include ashes and lye.  &lt;br /&gt;
* Smelter stock: [[ore|ores]], [[flux]] and, unless you're using [[Magma smelter]], [[coal]].&lt;br /&gt;
* Sandpile: [[sand]] bags.&lt;br /&gt;
* Dyer's stock: a food stockpile that only includes [[dye|dyes]]. &lt;br /&gt;
* Food Plus: a food stockpile that includes barrels. This spares your dwarves from carrying empty barrels to and from the furniture stores.&lt;br /&gt;
* Skins: a refuse stockpile limited to [[skin|skins]], a bit like the bone &amp;amp; shell stockpile above. Place near the tannery. &lt;br /&gt;
* Brewer's stock: [[List of crops|brewable plants]].&lt;br /&gt;
* Miller's stock: [[List of crops|millable plants]]. (An empty [[bag]] stockpile will also speed up milling.) &lt;br /&gt;
* Refreshment stand: Since dwarves drink twice as often as they eat, having several small food stockpiles that only accept [[Alcohol|drinks]] scattered strategically through your fort can minimize [http://en.wikipedia.org/wiki/Smoko smoko breaks]. The usefulness of this kind of stockpile is often disputed as dwarves go to the fullest barrel first, so if you can't keep your stockpile constantly filled with new full barrels of alcohol your masons might decide to run all the way over to the alcohol stockpile you have set up for your brewers or your metalsmiths. If you can keep each stockpile constantly filled with fresh supplies of full barrels of alcohol then this can increase productivity greatly. A simple way of doing this is by keeping a brewery near each separate alcohol stockpile, or [[burrow]]ing dwarves so that local stockpile is the only one they can [[path]] to.&lt;br /&gt;
* Artifact materials: The massive value and effectiveness of [[artifact|artifacts]] mean the materials used in them can have drastic effects, sometimes even into the ''[[Value|millions]]''.  Having special stockpiles for high-value metals, stones, gems, and other such materials will make it that much easier to ensure that you will get the most out of each [[strange mood]].  (However, even with materials-specific stockpiles, it can take a fair amount of micromanagement to get a moody dwarf to use a specific material.)&lt;br /&gt;
* Artifact storage: Artifacts add a great deal to the created wealth of the fortress. Keep valuable artifacts safe in a special &amp;quot;treasure&amp;quot; stockpile.&lt;br /&gt;
* Ingredients: Store things that are cookable but not edible, like milk and quarry bush leaves, near [[kitchen]]s. Also, more [[rot|volatile]] foods (such as [[meat]]) can be stored closer to your kitchen to encourage your cooks to use them quickly.&lt;br /&gt;
* [[Stone carver]]'s stone: Linking a single- or limited-type stone stockpile to a [[stoneworker's workshop]] allows you to specify exactly which [[stone]] your stone carvers will use, providing consistent output (and increased [[value]] if using [[economic stone]]). Additionally, if your stone carver has a [[preference]] for a particular stone, you can increase output [[quality]] by having him work with that stone.&lt;br /&gt;
* Finished goods stockpiles near a Trade Depot that includes crafts that you want to sell, but excludes ordinary clothing, backpacks, waterskins, splints and crutches that you want your dwarves to use.&lt;br /&gt;
&lt;br /&gt;
==Bugs==&lt;br /&gt;
* Gem stockpiles' material option for clay is hidden in the UI {{Bug|9749}}.&lt;br /&gt;
* [[Hauling]] blocks access to items stored in [[Storage|container]]s; consider creating container-less &amp;quot;feeder&amp;quot; stockpiles linked to your storage stockpiles.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=92241.msg3276117#msg3276117 Research] has suggested that stockpiles are a significant cause of [[Maximizing framerate|lag]]; see [[Exploit#Quantum_stockpiles|Quantum Stockpiles]] for designs that minimize stockpile tiles. &lt;br /&gt;
* Disabling &amp;quot;Additional Options&amp;quot; in the stockpile menu is a common source of stockpile problems.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
Getting dwarves to haul items to a stockpile is a frequent source of frustration. Here are some things to check:&lt;br /&gt;
&lt;br /&gt;
* Do you have idle dwarves?&lt;br /&gt;
** Do the idle dwarves have the appropriate hauling labors enabled?&lt;br /&gt;
** Are the idle dwarves constantly taking and cancelling other jobs? &lt;br /&gt;
* Do you have a stockpile that wants this item?&lt;br /&gt;
** Is there an empty spot in the stockpile?&lt;br /&gt;
*** Note that hidden items and wheelbarrows tie up stockpile tiles.&lt;br /&gt;
** Can the idle dwarves path to the stockpile and the item?&lt;br /&gt;
** Is the stockpile set to accept from anywhere, not just links?&lt;br /&gt;
** Check both the item's type and its material, in stockpiles that can filter materials.&lt;br /&gt;
** Check that the armor/weapon stockpile setting is &amp;quot;usable&amp;quot; and/or &amp;quot;unusable&amp;quot; as appropriate.&lt;br /&gt;
** Check that &amp;quot;Additional Options&amp;quot; are set correctly to allow the desired items.&lt;br /&gt;
* Is the item unforbidden?&lt;br /&gt;
* Is the item accessible (no civilian alert, burrows, etc.)?&lt;br /&gt;
* Is the item not owned by any dwarf?&lt;br /&gt;
* Is the item not tasked for a job?&lt;br /&gt;
* Is the item not assigned for use in any buildings/constructions?&lt;br /&gt;
* Check your standing orders (o), and make sure this kind of item can be gathered.&lt;br /&gt;
** For refuse, make sure dwarves are allowed to gather refuse that is &amp;quot;outside&amp;quot; (o r).&lt;br /&gt;
* Does the stockpile have wheelbarrows assigned?  If so, are they all in use?&lt;br /&gt;
* If the item normally goes in a container, do you have suitable unused containers?&lt;br /&gt;
* Is the item claimed by a location (hospital, tavern, library, temple)?&lt;br /&gt;
&lt;br /&gt;
{{V50 menus}}&lt;br /&gt;
{{Category|Stockpiles|*}}&lt;br /&gt;
{{Category|Items}}&lt;br /&gt;
[[ru:Stockpile]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Bin&amp;diff=314013</id>
		<title>Bin</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Bin&amp;diff=314013"/>
		<updated>2026-01-13T05:36:26Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Added stockpile link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Exceptional}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{v50_item|name=Bin&lt;br /&gt;
|tile=X|col=0:6:0&lt;br /&gt;
|graphic=[[File:bin premium.png]]&lt;br /&gt;
|wood=y&lt;br /&gt;
|metal=y&lt;br /&gt;
|bars=3&lt;br /&gt;
|glass=n&lt;br /&gt;
|cloth=n&lt;br /&gt;
|leather=n&lt;br /&gt;
|ceramic=n&lt;br /&gt;
|bone=n&lt;br /&gt;
|shell=n&lt;br /&gt;
|gem=n&lt;br /&gt;
|wax=n&lt;br /&gt;
|used for=&lt;br /&gt;
* [[Storage]] ([[Stockpile#Stockpile categories|Most items]])&lt;br /&gt;
|value=10&lt;br /&gt;
|size=15,000&lt;br /&gt;
|capacity=60,000}}&lt;br /&gt;
&lt;br /&gt;
{{Translation&lt;br /&gt;
| dwarven = osed&lt;br /&gt;
| elvish  = masa&lt;br /&gt;
| goblin  = sputo&lt;br /&gt;
| human   = itlud&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A '''bin''' is a specially made basket for certain [[stockpile]]s. A bin can be made from one [[wood|wooden log]] at a [[carpenter's workshop]] or forged from 3 [[metal]] [[bar]]s at a [[forge]]. Bins make it possible to store lots of objects into one tile of a stockpile. A stockpile without a bin will likely fill up fast, leaving any remaining items where they are to get in the way. Graphically, when a bin is empty, the sprite will be that of an empty bin with no lid, whereas a bin with multiple types of items will have a lid, albeit slightly tilted. Bins are a component in building a [[bolt thrower]]. Bins that are filled with a specific type of item will show those items sticking out the top of the bin:&lt;br /&gt;
&amp;lt;div style=&amp;quot;testA&amp;quot; style=&amp;quot;margin-top: 10px; margin-left: 20px;&amp;quot;&amp;gt;[[File:bins_variants_preview.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bins are therefore incredibly useful to a maturing fortress. The best material for bins is generally [[wood]], because wooden bins are the lightest bins and will therefore save your haulers' time. Of course, if you intend to use bins next to a [[volcano]] or something equally [[fire|hot]], you may want to use metal bins. &lt;br /&gt;
&lt;br /&gt;
If your fort suffers from a lack of wood but [[Fuel|charcoal]] is also your only [[fuel]] source, producing metal instead of wooden bins will actually '''increase''' your wood consumption. Forging each bin will cost one unit of fuel and smelting the metal bars will also require fuel. Charcoal is produced at a rate of one bar per log. You can only reduce wood consumption by making metal bins if you use coke or [[magma]] to heat your smelters and forges.&lt;br /&gt;
&lt;br /&gt;
Stockpiles that use bins are [[ammunition|ammo]], [[armor]], [[bar]]s/[[block]]s, [[cloth]], [[Currency|coins]], [[finished goods]], [[gems]], [[leather]] and [[weapon]]s. [[Food]] stockpiles use [[barrel]]s and [[large pot]]s instead of bins. Other stockpiles do not use anything at all.&lt;br /&gt;
&lt;br /&gt;
Bins are a fast way to transport trade goods to a [[trade depot]]. Instead of carrying the individual item, the dwarf will haul the whole container for trade. Though if the contents inside are heavy, it will still take a long time.&lt;br /&gt;
&lt;br /&gt;
For information on managing bins in stockpiles, see [[using bins and barrels]].&lt;br /&gt;
&lt;br /&gt;
[[Melt item|Melting]] metal bins return a single bar.&lt;br /&gt;
&lt;br /&gt;
[[File:Wood (2942371043).jpg|thumb|A large number of wooden bins stacked upon each other.]]&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
* Hauling jobs block access to all the items in the destination containers until the hauling is complete. This often results in cancellation spam and work delays.{{bug|9004}} One workaround is creating a &amp;quot;feeder stockpile&amp;quot; with containers disabled.&lt;br /&gt;
* Items in bins are sometimes not found for tasks.{{bug|8755}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Storage]]&lt;br /&gt;
[[ru:Bin]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Large_pot&amp;diff=314012</id>
		<title>Large pot</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Large_pot&amp;diff=314012"/>
		<updated>2026-01-13T05:31:57Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Added stockpile link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior}}&lt;br /&gt;
&lt;br /&gt;
{{av}}&lt;br /&gt;
{{buggy}}&lt;br /&gt;
&lt;br /&gt;
{{v50_item|name=Large pot&lt;br /&gt;
|graphic=[[File:large_pot_sprite.png]]&lt;br /&gt;
|tile={{char|232}}&lt;br /&gt;
|wood=n&lt;br /&gt;
|woodcraft=y&lt;br /&gt;
|stone=n&lt;br /&gt;
|stonecraft=y&lt;br /&gt;
|metal=n&lt;br /&gt;
|metalcraft=y&lt;br /&gt;
|bars=1&lt;br /&gt;
|glass=y&lt;br /&gt;
|cloth=n&lt;br /&gt;
|leather=n&lt;br /&gt;
|ceramic=y&lt;br /&gt;
|bone=n&lt;br /&gt;
|shell=n&lt;br /&gt;
|gem=n&lt;br /&gt;
|wax=n&lt;br /&gt;
|used for=&lt;br /&gt;
* [[Storage]] ([[Stockpile#Food|Food, liquids]])&lt;br /&gt;
|value=10&lt;br /&gt;
|size=5,000&lt;br /&gt;
|capacity=60,000&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Pots''', also known as '''large pots''', are containers that function much like [[barrel]]s, and have the same capacity, but can be made from materials other than wood or metal, such as [[stone]], [[ceramic]], and [[glass]]. The game refers to these containers sometimes as &amp;quot;pot&amp;quot; and sometimes as &amp;quot;large pot&amp;quot; but there is no actual distinction. Graphically, if a pot is empty, the sprite will show a pot with no lid; if it is filled with a specific type of item, the top of the pot will have the matching items sticking out of the top, which also applies for liquids. If the pot contains content such as [[slurry]], paste or [[tallow]], the pot will have a lid.&lt;br /&gt;
&lt;br /&gt;
For most uses, large pots can replace [[barrel]]s. However, stone pots are usually heavier than wooden barrels, so tasks that require moving stone barrels may be slowed to some extent compared to wooden ones. (See &amp;quot;[[Large pot#Material selection|material selection]]&amp;quot;, below).&lt;br /&gt;
&lt;br /&gt;
Note, however, that large pots cannot replace barrels in all situations. Some tasks may ''specifically'' require &amp;quot;barrels&amp;quot; (eg. &amp;quot;Process Plant to Barrel&amp;quot;), and some workshops '''specify''' a &amp;lt;u&amp;gt;barrel&amp;lt;/u&amp;gt; for their construction, e.g. an [[ashery]] or [[dyer's shop]]. Large pots cannot be encrusted with gems at a [[jeweler's workshop]], despite being stored in the Furniture stockpile.&lt;br /&gt;
&lt;br /&gt;
Large pots can be made from stone by a [[stone crafter]] at a [[craftsdwarf's workshop]], [[ceramic]] at a [[kiln]], [[glass]] at a [[glass furnace]], [[wood]] at a [[craftsdwarf's workshop]], or [[metal]] at a [[metalsmith's forge]]. Pots made from stone, [[stoneware]], [[glass]], [[wood]], [[porcelain]], [[metal]], or [[glaze]]d [[earthenware]] are water-tight and can be used to store liquids, and even for [[brewing]]. Unglazed earthenware can only be used for storing dry items. Metal pots are made using the [[metalcrafting]] skill, as opposed to metal barrels, which use the [[blacksmithing]] skill. &lt;br /&gt;
&lt;br /&gt;
Pots are stored in the Large Pots/Food Storage section of the Furniture stockpile. Empty pots are listed under Tools when viewing the fortress's [[stocks]] or when moving them to a [[trade depot]].  Pots are hauled using the Haul Item labor.&lt;br /&gt;
&lt;br /&gt;
Large pots take up 500 units of volume. Same as barrels, pots can hold up to 60 prepared meals, plants, or cheeses, 30 pieces of meat or fish, any number of units of brewed [[alcohol]] (but only a single stack), 100 units of [[lye]] or [[milk]], or 6000 [[egg]]s regardless of size.&lt;br /&gt;
&lt;br /&gt;
== Material selection ==&lt;br /&gt;
As with other containers, several factors are relevant in choosing the proper material for making large pots. Namely, availability, value, fire/magma safety, vermin resistance, &amp;lt;s&amp;gt;hippie&amp;lt;/s&amp;gt; elf kosherness, and most importantly '''weight'''.&lt;br /&gt;
&lt;br /&gt;
Pots made from stone of typical* [[Density#Density of some materials|density]] will be 33% heavier than typical* wooden barrels. Fire clay &amp;quot;stoneware&amp;quot; pots weigh the same as a wooden barrel, while earthenware pots are lighter but must be glazed. This makes large stone pots superior for any stockpile that does not require the containers to be moved, such as [[Kitchen|prepared meals]]. Ceramic pots are superior to typical wood in all cases.&lt;br /&gt;
: (*There are exceptionally light or heavy examples of both stone and wood, but the majority of types of each fall into a &amp;quot;typical&amp;quot; weight category.)&lt;br /&gt;
&lt;br /&gt;
Pots are only 1/4 as heavy&amp;lt;sup&amp;gt;[http://www.bay12forums.com/smf/index.php?topic=127471.msg4342164#msg4342164]&amp;lt;/sup&amp;gt; as barrels &amp;lt;u&amp;gt;made from the same material&amp;lt;/u&amp;gt; (e.g. metal, glass). This means metal pots are generally a better storage option than metal barrels, saving the industry precious dwarf-hours by hauling faster due to lighter containers. Additionally, a metal barrel costs '''3''' bars, but a metal pot only '''1''', making metal barrels a vastly less attractive option.&lt;br /&gt;
&lt;br /&gt;
But in the case of large pots, stone is typically used chiefly due to its abundance, especially for young outposts. Doing so will conserve wood (likely the only other economic choice) for tasks for which stone cannot be used (and metal is not always practical), such as making [[bed]]s, [[bin]]s, [[bucket]]s, [[cage]]s, [[charcoal]], [[crutch]]es and [[splint]]s, [[pipe section]]s, [[stepladder]]s, [[training weapon]]s, [[wheelbarrow]]s, and many other items* of various usefulness and importance.&lt;br /&gt;
: (*[[Crossbow]]s and [[bolt]]s could fall here, too, but those often deserve to be made of a weapons-grade metal.)&lt;br /&gt;
&lt;br /&gt;
Unless, of course, the embark location has trees aplenty, making it viable to use wood for most everything, including pots, though this obviously requires a sufficient amount of woodcutters, wood crafters, axes, and contempt towards the &amp;lt;s&amp;gt;tree-huggers&amp;lt;/s&amp;gt; elves.&lt;br /&gt;
&lt;br /&gt;
== Forging and melting ==&lt;br /&gt;
&lt;br /&gt;
* Metal pots cost '''one''' [[metal]] bar to forge, or '''one''' [[adamantine]] wafer.&lt;br /&gt;
&lt;br /&gt;
* When a pot is [[Melt item|melted]] down, it will return '''0.3''' metal bars/adamantine wafers for an efficiency of '''30%'''.&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
* Pots will not be used for processing [[sweet pod]]s into [[dwarven syrup]]. {{Bug|4356}}&lt;br /&gt;
* Dwarves will sometimes leave pots in furniture stockpile even when using them to store food. {{Bug|1833}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Barrel]]&lt;br /&gt;
* [[Cauldron]]&lt;br /&gt;
* [[Jug]]&lt;br /&gt;
&lt;br /&gt;
{{Translation| dwarven = or tezad | elvish = lacifa momo | goblin = sted ag | human = lod utag}}&lt;br /&gt;
&lt;br /&gt;
{{Gamedata|{{raw|v50:item_tool.txt|ITEM_TOOL|ITEM_TOOL_LARGE_POT}}|title=Raws for pot as a [[tool]]}}&lt;br /&gt;
&lt;br /&gt;
{{Category|Items}}&lt;br /&gt;
[[ru:Large pot]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Barrel&amp;diff=314011</id>
		<title>Barrel</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Barrel&amp;diff=314011"/>
		<updated>2026-01-13T05:31:34Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Added stockpile link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{v50_item|name=Barrel&lt;br /&gt;
|tile=÷|col=0:6:0&lt;br /&gt;
|graphic=[[File:Iron barrel sprite.png|23px|metal barrel]] / [[File:Barrel_premium.png|wooden barrel]]&lt;br /&gt;
|wood=y&lt;br /&gt;
|stone=n&lt;br /&gt;
|metal=y&lt;br /&gt;
|bars=3&lt;br /&gt;
|glass=n&lt;br /&gt;
|cloth=n&lt;br /&gt;
|leather=n&lt;br /&gt;
|ceramic=n&lt;br /&gt;
|bone=n&lt;br /&gt;
|shell=n&lt;br /&gt;
|gem=n&lt;br /&gt;
|wax=n&lt;br /&gt;
|used for=&lt;br /&gt;
* [[Storage]] ([[Stockpile#Food|Food, liquids]])&lt;br /&gt;
|value=10&lt;br /&gt;
|size=20,000&lt;br /&gt;
|capacity=60,000}}&lt;br /&gt;
'''Barrels''' are storage units that, like [[bin]]s and [[bag]]s, conserve [[stockpile]] space by containing several items of the same type. They can be made out of [[wood]] at a [[carpenter's workshop]] (requires one [[log]] for each barrel) or forged from [[metal]] at a [[forge]] (requires 3 [[metal]] [[bar]]s). Non-magma [[forge]]s also require one [[bar]] of [[fuel]]. Graphically, if a barrel is empty, the sprite will show an empty barrel with no lid; if it is filled with a specific type of item, the top of the barrel will have the matching items sticking out of the top. If the barrel contains a liquid, the barrel will have no lid and show the top of the liquid it contains, as well as having a tap attached to it, making the barrel resemble a keg. If the barrel contains content such as [[slurry]], paste or [[tallow]], the top of the barrel will have a lid:&lt;br /&gt;
&amp;lt;div style=&amp;quot;testB&amp;quot; style=&amp;quot;margin-top: 10px; margin-left: 20px;&amp;quot;&amp;gt;[[File:barrels_variants_preview.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a barrel is emptied, it may be used again or stored in a Furniture stockpile with type Barrels, plus appropriate materials (Wood is under Other materials), and qualities allowed. For more information on managing barrels in stockpiles, see [[using bins and barrels]].&lt;br /&gt;
&lt;br /&gt;
For most uses, barrels can be replaced by a [[large pot]], which has the same storage capacity (and requires no [[wood]] or [[metal]]) and is only one quarter as heavy ''as a barrel made of the same material''. Typical stone pots will be 33% heavier than wooden barrels. Fire clay &amp;quot;stoneware&amp;quot; pots weigh the same as a wooden barrel, while earthenware pots are lighter but must be glazed.&lt;br /&gt;
&lt;br /&gt;
Barrels are used in building [[dyer's shop]]s and [[ashery|asheries]]. Using a valuable masterwork or [[artifact]] barrel to build one of these buildings can significantly increase fortress [[wealth]].&lt;br /&gt;
&lt;br /&gt;
Barrels can hold up to 60 prepared meals, plants, or cheeses, 30 pieces of meat or fish, any number of units of brewed [[alcohol]] (but only a single stack), 100 units of [[lye]] or [[milk]], or 6000 eggs regardless of size. However, alcohol brought at [[embark]] will be in barrels that only contain up to 5 units each; this due to alcohol barrels allowing only 1 stack and embark items coming in stacks of 5 units or less.&lt;br /&gt;
&lt;br /&gt;
The name of a barrel can vary by circumstance: the name of an empty barrel is the material it is made of, e.g. &amp;quot;tower-cap barrel&amp;quot;, otherwise a barrel will be named for what it contains with its material appended, e.g. &amp;quot;dwarven wine barrel (tower-cap)&amp;quot;. Additionally, if a barrel is assigned for use in a stockpile, the number of the stockpile will be appended, e.g. &amp;quot;dwarven wine barrel (tower-cap) &amp;lt;#1&amp;gt;&amp;quot;.&lt;br /&gt;
[[File:barrel_preview.png|thumb|360px|center|Some dwarves call these &amp;quot;very large cups&amp;quot; when alcohol is involved.&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;''Photographed by Ivankish''&amp;lt;/small&amp;gt;]]&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Large pot]]&lt;br /&gt;
* [[Storage]]&lt;br /&gt;
* [[Using bins and barrels]]&lt;br /&gt;
[[ru:Barrel]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Draltha&amp;diff=313415</id>
		<title>Draltha</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Draltha&amp;diff=313415"/>
		<updated>2026-01-07T17:41:21Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Preserved the original sprite and an alternate design&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|fine}}&lt;br /&gt;
{{Creaturelookup/0&lt;br /&gt;
|image=draltha_sprites.png&lt;br /&gt;
|portrait=draltha_portrait.png&lt;br /&gt;
|wiki=no&lt;br /&gt;
|contrib=no&lt;br /&gt;
|bone=28-40&lt;br /&gt;
|meat=25-108&lt;br /&gt;
|fat=12-36&lt;br /&gt;
|eye=2&lt;br /&gt;
|lung=4-6&lt;br /&gt;
|heart=1&lt;br /&gt;
|intestine=7-10&lt;br /&gt;
|liver=2-3&lt;br /&gt;
|tripe=2-3&lt;br /&gt;
|sweetbread=1&lt;br /&gt;
|spleen=1&lt;br /&gt;
|kidney=2&lt;br /&gt;
|brain=2-3&lt;br /&gt;
|skull=1&lt;br /&gt;
|skin=hide&lt;br /&gt;
|teeth=1&lt;br /&gt;
}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{creaturedesc}}&lt;br /&gt;
&lt;br /&gt;
'''Dralthas''' are massive [[creature]]s who dwell on the first and second [[Caverns|underground]] layers. They don't actively seek fights but are huge creatures—about half the weight of an [[elephant]]—and able to kill a [[dwarf]] with ease, often ripping them in half in the process. It is advisable to herd them into [[cage]] [[trap]]s, or keep dwarves away from them if they make their way into commonly used pathways, as they will attack if dwarves brush by them enough.&lt;br /&gt;
&lt;br /&gt;
Once captured, dralthas can be trained with an [[animal trainer]], and have a high [[pet]] value of 500. Draltha products are worth three times as much as those from [[domestic animal]]s, and they are common enough to make capturing a herd for breeding easy.  Their large size means they produce a good amount of meat and bones when butchered. Keep in mind that they are grazing creatures, which require a [[pasture]] in order to survive once trained. Because of their size, each will need a fairly large pasture.&lt;br /&gt;
&lt;br /&gt;
Unlike most animals, dralthas can't be spawned in the [[object testing arena]].&lt;br /&gt;
&lt;br /&gt;
Some dwarves [[Preferences|like]] dralthas for their ''lustrous manes''.&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;300px&amp;quot;&amp;gt;&lt;br /&gt;
draltha.jpg|''Art by kruggsmash''&lt;br /&gt;
Notebook_13_Draltha.jpg|''Concept art by Bay 12 Games.''&lt;br /&gt;
Draltha human face neoriceisgood.png|''Art by Neoriceisgood.''&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
{{gamedata}}&lt;br /&gt;
{{Creatures}}&lt;br /&gt;
{{Category|Animals}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=File:Draltha_human_face_neoriceisgood.png&amp;diff=313414</id>
		<title>File:Draltha human face neoriceisgood.png</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=File:Draltha_human_face_neoriceisgood.png&amp;diff=313414"/>
		<updated>2026-01-07T17:37:00Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: An early draltha portrait and a set of alternative, redrawn sprites by official artist Neoriceisgood.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
An early draltha portrait and a set of alternative, redrawn sprites by official artist Neoriceisgood.&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{Non-free Dwarf Fortress Screenshot}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Strange_mood&amp;diff=311714</id>
		<title>Strange mood</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Strange_mood&amp;diff=311714"/>
		<updated>2025-11-25T05:38:22Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Undoing. There is no present link between deities and strange moods, and no need to suggest any.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Exceptional}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{buggy|bugsection=Bugs}}&lt;br /&gt;
{{minorspoiler}}&lt;br /&gt;
[[File:strange_mood_prev.png|thumb|350px|right|A dwarf losing ownership of his mind.&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;''Artwork by Zippy''&amp;lt;/small&amp;gt;]]&lt;br /&gt;
Periodically, individual [[Dwarf|dwarves]] are struck with an idea for a [[legendary artifact]] and enter a '''strange mood'''. Dwarves which enter a strange mood will stop whatever they are doing, and pursue the construction of this artifact to the exclusion of all else – they will not stop to eat, drink, or sleep; pretty much the ''only'' thing that can pause a &amp;quot;moody&amp;quot; dwarf is giving birth, after which they will immediately get back to making the artifact. If they do not manage to begin construction of the artifact within a handful of months, they will go [[#Failure|insane]] and die (one way or another) soon afterward.&lt;br /&gt;
&lt;br /&gt;
Any creature with the {{token|STRANGE_MOODS}} token is able to enter strange moods in [[Legends|history]] and [[fortress mode]], though, by default, this ability is unique to dwarves.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
[[File:mood_announce_v50_x2.png|right]]Once your fortress has at least 20 dwarves, occasionally one of them will be struck by a &amp;quot;strange mood&amp;quot;. These largely random events will be seen as an [[announcement]], and will pause the game.&lt;br /&gt;
&lt;br /&gt;
A dwarf struck by a strange mood will seek an appropriate workshop, immediately claim it for the duration of the mood, attempt to collect the materials to create their [[artifact]] of choice, and, once those have been collected, proceed to do so. Depending on the exact mood (see [[Strange mood#Types of moods|types of moods]], below), both the workshop and the artifact are based on the highest &amp;quot;moodable skill&amp;quot; of that dwarf (see &amp;quot;[[Strange mood#Skills and Workshops|Skills and Workshops]]&amp;quot;, below).&lt;br /&gt;
&lt;br /&gt;
At the end of this process, if successful, the dwarf will '''usually''' gain enough [[experience]] to become Legendary (or higher), and then return to life as normal, but now with a Legendary skill. The &amp;quot;possessed&amp;quot; mood is an exception to this rule, as it does not grant any experience upon completion.&lt;br /&gt;
&lt;br /&gt;
A dwarf cannot be struck by more than one mood in their lifetime.&lt;br /&gt;
&lt;br /&gt;
=== In fortress mode ===&lt;br /&gt;
[[File:workshop_claimed_sample.png|thumb|300px|right|Information from a forcefully claimed workshop.]]&lt;br /&gt;
# The game will announce that the dwarf has entered one of five different types of strange moods. The [[#Types of moods|types of moods]] are listed below.  While in a mood, a dwarf will display a blinking exclamation point (see [[Status icon|status icons]]).&lt;br /&gt;
# For the duration of the mood, the dwarf will claim a workshop related to the skill that the mood affects (not all skills are eligible), kick out any dwarf who was using it, and render it otherwise unusable until the mood has ended. If a moody dwarf does not claim a workshop, it is because the appropriate workshop does not exist.  (See [[#Skills and workshops|skills and workshops]] below to determine which workshop(s) might be required.) A moody dwarf will ''not'' be able to build a needed workshop; another dwarf with the appropriate [[labor]] designation must do so for them, if one is necessary. Furnaces are also counted as a workshop.&lt;br /&gt;
# After claiming a workshop, the dwarf will set about collecting the required materials for their artifact.  If the dwarf remains idle inside the workshop, it's because they cannot find the right material. Reference the [[#Demands|demands]] section to determine what may be required.  Important Note: They will only collect these materials in the order that they require them.  In other words, you have to determine where they are on the list of required materials and then provide the next one before they will continue collecting other materials.&lt;br /&gt;
# Once all materials have been gathered, the game will once again pause and center, and the moody dwarf will begin construction.  Upon completion, the dwarf will create a semi-random artifact related to the skill affected and gain [[legendary]] (or higher) status in that skill (unless the mood type is [[#Possessed|possessed]]).  See the [[#Skills and workshops|skills and workshops]] for information on which skills can be gained, or the [[#Artifacts created|artifacts created]] section for more details on the artifacts themselves.&lt;br /&gt;
# While you have some control over the skill the dwarf uses, and so some (but less) control over the type of artifact created, and (with some effort) the materials used, you have no control over which dwarf is struck by a mood, nor the type of mood that strikes them, nor the specific type of artifact created.&lt;br /&gt;
# The conditions necessary for a strange mood to occur have been fully understood due to a disassembly of the game; see below for the exact mechanics.&lt;br /&gt;
&lt;br /&gt;
===In world generation===&lt;br /&gt;
Long before your seven dwarves [[embark]] on their adventure, non-player dwarves may also be struck by strange moods during world generation, albeit these are treated more abstractly. These events are a primary source of non-player artifacts that are scattered across the outside world when the game starts (see [[Mission]]). They have the same properties and quality as any artifact your fortress could have produced, and may be stolen or pillaged just like any other non-player artifact.&lt;br /&gt;
&lt;br /&gt;
== Skills and workshops ==&lt;br /&gt;
If struck by a Fey, Secretive or Possessed mood, the workshop and artifact will be based on the highest &amp;quot;moodable skill&amp;quot; that a dwarf possesses. Not all skills are moodable. Fell and Macabre moods will either claim a butcher's shop and use Bonecarving, or a tanner's shop and use Tanning (see [[Strange mood#Types of moods|Types of moods]], below).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; cellpadding=&amp;quot;4&amp;quot; style=&amp;quot;border:1px solid black;border-collapse:collapse;text-align:left;float:right;margin:0 0 20px 30px;vertical-align:top;&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Highest skill&lt;br /&gt;
! Workshop required&lt;br /&gt;
|- style=&amp;quot;background-color:palegreen&amp;quot;&lt;br /&gt;
| [[Armorsmith]]&lt;br /&gt;
| [[Metalsmith's forge]] (or [[Magma forge]])&lt;br /&gt;
|-  style=&amp;quot;background-color:palegreen&amp;quot;&lt;br /&gt;
| [[Bone carver]]&lt;br /&gt;
| [[Craftsdwarf's workshop]]&lt;br /&gt;
|-  style=&amp;quot;background-color:palegreen&amp;quot;&lt;br /&gt;
| [[Bowyer]]&lt;br /&gt;
| [[Bowyer's workshop]]&lt;br /&gt;
|-  style=&amp;quot;background-color:wheat&amp;quot;&lt;br /&gt;
| [[Carpenter]]&lt;br /&gt;
| [[Carpenter's workshop]]&lt;br /&gt;
|-   style=&amp;quot;background-color:palegreen&amp;quot;&lt;br /&gt;
| [[Clothier]]&lt;br /&gt;
| [[Clothier's shop]]&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray&amp;quot;&lt;br /&gt;
| [[Engraver]]&lt;br /&gt;
| [[Craftsdwarf's workshop]]&lt;br /&gt;
|- style=&amp;quot;background-color:wheat&amp;quot;&lt;br /&gt;
| [[Gem cutter]]&lt;br /&gt;
| [[Jeweler's workshop]]&lt;br /&gt;
|- style=&amp;quot;background-color:wheat&amp;quot;&lt;br /&gt;
| [[Gem setter]]&lt;br /&gt;
| [[Jeweler's workshop]]&lt;br /&gt;
|- style=&amp;quot;background-color:wheat&amp;quot;&lt;br /&gt;
| [[Glassmaker]]&lt;br /&gt;
| [[Glass furnace]] (or [[Magma glass furnace]])&lt;br /&gt;
|-   style=&amp;quot;background-color:palegreen&amp;quot;&lt;br /&gt;
| [[Leatherworker]]&lt;br /&gt;
| [[Leather works]]&lt;br /&gt;
|-  style=&amp;quot;background-color:wheat&amp;quot;&lt;br /&gt;
| [[Mason]]&lt;br /&gt;
| [[Stoneworker's workshop]]&lt;br /&gt;
|-   style=&amp;quot;background-color:palegreen&amp;quot;&lt;br /&gt;
| [[Mechanic]]&lt;br /&gt;
| [[Mechanic's workshop]]&lt;br /&gt;
|-  style=&amp;quot;background-color:wheat&amp;quot;&lt;br /&gt;
| [[Metal crafter]]&lt;br /&gt;
| [[Metalsmith's forge]] (or [[Magma forge]])&lt;br /&gt;
|-  style=&amp;quot;background-color:wheat&amp;quot;&lt;br /&gt;
| [[Blacksmith|Metalsmith]]&lt;br /&gt;
| [[Metalsmith's forge]] (or [[Magma forge]])&lt;br /&gt;
|-  style=&amp;quot;background-color:wheat&amp;quot;&lt;br /&gt;
| [[Miner]]&lt;br /&gt;
| [[Stoneworker's workshop]]&lt;br /&gt;
|- style=&amp;quot;background-color:wheat&amp;quot;&lt;br /&gt;
| [[Stone carver]]&lt;br /&gt;
| [[Stoneworker's workshop]]&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray&amp;quot;&lt;br /&gt;
| [[Stone crafter]]&lt;br /&gt;
| [[Craftsdwarf's workshop]]&lt;br /&gt;
|- style=&amp;quot;background-color:wheat&amp;quot;&lt;br /&gt;
| [[Stonecutter]]&lt;br /&gt;
| [[Stoneworker's workshop]]&lt;br /&gt;
|-  style=&amp;quot;background-color:wheat&amp;quot;&lt;br /&gt;
| [[Tanner]]&lt;br /&gt;
| [[Leather works]]&lt;br /&gt;
|-   style=&amp;quot;background-color:palegreen&amp;quot;&lt;br /&gt;
| [[Weaponsmith]]&lt;br /&gt;
| [[Metalsmith's forge]] (or [[Magma forge]])&lt;br /&gt;
|- style=&amp;quot;background-color:wheat&amp;quot;&lt;br /&gt;
| [[Weaver]]&lt;br /&gt;
| [[Clothier's shop]]&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray&amp;quot;&lt;br /&gt;
| [[Wood crafter]]&lt;br /&gt;
| [[Craftsdwarf's workshop]]&lt;br /&gt;
|- style=&amp;quot;background-color:lightgray&amp;quot;&lt;br /&gt;
| &amp;amp;lt;none&amp;amp;gt;&lt;br /&gt;
| [[Craftsdwarf's workshop]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A dwarf will claim a workshop according to their highest applicable [[skill]]. If not [[Strange mood#Possessed|possessed]], completion of the artifact grants roughly 10,000 [[experience]] in that skill. This will transform a previously unskilled dwarf to one of Accomplished-level (on average).  The table to the right describes all applicable skills and their potential workshop requirements – there are only 20 skills that determine the workshop and that can be affected by a mood (sometimes referred to as '''moodable''' skills.)  If a dwarf does not possess at least one of the moodable skills listed to the right, they will take over a [[craftsdwarf's workshop]] and gain one of [[bone carver]], [[stone crafter]], or [[wood crafter]] skills, producing an artifact [[craft]].&lt;br /&gt;
&lt;br /&gt;
When selecting the desired mood skill, only the level itself is checked, and if the highest level found is shared by multiple skills, then one will be selected randomly. &lt;br /&gt;
&lt;br /&gt;
This fact can be utilized to maximize the possibility of getting a dwarf with the specific legendary skill you want: since ''non''-moodable skills are ignored, whenever possible make sure that each dwarf's highest ''moodable'' skill is one of those you want.  Have all your peasants, [[farmer]]s, non-professional military and other dwarves without any moodable skills do one job each in the skill(s) you most want; if a &amp;quot;[[experience|dabbling]]&amp;quot; skill is the highest moodable skill they have, that is the skill that will be used. [[Guildhall]]s related to moodable skills may both help and hinder, as demonstrations will increase skill levels without any jobs being done.&lt;br /&gt;
&lt;br /&gt;
[[Scholar]]s may discuss mechanics as part of their work and gain a small amount of experience in it.  This is the only skill that scholars discuss that is moodable.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Best&amp;quot; skills ===&lt;br /&gt;
Some skills produce generally useful and valuable items, and others produce only trinkets or jewelry. While what is considered &amp;quot;best&amp;quot; is very subjective, the moodable skills can be broken down into tiers of relative utility, based on the potential artifacts created and the needs and goals of a fortress.&lt;br /&gt;
&lt;br /&gt;
Note that, in addition to an artifact, the mood will raise the dwarf to Legendary in the chosen skill (except for possessed moods); often, this is (from a practical standpoint) more valuable than the artifact, so you might consider trying to push poorly-trained dwarves towards moodable skills you have a need for, in case they are struck by a mood.&lt;br /&gt;
&lt;br /&gt;
* [[Weaponsmith]] – One of the &amp;quot;best&amp;quot; skills for strange moods. While a moody dwarf might create a questionable lead spear or lightweight aluminum mace, odds are they'll create something that is still more deadly than its ☼steel☼ equivalent. And, with a little manipulation, you can at least make sure the item ''is'' steel, although they could still produce a non-dwarf weapon.&lt;br /&gt;
* [[Mechanic]] - A close second for reliability and usefulness – a mechanism's [[quality]] directly impacts a trap's chance to hit its target, and an artifact lever or trap will make a room's value skyrocket (even if unlinked!). Note that, despite popular belief, traps made with artifact mechanisms can still jam ([https://www.reddit.com/r/dwarffortress/comments/wj2ego/i_thought_traps_made_with_artifact_mechanisms/ source]).&lt;br /&gt;
* [[Armorsmith]] – Similarly valuable, having a decent chance to create something with exceptional value for your military (or at least one member of it). However, similar to weapons, this requires manipulating available material to avoid getting [[Armor#Material|soft]], useless gold or lead [[armor]] pieces. Additionally, boots and gauntlets are created individually, rather than in pairs. Good luck.&lt;br /&gt;
* [[Furniture]]-making skills ([[Mason]], [[Miner]], [[Carpenter]], [[Blacksmith]], [[Glassmaker]]) – Artifact furniture is unbreakable by building destroyers and provides otherwise-impossible fortress defense options. For example, a dwarf with a preference for doors, hatches, or floodgates will always produce that item, which can then be locked against many enemies that would otherwise break through. Similar to mechanisms, it can provide a huge boost to a room's value, and placing an artifact item where all can pass by to admire it will be good for general morale. Note that Miners are treated the same as Masons, both of whom will produce rock furniture (which is a remnant of when Masons performed the work of a Stone Carver). Also note that Stone Carvers only produce crafts while moody. Carpenters and Blacksmiths can also produce [[bucket]]s, which can be used in various work stations or a [[well]]. Glassmakers can also produce trap components, which would rate them higher on the list were it not for their chance to produce &amp;lt;s&amp;gt;useless&amp;lt;/s&amp;gt; pretty crafts - don't forget about [[display furniture]]!&lt;br /&gt;
&lt;br /&gt;
The remaining skills are quite odds-against. Chances are, they will produce items only useful to display or wear, and there's little chance of creating a truly useful and valuable item.&lt;br /&gt;
* [[Bowyer]] – While moody Bowyers can create artifact wood/bone [[crossbow]]s of great accuracy, they also have an equal chance to produce a [[blowgun]] or [[bow]]. Also, wooden crossbows make for poor melee weapons, should it come to that, so the skill falls well below the metal equivalent.&lt;br /&gt;
* [[Metal crafter]], [[Gem cutter]], [[Gem setter]] – Metal Crafters can produce [[chain]]s, which can be used in the creation of a [[well]]. Gem Cutters and Setters can produce furniture made solely of gems, which is otherwise impossible. However, each of these skills will most likely create a [[craft]] (Gem cutters and setters, notably, have a 50% chance to create a perfect gem instead of anything else).&lt;br /&gt;
* Other armormakers ([[Leatherworker]], [[Tanner]], [[Bone carver]]) – Shields can be made by Leatherworkers or Tanners, and all listed skills can create artifact leather/bone armor pieces, which could be better-suited for Marksdwarves (who ''usually'' avoid close-combat). Leatherworkers can also create normal clothing, mentioned next.&lt;br /&gt;
* [[Clothier]], [[Weaver]] – While these dwarves can create an artifact [[rope]], which is useful for a [[well]], they are more likely to create clothing, which can only be worn by a single dwarf. [[Adamantine]] clothing, however, is extraordinarily useful (especially [[cloak]]s). These garments provide meaningful protection, and (unlike normal Adamantine clothing) is rendered immune to wear due to its status as an artifact.&lt;br /&gt;
* Craft-producers ([[Engraver]], [[Stone crafter]], [[Stone carver]], [[Stonecutter]], [[Wood crafter]]) – These skills lack any redeeming potential artifacts which the other craft-producing skills possess (notably, [[Metal crafter]], [[Glassmaker]], [[Bone carver]], [[Gem cutter]], and [[Gem setter]]) and only produce [[craft]]s – surprisingly valuable trinkets in the form of amulets, totems, rings, figuringes, or (at best) crowns, which at least ''sound'' impressive.&lt;br /&gt;
:* [[Peasant]]s, defined here as having no moodable skill, always produce from the crafts list. Therefore, it's always a good idea to have every newly-arrived &amp;quot;peasant&amp;quot; (looking at you, Urist McPotashmaker) craft at least one item from the moodable skill of your choice, to avoid such a tragic waste of dwarfcraft.&lt;br /&gt;
&lt;br /&gt;
== Types of moods ==&lt;br /&gt;
For each of the following types of moods, the first message is how the mood is [[Announcement|announced]]; the second message appears in the dwarf's profile when he or she is viewed with the {{K|v}} key. All moody dwarves will have &amp;quot;Strange Mood&amp;quot; listed as their active task and are &amp;quot;quite content&amp;quot;, regardless of any recent [[thought]]s they may have had.&lt;br /&gt;
&lt;br /&gt;
=== Fey ===&lt;br /&gt;
* {{Gametext|&amp;lt;dwarf&amp;gt; is taken by a fey mood!|7:1}}&lt;br /&gt;
: ''Has the aspect of one fey!''&lt;br /&gt;
&lt;br /&gt;
This is the most basic strange mood.  Fey dwarves will clearly state their demands when the workshop they are in is examined.&lt;br /&gt;
&lt;br /&gt;
=== Secretive ===&lt;br /&gt;
* {{Gametext|&amp;lt;dwarf&amp;gt; withdraws from society...|7:0}}&lt;br /&gt;
: ''Peculiarly secretive...''&lt;br /&gt;
&lt;br /&gt;
Secretive moods are the same as fey moods, except a secretive dwarf will sketch pictures of their required materials instead of clearly stating their demands if they cannot find what they need.   Descriptions of all these [[#Demands|secretive requirements]] can be seen only by viewing the workshop that the moody dwarf has claimed, with {{k|q}}, and then only while the dwarf is waiting inside it.  More than one &amp;quot;picture&amp;quot; is likely; these will cycle through the entire list automatically if any one is not available.  (Since materials are gathered ''in order'', it's quite possible that only one of a long list is needed to allow the moody dwarf to continue on their project.  If the dwarf has gathered some of the materials (seen as &amp;quot;tasked&amp;quot; when looking at the workshop with {{k|t}}), then the next in the list is what they are looking for.)&lt;br /&gt;
&lt;br /&gt;
=== Possessed ===&lt;br /&gt;
* {{Gametext|&amp;lt;dwarf&amp;gt; has been possessed!|5:1}}&lt;br /&gt;
: ''Possessed by unknown forces!''&lt;br /&gt;
&lt;br /&gt;
Possessed dwarves have cryptic material requests, and have the unfortunate distinction of not receiving any experience upon the successful construction of an artifact.  No controllable circumstances lead to a possessed mood instead of one of the more desirable fey or secretive moods, it is purely luck-based. Possessed dwarves will mutter the name of the artifact they are working on (which, under some circumstances, might end up being ''their own name'') once they have all the materials they need.&lt;br /&gt;
&lt;br /&gt;
Possession is the only mood that does '''''not''''' result in a jump in [[experience]].&lt;br /&gt;
&lt;br /&gt;
A possessed dwarf that &amp;quot;keeps muttering &amp;lt;name of the artifact&amp;gt;...&amp;quot; has already gathered everything they need.&lt;br /&gt;
&lt;br /&gt;
=== Fell ===&lt;br /&gt;
* {{Gametext|&amp;lt;dwarf&amp;gt; looses a roaring laughter, fell and terrible!|5:0}}&lt;br /&gt;
: ''Has a horrible fell look!''&lt;br /&gt;
&lt;br /&gt;
A dwarf that goes into a fell mood will try to take over a [[butcher's shop]] or a [[tanner's shop]]. If neither are available, any other workshop will be used instead. The dwarf will then ''murder'' the nearest dwarf, drag the corpse into the shop and make some sort of object out of dwarf [[leather]] or [[bone]]. The unfortunate dwarf is killed on the spot – no dragging to the workshop, just sneaking up behind them, killing them, and dragging their corpse to the workshop. Once the artifact is completed, the fell dwarf will become a legendary [[bone carver]] or [[leatherworker]].  Only unhappy dwarves may enter a fell mood.&lt;br /&gt;
&lt;br /&gt;
Amusingly, it seems fell dwarves can also murder [[ghost]]s. If they do, they will murder a living dwarf as well, since ghosts obviously don't yield a corpse to butcher.{{bug|4681}}&lt;br /&gt;
&lt;br /&gt;
Aside from the loss of a potentially important dwarf in the wrong place at the wrong time, there doesn't seem to be any downside to a fell mood. The end result is always an artifact and a legendary craftsdwarf. Since the only ingredient used (a dwarf) is available in abundance, a fell mood will only fail if the fell dwarf is completely isolated from other dwarves, or if the proper workshop does not exist.&lt;br /&gt;
&lt;br /&gt;
If no one is around to witness the murder, whichever dwarf Urist McEmo decides to slaughter will be reported as missing some time after their death. If the murder is witnessed (or if the &amp;lt;s&amp;gt;idiot&amp;lt;/s&amp;gt; dwarf in fell mood reports themself), the moody dwarf will be subject to dwarven [[justice]].&lt;br /&gt;
&lt;br /&gt;
A fell mood &amp;quot;reagent&amp;quot; is not merely limited to dwarves, however. In truth, any intelligent creature can be subjected to the creative imagination of the terrible laughing dwarves. Legends speak of [[werebeast]] attacks being halted by timely appearances of fell dwarves. Indeed, there are even whispers of fell mood dwarves smuggling [[clowns]] from the [[circus]] into their forts to be used in their strange artifice. In cases where an unusual intelligent creature made from a material such as [[vomit]] happens to fall prey to the depredations of a fell dwarf, the resultant crafted object will be selected randomly from the list of craftable [[shell]] items, but will be made from the victim's primary material instead of shell.&lt;br /&gt;
&lt;br /&gt;
=== Macabre ===&lt;br /&gt;
* {{Gametext|&amp;lt;dwarf&amp;gt; begins to stalk and brood...|0:1}}&lt;br /&gt;
: ''Brooding darkly...''&lt;br /&gt;
&lt;br /&gt;
Macabre moods are similar to fell moods, but the dwarf will not murder a fellow dwarf. A macabre dwarf may require [[bone]]s, [[skull]]s, or vermin [[remains]]; if you do not happen to have any, you will have to make some, e.g. by butchering an animal and/or allowing a [[cat]] to go hunting, or let the moody dwarf go [[insane]]. Like fell moods, only unhappy dwarves can enter macabre moods.&lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
* Shells are perhaps the most difficult-to-obtain material for a strange mood, though there are several {{catlink|Shell|creatures}} that produce shells. Some of these, such as [[armadillo]]s and [[common snapping turtle]]s, are butcherable. Vermin from [[fishing]] are the easiest and most renewable source of shells.  [[Pond turtle]]s are common in many embarks in [[murky pool]]s, but usually only appear in small numbers, and can go extinct easily.  A stream or river almost guarantees a functionally inexhaustible supply of [[mussel]]s. [[Nautilus]]es can also serve as sources of shells when cleaned at a fishery. Nevertheless, shells are rare and hard to acquire. Currently, the only way of trading for shells is to hope that the [[elven]] caravan brings some tamed shell-producing large creature. Traded [[pond turtle]]s are ''processed'' fish (with the shells already removed). Tamed vermin with shells cannot be butchered for their shells, since the only way to get a vermin's shell is to [[Fish cleaning|clean]] it. Since all shelled non-vermin animals are [[exotic pet|exotic]], only elves will bring them. If you should be fortunate enough to acquire some breeding, shelled, butcherable animals, it's probably worth keeping a breeding pair around in case of future need. Only dwarves with a [[preference]] for shells will demand shells in a strange mood.&lt;br /&gt;
* All demands for cloth are for a specific generic type (plant, silk, or yarn). Clothiers and Weavers will demand [[adamantine]] cloth if any is available, otherwise the type will be the generic form of the dwarf's first cloth preference, or a randomly chosen variety if the dwarf has no preference (or if the cloth is for a decoration, not the primary material). Types of cloth your fortress has not produced are '''not''' excluded, so it's best to keep a few bolts of each type of cloth in reserve.&lt;br /&gt;
* Should the claimed workshop be a [[magma forge]] and lose power due to insufficient magma beneath it, the mood will fail immediately and the dwarf will go [[insanity|insane]]. Should the forge be in danger of losing power, you should forbid it before it is claimed and wait until it is powered up reliably. Once magma forges are built, at least some dwarves will no longer be satisfied with a regular forge. Similarly, if a workshop claimed by a dwarf is deconstructed, destroyed or [[Creature_token#BUILDING_DESTROYER|toppled]] the mood will immediately fail and the dwarf will go insane.&lt;br /&gt;
* If one of a claimed workshop's building materials are selected and toggled to forbidden, this will also cause the mood to immediately fail and the dwarf to go insane.&lt;br /&gt;
* The mood's primary material will only be mentioned ''once'' in the dwarf's requests, even if the dwarf wants more than one unit of it. [http://www.bay12forums.com/smf/index.php?topic=75139.0]&lt;br /&gt;
* The item type of the artifact to be created is not decided until the instant the mood ''ends''. Saving (even after a dwarf has begun to gather materials) will allow you to reload and the result may be a different artifact (unless the moody dwarf's preferences force a particular item type). If you want to get an artifact platinum warhammer, make sure to have platinum nearby and/or block access to any other materials. &lt;br /&gt;
* You can restart the artifact creating process, even after the dwarf has gathered most of the components, by forbidding the claimed items (use {{k|t}} to view the contents of the workshop, select the undesired material, and press {{k|f}} to forbid it). If other items of that type are available, the dwarf will immediately switch to them.&lt;br /&gt;
* Each request for bones is actually a request for any kind of bone [[stack]], not individual bones. If they request bones more than one time, then they need that many stacks. Any size stack will do and the entire stack will be used. Bones come from [[butcher]]ing, rotted animal corpses do not count, even if they are skeletons. [[Tame]] animal corpses, whether they were pets or strays, can only be butchered as a result of a [[Butcher#Slaughtering|slaughter]] task, tame animals that died by any other means cannot be butchered. Slaughter a puppy. [http://www.bay12forums.com/smf/index.php?topic=105002.0]&lt;br /&gt;
&lt;br /&gt;
== Demands ==&lt;br /&gt;
Once a workshop is claimed, the dwarf will begin collecting materials.  Each artifact will require 1-3 &amp;quot;base items&amp;quot; and up to 7 additional items for decorations. The dwarf may well need several items of one material! &lt;br /&gt;
&lt;br /&gt;
If the moody dwarf remains idle, then the necessary materials are not available.  [[Forbid|Forbidden]] items must be reclaimed ({{K|i}} – {{K|F}}) before they may be used, but moody dwarves will ignore settings regarding [[economic stone]]. Click on the workshop to receive a series of clues about what the dwarf needs.  '''Hints that stay active for longer than 2 seconds mean that multiple pieces of that material will be required; each single demand will be displayed for 2 seconds, so if it says &amp;quot;gems... shining&amp;quot; for 6 seconds, 3 gems are demanded. However, the mood's primary material will always be shown for only 2 seconds, even if more than one is required.''' Materials will always be fetched ''in order'', so if at least one item has already been retrieved (the items will show up with &amp;quot;TSK&amp;quot; (&amp;quot;task&amp;quot;) next to them when the workshop is viewed with the {{K|t}} context menu), it will usually be possible to tell what item is required next.&lt;br /&gt;
&lt;br /&gt;
If you want your dwarves to construct their artifacts out of ''valuable'' materials, instead of whatever useless thing happens to be close at hand, you can selectively forbid types of material through the stocks screen so that only the material you want them to use is available; though this might interfere with the normal crafting operations of your fortress, the disruption is generally short-lived (as long as you remember to unforbid them again afterwards!). You can even forbid something a moody dwarf is carrying (which may be necessary sometimes, since while they are not waiting in the workshop, they will not tell you what they need); the dwarf will finish hauling it to the workshop, but then immediately go searching for another. This trick can mean the difference between a bauxite statue decorated with moss agates and a native platinum statue encrusted with diamonds. Be aware that this may not always work – see below for more information.&lt;br /&gt;
&lt;br /&gt;
Burrows allow even better control over a moody dwarf's material usage. Simply by creating a burrow around the claimed workshop and another part over the desired material, a moody dwarf can be controlled without forbidding every single stone in the fortress. A moody dwarf will follow the burrow definitions just like a regular worker, but be mindful that they will not leave the burrow to get materials that are outside of their assigned burrow. A problem can arise when bones from an outside refuse stockpile are needed by a moody dwarf that is assigned to a burrow.&lt;br /&gt;
&lt;br /&gt;
The various demands are translated here:&lt;br /&gt;
&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;width:90%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Material&lt;br /&gt;
! Fey&lt;br /&gt;
! Macabre&lt;br /&gt;
! Secretive&lt;br /&gt;
! Possessed&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;dwarf&amp;gt; screams &amp;quot;I must have &amp;lt;demand&amp;gt;!&amp;quot;&lt;br /&gt;
| &amp;lt;dwarf&amp;gt; broods &amp;quot;Yes. I need &amp;lt;demand&amp;gt;.&amp;quot;&lt;br /&gt;
| &amp;lt;dwarf&amp;gt; sketches pictures of &amp;lt;demand&amp;gt;.&lt;br /&gt;
| &amp;lt;dwarf&amp;gt; mutters &amp;quot;&amp;lt;artifact&amp;gt; needs &amp;lt;demand&amp;gt;...&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Stone]]&lt;br /&gt;
| colspan=2 | rock&lt;br /&gt;
| a quarry&lt;br /&gt;
| stone... rock&lt;br /&gt;
|-&lt;br /&gt;
| Stone/metal [[block]]s&lt;br /&gt;
| colspan=2 | rock blocks&lt;br /&gt;
| square blocks&lt;br /&gt;
| blocks... bricks&lt;br /&gt;
|-&lt;br /&gt;
| [[Wood]]&lt;br /&gt;
| colspan=2 | wood logs&lt;br /&gt;
| a forest&lt;br /&gt;
| tree... life&lt;br /&gt;
|-&lt;br /&gt;
| Metal [[bar]]&lt;br /&gt;
| colspan=2 | metal bars&lt;br /&gt;
| shining bars of metal&lt;br /&gt;
| bars... metal&lt;br /&gt;
|-&lt;br /&gt;
| [[Gem]]s (cut)&lt;br /&gt;
| colspan=3 | cut gems&lt;br /&gt;
| gems... shining&lt;br /&gt;
|-&lt;br /&gt;
| [[Gem]]s (raw)&lt;br /&gt;
| colspan=3 | rough gems&lt;br /&gt;
| rough... color&lt;br /&gt;
|-&lt;br /&gt;
| Green [[glass]]&lt;br /&gt;
| colspan=2 | raw green glass&lt;br /&gt;
| glass&lt;br /&gt;
| raw... green&lt;br /&gt;
|-&lt;br /&gt;
| Clear glass&lt;br /&gt;
| colspan=2 | raw clear glass{{verify}}&lt;br /&gt;
| glass and burning wood&lt;br /&gt;
| raw... clear&lt;br /&gt;
|-&lt;br /&gt;
| Crystal glass&lt;br /&gt;
| colspan=2 | raw crystal glass{{verify}}&lt;br /&gt;
| rough gems and glass&lt;br /&gt;
| raw... crystal&lt;br /&gt;
|-&lt;br /&gt;
| [[Bone]] [http://www.bay12forums.com/smf/index.php?topic=105002.0;topicseen stack]&lt;br /&gt;
| colspan=2 | bones&lt;br /&gt;
| skeletons&lt;br /&gt;
| bones... yes&lt;br /&gt;
|-&lt;br /&gt;
| [[Shell]] {{cite talk/this|Re:_.22Verify.22_on_the_shell_row_of_the_demands_table}}&lt;br /&gt;
| colspan=3 | shells&lt;br /&gt;
| a shell...&lt;br /&gt;
|-&lt;br /&gt;
| [[Leather]]&lt;br /&gt;
| colspan=2 | tanned hides&lt;br /&gt;
| stacked leather&lt;br /&gt;
| leather... skin&lt;br /&gt;
|-&lt;br /&gt;
| [[Cloth]] (plant fiber)&lt;br /&gt;
| colspan=2 | plant cloth&lt;br /&gt;
| stacked cloth&lt;br /&gt;
| cloth... thread&lt;br /&gt;
|-&lt;br /&gt;
| [[Cloth]] (silk)&lt;br /&gt;
| colspan=2 | silk cloth&lt;br /&gt;
| stacked cloth&lt;br /&gt;
| cloth... thread&lt;br /&gt;
|-&lt;br /&gt;
| [[Cloth]] (yarn)&lt;br /&gt;
| colspan=2 | yarn cloth&lt;br /&gt;
| stacked cloth&lt;br /&gt;
| cloth... thread&lt;br /&gt;
|-&lt;br /&gt;
| [[Skull]]{{verify}}&lt;br /&gt;
| colspan=2 | body parts&lt;br /&gt;
| death&lt;br /&gt;
| a corpse&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Dwarves in macabre moods may also say &amp;quot;Leave me. I need... things... certain things&amp;quot;, in which case they want special items, such as [[skull]]s or vermin [[remains]]. Moody dwarves demanding rock blocks will also accept [[ceramic]] bricks and blocks forged from metal bars.&lt;br /&gt;
&lt;br /&gt;
*The first item demanded by the dwarf is based on the moodable skill being used – stoneworkers (miners, engravers, masons, stone crafters, and mechanics) will demand boulders, woodworkers (carpenters, wood crafters, and bowyers) will demand logs, leatherworkers and tanners will demand leather, weavers and clothiers will demand cloth, metalworkers will demand metal bars, gem cutters/setters will demand rough gems, glassmakers will demand raw glass, and bone carvers will demand bones.&lt;br /&gt;
**Metalworkers will demand adamantine wafers or divine metals if any are available (unforbidden). If not, they will demand a preferred metal ''if'' you have ''ever'' smelted any bars of it – fey moods will state this outright, while for secretive moods and possessions, you will need to check the dwarf's [[preferences]] to see which metal they like. Metal bars acquired via [[trade]] or by melting down items (such as the 'Goblinite' technique) do ''not'' count as smelted. Otherwise, they will select any available metal(s).&lt;br /&gt;
**Weavers and clothiers will demand [[adamantine]] cloth if any is available (unforbidden). If not, they will demand a generic type of cloth (silk, plant fiber, or yarn) that matches a specific cloth preference (e.g. a dwarf that likes cave spider silk will require ''any'' type of silk cloth, and a dwarf who likes more than one type of cloth will demand whichever one appears first in their list). Dwarves without a cloth preference will demand a generic type at random.&lt;br /&gt;
**Glassmakers will demand their preferred type of glass ''if'' you've produced any of it (or if it's green glass); if they don't prefer any type of glass, they will randomly select one type of glass you've produced (though they will always assume you have created green glass). Note that acquiring raw glass from a caravan does ''not'' count as producing it.&lt;br /&gt;
**Dwarves in macabre moods will select 1-3 vermin remains, stacks of bones, or skulls.&lt;br /&gt;
**Bone carvers will demand shells if they like a type of shell; if not, they will demand bones.&lt;br /&gt;
**All preference-based material requests are decided the instant the mood begins – by the time the workshop is claimed, it is too late to change the dwarf's mind.&lt;br /&gt;
*The remaining &amp;quot;decoration&amp;quot; items are selected randomly from the following list: wood logs, metal bars, small gems, rock blocks, rough gems, boulders, bones, leather, plant/silk/yarn cloth, or raw glass (green/clear/crystal, based on what you've produced).&lt;br /&gt;
**Decoration items will never be the same type as the primary mood material.&lt;br /&gt;
**Certain mood professions will also explicitly avoid using certain items for decorations – most of these match up with the primary mood material, but miners, engravers, masons, and stonecrafters will additionally avoid requesting rock blocks.&lt;br /&gt;
**If you have not produced any raw glass in your fortress, moody dwarves will never request it.&lt;br /&gt;
**Dwarves in macabre moods have a 50% chance to replace each decoration item with either remains or bones.&lt;br /&gt;
*Gem cutters and gem setters have a 50% chance of only gathering a single rough gem and nothing else – when they do this, they produce a &amp;quot;perfect gem&amp;quot; with a single decoration.&lt;br /&gt;
&lt;br /&gt;
Once all materials have been gathered, viewing the workshop with {{K|q}} will display a special message depending on the type of mood:&lt;br /&gt;
* Fey – &amp;quot;&amp;lt;dwarf&amp;gt; works furiously!&amp;quot;&lt;br /&gt;
* Secretive – &amp;quot;&amp;lt;dwarf&amp;gt; works secretly...&amp;quot;&lt;br /&gt;
* Possessed – &amp;quot;&amp;lt;dwarf&amp;gt; keeps muttering &amp;lt;artifact&amp;gt;...&amp;quot;&lt;br /&gt;
* Macabre – &amp;quot;&amp;lt;dwarf&amp;gt; works, darkly brooding...&amp;quot;&lt;br /&gt;
* Fell – &amp;quot;&amp;lt;dwarf&amp;gt; works with menacing fury!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== The mechanics of moods ==&lt;br /&gt;
&lt;br /&gt;
=== Frequency===&lt;br /&gt;
When a fortress is started, an internal counter is set to 1000. Every 100 frames (12 times per day), this counter is decremented by 1, running down to zero in about 3 months. When the counter would ordinarily be decremented and it has already reached zero, there is a 1 in 500 chance that a strange mood will strike. This means that, once all conditions are met and the clock is ticking, while there is approximately a 2.4% chance of a strange mood per day, or a ~52% chance of at least one strange mood per month, there is no guarantee when a mood will strike – might be sooner, might be (almost) never. The counter resets to 1000 once a mood begins and continues counting down as the mood progresses, resetting again if it reaches zero before the mood finishes.&lt;br /&gt;
&lt;br /&gt;
=== Conditions ===&lt;br /&gt;
In order for a dwarf to be struck with a strange mood, three conditions must be met:&lt;br /&gt;
:* There is no currently active strange mood,&lt;br /&gt;
:* The maximum number of artifacts is not met,&lt;br /&gt;
:* There are at least 20 eligible creatures ''(see below)'', including those who have already created artifacts.&lt;br /&gt;
&lt;br /&gt;
If all three of these conditions are true, the game may trigger a strange mood according to the frequency.&lt;br /&gt;
&lt;br /&gt;
==== Maximum number of artifacts ====&lt;br /&gt;
The maximum number of artifacts in any one fortress is limited by the lower of:&lt;br /&gt;
* The number of items created divided by 100.&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Mined-out rock ''does'' count as an &amp;quot;item created&amp;quot;, though it is not clear whether bolts or units of drink are counted individually.&lt;br /&gt;
* The number of revealed [[subterranean]] tiles divided by 2304 (this is an area equivalent to a 48x48 square). Once you discover and explore the [[cavern]]s and [[magma sea]], this limit becomes largely irrelevant, and using a [[utilities#DFHack|&amp;quot;reveal&amp;quot; utility]] will eliminate it altogether, though strip-mining an area entirely and exposing it to the surface will count ''against'' this.&lt;br /&gt;
:&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; – actually the sum of all items by type ''and'' by type+subtype+material, divided by 200. Furthermore, destroying items does '''not''' decrement these counters, so casting and mining [[obsidian]] will count toward this.&lt;br /&gt;
&lt;br /&gt;
==== Eligibility ====&lt;br /&gt;
First and foremost, only creatures with the {{token|STRANGE_MOODS|c}} token are capable of entering a strange mood. Additionally, they must be a permanent resident of your fortress - visitors are exempt.&lt;br /&gt;
&lt;br /&gt;
The deciding factor for eligibility is a dwarf's actual [[profession]]. ''(Note that &amp;quot;[[Skill#Professions|custom professions]]&amp;quot; have no effect on this!)'' Thus, dwarves may enter strange moods regardless of what skills they have or don't have, so long as they are of an acceptable profession. Dwarves who have already created an artifact are not eligible to create another, and since every mood ends in either an artifact or death, every dwarf may enter at most one mood. Dwarves who have obtained one or more legendary skills without creating artifacts ''may'' enter strange moods and will simply become even ''more'' legendary.&lt;br /&gt;
&lt;br /&gt;
On-duty dwarves with a [[Soldier#Soldier professions|military profession]] other than &amp;quot;Recruit&amp;quot; ''cannot'' enter moods. Incidental military skills make no difference – eligibility (and weighting) depends purely on the actual ''[[profession]]'' as listed at the time (with the exception of unit leaders, whose on-duty and off-duty titles are the same). Soldiers are still capable of entering moods if they are ''off duty'' and thus in Civilian mode, but you don't have to worry about your axedwarves getting a burst of inspiration mid-combat, and then wandering off to make a highest-quality craftsdwarfship gabbro scepter, decorated with cow bone menacing spikes, cow bone rings and a cow bone image of hamster men while the trolls sack your settlement.&lt;br /&gt;
&lt;br /&gt;
Children may enter moods, but babies will not. Children who enter strange moods will usually attempt to create an artifact appropriate for a bone carver, wood crafter, or stonecrafter. They will also gain experience if they complete the artifact, just like an adult dwarf would--unless the mood is a possessed mood, in which case (''as extensively noted above'') they do not. &lt;br /&gt;
Any other profession is eligible to enter a mood, but not all have the same ''chance'' to enter a mood.&lt;br /&gt;
&lt;br /&gt;
:''('''Note''' – Specifically, and to avoid previous misunderstandings, [[Strand extractor]], [[Clerk]]/[[Administrator]]/[[Trader]], [[Doctor]] (and related), [[Soldier#Recruits|Recruit]] and [[Child]] ''are'' moodable professions.)''&lt;br /&gt;
&lt;br /&gt;
There are several additional factors which will prevent a dwarf from entering a mood:&lt;br /&gt;
* Being unable to pick up items (&amp;quot;cannot grasp&amp;quot;)&lt;br /&gt;
* Being dragged by/dragging another unit (off to [[jail]]/leading livestock to a [[cage]], [[chain]], [[pasture]], [[Activity zone#Pit/Pond|pit/pond zone]], or to the [[butcher's shop]] or [[farmer's workshop]])&lt;br /&gt;
&lt;br /&gt;
=== Chance ===&lt;br /&gt;
When determining who will have a strange mood, each eligible dwarf is put into a weighted lottery, where the chance of being selected is based on the dwarf's [[profession]]. Most professions receive 6 &amp;quot;tickets&amp;quot;, but some receive additional tickets to improve their odds.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;2&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Weighting&lt;br /&gt;
! Professions&lt;br /&gt;
|-&lt;br /&gt;
| 21 ||Armorer, Blacksmith, Bone Carver, Clothier, Craftsdwarf, Jeweler, Gem Cutter, Gem Setter, Glassmaker, Leatherworker, Metalcrafter, Metalsmith, Stonecrafter, Weaponsmith, Weaver, Woodcrafter&lt;br /&gt;
|-&lt;br /&gt;
| 11 ||Bowyer, Carpenter, Stoneworker, Stone Carver, Woodworker&lt;br /&gt;
|-&lt;br /&gt;
| 6 ||Engraver, Mechanic, Miner, Tanner, and all other [[profession]]s (including Peasant).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:'''''Example:''' What this means is: if you had 21 dwarves, made up of 20 eligible farmers, furnace operators, miners, woodcutters etc. (with 6 chances each) plus one Armorer (with 21 chances), that one Armorer would have a 21 in 141 chance &amp;lt;small&amp;gt;(20 dwarves x 6 chances each = 120 + 21 chances more = 141 total)&amp;lt;/small&amp;gt; of the mood striking them. That's about 1 in 7, while the other 20 have a 6 in 141 chance each, or about 1 in 24. The odds are still against the armorer, but much better than for any other single dwarf.''&lt;br /&gt;
&lt;br /&gt;
Note that not every profession has a moodable skill. A Soaper, Furnace Operator, or Strand Extractor can be taken by a mood, but that will not make those skills legendary, nor will they create an artifact bar of soap, bar of metal, or wafer of adamantine. The workshop a moody dwarf claims, and thus the resulting artifact they create, will always be based off their highest &amp;lt;u&amp;gt;moodable&amp;lt;/u&amp;gt; skill, not necessarily the highest skill that determines their profession.&lt;br /&gt;
&lt;br /&gt;
=== Timing ===&lt;br /&gt;
A dwarf will go [[Insanity|insane]] after exactly 50000 ticks (which, at 1200 ticks per day, works out to 41.66 days, or almost a month and a half) waiting for an item they demand. However:&lt;br /&gt;
*The insanity countdown is reset after every item they bring to the workshop.&lt;br /&gt;
*It doesn't run while they are out getting something, working on their construction or on their way to claim a workshop. Only during time spent idling without either the required workshop or a required item do they spiral towards madness.&lt;br /&gt;
*Dwarves currently under strange moods do not require food, drink, or sleep.&lt;br /&gt;
&lt;br /&gt;
=== Fuel ===&lt;br /&gt;
&lt;br /&gt;
{{D for dwarf}}&lt;br /&gt;
&lt;br /&gt;
Curiously, [[metalsmith]]s in strange moods do not seem to require any [[fuel]] to complete their [[metal]] [[artifact]]s. It is believed that they, consumed by artistic passion, fuel the forges with their own beards, vigorously fanning the flaming hairs while they feed the furnace more beard. Such a sacrifice is a dwarf's own beard that only an artifact merits its removal. Only an artifact's completion can mollify its creator's shame; dwarves unable to complete this great pursuit go insane, not because of its failure, but because they cannot endure the inevitable humiliation.&lt;br /&gt;
&lt;br /&gt;
Legend has it that the world's first [[elf]] once attempted to forge the world's most powerful artifact, imbued with magic to control all dwarves. But, because he could not suffer to cut a tree for fuel, he was unable to do so. Faced with no alternative, he kidnapped each of the seven ancient dwarves by tempting them with [[booze]], an unfamiliar drink to the first dwarves. He then forcefully shaved them and created [[charcoal]] from their beards.&lt;br /&gt;
&lt;br /&gt;
Enraged by their loss, the dwarves set out to find the elf's home, based in the world's first tree. They startled the engrossed elf who fled with nothing but a handful of the tree's unborn children. After reclaiming the beard-charcoal, the dwarves set fire to this tree. Alight in flames hotter than the sun, the tree burned in what is believed to have been the world's hottest fire – a fire so hot that the tree's roots melted the inside of the earth, creating a worldwide [[magma sea]]. The elf watched this fire and swore revenge on the dwarves.&lt;br /&gt;
&lt;br /&gt;
After realizing their beards could not be recovered from their charred state, the dwarves agreed to sprinkle the charcoal over the earth, as a gift and reminder to future dwarves. In doing so, they created the world's [[bituminous coal]] deposits. They then spent the next years searching for a way to create the drink they had been given. Discovering new drinks along their pursuit, the dwarves eventually perfected the hidden art of brewing booze and passed this emerging knowledge to coming generations.&lt;br /&gt;
&lt;br /&gt;
== Artifacts created ==&lt;br /&gt;
The type of artifact created depends on the type of mood, the dwarf's highest moodable skill, and the base material. Masons and miners will always create some kind of stone furniture; bone carvers, a bone or shell object (including furniture); carpenters, a piece of wooden furniture; engravers and stone crafters, a stone craft; metalworkers, metal crafts, weapons, or armor (depending on the type of metalworker); weavers and clothiers, an article of clothing; tanners and leatherworkers, a leather armor or object. If a dwarf has no moodable skills, they will randomly select stone crafting, wood crafting, or bone carving as their mood skill and produce their artifact accordingly. The precise type of craft created is usually somewhat random, but if a dwarf has a personality preference for a particular item type, such as gauntlets or floodgates or crowns, and that thing is an available choice given the dwarf's profession, they are guaranteed to create an object of that type (if multiple preferences match, one will be randomly selected).&lt;br /&gt;
&lt;br /&gt;
The first object grabbed by the dwarf will be the base material; all other materials will be used as [[decoration]]s. If a dwarf grabs a piece of [[chalk]] and makes a statue, for instance, it will be a &amp;quot;chalk statue&amp;quot;, but an artifact can potentially include bone, cloth, gems, leather, metal, shell, stone, and wood decorations all at once. In some cases, a moody dwarf will produce an item which normally cannot be made from that material, leading to such odd constructions as an [[obsidian]] [[bed]], [[ruby]] [[floodgate]], or turtle [[shell]] [[cage]], but the actual item types available for each mood type are still very much restricted (e.g. only a glassmaker or jeweler can make a [[window]], and a moody clothier cannot produce an article of clothing that could not normally be made from cloth).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;4&amp;quot; style=&amp;quot;border:1px solid black;border-collapse:collapse;text-align:left;&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Mood / Skill&lt;br /&gt;
! Artifact type&lt;br /&gt;
|- &lt;br /&gt;
| [[Armorsmith]]&lt;br /&gt;
| Each equipment item with [METAL] (mail shirt, breastplate, leggings, greaves, gauntlet, low boot, high boot, cap, helm, mask), any shield&lt;br /&gt;
|- &lt;br /&gt;
| [[Bone carver]] (bone)&lt;br /&gt;
| Each equipment item with [BARRED] (leggings, greaves, gauntlet, helm), any shield, instrument, toy, door, bed, chair, table, statue, chest, bin, armor stand, weapon rack, cabinet, coffin, floodgate, hatch cover, grate, chain, cage, animal trap, figurine, amulet, scepter, crown, ring, earring, bracelet, any weapon, any trap component&amp;lt;sup&amp;gt;†&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| [[Bone carver]] (shell)&lt;br /&gt;
| Each equipment item with [SCALED] (leggings, gauntlet, helm), figurine, amulet, crown, ring, earring, bracelet, chain, cage, animal trap, instrument, toy&lt;br /&gt;
|- &lt;br /&gt;
| [[Bowyer]]&lt;br /&gt;
| Each ranged weapon (crossbow, bow, blowgun)&lt;br /&gt;
|- &lt;br /&gt;
| [[Carpenter]]&lt;br /&gt;
| Door, bed, chair, table, statue, chest, bin, armor stand, weapon rack, cabinet, coffin, floodgate, hatch cover, grate, cage, barrel, bucket, animal trap, splint, crutch&lt;br /&gt;
|- &lt;br /&gt;
| [[Clothier]]&lt;br /&gt;
| rowspan=2| Each equipment item with [SOFT] (dress, shirt, tunic, toga, vest, robe, coat, cloak, cape, trousers, loincloth, thong, short skirt, skirt, long skirt, braies, glove, mitten, sock, sandal, shoe, chausses, cap, hood, mask, turban, head veil, face veil, headscarf), bag, rope&lt;br /&gt;
|- &lt;br /&gt;
| [[Weaver]]&lt;br /&gt;
|- &lt;br /&gt;
| [[Engraver]]&lt;br /&gt;
| rowspan=4| Figurine, amulet, scepter, crown, ring, earring, bracelet, goblet, instrument, toy&lt;br /&gt;
|- &lt;br /&gt;
| [[Stone crafter]]&lt;br /&gt;
|- &lt;br /&gt;
| [[Stonecutter]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Stone carver]]&lt;br /&gt;
|-&lt;br /&gt;
| Fell Mood&lt;br /&gt;
| rowspan=3| Each equipment item with [LEATHER] (dress, shirt, tunic, toga, vest, robe, coat, cloak, cape, armor, trousers, loincloth, thong, short skirt, skirt, long skirt, braies, leggings, glove, mitten, sock, sandal, shoe, chausses, low boot, high boot, cap, hood, mask, turban, head veil, face veil, headscarf, helm), any shield, bag, backpack, quiver, instrument&lt;br /&gt;
|- &lt;br /&gt;
| [[Leatherworker]]&lt;br /&gt;
|- &lt;br /&gt;
| [[Tanner]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Gem cutter]]&lt;br /&gt;
| rowspan=3| Perfect gem&amp;lt;sup&amp;gt;‡&amp;lt;/sup&amp;gt;, door, bed, chair, table, statue, box, armor stand, weapon rack, cabinet, coffin, floodgate, hatch cover, grate, figurine, amulet, scepter, crown, ring, earring, bracelet, chain, flask, goblet, cage, barrel, bucket, animal trap, window, instrument, toy&lt;br /&gt;
|- &lt;br /&gt;
| [[Gem setter]]&lt;br /&gt;
|- &lt;br /&gt;
| [[Glassmaker]]&lt;br /&gt;
|- &lt;br /&gt;
| Macabre Mood (vermin remains)&lt;br /&gt;
| Amulet, bracelet, earring&lt;br /&gt;
|- &lt;br /&gt;
| [[Mason]]&lt;br /&gt;
| rowspan=2| Door, bed, chair, table, statue, quern, millstone, coffer, armor stand, weapon rack, cabinet, coffin, floodgate, hatch cover, grate&lt;br /&gt;
|- &lt;br /&gt;
| [[Miner]]&lt;br /&gt;
|- &lt;br /&gt;
| [[Mechanic]]&lt;br /&gt;
| Mechanism&lt;br /&gt;
|- &lt;br /&gt;
| [[Metal crafter]]&lt;br /&gt;
| Figurine, amulet, scepter, crown, ring, earring, bracelet, chain, flask, goblet, instrument, toy&lt;br /&gt;
|- &lt;br /&gt;
| [[Metalsmith]]&lt;br /&gt;
| Door, bed, chair, table, statue, chest, armor stand, weapon rack, cabinet, anvil, coffin, floodgate, hatch cover, grate, cage, barrel, bucket, animal trap, pipe section&amp;lt;sup&amp;gt;†&amp;lt;/sup&amp;gt;, splint, crutch&lt;br /&gt;
|- &lt;br /&gt;
| [[Weaponsmith]]&lt;br /&gt;
| Any weapon, any trap component&amp;lt;sup&amp;gt;†&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| [[Wood crafter]]&lt;br /&gt;
| Figurine, amulet, scepter, crown, ring, earring, bracelet, goblet, instrument, toy&lt;br /&gt;
|}&lt;br /&gt;
:&amp;lt;sup&amp;gt;†&amp;lt;/sup&amp;gt; ''chance of selection for this entry is reduced by 90%''&lt;br /&gt;
:&amp;lt;sup&amp;gt;‡&amp;lt;/sup&amp;gt; ''this item may only be selected at the beginning of the mood (50% chance)''&lt;br /&gt;
&lt;br /&gt;
If your dwarf does not have a preference for any possible items, the game will randomly select one from the list. Entries with &amp;quot;any&amp;quot; are treated as collective entries with a single chance and will randomly choose a subtype which your civilization is capable of making, while entries with &amp;quot;each&amp;quot; are distinct (e.g. an Armorsmith has 11 item choices, and one of those can turn out to be either a Shield or a Buckler). This explains why bowyers and clothiers will regularly produce foreign artifacts, while weaponsmiths will not unless they have exotic preferences.&lt;br /&gt;
&lt;br /&gt;
== Success ==&lt;br /&gt;
Once created, most [[artifact]]s will be available for use just like a normal item of its type. Artifact [[armor]] and [[weapon]]s gain extra bonuses in combat, while artifact clothing is immune to [[wear]]. Artifact mechanisms installed in weapon traps will improve attack rolls. Artifact furniture is useful for raising the value of a [[noble]]'s room. Artifact mechanisms, trap components, or weapons in [[weapon trap|weapon trap]]s can also boost a room's value considerably. Other artifacts that can be used in construction (such as [[barrel]]s, [[bucket]]s, and [[anvil]]s) may be used similarly. Artifact [[door]]s and [[hatch]]es are immune to [[building destroyer]]s, and artifact [[cage]]s can even hold gnawing vermin. All artifacts can be displayed in a [[display case]] or on a [[pedestal]], or [[trade]]d to a [[caravan]] for supplies.&lt;br /&gt;
&lt;br /&gt;
Successfully creating an artifact grants a very strong happy [[thought]] (enough to make the creator totally ecstatic for several months) as well as granting the creator partial ''immunity to insanity'' – even if your fortress is left in a terrible state, any dwarf who has created an artifact is exempt from going [[insane]] due to prolonged unhappiness. The dwarf may also cry, found as a coating of dwarf tears on both their eyes.&lt;br /&gt;
&lt;br /&gt;
== Failure ==&lt;br /&gt;
If you can't provide the desired workshop and all the required component materials within a couple of months, the dwarf will go [[insanity|insane]], which cancels the mood and the artifact. As if that's not bad enough, any dwarf who goes insane will soon die, one way or another.&lt;br /&gt;
&lt;br /&gt;
A dwarf who is '''stark raving mad''', '''melancholy''', or '''catatonic''' is harmless to others (until they die and start a [[tantrum]] spiral), but a '''berserk''' dwarf will attack other dwarves and possibly pull levers at random.  You may want to station a squad nearby or assign a few war dogs to the dwarf on the chance that they will lash out. If you build your workshops inside enclosed rooms with doors you can also lock the moody dwarf in the room until he or she starves. In extreme cases, building a wall around an open workshop is the best precaution.&lt;br /&gt;
&lt;br /&gt;
==Bugs==&lt;br /&gt;
There are many bugs reported related to moody dwarves. As has been the case in 40d, most turned out to be (understandable) failures of the player to grasp the mechanics of artifact creation and demands. ([http://bay12games.com/dwarves/mantisbt/view_all_bug_page.php Bug tracker])&lt;br /&gt;
* If a dwarf dies due to failing to complete an artifact, a memorial made to the dwarf will read that the dwarf did create it, despite the failure, and will even list the name of the artifact that never came to be. {{bug|3640}}&lt;br /&gt;
* When producing an item that is normally made in pairs (gloves, boots, etc.), only a single artifact will be created.&lt;br /&gt;
* Attacking a dwarf who fails their mood with your militia may result in a loyalty cascade. {{bug|7107}}&lt;br /&gt;
* Dwarves entering a strange mood when isolated (e.g. on a stepladder) cause severe lag. {{bug|8698}}&lt;br /&gt;
* If the mood primary component is forbidden while working, but the strange mood still has other items tasked, the result is an iron artifact. {{bug|5625}}&lt;br /&gt;
* If the dwarf starts constructing the artifact and is scared off by a hostile creature before completion, they may become stuck. {{bug|9833}} Removing the floors around them, then dropping an item on them should cause them to dodge, fall, and return to the workshop.{{cite forum|161598}}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
'''Problem''': Moody dwarf does not claim a workshop&lt;br /&gt;
:'''Solution''': Check for highest moodable skill and build the corresponding workshop. If no moodable skills, build a craftsdwarf's workshop. Once [[magma forge]]s have been built, some dwarves may demand to work at a magma-powered forge or furnace while others might still insist on a coal-powered one. If a forge is needed, make sure you built a forge, not smelter. Note that [[forbid]]den workshops cannot be claimed. Verify if the dwarf is assigned to a burrow and/or if there is a civilian alert set to a burrow. If so, verify that the burrow allows access to the workshop being sought after.&lt;br /&gt;
&lt;br /&gt;
'''Problem''': Moody dwarf waits in claimed workshop&lt;br /&gt;
:'''Solution''': Desired material is unavailable. Determine which material is requested next (materials are collected in the same order as shown in the dwarf's request list) and make some available, if possible. Be aware that some lists contain duplicates and you will need to make a seperate stack available for each one. Note that dwarves with [[preference]]s may demand a specific type of material ([[brass]] bars or [[yarn]] cloth, for example). [[Forbid]]den and inaccessible materials cannot be collected, nor can material located outside the moody dwarf's [[burrow]].&lt;br /&gt;
&lt;br /&gt;
'''Problem''': No dwarf has entered a mood for a long time&lt;br /&gt;
:'''Solution''': Strange moods require at least 20 dwarves; if you have that many, you've probably hit one of the two caps. Exploring the caverns can increase the number of revealed tiles very quickly, while [[craft]]ing [[goblet]]s will quickly raise your item count; [[exploratory mining]] will count toward ''both'' caps, simultaneously revealing tiles and producing boulders, though more slowly than exploring or crafting. Exposing excavated terrain to the sky is counterproductive, as it will ''lower'' your artifact cap (since the cap only counts revealed ''subterranean'' tiles).&lt;br /&gt;
&lt;br /&gt;
'''Problem''': Moody dwarf wants stacked cloth, but all types are available and he's not moving&lt;br /&gt;
:'''Solution''': Dwarves will not take items from active hospitals. If you have no cloth available outside of hospitals, try disabling or temporarily removing the hospital designation from their zones. They will then proceed to take new items, even if they don't go for the cloth right away. It is also possible that the desired cloth has been partially consumed in order to make wound dressings.&lt;br /&gt;
&lt;br /&gt;
==Trivia==&lt;br /&gt;
* [https://www.youtube.com/watch?v=K6454rENbtc Strange Moods], by Dabu, is the fourth track in the first Premium [[soundtrack]] volume, occasionally playing during [[Fortress mode]].&lt;br /&gt;
&lt;br /&gt;
{{D for Dwarf}}&lt;br /&gt;
It is widely said that Tarn Adams has been in the grips of a fey mood for two decades now, and we are playing his artifact. However, neither [[human]]s nor [[giant toad]]s can enter strange moods, so this must surely be a joke.&lt;br /&gt;
&lt;br /&gt;
{{Category|Fortress mode}}&lt;br /&gt;
{{Category|Dwarves}}&lt;br /&gt;
[[Ru:Strange mood]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Lua_script_examples&amp;diff=311699</id>
		<title>Lua script examples</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Lua_script_examples&amp;diff=311699"/>
		<updated>2025-11-21T04:55:45Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Tweaking creatures */ Added general Lua select example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
{{Modding}}&lt;br /&gt;
{{Main|Lua scripting}}&lt;br /&gt;
Snippets of vanilla generation can be found in [[:Category:Lua script pages]], and all vanilla scripts can be found in ``[https://github.com/Putnam3145/DF-Raws/tree/master/vanilla_procedural/scripts data/vanilla/vanilla_procedural/scripts/]``.&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;!--Needs a special line break--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Helper functions==&lt;br /&gt;
&lt;br /&gt;
===Search by reaction class===&lt;br /&gt;
This script returns a table of all inorganic materials with a given {{token|REACTION_CLASS|md}}. The ``mat`` table also has ``reaction_product_class``, which includes both {{token|MATERIAL_REACTION_PRODUCT|md}} and {{token|ITEM_REACTION_PRODUCT|md}} IDs.&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=get_all_by_reaction_class()&lt;br /&gt;
|script=&lt;br /&gt;
function get_all_by_reaction_class(rc)&lt;br /&gt;
    local valid={}&lt;br /&gt;
    for i,inorg in ipairs(world.inorganic.inorganic) do&lt;br /&gt;
        for _,class in inorg.mat.reaction_class do&lt;br /&gt;
            if class==rc then&lt;br /&gt;
                valid[#valid+1]=inorg&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return valid&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
==Languages==&lt;br /&gt;
&lt;br /&gt;
===Identity language===&lt;br /&gt;
This makes a [[Language token|language]] called ``GEN_IDENTITY`` which is like: &amp;quot;Abbey abbeyabbeys the abbey of abbeys&amp;quot; - i.e. it's the &amp;quot;English&amp;quot; language you might see occasionally. It is present in ``vanilla_procedural`` and can be used for {{Token|TRANSLATION|entity}} by default.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=GEN_IDENTITY&lt;br /&gt;
|script=&lt;br /&gt;
languages.GEN_IDENTITY=function()&lt;br /&gt;
    -- just to demonstrate the absolute most basic method of generating one of these&lt;br /&gt;
    -- also so that you can just mod stuff to use GEN_IDENTITY&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    local unempty = function(str1, str2) &lt;br /&gt;
        return str1=='' and str2 or str1&lt;br /&gt;
    end&lt;br /&gt;
    for k,v in ipairs(world.language.word) do&lt;br /&gt;
        local str=''&lt;br /&gt;
        str=unempty(str,v.NOUN_SING)&lt;br /&gt;
        str=unempty(str,v.ADJ)&lt;br /&gt;
        str=unempty(str,v.VERB_FIRST_PRES)&lt;br /&gt;
        str=unempty(str,string.lower(v.token))&lt;br /&gt;
        tbl[v.token]=str&lt;br /&gt;
    end&lt;br /&gt;
    return tbl&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
===Kobold language===&lt;br /&gt;
This generates a language made of {{token|UTTERANCES}}. This is essentially a proper translation based on the [[kobold language]]. Note that the hardcoded ``utterance()`` function generates words independently of any existing words in the language, so you may get duplicate words. &lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=GEN_KOBOLD&lt;br /&gt;
|script=&lt;br /&gt;
languages.GEN_KOBOLD=function()&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    for k,v in ipairs(world.language.word) do&lt;br /&gt;
        tbl[v.token]=utterance()&lt;br /&gt;
    end&lt;br /&gt;
    return tbl&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
==Generators==&lt;br /&gt;
&lt;br /&gt;
===Non-random generated material===&lt;br /&gt;
&lt;br /&gt;
Here's an example of an object registered through the ``do_once`` table. There are no random elements, it is equivalent (save for being {{token|GENERATED|mat}}) to an object defined through [[Material definition token]]s and registered through the ``raws.register_inorganics()`` function. It also prints itself to the lualog for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Single material&lt;br /&gt;
|script=do_once.cobalt = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	&lt;br /&gt;
	-- basic inorganic definition&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[INORGANIC:COBALT]&amp;quot;&lt;br /&gt;
	-- add [GENERATED] to save properly&lt;br /&gt;
	add_generated_info(lines)&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:cobalt]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid cobalt]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling cobalt]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:COBALT]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	raws.register_inorganics(lines)&lt;br /&gt;
&lt;br /&gt;
	-- show in lualog&lt;br /&gt;
	print_table(lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can register multiple objects at the same time. This script takes a table of color tokens, and makes a metal named after each of them, with a corresponding cheaty adventure reaction.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Chromatic metals&lt;br /&gt;
|script=do_once.chromatic_metal = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local reaction_lines = {}&lt;br /&gt;
	&lt;br /&gt;
	local color_tokens = {&lt;br /&gt;
			&amp;quot;AMETHYST&amp;quot;,&lt;br /&gt;
			&amp;quot;AQUAMARINE&amp;quot;,&lt;br /&gt;
			&amp;quot;CARDINAL&amp;quot;,&lt;br /&gt;
			&amp;quot;COBALT&amp;quot;,&lt;br /&gt;
			&amp;quot;EMERALD&amp;quot;,&lt;br /&gt;
			&amp;quot;JADE&amp;quot;,&lt;br /&gt;
			&amp;quot;MOSS_GREEN&amp;quot;,&lt;br /&gt;
			&amp;quot;PEARL&amp;quot;,&lt;br /&gt;
			&amp;quot;SAFFRON&amp;quot;,&lt;br /&gt;
			&amp;quot;TURQUOISE&amp;quot;,&lt;br /&gt;
			&amp;quot;WHITE&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- make a metal for each color token&lt;br /&gt;
	for k,v in pairs(color_tokens) do&lt;br /&gt;
		-- begin definition with ID token, [GENERATED] and template&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[INORGANIC:CHROMATICMETAL&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(lines)&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		-- look up the metal's color in the world table&lt;br /&gt;
		-- using string.lower(v) would result in &amp;quot;moss_green&amp;quot;&lt;br /&gt;
		local metalname = world.descriptor.color[v].name&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:&amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		-- appearance&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		-- create a corresponding reaction&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[REACTION:CHROMATICMETAL&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(reaction_lines)&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[NAME:create &amp;quot;..metalname..&amp;quot; bars]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[ADVENTURE_MODE_ENABLED]&amp;quot;&lt;br /&gt;
		-- make sure we're consistent with the inorganic ID&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT:100:1:BAR:NONE:INORGANIC:CHROMATICMETAL&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT_DIMENSION:150]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	raws.register_inorganics(lines)&lt;br /&gt;
	raws.register_reactions(reaction_lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Random generation===&lt;br /&gt;
&lt;br /&gt;
Here's an example of various DF-specific randomizers in use:&lt;br /&gt;
* ``trandom()`` is used to determine how many metals generate this way.&lt;br /&gt;
* ``utterance()`` generates utterances from the [[Kobold language]], e.g. &amp;quot;gorsnus&amp;quot;, &amp;quot;stogodilmus&amp;quot;, &amp;quot;gaylgis&amp;quot;&lt;br /&gt;
* ``pick_random_no_replace()`` determines the color from the table, but removes the rolled value so there's no repeats.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Kobold metals&lt;br /&gt;
|script=do_once.kobold_metal = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local reaction_lines = {}&lt;br /&gt;
	&lt;br /&gt;
	local color_tokens = {&lt;br /&gt;
		&amp;quot;AMETHYST&amp;quot;,&lt;br /&gt;
		&amp;quot;AQUAMARINE&amp;quot;,&lt;br /&gt;
		&amp;quot;CARDINAL&amp;quot;,&lt;br /&gt;
		&amp;quot;COBALT&amp;quot;,&lt;br /&gt;
		&amp;quot;EMERALD&amp;quot;,&lt;br /&gt;
		&amp;quot;JADE&amp;quot;,&lt;br /&gt;
		&amp;quot;MOSS_GREEN&amp;quot;,&lt;br /&gt;
		&amp;quot;PEARL&amp;quot;,&lt;br /&gt;
		&amp;quot;SAFFRON&amp;quot;,&lt;br /&gt;
		&amp;quot;TURQUOISE&amp;quot;,&lt;br /&gt;
		&amp;quot;WHITE&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- trandom() is expressed as (1dN)-1 because it uses C++ math that starts at 0&lt;br /&gt;
	local max_loops = trandom(10)+1&lt;br /&gt;
&lt;br /&gt;
	-- create 1-10 metals&lt;br /&gt;
	for i = 1,max_loops do&lt;br /&gt;
		-- begin definition with ID token, [GENERATED] and template&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[INORGANIC:KOBOLDMETAL&amp;quot;..i..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(lines)&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		-- this is the kobold name function&lt;br /&gt;
		local metalname = utterance()..&amp;quot;ite&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:&amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		-- no_replace removes the value from the table&lt;br /&gt;
		-- we don't need a fallback because there's more values than metals&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:&amp;quot;..pick_random_no_replace(color_tokens)..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		-- create a corresponding reaction&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[REACTION:KOBOLDMETAL&amp;quot;..i..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(reaction_lines)&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[NAME:create &amp;quot;..metalname..&amp;quot; bars]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[ADVENTURE_MODE_ENABLED]&amp;quot;&lt;br /&gt;
		-- make sure we're consistent with the inorganic ID&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT:100:1:BAR:NONE:INORGANIC:KOBOLDMETAL&amp;quot;..i..&amp;quot;]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT_DIMENSION:150]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	raws.register_inorganics(lines)&lt;br /&gt;
	raws.register_reactions(reaction_lines)&lt;br /&gt;
end		&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===New divine metals===&lt;br /&gt;
&lt;br /&gt;
Many of the tables used by vanilla procedural objects are global, and thus can be added to or overwritten by mods. You can add new metal descriptions for divine metal pretty easily, for example:&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Laughing metal&lt;br /&gt;
|script=&lt;br /&gt;
metal_by_sphere.CHILDREN={&lt;br /&gt;
    name=&amp;quot;laughing metal&amp;quot;,&lt;br /&gt;
    col=&amp;quot;7:0:1&amp;quot;,&lt;br /&gt;
    color=&amp;quot;WHITE&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can also add alternatives to the default divine metal function, such as one based on the aforementioned kobold metals.&lt;br /&gt;
Vanilla divine metal uses ``metal_by_sphere`` to determine its properties, and is thus valid only if the input sphere has an entry in that table.&lt;br /&gt;
Note that even if the weights are nominally the same; because it is valid for all input spheres, it will outnumber instances of the more limited vanilla material.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Divine kobold metal&lt;br /&gt;
|script=materials.divine.metal.kobold = function(sphere)&lt;br /&gt;
	if not foo then&lt;br /&gt;
		log(#metal_by_sphere)&lt;br /&gt;
		log(#world.spheres)&lt;br /&gt;
		foo = true&lt;br /&gt;
	end&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	--generation function handles ID, registration, generated info&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
	--add_generated_info(lines)&lt;br /&gt;
	local metalname = utterance()..&amp;quot;ite&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:&amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local color_tokens = {&lt;br /&gt;
		&amp;quot;AMETHYST&amp;quot;,&lt;br /&gt;
		&amp;quot;AQUAMARINE&amp;quot;,&lt;br /&gt;
		&amp;quot;CARDINAL&amp;quot;,&lt;br /&gt;
		&amp;quot;COBALT&amp;quot;,&lt;br /&gt;
		&amp;quot;EMERALD&amp;quot;,&lt;br /&gt;
		&amp;quot;JADE&amp;quot;,&lt;br /&gt;
		&amp;quot;MOSS_GREEN&amp;quot;,&lt;br /&gt;
		&amp;quot;PEARL&amp;quot;,&lt;br /&gt;
		&amp;quot;SAFFRON&amp;quot;,&lt;br /&gt;
		&amp;quot;TURQUOISE&amp;quot;,&lt;br /&gt;
		&amp;quot;WHITE&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	--allow for duplicate colors&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:&amp;quot;..pick_random(color_tokens)..&amp;quot;]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	--add a block of tokens&lt;br /&gt;
	lines=split_to_lines(lines,[[&lt;br /&gt;
    [MATERIAL_VALUE:200]&lt;br /&gt;
	[SPEC_HEAT:7500]&lt;br /&gt;
	[MELTING_POINT:NONE]&lt;br /&gt;
	[BOILING_POINT:NONE]&lt;br /&gt;
	[ITEMS_WEAPON][ITEMS_WEAPON_RANGED][ITEMS_AMMO][ITEMS_DIGGER][ITEMS_ARMOR][ITEMS_ANVIL]&lt;br /&gt;
	[ITEMS_HARD]&lt;br /&gt;
	[ITEMS_METAL]&lt;br /&gt;
	[ITEMS_BARRED]&lt;br /&gt;
	[ITEMS_SCALED]&lt;br /&gt;
	[SOLID_DENSITY:1000]&lt;br /&gt;
	[LIQUID_DENSITY:1000]&lt;br /&gt;
	[MOLAR_MASS:20000]&lt;br /&gt;
	[IMPACT_YIELD:1000000]&lt;br /&gt;
	[IMPACT_FRACTURE:2000000]&lt;br /&gt;
	[IMPACT_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[COMPRESSIVE_YIELD:1000000]&lt;br /&gt;
	[COMPRESSIVE_FRACTURE:2000000]&lt;br /&gt;
	[COMPRESSIVE_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[TENSILE_YIELD:1000000]&lt;br /&gt;
	[TENSILE_FRACTURE:2000000]&lt;br /&gt;
	[TENSILE_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[TORSION_YIELD:1000000]&lt;br /&gt;
	[TORSION_FRACTURE:2000000]&lt;br /&gt;
	[TORSION_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[SHEAR_YIELD:1000000]&lt;br /&gt;
	[SHEAR_FRACTURE:2000000]&lt;br /&gt;
	[SHEAR_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[BENDING_YIELD:1000000]&lt;br /&gt;
	[BENDING_FRACTURE:2000000]&lt;br /&gt;
	[BENDING_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[MAX_EDGE:12000]&lt;br /&gt;
	]])&lt;br /&gt;
	--sends this to get registered&lt;br /&gt;
	return {raws=lines,weight=1}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Remove default functions===&lt;br /&gt;
&lt;br /&gt;
Just as easily as new functions and table entries can be added, default entries can be overwritten so that they cannot generate. This snippet removes the default forgotten beasts.&lt;br /&gt;
&lt;br /&gt;
See [[Lua functions#Generation Tables]] for a list of the tables the default functions are stored in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; &amp;gt;&lt;br /&gt;
creatures.fb.default=nil&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Basic generated creature===&lt;br /&gt;
&lt;br /&gt;
This is essentially the simplest possible creature. It has no extraordinary options (beyond an [[Sphere|association]] with animals and creation), and each world generates one species from this function. It doesn't have any biome tokens or likewise, so it can only be spawned in the arena, but it is still functional.&lt;br /&gt;
&lt;br /&gt;
A sample output would be &amp;quot;A quadruped composed of flame. It has two narrow tails and it has a regal bearing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=do_once.basic_creature&lt;br /&gt;
|script=do_once.basic_creature = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local tok=&amp;quot;BASIC_PROCEDURAL_CREATURE&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE:&amp;quot;..tok..&amp;quot;]&amp;quot;&lt;br /&gt;
	add_generated_info(lines)&lt;br /&gt;
	&lt;br /&gt;
	local options={&lt;br /&gt;
		token=tok,&lt;br /&gt;
		spheres={&lt;br /&gt;
			ANIMALS=true,&lt;br /&gt;
			CREATION=true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	lines=split_to_lines(lines,[[&lt;br /&gt;
		[NAME:procedural creature:procedural creatures:procedural]&lt;br /&gt;
		[CASTE_NAME:procedural creature:procedural creatures:procedural]&lt;br /&gt;
	]])&lt;br /&gt;
	--adds some common tokens depending on the options&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	&lt;br /&gt;
	--handles sphere options: fills out [SPHERE] tokens from options.spheres, and so on&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	&lt;br /&gt;
	--choose a creature profile to base on&lt;br /&gt;
	local rcp=get_random_creature_profile(options)&lt;br /&gt;
	--set [BODY_SIZE] and some relevant tokens&lt;br /&gt;
	add_body_size(lines,rcp.min_size,options)&lt;br /&gt;
	--add the tile from the creature profile&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	--the Big Function determining tweaks, body, appearance, description...&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	&lt;br /&gt;
	raws.register_creatures(lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Making your own RCP===&lt;br /&gt;
&lt;br /&gt;
You don't have to be limited to the vanilla list of random creature variants. Mods can add new kinds of random creature profiles, materials, etc that can be seamlessly integrated into how it generates creatures. &lt;br /&gt;
&lt;br /&gt;
This script generates a single creature based on a [[Wikipedia:Eurypterid|eurypterid]]. It has a unique RCP, set in the function itself.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=do_once.local_rcp&lt;br /&gt;
|script=do_once.local_rcp = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local tok=&amp;quot;LOCAL_RCP&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE:&amp;quot;..tok..&amp;quot;]&amp;quot;&lt;br /&gt;
	add_generated_info(lines)&lt;br /&gt;
	&lt;br /&gt;
	local options={&lt;br /&gt;
		token=tok,&lt;br /&gt;
		spheres={&lt;br /&gt;
			ANIMALS=true,&lt;br /&gt;
			WATER=true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	--habitat&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[BIOME:ANY_OCEAN]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[LARGE_ROAMING]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[AQUATIC][UNDERSWIM]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	--define a local creature profile&lt;br /&gt;
	local rcp={&lt;br /&gt;
		name_string=&amp;quot;eurypterid&amp;quot;,&lt;br /&gt;
		tile='E',&lt;br /&gt;
		body_base=&amp;quot;SCORPION&amp;quot;,&lt;br /&gt;
		c_class=&amp;quot;CHITIN_EXO&amp;quot;,&lt;br /&gt;
		must_have_pincers=true,&lt;br /&gt;
		must_have_tail=true,&lt;br /&gt;
		min_size=70000,&lt;br /&gt;
		weight=200,&lt;br /&gt;
	}&lt;br /&gt;
	local name_str = rcp.name_string..&amp;quot;:&amp;quot;..rcp.name_string..&amp;quot;s:&amp;quot;..rcp.name_string..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[NAME:&amp;quot;..name_str&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[CASTE_NAME:&amp;quot;..name_str&lt;br /&gt;
	&lt;br /&gt;
	add_body_size(lines,rcp.min_size,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	&lt;br /&gt;
	raws.register_creatures(lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Adding a eurypterid profile to ``random_creature_profiles`` allows any creature to access it, if their profile is determined randomly.&lt;br /&gt;
&lt;br /&gt;
This script gives it proper flippers in its body base function. It's also associated with water-based random creatures, so it can potentially generate as an aquatic [[forgotten beast]] species.&lt;br /&gt;
&lt;br /&gt;
Other feature variants stored in tables, like materials, attacks, or descriptions, can be added in this way.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Global RCP&lt;br /&gt;
|script=&lt;br /&gt;
random_creature_types.EURYPTERID={&lt;br /&gt;
		name_string=&amp;quot;eurypterid&amp;quot;,&lt;br /&gt;
		tile='E',&lt;br /&gt;
		body_base=&amp;quot;SCORPION_FLIPPERS&amp;quot;,&lt;br /&gt;
		c_class=&amp;quot;CHITIN_EXO&amp;quot;,&lt;br /&gt;
		must_have_pincers=true,&lt;br /&gt;
		must_have_tail=true,&lt;br /&gt;
		min_size=70000,&lt;br /&gt;
		weight=200,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body_base_fun.SCORPION_FLIPPERS=function(rcp,options)&lt;br /&gt;
		options.pcg_layering_base=&amp;quot;BEAST_SCORPION&amp;quot;&lt;br /&gt;
		options.walk_var=&amp;quot;STANDARD_WALKING_GAITS&amp;quot;&lt;br /&gt;
		options.walk_speed=900&lt;br /&gt;
		return {&amp;quot;RCP_CEPHALOTHORAX&amp;quot;,&amp;quot;RCP_ABDOMEN&amp;quot;,&amp;quot;RCP_FIRST_SIMPLE_LEGS&amp;quot;,&amp;quot;RCP_SECOND_SIMPLE_LEGS&amp;quot;,&amp;quot;RCP_THIRD_SIMPLE_LEGS&amp;quot;,&amp;quot;RCP_PINCERS&amp;quot;,&amp;quot;RCP_FRONT_FLIPPER&amp;quot;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
water_based_random_creature.EURYPTERID=true&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Werebugs===&lt;br /&gt;
&lt;br /&gt;
You can make a custom function to determine what RCPs are available to a given creature.&lt;br /&gt;
&lt;br /&gt;
These scripts are for an arthropoid version of a [[werebeast]].&lt;br /&gt;
* ``arthropod_rcp`` is a list of RCP keys which fit this theme (plus a few worms on there for fun), which the creature function rolls on to pick its form.&lt;br /&gt;
* ``is_bloodsucking_by_key``, along with ``rcp.must_suck_blood_through_proboscis`` and ``rcp.must_suck_blood_through_mouth`` are checked to assign {{token|BLOODSUCKER}} to it, which allows certain creature types to exhibit vampiric behavior if their berserk rampage wasn't enough [[fun]].&lt;br /&gt;
&lt;br /&gt;
Otherwise, the function should work the same as vanilla werebeasts, generating an associated [[Interaction token|major curse]] in the same way and becoming &amp;quot;twisted into humanoid form&amp;quot; (at the expense of their additional limbs).&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=arthropod_rcp&lt;br /&gt;
|script=local arthropod_rcp = {&lt;br /&gt;
	&amp;quot;ARACHNID_MITE&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_SCORPION&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_SPIDER&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_TARANTULA&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_TICK&amp;quot;,&lt;br /&gt;
	&amp;quot;CRUSTACEAN_CRAB&amp;quot;,&lt;br /&gt;
	&amp;quot;CRUSTACEAN_LOBSTER&amp;quot;,&lt;br /&gt;
	&amp;quot;CRUSTACEAN_SHRIMP&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_ANT&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_ANTLION&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_APHID&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_BEE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_BUTTERFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CADDISFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CATERPILLAR&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CICADA&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_COCKROACH&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CRICKET&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_DAMSELFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_DARKLING_BEETLE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_DRAGONFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_EARWIG&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_FIREFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_FLEA&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_FLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_GRASSHOPPER&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_HORNET&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_LACEWING&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_LADYBUG&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_LOUSE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MAGGOT&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MANTIS&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MAYFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MOSQUITO&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MOTH&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SILVERFISH&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SCARAB_BEETLE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SCORPIONFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SNAKEFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_STONEFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_TERMITE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_THRIPS&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_WASP&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_WEEVIL&amp;quot;,&lt;br /&gt;
	&amp;quot;NEMATODE&amp;quot;,&lt;br /&gt;
	&amp;quot;LEECH&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=is_bloodsucking_by_key&lt;br /&gt;
|script=local is_bloodsucking_by_key = {&lt;br /&gt;
	ARACHNID_MITE=true,&lt;br /&gt;
	ARACHNID_TICK=true,&lt;br /&gt;
	INSECT_EARWIG=true,--some are parasitic&lt;br /&gt;
	INSECT_FLEA=true,&lt;br /&gt;
	INSECT_LOUSE=true,&lt;br /&gt;
	INSECT_MAGGOT=true,&lt;br /&gt;
	INSECT_THRIPS=true,--no bloodsucking reported, but does bite humans&lt;br /&gt;
	NEMATODE=true,&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=creatures.night_creature.werebeast.werebug&lt;br /&gt;
|script=creatures.night_creature.werebeast.werebug=function(tok)&lt;br /&gt;
	local lines={}&lt;br /&gt;
	local options={&lt;br /&gt;
		spheres={&lt;br /&gt;
			CHAOS=true,&lt;br /&gt;
			ANIMALS=true,&lt;br /&gt;
			NIGHT=true,&lt;br /&gt;
			MOON=true&lt;br /&gt;
		},&lt;br /&gt;
		always_glowing_eyes=true,&lt;br /&gt;
		use_werebeast_pcg=true, --use them if werebug sprites somehow exist&lt;br /&gt;
		animal_coloring_allowed=true,&lt;br /&gt;
		no_tweak=true,&lt;br /&gt;
		material_weakness=true,&lt;br /&gt;
		prioritize_bite=true,&lt;br /&gt;
		force_ichor=true,&lt;br /&gt;
		token=tok&lt;br /&gt;
	}&lt;br /&gt;
	options.night_creature_agile_pref=true&lt;br /&gt;
	night_creature_universals(lines,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NIGHT_CREATURE_HUNTER]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CAN_LEARN]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CAN_SPEAK]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NO_GENDER]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[BONECARN]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CRAZED]&amp;quot;&lt;br /&gt;
	if options.night_creature_strength_pref then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:STRENGTH:1000:1250:1500:2000:2250:2500:3000]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:AGILITY:450:550:700:750:800:850:900]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:TOUGHNESS:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:ENDURANCE:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		options.special_walk_speed=1000&lt;br /&gt;
	elseif options.night_creature_agile_pref then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:STRENGTH:450:550:700:750:800:850:900]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:AGILITY:1000:1250:1500:2000:2250:2500:3000]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:TOUGHNESS:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:ENDURANCE:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		options.special_walk_speed=800;&lt;br /&gt;
	elseif options.night_creature_strength_agile_pref then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:STRENGTH:1000:1150:1250:1500:2000:2250:2500]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:AGILITY:1000:1150:1250:1500:2000:2250:2500]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:TOUGHNESS:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:ENDURANCE:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		options.special_walk_speed=850;&lt;br /&gt;
	end&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:RECUPERATION:450:1050:1150:1250:1350:1550:2250]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:DISEASE_RESISTANCE:700:1300:1400:1500:1600:1800:2500]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:ANALYTICAL_ABILITY:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:FOCUS:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:WILLPOWER:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:PATIENCE:0:333:666:1000:2333:3666:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:MEMORY:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:LINGUISTIC_ABILITY:450:1050:1150:1250:1350:1550:2250]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:MUSICALITY:0:333:666:1000:2333:3666:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:SOCIAL_AWARENESS:700:1300:1400:1500:1600:1800:2500]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:BASHFUL:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:STRESS_VULNERABILITY:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:FRIENDLINESS:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:DISDAIN_ADVICE:100:100:100]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:CHEER_PROPENSITY:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:GRATITUDE:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:TRUST:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:ALTRUISM:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:CRUELTY:100:100:100]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:WRESTLING:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:BITE:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:GRASP_STRIKE:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:STANCE_STRIKE:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:MELEE_COMBAT:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:DODGING:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:SNEAK:20]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[DIFFICULTY:3]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[LAIR:SIMPLE_BURROW:50]&amp;quot;&lt;br /&gt;
	-- pick a random bug RCP, there's no overlap with the mammal/reptile standard werebeasts&lt;br /&gt;
	finalize_random_creature_types() -- good practice to run before rolling on it&lt;br /&gt;
	local rcp_key = pick_random_no_replace(arthropod_rcp) or &amp;quot;INSECT_MANTIS&amp;quot;&lt;br /&gt;
	local rcp=random_creature_types[rcp_key]&lt;br /&gt;
&lt;br /&gt;
	local custom_desc_str = &amp;quot;it is crazed for blood and flesh&amp;quot;&lt;br /&gt;
	-- make them also vampires if they suck blood&lt;br /&gt;
	if rcp.must_suck_blood_through_proboscis or rcp.must_suck_blood_through_mouth or is_bloodsucking_by_key[rcp_key] then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[BLOODSUCKER]&amp;quot;&lt;br /&gt;
		custom_desc_str = &amp;quot;it is crazed for warm blood&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	-- This sort of process should be fully generalized&lt;br /&gt;
	-- to all creatures you want to have bespoke associated interactions&lt;br /&gt;
	-- for example, you can have a blessing that allows a sort of&lt;br /&gt;
	-- uncrazed transformation into some sort of bespoke&lt;br /&gt;
	-- generated thing--at least, hopefully it's robust enough for that&lt;br /&gt;
	local choice=generate_from_list(werebeast_origin_interactions,tok,rcp.name_string,options)&lt;br /&gt;
	map_merge(options,choice.options)&lt;br /&gt;
	local werebeast_choice_raws=choice.interaction or choice.raws&lt;br /&gt;
	raws.register_interactions(werebeast_choice_raws)&lt;br /&gt;
	add_body_size(lines,math.max(rcp.min_size,80000+trandom(11)*1000),options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:165]&amp;quot; --Ñ&lt;br /&gt;
	options.forced_color={&lt;br /&gt;
		f=6,&lt;br /&gt;
		b=0,&lt;br /&gt;
		br=1&lt;br /&gt;
	}&lt;br /&gt;
	options.custom_desc_func=function(options)&lt;br /&gt;
		return custom_desc_str&lt;br /&gt;
	end&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[GO_TO_START]&amp;quot;&lt;br /&gt;
	-- remove second words like &amp;quot; beetle&amp;quot;, etc from the end&lt;br /&gt;
	local short_name = rcp.name_string:gsub(&amp;quot;%s(%w+)$&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
	local name_str=&amp;quot;were&amp;quot;..short_name..&amp;quot;:were&amp;quot;..short_name..&amp;quot;s:were&amp;quot;..short_name..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NAME:&amp;quot;..name_str&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CASTE_NAME:&amp;quot;..name_str&lt;br /&gt;
	return {raws=lines,weight=1}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===New forgotten beasts===&lt;br /&gt;
You can add new types of forgotten beasts (or more appropriately, {{token|FEATURE_BEAST}}s). These generate as alternatives when populating the caverns with unique monsters. There are a number of options to interact with shared generation functions.&lt;br /&gt;
&lt;br /&gt;
Unbidden spirits only appear in dry cave layers, and like &amp;quot;spirit&amp;quot; [[demon]]s, are malevolent floating beings made of gas or dust.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Unbidden spirit&lt;br /&gt;
|script=&lt;br /&gt;
creatures.fb.unbidden=function(layer_type,tok)&lt;br /&gt;
    if layer_type==0 then return nil end -- land only&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    local options={&lt;br /&gt;
        strong_attack_tweak=true,&lt;br /&gt;
        always_make_uniform=true,&lt;br /&gt;
        always_insubstantial=true,&lt;br /&gt;
        intangible_flier=true,&lt;br /&gt;
        spheres={CAVERNS=true},&lt;br /&gt;
        is_evil=true,&lt;br /&gt;
        sickness_name=&amp;quot;beast sickness&amp;quot;,&lt;br /&gt;
        token=tok&lt;br /&gt;
    }&lt;br /&gt;
    tbl=split_to_lines(tbl,[[&lt;br /&gt;
    [FEATURE_BEAST]&lt;br /&gt;
    [ATTACK_TRIGGER:0:0:2]&lt;br /&gt;
    [NAME:unbidden spirit:unbidden spirit:unbidden spirit]&lt;br /&gt;
    [CASTE_NAME:unbidden spirit:unbidden spirit:unbidden spirit]&lt;br /&gt;
    [NO_GENDER]&lt;br /&gt;
    [CARNIVORE]&lt;br /&gt;
    [DIFFICULTY:10]&lt;br /&gt;
&lt;br /&gt;
    [NATURAL_SKILL:WRESTLING:6]&lt;br /&gt;
    [NATURAL_SKILL:BITE:6]&lt;br /&gt;
    [NATURAL_SKILL:GRASP_STRIKE:6]&lt;br /&gt;
    [NATURAL_SKILL:STANCE_STRIKE:6]&lt;br /&gt;
    [NATURAL_SKILL:MELEE_COMBAT:6]&lt;br /&gt;
    [NATURAL_SKILL:DODGING:6]&lt;br /&gt;
    [NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&lt;br /&gt;
    [LARGE_PREDATOR]&lt;br /&gt;
    ]])&lt;br /&gt;
    add_regular_tokens(tbl,options)&lt;br /&gt;
    tbl[#tbl+1]=layer_type==0 and &amp;quot;[BIOME:SUBTERRANEAN_WATER]&amp;quot; or &amp;quot;[BIOME:SUBTERRANEAN_CHASM]&amp;quot;&lt;br /&gt;
    if layer_type==0 then options.spheres.WATER=true end&lt;br /&gt;
    options.spheres[pick_random(evil_spheres)]=true&lt;br /&gt;
    options.do_water=layer_type==0&lt;br /&gt;
    populate_sphere_info(tbl,options)&lt;br /&gt;
    local rcp=get_random_creature_profile(options)&lt;br /&gt;
    add_body_size(tbl,math.max(10000000,rcp.min_size),options)&lt;br /&gt;
    tbl[#tbl+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
    build_procgen_creature(rcp,tbl,options)&lt;br /&gt;
    -- Weight is a float; all vanilla objects have weight 1&lt;br /&gt;
    return {creature=tbl,weight=0.5}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Construct creature|Elementals]] are defined by the material they're made of, using a table of options to set the right properties. In a dry chasm layer, they'll roll on the ``fb_elements`` table, while in a water layer, they'll be a water elemental. Should they ever carry a [[syndrome]], they would inflict [[Wikipedia:Dyscrasia|dyskrasia]].&lt;br /&gt;
&lt;br /&gt;
The most important feature is setting ``options.sphere_rcm`` to a key in ``random_creature_materials``, so fire elementals are made of &amp;quot;FLAME&amp;quot; and earth elementals are made of &amp;quot;ANY_MINERAL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Elemental&lt;br /&gt;
|script=&lt;br /&gt;
fb_elements = {&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;quot;fire&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;FLAME&amp;quot;,&lt;br /&gt;
		spheres={ FIRE=true },&lt;br /&gt;
		options={ fire_immune=true }&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;quot;earth&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;ANY_MINERAL&amp;quot;,&lt;br /&gt;
		rcp_options={ always_flightless=true },&lt;br /&gt;
		spheres={&lt;br /&gt;
			EARTH=true,&lt;br /&gt;
			MINERALS=true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;quot;air&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;STEAM&amp;quot;,&lt;br /&gt;
		spheres={&lt;br /&gt;
			WIND=true,&lt;br /&gt;
			SKY=true&lt;br /&gt;
		},&lt;br /&gt;
		options={&lt;br /&gt;
			always_insubstantial=true,&lt;br /&gt;
			intangible_flier=true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
creatures.fb.elemental=function(layer_type,tok)&lt;br /&gt;
	local lines={}&lt;br /&gt;
	local options={&lt;br /&gt;
		strong_attack_tweak=true,&lt;br /&gt;
		always_make_uniform=true, --irrelevant due to sphere_rcm&lt;br /&gt;
		spheres={},&lt;br /&gt;
		sickness_name=&amp;quot;dyskrasia&amp;quot;,&lt;br /&gt;
		token=tok&lt;br /&gt;
	}&lt;br /&gt;
	lines=split_to_lines(lines,[[&lt;br /&gt;
		[FEATURE_BEAST]&lt;br /&gt;
		[ATTACK_TRIGGER:0:0:2]&lt;br /&gt;
		[NO_GENDER]&lt;br /&gt;
		[NO_EAT][NO_DRINK]&lt;br /&gt;
		[DIFFICULTY:10]&lt;br /&gt;
		&lt;br /&gt;
		[NATURAL_SKILL:WRESTLING:6]&lt;br /&gt;
		[NATURAL_SKILL:BITE:6]&lt;br /&gt;
		[NATURAL_SKILL:GRASP_STRIKE:6]&lt;br /&gt;
		[NATURAL_SKILL:STANCE_STRIKE:6]&lt;br /&gt;
		[NATURAL_SKILL:MELEE_COMBAT:6]&lt;br /&gt;
		[NATURAL_SKILL:DODGING:6]&lt;br /&gt;
		[NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&lt;br /&gt;
		[LARGE_PREDATOR]&lt;br /&gt;
	]])&lt;br /&gt;
	&lt;br /&gt;
	-- Create a water elemental in water layers, otherwise use another type&lt;br /&gt;
	local water_elemental = {&lt;br /&gt;
		name=&amp;quot;water&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;WATER&amp;quot;,&lt;br /&gt;
		spheres={WATER=true},&lt;br /&gt;
		options={do_water=true}&lt;br /&gt;
	}&lt;br /&gt;
	local my_element = layer_type==1 and pick_random(fb_elements) or water_elemental&lt;br /&gt;
	&lt;br /&gt;
	-- Assign propertes from chosen element&lt;br /&gt;
	map_merge(options.spheres,my_element.spheres)&lt;br /&gt;
	if my_element.options then map_merge(options,my_element.options) end&lt;br /&gt;
	&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	lines[#lines+1]=layer_type==0 and &amp;quot;[BIOME:SUBTERRANEAN_WATER]&amp;quot; or &amp;quot;[BIOME:SUBTERRANEAN_CHASM]&amp;quot;&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	&lt;br /&gt;
	-- Set custom material&lt;br /&gt;
	options.sphere_rcm=my_element.rcm&lt;br /&gt;
	-- Build body&lt;br /&gt;
	local rcp=get_random_creature_profile(options)&lt;br /&gt;
	-- Set more options on the RCP&lt;br /&gt;
	if my_element.rcp_options then map_merge(rcp.options,my_element.rcp_options) end&lt;br /&gt;
	add_body_size(lines,math.max(10000000,rcp.min_size),options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:'E']&amp;quot;&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	&lt;br /&gt;
	-- Generate name&lt;br /&gt;
	local element_name = my_element.name or &amp;quot;glitchstuff&amp;quot;&lt;br /&gt;
	local name_str = element_name..&amp;quot; elemental:&amp;quot;..element_name..&amp;quot; elemental:&amp;quot;..element_name..&amp;quot;-elemental]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[GO_TO_START]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NAME:&amp;quot;..name_str&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CASTE_NAME:&amp;quot;..name_str&lt;br /&gt;
	&lt;br /&gt;
	return {raws=lines,weight=1.5}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Tweaking creatures===&lt;br /&gt;
Common Lua features allow you to extend functions by mirroring the original function and then overwriting it, akin to the ``SELECT`` tags. This function extends ``add_regular_tokens()`` to add {{token|GENERAL_MATERIAL_FORCE_MULTIPLIER}} to all generated creatures.&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=add_regular_tokens (extension)&lt;br /&gt;
|script=&lt;br /&gt;
old_add_regular_tokens=add_regular_tokens&lt;br /&gt;
function add_regular_tokens(lines,options)&lt;br /&gt;
    old_add_regular_tokens(lines,options)&lt;br /&gt;
    lines[#lines+1]=&amp;quot;[GENERAL_MATERIAL_FORCE_MULTIPLIER:1:2]&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--Consolidate the creature patching stuff in a single header--&amp;gt;&lt;br /&gt;
This function is run in ``build_body_from_rcp()`` right before tweaks are determined (See [[Lua functions#Creature patching]]). If a generated creature's size is greater than 500,000 Γ (about as much as an [[elephant]]), this patch adds {{token|POWER}} and the like to make forgotten beasts, titans, etc capable of impersonating [[Deity|deities]] and ruling [[civilization]]s.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=btc1_tweaks.titan_worship&lt;br /&gt;
|script=&lt;br /&gt;
-- make all large creatures into powers&lt;br /&gt;
btc1_tweaks.titan_worship=function(lines,options,add_to_body,add_to_body_unique,add_tweak_candidate)&lt;br /&gt;
	if options.body_size&amp;gt;=500000 then -- described as &amp;quot;very large&amp;quot;, graphics size cutoff&lt;br /&gt;
		options.can_learn=true -- for flavor text&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[INTELLIGENT]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[SUPERNATURAL]&amp;quot; -- knows secrets according to their spheres&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[POWER]&amp;quot; -- impersonates deities&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[SPREAD_EVIL_SPHERES_IF_RULER]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Adamantine alloys===&lt;br /&gt;
&lt;br /&gt;
You can add your own arbitrary generated objects, though as of right now there's no way to make settings for them. This allows for some ''truly'' wild stuff; here's a fun example: adamantine-metal alloys for every single non-special metal, giving you an average of the properties of them.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Adamantine alloys&lt;br /&gt;
|script=&lt;br /&gt;
preprocess.adamantine_alloys=function()&lt;br /&gt;
    if not random_object_parameters.main_world_randoms then return end&lt;br /&gt;
    local l=get_debug_logger(2)&lt;br /&gt;
    local lines={}&lt;br /&gt;
    local reaction_lines={}&lt;br /&gt;
    local reaction_names={}&lt;br /&gt;
    local adamantine=world.inorganic.inorganic.ADAMANTINE&lt;br /&gt;
    if not adamantine then return end&lt;br /&gt;
    local adamantine_color=world.descriptor.color[world.descriptor.color_pattern[adamantine.material.color_pattern.SOLID].color[1]]&lt;br /&gt;
    local adamantine_modulus = 2500000  --mildly arbitrary, just below the theoretical limit&lt;br /&gt;
    l(&amp;quot;Starting&amp;quot;)&lt;br /&gt;
    local done_category=false&lt;br /&gt;
    for k,v in ipairs(world.inorganic.inorganic) do&lt;br /&gt;
        if not v.flags.SPECIAL and v.material.flags.IS_METAL then&lt;br /&gt;
            l(v.token)&lt;br /&gt;
            local token=&amp;quot;GEN_ADAMANTINE_&amp;quot;..v.token&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[INORGANIC:&amp;quot;..token..&amp;quot;]&amp;quot;&lt;br /&gt;
            add_generated_info(lines)&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
            for kk,vv in pairs(v.material.adj) do&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[STATE_ADJ:&amp;quot;..kk..&amp;quot;:adamantine &amp;quot;..vv..&amp;quot;]&amp;quot; --&amp;quot;adamantine molten steel&amp;quot;? it's fine&lt;br /&gt;
            end&lt;br /&gt;
            for kk,vv in pairs(v.material.name) do&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[STATE_NAME:&amp;quot;..kk..&amp;quot;:adamantine &amp;quot;..vv..&amp;quot;]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            l(2)&lt;br /&gt;
            local mat_values={}&lt;br /&gt;
            -- Find the ratio for which you get closest to (but not below) 2000000 in the material's worst property&lt;br /&gt;
            local worst=math.min(v.material.yield.IMPACT,v.material.fracture.SHEAR)&lt;br /&gt;
            local wafers=1&lt;br /&gt;
            local bars=1&lt;br /&gt;
            if worst &amp;lt; 2000000 then&lt;br /&gt;
                local ratio = (2000000-3*worst)/1000000&lt;br /&gt;
                local best_diff=1&lt;br /&gt;
                for i=1,10 do&lt;br /&gt;
                    local wafer_amt=i*ratio&lt;br /&gt;
                    if wafer_amt&amp;gt;1 and wafer_amt&amp;lt;20 and math.ceil(wafer_amt)-wafer_amt&amp;lt;best_diff then&lt;br /&gt;
                        best_diff=math.ceil(wafer_amt)-wafer_amt&lt;br /&gt;
                        wafers=math.ceil(wafer_amt)&lt;br /&gt;
                        bars=i&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            local avg_denom=1/(bars*3+wafers) -- Multiplication just a bit faster than division, we're rounding at the end anyway&lt;br /&gt;
            local solid_cl=nil&lt;br /&gt;
            for kk,vv in pairs(v.material.color_pattern) do&lt;br /&gt;
                -- time to get silly&lt;br /&gt;
                local this_color=world.descriptor.color[world.descriptor.color_pattern[vv].color[1]]&lt;br /&gt;
                local wanted_color={&lt;br /&gt;
                    r=(this_color.r*bars*3+adamantine_color.r*wafers)*avg_denom,&lt;br /&gt;
                    g=(this_color.g*bars*3+adamantine_color.g*wafers)*avg_denom,&lt;br /&gt;
                    b=(this_color.b*bars*3+adamantine_color.b*wafers)*avg_denom,&lt;br /&gt;
                }&lt;br /&gt;
                local best_total_diff=1000000000&lt;br /&gt;
                local best_clp=nil&lt;br /&gt;
                for _,clp in ipairs(world.descriptor.color_pattern) do&lt;br /&gt;
                    if clp.pattern==&amp;quot;MONOTONE&amp;quot; then&lt;br /&gt;
                        local cl=world.descriptor.color[clp.color[1]]&lt;br /&gt;
                        local diff=math.abs(wanted_color.r-cl.r)+math.abs(wanted_color.b-cl.b)+math.abs(wanted_color.g-cl.g)&lt;br /&gt;
                        if diff&amp;lt;best_total_diff then&lt;br /&gt;
                            best_clp=clp&lt;br /&gt;
                            best_total_diff=diff&lt;br /&gt;
                        end&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[STATE_COLOR:&amp;quot;..kk..&amp;quot;:&amp;quot;..best_clp.token..&amp;quot;]&amp;quot;&lt;br /&gt;
                if kk==&amp;quot;SOLID&amp;quot; then solid_cl=world.descriptor.color[best_clp.color[1]] end&lt;br /&gt;
            end&lt;br /&gt;
            local color_str=solid_cl.col_f..&amp;quot;:0:&amp;quot;..solid_cl.col_br&lt;br /&gt;
            l(color_str)&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[DISPLAY_COLOR:&amp;quot;..color_str..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[BUILD_COLOR:&amp;quot;..color_str..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[ITEMS_METAL][ITEMS_HARD][ITEMS_SCALED][ITEMS_BARRED]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
            if v.material.flags.ITEMS_DIGGER then&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[ITEMS_DIGGER]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            local function new_value(str)&lt;br /&gt;
                mat_values[str]=mat_values[str] or math.floor((adamantine.material[str]*wafers+v.material[str]*bars*3)*avg_denom+0.5)&lt;br /&gt;
                l(str,mat_values[str])&lt;br /&gt;
                return mat_values[str]&lt;br /&gt;
            end&lt;br /&gt;
            local function new_value_nested(str1,str2)&lt;br /&gt;
                mat_values[str1..str2]=mat_values[str1..str2] or math.floor((adamantine.material[str1][str2]*wafers+v.material[str1][str2]*bars*3)/(bars*3+wafers)+0.5)&lt;br /&gt;
                l(str1..str2,mat_values[str1..str2])&lt;br /&gt;
                return mat_values[str1..str2]&lt;br /&gt;
            end&lt;br /&gt;
            if new_value_nested(&amp;quot;fracture&amp;quot;,&amp;quot;SHEAR&amp;quot;)&amp;gt;170000 or new_value_nested(&amp;quot;yield&amp;quot;,&amp;quot;IMPACT&amp;quot;)&amp;gt;245000 then&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[ITEMS_WEAPON][ITEMS_AMMO]&amp;quot;&lt;br /&gt;
                if new_value(&amp;quot;solid_density&amp;quot;)&amp;lt;10000 then&lt;br /&gt;
                    lines[#lines+1]=&amp;quot;[ITEMS_WEAPON_RANGED][ITEMS_ARMOR]&amp;quot;&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MATERIAL_VALUE:&amp;quot;..new_value(&amp;quot;base_value&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[SPEC_HEAT:&amp;quot;..new_value(&amp;quot;temp_spec_heat&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MELTING_POINT:&amp;quot;..new_value(&amp;quot;temp_melting_point&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[BOILING_POINT:&amp;quot;..new_value(&amp;quot;temp_boiling_point&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[SOLID_DENSITY:&amp;quot;..new_value(&amp;quot;solid_density&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[LIQUID_DENSITY:&amp;quot;..new_value(&amp;quot;liquid_density&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MOLAR_MASS:&amp;quot;..new_value(&amp;quot;molar_mass&amp;quot;)..&amp;quot;]&amp;quot; -- i don't think this is actually correct&lt;br /&gt;
            for _,thing in ipairs({&amp;quot;yield&amp;quot;,&amp;quot;fracture&amp;quot;}) do&lt;br /&gt;
                for force,_ in pairs(v.material[thing]) do&lt;br /&gt;
                    lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_&amp;quot;..string.upper(thing)..&amp;quot;:&amp;quot;..new_value_nested(thing,force)..&amp;quot;]&amp;quot;&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            for _,force in ipairs(&amp;quot;IMPACT&amp;quot;,&amp;quot;COMPRESSIVE&amp;quot;,&amp;quot;TENSILE&amp;quot;,&amp;quot;TORSION&amp;quot;,&amp;quot;SHEAR&amp;quot;,&amp;quot;BENDING&amp;quot;) do&lt;br /&gt;
                local modulus = v.yield[force] / v.elasticity[force]&lt;br /&gt;
                local average_modulus = (adamantine_modulus*wafers + modulus*bars*3)*avg_denom&lt;br /&gt;
                local strain_at_yield = math.floor(new_value_nested(&amp;quot;yield&amp;quot;,force) / average_modulus + 0.5) -- usually zero, but can be 1 or 2 sometimes&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_YIELD:&amp;quot;..new_value_nested(&amp;quot;yield&amp;quot;,force)..&amp;quot;]&amp;quot;&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_FRACTURE:&amp;quot;..new_value_nested(&amp;quot;fracture&amp;quot;,force)..&amp;quot;]&amp;quot;&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_STRAIN_AT_YIELD:&amp;quot;..strain_at_yield..&amp;quot;]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MAX_EDGE:&amp;quot;..new_value(&amp;quot;max_edge&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            local reaction_token=token..&amp;quot;_MAKING&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[REACTION:&amp;quot;..reaction_token..&amp;quot;]&amp;quot;&lt;br /&gt;
            add_generated_info(reaction_lines)&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[NAME:make adamantine &amp;quot;..v.material.name.SOLID..&amp;quot; (use bars)]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[BUILDING:SMELTER:NONE]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[REAGENT:A:&amp;quot;..tostring(150*wafers)..&amp;quot;:BAR:NO_SUBTYPE:METAL:ADAMANTINE]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[REAGENT:B:&amp;quot;..tostring(150*bars)..&amp;quot;:BAR:NO_SUBTYPE:METAL:&amp;quot;..v.token..&amp;quot;]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[PRODUCT:100:&amp;quot;..tostring(bars+wafers)..&amp;quot;:BAR:NO_SUBTYPE:METAL:&amp;quot;..token..&amp;quot;][PRODUCT_DIMENSION:150]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[FORTRESS_MODE_ENABLED]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY:ADAMANTINE_ALLOYS]&amp;quot;&lt;br /&gt;
            if not done_category then&lt;br /&gt;
                done_category=true&lt;br /&gt;
                reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY_NAME:Adamantine alloys]&amp;quot;&lt;br /&gt;
                reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY_DESCRIPTION:Debase adamantine with other metals to get extremely strong alloys.]&amp;quot;&lt;br /&gt;
                reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY_KEY:CUSTOM_SHIFT_A]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[FUEL]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[SKILL:SMELT]&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    local entity_lines={}&lt;br /&gt;
    raws.register_inorganics(lines)&lt;br /&gt;
    -- not used in vanilla right now, due to lack of instruments, but you CAN do this&lt;br /&gt;
    raws.register_reactions(reaction_lines)&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:Modding Examples]]&lt;br /&gt;
[[Category:Lua|S]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Template:V50_weapons&amp;diff=311667</id>
		<title>Template:V50 weapons</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Template:V50_weapons&amp;diff=311667"/>
		<updated>2025-11-17T21:53:46Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Added great picks and digging group&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
| name  = v50 weapons&lt;br /&gt;
| title = [[Weapon]]s&lt;br /&gt;
| state = {{{state|}}}&lt;br /&gt;
| basestyle = background-color: #d0cbc2;&lt;br /&gt;
&lt;br /&gt;
| group1 = [[Archery|Ranged]] and [[ammunition]]&lt;br /&gt;
| list1  = [[Blowgun]] and [[blowdart]]{{*}} [[Bow]] and [[arrow]]{{*}} [[Crossbow]] and [[bolt]]&lt;br /&gt;
&lt;br /&gt;
| group2 = Blunt&lt;br /&gt;
| list2  = [[Flail]]{{*}} [[Mace]]{{*}} [[Maul]]{{*}} [[Training weapon]]s{{*}} [[War hammer]]{{*}} [[Whip]]&lt;br /&gt;
&lt;br /&gt;
| group3 = Edged (slashing)&lt;br /&gt;
| list3  = [[Battle axe]]{{*}} [[Great axe]]{{*}} [[Halberd]]{{*}} [[Long sword]]{{*}} [[Scimitar]]{{*}} [[Scourge]]{{*}} [[Short sword]]{{*}} [[Two-handed sword]]&lt;br /&gt;
&lt;br /&gt;
| group4 = Edged (piercing)&lt;br /&gt;
| list4  = [[Dagger]]{{*}} [[Morningstar]]{{*}} [[Pike (weapon)|Pike]]{{*}} [[Spear]]&lt;br /&gt;
&lt;br /&gt;
| group5 = Digging&lt;br /&gt;
| list5  = [[Pick]]{{*}} [[Great pick]]&lt;br /&gt;
&lt;br /&gt;
| below = See also: [[Attack types]]{{*}} [[Tool]]{{*}} [[Material science]]&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;[[Category:Navigation templates]]&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;{{Category|Weapons}}[[ru:{{PAGENAME}}]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=List_of_creatures_by_adult_size&amp;diff=311666</id>
		<title>List of creatures by adult size</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=List_of_creatures_by_adult_size&amp;diff=311666"/>
		<updated>2025-11-17T21:46:22Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Great pick sizing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
To arrange the list, click on any column header.  Click again on that column to arrange in reverse.&lt;br /&gt;
&lt;br /&gt;
[[#end of list|Jump to bottom ↓]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;top of list&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Creature&lt;br /&gt;
! Sprite&lt;br /&gt;
! Adult size&lt;br /&gt;
! data-sort-type=&amp;quot;number&amp;quot; | Adolescent size&lt;br /&gt;
! data-sort-type=&amp;quot;number&amp;quot; | Child size&lt;br /&gt;
|-&lt;br /&gt;
| [[Ant]]&lt;br /&gt;
| [[File:Ant sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Beetle]]&lt;br /&gt;
| [[File:Beetle sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Blood gnat]]&lt;br /&gt;
| [[File:Blood gnat sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Brown recluse spider]]&lt;br /&gt;
| [[File:Brown recluse spider sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Bumblebee]]&lt;br /&gt;
| [[File:Bumblebee sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Damselfly]]&lt;br /&gt;
| [[File:Damselfly sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Dragonfly]]&lt;br /&gt;
| [[File:Dragonfly sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Firefly]]&lt;br /&gt;
| [[File:Firefly sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Fly]]&lt;br /&gt;
| [[File:Fly sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grasshopper]]&lt;br /&gt;
| [[File:Grasshopper sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Honey bee]]&lt;br /&gt;
| [[File:Honey bee sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Jumping spider]]&lt;br /&gt;
| [[File:Jumping spider sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Large roach]]&lt;br /&gt;
| [[File:Large roach sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Louse]]&lt;br /&gt;
| [[File:Louse sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Mantis]]&lt;br /&gt;
| [[File:Mantis sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Monarch butterfly]]&lt;br /&gt;
| [[File:Monarch butterfly sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Mosquito]]&lt;br /&gt;
| [[File:Mosquito sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Moth]]&lt;br /&gt;
| [[File:Moth sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Pixie]] &amp;lt;small&amp;gt;'''(smallest sentient being)'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Pixie sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Slug]]&lt;br /&gt;
| [[File:Slug sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Snail]]&lt;br /&gt;
| [[File:Snail sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Termite]]&lt;br /&gt;
| [[File:Termite sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Thrips]]&lt;br /&gt;
| [[File:Thrips sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Tick]]&lt;br /&gt;
| [[File:Tick sprite.png|center]]&lt;br /&gt;
| 1&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Bark scorpion]]&lt;br /&gt;
| [[File:Bark scorpion sprite.png|center]]&lt;br /&gt;
| 3&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Bushtit]]&lt;br /&gt;
| [[File:Bushtit sprite.png|center]]&lt;br /&gt;
| 5&lt;br /&gt;
| n/a&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| [[Acorn fly]]&lt;br /&gt;
| [[File:Acorn fly sprite.png|center]]&lt;br /&gt;
| 20&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Sparrow]]&lt;br /&gt;
| [[File:Sparrow sprite.png|center]]&lt;br /&gt;
| 30&lt;br /&gt;
| n/a&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| [[Oriole]]&lt;br /&gt;
| [[File:Oriole sprite.png|center]]&lt;br /&gt;
| 40&lt;br /&gt;
| n/a&lt;br /&gt;
| 7&lt;br /&gt;
|-&lt;br /&gt;
| [[Wren]]&lt;br /&gt;
| [[File:Wren sprite.png|center]]&lt;br /&gt;
| 40&lt;br /&gt;
| n/a&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| [[Cardinal]]&lt;br /&gt;
| [[File:Cardinal sprite.png|center]]&lt;br /&gt;
| 50&lt;br /&gt;
| n/a&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| [[Cave spider]]&lt;br /&gt;
| [[File:Cave spider sprite.png|center]]&lt;br /&gt;
| 50&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Leopard gecko]]&lt;br /&gt;
| [[File:Leopard gecko sprite.png|center]]&lt;br /&gt;
| 50&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Red-winged blackbird]]&lt;br /&gt;
| [[File:Red-winged blackbird sprite.png|center]]&lt;br /&gt;
| 50&lt;br /&gt;
| n/a&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Peach-faced lovebird]]&lt;br /&gt;
| [[File:Peach faced lovebird sprite.png|center]]&lt;br /&gt;
| 60&lt;br /&gt;
| n/a&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| [[Anole]]&lt;br /&gt;
| [[File:Anole sprite.png|center]]&lt;br /&gt;
| 90&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Cockatiel]]&lt;br /&gt;
| [[File:Cockatiel sprite.png|center]]&lt;br /&gt;
| 90&lt;br /&gt;
| n/a&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Masked lovebird]]&lt;br /&gt;
| [[File:Masked lovebird sprite.png|center]]&lt;br /&gt;
| 90&lt;br /&gt;
| n/a&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| [[Bat]]&lt;br /&gt;
| [[File:Bat sprite.png|center]]&lt;br /&gt;
| 100&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Blue jay]]&lt;br /&gt;
| [[File:Blue jay sprite.png|center]]&lt;br /&gt;
| 100&lt;br /&gt;
| n/a&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Cave swallow]]&lt;br /&gt;
| [[File:Cave swallow sprite.png|center]]&lt;br /&gt;
| 100&lt;br /&gt;
| n/a&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Fairy]]&lt;br /&gt;
| [[File:Fairy sprite.png|center]]&lt;br /&gt;
| 100&lt;br /&gt;
| 50&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| [[Green tree frog]]&lt;br /&gt;
| [[File:Green tree frog sprite.png|center]]&lt;br /&gt;
| 100&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Leech]]&lt;br /&gt;
| [[File:Leech sprite.png|center]]&lt;br /&gt;
| 100&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Worm]]&lt;br /&gt;
| [[File:Worm sprite.png|center]]&lt;br /&gt;
| 100&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grackle]]&lt;br /&gt;
| [[File:Grackle sprite.png|center]]&lt;br /&gt;
| 120&lt;br /&gt;
| n/a&lt;br /&gt;
| 11&lt;br /&gt;
|-&lt;br /&gt;
| [[Parakeet]]&lt;br /&gt;
| [[File:Parakeet sprite.png|center]]&lt;br /&gt;
| 120&lt;br /&gt;
| n/a&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Adder]] &amp;lt;small&amp;gt;'''(smallest non-vermin)'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Adder sprite.png|center]]&lt;br /&gt;
| 150&lt;br /&gt;
| 75&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| [[Chameleon]]&lt;br /&gt;
| [[File:Chameleon sprite.png|center]]&lt;br /&gt;
| 150&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Hamster]]&lt;br /&gt;
| [[File:Hamster sprite.png|center]]&lt;br /&gt;
| 150&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Anchovy]]&lt;br /&gt;
| [[File:Anchovy sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Axolotl]]&lt;br /&gt;
| [[File:Axolotl sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Banded knifefish]]&lt;br /&gt;
| [[File:Banded knifefish sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Bat ray]]&lt;br /&gt;
| [[File:Bat ray sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Black bullhead]]&lt;br /&gt;
| [[File:Black bullhead sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Brook lamprey]]&lt;br /&gt;
| [[File:Brook lamprey sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Brown bullhead]]&lt;br /&gt;
| [[File:Brown bullhead sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Cap hopper]]&lt;br /&gt;
| [[File:Cap hopper sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Char]]&lt;br /&gt;
| [[File:Char sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Clown loach]]&lt;br /&gt;
| [[File:Clown loach sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Clownfish]]&lt;br /&gt;
| [[File:Clownfish sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Flounder]]&lt;br /&gt;
| [[File:Flounder sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Flying squirrel]]&lt;br /&gt;
| [[File:Flying squirrel sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Glasseye]]&lt;br /&gt;
| [[File:Glasseye sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Guppy]]&lt;br /&gt;
| [[File:Guppy sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Hagfish]]&lt;br /&gt;
| [[File:Hagfish sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Hake]]&lt;br /&gt;
| [[File:Hake sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Herring]]&lt;br /&gt;
| [[File:Herring sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Lizard]]&lt;br /&gt;
| [[File:Lizard sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Lorikeet]]&lt;br /&gt;
| [[File:Lorikeet sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Lungfish]]&lt;br /&gt;
| [[File:Lungfish sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Mackerel]]&lt;br /&gt;
| [[File:Mackerel sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Magpie]]&lt;br /&gt;
| [[File:Magpie sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Moon snail]]&lt;br /&gt;
| [[File:Moon snail sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Mussel]]&lt;br /&gt;
| [[File:Mussel sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Olm]]&lt;br /&gt;
| [[File:Olm sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Oyster]]&lt;br /&gt;
| [[File:Oyster sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Perch]]&lt;br /&gt;
| [[File:Perch sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Rainbow trout]]&lt;br /&gt;
| [[File:Rainbow trout sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Sailfin molly]]&lt;br /&gt;
| [[File:Sailfin molly sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Salmon]]&lt;br /&gt;
| [[File:Salmon sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Sea nettle jellyfish]]&lt;br /&gt;
| [[File:Sea nettle jellyfish sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Seahorse]]&lt;br /&gt;
| [[File:Seahorse sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Shad]]&lt;br /&gt;
| [[File:Shad sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Sole]]&lt;br /&gt;
| [[File:Sole sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Spotted ratfish]]&lt;br /&gt;
| [[File:Spotted_ratfish_sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Squid]]&lt;br /&gt;
| [[File:Squid sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Steelhead trout]]&lt;br /&gt;
| [[File:Steelhead trout sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Thornback ray]]&lt;br /&gt;
| [[File:Thornback ray sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Toad]]&lt;br /&gt;
| [[File:Toad sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Weasel]]&lt;br /&gt;
| [[File:Weasel sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| 100&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| [[White-spotted puffer]]&lt;br /&gt;
| [[File:White spotted puffer sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Yellow bullhead]]&lt;br /&gt;
| [[File:Yellow bullhead sprite.png|center]]&lt;br /&gt;
| 200&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Kestrel]]&lt;br /&gt;
| [[File:Kestrel sprite.png|center]]&lt;br /&gt;
| 250&lt;br /&gt;
| 125&lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
| [[Chipmunk]]&lt;br /&gt;
| [[File:Chipmunk sprite.png|center]]&lt;br /&gt;
| 300&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Demon rat]]&lt;br /&gt;
| [[File:Demon rat sprite.png|center]]&lt;br /&gt;
| 300&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Gray squirrel]]&lt;br /&gt;
| [[File:Gray squirrel sprite.png|center]]&lt;br /&gt;
| 300&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Moghopper]]&lt;br /&gt;
| [[File:Moghopper sprite.png|center]]&lt;br /&gt;
| 300&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Rat]]&lt;br /&gt;
| [[File:Rat sprite.png|center]]&lt;br /&gt;
| 300&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Red squirrel]]&lt;br /&gt;
| [[File:Red squirrel sprite.png|center]]&lt;br /&gt;
| 300&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Stoat]]&lt;br /&gt;
| [[File:Stoat sprite.png|center]]&lt;br /&gt;
| 350&lt;br /&gt;
| 175&lt;br /&gt;
| 35&lt;br /&gt;
|-&lt;br /&gt;
| [[Grey parrot]]&lt;br /&gt;
| [[File:Grey parrot sprite.png|center]]&lt;br /&gt;
| 400&lt;br /&gt;
| 200&lt;br /&gt;
| 40&lt;br /&gt;
|-&lt;br /&gt;
| [[Barn owl]]&lt;br /&gt;
| [[File:Barn owl sprite.png|center]]&lt;br /&gt;
| 500&lt;br /&gt;
| 250&lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
| [[Chinchilla]]&lt;br /&gt;
| [[File:Chinchilla sprite.png|center]]&lt;br /&gt;
| 500&lt;br /&gt;
| 250&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| [[Copperhead snake]]&lt;br /&gt;
| [[File:Copperhead snake sprite.png|center]]&lt;br /&gt;
| 500&lt;br /&gt;
| 300&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| [[Crow]]&lt;br /&gt;
| [[File:Crow sprite.png|center]]&lt;br /&gt;
| 500&lt;br /&gt;
| n/a&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| [[Nautilus]]&lt;br /&gt;
| [[File:Nautilus sprite.png|center]]&lt;br /&gt;
| 500&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Phantom spider]]&lt;br /&gt;
| [[File:Phantom spider sprite.png|center]]&lt;br /&gt;
| 500&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Pond turtle]]&lt;br /&gt;
| [[File:Pond turtle sprite.png|center]]&lt;br /&gt;
| 500&lt;br /&gt;
| n/a&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| [[Rabbit]]&lt;br /&gt;
| [[File:Rabbit sprite.png|center]]&lt;br /&gt;
| 500&lt;br /&gt;
| 250&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| [[Skink]]&lt;br /&gt;
| [[File:Skink sprite.png|center]]&lt;br /&gt;
| 500&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Cave lobster]]&lt;br /&gt;
| [[File:Cave lobster sprite.png|center]]&lt;br /&gt;
| 600&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Lion tamarin]]&lt;br /&gt;
| [[File:Lion tamarin sprite.png|center]]&lt;br /&gt;
| 620&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Puffin]]&lt;br /&gt;
| [[File:Puffin sprite.png|center]]&lt;br /&gt;
| 750&lt;br /&gt;
| 375&lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
| [[Cavy]]&lt;br /&gt;
| [[File:Cavy sprite.png|center]]&lt;br /&gt;
| 800&lt;br /&gt;
| 400&lt;br /&gt;
| 80&lt;br /&gt;
|-&lt;br /&gt;
| [[Hedgehog]]&lt;br /&gt;
| [[File:Hedgehog sprite.png|center]]&lt;br /&gt;
| 800&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Mink]]&lt;br /&gt;
| [[File:Mink sprite.png|center]]&lt;br /&gt;
| 800&lt;br /&gt;
| 400&lt;br /&gt;
| 80&lt;br /&gt;
|-&lt;br /&gt;
| '''Butchering produces skull only'''&lt;br /&gt;
|&lt;br /&gt;
| 999&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Cave fish]]&lt;br /&gt;
| [[File:Cave fish sprite.png|center]]&lt;br /&gt;
| 1,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Creepy crawler]]&lt;br /&gt;
| [[File:Creepy crawler sprite.png|center]]&lt;br /&gt;
| 1,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Cuttlefish]]&lt;br /&gt;
| [[File:Cuttlefish sprite.png|center]]&lt;br /&gt;
| 1,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Duck]]&lt;br /&gt;
| [[File:Ducks sprite anim.gif|center]]&lt;br /&gt;
| 1,000&lt;br /&gt;
| 500&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| [[Fire snake]]&lt;br /&gt;
| [[File:Fire snake sprite.png|center]]&lt;br /&gt;
| 1,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Kea]]&lt;br /&gt;
| [[File:Kea sprite.png|center]]&lt;br /&gt;
| 1,000&lt;br /&gt;
| 500&lt;br /&gt;
| 60&lt;br /&gt;
|-&lt;br /&gt;
| [[Knuckle worm]]&lt;br /&gt;
| [[File:Knuckle worm sprite.png|center]]&lt;br /&gt;
| 1,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Purring maggot]]&lt;br /&gt;
| [[File:Purring maggot sprite.png|center]]&lt;br /&gt;
| 1,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Two-legged rhino lizard]]&lt;br /&gt;
| [[File:Two legged rhino lizard sprite.png|center]]&lt;br /&gt;
| 1,000&lt;br /&gt;
| n/a&lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
| [[Peregrine falcon]]&lt;br /&gt;
| [[File:Peregrine falcon sprite.png|center]]&lt;br /&gt;
| 1,100&lt;br /&gt;
| 550&lt;br /&gt;
| 44&lt;br /&gt;
|-&lt;br /&gt;
| [[Raven]]&lt;br /&gt;
| [[File:Raven sprite.png|center]]&lt;br /&gt;
| 1,200&lt;br /&gt;
| n/a&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| [[Buzzard]]&lt;br /&gt;
| [[File:Buzzard sprite.png|center]]&lt;br /&gt;
| 1,400&lt;br /&gt;
| 700&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| [[Guineafowl]]&lt;br /&gt;
| [[File:Guineafowl sprite.png|center]]&lt;br /&gt;
| 1,500&lt;br /&gt;
| 750&lt;br /&gt;
| 40&lt;br /&gt;
|-&lt;br /&gt;
| [[Kingsnake]]&lt;br /&gt;
| [[File:Kingsnake sprite.png|center]]&lt;br /&gt;
| 1,500&lt;br /&gt;
| 750&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| [[Little penguin]]&lt;br /&gt;
| [[File:Little penguin sprite.png|center]]&lt;br /&gt;
| 1,500&lt;br /&gt;
| 750&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| [[Fluffy wambler]] &amp;lt;small&amp;gt;'''(largest vermin)'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Fluffy wambler sprite.png|center]]&lt;br /&gt;
| 2,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Fox squirrel]] &amp;lt;small&amp;gt;'''(largest vermin)'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Fox squirrel sprite.png|center]]&lt;br /&gt;
| 2,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Gila monster]]&lt;br /&gt;
| [[File:Gila monster sprite.png|center]]&lt;br /&gt;
| 2,000&lt;br /&gt;
| 1,000&lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
| [[Great horned owl]]&lt;br /&gt;
| [[File:Great horned owl sprite.png|center]]&lt;br /&gt;
| 2,000&lt;br /&gt;
| 1,000&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| [[Horseshoe crab]]&lt;br /&gt;
| [[File:Horseshoe crab sprite.png|center]]&lt;br /&gt;
| 2,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Osprey]]&lt;br /&gt;
| [[File:Osprey sprite.png|center]]&lt;br /&gt;
| 2,000&lt;br /&gt;
| 1,000&lt;br /&gt;
| 55&lt;br /&gt;
|-&lt;br /&gt;
| [[Platypus]]&lt;br /&gt;
| [[File:Platypus sprite.png|center]]&lt;br /&gt;
| 2,000&lt;br /&gt;
| 1,000&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| [[Snowy owl]]&lt;br /&gt;
| [[File:Snowy owl sprite.png|center]]&lt;br /&gt;
| 2,000&lt;br /&gt;
| 1,000&lt;br /&gt;
| 60&lt;br /&gt;
|-&lt;br /&gt;
| [[Aye-aye]]&lt;br /&gt;
| [[File:Aye aye sprite.png|center]]&lt;br /&gt;
| 2,500&lt;br /&gt;
| 1,250&lt;br /&gt;
| 250&lt;br /&gt;
|-&lt;br /&gt;
| [[Hornbill]]&lt;br /&gt;
| [[File:Hornbill sprite.png|center]]&lt;br /&gt;
| 2,500&lt;br /&gt;
| 1,250&lt;br /&gt;
| 48&lt;br /&gt;
|-&lt;br /&gt;
| [[Kiwi]]&lt;br /&gt;
| [[File:Kiwi sprite.png|center]]&lt;br /&gt;
| 2,500&lt;br /&gt;
| 1,250&lt;br /&gt;
| 430&lt;br /&gt;
|-&lt;br /&gt;
| [[Chicken]]&lt;br /&gt;
| [[File:Chickens sprite anim.gif|center]]&lt;br /&gt;
| 3,000&lt;br /&gt;
| 1,500&lt;br /&gt;
| 60&lt;br /&gt;
|-&lt;br /&gt;
| [[Groundhog]]&lt;br /&gt;
| [[File:Groundhog sprite.png|center]]&lt;br /&gt;
| 3,000&lt;br /&gt;
| 1,500&lt;br /&gt;
| 300&lt;br /&gt;
|-&lt;br /&gt;
| [[Kakapo]]&lt;br /&gt;
| [[File:Kakapo sprite.png|center]]&lt;br /&gt;
| 3,000&lt;br /&gt;
| 1,500&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| [[Mongoose]]&lt;br /&gt;
| [[File:Mongoose sprite.png|center]]&lt;br /&gt;
| 3,000&lt;br /&gt;
| 1,500&lt;br /&gt;
| 300&lt;br /&gt;
|-&lt;br /&gt;
| [[Opossum]]&lt;br /&gt;
| [[File:Opossum sprite.png|center]]&lt;br /&gt;
| 3,000&lt;br /&gt;
| 1,500&lt;br /&gt;
| 300&lt;br /&gt;
|-&lt;br /&gt;
| [[White stork]]&lt;br /&gt;
| [[File:White stork sprite.png|center]]&lt;br /&gt;
| 3,000&lt;br /&gt;
| 1,500&lt;br /&gt;
| 100&lt;br /&gt;
|-&lt;br /&gt;
| [[Capuchin]]&lt;br /&gt;
| [[File:Capuchin sprite.png|center]]&lt;br /&gt;
| 3,500&lt;br /&gt;
| 1,750&lt;br /&gt;
| 350&lt;br /&gt;
|-&lt;br /&gt;
| [[Hare]]&lt;br /&gt;
| [[File:Hare sprite.png|center]]&lt;br /&gt;
| 3,500&lt;br /&gt;
| 1,750&lt;br /&gt;
| 350&lt;br /&gt;
|-&lt;br /&gt;
| [[Blue peafowl]]&lt;br /&gt;
| [[File:Peafowls sprite anim.gif|center]]&lt;br /&gt;
| 4,000&lt;br /&gt;
| 2,000&lt;br /&gt;
| 100&lt;br /&gt;
|-&lt;br /&gt;
| [[Eagle]]&lt;br /&gt;
| [[File:Eagle sprite.png|center]]&lt;br /&gt;
| 4,000&lt;br /&gt;
| 2,000&lt;br /&gt;
| 140&lt;br /&gt;
|-&lt;br /&gt;
| [[Iguana]]&lt;br /&gt;
| [[File:Iguana sprite.png|center]]&lt;br /&gt;
| 4,000&lt;br /&gt;
| 500&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| [[Penguin]]&lt;br /&gt;
| [[File:Penguin sprite.png|center]]&lt;br /&gt;
| 4,000&lt;br /&gt;
| 2,000&lt;br /&gt;
| 120&lt;br /&gt;
|-&lt;br /&gt;
| [[Skunk]]&lt;br /&gt;
| [[File:Skunk sprite.png|center]]&lt;br /&gt;
| 4,000&lt;br /&gt;
| 2,000&lt;br /&gt;
| 400&lt;br /&gt;
|-&lt;br /&gt;
| [[Goose]]&lt;br /&gt;
| [[File:Goose sprite.png|center]]&lt;br /&gt;
| 4,500&lt;br /&gt;
| 2,250&lt;br /&gt;
| 150&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small to wield daggers or spears two-handed'''&lt;br /&gt;
|&lt;br /&gt;
| 4,999&lt;br /&gt;
| 4,999&lt;br /&gt;
| 4,999&lt;br /&gt;
|-&lt;br /&gt;
| [[Black mamba]]&lt;br /&gt;
| [[File:Black mamba sprite.png|center]]&lt;br /&gt;
| 5,000&lt;br /&gt;
| 2,500&lt;br /&gt;
| 40&lt;br /&gt;
|-&lt;br /&gt;
| [[Cat]]&lt;br /&gt;
| [[File:Cat sprite.png|center]]&lt;br /&gt;
| 5,000&lt;br /&gt;
| 2,000&lt;br /&gt;
| 500&lt;br /&gt;
|-&lt;br /&gt;
| [[Hungry head]]&lt;br /&gt;
| [[File:Hungry head sprite.png|center]]&lt;br /&gt;
| 5,000&lt;br /&gt;
| 2,000&lt;br /&gt;
| 200&lt;br /&gt;
|-&lt;br /&gt;
| [[Octopus]]&lt;br /&gt;
| [[File:Octopus sprite.png|center]]&lt;br /&gt;
| 5,000&lt;br /&gt;
| n/a&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| [[Pangolin]]&lt;br /&gt;
| [[File:Pangolin sprite.png|center]]&lt;br /&gt;
| 5,000&lt;br /&gt;
| 2,500&lt;br /&gt;
| 500&lt;br /&gt;
|-&lt;br /&gt;
| [[Red panda]]&lt;br /&gt;
| [[File:Red panda sprite.png|center]]&lt;br /&gt;
| 5,000&lt;br /&gt;
| 2,500&lt;br /&gt;
| 500&lt;br /&gt;
|-&lt;br /&gt;
| [[Rhesus macaque]]&lt;br /&gt;
| [[File:Rhesus macaque sprite.png|center]]&lt;br /&gt;
| 5,000&lt;br /&gt;
| 2,500&lt;br /&gt;
| 500&lt;br /&gt;
|-&lt;br /&gt;
| [[Stingray]]&lt;br /&gt;
| [[File:Stingray sprite.png|center]]&lt;br /&gt;
| 5,000&lt;br /&gt;
| 1,000&lt;br /&gt;
| 500&lt;br /&gt;
|-&lt;br /&gt;
| [[Turkey]]&lt;br /&gt;
| [[File:Turkey sprite.png|center]]&lt;br /&gt;
| 5,000&lt;br /&gt;
| 2,500&lt;br /&gt;
| 85&lt;br /&gt;
|-&lt;br /&gt;
| [[Desert tortoise]]&lt;br /&gt;
| [[File:Desert tortoise sprite.png|center]]&lt;br /&gt;
| 5,500&lt;br /&gt;
| 2,750&lt;br /&gt;
| 40&lt;br /&gt;
|-&lt;br /&gt;
| [[Bilou]]&lt;br /&gt;
| [[File:Bilou sprite.png|center]]&lt;br /&gt;
| 6,000&lt;br /&gt;
| 3,000&lt;br /&gt;
| 600&lt;br /&gt;
|-&lt;br /&gt;
| [[Black-crested gibbon]]&lt;br /&gt;
| [[File:Black crested gibbon sprite.png|center]]&lt;br /&gt;
| 6,000&lt;br /&gt;
| 3,000&lt;br /&gt;
| 600&lt;br /&gt;
|-&lt;br /&gt;
| [[Black-handed gibbon]]&lt;br /&gt;
| [[File:Black handed gibbon sprite.png|center]]&lt;br /&gt;
| 6,000&lt;br /&gt;
| 3,000&lt;br /&gt;
| 600&lt;br /&gt;
|-&lt;br /&gt;
| [[Coati]]&lt;br /&gt;
| [[File:Coati sprite.png|center]]&lt;br /&gt;
| 6,000&lt;br /&gt;
| 3,000&lt;br /&gt;
| 600&lt;br /&gt;
|-&lt;br /&gt;
| [[Fire imp]]&lt;br /&gt;
| [[File:Fire imp sprite.png|center]]&lt;br /&gt;
| 6,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Fox]]&lt;br /&gt;
| [[File:Fox sprite.png|center]]&lt;br /&gt;
| 6,000&lt;br /&gt;
| 3,000&lt;br /&gt;
| 600&lt;br /&gt;
|-&lt;br /&gt;
| [[Gray gibbon]]&lt;br /&gt;
| [[File:Gray gibbon sprite.png|center]]&lt;br /&gt;
| 6,000&lt;br /&gt;
| 3,000&lt;br /&gt;
| 600&lt;br /&gt;
|-&lt;br /&gt;
| [[King cobra]]&lt;br /&gt;
| [[File:king cobra sprite.png|center]]&lt;br /&gt;
| 6,000&lt;br /&gt;
| 3,000&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| [[Loon]]&lt;br /&gt;
| [[File:Loon sprite.png|center]]&lt;br /&gt;
| 6,000&lt;br /&gt;
| 3,000&lt;br /&gt;
| 150&lt;br /&gt;
|-&lt;br /&gt;
| [[Pileated gibbon]]&lt;br /&gt;
| [[File:Pileated gibbon sprite.png|center]]&lt;br /&gt;
| 6,000&lt;br /&gt;
| 3,000&lt;br /&gt;
| 600&lt;br /&gt;
|-&lt;br /&gt;
| [[Silvery gibbon]]&lt;br /&gt;
| [[File:Silvery gibbon sprite.png|center]]&lt;br /&gt;
| 6,000&lt;br /&gt;
| 3,000&lt;br /&gt;
| 600&lt;br /&gt;
|-&lt;br /&gt;
| [[Sloth]]&lt;br /&gt;
| [[File:Sloth sprite.png|center]]&lt;br /&gt;
| 6,000&lt;br /&gt;
| 3,000&lt;br /&gt;
| 600&lt;br /&gt;
|-&lt;br /&gt;
| [[White-browed gibbon]]&lt;br /&gt;
| [[File:White browed gibbon sprite.png|center]]&lt;br /&gt;
| 6,000&lt;br /&gt;
| 3,000&lt;br /&gt;
| 600&lt;br /&gt;
|-&lt;br /&gt;
| [[White-handed gibbon]]&lt;br /&gt;
| [[File:White handed gibbon sprite.png|center]]&lt;br /&gt;
| 6,000&lt;br /&gt;
| 3,000&lt;br /&gt;
| 600&lt;br /&gt;
|-&lt;br /&gt;
| [[Raccoon]]&lt;br /&gt;
| [[File:Raccoon sprite.png|center]]&lt;br /&gt;
| 7,000&lt;br /&gt;
| 3,500&lt;br /&gt;
| 700&lt;br /&gt;
|-&lt;br /&gt;
| [[Rattlesnake]]&lt;br /&gt;
| [[File:Rattlesnake sprite.png|center]]&lt;br /&gt;
| 7,000&lt;br /&gt;
| 3,500&lt;br /&gt;
| 40&lt;br /&gt;
|-&lt;br /&gt;
| [[Armadillo]]&lt;br /&gt;
| [[File:Armadillo sprite.png|center]]&lt;br /&gt;
| 7,500&lt;br /&gt;
| 3,750&lt;br /&gt;
| 750&lt;br /&gt;
|-&lt;br /&gt;
| [[Albatross]]&lt;br /&gt;
| [[File:Albatross sprite.png|center]]&lt;br /&gt;
| 8,000&lt;br /&gt;
| 4,000&lt;br /&gt;
| 300&lt;br /&gt;
|-&lt;br /&gt;
| [[Bobcat]]&lt;br /&gt;
| [[File:Bobcat sprite.png|center]]&lt;br /&gt;
| 8,000&lt;br /&gt;
| 4,000&lt;br /&gt;
| 800&lt;br /&gt;
|-&lt;br /&gt;
| [[Crab]]&lt;br /&gt;
| [[File:Crab sprite.png|center]]&lt;br /&gt;
| 8,000&lt;br /&gt;
| n/a&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| [[Bushmaster]]&lt;br /&gt;
| [[File:Bushmaster sprite.png|center]]&lt;br /&gt;
| 8,500&lt;br /&gt;
| 4,250&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| [[Spider monkey]]&lt;br /&gt;
| [[File:Spider monkey sprite.png|center]]&lt;br /&gt;
| 8,500&lt;br /&gt;
| 4,250&lt;br /&gt;
| 850&lt;br /&gt;
|-&lt;br /&gt;
| [[Honey badger]] &amp;lt;small&amp;gt;(female)&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:honey badger sprite.png|center]]&lt;br /&gt;
| 9,000&lt;br /&gt;
| 4,500&lt;br /&gt;
| 900&lt;br /&gt;
|-&lt;br /&gt;
| [[Porcupine]]&lt;br /&gt;
| [[File:Porcupine sprite.png|center]]&lt;br /&gt;
| 9,000&lt;br /&gt;
| 4,500&lt;br /&gt;
| 900&lt;br /&gt;
|-&lt;br /&gt;
| [[Vulture]]&lt;br /&gt;
| [[File:Vulture sprite.png|center]]&lt;br /&gt;
| 9,000&lt;br /&gt;
| 4,500&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small for [[pressure plate]]s'''&lt;br /&gt;
|&lt;br /&gt;
| 9,999&lt;br /&gt;
| 9,999&lt;br /&gt;
| 9,999&lt;br /&gt;
|-&lt;br /&gt;
| [[Bugbat]]&lt;br /&gt;
| [[File:Bugbat sprite.png|center]]&lt;br /&gt;
| 10,000&lt;br /&gt;
| 5,000&lt;br /&gt;
| 1,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Crundle]]&lt;br /&gt;
| [[File:Crundle sprite.png|center]]&lt;br /&gt;
| 10,000&lt;br /&gt;
| 1,000&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| [[Echidna]]&lt;br /&gt;
| [[File:Echidna sprite.png|center]]&lt;br /&gt;
| 10,000&lt;br /&gt;
| 5,000&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| [[Gremlin]] &amp;lt;small&amp;gt;'''(smallest non-vermin sapient being)'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Gremlin sprite.png|center]]&lt;br /&gt;
| 10,000&lt;br /&gt;
| 2,500&lt;br /&gt;
| 500&lt;br /&gt;
|-&lt;br /&gt;
| [[Hoary marmot]]&lt;br /&gt;
| [[File:Hoary marmot sprite.png|center]]&lt;br /&gt;
| 10,000&lt;br /&gt;
| 5,000&lt;br /&gt;
| 1,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Koala]]&lt;br /&gt;
| [[File:Koala sprite.png|center]]&lt;br /&gt;
| 10,000&lt;br /&gt;
| 5,000&lt;br /&gt;
| 1,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Milkfish]]&lt;br /&gt;
| [[File:Milkfish sprite.png|center]]&lt;br /&gt;
| 10,000&lt;br /&gt;
| 4,000&lt;br /&gt;
| 1,000&lt;br /&gt;
|-&lt;br /&gt;
| [[River otter]]&lt;br /&gt;
| [[File:River otter sprite.png|center]]&lt;br /&gt;
| 10,000&lt;br /&gt;
| 5,000&lt;br /&gt;
| 1,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Swan]]&lt;br /&gt;
| [[File:Swan sprite.png|center]]&lt;br /&gt;
| 10,000&lt;br /&gt;
| 5,000&lt;br /&gt;
| 300&lt;br /&gt;
|-&lt;br /&gt;
| [[Siamang]]&lt;br /&gt;
| [[File:Siamang sprite.png|center]]&lt;br /&gt;
| 12,000&lt;br /&gt;
| 6,000&lt;br /&gt;
| 1,200&lt;br /&gt;
|-&lt;br /&gt;
| [[Wagon]]&lt;br /&gt;
| [[File:Wagon sprite.png|center|35px]]&lt;br /&gt;
| 12,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Honey badger]] &amp;lt;small&amp;gt;(male)&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Honey badger sprite.png|center]]&lt;br /&gt;
| 14,000&lt;br /&gt;
| 7,000&lt;br /&gt;
| 900&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small to wield crossbow, bow or blowgun'''&lt;br /&gt;
|&lt;br /&gt;
| 14,999&lt;br /&gt;
| 14,999&lt;br /&gt;
| 14,999&lt;br /&gt;
|-&lt;br /&gt;
| [[Angelshark]]&lt;br /&gt;
| [[File:Angelshark sprite.png|center]]&lt;br /&gt;
| 15,000&lt;br /&gt;
| 3,000&lt;br /&gt;
| 1,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Badger]]&lt;br /&gt;
| [[File:Badger sprite.png|center]]&lt;br /&gt;
| 15,000&lt;br /&gt;
| 7,500&lt;br /&gt;
| 1,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Blacktip reef shark]]&lt;br /&gt;
| [[File:Blacktip reef shark sprite.png|center]]&lt;br /&gt;
| 15,000&lt;br /&gt;
| 6,000&lt;br /&gt;
| 1,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Bluefish]]&lt;br /&gt;
| [[File:Bluefish sprite.png|center]]&lt;br /&gt;
| 15,000&lt;br /&gt;
| 5,000&lt;br /&gt;
| 1,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Coyote]]&lt;br /&gt;
| [[File:Coyote sprite.png|center]]&lt;br /&gt;
| 15,000&lt;br /&gt;
| 7,500&lt;br /&gt;
| 1,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Dark gnome]]&lt;br /&gt;
| [[File:Dark gnome sprite.png|center]]&lt;br /&gt;
| 15,000&lt;br /&gt;
| 7500&lt;br /&gt;
| 1500&lt;br /&gt;
|-&lt;br /&gt;
| [[Gray langur]]&lt;br /&gt;
| [[File:Gray langur sprite.png|center]]&lt;br /&gt;
| 15,000&lt;br /&gt;
| 7,500&lt;br /&gt;
| 1,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Jackal]]&lt;br /&gt;
| [[File:Jackal sprite.png|center]]&lt;br /&gt;
| 15,000&lt;br /&gt;
| 7,500&lt;br /&gt;
| 1,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Mountain gnome]]&lt;br /&gt;
| [[File:Mountain gnome sprite.png|center]]&lt;br /&gt;
| 15,000&lt;br /&gt;
| 7,500&lt;br /&gt;
| 1,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Whitetip reef shark]]&lt;br /&gt;
| [[File:Whitetip reef shark sprite.png|center]]&lt;br /&gt;
| 15,000&lt;br /&gt;
| 6,000&lt;br /&gt;
| 1,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Amphibian man]]&lt;br /&gt;
| [[File:Amphibian man sprite.png|center]]&lt;br /&gt;
| 20,000&lt;br /&gt;
| 5,000&lt;br /&gt;
| 1,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Antman]] &amp;lt;small&amp;gt;(worker or drone)&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Antman sprite.png|center]]&lt;br /&gt;
| 20,000&lt;br /&gt;
| 5,000&lt;br /&gt;
| 1,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Beaver]]&lt;br /&gt;
| [[File:Beaver sprite.png|center]]&lt;br /&gt;
| 20,000&lt;br /&gt;
| 10,000&lt;br /&gt;
| 2,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Cave blob]]&lt;br /&gt;
| [[File:Cave blob sprite.png|center]]&lt;br /&gt;
| 20,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Creeping eye]]&lt;br /&gt;
| [[File:Creeping eye sprite.png|center]]&lt;br /&gt;
| 20,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Dingo]]&lt;br /&gt;
| [[File:Dingo sprite.png|center]]&lt;br /&gt;
| 20,000&lt;br /&gt;
| 10,000&lt;br /&gt;
| 2,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Floating guts]]&lt;br /&gt;
| [[File:Floating guts sprite.png|center]]&lt;br /&gt;
| 20,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Gazelle]]&lt;br /&gt;
| [[File:Gazelle sprite.png|center]]&lt;br /&gt;
| 20,000&lt;br /&gt;
| 10,000&lt;br /&gt;
| 2,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Kobold]] &amp;lt;small&amp;gt;'''(smallest main race in-game)'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Kobold sprite.png|center]]&lt;br /&gt;
| 20,000&lt;br /&gt;
| 5,000&lt;br /&gt;
| 1,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Longnose gar]]&lt;br /&gt;
| [[File:Longnose gar sprite.png|center]]&lt;br /&gt;
| 20,000&lt;br /&gt;
| 10,000&lt;br /&gt;
| 2,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Mandrill]]&lt;br /&gt;
| [[File:Mandrill sprite.png|center]]&lt;br /&gt;
| 20,000&lt;br /&gt;
| 10,000&lt;br /&gt;
| 2,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Sea lamprey]]&lt;br /&gt;
| [[File:Sea lamprey sprite.png|center]]&lt;br /&gt;
| 20,000&lt;br /&gt;
| 6,000&lt;br /&gt;
| 2,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Wolverine]]&lt;br /&gt;
| [[File:Wolverine sprite.png|center]]&lt;br /&gt;
| 20,000&lt;br /&gt;
| 10,000&lt;br /&gt;
| 2,000&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small to wield scourges or whips two-handed'''&lt;br /&gt;
|&lt;br /&gt;
| 22,499&lt;br /&gt;
| 22,499&lt;br /&gt;
| 22,499&lt;br /&gt;
|-&lt;br /&gt;
| [[Large rat]]&lt;br /&gt;
| [[File:Large rat sprite.png|center]]&lt;br /&gt;
| 25,000&lt;br /&gt;
| 12,500&lt;br /&gt;
| 2,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Lynx]]&lt;br /&gt;
| [[File:Lynx sprite.png|center]]&lt;br /&gt;
| 25,000&lt;br /&gt;
| 12,500&lt;br /&gt;
| 2,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Ocelot]]&lt;br /&gt;
| [[File:Ocelot sprite.png|center]]&lt;br /&gt;
| 25,000&lt;br /&gt;
| 12,500&lt;br /&gt;
| 250&lt;br /&gt;
|-&lt;br /&gt;
| [[Wombat]]&lt;br /&gt;
| [[File:Wombat sprite.png|center]]&lt;br /&gt;
| 25,000&lt;br /&gt;
| 12,500&lt;br /&gt;
| 3,500&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small to wield daggers, scourges or whips one-handed'''&lt;br /&gt;
|&lt;br /&gt;
| 27,499&lt;br /&gt;
| 27,499&lt;br /&gt;
| 27,499&lt;br /&gt;
|-&lt;br /&gt;
| [[Common snapping turtle]]&lt;br /&gt;
| [[File:Snapping turtle sprite.png|center]]&lt;br /&gt;
| 30,000&lt;br /&gt;
| n/a&lt;br /&gt;
| 40&lt;br /&gt;
|-&lt;br /&gt;
| [[Dog]]&lt;br /&gt;
| [[File:Dog sprite.png|center]]&lt;br /&gt;
| 30,000&lt;br /&gt;
| 12,500&lt;br /&gt;
| 1,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Emperor penguin]]&lt;br /&gt;
| [[File:Emperor penguin sprite.png|center]]&lt;br /&gt;
| 30,000&lt;br /&gt;
| 15,000&lt;br /&gt;
| 450&lt;br /&gt;
|-&lt;br /&gt;
| [[Magma crab]]&lt;br /&gt;
| [[File:Magma crab sprite.png|center]]&lt;br /&gt;
| 30,000&lt;br /&gt;
| 2,000&lt;br /&gt;
| 1,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Pond grabber]]&lt;br /&gt;
| [[File:Pond grabber sprite.png|center]]&lt;br /&gt;
| 30,000&lt;br /&gt;
| 15,000&lt;br /&gt;
| 2,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Sea otter]]&lt;br /&gt;
| [[File:Sea otter sprite.png|center]]&lt;br /&gt;
| 30,000&lt;br /&gt;
| 15,000&lt;br /&gt;
| 3,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Spiny dogfish]]&lt;br /&gt;
| [[File:Spiny dogfish sprite.png|center]]&lt;br /&gt;
| 30,000&lt;br /&gt;
| 10,000&lt;br /&gt;
| 2,000&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small to wield maces, short swords, war hammers,&amp;lt;br&amp;gt;morning stars or scimitars two-handed'''&lt;br /&gt;
|&lt;br /&gt;
| 32,499&lt;br /&gt;
| 32,499&lt;br /&gt;
| 32,499&lt;br /&gt;
|-&lt;br /&gt;
| [[Beetle man]]&lt;br /&gt;
| [[File:Beetle man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Brown recluse spider man]]&lt;br /&gt;
| [[File:Brown recluse spider man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Damselfly man]]&lt;br /&gt;
| [[File:Damselfly man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Dragonfly man]]&lt;br /&gt;
| [[File:Dragonfly man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Emu]]&lt;br /&gt;
| [[File:Emu sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| 17,500&lt;br /&gt;
| 800&lt;br /&gt;
|-&lt;br /&gt;
| [[Firefly man]]&lt;br /&gt;
| [[File:Firefly man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Fly man]]&lt;br /&gt;
| [[File:Fly man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grasshopper man]]&lt;br /&gt;
| [[File:Grasshopper man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Jumping spider man]]&lt;br /&gt;
| [[File:Jumping spider man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Louse man]]&lt;br /&gt;
| [[File:Louse man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Mantis man]]&lt;br /&gt;
| [[File:Mantis man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Monarch butterfly man]]&lt;br /&gt;
| [[File:Monarch butterfly man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Mosquito man]]&lt;br /&gt;
| [[File:Mosquito man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Moth man]]&lt;br /&gt;
| [[File:Moth man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Pike]]&lt;br /&gt;
| [[File:Pike sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| 15,000&lt;br /&gt;
| 3,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Roach man]]&lt;br /&gt;
| [[File:Roach man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Slug man]]&lt;br /&gt;
| [[File:Slug man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Snail man]]&lt;br /&gt;
| [[File:Snail man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Thrips man]]&lt;br /&gt;
| [[File:Thrips man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Tick man]]&lt;br /&gt;
| [[File:Tick man sprite.png|center]]&lt;br /&gt;
| 35,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Bark scorpion man]]&lt;br /&gt;
| [[File:Bark scorpion man sprite.png|center]]&lt;br /&gt;
| 35,001&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Bushtit man]]&lt;br /&gt;
| [[File:Bushtit man sprite.png|center]]&lt;br /&gt;
| 35,002&lt;br /&gt;
| n/a&lt;br /&gt;
| 7,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Sparrow man]]&lt;br /&gt;
| [[File:Sparrow man sprite.png|center]]&lt;br /&gt;
| 35,015&lt;br /&gt;
| n/a&lt;br /&gt;
| 2,334&lt;br /&gt;
|-&lt;br /&gt;
| [[Oriole man]]&lt;br /&gt;
| [[File:Oriole man sprite.png|center]]&lt;br /&gt;
| 35,020&lt;br /&gt;
| n/a&lt;br /&gt;
| 6,128&lt;br /&gt;
|-&lt;br /&gt;
| [[Wren man]]&lt;br /&gt;
| [[File:Wren man sprite.png|center]]&lt;br /&gt;
| 35,020&lt;br /&gt;
| n/a&lt;br /&gt;
| 4,377&lt;br /&gt;
|-&lt;br /&gt;
| [[Cardinal man]]&lt;br /&gt;
| [[File:Cardinal man sprite.png|center]]&lt;br /&gt;
| 35,025&lt;br /&gt;
| n/a&lt;br /&gt;
| 5,604&lt;br /&gt;
|-&lt;br /&gt;
| [[Leopard gecko man]]&lt;br /&gt;
| [[File:Leopard gecko man sprite.png|center]]&lt;br /&gt;
| 35,025&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Red-winged blackbird man]]&lt;br /&gt;
| [[File:Red winged blackbird man sprite.png|center]]&lt;br /&gt;
| 35,025&lt;br /&gt;
| n/a&lt;br /&gt;
| 7,005&lt;br /&gt;
|-&lt;br /&gt;
| [[Peach-faced lovebird man]]&lt;br /&gt;
| [[File:Peach faced lovebird man sprite.png|center]]&lt;br /&gt;
| 35,030&lt;br /&gt;
| n/a&lt;br /&gt;
| 4,670&lt;br /&gt;
|-&lt;br /&gt;
| [[Anole man]]&lt;br /&gt;
| [[File:Anole man sprite.png|center]]&lt;br /&gt;
| 35,045&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Cockatiel man]]&lt;br /&gt;
| [[File:Cockatiel man sprite.png|center]]&lt;br /&gt;
| 35,045&lt;br /&gt;
| n/a&lt;br /&gt;
| 3,893&lt;br /&gt;
|-&lt;br /&gt;
| [[Masked lovebird man]]&lt;br /&gt;
| [[File:Masked lovebird man sprite.png|center]]&lt;br /&gt;
| 35,045&lt;br /&gt;
| n/a&lt;br /&gt;
| 3,115&lt;br /&gt;
|-&lt;br /&gt;
| [[Bat man]]&lt;br /&gt;
| [[File:Bat man sprite.png|center]]&lt;br /&gt;
| 35,050&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Bluejay man]]&lt;br /&gt;
| [[File:Bluejay man sprite.png|center]]&lt;br /&gt;
| 35,050&lt;br /&gt;
| n/a&lt;br /&gt;
| 3,505&lt;br /&gt;
|-&lt;br /&gt;
| [[Cave swallow man]]&lt;br /&gt;
| [[File:Cave swallow man sprite.png|center]]&lt;br /&gt;
| 35,050&lt;br /&gt;
| n/a&lt;br /&gt;
| 3,505&lt;br /&gt;
|-&lt;br /&gt;
| [[Green tree frog man]]&lt;br /&gt;
| [[File:Green tree frog man sprite.png|center]]&lt;br /&gt;
| 35,050&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Leech man]]&lt;br /&gt;
| [[File:Leech man sprite.png|center]]&lt;br /&gt;
| 35,050&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Worm man]]&lt;br /&gt;
| [[File:Worm man sprite.png|center]]&lt;br /&gt;
| 35,050&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Grackle man]]&lt;br /&gt;
| [[File:Grackle man sprite.png|center]]&lt;br /&gt;
| 35,060&lt;br /&gt;
| n/a&lt;br /&gt;
| 3,213&lt;br /&gt;
|-&lt;br /&gt;
| [[Parakeet man]]&lt;br /&gt;
| [[File:Parakeet man sprite.png|center]]&lt;br /&gt;
| 35,060&lt;br /&gt;
| n/a&lt;br /&gt;
| 2,921&lt;br /&gt;
|-&lt;br /&gt;
| [[Adder man]]&lt;br /&gt;
| [[File:Adder man sprite.png|center]]&lt;br /&gt;
| 35,075&lt;br /&gt;
| 17,537&lt;br /&gt;
| 3,507&lt;br /&gt;
|-&lt;br /&gt;
| [[Chameleon man]]&lt;br /&gt;
| [[File:Chameleon man sprite.png|center]]&lt;br /&gt;
| 35,075&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Hamster man]]&lt;br /&gt;
| [[File:Hamster man sprite.png|center]]&lt;br /&gt;
| 35,075&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Axolotl man]]&lt;br /&gt;
| [[File:Axolotl man sprite.png|center]]&lt;br /&gt;
| 35,100&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Flying squirrel man]]&lt;br /&gt;
| [[File:Flying squirrel man sprite.png|center]]&lt;br /&gt;
| 35,100&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Lizard man]]&lt;br /&gt;
| [[File:Lizard man sprite.png|center]]&lt;br /&gt;
| 35,100&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Lorikeet man]]&lt;br /&gt;
| [[File:Lorikeet man sprite.png|center]]&lt;br /&gt;
| 35,100&lt;br /&gt;
| n/a&lt;br /&gt;
| 1,755&lt;br /&gt;
|-&lt;br /&gt;
| [[Magpie man]]&lt;br /&gt;
| [[File:Magpie man sprite.png|center]]&lt;br /&gt;
| 35,100&lt;br /&gt;
| n/a&lt;br /&gt;
| 1,755&lt;br /&gt;
|-&lt;br /&gt;
| [[Moon snail man]]&lt;br /&gt;
| [[File:Moon snail man sprite.png|center]]&lt;br /&gt;
| 35,100&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Olm man]]&lt;br /&gt;
| [[File:Olm man sprite.png|center]]&lt;br /&gt;
| 35,100&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Squid man]]&lt;br /&gt;
| [[File:Squid man sprite.png|center]]&lt;br /&gt;
| 35,100&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Toad man]]&lt;br /&gt;
| [[File:Toad man sprite.png|center]]&lt;br /&gt;
| 35,100&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Weasel man]]&lt;br /&gt;
| [[File:Weasel man sprite.png|center]]&lt;br /&gt;
| 35,100&lt;br /&gt;
| 17,550&lt;br /&gt;
| 3,510&lt;br /&gt;
|-&lt;br /&gt;
| [[Kestrel man]]&lt;br /&gt;
| [[File:Kestrel man sprite.png|center]]&lt;br /&gt;
| 35,125&lt;br /&gt;
| 17,562&lt;br /&gt;
| 4,215&lt;br /&gt;
|-&lt;br /&gt;
| [[Chipmunk man]]&lt;br /&gt;
| [[File:Chipmunk man sprite.png|center]]&lt;br /&gt;
| 35,150&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Gray squirrel man]]&lt;br /&gt;
| [[File:Gray squirrel man sprite.png|center]]&lt;br /&gt;
| 35,150&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Rat man]]&lt;br /&gt;
| [[File:Rat man sprite.png|center]]&lt;br /&gt;
| 35,150&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Red squirrel man]]&lt;br /&gt;
| [[File:Red squirrel man sprite.png|center]]&lt;br /&gt;
| 35,150&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Stoat man]]&lt;br /&gt;
| [[File:Stoat man sprite.png|center]]&lt;br /&gt;
| 35,175&lt;br /&gt;
| 17,587&lt;br /&gt;
| 3,517&lt;br /&gt;
|-&lt;br /&gt;
| [[Grey parrot man]]&lt;br /&gt;
| [[File:Grey parrot man sprite.png|center]]&lt;br /&gt;
| 35,200&lt;br /&gt;
| 17,600&lt;br /&gt;
| 3,520&lt;br /&gt;
|-&lt;br /&gt;
| [[Barn owl man]]&lt;br /&gt;
| [[File:Barn owl man sprite.png|center]]&lt;br /&gt;
| 35,250&lt;br /&gt;
| 17,625&lt;br /&gt;
| 2,115&lt;br /&gt;
|-&lt;br /&gt;
| [[Chinchilla man]]&lt;br /&gt;
| [[File:Chinchilla man sprite.png|center]]&lt;br /&gt;
| 35,250&lt;br /&gt;
| 17,625&lt;br /&gt;
| 3,525&lt;br /&gt;
|-&lt;br /&gt;
| [[Copperhead snake man]]&lt;br /&gt;
| [[File:Copperhead snake man sprite.png|center]]&lt;br /&gt;
| 35,250&lt;br /&gt;
| 21,150&lt;br /&gt;
| 3,525&lt;br /&gt;
|-&lt;br /&gt;
| [[Crow man]]&lt;br /&gt;
| [[File:Crow man sprite.png|center]]&lt;br /&gt;
| 35,250&lt;br /&gt;
| n/a&lt;br /&gt;
| 1,410&lt;br /&gt;
|-&lt;br /&gt;
| [[Nautilus man]]&lt;br /&gt;
| [[File:Nautilus man sprite.png|center]]&lt;br /&gt;
| 35,250&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Pond turtle man]]&lt;br /&gt;
| [[File:Pond turtle man sprite.png|center]]&lt;br /&gt;
| 35,250&lt;br /&gt;
| n/a&lt;br /&gt;
| 352&lt;br /&gt;
|-&lt;br /&gt;
| [[Skink man]]&lt;br /&gt;
| [[File:Skink man sprite.png|center]]&lt;br /&gt;
| 35,250&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Lion tamarin man]]&lt;br /&gt;
| [[File:Lion tamarin man sprite.png|center]]&lt;br /&gt;
| 35,310&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Puffin man]]&lt;br /&gt;
| [[File:Puffin man sprite.png|center]]&lt;br /&gt;
| 35,375&lt;br /&gt;
| 17,687&lt;br /&gt;
| 1,415&lt;br /&gt;
|-&lt;br /&gt;
| [[Hedgehog man]]&lt;br /&gt;
| [[File:Hedgehog man sprite.png|center]]&lt;br /&gt;
| 35,400&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Mink man]]&lt;br /&gt;
| [[File:Mink man sprite.png|center]]&lt;br /&gt;
| 35,400&lt;br /&gt;
| 17,700&lt;br /&gt;
| 3,540&lt;br /&gt;
|-&lt;br /&gt;
| [[Cave fish man]]&lt;br /&gt;
| [[File:Cave fish man sprite.png|center]]&lt;br /&gt;
| 35,500&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Cuttlefish man]]&lt;br /&gt;
| [[File:Cuttlefish man sprite.png|center]]&lt;br /&gt;
| 35,500&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Kea man]]&lt;br /&gt;
| [[File:Kea man sprite.png|center]]&lt;br /&gt;
| 35,500&lt;br /&gt;
| 17,750&lt;br /&gt;
| 2,130&lt;br /&gt;
|-&lt;br /&gt;
| [[Peregrine falcon man]]&lt;br /&gt;
| [[File:Peregrine falcon man sprite.png|center]]&lt;br /&gt;
| 35,550&lt;br /&gt;
| 17,775&lt;br /&gt;
| 1,422&lt;br /&gt;
|-&lt;br /&gt;
| [[Raven man]]&lt;br /&gt;
| [[File:Raven man sprite.png|center]]&lt;br /&gt;
| 35,600&lt;br /&gt;
| n/a&lt;br /&gt;
| 1,483&lt;br /&gt;
|-&lt;br /&gt;
| [[Buzzard man]]&lt;br /&gt;
| [[File:Buzzard man sprite.png|center]]&lt;br /&gt;
| 35,700&lt;br /&gt;
| 17,850&lt;br /&gt;
| 1,275&lt;br /&gt;
|-&lt;br /&gt;
| [[Kingsnake man]]&lt;br /&gt;
| [[File:Kingsnake man sprite.png|center]]&lt;br /&gt;
| 35,750&lt;br /&gt;
| 17,875&lt;br /&gt;
| 476&lt;br /&gt;
|-&lt;br /&gt;
| [[Gila monster man]]&lt;br /&gt;
| [[File:Gila monster man sprite.png|center]]&lt;br /&gt;
| 36,000&lt;br /&gt;
| 18,000&lt;br /&gt;
| 540&lt;br /&gt;
|-&lt;br /&gt;
| [[Great horned owl man]]&lt;br /&gt;
| [[File:Great horned owl man sprite.png|center]]&lt;br /&gt;
| 36,000&lt;br /&gt;
| 18,000&lt;br /&gt;
| 900&lt;br /&gt;
|-&lt;br /&gt;
| [[Horseshoe crab man]]&lt;br /&gt;
| [[File:Horseshoe crab man sprite.png|center]]&lt;br /&gt;
| 36,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Osprey man]]&lt;br /&gt;
| [[File:Osprey man sprite.png|center]]&lt;br /&gt;
| 36,000&lt;br /&gt;
| 18,000&lt;br /&gt;
| 990&lt;br /&gt;
|-&lt;br /&gt;
| [[Platypus man]]&lt;br /&gt;
| [[File:Platypus man sprite.png|center]]&lt;br /&gt;
| 36,000&lt;br /&gt;
| 18,000&lt;br /&gt;
| 180&lt;br /&gt;
|-&lt;br /&gt;
| [[Snowy owl man]]&lt;br /&gt;
| [[File:Snowy owl man sprite.png|center]]&lt;br /&gt;
| 36,000&lt;br /&gt;
| 18,000&lt;br /&gt;
| 1,080&lt;br /&gt;
|-&lt;br /&gt;
| [[Aye-aye man]]&lt;br /&gt;
| [[File:Aye aye man sprite.png|center]]&lt;br /&gt;
| 36,250&lt;br /&gt;
| 18,125&lt;br /&gt;
| 3,625&lt;br /&gt;
|-&lt;br /&gt;
| [[Hornbill man]]&lt;br /&gt;
| [[File:Hornbill man sprite.png|center]]&lt;br /&gt;
| 36,250&lt;br /&gt;
| 18,125&lt;br /&gt;
| 696&lt;br /&gt;
|-&lt;br /&gt;
| [[Kiwi man]]&lt;br /&gt;
| [[File:Kiwi man sprite.png|center]]&lt;br /&gt;
| 36,250&lt;br /&gt;
| 18,125&lt;br /&gt;
| 6,235&lt;br /&gt;
|-&lt;br /&gt;
| [[Groundhog man]]&lt;br /&gt;
| [[File:Groundhog man sprite.png|center]]&lt;br /&gt;
| 36,500&lt;br /&gt;
| 18,250&lt;br /&gt;
| 3,650&lt;br /&gt;
|-&lt;br /&gt;
| [[Kakapo man]]&lt;br /&gt;
| [[File:Kakapo man sprite.png|center]]&lt;br /&gt;
| 36,500&lt;br /&gt;
| 18,250&lt;br /&gt;
| 608&lt;br /&gt;
|-&lt;br /&gt;
| [[Mongoose man]]&lt;br /&gt;
| [[File:Mongoose man sprite.png|center]]&lt;br /&gt;
| 36,500&lt;br /&gt;
| 18,250&lt;br /&gt;
| 3,650&lt;br /&gt;
|-&lt;br /&gt;
| [[Opossum man]]&lt;br /&gt;
| [[File:Opossum man sprite.png|center]]&lt;br /&gt;
| 36,500&lt;br /&gt;
| 18,250&lt;br /&gt;
| 3,650&lt;br /&gt;
|-&lt;br /&gt;
| [[White stork man]]&lt;br /&gt;
| [[File:White stork man sprite.png|center]]&lt;br /&gt;
| 36,500&lt;br /&gt;
| 18,250&lt;br /&gt;
| 1,216&lt;br /&gt;
|-&lt;br /&gt;
| [[Capuchin man]]&lt;br /&gt;
| [[File:Capuchin man sprite.png|center]]&lt;br /&gt;
| 36,750&lt;br /&gt;
| 18,375&lt;br /&gt;
| 3,675&lt;br /&gt;
|-&lt;br /&gt;
| [[Hare man]]&lt;br /&gt;
| [[File:Hare man sprite.png|center]]&lt;br /&gt;
| 36,750&lt;br /&gt;
| 18,375&lt;br /&gt;
| 3,675&lt;br /&gt;
|-&lt;br /&gt;
| [[Eagle man]]&lt;br /&gt;
| [[File:Eagle man sprite.png|center]]&lt;br /&gt;
| 37,000&lt;br /&gt;
| 18,500&lt;br /&gt;
| 1,295&lt;br /&gt;
|-&lt;br /&gt;
| [[Iguana man]]&lt;br /&gt;
| [[File:Iguana man sprite.png|center]]&lt;br /&gt;
| 37,000&lt;br /&gt;
| 4,625&lt;br /&gt;
| 138&lt;br /&gt;
|-&lt;br /&gt;
| [[Penguin man]]&lt;br /&gt;
| [[File:Penguin man sprite.png|center]]&lt;br /&gt;
| 37,000&lt;br /&gt;
| 18,500&lt;br /&gt;
| 1,110&lt;br /&gt;
|-&lt;br /&gt;
| [[Skunk man]]&lt;br /&gt;
| [[File:Skunk man sprite.png|center]]&lt;br /&gt;
| 37,000&lt;br /&gt;
| 18,500&lt;br /&gt;
| 3,700&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small to wield maces, short swords, war hammers,&amp;lt;br&amp;gt;morningstars or scimitars one-handed'''&lt;br /&gt;
|&lt;br /&gt;
| 37,499&lt;br /&gt;
| 37,499&lt;br /&gt;
| 37,499&lt;br /&gt;
|-&lt;br /&gt;
| [[Black mamba man]]&lt;br /&gt;
| [[File:Black mamba man sprite.png|center]]&lt;br /&gt;
| 37,500&lt;br /&gt;
| 18,750&lt;br /&gt;
| 300&lt;br /&gt;
|-&lt;br /&gt;
| [[Octopus man]]&lt;br /&gt;
| [[File:Octopus man sprite.png|center]]&lt;br /&gt;
| 37,500&lt;br /&gt;
| n/a&lt;br /&gt;
| 150&lt;br /&gt;
|-&lt;br /&gt;
| [[Pangolin man]]&lt;br /&gt;
| [[File:Pangolin man sprite.png|center]]&lt;br /&gt;
| 37,500&lt;br /&gt;
| 18,750&lt;br /&gt;
| 3,750&lt;br /&gt;
|-&lt;br /&gt;
| [[Red panda man]]&lt;br /&gt;
| [[File:Red panda man sprite.png|center]]&lt;br /&gt;
| 37,500&lt;br /&gt;
| 18,750&lt;br /&gt;
| 3,750&lt;br /&gt;
|-&lt;br /&gt;
| [[Rhesus macaque man]]&lt;br /&gt;
| [[File:Rhesus macaque man sprite.png|center]]&lt;br /&gt;
| 37,500&lt;br /&gt;
| 18,750&lt;br /&gt;
| 3,750&lt;br /&gt;
|-&lt;br /&gt;
| [[Desert tortoise man]]&lt;br /&gt;
| [[File:Desert tortoise man sprite.png|center]]&lt;br /&gt;
| 37,750&lt;br /&gt;
| 18,875&lt;br /&gt;
| 274&lt;br /&gt;
|-&lt;br /&gt;
| [[Coati man]]&lt;br /&gt;
| [[File:Coati man sprite.png|center]]&lt;br /&gt;
| 38,000&lt;br /&gt;
| 19,000&lt;br /&gt;
| 3,800&lt;br /&gt;
|-&lt;br /&gt;
| [[Fox man]]&lt;br /&gt;
| [[File:Fox man sprite.png|center]]&lt;br /&gt;
| 38,000&lt;br /&gt;
| 19,000&lt;br /&gt;
| 3,800&lt;br /&gt;
|-&lt;br /&gt;
| [[King cobra man]]&lt;br /&gt;
| [[File:King cobra man sprite.png|center]]&lt;br /&gt;
| 38,000&lt;br /&gt;
| 19,000&lt;br /&gt;
| 25&lt;br /&gt;
|-&lt;br /&gt;
| [[Loon man]]&lt;br /&gt;
| [[File:Loon man sprite.png|center]]&lt;br /&gt;
| 38,000&lt;br /&gt;
| 19,000&lt;br /&gt;
| 950&lt;br /&gt;
|-&lt;br /&gt;
| [[Sloth man]]&lt;br /&gt;
| [[File:Sloth man sprite.png|center]]&lt;br /&gt;
| 38,000&lt;br /&gt;
| 19,000&lt;br /&gt;
| 3,800&lt;br /&gt;
|-&lt;br /&gt;
| [[Raccoon man]]&lt;br /&gt;
| [[File:Raccoon man sprite.png|center]]&lt;br /&gt;
| 38,500&lt;br /&gt;
| 19,250&lt;br /&gt;
| 3,850&lt;br /&gt;
|-&lt;br /&gt;
| [[Rattlesnake man]]&lt;br /&gt;
| [[File:Rattlesnake man sprite.png|center]]&lt;br /&gt;
| 38,500&lt;br /&gt;
| 19,250&lt;br /&gt;
| 220&lt;br /&gt;
|-&lt;br /&gt;
| [[Armadillo man]]&lt;br /&gt;
| [[File:Armadillo man sprite.png|center]]&lt;br /&gt;
| 38,750&lt;br /&gt;
| 19,375&lt;br /&gt;
| 3,875&lt;br /&gt;
|-&lt;br /&gt;
| [[Albatross man]]&lt;br /&gt;
| [[File:Albatross man sprite.png|center]]&lt;br /&gt;
| 39,000&lt;br /&gt;
| 19,500&lt;br /&gt;
| 1,462&lt;br /&gt;
|-&lt;br /&gt;
| [[Bobcat man]]&lt;br /&gt;
| [[File:Bobcat man sprite.png|center]]&lt;br /&gt;
| 39,000&lt;br /&gt;
| 19,500&lt;br /&gt;
| 3,900&lt;br /&gt;
|-&lt;br /&gt;
| [[Crab man]]&lt;br /&gt;
| [[File:Crab man sprite.png|center]]&lt;br /&gt;
| 39,000&lt;br /&gt;
| n/a&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| [[Bushmaster man]]&lt;br /&gt;
| [[File:Bushmaster man sprite.png|center]]&lt;br /&gt;
| 39,250&lt;br /&gt;
| 19,625&lt;br /&gt;
| 92&lt;br /&gt;
|-&lt;br /&gt;
| [[Spider monkey man]]&lt;br /&gt;
| [[File:Spider monkey man sprite.png|center]]&lt;br /&gt;
| 39,250&lt;br /&gt;
| 19,625&lt;br /&gt;
| 3,925&lt;br /&gt;
|-&lt;br /&gt;
| [[Honey badger man]]&lt;br /&gt;
| [[File:Honey badger man sprite.png|center]]&lt;br /&gt;
| 39,500&lt;br /&gt;
| 19,750&lt;br /&gt;
| 3,950&lt;br /&gt;
|-&lt;br /&gt;
| [[Porcupine man]]&lt;br /&gt;
| [[File:Porcupine man sprite.png|center]]&lt;br /&gt;
| 39,500&lt;br /&gt;
| 19,750&lt;br /&gt;
| 3,950&lt;br /&gt;
|-&lt;br /&gt;
| [[Vulture man]]&lt;br /&gt;
| [[File:Vulture man sprite.png|center]]&lt;br /&gt;
| 39,500&lt;br /&gt;
| 19,750&lt;br /&gt;
| 219&lt;br /&gt;
|-&lt;br /&gt;
| [[Carp]]&lt;br /&gt;
| [[File:Carp sprite.png|center]]&lt;br /&gt;
| 40,000&lt;br /&gt;
| 20,000&lt;br /&gt;
| 4,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Cave floater]]&lt;br /&gt;
| [[File:Cave floater sprite.png|center]]&lt;br /&gt;
| 40,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Echidna man]]&lt;br /&gt;
| [[File:Echidna man sprite.png|center]]&lt;br /&gt;
| 40,000&lt;br /&gt;
| 20,000&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| [[Hoary marmot man]]&lt;br /&gt;
| [[File:Hoary marmot man sprite.png|center]]&lt;br /&gt;
| 40,000&lt;br /&gt;
| 20,000&lt;br /&gt;
| 4,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Koala man]]&lt;br /&gt;
| [[File:Koala man sprite.png|center]]&lt;br /&gt;
| 40,000&lt;br /&gt;
| 20,000&lt;br /&gt;
| 4,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Rodent man]]&lt;br /&gt;
| [[File:Rodent man sprite.png|center]]&lt;br /&gt;
| 40,000&lt;br /&gt;
| 8,000&lt;br /&gt;
| 1,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Strangler]]&lt;br /&gt;
| [[File:Strangler sprite.png|center]]&lt;br /&gt;
| 40,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Swan man]]&lt;br /&gt;
| [[File:Swan man sprite.png|center]]&lt;br /&gt;
| 40,000&lt;br /&gt;
| 20,000&lt;br /&gt;
| 1,200&lt;br /&gt;
|-&lt;br /&gt;
| [[Wolf]]&lt;br /&gt;
| [[File:Wolf sprite.png|center]]&lt;br /&gt;
| 40,000&lt;br /&gt;
| 20,000&lt;br /&gt;
| 4,000&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small to wield picks, battle axes or flails two-handed'''&lt;br /&gt;
|&lt;br /&gt;
| 42,499&lt;br /&gt;
| 42,499&lt;br /&gt;
| 42,499&lt;br /&gt;
|-&lt;br /&gt;
| [[Badger man]]&lt;br /&gt;
| [[File:Badger man sprite.png|center]]&lt;br /&gt;
| 42,500&lt;br /&gt;
| 21,250&lt;br /&gt;
| 4,250&lt;br /&gt;
|-&lt;br /&gt;
| [[Coyote man]]&lt;br /&gt;
| [[File:Coyote man sprite.png|center]]&lt;br /&gt;
| 42,500&lt;br /&gt;
| 21,250&lt;br /&gt;
| 4,250&lt;br /&gt;
|-&lt;br /&gt;
| [[Gray langur man]]&lt;br /&gt;
| [[File:Gray langur man sprite.png|center]]&lt;br /&gt;
| 42,500&lt;br /&gt;
| 21,250&lt;br /&gt;
| 4,250&lt;br /&gt;
|-&lt;br /&gt;
| [[Jackal man]]&lt;br /&gt;
| [[File:Jackal man sprite.png|center]]&lt;br /&gt;
| 42,500&lt;br /&gt;
| 21,250&lt;br /&gt;
| 4,250&lt;br /&gt;
|-&lt;br /&gt;
| [[Beaver man]]&lt;br /&gt;
| [[File:Beaver man sprite.png|center]]&lt;br /&gt;
| 45,000&lt;br /&gt;
| 22,500&lt;br /&gt;
| 4,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Capybara]]&lt;br /&gt;
| [[File:Capybara sprite.png|center]]&lt;br /&gt;
| 45,000&lt;br /&gt;
| 22,500&lt;br /&gt;
| 4,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Dingo man]]&lt;br /&gt;
| [[File:Dingo man sprite.png|center]]&lt;br /&gt;
| 45,000&lt;br /&gt;
| 22,500&lt;br /&gt;
| 4,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Gazelle man]]&lt;br /&gt;
| [[File:Gazelle man sprite.png|center]]&lt;br /&gt;
| 45,000&lt;br /&gt;
| 22,500&lt;br /&gt;
| 4,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Mandrill man]]&lt;br /&gt;
| [[File:Mandrill man sprite.png|center]]&lt;br /&gt;
| 45,000&lt;br /&gt;
| 22,500&lt;br /&gt;
| 4,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Wolverine man]]&lt;br /&gt;
| [[File:Wolverine man sprite.png|center]]&lt;br /&gt;
| 45,000&lt;br /&gt;
| 22,500&lt;br /&gt;
| 4,500&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small to wield picks, battle axes, flails or spears one-handed'''&lt;br /&gt;
|&lt;br /&gt;
| 47,499&lt;br /&gt;
| 47,499&lt;br /&gt;
| 47,499&lt;br /&gt;
|-&lt;br /&gt;
| [[Lynx man]]&lt;br /&gt;
| [[File:Lynx man sprite.png|center]]&lt;br /&gt;
| 47,500&lt;br /&gt;
| 23,750&lt;br /&gt;
| 4,750&lt;br /&gt;
|-&lt;br /&gt;
| [[Ocelot man]]&lt;br /&gt;
| [[File:Ocelot man sprite.png|center]]&lt;br /&gt;
| 47,500&lt;br /&gt;
| 23,750&lt;br /&gt;
| 475&lt;br /&gt;
|-&lt;br /&gt;
| [[Wombat man]]&lt;br /&gt;
| [[File:Wombat man sprite.png|center]]&lt;br /&gt;
| 47,500&lt;br /&gt;
| 23,750&lt;br /&gt;
| 6,650&lt;br /&gt;
|-&lt;br /&gt;
| [[Aardvark]]&lt;br /&gt;
| [[File:Aardvark sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 25,000&lt;br /&gt;
| 500&lt;br /&gt;
|-&lt;br /&gt;
| [[Antman]] &amp;lt;small&amp;gt;(soldier)&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Antman sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 10,000&lt;br /&gt;
| 1,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Bonobo]]&lt;br /&gt;
| [[File:Bonobo sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 25,000&lt;br /&gt;
| 10,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Cassowary]]&lt;br /&gt;
| [[File:Cassowary sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 25,000&lt;br /&gt;
| 500&lt;br /&gt;
|-&lt;br /&gt;
| [[Cheetah]]&lt;br /&gt;
| [[File:Cheetah sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 25,000&lt;br /&gt;
| 5,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Chimpanzee]]&lt;br /&gt;
| [[File:Chimpanzee sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 25,000&lt;br /&gt;
| 10,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Cod]]&lt;br /&gt;
| [[File:Cod sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 20,000&lt;br /&gt;
| 5,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Conger eel]]&lt;br /&gt;
| [[File:Conger eel sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 20,000&lt;br /&gt;
| 5,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Drunian]]&lt;br /&gt;
| [[File:Drunian sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 20,000&lt;br /&gt;
| 2,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Goat]]&lt;br /&gt;
| [[File:Goat sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 25,000&lt;br /&gt;
| 5,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Gorlak]]&lt;br /&gt;
| [[File:Gorlak sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 10,000&lt;br /&gt;
| 3,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Helmet snake]]&lt;br /&gt;
| [[File:Helmet snake sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 2,000&lt;br /&gt;
| 40&lt;br /&gt;
|-&lt;br /&gt;
| [[Ibex]]&lt;br /&gt;
| [[File:Ibex sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 10,000&lt;br /&gt;
| 5,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Ice wolf]]&lt;br /&gt;
| [[File:Ice wolf sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 10,000&lt;br /&gt;
| 5,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Impala]]&lt;br /&gt;
| [[File:Impala sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 25,000&lt;br /&gt;
| 5,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Leopard]]&lt;br /&gt;
| [[File:Leopard sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 25,000&lt;br /&gt;
| 5,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Mountain goat]]&lt;br /&gt;
| [[File:Mountain goat sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 10,000&lt;br /&gt;
| 5,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Otter man]]&lt;br /&gt;
| [[File:Otter man sprite.png|center]]&lt;br /&gt;
| 40,000&lt;br /&gt;
| 20,000&lt;br /&gt;
| 4,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Plump helmet man]]&lt;br /&gt;
| [[File:Plump helmet man sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 10,000&lt;br /&gt;
| 1,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Reptile man]]&lt;br /&gt;
| [[File:Reptile man sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 10,000&lt;br /&gt;
| 1,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Serpent man]]&lt;br /&gt;
| [[File:Serpent man sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 10,000&lt;br /&gt;
| 1,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Sheep]]&lt;br /&gt;
| [[File:Sheep sprite anim.gif|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 25,000&lt;br /&gt;
| 5,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Snapping turtle man]]&lt;br /&gt;
| [[File:Snapping turtle man sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| n/a&lt;br /&gt;
| 66&lt;br /&gt;
|-&lt;br /&gt;
| [[Sponge]]&lt;br /&gt;
| [[File:Sponge sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Tigerfish]]&lt;br /&gt;
| [[File:Tigerfish sprite.png|center]]&lt;br /&gt;
| 50,000&lt;br /&gt;
| 25,000&lt;br /&gt;
| 5,000&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small for dwarf-sized armor and clothes'''&lt;br /&gt;
|&lt;br /&gt;
| 51,428&lt;br /&gt;
| 51,428&lt;br /&gt;
| 51,428&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small to wield long-swords two-handed'''&lt;br /&gt;
|&lt;br /&gt;
| 52,499&lt;br /&gt;
| 52,499&lt;br /&gt;
| 52,499&lt;br /&gt;
|-&lt;br /&gt;
| [[Emu man]]&lt;br /&gt;
| [[File:Emu man sprite.png|center]]&lt;br /&gt;
| 52,500&lt;br /&gt;
| 26,250&lt;br /&gt;
| 1,200&lt;br /&gt;
|-&lt;br /&gt;
| [[Wolf man]]&lt;br /&gt;
| [[File:Wolf man sprite.png|center]]&lt;br /&gt;
| 55,000&lt;br /&gt;
| 27,500&lt;br /&gt;
| 5,500&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small to wield long-swords one-handed'''&lt;br /&gt;
|&lt;br /&gt;
| 57,499&lt;br /&gt;
| 57,499&lt;br /&gt;
| 57,499&lt;br /&gt;
|-&lt;br /&gt;
| [[Capybara man]]&lt;br /&gt;
| [[File:Capybara man sprite.png|center]]&lt;br /&gt;
| 57,500&lt;br /&gt;
| 28,750&lt;br /&gt;
| 5,750&lt;br /&gt;
|-&lt;br /&gt;
| [[Aardvark man]]&lt;br /&gt;
| [[File:Aardvark man sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 600&lt;br /&gt;
|-&lt;br /&gt;
| [[Cassowary man]]&lt;br /&gt;
| [[File:Cassowary man sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 600&lt;br /&gt;
|-&lt;br /&gt;
| [[Cheetah man]]&lt;br /&gt;
| [[File:Cheetah man sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Cougar]]&lt;br /&gt;
| [[File:Cougar sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| '''[[Dwarf]]'''&lt;br /&gt;
| [[File:Dwarf sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 15,000&lt;br /&gt;
| 3,000&lt;br /&gt;
|-&lt;br /&gt;
| '''[[Elf]]'''&lt;br /&gt;
| [[File:Elf sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 15,000&lt;br /&gt;
| 3,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Foul blendec]]&lt;br /&gt;
| [[File:Foul blendec sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Frill shark]]&lt;br /&gt;
| [[File:Frill shark sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 20,000&lt;br /&gt;
| 3,000&lt;br /&gt;
|-&lt;br /&gt;
| '''[[Goblin]]'''&lt;br /&gt;
| [[File:Goblin sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 15,000&lt;br /&gt;
| 3,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Great barracuda]]&lt;br /&gt;
| [[File:Great barracuda sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 20,000&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Harpy]]&lt;br /&gt;
| [[File:Harpy sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Hyena]]&lt;br /&gt;
| [[File:Hyena sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Ibex man]]&lt;br /&gt;
| [[File:Ibex man sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 12,000&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Impala man]]&lt;br /&gt;
| [[File:Impala man sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Leopard man]]&lt;br /&gt;
| [[File:Leopard man sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Manera]]&lt;br /&gt;
| [[File:Manera sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 20,000&lt;br /&gt;
| 2,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Mountain goat man]]&lt;br /&gt;
| [[File:Mountain goat man sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 12,000&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Naked mole dog]]&lt;br /&gt;
| [[File:Naked mole dog sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Pig]]&lt;br /&gt;
| [[File:Pig sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Satyr]]&lt;br /&gt;
| [[File:Satyr sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Sponge man]]&lt;br /&gt;
| [[File:Sponge man sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Troglodyte]]&lt;br /&gt;
| [[File:Troglodyte sprite.png|center]]&lt;br /&gt;
| 60,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small for human-sized armor and clothes'''&lt;br /&gt;
|&lt;br /&gt;
| 60,001&lt;br /&gt;
| 60,001&lt;br /&gt;
| 60,001&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small to wield two-handed swords, great axes,&amp;lt;br&amp;gt;halberds, mauls or pikes two-handed'''&lt;br /&gt;
|&lt;br /&gt;
| 62,499&lt;br /&gt;
| 62,499&lt;br /&gt;
| 62,499&lt;br /&gt;
|-&lt;br /&gt;
| [[Cougar man]]&lt;br /&gt;
| [[File:Cougar man sprite.png|center]]&lt;br /&gt;
| 65,000&lt;br /&gt;
| 32,500&lt;br /&gt;
| 6,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Hyena man]]&lt;br /&gt;
| [[File:Hyena man sprite.png|center]]&lt;br /&gt;
| 65,000&lt;br /&gt;
| 32,500&lt;br /&gt;
| 6,500&lt;br /&gt;
|-&lt;br /&gt;
| '''Too big for dwarf-sized armor and clothes'''&lt;br /&gt;
|&lt;br /&gt;
| 68,571&lt;br /&gt;
| 68,571&lt;br /&gt;
| 68,571&lt;br /&gt;
|-&lt;br /&gt;
| [[Alpaca]]&lt;br /&gt;
| [[File:Alpaca sprite.png|center]]&lt;br /&gt;
| 70,000&lt;br /&gt;
| 35,000&lt;br /&gt;
| 7,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Amethyst man]]&lt;br /&gt;
| [[File:Amethyst man sprite.png|center]]&lt;br /&gt;
| 70,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Blood man]]&lt;br /&gt;
| [[File:Blood man sprite.png|center]]&lt;br /&gt;
| 70,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Fire man]]&lt;br /&gt;
| [[File:Fire man sprite.png|center]]&lt;br /&gt;
| 70,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Flesh ball]]&lt;br /&gt;
| [[File:Flesh ball sprite.png|center]]&lt;br /&gt;
| 70,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Gabbro man]]&lt;br /&gt;
| [[File:Gabbro man sprite.png|center]]&lt;br /&gt;
| 70,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Green devourer]]&lt;br /&gt;
| [[File:Green devourer sprite.png|center]]&lt;br /&gt;
| 70,000&lt;br /&gt;
| 20,000&lt;br /&gt;
| 2,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Grimeling]]&lt;br /&gt;
| [[File:Grimeling sprite.png|center]]&lt;br /&gt;
| 70,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| '''[[Human]]'''&lt;br /&gt;
| [[File:Human sprite.png|center]]&lt;br /&gt;
| 70,000&lt;br /&gt;
| 17,500&lt;br /&gt;
| 4,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Iron man]]&lt;br /&gt;
| [[File:Iron man sprite.png|center]]&lt;br /&gt;
| 70,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Magma man]]&lt;br /&gt;
| [[File:Magma man sprite.png|center]]&lt;br /&gt;
| 70,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Merperson]]&lt;br /&gt;
| [[File:Merperson sprite anim.gif|center]]&lt;br /&gt;
| 70,000&lt;br /&gt;
| 20,000&lt;br /&gt;
| 4,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Mud man]]&lt;br /&gt;
| [[File:Mud man sprite.png|center]]&lt;br /&gt;
| 70,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Reacher]]&lt;br /&gt;
| [[File:Reacher sprite.png|center]]&lt;br /&gt;
| 70,000&lt;br /&gt;
| 15,000&lt;br /&gt;
| 2,000&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small to wield two-handed swords, great axes,&amp;lt;br&amp;gt;halberds, mauls or pikes one-handed'''&lt;br /&gt;
|&lt;br /&gt;
| 77,499&lt;br /&gt;
| 77,499&lt;br /&gt;
| 77,499&lt;br /&gt;
|-&lt;br /&gt;
| [[Jaguar man]]&lt;br /&gt;
| [[File:Jaguar man sprite.png|center]]&lt;br /&gt;
| 72,500&lt;br /&gt;
| 38,666&lt;br /&gt;
| 7,250&lt;br /&gt;
|-&lt;br /&gt;
| [[Jaguar]]&lt;br /&gt;
| [[File:Jaguar sprite.png|center]]&lt;br /&gt;
| 75,000&lt;br /&gt;
| 40,000&lt;br /&gt;
| 7,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Wild boar man]]&lt;br /&gt;
| [[File:Wild boar man sprite.png|center]]&lt;br /&gt;
| 75,000&lt;br /&gt;
| 37,500&lt;br /&gt;
| 7,500&lt;br /&gt;
|-&lt;br /&gt;
| '''Too big for human-sized armor and clothes'''&lt;br /&gt;
|&lt;br /&gt;
| 79,999&lt;br /&gt;
| 79,999&lt;br /&gt;
| 79,999&lt;br /&gt;
|-&lt;br /&gt;
| [[Alligator snapping turtle]]&lt;br /&gt;
| [[File:Alligator snapping turtle sprite.png|center]]&lt;br /&gt;
| 80,000&lt;br /&gt;
| 40,000&lt;br /&gt;
| 60&lt;br /&gt;
|-&lt;br /&gt;
| [[Coelacanth]]&lt;br /&gt;
| [[File:Coelacanth sprite.png|center]]&lt;br /&gt;
| 80,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 5,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Kangaroo man]]&lt;br /&gt;
| [[File:Kangaroo man sprite.png|center]]&lt;br /&gt;
| 80,000&lt;br /&gt;
| 40,000&lt;br /&gt;
| 8,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Longfin mako shark]]&lt;br /&gt;
| [[File:Longfin mako shark sprite.png|center]]&lt;br /&gt;
| 80,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 4,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Orangutan]]&lt;br /&gt;
| [[File:Orangutan sprite.png|center]]&lt;br /&gt;
| 80,000&lt;br /&gt;
| 40,000&lt;br /&gt;
| 8,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Ostrich man]]&lt;br /&gt;
| [[File:Ostrich man sprite anim.gif|center]]&lt;br /&gt;
| 80,000&lt;br /&gt;
| 40,000&lt;br /&gt;
| 1,600&lt;br /&gt;
|-&lt;br /&gt;
| [[Shortfin mako shark]]&lt;br /&gt;
| [[File:Shortfin mako shark sprite.png|center]]&lt;br /&gt;
| 80,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 4,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Spotted wobbegong]]&lt;br /&gt;
| [[File:Spotted wobbegong sprite.png|center]]&lt;br /&gt;
| 80,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 10,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Wild boar]]&lt;br /&gt;
| [[File:Wild boar sprite.png|center]]&lt;br /&gt;
| 80,000&lt;br /&gt;
| 40,000&lt;br /&gt;
| 8,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Anaconda man]]&lt;br /&gt;
| [[File:Anaconda man sprite.png|center]]&lt;br /&gt;
| 85,000&lt;br /&gt;
| 42,500&lt;br /&gt;
| 85&lt;br /&gt;
|-&lt;br /&gt;
| [[Monitor lizard man]]&lt;br /&gt;
| [[File:Monitor lizard man sprite.png|center]]&lt;br /&gt;
| 85,000&lt;br /&gt;
| 42,500&lt;br /&gt;
| 51&lt;br /&gt;
|-&lt;br /&gt;
| [[Sloth bear man]]&lt;br /&gt;
| [[File:Sloth bear man sprite.png|center]]&lt;br /&gt;
| 85,000&lt;br /&gt;
| 42,500&lt;br /&gt;
| 8,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Warthog man]]&lt;br /&gt;
| [[File:Warthog man sprite.png|center]]&lt;br /&gt;
| 85,000&lt;br /&gt;
| 42,500&lt;br /&gt;
| 8,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Kangaroo]]&lt;br /&gt;
| [[File:Kangaroo sprite.png|center]]&lt;br /&gt;
| 90,000&lt;br /&gt;
| 45,000&lt;br /&gt;
| 9,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Molemarian]]&lt;br /&gt;
| [[File:Molemarian sprite.png|center]]&lt;br /&gt;
| 90,000&lt;br /&gt;
| 12,000&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Ostrich]]&lt;br /&gt;
| [[File:Ostrich sprite anim.gif|center]]&lt;br /&gt;
| 90,000&lt;br /&gt;
| 45,000&lt;br /&gt;
| 1,800&lt;br /&gt;
|-&lt;br /&gt;
| [[Black bear man]]&lt;br /&gt;
| [[File:Black bear man sprite.png|center]]&lt;br /&gt;
| 95,000&lt;br /&gt;
| 47,500&lt;br /&gt;
| 9,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Anaconda]]&lt;br /&gt;
| [[File:Anaconda sprite.png|center]]&lt;br /&gt;
| 100,000&lt;br /&gt;
| 50,000&lt;br /&gt;
| 100&lt;br /&gt;
|-&lt;br /&gt;
| [[Common skate]]&lt;br /&gt;
| [[File:Common skate sprite.png|center]]&lt;br /&gt;
| 100,000&lt;br /&gt;
| 30,000&lt;br /&gt;
| 2,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Elk bird]]&lt;br /&gt;
| [[File:Elk bird sprite.png|center]]&lt;br /&gt;
| 100,000&lt;br /&gt;
| 50,000&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| [[Monitor lizard]]&lt;br /&gt;
| [[File:Monitor lizard sprite.png|center]]&lt;br /&gt;
| 100,000&lt;br /&gt;
| 50,000&lt;br /&gt;
| 60&lt;br /&gt;
|-&lt;br /&gt;
| [[Panda man]]&lt;br /&gt;
| [[File:Panda man sprite.png|center]]&lt;br /&gt;
| 100,000&lt;br /&gt;
| 50,000&lt;br /&gt;
| 115&lt;br /&gt;
|-&lt;br /&gt;
| [[Sloth bear]]&lt;br /&gt;
| [[File:Sloth bear sprite.png|center]]&lt;br /&gt;
| 100,000&lt;br /&gt;
| 50,000&lt;br /&gt;
| 10,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Warthog]]&lt;br /&gt;
| [[File:Warthog man sprite.png|center]]&lt;br /&gt;
| 100,000&lt;br /&gt;
| 50,000&lt;br /&gt;
| 10,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Deer man]]&lt;br /&gt;
| [[File:Deer man sprites anim.gif|center]]&lt;br /&gt;
| 105,000&lt;br /&gt;
| 52,500&lt;br /&gt;
| 10,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant tortoise man|Giant tortoise woman]]&lt;br /&gt;
| [[File:Giant tortoise man sprite.png|center]]&lt;br /&gt;
| 110,000&lt;br /&gt;
| 55,000&lt;br /&gt;
| 58&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant peregrine falcon|Giant tiercel peregrine]] &amp;lt;small&amp;gt;'''(smallest giant animal)'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Giant peregrine falcon sprite.png|center]]&lt;br /&gt;
| 113,292&lt;br /&gt;
| 56,646&lt;br /&gt;
| 8,308&lt;br /&gt;
|-&lt;br /&gt;
| [[Harp seal man]]&lt;br /&gt;
| [[File:Harp seal man sprite.png|center]]&lt;br /&gt;
| 117,500&lt;br /&gt;
| 58,750&lt;br /&gt;
| 1,175&lt;br /&gt;
|-&lt;br /&gt;
| [[Black bear]]&lt;br /&gt;
| [[File:Black bear sprite.png|center]]&lt;br /&gt;
| 120,000&lt;br /&gt;
| 60,000&lt;br /&gt;
| 12,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Nightwing]]&lt;br /&gt;
| [[File:Nightwing sprite.png|center]]&lt;br /&gt;
| 120,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Panda]]&lt;br /&gt;
| [[File:Panda sprite.png|center]]&lt;br /&gt;
| 130,000&lt;br /&gt;
| 65,000&lt;br /&gt;
| 150&lt;br /&gt;
|-&lt;br /&gt;
| [[Reindeer]]&lt;br /&gt;
| [[File:Reindeer sprite.png|center]]&lt;br /&gt;
| 130,000&lt;br /&gt;
| 65,000&lt;br /&gt;
| 13,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Grizzly bear man]]&lt;br /&gt;
| [[File:Grizzly bear man sprite.png|center]]&lt;br /&gt;
| 135,000&lt;br /&gt;
| 67,500&lt;br /&gt;
| 13,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Lion man]]&lt;br /&gt;
| [[File:Lion man sprite anim.gif|center]]&lt;br /&gt;
| 135,000&lt;br /&gt;
| 67,500&lt;br /&gt;
| 13,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Python man]]&lt;br /&gt;
| [[File:Python man sprite.png|center]]&lt;br /&gt;
| 135,000&lt;br /&gt;
| 33,750&lt;br /&gt;
| 27&lt;br /&gt;
|-&lt;br /&gt;
| [[Tapir man]]&lt;br /&gt;
| [[File:Tapir man sprite.png|center]]&lt;br /&gt;
| 135,000&lt;br /&gt;
| 67,500&lt;br /&gt;
| 13,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Deer]]&lt;br /&gt;
| [[File:Deer sprites anim.gif|center]]&lt;br /&gt;
| 140,000&lt;br /&gt;
| 70,000&lt;br /&gt;
| 14,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Tiger man]]&lt;br /&gt;
| [[File:Tiger man sprite.png|center]]&lt;br /&gt;
| 147,500&lt;br /&gt;
| 65,555&lt;br /&gt;
| 14,750&lt;br /&gt;
|-&lt;br /&gt;
| [[Beak dog]]&lt;br /&gt;
| [[File:Beak dog sprite.png|center]]&lt;br /&gt;
| 150,000&lt;br /&gt;
| 50,000&lt;br /&gt;
| 1,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Bull shark]]&lt;br /&gt;
| [[File:Bull shark sprite.png|center]]&lt;br /&gt;
| 150,000&lt;br /&gt;
| 50,000&lt;br /&gt;
| 5,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant tortoise]] &amp;lt;small&amp;gt;(female)&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Giant tortoise sprite.png|center]]&lt;br /&gt;
| 150,000&lt;br /&gt;
| 75,000&lt;br /&gt;
| 80&lt;br /&gt;
|-&lt;br /&gt;
| [[Gorilla]]&lt;br /&gt;
| [[File:Gorilla sprite.png|center]]&lt;br /&gt;
| 150,000&lt;br /&gt;
| 75,000&lt;br /&gt;
| 15,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Nurse shark]]&lt;br /&gt;
| [[File:Nurse shark sprite.png|center]]&lt;br /&gt;
| 150,000&lt;br /&gt;
| 50,000&lt;br /&gt;
| 5,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Harp seal]]&lt;br /&gt;
| [[File:Harp seal sprite.png|center]]&lt;br /&gt;
| 165,000&lt;br /&gt;
| 82,500&lt;br /&gt;
| 1,650&lt;br /&gt;
|-&lt;br /&gt;
| [[Muskox man]]&lt;br /&gt;
| [[File:Muskox man sprite.png|center]]&lt;br /&gt;
| 177,500&lt;br /&gt;
| 74,736&lt;br /&gt;
| 18,684&lt;br /&gt;
|-&lt;br /&gt;
| [[Llama]]&lt;br /&gt;
| [[File:Llama sprite.png|center]]&lt;br /&gt;
| 180,000&lt;br /&gt;
| 90,000&lt;br /&gt;
| 18,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Elk man]]&lt;br /&gt;
| [[File:Elk man sprites anim.gif|center]]&lt;br /&gt;
| 185,000&lt;br /&gt;
| 92,500&lt;br /&gt;
| 18,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant tortoise man]]&lt;br /&gt;
| [[File:Giant tortoise man sprite.png|center]]&lt;br /&gt;
| 185,000&lt;br /&gt;
| 92,500&lt;br /&gt;
| 49&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant honey badger]]&lt;br /&gt;
| [[File:Giant honey badger sprite.png|center]]&lt;br /&gt;
| 192,150&lt;br /&gt;
| 96,075&lt;br /&gt;
| 19,215&lt;br /&gt;
|-&lt;br /&gt;
| [[Moose man|Moose woman]]&lt;br /&gt;
| [[File:Moose man sprite anim.gif|center]]&lt;br /&gt;
| 192,500&lt;br /&gt;
| 96,250&lt;br /&gt;
| 19,250&lt;br /&gt;
|-&lt;br /&gt;
| [[Antman]] &amp;lt;small&amp;gt;(queen)&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Antman sprite.png|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 50,000&lt;br /&gt;
| 10,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Blind cave bear]]&lt;br /&gt;
| [[File:Blind cave bear sprite.png|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant bat]]&lt;br /&gt;
| [[File:Giant bat sprite anim2.gif|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant cave spider]]&lt;br /&gt;
| [[File:Giant cave spider sprite.png|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant cave swallow]]&lt;br /&gt;
| [[File:Giant cave swallow sprite anim.gif|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 2,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant cave toad]]&lt;br /&gt;
| [[File:Giant cave toad sprite.png|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant earthworm]]&lt;br /&gt;
| [[File:Giant earthworm sprite.png|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant mole]]&lt;br /&gt;
| [[File:Giant mole sprite.png|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant olm]]&lt;br /&gt;
| [[File:Giant olm sprite.png|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant rat]]&lt;br /&gt;
| [[File:Giant rat sprite.png|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Grizzly bear]]&lt;br /&gt;
| [[File:Grizzly bear sprite.png|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Halibut]]&lt;br /&gt;
| [[File:Halibut sprite.png|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 80,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Lion]]&lt;br /&gt;
| [[File:Lion sprite anim.gif|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Opah]]&lt;br /&gt;
| [[File:Opah sprite.png|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Python]]&lt;br /&gt;
| [[File:Python sprite.png|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 50,000&lt;br /&gt;
| 40&lt;br /&gt;
|-&lt;br /&gt;
| [[Tapir]]&lt;br /&gt;
| [[File:Tapir sprite.png|center]]&lt;br /&gt;
| 200,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant beetle]]&lt;br /&gt;
| [[File:Giant beetle sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant brown recluse spider]]&lt;br /&gt;
| [[File:Giant brown recluse spider sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant damselfly]]&lt;br /&gt;
| [[File:Giant damselfly sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant dragonfly]]&lt;br /&gt;
| [[File:Giant dragonfly sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant firefly]]&lt;br /&gt;
| [[File:Giant firefly sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant fly]]&lt;br /&gt;
| [[File:Giant fly sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant grasshopper]]&lt;br /&gt;
| [[File:Giant grasshopper sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant jumping spider]]&lt;br /&gt;
| [[File:Giant jumping spider sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant louse]]&lt;br /&gt;
| [[File:Giant louse sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant mantis]]&lt;br /&gt;
| [[File:Giant mantis sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant monarch butterfly]]&lt;br /&gt;
| [[File:Giant monarch butterfly sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant mosquito]]&lt;br /&gt;
| [[File:Giant mosquito sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant moth]]&lt;br /&gt;
| [[File:Giant moth sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant roach]]&lt;br /&gt;
| [[File:Giant roach sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant slug]]&lt;br /&gt;
| [[File:Giant slug sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant snail]]&lt;br /&gt;
| [[File:Giant snail sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant thrips]]&lt;br /&gt;
| [[File:Giant thrips sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant tick]]&lt;br /&gt;
| [[File:Giant tick sprite.png|center]]&lt;br /&gt;
| 200,007&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant bark scorpion]]&lt;br /&gt;
| [[File:Giant bark scorpion sprite.png|center]]&lt;br /&gt;
| 200,021&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant bushtit]]&lt;br /&gt;
| [[File:Giant bushtit sprite.png|center]]&lt;br /&gt;
| 200,035&lt;br /&gt;
| n/a&lt;br /&gt;
| 40,007&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant sparrow]]&lt;br /&gt;
| [[File:Giant sparrow sprite.png|center]]&lt;br /&gt;
| 200,210&lt;br /&gt;
| n/a&lt;br /&gt;
| 13,347&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant oriole]]&lt;br /&gt;
| [[File:Giant oriole sprite.png|center]]&lt;br /&gt;
| 200,280&lt;br /&gt;
| n/a&lt;br /&gt;
| 35,049&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant wren]]&lt;br /&gt;
| [[File:Giant wren sprite.png|center]]&lt;br /&gt;
| 200,280&lt;br /&gt;
| n/a&lt;br /&gt;
| 25,035&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant cardinal]]&lt;br /&gt;
| [[File:Giant cardinal sprite.png|center]]&lt;br /&gt;
| 200,350&lt;br /&gt;
| n/a&lt;br /&gt;
| 32,056&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant leopard gecko]]&lt;br /&gt;
| [[File:Giant leopard gecko sprite.png|center]]&lt;br /&gt;
| 200,350&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant red-winged blackbird]]&lt;br /&gt;
| [[File:Giant red-winged blackbird sprite.png|center]]&lt;br /&gt;
| 200,350&lt;br /&gt;
| n/a&lt;br /&gt;
| 40,070&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant peach-faced lovebird]]&lt;br /&gt;
| [[File:Giant peach faced lovebird sprite.png|center]]&lt;br /&gt;
| 200,419&lt;br /&gt;
| n/a&lt;br /&gt;
| 26,722&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant anole]]&lt;br /&gt;
| [[File:Giant anole sprite.png|center]]&lt;br /&gt;
| 200,629&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant cockatiel]]&lt;br /&gt;
| [[File:Giant cockatiel sprite.png|center]]&lt;br /&gt;
| 200,629&lt;br /&gt;
| n/a&lt;br /&gt;
| 22,292&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant masked lovebird]]&lt;br /&gt;
| [[File:Giant masked lovebird sprite.png|center]]&lt;br /&gt;
| 200,629&lt;br /&gt;
| n/a&lt;br /&gt;
| 17,833&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant bluejay]]&lt;br /&gt;
| [[File:Giant bluejay sprite.png|center]]&lt;br /&gt;
| 200,700&lt;br /&gt;
| n/a&lt;br /&gt;
| 20,070&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant green tree frog]]&lt;br /&gt;
| [[File:Giant green tree frog sprite.png|center]]&lt;br /&gt;
| 200,700&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant leech]]&lt;br /&gt;
| [[File:Giant leech sprite.png|center]]&lt;br /&gt;
| 200,700&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant grackle]]&lt;br /&gt;
| [[File:Giant grackle sprite.png|center]]&lt;br /&gt;
| 200,840&lt;br /&gt;
| n/a&lt;br /&gt;
| 18,410&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant parakeet]]&lt;br /&gt;
| [[File:Giant parakeet sprite.png|center]]&lt;br /&gt;
| 200,840&lt;br /&gt;
| n/a&lt;br /&gt;
| 16,736&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant adder]]&lt;br /&gt;
| [[File:Giant adder sprite.png|center]]&lt;br /&gt;
| 201,049&lt;br /&gt;
| 100,524&lt;br /&gt;
| 20,104&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant chameleon]]&lt;br /&gt;
| [[File:Giant chameleon sprite.png|center]]&lt;br /&gt;
| 201,049&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant hamster]]&lt;br /&gt;
| [[File:Giant hamster sprite.png|center]]&lt;br /&gt;
| 201,049&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant axolotl]]&lt;br /&gt;
| [[File:Giant axolotl sprite.png|center]]&lt;br /&gt;
| 201,400&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant flying squirrel]]&lt;br /&gt;
| [[File:Giant flying squirrel sprite.png|center]]&lt;br /&gt;
| 201,400&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant lizard]]&lt;br /&gt;
| [[File:Giant lizard sprite.png|center]]&lt;br /&gt;
| 201,400&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant lorikeet]]&lt;br /&gt;
| [[File:Giant lorikeet sprite.png|center]]&lt;br /&gt;
| 201,400&lt;br /&gt;
| n/a&lt;br /&gt;
| 10,070&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant magpie]]&lt;br /&gt;
| [[File:Giant magpie sprite.png|center]]&lt;br /&gt;
| 201,400&lt;br /&gt;
| n/a&lt;br /&gt;
| 10,070&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant moon snail]]&lt;br /&gt;
| [[File:Giant moon snail sprite.png|center]]&lt;br /&gt;
| 201,400&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant toad]]&lt;br /&gt;
| [[File:Giant toad sprite.png|center]]&lt;br /&gt;
| 201,400&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant weasel]]&lt;br /&gt;
| [[File:Giant weasel sprite.png|center]]&lt;br /&gt;
| 201,400&lt;br /&gt;
| 100,700&lt;br /&gt;
| 20,140&lt;br /&gt;
|-&lt;br /&gt;
| [[Gigantic squid]]&lt;br /&gt;
| [[File:Gigantic squid sprite.png|center]]&lt;br /&gt;
| 201,400&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant kestrel]]&lt;br /&gt;
| [[File:Giant kestrel sprite.png|center]]&lt;br /&gt;
| 201,750&lt;br /&gt;
| 100,875&lt;br /&gt;
| 24,210&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant chipmunk]]&lt;br /&gt;
| [[File:Giant chipmunk sprite.png|center]]&lt;br /&gt;
| 202,101&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant gray squirrel]]&lt;br /&gt;
| [[File:Giant gray squirrel sprite.png|center]]&lt;br /&gt;
| 202,101&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant red squirrel]]&lt;br /&gt;
| [[File:Giant red squirrel sprite.png|center]]&lt;br /&gt;
| 202,101&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant stoat]]&lt;br /&gt;
| [[File:Giant stoat sprite.png|center]]&lt;br /&gt;
| 202,450&lt;br /&gt;
| 101,225&lt;br /&gt;
| 20,245&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant grey parrot]]&lt;br /&gt;
| [[File:Giant grey parrot sprite.png|center]]&lt;br /&gt;
| 202,800&lt;br /&gt;
| 101,400&lt;br /&gt;
| 20,280&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant barn owl]]&lt;br /&gt;
| [[File:Giant barn owl sprite.png|center]]&lt;br /&gt;
| 203,500&lt;br /&gt;
| 101,750&lt;br /&gt;
| 12,210&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant chinchilla]]&lt;br /&gt;
| [[File:Giant chinchilla sprite.png|center]]&lt;br /&gt;
| 203,500&lt;br /&gt;
| 101,750&lt;br /&gt;
| 20,350&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant copperhead snake]]&lt;br /&gt;
| [[File:Giant copperhead snake sprite.png|center]]&lt;br /&gt;
| 203,500&lt;br /&gt;
| 122,100&lt;br /&gt;
| 20,350&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant crow]]&lt;br /&gt;
| [[File:Giant crow sprite.png|center]]&lt;br /&gt;
| 203,500&lt;br /&gt;
| n/a&lt;br /&gt;
| 8,140&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant nautilus]]&lt;br /&gt;
| [[File:Giant nautilus sprite.png|center]]&lt;br /&gt;
| 203,500&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant pond turtle]]&lt;br /&gt;
| [[File:Giant pond turtle sprite.png|center]]&lt;br /&gt;
| 203,500&lt;br /&gt;
| n/a&lt;br /&gt;
| 2,035&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant skink]]&lt;br /&gt;
| [[File:Giant skink sprite.png|center]]&lt;br /&gt;
| 203,500&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant lion tamarin]]&lt;br /&gt;
| [[File:Giant lion tamarin sprite.png|center]]&lt;br /&gt;
| 204,302&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant puffin]]&lt;br /&gt;
| [[File:Giant puffin sprite.png|center]]&lt;br /&gt;
| 205,252&lt;br /&gt;
| 102,626&lt;br /&gt;
| 8,210&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant hedgehog]]&lt;br /&gt;
| [[File:Giant hedgehog sprite.png|center]]&lt;br /&gt;
| 205,600&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant mink]]&lt;br /&gt;
| [[File:Giant mink sprite.png|center]]&lt;br /&gt;
| 205,600&lt;br /&gt;
| 102,800&lt;br /&gt;
| 20,560&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant cuttlefish]]&lt;br /&gt;
| [[File:Giant cuttlefish sprite.png|center]]&lt;br /&gt;
| 207,010&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant kea]]&lt;br /&gt;
| [[File:Giant kea sprite.png|center]]&lt;br /&gt;
| 207,010&lt;br /&gt;
| 103,505&lt;br /&gt;
| 12,420&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant peregrine falcon]]&lt;br /&gt;
| [[File:Giant peregrine falcon sprite.png|center]]&lt;br /&gt;
| 207,702&lt;br /&gt;
| 103,851&lt;br /&gt;
| 8,308&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant raven]]&lt;br /&gt;
| [[File:Giant raven sprite.png|center]]&lt;br /&gt;
| 208,404&lt;br /&gt;
| n/a&lt;br /&gt;
| 8,683&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant buzzard]]&lt;br /&gt;
| [[File:Giant buzzard sprite.png|center]]&lt;br /&gt;
| 209,804&lt;br /&gt;
| 104,902&lt;br /&gt;
| 7,493&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant kingsnake]]&lt;br /&gt;
| [[File:Giant kingsnake sprite.png|center]]&lt;br /&gt;
| 210,510&lt;br /&gt;
| 105,255&lt;br /&gt;
| 2,806&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant gila monster]]&lt;br /&gt;
| [[File:Giant gila monster sprite.png|center]]&lt;br /&gt;
| 214,020&lt;br /&gt;
| 107,010&lt;br /&gt;
| 3,210&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant great horned owl]]&lt;br /&gt;
| [[File:Giant great horned owl sprite.png|center]]&lt;br /&gt;
| 214,020&lt;br /&gt;
| 107,010&lt;br /&gt;
| 5,350&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant horseshoe crab]]&lt;br /&gt;
| [[File:Giant horseshoe crab sprite.png|center]]&lt;br /&gt;
| 214,020&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant osprey]]&lt;br /&gt;
| [[File:Giant osprey sprite.png|center]]&lt;br /&gt;
| 214,020&lt;br /&gt;
| 107,010&lt;br /&gt;
| 5,885&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant platypus]]&lt;br /&gt;
| [[File:Giant platypus sprite.png|center]]&lt;br /&gt;
| 214,020&lt;br /&gt;
| 107,010&lt;br /&gt;
| 1,070&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant snowy owl]]&lt;br /&gt;
| [[File:Giant snowy owl sprite.png|center]]&lt;br /&gt;
| 214,020&lt;br /&gt;
| 107,010&lt;br /&gt;
| 6,420&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant aye-aye]]&lt;br /&gt;
| [[File:Giant aye aye sprite.png|center]]&lt;br /&gt;
| 217,525&lt;br /&gt;
| 108,762&lt;br /&gt;
| 21,752&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant hornbill]]&lt;br /&gt;
| [[File:Giant hornbill sprite.png|center]]&lt;br /&gt;
| 217,525&lt;br /&gt;
| 108,762&lt;br /&gt;
| 4,176&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant kiwi]]&lt;br /&gt;
| [[File:Giant kiwi sprite.png|center]]&lt;br /&gt;
| 217,525&lt;br /&gt;
| 108,762&lt;br /&gt;
| 37,414&lt;br /&gt;
|-&lt;br /&gt;
| [[Minotaur]] &amp;lt;small&amp;gt;'''(smallest [[semi-megabeast]])'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Minotaur sprite.png|center]]&lt;br /&gt;
| 220,000&lt;br /&gt;
| 50,000&lt;br /&gt;
| 10,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant groundhog]]&lt;br /&gt;
| [[File:Giant groundhog sprite.png|center]]&lt;br /&gt;
| 221,040&lt;br /&gt;
| 110,520&lt;br /&gt;
| 22,104&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant kakapo]]&lt;br /&gt;
| [[File:Giant kakapo sprite.png|center]]&lt;br /&gt;
| 221,040&lt;br /&gt;
| 110,520&lt;br /&gt;
| 3,684&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant mongoose]]&lt;br /&gt;
| [[File:Giant mongoose sprite.png|center]]&lt;br /&gt;
| 221,040&lt;br /&gt;
| 110,520&lt;br /&gt;
| 22,104&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant opossum]]&lt;br /&gt;
| [[File:Giant opossum sprite.png|center]]&lt;br /&gt;
| 221,040&lt;br /&gt;
| 110,520&lt;br /&gt;
| 22,104&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant white stork]]&lt;br /&gt;
| [[File:Giant white stork sprite.png|center]]&lt;br /&gt;
| 221,040&lt;br /&gt;
| 110,520&lt;br /&gt;
| 7,368&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant capuchin]]&lt;br /&gt;
| [[File:Giant capuchin sprite.png|center]]&lt;br /&gt;
| 224,560&lt;br /&gt;
| 112,280&lt;br /&gt;
| 22,456&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant hare]]&lt;br /&gt;
| [[File:Giant hare sprite.png|center]]&lt;br /&gt;
| 224,560&lt;br /&gt;
| 112,280&lt;br /&gt;
| 22,456&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small to wield great picks'''&lt;br /&gt;
|&lt;br /&gt;
| 225,000&lt;br /&gt;
| 225,000&lt;br /&gt;
| 225,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Tiger]]&lt;br /&gt;
| [[File:Tiger sprite.png|center]]&lt;br /&gt;
| 225,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 22,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant eagle]]&lt;br /&gt;
| [[File:Giant eagle sprite.png|center]]&lt;br /&gt;
| 228,040&lt;br /&gt;
| 114,020&lt;br /&gt;
| 7,981&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant iguana]]&lt;br /&gt;
| [[File:Giant iguana sprite.png|center]]&lt;br /&gt;
| 228,040&lt;br /&gt;
| 28,505&lt;br /&gt;
| 855&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant skunk]]&lt;br /&gt;
| [[File:Giant skunk sprite.png|center]]&lt;br /&gt;
| 228,040&lt;br /&gt;
| 114,020&lt;br /&gt;
| 22,804&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant penguin]]&lt;br /&gt;
| [[File:Giant penguin sprite.png|center]]&lt;br /&gt;
| 228,080&lt;br /&gt;
| 114,040&lt;br /&gt;
| 6,842&lt;br /&gt;
|-&lt;br /&gt;
| [[Alligator man]]&lt;br /&gt;
| [[File:Alligator man sprite.png|center]]&lt;br /&gt;
| 235,000&lt;br /&gt;
| 117,500&lt;br /&gt;
| 35&lt;br /&gt;
|-&lt;br /&gt;
| [[Leopard seal man]]&lt;br /&gt;
| [[File:Leopard seal man sprite.png|center]]&lt;br /&gt;
| 235,000&lt;br /&gt;
| 117,500&lt;br /&gt;
| 23,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Polar bear man]]&lt;br /&gt;
| [[File:Polar bear man sprite.png|center]]&lt;br /&gt;
| 235,000&lt;br /&gt;
| 117,500&lt;br /&gt;
| 23,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant black mamba]]&lt;br /&gt;
| [[File:Giant black mamba sprite.png|center]]&lt;br /&gt;
| 235,100&lt;br /&gt;
| 117,550&lt;br /&gt;
| 1,880&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant octopus]]&lt;br /&gt;
| [[File:Giant octopus sprite.png|center]]&lt;br /&gt;
| 235,100&lt;br /&gt;
| n/a&lt;br /&gt;
| 940&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant pangolin]]&lt;br /&gt;
| [[File:Giant pangolin sprite.png|center]]&lt;br /&gt;
| 235,100&lt;br /&gt;
| 117,550&lt;br /&gt;
| 23,510&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant red panda]]&lt;br /&gt;
| [[File:Giant red panda sprite.png|center]]&lt;br /&gt;
| 235,100&lt;br /&gt;
| 117,550&lt;br /&gt;
| 23,510&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant rhesus macaque]]&lt;br /&gt;
| [[File:Giant rhesus macaque sprite.png|center]]&lt;br /&gt;
| 235,100&lt;br /&gt;
| 117,550&lt;br /&gt;
| 23,510&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant desert tortoise]]&lt;br /&gt;
| [[File:Giant desert tortoise sprite.png|center]]&lt;br /&gt;
| 238,645&lt;br /&gt;
| 119,322&lt;br /&gt;
| 1,735&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant coati]]&lt;br /&gt;
| [[File:Giant coati sprite.png|center]]&lt;br /&gt;
| 242,160&lt;br /&gt;
| 121,080&lt;br /&gt;
| 24,216&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant fox]]&lt;br /&gt;
| [[File:Giant fox sprite.png|center]]&lt;br /&gt;
| 242,160&lt;br /&gt;
| 121,080&lt;br /&gt;
| 24,216&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant king cobra]]&lt;br /&gt;
| [[File:Giant king cobra sprite.png|center]]&lt;br /&gt;
| 242,160&lt;br /&gt;
| 121,080&lt;br /&gt;
| 161&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant loon]]&lt;br /&gt;
| [[File:Giant loon sprite.png|center]]&lt;br /&gt;
| 242,160&lt;br /&gt;
| 121,080&lt;br /&gt;
| 6,054&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant sloth]]&lt;br /&gt;
| [[File:Giant sloth sprite.png|center]]&lt;br /&gt;
| 242,160&lt;br /&gt;
| 121,080&lt;br /&gt;
| 24,216&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant raccoon]]&lt;br /&gt;
| [[File:Giant raccoon sprite.png|center]]&lt;br /&gt;
| 249,270&lt;br /&gt;
| 124,635&lt;br /&gt;
| 24,927&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant rattlesnake]]&lt;br /&gt;
| [[File:Giant rattlesnake sprite.png|center]]&lt;br /&gt;
| 249,270&lt;br /&gt;
| 124,635&lt;br /&gt;
| 1,424&lt;br /&gt;
|-&lt;br /&gt;
| [[Troll]]&lt;br /&gt;
| [[File:Troll sprite.png|center]]&lt;br /&gt;
| 250,000&lt;br /&gt;
| 50,000&lt;br /&gt;
| 10,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant armadillo]]&lt;br /&gt;
| [[File:Giant armadillo sprite.png|center]]&lt;br /&gt;
| 252,750&lt;br /&gt;
| 126,375&lt;br /&gt;
| 25,275&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant albatross]]&lt;br /&gt;
| [[File:Giant albatross sprite.png|center]]&lt;br /&gt;
| 256,320&lt;br /&gt;
| 128,160&lt;br /&gt;
| 9,612&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant bobcat]]&lt;br /&gt;
| [[File:Giant bobcat sprite.png|center]]&lt;br /&gt;
| 256,320&lt;br /&gt;
| 128,160&lt;br /&gt;
| 25,632&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant crab]]&lt;br /&gt;
| [[File:Giant crab sprite.png|center]]&lt;br /&gt;
| 256,320&lt;br /&gt;
| n/a&lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant bushmaster]]&lt;br /&gt;
| [[File:Giant bushmaster sprite.png|center]]&lt;br /&gt;
| 259,845&lt;br /&gt;
| 129,922&lt;br /&gt;
| 611&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant spider monkey]]&lt;br /&gt;
| [[File:Giant spider monkey sprite.png|center]]&lt;br /&gt;
| 259,845&lt;br /&gt;
| 129,922&lt;br /&gt;
| 25,984&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant porcupine]]&lt;br /&gt;
| [[File:Giant porcupine sprite.png|center]]&lt;br /&gt;
| 263,430&lt;br /&gt;
| 131,715&lt;br /&gt;
| 26,343&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant vulture]]&lt;br /&gt;
| [[File:Giant vulture sprite.png|center]]&lt;br /&gt;
| 263,430&lt;br /&gt;
| 131,715&lt;br /&gt;
| 1,463&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant echidna]]&lt;br /&gt;
| [[File:Giant echidna sprite.png|center]]&lt;br /&gt;
| 270,500&lt;br /&gt;
| 135,250&lt;br /&gt;
| 27&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant hoary marmot]]&lt;br /&gt;
| [[File:Giant hoary marmot sprite.png|center]]&lt;br /&gt;
| 270,500&lt;br /&gt;
| 135,250&lt;br /&gt;
| 27,050&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant koala]]&lt;br /&gt;
| [[File:Giant koala sprite.png|center]]&lt;br /&gt;
| 270,500&lt;br /&gt;
| 135,250&lt;br /&gt;
| 27,050&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant swan]]&lt;br /&gt;
| [[File:Giant swan sprite.png|center]]&lt;br /&gt;
| 270,500&lt;br /&gt;
| 135,250&lt;br /&gt;
| 8,115&lt;br /&gt;
|-&lt;br /&gt;
| '''Too small to wield great picks one-handed'''&lt;br /&gt;
|&lt;br /&gt;
| 275,000&lt;br /&gt;
| 275,000&lt;br /&gt;
| 275,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Muskox]]&lt;br /&gt;
| [[File:Giant muskox sprite.png|center]]&lt;br /&gt;
| 285,000&lt;br /&gt;
| 120,000&lt;br /&gt;
| 30,000&lt;br /&gt;
|-&lt;br /&gt;
| [[One-humped camel man]]&lt;br /&gt;
| [[File:One humped camel man sprite.png|center]]&lt;br /&gt;
| 285,000&lt;br /&gt;
| 142,500&lt;br /&gt;
| 28,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Two-humped camel man]]&lt;br /&gt;
| [[File:Two humped camel man sprite.png|center]]&lt;br /&gt;
| 285,000&lt;br /&gt;
| 142,500&lt;br /&gt;
| 28,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Moose man]]&lt;br /&gt;
| [[File:Moose man sprite anim.gif|center]]&lt;br /&gt;
| 297,500&lt;br /&gt;
| 148,750&lt;br /&gt;
| 17,850&lt;br /&gt;
|-&lt;br /&gt;
| [[Blizzard man]]&lt;br /&gt;
| [[File:Blizzard man sprite.png|center]]&lt;br /&gt;
| 300,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Blue shark]]&lt;br /&gt;
| [[File:Blue shark sprite.png|center]]&lt;br /&gt;
| 300,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 10,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Donkey]]&lt;br /&gt;
| [[File:Donkey sprite.png|center]]&lt;br /&gt;
| 300,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 40,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Elk]]&lt;br /&gt;
| [[File:Elk sprites anim.gif|center]]&lt;br /&gt;
| 300,000&lt;br /&gt;
| 150,000&lt;br /&gt;
| 30,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant tortoise]] &amp;lt;small&amp;gt;(male)&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Giant tortoise sprite.png|center]]&lt;br /&gt;
| 300,000&lt;br /&gt;
| 150,000&lt;br /&gt;
| 80&lt;br /&gt;
|-&lt;br /&gt;
| [[Sasquatch]]&lt;br /&gt;
| [[File:Sasquatch sprite.png|center]]&lt;br /&gt;
| 300,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Yeti]]&lt;br /&gt;
| [[File:Yeti sprite.png|center]]&lt;br /&gt;
| 300,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant badger]]&lt;br /&gt;
| [[File:Giant badger sprite.png|center]]&lt;br /&gt;
| 306,000&lt;br /&gt;
| 153,000&lt;br /&gt;
| 30,600&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant coyote]]&lt;br /&gt;
| [[File:Giant coyote sprite.png|center]]&lt;br /&gt;
| 306,000&lt;br /&gt;
| 153,000&lt;br /&gt;
| 30,600&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant gray langur]]&lt;br /&gt;
| [[File:Giant gray langur sprite.png|center]]&lt;br /&gt;
| 306,000&lt;br /&gt;
| 153,000&lt;br /&gt;
| 30,600&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant jackal]]&lt;br /&gt;
| [[File:Giant jackal sprite.png|center]]&lt;br /&gt;
| 306,000&lt;br /&gt;
| 153,000&lt;br /&gt;
| 30,600&lt;br /&gt;
|-&lt;br /&gt;
| [[Moose|Moose cow]]&lt;br /&gt;
| [[File:Moose sprite anim.gif|center]]&lt;br /&gt;
| 315,000&lt;br /&gt;
| 157,500&lt;br /&gt;
| 31,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant beaver]]&lt;br /&gt;
| [[File:Giant beaver sprite.png|center]]&lt;br /&gt;
| 341,800&lt;br /&gt;
| 170,900&lt;br /&gt;
| 34,180&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant dingo]]&lt;br /&gt;
| [[File:Giant dingo sprite.png|center]]&lt;br /&gt;
| 341,800&lt;br /&gt;
| 170,900&lt;br /&gt;
| 34,180&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant gazelle]]&lt;br /&gt;
| [[File:Giant gazelle sprite.png|center]]&lt;br /&gt;
| 341,800&lt;br /&gt;
| 170,900&lt;br /&gt;
| 34,180&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant mandrill]]&lt;br /&gt;
| [[File:Giant mandrill sprite.png|center]]&lt;br /&gt;
| 341,800&lt;br /&gt;
| 170,900&lt;br /&gt;
| 34,180&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant wolverine]]&lt;br /&gt;
| [[File:Giant wolverine sprite.png|center]]&lt;br /&gt;
| 341,800&lt;br /&gt;
| 170,900&lt;br /&gt;
| 34,180&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant lynx]]&lt;br /&gt;
| [[File:Giant lynx sprite.png|center]]&lt;br /&gt;
| 377,750&lt;br /&gt;
| 188,875&lt;br /&gt;
| 37,775&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant ocelot]]&lt;br /&gt;
| [[File:Giant ocelot sprite.png|center]]&lt;br /&gt;
| 377,750&lt;br /&gt;
| 188,875&lt;br /&gt;
| 3,777&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant wombat]]&lt;br /&gt;
| [[File:Giant wombat sprite.png|center]]&lt;br /&gt;
| 377,750&lt;br /&gt;
| 188,875&lt;br /&gt;
| 52,885&lt;br /&gt;
|-&lt;br /&gt;
| [[Alligator]]&lt;br /&gt;
| [[File:Alligator sprite.png|center]]&lt;br /&gt;
| 400,000&lt;br /&gt;
| 200,000&lt;br /&gt;
| 60&lt;br /&gt;
|-&lt;br /&gt;
| [[Leopard seal]]&lt;br /&gt;
| [[File:Leopard seal sprite.png|center]]&lt;br /&gt;
| 400,000&lt;br /&gt;
| 200,000&lt;br /&gt;
| 40,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Mule]]&lt;br /&gt;
| [[File:Mule sprite.png|center]]&lt;br /&gt;
| 400,000&lt;br /&gt;
| 150,000&lt;br /&gt;
| 50,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Polar bear]]&lt;br /&gt;
| [[File:Polar bear sprite.png|center]]&lt;br /&gt;
| 400,000&lt;br /&gt;
| 200,000&lt;br /&gt;
| 40,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Saltwater crocodile man]]&lt;br /&gt;
| [[File:Saltwater crocodile man sprite.png|center]]&lt;br /&gt;
| 435,000&lt;br /&gt;
| 217,500&lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant emu]]&lt;br /&gt;
| [[File:Giant emu sprite.png|center]]&lt;br /&gt;
| 450,100&lt;br /&gt;
| 225,050&lt;br /&gt;
| 10,288&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant wolf]]&lt;br /&gt;
| [[File:Giant wolf sprite.png|center]]&lt;br /&gt;
| 486,800&lt;br /&gt;
| 243,400&lt;br /&gt;
| 48,680&lt;br /&gt;
|-&lt;br /&gt;
| [[Elephant seal man|Elephant seal woman]]&lt;br /&gt;
| [[File:Elephant seal man sprite.png|center]]&lt;br /&gt;
| 490,000&lt;br /&gt;
| 245,000&lt;br /&gt;
| 49,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Hammerhead shark]]&lt;br /&gt;
| [[File:Hammerhead shark sprite.png|center]]&lt;br /&gt;
| 500,000&lt;br /&gt;
| 200,000&lt;br /&gt;
| 10,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Horse]]&lt;br /&gt;
| [[File:Horse sprite.png|center]]&lt;br /&gt;
| 500,000&lt;br /&gt;
| 200,000&lt;br /&gt;
| 100,000&lt;br /&gt;
|-&lt;br /&gt;
| [[One-humped camel]]&lt;br /&gt;
| [[File:One humped camel sprite.png|center]]&lt;br /&gt;
| 500,000&lt;br /&gt;
| 250,000&lt;br /&gt;
| 50,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Tiger shark]]&lt;br /&gt;
| [[File:Tiger shark sprite.png|center]]&lt;br /&gt;
| 500,000&lt;br /&gt;
| 200,000&lt;br /&gt;
| 10,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Two-humped camel]]&lt;br /&gt;
| [[File:Two humped camel sprite.png|center]]&lt;br /&gt;
| 500,000&lt;br /&gt;
| 250,000&lt;br /&gt;
| 50,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant capybara]]&lt;br /&gt;
| [[File:Giant capybara sprite.png|center]]&lt;br /&gt;
| 523,350&lt;br /&gt;
| 261,675&lt;br /&gt;
| 52,335&lt;br /&gt;
|-&lt;br /&gt;
| [[Moose|Moose bull]]&lt;br /&gt;
| [[File:Moose sprite anim.gif|center]]&lt;br /&gt;
| 525,000&lt;br /&gt;
| 262,500&lt;br /&gt;
| 31,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Giraffe man]]&lt;br /&gt;
| [[File:Giraffe man sprite.png|center]]&lt;br /&gt;
| 535,000&lt;br /&gt;
| 267,500&lt;br /&gt;
| 53,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant aardvark]]&lt;br /&gt;
| [[File:Giant aardvark sprite.png|center]]&lt;br /&gt;
| 560,000&lt;br /&gt;
| 280,000&lt;br /&gt;
| 5,600&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant cassowary]]&lt;br /&gt;
| [[File:Giant cassowary sprite.png|center]]&lt;br /&gt;
| 560,000&lt;br /&gt;
| 280,000&lt;br /&gt;
| 5,600&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant cheetah]]&lt;br /&gt;
| [[File:Giant cheetah sprite.png|center]]&lt;br /&gt;
| 560,000&lt;br /&gt;
| 280,000&lt;br /&gt;
| 56,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant ibex]]&lt;br /&gt;
| [[File:Giant ibex sprite.png|center]]&lt;br /&gt;
| 560,000&lt;br /&gt;
| 112,000&lt;br /&gt;
| 56,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant impala]]&lt;br /&gt;
| [[File:Giant impala sprite.png|center]]&lt;br /&gt;
| 560,000&lt;br /&gt;
| 280,000&lt;br /&gt;
| 56,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant leopard]]&lt;br /&gt;
| [[File:Giant leopard sprite.png|center]]&lt;br /&gt;
| 560,000&lt;br /&gt;
| 280,000&lt;br /&gt;
| 56,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant mountain goat]]&lt;br /&gt;
| [[File:Giant mountain goat sprite.png|center]]&lt;br /&gt;
| 560,000&lt;br /&gt;
| 112,000&lt;br /&gt;
| 56,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant sponge]]&lt;br /&gt;
| [[File:Giant sponge sprite.png|center]]&lt;br /&gt;
| 560,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Bluefin tuna]]&lt;br /&gt;
| [[File:Bluefin tuna sprite.png|center]]&lt;br /&gt;
| 600,000&lt;br /&gt;
| 200,000&lt;br /&gt;
| 60,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Cave crocodile]]&lt;br /&gt;
| [[File:Cave crocodile sprite.png|center]]&lt;br /&gt;
| 600,000&lt;br /&gt;
| 300,000&lt;br /&gt;
| 70&lt;br /&gt;
|-&lt;br /&gt;
| [[Cow]]&lt;br /&gt;
| [[File:Cow sprite.png|center]]&lt;br /&gt;
| 600,000&lt;br /&gt;
| 250,000&lt;br /&gt;
| 100,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant grouper]]&lt;br /&gt;
| [[File:Giant grouper sprite.png|center]]&lt;br /&gt;
| 600,000&lt;br /&gt;
| 200,000&lt;br /&gt;
| 60,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Unicorn]]&lt;br /&gt;
| [[File:Unicorn sprite.png|center]]&lt;br /&gt;
| 600,000&lt;br /&gt;
| 300,000&lt;br /&gt;
| 60,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant cougar]]&lt;br /&gt;
| [[File:Giant cougar sprite.png|center]]&lt;br /&gt;
| 633,600&lt;br /&gt;
| 316,800&lt;br /&gt;
| 63,360&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant hyena]]&lt;br /&gt;
| [[File:Giant hyena sprite.png|center]]&lt;br /&gt;
| 633,600&lt;br /&gt;
| 316,800&lt;br /&gt;
| 63,360&lt;br /&gt;
|-&lt;br /&gt;
| [[Narwhal man]]&lt;br /&gt;
| [[File:Narwhal man sprite.png|center]]&lt;br /&gt;
| 635,000&lt;br /&gt;
| 317,500&lt;br /&gt;
| 63,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Swordfish]]&lt;br /&gt;
| [[File:Swordfish sprite.png|center]]&lt;br /&gt;
| 650,000&lt;br /&gt;
| 200,000&lt;br /&gt;
| 65,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Yak]]&lt;br /&gt;
| [[File:Yak sprite.png|center]]&lt;br /&gt;
| 700,000&lt;br /&gt;
| 350,000&lt;br /&gt;
| 70,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant jaguar]]&lt;br /&gt;
| [[File:Giant jaguar sprite.png|center]]&lt;br /&gt;
| 745,500&lt;br /&gt;
| 397,600&lt;br /&gt;
| 74,550&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant wild boar]]&lt;br /&gt;
| [[File:Giant wild boar sprite.png|center]]&lt;br /&gt;
| 783,200&lt;br /&gt;
| 391,600&lt;br /&gt;
| 78,320&lt;br /&gt;
|-&lt;br /&gt;
| [[Hippo man]]&lt;br /&gt;
| [[File:Hippo man sprite.png|center]]&lt;br /&gt;
| 785,000&lt;br /&gt;
| 392,500&lt;br /&gt;
| 26,166&lt;br /&gt;
|-&lt;br /&gt;
| [[Walrus man]]&lt;br /&gt;
| [[File:Walrus man sprite.png|center]]&lt;br /&gt;
| 785,000&lt;br /&gt;
| 392,500&lt;br /&gt;
| 78,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Marlin]]&lt;br /&gt;
| [[File:Marlin sprite.png|center]]&lt;br /&gt;
| 800,000&lt;br /&gt;
| 300,000&lt;br /&gt;
| 80,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Saltwater crocodile]]&lt;br /&gt;
| [[File:Saltwater crocodile sprite.png|center]]&lt;br /&gt;
| 800,000&lt;br /&gt;
| 400,000&lt;br /&gt;
| 60&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant otter]]&lt;br /&gt;
| [[File:Giant otter sprite.png|center]]&lt;br /&gt;
| 811,500&lt;br /&gt;
| 405,750&lt;br /&gt;
| 81,150&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant kangaroo]]&lt;br /&gt;
| [[File:Giant kangaroo sprite.png|center]]&lt;br /&gt;
| 857,700&lt;br /&gt;
| 428,850&lt;br /&gt;
| 85,770&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant ostrich]]&lt;br /&gt;
| [[File:Giant ostrich sprite.png|center]]&lt;br /&gt;
| 857,700&lt;br /&gt;
| 428,850&lt;br /&gt;
| 17,154&lt;br /&gt;
|-&lt;br /&gt;
| [[Voracious cave crawler]]&lt;br /&gt;
| [[File:Voracious cave crawler sprite.png|center]]&lt;br /&gt;
| 900,000&lt;br /&gt;
| 400,000&lt;br /&gt;
| 20,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Elephant seal]] &amp;lt;small&amp;gt;(female)&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Elephant seal sprite.png|center]]&lt;br /&gt;
| 910,000&lt;br /&gt;
| 455,000&lt;br /&gt;
| 91,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant anaconda]]&lt;br /&gt;
| [[File:Giant anaconda sprite.png|center]]&lt;br /&gt;
| 933,000&lt;br /&gt;
| 466,500&lt;br /&gt;
| 933&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant monitor lizard]]&lt;br /&gt;
| [[File:Giant monitor lizard sprite.png|center]]&lt;br /&gt;
| 933,000&lt;br /&gt;
| 466,500&lt;br /&gt;
| 559&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant sloth bear]]&lt;br /&gt;
| [[File:Giant sloth bear sprite.png|center]]&lt;br /&gt;
| 933,000&lt;br /&gt;
| 466,500&lt;br /&gt;
| 93,300&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant warthog]]&lt;br /&gt;
| [[File:Giant warthog sprite.png|center]]&lt;br /&gt;
| 933,000&lt;br /&gt;
| 466,500&lt;br /&gt;
| 93,300&lt;br /&gt;
|-&lt;br /&gt;
| [[Giraffe]]&lt;br /&gt;
| [[File:Giraffe sprite.png|center]]&lt;br /&gt;
| 1,000,000&lt;br /&gt;
| 500,000&lt;br /&gt;
| 100,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Ocean sunfish]]&lt;br /&gt;
| [[File:Ocean sunfish sprite.png|center]]&lt;br /&gt;
| 1,000,000&lt;br /&gt;
| 400,000&lt;br /&gt;
| 100,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Water buffalo]]&lt;br /&gt;
| [[File:Water buffalo sprite.png|center]]&lt;br /&gt;
| 1,000,000&lt;br /&gt;
| 500,000&lt;br /&gt;
| 100,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant black bear]]&lt;br /&gt;
| [[File:Giant black bear sprite.png|center]]&lt;br /&gt;
| 1,084,800&lt;br /&gt;
| 542,400&lt;br /&gt;
| 108,480&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant snapping turtle]]&lt;br /&gt;
| [[File:Giant snapping turtle sprite.png|center]]&lt;br /&gt;
| 1,104,000&lt;br /&gt;
| 552,000&lt;br /&gt;
| 828&lt;br /&gt;
|-&lt;br /&gt;
| [[Gigantic panda]]&lt;br /&gt;
| [[File:Gigantic panda sprite.png|center]]&lt;br /&gt;
| 1,160,900&lt;br /&gt;
| 580,450&lt;br /&gt;
| 1,339&lt;br /&gt;
|-&lt;br /&gt;
| [[Narwhal]]&lt;br /&gt;
| [[File:Narwhal sprite.png|center]]&lt;br /&gt;
| 1,200,000&lt;br /&gt;
| 600,000&lt;br /&gt;
| 120,000&lt;br /&gt;
|-&lt;br /&gt;
| '''Too big for &amp;lt;span id=&amp;quot;bridge&amp;quot;&amp;gt;[[bridge]]s&amp;lt;/span&amp;gt;'''&lt;br /&gt;
|&lt;br /&gt;
| 1,200,001&lt;br /&gt;
| 1,200,001&lt;br /&gt;
| 1,200,001&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant deer]]&lt;br /&gt;
| [[File:Giant deer sprite.png|center]]&lt;br /&gt;
| 1,237,600&lt;br /&gt;
| 618,800&lt;br /&gt;
| 123,760&lt;br /&gt;
|-&lt;br /&gt;
| [[Gigantic tortoise]] &amp;lt;small&amp;gt;(female)&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Gigantic tortoise sprite.png|center]]&lt;br /&gt;
| 1,239,000&lt;br /&gt;
| 619,500&lt;br /&gt;
| 660&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant harp seal]]&lt;br /&gt;
| [[File:Giant harp seal sprite.png|center]]&lt;br /&gt;
| 1,428,900&lt;br /&gt;
| 714,450&lt;br /&gt;
| 14,289&lt;br /&gt;
|-&lt;br /&gt;
| [[Hippo]]&lt;br /&gt;
| [[File:Hippo sprite.png|center]]&lt;br /&gt;
| 1,500,000&lt;br /&gt;
| 750,000&lt;br /&gt;
| 50,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Sturgeon]]&lt;br /&gt;
| [[File:Sturgeon sprite.png|center]]&lt;br /&gt;
| 1,500,000&lt;br /&gt;
| 300,000&lt;br /&gt;
| 10,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Walrus]]&lt;br /&gt;
| [[File:Walrus sprite.png|center]]&lt;br /&gt;
| 1,500,000&lt;br /&gt;
| 750,000&lt;br /&gt;
| 150,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Elephant seal man]]&lt;br /&gt;
| [[File:Elephant seal man sprite.png|center]]&lt;br /&gt;
| 1,535,000&lt;br /&gt;
| 767,500&lt;br /&gt;
| 153,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Rhinoceros man]]&lt;br /&gt;
| [[File:Rhinoceros man sprite.png|center]]&lt;br /&gt;
| 1,535,000&lt;br /&gt;
| 767,500&lt;br /&gt;
| 153,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant grizzly bear]]&lt;br /&gt;
| [[File:Giant grizzly bear sprite.png|center]]&lt;br /&gt;
| 1,700,000&lt;br /&gt;
| 850,000&lt;br /&gt;
| 170,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant lion]]&lt;br /&gt;
| [[File:Giant lion sprite_anim.gif|center]]&lt;br /&gt;
| 1,700,000&lt;br /&gt;
| 850,000&lt;br /&gt;
| 170,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant python]]&lt;br /&gt;
| [[File:Giant python sprite.png|center]]&lt;br /&gt;
| 1,700,000&lt;br /&gt;
| 425,000&lt;br /&gt;
| 340&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant tapir]]&lt;br /&gt;
| [[File:Giant tapir sprite.png|center]]&lt;br /&gt;
| 1,700,000&lt;br /&gt;
| 850,000&lt;br /&gt;
| 170,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant tiger]]&lt;br /&gt;
| [[File:Giant tiger sprite.png|center]]&lt;br /&gt;
| 1,894,500&lt;br /&gt;
| 842,000&lt;br /&gt;
| 189,450&lt;br /&gt;
|-&lt;br /&gt;
| [[Great white shark]]&lt;br /&gt;
| [[File:Great white shark sprite.png|center]]&lt;br /&gt;
| 2,000,000&lt;br /&gt;
| 500,000&lt;br /&gt;
| 50,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Manta ray]]&lt;br /&gt;
| [[File:Manta ray sprite.png|center]]&lt;br /&gt;
| 2,300,000&lt;br /&gt;
| 500,000&lt;br /&gt;
| 100,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant muskox]]&lt;br /&gt;
| [[File:Giant muskox sprite.png|center]]&lt;br /&gt;
| 2,362,650&lt;br /&gt;
| 994,800&lt;br /&gt;
| 248,700&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant elk]]&lt;br /&gt;
| [[File:Giant elk sprite.png|center]]&lt;br /&gt;
| 2,478,000&lt;br /&gt;
| 1,239,000&lt;br /&gt;
| 247,800&lt;br /&gt;
|-&lt;br /&gt;
| [[Gigantic tortoise]] &amp;lt;small&amp;gt;(male)&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Gigantic tortoise sprite.png|center]]&lt;br /&gt;
| 2,478,000&lt;br /&gt;
| 1,239,000&lt;br /&gt;
| 660&lt;br /&gt;
|-&lt;br /&gt;
| [[Draltha]]&lt;br /&gt;
| [[File:Draltha sprite.png|center]]&lt;br /&gt;
| 2,500,000&lt;br /&gt;
| 100,000&lt;br /&gt;
| 50,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Elephant man]] &amp;lt;small&amp;gt;'''(largest land-dwelling animal people)'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Elephant man sprite.png|center]]&lt;br /&gt;
| 2,535,000&lt;br /&gt;
| 1,267,500&lt;br /&gt;
| 253,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Orca man]]&lt;br /&gt;
| [[File:Orca man sprite.png|center]]&lt;br /&gt;
| 2,535,000&lt;br /&gt;
| 1,267,500&lt;br /&gt;
| 91,260&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant moose|Giant moose cow]]&lt;br /&gt;
| [[File:Giant moose sprite.png|center]]&lt;br /&gt;
| 2,554,650&lt;br /&gt;
| 1,277,325&lt;br /&gt;
| 255,465&lt;br /&gt;
|-&lt;br /&gt;
| [[Elephant seal]] &amp;lt;small&amp;gt;(male)&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Elephant seal sprite.png|center]]&lt;br /&gt;
| 3,000,000&lt;br /&gt;
| 1,500,000&lt;br /&gt;
| 300,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Rhinoceros]]&lt;br /&gt;
| [[File:Rhinoceros sprite.png|center]]&lt;br /&gt;
| 3,000,000&lt;br /&gt;
| 1,500,000&lt;br /&gt;
| 300,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Rutherer]]&lt;br /&gt;
| [[File:Rutherer sprite.png|center]]&lt;br /&gt;
| 3,000,000&lt;br /&gt;
| 1,500,000&lt;br /&gt;
| 300,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant alligator]]&lt;br /&gt;
| [[File:Giant alligator sprite.png|center]]&lt;br /&gt;
| 3,268,000&lt;br /&gt;
| 1,634,000&lt;br /&gt;
| 490&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant leopard seal]]&lt;br /&gt;
| [[File:Giant leopard seal sprite.png|center]]&lt;br /&gt;
| 3,268,000&lt;br /&gt;
| 1,634,000&lt;br /&gt;
| 326,800&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant polar bear]]&lt;br /&gt;
| [[File:Giant polar bear sprite.png|center]]&lt;br /&gt;
| 3,268,000&lt;br /&gt;
| 1,634,000&lt;br /&gt;
| 326,800&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant one-humped camel]]&lt;br /&gt;
| [[File:Giant one humped camel sprite.png|center]]&lt;br /&gt;
| 4,055,000&lt;br /&gt;
| 2,027,500&lt;br /&gt;
| 405,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant two-humped camel]]&lt;br /&gt;
| [[File:Giant two humped camel sprite.png|center]]&lt;br /&gt;
| 4,055,000&lt;br /&gt;
| 2,027,500&lt;br /&gt;
| 405,500&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant moose|Giant moose bull]]&lt;br /&gt;
| [[File:Giant moose sprite.png|center]]&lt;br /&gt;
| 4,257,750&lt;br /&gt;
| 2,128,875&lt;br /&gt;
| 255,465&lt;br /&gt;
|-&lt;br /&gt;
| [[Jabberer]]&lt;br /&gt;
| [[File:Jabberer sprite anim.gif|center]]&lt;br /&gt;
| 4,500,000&lt;br /&gt;
| 2,000,000&lt;br /&gt;
| 5,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Elephant]] &amp;lt;small&amp;gt;'''(biggest mundane land animal)'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Elephant sprite.png|center]]&lt;br /&gt;
| 5,000,000&lt;br /&gt;
| 2,500,000&lt;br /&gt;
| 500,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Orca]]&lt;br /&gt;
| [[File:Orca sprite.png|center]]&lt;br /&gt;
| 5,000,000&lt;br /&gt;
| 2,500,000&lt;br /&gt;
| 180,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Ogre]]&lt;br /&gt;
| [[File:Ogre sprite.png|center]]&lt;br /&gt;
| 6,000,000&lt;br /&gt;
| 2,000,000&lt;br /&gt;
| 200,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant saltwater crocodile]]&lt;br /&gt;
| [[File:Giant saltwater crocodile sprite.png|center]]&lt;br /&gt;
| 6,440,000&lt;br /&gt;
| 3,220,000&lt;br /&gt;
| 483&lt;br /&gt;
|-&lt;br /&gt;
| [[Blind cave ogre]]&lt;br /&gt;
| [[File:Blind cave ogre sprite.png|center]]&lt;br /&gt;
| 7,000,000&lt;br /&gt;
| 2,500,000&lt;br /&gt;
| 250,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant elephant seal]] &amp;lt;small&amp;gt;(female)&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Giant elephant seal sprite.png|center]]&lt;br /&gt;
| 7,316,400&lt;br /&gt;
| 3,658,200&lt;br /&gt;
| 731,640&lt;br /&gt;
|-&lt;br /&gt;
| [[Cyclops]]&lt;br /&gt;
| [[File:Cyclops sprite.png|center]]&lt;br /&gt;
| 8,000,000&lt;br /&gt;
| 2,000,000&lt;br /&gt;
| 200,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Ettin]]&lt;br /&gt;
| [[File:Ettin sprite.png|center]]&lt;br /&gt;
| 8,000,000&lt;br /&gt;
| 2,000,000&lt;br /&gt;
| 200,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Hydra]] &amp;lt;small&amp;gt;'''(smallest [[megabeast]])'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Hydra sprite.png|center]]&lt;br /&gt;
| 8,000,000&lt;br /&gt;
| n/a&lt;br /&gt;
| 200,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Sea monster]]&lt;br /&gt;
| [[File:Sea monster sprite.png|center]]&lt;br /&gt;
| 8,000,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant giraffe]]&lt;br /&gt;
| [[File:Giant giraffe sprite.png|center]]&lt;br /&gt;
| 8,030,000&lt;br /&gt;
| 4,015,000&lt;br /&gt;
| 803,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant]] &amp;lt;small&amp;gt;'''(biggest semi-megabeast, biggest land sapient)'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Giant sprite.png|center]]&lt;br /&gt;
| 9,000,000&lt;br /&gt;
| 3,000,000&lt;br /&gt;
| 200,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Sea serpent]]&lt;br /&gt;
| [[File:Sea serpent sprite.png|center]]&lt;br /&gt;
| 9,000,000&lt;br /&gt;
| n/a&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant narwhal]]&lt;br /&gt;
| [[File:Giant narwhal sprite.png|center]]&lt;br /&gt;
| 9,624,000&lt;br /&gt;
| 4,812,000&lt;br /&gt;
| 962,400&lt;br /&gt;
|-&lt;br /&gt;
| [[Demon]]&lt;br /&gt;
| [[File:Demon sprite.png|center]]&lt;br /&gt;
| 10,000,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Forgotten beast]]&lt;br /&gt;
| [[File:Beast example2 sprite.png|center]]&lt;br /&gt;
| 10,000,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Titan]]&lt;br /&gt;
| [[File:Beast example1 sprite.png|center]]&lt;br /&gt;
| 10,000,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant hippo]]&lt;br /&gt;
| [[File:Giant hippo sprite.png|center]]&lt;br /&gt;
| 12,030,000&lt;br /&gt;
| 6,015,000&lt;br /&gt;
| 401,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant walrus]]&lt;br /&gt;
| [[File:Giant walrus sprite.png|center]]&lt;br /&gt;
| 12,030,000&lt;br /&gt;
| 6,015,000&lt;br /&gt;
| 1,203,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Sperm whale man]] &amp;lt;small&amp;gt;'''(biggest sapient being in-game)'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Sperm whale man sprite.png|center]]&lt;br /&gt;
| 12,535,000&lt;br /&gt;
| 6,267,500&lt;br /&gt;
| 250,700&lt;br /&gt;
|-&lt;br /&gt;
| [[Basking shark]]&lt;br /&gt;
| [[File:Basking shark sprite.png|center]]&lt;br /&gt;
| 15,000,000&lt;br /&gt;
| 5,000,000&lt;br /&gt;
| 100,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Cave dragon]]&lt;br /&gt;
| [[File:Cave dragon sprite anim.gif|center]]&lt;br /&gt;
| 15,000,000&lt;br /&gt;
| n/a&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Bronze colossus]]&lt;br /&gt;
| [[File:Bronze colossus sprite.png|center]]&lt;br /&gt;
| 20,000,000&lt;br /&gt;
| n/a&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
| [[Roc]] &amp;lt;small&amp;gt;'''(biggest flying creature)'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Roc sprite.png|center]]&lt;br /&gt;
| 20,000,000&lt;br /&gt;
| 5,000,000&lt;br /&gt;
| 200,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Whale shark]]&lt;br /&gt;
| [[File:Whale shark sprite.png|center]]&lt;br /&gt;
| 20,000,000&lt;br /&gt;
| 5,000,000&lt;br /&gt;
| 1,000,000&lt;br /&gt;
|-&lt;br /&gt;
| '''Too big for &amp;lt;span id=&amp;quot;pressure plate&amp;quot;&amp;gt;[[pressure plate]]s&amp;lt;/span&amp;gt;'''&lt;br /&gt;
|&lt;br /&gt;
| 20,000,001&lt;br /&gt;
| 20,000,001&lt;br /&gt;
| 20,000,001&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant rhinoceros]]&lt;br /&gt;
| [[File:Giant rhinoceros sprite.png|center]]&lt;br /&gt;
| 24,000,000&lt;br /&gt;
| 12,000,000&lt;br /&gt;
| 2,400,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant elephant seal]] &amp;lt;small&amp;gt;(male)&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Giant elephant seal sprite.png|center]]&lt;br /&gt;
| 24,120,000&lt;br /&gt;
| 12,060,000&lt;br /&gt;
| 2,412,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Dragon]] &amp;lt;small&amp;gt;'''(biggest megabeast)'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Dragon sprite.png|center]]&lt;br /&gt;
| 25,000,000&lt;br /&gt;
| n/a&lt;br /&gt;
| 6,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Sperm whale]] &amp;lt;small&amp;gt;'''biggest mundane animal'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Sperm whale sprite.png|center]]&lt;br /&gt;
| 25,000,000&lt;br /&gt;
| 12,500,000&lt;br /&gt;
| 500,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant elephant]] &amp;lt;small&amp;gt;'''(biggest land creature in-game)'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Giant elephant sprite.png|center]]&lt;br /&gt;
| 40,000,000&lt;br /&gt;
| 20,000,000&lt;br /&gt;
| 4,000,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant orca]]&lt;br /&gt;
| [[File:Giant orca sprite.png|center]]&lt;br /&gt;
| 40,000,000&lt;br /&gt;
| 20,000,000&lt;br /&gt;
| 1,440,000&lt;br /&gt;
|-&lt;br /&gt;
| [[Giant sperm whale]] &amp;lt;small&amp;gt;'''(biggest creature in-game)'''&amp;lt;/small&amp;gt;&lt;br /&gt;
| [[File:Giant sperm whale sprite.png|center]]&lt;br /&gt;
| 200,000,000&lt;br /&gt;
| 100,000,000&lt;br /&gt;
| 4,000,000&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;span id=&amp;quot;end of list&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
[[#top of list|Jump to top ↑]]&lt;br /&gt;
[[ru:List of creatures by adult size]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Great_pick&amp;diff=311665</id>
		<title>Great pick</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Great_pick&amp;diff=311665"/>
		<updated>2025-11-17T21:43:32Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Created page with &amp;quot;{{Quality|Unrated}} {{av}} A '''great pick''' is an alternative to picks sized for large creatures. Troll, ogre, and blind cave ogre miners from dark gob...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Unrated}}&lt;br /&gt;
{{av}}&lt;br /&gt;
A '''great pick''' is an alternative to [[pick]]s sized for large creatures. [[Troll]], [[ogre]], and [[blind cave ogre]] [[miner]]s from dark [[goblin]] [[Dark pits|pits]] can arrive in [[siege]]s wielding this [[weapon]].&lt;br /&gt;
&lt;br /&gt;
A great pick is eight times the [[Weapon#size|size]] of a standard pick. It has the same internal [[Attack types|attack properties]], but hits with more force due to its size. A creature must be at least 225,000 cm³ to wield it, with [[List of creatures by adult size|some large species]] of [[animal people]] being the smallest creatures that can equip it in [[fortress mode]].&lt;br /&gt;
&lt;br /&gt;
When [[Melt item|melted]] down, great picks produce roughly four bars of metal.&lt;br /&gt;
&lt;br /&gt;
{{Translation&lt;br /&gt;
| dwarven = saràm tekkud&lt;br /&gt;
| elvish  = apaca mubara&lt;br /&gt;
| goblin  = snuz otez&lt;br /&gt;
| human   = umon tekud&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{gamedata}}&lt;br /&gt;
{{Weapons}}&lt;br /&gt;
{{Category|Weapons}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=File:Blind_cave_ogre_sprite.png&amp;diff=311664</id>
		<title>File:Blind cave ogre sprite.png</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=File:Blind_cave_ogre_sprite.png&amp;diff=311664"/>
		<updated>2025-11-17T21:10:44Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: DPhKraken uploaded a new version of File:Blind cave ogre sprite.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{Non-free Dwarf Fortress Screenshot}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=File:Ogre_sprite.png&amp;diff=311663</id>
		<title>File:Ogre sprite.png</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=File:Ogre_sprite.png&amp;diff=311663"/>
		<updated>2025-11-17T21:10:16Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: DPhKraken uploaded a new version of File:Ogre sprite.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{Non-free Dwarf Fortress Screenshot}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=File:Blind_cave_ogre_sprites.png&amp;diff=311662</id>
		<title>File:Blind cave ogre sprites.png</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=File:Blind_cave_ogre_sprites.png&amp;diff=311662"/>
		<updated>2025-11-17T21:08:23Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: DPhKraken uploaded a new version of File:Blind cave ogre sprites.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{Non-free Dwarf Fortress Screenshot}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=File:Ogre_sprites.png&amp;diff=311661</id>
		<title>File:Ogre sprites.png</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=File:Ogre_sprites.png&amp;diff=311661"/>
		<updated>2025-11-17T21:06:58Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: DPhKraken uploaded a new version of File:Ogre sprites.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{Non-free Dwarf Fortress Screenshot}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=File:Nest.png&amp;diff=311660</id>
		<title>File:Nest.png</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=File:Nest.png&amp;diff=311660"/>
		<updated>2025-11-17T20:44:10Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Category:Interface images&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
[[Category:Interface images]]&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{Non-free Dwarf Fortress Screenshot}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Health_care&amp;diff=311659</id>
		<title>Health care</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Health_care&amp;diff=311659"/>
		<updated>2025-11-17T18:42:33Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Gypsum plaster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Fine}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{buggy|bugsection=Bugs}}&lt;br /&gt;
[[File:hospital_preview.png|right]]A '''hospital''' [[location]] allows [[wound]]ed dwarves to rest and receive care and treatment. Hospitals use any [[bed]]s, [[Table]]s, [[traction bench]]es, and [[chest]]s that have been built within the zone. The hospital will requisition [[thread]], [[cloth]], [[splint]]s, [[crutch]]es, [[Gypsum plaster|plaster powder]] (for casts), [[bucket]]s, and [[soap]] for medical use. These will be stored within the hospital's containers; you may adjust the desired quantities.&lt;br /&gt;
&lt;br /&gt;
'''Doctors''' are dwarves assigned to any of the four doctoring occupations: [[diagnostician|diagnosis]], [[surgeon|surgery]], [[bone doctor|setting bones]], and doctor, which does all of the above. All doctors in the fortress operate under the instruction of the [[chief medical dwarf]], an appointed [[noble]]. Doctors perform their medical procedures on a dwarf only after treatment has been prescribed by a diagnostician. Doctors do not (yet; one must use [[DFHack]] in the interim) perform any healthcare on animals. Suturing and wound dressing are done by orderlies, but their quality is not impacted by any skills, so having all dwarves assigned to it has no negative effect.&lt;br /&gt;
&lt;br /&gt;
Dwarves assigned roles via the hospital zone will only begin doing them once the labors for all dwarves have been updated. To quickly achieve this, go to the labor menu and set 'only selected dwarves mine' to 'no dwarves mine' and then set back to 'only selected dwarves mine', or do anything else in work details.&lt;br /&gt;
&lt;br /&gt;
All beds within a hospital location are automatically hospital beds, where injured dwarves will go (or be brought) to recuperate. Tired, healthy dwarves will occasionally camp there too if the hospital is close, even if they have their own bed. &lt;br /&gt;
&lt;br /&gt;
==Setting up a hospital==&lt;br /&gt;
Hospitals are designated as [[locations]]. Designate a Meeting Area zone in the usual way, then select the Add Location button (plus sign) and select Hospital. Any amount of zones can be added to the hospital in the same way, selecting the existing hospital name instead of clicking &amp;quot;new hospital&amp;quot; at the top of the menu. Select the view location button (magnifying glass) allows you to check the equipment and medical supplies missing/available to your hospital.&lt;br /&gt;
* Place enough [[bed]]s in that zone to ensure you can keep all wounded dwarves in the hospital. Dwarves can lie on the ground instead of in beds if none are available, but this is not ideal.&lt;br /&gt;
* Place at least one [[table]] ({{Menu icon|b|f|t|sep=-}}) for surgeons to perform surgery on. Adjacency to beds makes it easier to move a patient for surgery. You may perform surgery without tables; it will be messier.&lt;br /&gt;
** Multiple dwarves may undergo simultaneous surgeries on the same table.&lt;br /&gt;
* Place one or more [[traction bench]]es ({{Menu icon|b|f|T|sep=-}}) to handle compound fractures when the dwarf requires &amp;quot;immobilization.&amp;quot;&lt;br /&gt;
** Each traction bench can only accommodate one dwarf at a time, and the dwarf may be there for quite some time, so plan accordingly.&lt;br /&gt;
* Place [[chest]]s ({{Menu icon|b|f|h|sep=-}}) to store medical supplies reserved for hospital use. Once placed, dwarves will start stocking the hospital with medical supplies, you can track their progress and change storage limits in the zone's 'Set Hospital Information' menu. A small hospital can manage with two containers, while a fully-fledged fortress with an adventurous military may need as many as eight. (Containers are not strictly necessary; doctors can and will use supplies from anywhere, but dedicated hospital containers allow you to earmark some supplies for medical use - for example, to prevent the auto-looming of ''every'' last thread.)&lt;br /&gt;
&lt;br /&gt;
Medical Staff: &lt;br /&gt;
* Assign dwarves to one of the doctoring occupations and they will do them once work details have been updated. You might want to set several dwarves to be dedicated doctors, with diagnosis labor well-covered - without a diagnosis, patients cannot be treated, if they cannot be treated, they will occupy the hospital area until they die, performing no function. Any dwarf who is assigned as a doctor or diagnoser can diagnose dwarves.  Once a patient is diagnosed, you can see on the individual health screen what procedures are needed, for example, washing or suturing. Low-skilled diagnosers may miss syndromes, so if you're having an epidemic of [[forgotten beast|flesh melting extract]], it may be best to only have your best diagnosers on duty.&lt;br /&gt;
* If you use a [[burrow]] to keep doctors near the hospital zone, ensure that this burrow covers all needed materials or you could get job cancellations because of a lack of material.  Thread/cloth stockpiles, and items bought from caravans (e.g. plaster early in the game) are often the most troubling.&lt;br /&gt;
&lt;br /&gt;
== Skills and injuries==&lt;br /&gt;
There are four skilled [[doctor]]ing labors and two unskilled supporting hauling labors involved in healthcare.&lt;br /&gt;
&lt;br /&gt;
{| Class=wikitable&lt;br /&gt;
! Labor&lt;br /&gt;
! Use&lt;br /&gt;
|-&lt;br /&gt;
| [[Diagnostician]]&lt;br /&gt;
| Determines what procedures (of the other four) are necessary. Bad diagnosers might miss [[syndrome|syndromes]] others won't.&lt;br /&gt;
|-&lt;br /&gt;
| [[Surgeon]]&lt;br /&gt;
| Repair internal organ damage, excise necrotic tissue or serious injuries to muscle, bones. Good surgeons cause less bleeding in their operations.&lt;br /&gt;
|-&lt;br /&gt;
| [[Bone doctor]]&lt;br /&gt;
| Sets simple breaks for healing&lt;br /&gt;
|-&lt;br /&gt;
| [[Suturer]]&lt;br /&gt;
| Stops serious bleeding. Part of the default '''orderly''' work detail.&lt;br /&gt;
|-&lt;br /&gt;
| [[Wound dresser]]&lt;br /&gt;
| Finalizes closed wounds for healing. Part of the default '''orderly''' work detail.&lt;br /&gt;
|- style=&amp;quot;background-color:#eaeaea;&amp;quot;&lt;br /&gt;
| [[Labor|Recovering wounded]]&lt;br /&gt;
| Hauls wounded units to the hospital. Part of the default '''orderly''' work detail.&lt;br /&gt;
|- style=&amp;quot;background-color:#eaeaea;&amp;quot;&lt;br /&gt;
| Feed patients/prisoners&lt;br /&gt;
| Gives food/water to patients/prisoners. Part of the default '''orderly''' work detail.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Those with the '''recover wounded''' labor will attempt to carry an injured dwarf to a hospital zone, or, lacking one, to the nearest unoccupied bed. Dwarves are not light, especially ones in full armor, so these laborers should not have low strength [[attribute]]s. Note that recovering wounded appears to be an extremely low priority task, and since immobile patients will need to be carried to a hospital before diagnosis, it may be necessary to temporarily disable all other labors on dwarves with this labor to get the wounded moved quickly.&lt;br /&gt;
&lt;br /&gt;
Once in the hospital, a '''diagnoser''' will then evaluate the patient and prescribe a treatment, which any doctor who have the appropriate medical labors enabled (including themselves) may carry out – dwarves cannot be treated without a diagnosis. Depending on the injury, a treatment job will occur. Diagnosis is often required between procedures as well.&lt;br /&gt;
&lt;br /&gt;
After diagnosis, [[Wound|injuries]] to various body parts will be revealed. The color of the text will indicate the severity of the wound, from least to most serious, as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:black; width:840px; border-radius:3px&amp;quot;&amp;gt;&lt;br /&gt;
:{{DFtext|NONE: No recorded active wounds on the part.|#fff}}&lt;br /&gt;
:{{DFtext|MINOR: Any damage that doesn't have functional/structural consequences (might be heavy bleeding, though).|#808000}}&lt;br /&gt;
:{{DFtext|INHIBITED: Any muscular, structural, or functional damage, without total loss.|#ffff00}}&lt;br /&gt;
:{{DFtext|FUNCTION LOSS: An important function of the part is completely lost, but the part is structurally sound (or at least partially intact).|#00ffff}}&lt;br /&gt;
:{{DFtext|BROKEN: The part has lost all structural integrity or muscular ability.|#ff0000}}&lt;br /&gt;
:{{DFtext|MISSING: The part is completely gone.|#808080}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With a chief medical dwarf appointed, you can view your dwarves' health using {{k|w}} for wounds section. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Internal Organs''' can be treated or removed by a surgeon using tables and traction benches, and are typically caused by [[attack_types#Piercing_weapons|piercing]] injuries.&lt;br /&gt;
&lt;br /&gt;
: Surgery also covers the repair of [[Health care#Infection|infected]] or rotten wounds, which are typically caused by lack of [[soap]], poor [[water]] access for cleaning, delayed medical care, or just bad luck.&lt;br /&gt;
&lt;br /&gt;
* '''Bones''' can be set and treated by bone doctors using thread and cloth (for minor fractures), splints and casts, or traction benches, depending on severity. [[Body_token#GRASP|Grasping]] is often impaired during healing. The {{DFtext|Immobilization Request}} status tag is an indication that a splint or plaster cast is required. Multiple overlapping and compound fractures require a surgeon. Typically caused by [[attack_types#Blunt_weapons|blunt]] trauma.&lt;br /&gt;
&lt;br /&gt;
*'''Skin and muscle''' can be treated by a suturer using thread and cloth. The wound will continue to bleed until sutured. Severe wounds to the hands can impair grasping during healing. Typically caused by [[attack_types#Edged_weapons|slashing]] injuries.&lt;br /&gt;
&lt;br /&gt;
* Closed wounds will be dressed by a wound dresser.&lt;br /&gt;
&lt;br /&gt;
Any dwarves with the feed patients/prisoners labor will attempt to give food or a bucket of water to a hungry or thirsty patient. By default, all dwarves start with the non-doctoring, supporting labors enabled; these have no corresponding [[skill]]s, do not cause experience gain, and merely are activities that can be performed by any dwarf, but can be disabled for those with more important labors.&lt;br /&gt;
&lt;br /&gt;
==Infection==&lt;br /&gt;
Every open wound can become infected. Infections may heal over time; however, many dwarves will die due to infection, often months after the actual wounding. The creature that caused the infection will be credited for the kill.&lt;br /&gt;
&lt;br /&gt;
Causes of infection include:&lt;br /&gt;
* No cleaning of the wounds.&lt;br /&gt;
* Cleaning with water from a [[Water#Stagnant_Water|stagnant water]] source, or cleaning with [[Water#Water_laced_with_mud|water laced with mud]]. {{Verify}}&lt;br /&gt;
* Cleaning without [[soap]].&lt;br /&gt;
* Bad luck&lt;br /&gt;
&lt;br /&gt;
An infection effectively causes constant internal bleeding, and if the infected dwarf is healthy enough, they can naturally replenish their blood quickly enough to outpace the infection.&lt;br /&gt;
&lt;br /&gt;
It's worth noting however that [[Necromancer|necromancy]] effectively cures infections, as the [[intelligent undead|intelligent undead]] it can create cannot die of bleeding.&lt;br /&gt;
&lt;br /&gt;
== Equipment and medical supplies ==&lt;br /&gt;
[[File:Hospital information v50.03.png|thumb|In-game hospital information summary]]&lt;br /&gt;
=== Traction benches ===&lt;br /&gt;
A traction bench is used by a [[bone doctor]] in a [[Hospital|hospital zone]] to immobilize a dwarf that has sustained complex or overlapping fractures.&lt;br /&gt;
&lt;br /&gt;
It is constructed in the [[mechanic's workshop]], and requires a [[table]], a [[mechanism]], and a [[rope]] or a [[chain]] to construct. The [[quality]] of each component is not reflected in the quality of the traction bench, and only the [[material]] of the table is used as the material for the bench. &amp;quot;Recycling&amp;quot; low-quality, low-value components into high-quality traction benches can provide a modest increase in [[value]]. Note that if any [[Stockpile|stockpiles]] have been linked to &amp;quot;Give&amp;quot; to the workshop, all of the resources needed to construct the traction bench must be found in the linked piles (e.g., linking only a stone stockpile may prevent access to the necessary tables/ropes/chains).&lt;br /&gt;
&lt;br /&gt;
=== Gypsum plaster ===&lt;br /&gt;
&lt;br /&gt;
Orthopedic casts are made out of [[Gypsum plaster|plaster powder]] and are used to keep bones in their proper place until healed. To store them in a hospital, place a chest or other container inside the hospital zone. Applying a cast also requires a bucket, cloth, and a water source.&lt;br /&gt;
&lt;br /&gt;
Plaster powder is produced at a [[kiln]] or [[magma kiln]] from [[gypsum]], [[alabaster]], [[selenite]], or [[satinspar]] and an empty [[bag]] by a dwarf with the furnace operator skill enabled.  They can also be bought at embark for 3 points per unit; each unit comes with a free bag.&lt;br /&gt;
&lt;br /&gt;
Gypsum powder is superior to a splint in that it allows the dwarf to leave the hospital and resume their duties, which is not possible with a splint. If(!) gypsum powder is available, use that rather than splints.&lt;br /&gt;
&lt;br /&gt;
=== Splints ===&lt;br /&gt;
Splints, applied by a bone doctor, immobilize limbs that have sustained bone fractures, allowing them to heal. Dwarves will '''not''' be able to leave the hospital and resume their normal duties until the broken limb is fully healed. {{verify}} &lt;br /&gt;
&lt;br /&gt;
They can be made out of one [[wood]] at the [[carpenter's workshop]] or one metal [[bar]] at the [[metalsmith's forge]] or the [[magma forge]]. Splints are categorized as [[finished goods]].&lt;br /&gt;
&lt;br /&gt;
Splints are inferior to plaster casts, as while they are easier to obtain and prepare, they do not allow movement while healing (which can take months). If plaster powder is available, it is by far the better option vs. splints.&lt;br /&gt;
&lt;br /&gt;
=== Other equipment===&lt;br /&gt;
*[[Table]]s are used to conduct operations on. ''(Bug: One table can hold multiple simultaneous diagnostic/surgical patients.)''&lt;br /&gt;
*[[Bed]]s are used by patients to rest. Placing beds at the corners of a hospital will help ensure the wounded are brought to a tile that has a bed.&lt;br /&gt;
*[[Soap]] is used to clean wounds, sterilizing and preventing infection.&lt;br /&gt;
*[[Water]] is used to clean wounds, bathe patients and give drink, as patients do not drink alcohol. Make sure a [[Zones#Water_source|designated]] source is safe, nearby and clean, either a [[well]], [[cistern]] or running water.&lt;br /&gt;
*[[Bucket]]s are used to gather and hold water for its uses.&lt;br /&gt;
*[[Thread]] is used to suture closed wounds.&lt;br /&gt;
*[[Cloth]] is used to clean wounds, wash patients and dress wounds.&lt;br /&gt;
*[[Chest]]s are used to store hospital supplies.&lt;br /&gt;
*[[Crutch]]es {{DFtext|┬|6:1}} help a crippled dwarf walk again.&lt;br /&gt;
&lt;br /&gt;
==Tips for an effective hospital==&lt;br /&gt;
* Regularly use ({{k|i}}-{{k|H}}) to examine your hospital stockpile. Ensure your hospital is well-stocked. If you run out of materials regularly, increase the limits.&lt;br /&gt;
** Note that the quantities listed in the &amp;quot;Set Hospital Information&amp;quot; screen are different than those used in stockpiles.&lt;br /&gt;
*** 1 stockpile unit of thread = 15000 in the hospital&lt;br /&gt;
*** 1 cloth = 10000&lt;br /&gt;
*** 1 soap = 150&lt;br /&gt;
*** 1 gypsum powder = 150&lt;br /&gt;
* It is possible to do without soap in the hospital stockpile. Choosing to do so, however, increases the risk of infection, which will most likely kill the patient. Consult the [[soap]] page to understand that industry. Bring 1 lye on embark for one bar of soap, which translates to 150 units.&lt;br /&gt;
* Put a [[well]] inside (or near) the hospital for maximum efficiency. Doctors need to wash patients regularly, and clean water reduces infection.&lt;br /&gt;
* Do not place chairs next to your surgery tables. A chair is an invitation for rat-roast-eating freeloaders to block the medical process.&lt;br /&gt;
* You may wish to consider individual rooms for each bed if you find your doctors are choosing to treat Urist McPaperCut over Urist McBloodFountainTheGushing. A locked door minimizes the mess, and thereby infection and allows you to prioritize. Plus, necrotizing flesh can generate lots of [[miasma]], which a closed door will stop.&lt;br /&gt;
* You can select nurses who enjoy helping people to give them good thoughts. This also prevents dwarves that hate bringing others food from receiving unhappy thoughts.&lt;br /&gt;
* If you use Dwarf Therapist, try to select strong or large-sized dwarves to recover wounded. Weak dwarves slowly inching back to the hospital from a hostile area with a dying patient can result in [[fun]].&lt;br /&gt;
* When a serious injury happens, don't exit (or save) the game until the injured are in the hospital zone, especially if a dwarf is immobile.  &amp;quot;Bring crutch&amp;quot; and &amp;quot;Recover Wounded&amp;quot; jobs will be lost, keeping the patient away from the hospital, and doctors will NOT go to patients, even if burrowed with them, because a diagnose job hasn't been created.  Sometimes a second &amp;quot;crutch required&amp;quot; or &amp;quot;recover wounded&amp;quot; request will be generated, but often too late for the patient's full recovery.  Your best bet is to ensure someone (not burrowed) has &amp;quot;recover wounded&amp;quot; enabled at all times; burrow doctors doing non-medical tasks immediately; hope the patient makes it to the hospital.{{Verify}}&lt;br /&gt;
* Long-term residents will seek medical care if injured.  This includes non-dwarves.  Doctors will treat them the same as dwarves and the different physiology doesn't seem to be an issue. &lt;br /&gt;
* To prevent the usage of adamantine thread, store no thread in hospital settings and instead have a stockpile of non-metal thread in the hospital while additionally having a manager order to make 1 wafer when you have 1 adamantine thread.&lt;br /&gt;
&lt;br /&gt;
Dwarves will prefer to store and use the most expensive thread and cloth – yes, that includes special &amp;quot;[[raw adamantine|exotic]]&amp;quot; strands, which you may want to forbid during medical emergencies.&lt;br /&gt;
&lt;br /&gt;
==Bugs==&lt;br /&gt;
* Occupations assigned at a hospital will not take immediate effect due to the [[Known bugs and issues#healthcare-labors-bug|healthcare labors bug]].&lt;br /&gt;
* For a variety of reasons, an injured dwarf may leave the hospital and/or refuse to go to the hospital. {{Bug|309}}&lt;br /&gt;
* Wounded dwarves are not always recovered properly. {{bug|94}} Re-injuring the dwarf (with a [[minecart]] collision, dropped item, etc.) may trigger proper recovery.&lt;br /&gt;
* Adamantine thread used for suturing. {{Bug|1346}}&lt;br /&gt;
* The quality and value of a finished traction bench does not account for all of the inputs used to make it. {{verify}}&lt;br /&gt;
* Dwarves resting in bed may be starving/dehydrated and not being taken care of, deconstructing the bed to generate a new Recover Wounded task and force them to rest properly fixes this.&lt;br /&gt;
&lt;br /&gt;
{{d for dwarf}}&lt;br /&gt;
Soap is the only item dwarves will use to sterilize a wound.  While dwarves are of course aware that humans will pour perfectly quaffable alcohol over their bloody wounds and onto the filthy ground to get the same effect, dwarves understand that some things are more precious than a single life, and face oblivion with a bit more dignity.  The application of extreme heat is also well known to prevent infections and seal a wound, but dwarves consider magma the only legitimate heat source, and the non-lethal application of magma is sacrilege.&lt;br /&gt;
[[File:healthcare_preview.png|thumb|370px|center|A [[human]] doctor attempting to help.&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;''Art by Luke Fildes (October 3, 1843 – February 28, 1927)''&amp;lt;/small&amp;gt;]]&lt;br /&gt;
{{Category|Healthcare}}&lt;br /&gt;
{{Industry}}&lt;br /&gt;
[[ru:Health care]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Saltpeter&amp;diff=311598</id>
		<title>Saltpeter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Saltpeter&amp;diff=311598"/>
		<updated>2025-11-14T01:37:06Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Added gunpowder sourcing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior}}&lt;br /&gt;
{{stonelookup/0&lt;br /&gt;
|graphic=saltpeter_sprite.png}}&lt;br /&gt;
{{av}}&lt;br /&gt;
&lt;br /&gt;
'''Saltpeter''' is a non-economic and low-value yellow [[stone]] found in [[vein|small clusters]] within [[sedimentary layer]]s. With a melting point of {{ct|10601}} and a boiling point of only {{ct|10720}}, it is one of the few stones which will ''boil'' in [[magma]]. Saltpeter is also the second least [[Density|dense]] non-economic stone*, making it better than most stone for objects that must be hauled frequently. &lt;br /&gt;
&lt;br /&gt;
: ''(*  Saltpeter is about 60% heavier than [[jet]], more than 21% lighter than typical stone, but about 350% (3 1/2 times) the weight of typical [[wood]] items.)''&lt;br /&gt;
&lt;br /&gt;
In real life, its best known use is as a primary ingredient of gunpowder, along with [[charcoal]] and [[brimstone|sulfur]]. This process does not exist in ''Dwarf Fortress'' (yet; it seems [[Toady One]] has plans to include gunpowder later, but only for simple uses[https://www.bay12games.com/media/df_talk_8_transcript.html]), and therefore gunpowder is also non-existent. Saltpeter, as a source of both potassium (like [[potash]]) and nitrogen, is also a fertilizer, though it is not possible to use it as such in ''Dwarf Fortress''.&lt;br /&gt;
&lt;br /&gt;
{{D for Dwarf}}&lt;br /&gt;
&amp;lt;!-- Reference: Saltpeter's use in Gunpowder, as described above --&amp;gt;&lt;br /&gt;
It is rumored that if a dwarf ever discovers saltpeter's capabilities, dwarven &amp;quot;civilization&amp;quot; would come to an explosive, but [[Fun]] end.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Referemce: the myth that Potassium Nitrate induces impotence --&amp;gt;&lt;br /&gt;
Despite persistent myths to the contrary, adding saltpeter to your male dwarves' military rations will ''not'' help to control your fortress's population ''or'' reduce incidences of romantic infidelity.&lt;br /&gt;
&lt;br /&gt;
[[File:saltpeter.png|thumb|360px|center|Saltpeter mine.]]&lt;br /&gt;
{{gamedata}}&lt;br /&gt;
{{stones}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Entity_token&amp;diff=311390</id>
		<title>Entity token</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Entity_token&amp;diff=311390"/>
		<updated>2025-11-04T01:54:19Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Behavior */ SIEGE_SKILLED_MINERS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{Modding}}&lt;br /&gt;
'''Entity tokens''' define entities, or [[civilization]]s, in entity_*.txt files.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;[OBJECT:ENTITY]&amp;lt;/code&amp;gt; [[token]] begins the definition of an entity [[raw file]]. Each new entity definition that follows begins with the &amp;lt;code&amp;gt;[ENTITY:''entity_ID'']&amp;lt;/code&amp;gt; token, where ''entity_ID'' is a unique identifier for that entity, and the entity's properties are then specified by the use of further entity tokens; or, tokens can be added to existing entities using &amp;lt;code&amp;gt;[SELECT_ENTITY:''entity_ID'']&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
All known entity tokens are listed below. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Gameplay ==&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#ddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Arguments&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|ALL_MAIN_POPS_CONTROLLABLE}}&lt;br /&gt;
| &lt;br /&gt;
| Allows adventure mode for entities with sites.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SITE_CONTROLLABLE}}&lt;br /&gt;
| &lt;br /&gt;
| Allows fortress mode. If multiple entities have the SITE_CONTROLLABLE token, then at embark the specific civs can be chosen on the civ list screen. At least one civilization must have this token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|CREATURE}}&lt;br /&gt;
| creature&lt;br /&gt;
|The type of creature that will inhabit the civilization. If multiple creature types are specified, each civilization will randomly choose one of the creatures. In entities with multiple possible creatures, you can manipulate the chance of one creature being chosen by adding multiple identical creature tags. For instance adding [CREATURE:DWARF][CREATURE:DWARF][CREATURE:DWARF][CREATURE:ELF] to the same entity will make the civs created about 75% dwarven, 25% elven. It should be noted that civilizations are in general weighted by this token: for example, if you have one entity with three [CREATURE:DWARF] tokens and another separate entity with a single [CREATURE:ELF] token, then you can expect to see three times as many of the former placed as the latter (assuming enough unclaimed [START_BIOME:X] space remains). Note that spawn rates are also limited by unclaimed biome space - if an entity can only spawn in a rarer set of biomes (only LAKE_TROPICAL_SALTWATER for example) then their spawn rate will end up being limited by the remaining unclaimed space in that biome type rather than the number of [CREATURE:X] tokens present in the entity raw.&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SOURCE_HFID}}&lt;br /&gt;
| integer&lt;br /&gt;
| Found on generated [[angel]] entities.  Appears to draw from creatures with this HFID, which associates the entity with a historical figure of the same ID corresponding to a [[deity]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Placement ==&lt;br /&gt;
&lt;br /&gt;
Entity spawning during world gen is influenced by several factors:&lt;br /&gt;
* The &amp;quot;[[Advanced world generation#Number of Civilizations|Number of Civilizations]]&amp;quot; world gen setting places a hard limit on the total number of entities spawned.&lt;br /&gt;
* The &amp;quot;[[Advanced world generation#Playable Civilization Required|Playable Civilization Required]]&amp;quot; world gen setting forces at least one of each [[Entity token#SITE_CONTROLLABLE|SITE_CONTROLLABLE]] entity to spawn (presumably still limited by &amp;quot;Number of Civilizations&amp;quot;).&lt;br /&gt;
* The number of &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[Entity token#CREATURE|CREATURE]]:X] tokens present in an entity modifies its chance of spawning. An entity containing more &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[Entity token#CREATURE|CREATURE]]:X] tokens will spawn more often (assuming other requirements are met) and may even block entities with fewer &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[Entity token#CREATURE|CREATURE]]:X] tokens from spawning altogether. You can use [SELECT_ENTITY:VANILLA_ENTITY_X] followed by any number of duplicate &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;[[Entity token#CREATURE|CREATURE]]:VANILLA_CREATURE_X] tokens to attempt to balance the spawn rates of the existing vanilla entities with any custom multi-creature entities you may add.&lt;br /&gt;
* The number of unclaimed [[Entity token#START_BIOME|START_BIOME]] or [[Entity token#EXCLUSIVE_START_BIOME|EXCLUSIVE_START_BIOME]] tiles remaining in the world limits the spawn rate for an entity and allows entities to block each other's spawns. If there is no &amp;quot;starting&amp;quot; [[Biome token|biome]] space left for an entity then it will not spawn and the game will try to spawn a different entity instead. This means that, on average, an entity that can start in ALL_MAIN [[Biome token|biomes]] will spawn more frequently than one that can start only in LAKE_TROPICAL_SALTWATER [[Biome token|biomes]]. This also means that entities whose starting [[Biome token|biomes]] do not overlap will not block each other's spawns.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#ddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Arguments&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|BIOME_SUPPORT}}&lt;br /&gt;
|&lt;br /&gt;
* [[Biome token|biome]]&lt;br /&gt;
* frequency&lt;br /&gt;
| Controls the expansion of the civilization's territory.  The higher the number is relative to other BIOME_SUPPORT tokens in the entity, the faster it can spread through the biome.  These numbers are evaluated relative to each other, i.e. if one biome is 1 and the other is 2, the spread will be the same as if one was 100 and the other was 200.  Civs can spread out over biomes they cannot actually build in; for example, humans spread quickly over oceans but cannot actually build in them.&lt;br /&gt;
[BIOME_SUPPORT:ANY_GRASSLAND:4]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SETTLEMENT_BIOME}}&lt;br /&gt;
| [[Biome token|biome]]&lt;br /&gt;
| If the civ's territory crosses over this biome, it can build settlements here.&lt;br /&gt;
[SETTLEMENT_BIOME:ANY_GRASSLAND]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|START_BIOME}}&lt;br /&gt;
| [[Biome token|biome]]&lt;br /&gt;
| Combination of EXCLUSIVE_START_BIOME and SETTLEMENT_BIOME; allows the civ to start in and create settlements in the biome. Note that the civ's spawn rate may be limited if all of its START or EXCLUSIVE_START biome(s) are rare in the world or have already been fully occupied by other civ spawns.&lt;br /&gt;
[START_BIOME:ANY_FOREST]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|EXCLUSIVE_START_BIOME}}&lt;br /&gt;
| [[Biome token|biome]]&lt;br /&gt;
| The birth of the civilization can occur in this biome, but cannot (necessarily) build in it. If the civ does not have SETTLEMENT_BIOME or START_BIOME for the biome in question, it will only construct a single settlement there. Note that the civ's spawn rate may be limited if all of its START or EXCLUSIVE_START biome(s) are rare in the world or have already been fully occupied by other civ spawns.&lt;br /&gt;
[EXCLUSIVE_START_BIOME:MOUNTAIN]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|DEFAULT_SITE_TYPE}}&lt;br /&gt;
| site type&lt;br /&gt;
| Valid site types are DARK_FORTRESS (π), CAVE (•), CAVE_DETAILED (Ω), TREE_CITY (î), and CITY (#). Also recognizes PLAYER_FORTRESS  (creates a civ of hillocks only), and MONUMENT (creates a civ without visible sites (except tombs and castles), but may cause worldgen crashes). FORTRESS is no longer a valid entry, castles are currently controlled by BUILDS_OUTDOOR_FORTIFICATIONS. Defaults to CITY. Selecting CAVE causes the classic kobold behavior of not showing up on the &amp;quot;neighbors&amp;quot; section of the site selection screen. Selecting DARK_FORTRESS also allows generation of [[underworld spire|certain other structures]]. It also gives the civ a [[demon|special overlord]].&lt;br /&gt;
CAVE_DETAILED civilizations will create fortresses in mountainous regions and hillocks in non-mountainous regions. [DEFAULT_SITE_TYPE:CAVE_DETAILED]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|LIKES_SITE}}&lt;br /&gt;
| site type&lt;br /&gt;
| Most residents will try to move to this site type, unless already at one.&lt;br /&gt;
[LIKES_SITE:CAVE_DETAILED]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|TOLERATES_SITE}}&lt;br /&gt;
| site type&lt;br /&gt;
| Some residents will try to move to this site type, unless already at one.&lt;br /&gt;
[TOLERATES_SITE:CITY]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|WORLD_CONSTRUCTION}}&lt;br /&gt;
| construction&lt;br /&gt;
| Controls which constructions the civ will build on the world map. Valid constructions are ROAD, TUNNEL, BRIDGE, and WALL.&lt;br /&gt;
[WORLD_CONSTRUCTION:BRIDGE]&lt;br /&gt;
[WORLD_CONSTRUCTION:ROAD]&lt;br /&gt;
[WORLD_CONSTRUCTION:TUNNEL]&lt;br /&gt;
[WORLD_CONSTRUCTION:WALL]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Population ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#ddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Arguments&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|MAX_POP_NUMBER}}&lt;br /&gt;
| number&lt;br /&gt;
| Max historical population '''per entity'''. Multiply this by max starting civ to get the total maximum historical population of the species. Defaults to 500, but all vanilla entities use 10,000, except skulking uses 2,000.&lt;br /&gt;
[MAX_POP_NUMBER:10000]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|MAX_SITE_POP_NUMBER}}&lt;br /&gt;
| number &lt;br /&gt;
| Max historical population per individual site. Defaults to 50, but all the vanilla entities use 120.&lt;br /&gt;
[MAX_SITE_POP_NUMBER:120]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|MAX_STARTING_CIV_NUMBER}}&lt;br /&gt;
| number&lt;br /&gt;
| Max number of civilizations of this entity type to spawn at world generation, which picks entities in some sequential order from the raws, looping through the list as needed. This is a hard limit, if set to 1, only 1 civilization of this type will be placed. If all entities have reached their limit, world generation will not try to place any more, even if its own [[Advanced_world_generation#Number_of_Civilizations|total limit]] has not been reached, and will continue on. Defaults to 3, but all vanilla entities use 100 (essentially unlimited).&lt;br /&gt;
[MAX_STARTING_CIV_NUMBER:100]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Flavor ==&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#ddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Arguments&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|PERMITTED_BUILDING}}&lt;br /&gt;
| building name &lt;br /&gt;
| The named, custom building can be built by a civilization in Fortress Mode.&lt;br /&gt;
[PERMITTED_BUILDING:SOAP_MAKER]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|PERMITTED_JOB}}&lt;br /&gt;
| [[Unit type token|profession]]&lt;br /&gt;
| Allows this job type to be selected. This applies to worldgen creatures, in the embark screen, and in play. Certain professions also influence the availability of materials for trade.&lt;br /&gt;
[PERMITTED_JOB:MINER]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|PERMITTED_REACTION}}&lt;br /&gt;
| reaction name &lt;br /&gt;
| Allows this reaction to be used by a civilization. It is used primarily in Fortress Mode, but also allows certain resources, such as [[steel]], to be available to a race. When creating custom reactions, this token '''must''' be present or the player will not be able to use the reaction in Fortress Mode.&lt;br /&gt;
[PERMITTED_REACTION:TAN_A_HIDE]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|CURRENCY_BY_YEAR}}&lt;br /&gt;
| &lt;br /&gt;
| Causes the civ's currency to be numbered with the year it was minted.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|CURRENCY}}&lt;br /&gt;
|&lt;br /&gt;
* inorganic material&lt;br /&gt;
* value&lt;br /&gt;
| What kind of metals the civ uses for coin minting, as well as the value of the [[coin]]. Only effective in Adventurer mode due to lack of [[dwarven economy]].&lt;br /&gt;
&lt;br /&gt;
[CURRENCY:SILVER:5]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|ART_FACET_MODIFIER}}&lt;br /&gt;
|&lt;br /&gt;
* type&lt;br /&gt;
* number&lt;br /&gt;
| OWN_RACE, FANCIFUL, EVIL, GOOD&lt;br /&gt;
Number goes from 0 to 25600 where 256 is the default.&lt;br /&gt;
[ART_FACET_MODIFIER:OWN_RACE:512]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|ART_IMAGE_ELEMENT_MODIFIER}}&lt;br /&gt;
|&lt;br /&gt;
* item&lt;br /&gt;
* number&lt;br /&gt;
| CREATURE, PLANT, TREE, SHAPE, ITEM&amp;lt;br /&amp;gt;0-25600&lt;br /&gt;
&lt;br /&gt;
Determines the chance of each image occurring in that entity's artwork, such as engravings and on artifacts, for default (non-historical) artwork.&lt;br /&gt;
&lt;br /&gt;
[ART_IMAGE_ELEMENT_MODIFIER:TREE:512]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|ITEM_IMPROVEMENT_MODIFIER}}&lt;br /&gt;
|&lt;br /&gt;
* item&lt;br /&gt;
* number&lt;br /&gt;
| ART_IMAGE, COVERED or GLAZED, RINGS_HANGING, BANDS, SPIKES, ITEMSPECIFIC, THREAD, CLOTH, SEWN_IMAGE&amp;lt;br /&amp;gt;0-25600&lt;br /&gt;
&lt;br /&gt;
Determines the chance of the entity using that particular artwork method, such as &amp;quot;encircled with bands&amp;quot; or &amp;quot;menaces with spikes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[ITEM_IMPROVEMENT_MODIFIER:SPIKES:0]&lt;br /&gt;
&lt;br /&gt;
This also seems to change the amount that the entity will pay for items that are improved in these ways in their tokens.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|TRANSLATION}}&lt;br /&gt;
| language&lt;br /&gt;
| What language raw the entity uses.&lt;br /&gt;
* If an entity lacks this tag, translations are drawn randomly from all translation files. Multiple translation tags will only result in the last one being used. Migrants will sometimes arrive with no name.&lt;br /&gt;
* If GEN_DIVINE is entered, the entity will use a generated divine language, that is, the same language that is used for the names of [[angel]]s.&lt;br /&gt;
* If the entity's main creature has {{token|UTTERANCES|c}}, then this token will be ignored (except when using the naming menu) in favor of procedural [[kobold]]-style [[Kobold language|pseudolanguage]].&lt;br /&gt;
[TRANSLATION:DWARF]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SELECT_SYMBOL}}&lt;br /&gt;
|&lt;br /&gt;
* category&lt;br /&gt;
* [[language#language_SYM.txt|symbol]]&lt;br /&gt;
| ALL, REMAINING, BATTLE, BRIDGE, CIV, CRAFT_GUILD, FESTIVAL, HOSPITAL, LIBRARY, MERCHANT_COMPANY, MILITARY_UNIT, OTHER, RELIGION, ROAD, SIEGE, SITE, TEMPLE, TUNNEL, VESSEL, WALL, WAR&lt;br /&gt;
The entity will always use a word from the selected symbol(s) to generate names from that category.&lt;br /&gt;
* OTHER applies the symbol selection to personal names and site names. REMAINING will apply the symbol selection to all categories that have not already been declared above it.&lt;br /&gt;
* Specific to SELECT_SYMBOL, symbols selected this way will be used as &amp;quot;The X&amp;quot; in &amp;quot;The X of Y&amp;quot; names, and nouns from selected symbols can be used as first [[name]]s.&lt;br /&gt;
&lt;br /&gt;
[SELECT_SYMBOL:ALL:PEACE]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SUBSELECT_SYMBOL}}&lt;br /&gt;
|&lt;br /&gt;
* category&lt;br /&gt;
* [[language#language_SYM.txt|symbol]]&lt;br /&gt;
| As SELECT_SYMBOL, a word from the subselected symbol(s) will be used in names of that category, in addition to the word from SELECT_SYMBOL (if specified). Used in vanilla to put violent names in sieges and battles.&lt;br /&gt;
* Words chosen with SUBSELECT_SYMBOL will appear as either adjectives or &amp;quot;of Y&amp;quot; in &amp;quot;The X of Y&amp;quot; names.&lt;br /&gt;
* CULL_SYMBOL does not affect subselected symbols.&lt;br /&gt;
&lt;br /&gt;
[SELECT_SYMBOL:SIEGE:NAME_SIEGE]&lt;br /&gt;
&lt;br /&gt;
[SUBSELECT_SYMBOL:SIEGE:VIOLENT]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|CULL_SYMBOL}}&lt;br /&gt;
|&lt;br /&gt;
* category&lt;br /&gt;
* [[Language#language_SYM.txt|symbol]]&lt;br /&gt;
| Causes the entity to not use the words in these SYM sets.&lt;br /&gt;
[CULL_SYMBOL:ALL:UGLY]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|FRIENDLY_COLOR}}&lt;br /&gt;
| see [[color]]&lt;br /&gt;
|&lt;br /&gt;
The color of this entity's civilization settlements in the world gen and embark screens, also used when announcing arrival of their caravan. Defaults to 7:0:1.&lt;br /&gt;
&lt;br /&gt;
[FRIENDLY_COLOR:1:0:1]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Religion ==&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#ddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Arguments&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|RELIGION}}&lt;br /&gt;
| type&lt;br /&gt;
|&lt;br /&gt;
* REGIONAL_FORCE: The creatures will worship a single force associated with the terrain of their initial biome.&lt;br /&gt;
* PANTHEON: The creatures will worship a group of gods, each aligned with their spheres and other appropriate ones as well.&lt;br /&gt;
&lt;br /&gt;
Can be specified multiple times, and will pick randomly from the assigned types. Additional instances of each type will weight the random choice, but unlike {{token|CREATURE|e}}, will not make the entity more likely to spawn.&lt;br /&gt;
&lt;br /&gt;
[RELIGION:PANTHEON]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|RELIGION_SPHERE}}&lt;br /&gt;
| [[Sphere#Available_spheres|sphere]]&lt;br /&gt;
| Can be any available [[sphere]] - multiple entries are possible. Choosing a religious sphere will automatically make its opposing sphere not possible for the species to have: adding [[Sphere#WATER|WATER]], for example, means civs of this entity will never get [[Sphere#FIRE|FIRE]] as a religious sphere. Note that the [[Sphere#DEATH|DEATH]] sphere favours the appearance of necromancers (and therefore, towers) &amp;quot;in&amp;quot; the entity.&lt;br /&gt;
&lt;br /&gt;
[RELIGION_SPHERE:FORTRESSES]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SPHERE_ALIGNMENT}}&lt;br /&gt;
|&lt;br /&gt;
* [[Sphere#Available_spheres|sphere]]&lt;br /&gt;
* number&lt;br /&gt;
|&lt;br /&gt;
This token forces an entity to favor or disfavor particular religious spheres. Default is 256, minimum is 0, maximum is 25600.&lt;br /&gt;
* Presently, this doesn't cause them to acquire those spheres more often when generating a pantheon.&lt;br /&gt;
* [[Sphere#PLANTS|PLANTS]] and [[Sphere#ANIMALS|ANIMALS]] affect the prevalence of depicting {{token|VEGETATION}} and {{token|NATURAL}} creatures, respectively, in a similar fashion to {{token|ART_FACET_MODIFIER|e}}. &lt;br /&gt;
* [[Sphere#WAR|WAR]] modifies the effective [[item value]] of [[weapon]]s and [[armor]] to [[trader]]s of this entity. The multiplier is SPHERE_ALIGNMENT/256, though this only applies to equipment the entity's main creature can properly wield.&lt;br /&gt;
&lt;br /&gt;
[SPHERE_ALIGNMENT:TREES:512]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Leadership ==&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#ddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Arguments&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|POSITION}}&lt;br /&gt;
| string&lt;br /&gt;
| Defines a leader/noble position for a civilization. These replace previous tags such as [MAYOR] and [CAN_HAVE_SITE_LEADER] and so on. To define a position further, see [[Position token]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SITE_VARIABLE_POSITIONS}}&lt;br /&gt;
| Position responsibility or ALL&lt;br /&gt;
| Allows a site responsibility to be taken up by a dynamically generated position (lords, hearthpersons, etc.). Any defined positions holding a given responsibility will take precedence over generated positions for that responsibility. Also appears to cause site disputes.{{Verify}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|VARIABLE_POSITIONS}}&lt;br /&gt;
| Position responsibility or ALL&lt;br /&gt;
| Allows a responsibility to be taken up by a dynamically generated position (such as Law-maker). Any defined positions holding a given responsibility will take precedence over generated positions for that responsibility.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Behavior ==&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#ddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Arguments&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|ETHIC}}&lt;br /&gt;
| &lt;br /&gt;
*behavior&lt;br /&gt;
*reaction&lt;br /&gt;
| Sets the civ's view of [[ethic]]s (certain behaviors), from capital punishment to completely acceptable. This also causes the civ to look upon opposing ethics with disfavor if their reaction to it is opposing, and when at extremes (one ACCEPTABLE, another civ UNTHINKABLE; for example) they will often go to war over it.&lt;br /&gt;
[ETHIC:EAT_SAPIENT_KILL:ACCEPTABLE]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|VALUE}}&lt;br /&gt;
| &lt;br /&gt;
*value&lt;br /&gt;
*number&lt;br /&gt;
| Sets the civ's [[Personality value|cultural values]]. Numbers range from -50 (complete anathema) to 0 (neutral) to 50 (highly valued).&lt;br /&gt;
[VALUE:CRAFTSMANSHIP:50]&lt;br /&gt;
&lt;br /&gt;
Certain values must be set to 15 or more for civs to create structures and form entities during history gen:&lt;br /&gt;
* 15+ KNOWLEDGE for libraries&lt;br /&gt;
* 15+ COOPERATION ''and'' 15+ CRAFTSMANSHIP for craft guilds&lt;br /&gt;
** Guilds also need guild-valid professions (see [[#PERMITTED_JOB|PERMITTED_JOB]])&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|VARIABLE_VALUE}}&lt;br /&gt;
|&lt;br /&gt;
*value or ALL&lt;br /&gt;
*min&lt;br /&gt;
*max&lt;br /&gt;
| Makes values randomized rather than specified.&lt;br /&gt;
This tag overrides the VALUE tag. Using [VARIABLE_VALUE:ALL:x:y] and then overwriting single values with further [VARIABLE_VALUE:value:x:y] tags works.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|WILL_ACCEPT_TRIBUTE}}&lt;br /&gt;
| &lt;br /&gt;
| Makes the civ's traders accept offered goods.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|WANDERER}}, {{text anchor|BEAST_HUNTER}}, {{text anchor|SCOUT}}, {{text anchor|MERCENARY}}&lt;br /&gt;
| &lt;br /&gt;
| The civ will send out these sorts of adventurers in worldgen, which seems to increase Tracker skill. These types of adventurers will sometimes be seen leading a battle (instead of war leaders or generals) in remote locations during world-gen, in charge of the defenders.&lt;br /&gt;
&lt;br /&gt;
Mercenaries and monster hunters from the civ may visit player's fortress and petition for residency there to enlist in the military or hunt monsters in caverns, respectively.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|ABUSE_BODIES}}&lt;br /&gt;
| &lt;br /&gt;
| The civilization will mutilate bodies when they are the victors in history-gen warfare, such as hanging bodies from trees, putting them on spikes, and so forth. Adventurers killed in Adventurer mode will sometimes be impaled on spikes wherever they died, with or without this token, and regardless of whether they actually antagonized the townspeople.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|ACTIVE_SEASON}}&lt;br /&gt;
| season&lt;br /&gt;
| The season when the civ is most active: when they will trade, interact with you via diplomats, and/or invade you. Civs can have multiple season entries. Note: If multiple caravans arrive at the same time, you are able to select which civ to trade with at the depot menu. ACTIVE_SEASON tags may be changed for a currently active fort.&lt;br /&gt;
[ACTIVE_SEASON:AUTUMN]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|AMBUSHER}}&lt;br /&gt;
| &lt;br /&gt;
| When invading, sneaks around and shoots at straggling members of your society. They will spawn on the edge of the map and will only be visible when one of their party are spotted; this can be quite dangerous to undefended trade depots. If the civilization also has the SIEGER token, they will eventually ramp it up to less subtle means of warfare.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|AT_PEACE_WITH_WILDLIFE}}&lt;br /&gt;
|&lt;br /&gt;
| Will not attack wildlife, and will not be attacked by them, even if you have them in your party. This can be somewhat disconcerting when attacked by bears in the forest, and your elven ally sits back and does nothing. Additionally, this token determines if the entity can settle in savage biomes.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|BABYSNATCHER}}&lt;br /&gt;
|&lt;br /&gt;
| Sends thieves to steal babies. Without this tag (or AMBUSHER, or ITEM_THIEF), enemy civs will only siege (if capable), and will siege as early as they would otherwise babysnatch. This can happen as early as the first year of the fort! In addition, babysnatcher civs will snatch children during worldgen, allowing them to become part of the civ if they do not escape. Also causes this civ to be hostile to any entity without this token.&lt;br /&gt;
&lt;br /&gt;
Note: If the playable civ in fortress mode has this tag (e.g. you add BABYSNATCHER to the dwarf entity) then the roles will be reversed and elves and humans will siege and ambush and goblins will be friendly to you. However, animals traded away to one's own caravan will count as snatched, reported upon the animal leaving the map, and the animal will not count as having been exported.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|BUILDS_OUTDOOR_FORTIFICATIONS}}&lt;br /&gt;
| &lt;br /&gt;
| Makes the civilization build castles from [[mead hall]]s. Only functions when the type of site built is a hamlet/town. This, combined with the correct type of [[position token|position]] associated with a site, is why adventurers can only lay claim to human sites. {{bug|8001}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|BUILDS_OUTDOOR_TOMBS}}&lt;br /&gt;
| &lt;br /&gt;
| Makes the civilization build tombs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|BANDITRY}}&lt;br /&gt;
| percentage&lt;br /&gt;
| Sets a percentage of the entity population to be used as bandits.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|DIPLOMAT_BODYGUARDS}}&lt;br /&gt;
|&lt;br /&gt;
| Visiting diplomats are accompanied by a pair of soldiers.&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|GENERATED}}&lt;br /&gt;
|&lt;br /&gt;
| Found on generated divine &amp;quot;HF Guardian Entities&amp;quot;.  Cannot be used in user-defined raws.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|INVADERS_IGNORE_NEUTRALS}}&lt;br /&gt;
|&lt;br /&gt;
| Causes invaders to ignore visiting caravans and other neutral creatures.{{verify}}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|ITEM_THIEF}}&lt;br /&gt;
|&lt;br /&gt;
| Sends thieves to steal items. This will also occur in history generation, and thieves will have the &amp;quot;thief&amp;quot; profession. Items stolen in history gen will be scattered around that creature's home. Also causes that civ to be hostile to any entity without this token. Without this tag (or AMBUSHER, or BABYSNATCHER), enemy civs will only siege (if capable), and will siege as early as they would otherwise steal.&lt;br /&gt;
&lt;br /&gt;
Note: If the playable civ in Fortress Mode has this tag (e.g. you add ITEM_THIEF to the Dwarf entity) then the roles will be reversed and elves and humans will siege and ambush and kobolds will be friendly to you. However, ALL items traded away to one's own caravan will count as stolen, reported when the items leave the map, and the stolen items will not count as exported.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|LOCAL_BANDITRY}}&lt;br /&gt;
|&lt;br /&gt;
| Causes the entity to send out patrols that can ambush adventurers. Said patrols will be hostile to any adventurers they encounter, regardless of race or nationality.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|MERCHANT_BODYGUARDS}}&lt;br /&gt;
|&lt;br /&gt;
| Caravan merchants are accompanied by soldiers.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|MERCHANT_NOBILITY}}&lt;br /&gt;
|&lt;br /&gt;
| Merchants will engage in cross-civ trading and form companies.&lt;br /&gt;
&lt;br /&gt;
In previous versions, this resulted in the civ having a Guild Representative / Merchant Baron / Merchant Prince, but now this is controlled solely by positions.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|PROGRESS_TRIGGER_POPULATION}}&lt;br /&gt;
| level&lt;br /&gt;
| 0 to 5, civ will come to site once population at site has reached that level. If multiple progress triggers exist for a civ, it will come when any one of them is fulfilled instead of waiting for all of them to be reached. A value of 0 disables the trigger. 1 corresponds to 20 dwarves, 2 to 50 dwarves, 3 to 80, 4 to 110, and 5 to 140. Progress triggers may be changed, added, or deleted for a currently active fort. Note: hostile civs require that this be fulfilled as well as at least one other non-siege trigger before visiting for non-siege activities.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|PROGRESS_TRIGGER_PRODUCTION}}&lt;br /&gt;
| level&lt;br /&gt;
| 0 to 5, civ will come to site once created wealth has reached that level. If multiple progress triggers exist for a civ, it will come when any one of them is fulfilled instead of waiting for all of them to be reached. A value of 0 disables the trigger. 1 corresponds to 5000☼ created wealth, 2 to 25000☼, 3 to 100000☼, 4 to 200000☼, and 5 to 300000☼. Progress triggers may be changed, added, or deleted for a currently active fort.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|PROGRESS_TRIGGER_TRADE}}&lt;br /&gt;
| level&lt;br /&gt;
| 0 to 5, civ will come to site once exported goods has reached that level. If multiple progress triggers exist for a civ, it will come when any one of them is fulfilled instead of waiting for all of them to be reached. A value of 0 disables the trigger. 1 corresponds to 500☼ exported wealth, 2 to 2500☼, 3 to 10000☼, 4 to 20000☼, and 5 to 30000☼. Progress triggers may be changed, added, or deleted for a currently active fort.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|PROGRESS_TRIGGER_POP_SIEGE}}&lt;br /&gt;
| level&lt;br /&gt;
| 0 to 5, civ will begin to send sieges against the player civ when this level is reached if it is hostile.&lt;br /&gt;
&lt;br /&gt;
If multiple progress triggers exist for a civ, it will come when any one of them is fulfilled instead of waiting for all of them to be reached. A value of 0 disables the trigger.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|PROGRESS_TRIGGER_PROD_SIEGE}}&lt;br /&gt;
| level&lt;br /&gt;
| 0 to 5, civ will begin to send sieges against the player civ when this level is reached if it is hostile.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|PROGRESS_TRIGGER_TRADE_SIEGE}}&lt;br /&gt;
| level&lt;br /&gt;
| 0 to 5, civ will begin to send sieges against the player civ when this level is reached if it is hostile.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SIEGER}}&lt;br /&gt;
|&lt;br /&gt;
| Will start campfires and wait around at the edge of your map for a month or two before rushing in to attack. This will occur when the progress triggers for sieging are reached. If the civ lacks smaller methods of conflict (AMBUSHER, BABYSNATCHER, ITEM_THIEF), they will instead send smaller-scale sieges when their triggers for &amp;quot;first contact&amp;quot; are reached.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SIEGE_SKILLED_MINERS}}{{v|53.01}}&lt;br /&gt;
|&lt;br /&gt;
| Improves the skill of [[miner]] invaders by a factor of 5. Used for [[dwarves]] in vanilla.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SITE_GUARDIAN}}&lt;br /&gt;
|&lt;br /&gt;
| Guards certain special sites, such as a [[vault]] belonging to a [[demon]] allied with a [[deity]].  Used in generated divine entities. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SKULKING}}&lt;br /&gt;
|&lt;br /&gt;
| This makes the severity of attacks depend on the extent of item/baby thievery rather than the passage of time. Designed to go with ITEM_THIEF, may or may not work with BABYSNATCHER.  Prevents the civ from engaging in diplomacy or ending up at war.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|TREE_CAP_DIPLOMACY}}&lt;br /&gt;
|&lt;br /&gt;
| Visiting diplomats impose tree cutting quotas; without this, they will simply compliment your fortress and leave. Also causes the diplomat to make unannounced first contact at the very beginning of the first spring after your fortress becomes a land holder.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|LAYER_LINKED}}&lt;br /&gt;
| &lt;br /&gt;
| Defines if a civilization is a hidden subterranean entity, such as [[bat man]] civilizations. May spawn in any of the three caverns; cavern dweller raids due to [[agitation]] will pull from these. If you embark as this civ, you have access to pets and trees from all three layers, not only the first. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|GENERATE_KEYBOARD_INSTRUMENTS}}, {{text anchor|GENERATE_PERCUSSION_INSTRUMENTS}}, {{text anchor|GENERATE_STRINGED_INSTRUMENTS}}, {{text anchor|GENERATE_WIND_INSTRUMENTS}}, {{text anchor|GENERATE_DANCE_FORMS}}, {{text anchor|GENERATE_MUSICAL_FORMS}}, {{text anchor|GENERATE_POETIC_FORMS}}&lt;br /&gt;
|&lt;br /&gt;
| Makes civilizations generate the given instruments/forms.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SCHOLAR}}&lt;br /&gt;
| scholar type&lt;br /&gt;
| ALL, ASTRONOMER, CHEMIST, DOCTOR, ENGINEER, GEOGRAPHER, HISTORIAN, MATHEMATICIAN, NATURALIST, PHILOSOPHER&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SET_SCHOLARS_ON_VALUES_AND_JOBS}}&lt;br /&gt;
|&lt;br /&gt;
| Generates scholars based on the values generated with the VARIABLE_VALUE tag.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|NO_ARTIFACT_CLAIMS}}&lt;br /&gt;
|&lt;br /&gt;
| Used for kobolds.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|MINING_UNDERWORLD_DISASTERS}}&lt;br /&gt;
|&lt;br /&gt;
| The civilization can breach the [[Underworld]] during world generation, spawning a civilization of {{token|EVIL}} creatures lead by a unique [[demon]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|MYTHICAL}}{{version|51.01-beta26}}&lt;br /&gt;
|&lt;br /&gt;
| Builds [[mysterious dungeon]]s.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Available resources ==&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#ddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Arguments&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|AMMO}}&lt;br /&gt;
| item token&lt;br /&gt;
| Used after a ranged weapon type.&lt;br /&gt;
[AMMO:ITEM_AMMO_BOLTS]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|ARMOR}}&lt;br /&gt;
|&lt;br /&gt;
* item token&lt;br /&gt;
* rarity&lt;br /&gt;
| Rarity is optional, and valid values are FORCED, COMMON, UNCOMMON, and RARE (anything else is treated as COMMON). FORCED items will be available 100% of the time, COMMON items 50%, UNCOMMON items 10%, and RARE items 1%. If certain armor types are lacking after performing one pass of randomised checks, the game will repeat random checks until an option is successfully chosen.&lt;br /&gt;
[ARMOR:ITEM_ARMOR_PLATEMAIL:COMMON]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|DIGGER}}&lt;br /&gt;
| item token&lt;br /&gt;
| Causes the selected weapon to fall under the &amp;quot;digging tools&amp;quot; section of the embark screen. Also forces the weapon to be made out of metal, which can cause issues if a modded entity has access to picks without access to metal - for those cases, listing the pick under the [WEAPON] token works just as well. Note that this tag is neither necessary nor sufficient to allow use of that item as a mining tool – for that, the item itself needs to be a weapon with [SKILL:MINING].&lt;br /&gt;
[DIGGER:ITEM_WEAPON_PICK]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|GLOVES}}&lt;br /&gt;
|&lt;br /&gt;
* item token&lt;br /&gt;
* rarity&lt;br /&gt;
| Rarity is optional, and valid values are FORCED, COMMON, UNCOMMON, and RARE (anything else is treated as COMMON). Uses the same rarity values and methods as outlined in ARMOR.&lt;br /&gt;
[GLOVES:ITEM_GLOVES_GLOVES:COMMON]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|HELM}}&lt;br /&gt;
|&lt;br /&gt;
* item token&lt;br /&gt;
* rarity&lt;br /&gt;
| Rarity is optional, and valid values are FORCED, COMMON, UNCOMMON, and RARE (anything else is treated as COMMON). Uses the same rarity values and methods as outlined in ARMOR.&lt;br /&gt;
[HELM:ITEM_HELM_HELM:COMMON]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|INSTRUMENT}}&lt;br /&gt;
| item token&lt;br /&gt;
| No longer used as of [[:Category:Version 0.42.01|Version 0.42.01]] due to the ability to generate instruments in world generation. It is still usable if pre-defined instruments are modded in, and generated musical forms are capable of selecting pre-defined instruments to use. However, reactions for making instruments, instrument parts, and/or assembling such instruments need to be added as well, as this token no longer adds such instruments to the craftdwarf's workshop menu.&lt;br /&gt;
[INSTRUMENT:ITEM_INSTRUMENT_FLUTE]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|PANTS}}&lt;br /&gt;
|&lt;br /&gt;
* item token&lt;br /&gt;
* rarity&lt;br /&gt;
| Rarity is optional, and valid values are FORCED, COMMON, UNCOMMON, and RARE (anything else is treated as COMMON). Uses the same rarity values and methods as outlined in ARMOR.&lt;br /&gt;
[PANTS:ITEM_PANTS_PANTS:COMMON]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SHIELD}}&lt;br /&gt;
| item token&lt;br /&gt;
|&lt;br /&gt;
[SHIELD:ITEM_SHIELD_SHIELD]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SHOES}}&lt;br /&gt;
|&lt;br /&gt;
* item token&lt;br /&gt;
* rarity&lt;br /&gt;
| Rarity is optional, and valid values are FORCED, COMMON, UNCOMMON, and RARE (anything else is treated as COMMON). Uses the same rarity values and methods as outlined in ARMOR.&lt;br /&gt;
[SHOES:ITEM_SHOES_SHOES:COMMON]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SIEGEAMMO}}&lt;br /&gt;
| item token&lt;br /&gt;
|&lt;br /&gt;
[SIEGEAMMO:ITEM_SIEGEAMMO_BALLISTA]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|TOOL}}&lt;br /&gt;
| item token&lt;br /&gt;
|&lt;br /&gt;
[TOOL:ITEM_TOOL_NEST_BOX]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|TOY}}&lt;br /&gt;
| item token&lt;br /&gt;
|&lt;br /&gt;
[TOY:ITEM_TOY_PUZZLEBOX]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|TRAPCOMP}}&lt;br /&gt;
| item token&lt;br /&gt;
|&lt;br /&gt;
[TRAPCOMP:ITEM_TRAPCOMP_GIANTAXEBLADE]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|WEAPON}}&lt;br /&gt;
| item token&lt;br /&gt;
| While this does not accept a rarity value, something similar can be achieved by having multiple variations of a weapon type with small differences and specifying each of them.{{cite forum|179547}}&lt;br /&gt;
[WEAPON:ITEM_WEAPON_AXE_BATTLE]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|USE_ANIMAL_PRODUCTS}}&lt;br /&gt;
|&lt;br /&gt;
| Allows use of products made from animals. All relevant creatures will be able to provide wool, silk, and extracts (including milk and venom) for trade, and non-sentient creatures (unless ethics state otherwise) will be able to provide eggs, caught fish, meat, leather, bone, shell, pearl, horn, and ivory.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|USE_ANY_PET_RACE}}&lt;br /&gt;
|&lt;br /&gt;
| Any creature in the civilization's list of usables (from the surrounding 7x7 or so of squares and map features in those squares) which has PET or {{catlink|Exotic pet|PET_EXOTIC}} will be available as a pet, pack animal (with PACK_ANIMAL), wagon puller (with WAGON_PULLER), mount (with {{catlink|Mount|MOUNT}} or {{catlink|Exotic mount|MOUNT_EXOTIC}}), or siege minion (with {{catlink|War animals|TRAINABLE_WAR}} and ''without'' {{catlink|Learns|CAN_LEARN}}). This notion of the initial usable creature list, which then gets pared down or otherwise considered, applies below as well. All common domestic and equipment creatures are also added to the initial list.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|USE_CAVE_ANIMALS}}&lt;br /&gt;
|&lt;br /&gt;
| If they don't have it, creatures with exclusively subterranean biomes are skipped. If they have it, cave creatures with PET will also be available as pets, pack animals (with PACK_ANIMAL), wagon pullers (with WAGON_PULLER), mounts (with {{catlink|Mount|MOUNT}} or {{catlink|Exotic mount|MOUNT_EXOTIC}}), and siege minions (with {{catlink|War animals|TRAINABLE_WAR}} and ''without'' {{catlink|Learns|CAN_LEARN}}).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|USE_EVIL_ANIMALS}}&lt;br /&gt;
|&lt;br /&gt;
| Without this, EVIL creatures are skipped, otherwise, evil creatures with SLOW_LEARNER or ''without'' {{catlink|Learns|CAN_LEARN}} will be also available as pets (with PET), pack animals (with PACK_ANIMAL), wagon pullers (with WAGON_PULLER), mounts (with {{catlink|Mount|MOUNT}} or {{catlink|Exotic mount|MOUNT_EXOTIC}}), and siege minions (with {{catlink|War animals|TRAINABLE_WAR}} or SLOW_LEARNER), even the normally untameable species.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|USE_EVIL_PLANTS}}&lt;br /&gt;
|&lt;br /&gt;
| Same as USE_EVIL_ANIMALS for all uses of plants.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|USE_EVIL_WOOD}}&lt;br /&gt;
|&lt;br /&gt;
| Same as USE_EVIL_ANIMALS for all uses of wood.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|USE_GOOD_ANIMALS}}&lt;br /&gt;
|&lt;br /&gt;
| Without this GOOD creatures are skipped, otherwise, good creatures ''without'' {{catlink|Learns|CAN_LEARN}} will also be available as pets (with PET), pack animals (with PACK_ANIMAL), wagon pullers (with WAGON_PULLER), mounts (with {{catlink|Mount|MOUNT}} or {{catlink|Exotic mount|MOUNT_EXOTIC}}), and siege minions (with {{catlink|War animals|TRAINABLE_WAR}}), even the normally untameable species.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|USE_GOOD_PLANTS}}&lt;br /&gt;
|&lt;br /&gt;
| Same as USE_GOOD_ANIMALS for all uses of plants.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|USE_GOOD_WOOD}}&lt;br /&gt;
|&lt;br /&gt;
| Same as USE_GOOD_ANIMALS for all uses of wood.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|USE_MISC_PROCESSED_WOOD_PRODUCTS}}&lt;br /&gt;
|&lt;br /&gt;
| If the relevant professions are permitted, controls availability of lye (LYE_MAKING), charcoal (BURN_WOOD), and potash (POTASH_MAKING).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|USE_NON_EXOTIC_PET_RACE}}&lt;br /&gt;
|&lt;br /&gt;
| Makes the civilization use all locally available non-exotic pets.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|COMMON_DOMESTIC_MOUNT}}&lt;br /&gt;
|&lt;br /&gt;
| Gives the civilization access to creatures with COMMON_DOMESTIC and {{catlink|Mount|MOUNT}}. Additionally, all available (based on USE_ANY_PET_RACE, USE_CAVE_ANIMALS, USE_GOOD_ANIMALS, and USE_EVIL_ANIMALS) creature with {{catlink|Mount|MOUNT}} and PET will be allowed for use as mounts during combat.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|COMMON_DOMESTIC_PACK}}&lt;br /&gt;
|&lt;br /&gt;
| Gives the civilization access to creatures with COMMON_DOMESTIC and PACK_ANIMAL. Additionally, all available (see above) creatures with PACK_ANIMAL and PET will be allowed for use during trade as pack animals.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|COMMON_DOMESTIC_PET}}&lt;br /&gt;
|&lt;br /&gt;
| Gives the civilization access to creatures with COMMON_DOMESTIC and PET. Additionally, all available (see above) creatures with PET will be allowed for use as pets.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|COMMON_DOMESTIC_PULL}}&lt;br /&gt;
|&lt;br /&gt;
| Gives the civilization access to creatures with COMMON_DOMESTIC and WAGON_PULLER. Additionally, all available (see above) creatures with WAGON_PULLER and PET will be allowed for use during trade to pull [[wagon]]s.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|RIVER_PRODUCTS}}&lt;br /&gt;
|&lt;br /&gt;
| Allow use of river products in the goods available for trade.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|OCEAN_PRODUCTS}}&lt;br /&gt;
|&lt;br /&gt;
| Allow use of ocean products (including [[amber]] and [[coral]]) in the goods available for trade. Without OCEAN_PRODUCTS, civilizations will not be able to trade ocean fish even if they are ''also'' available from other sources (e.g. [[sturgeon]]s and [[stingray]]s).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|INDOOR_FARMING}}&lt;br /&gt;
|&lt;br /&gt;
| Allow use of underground plant products in the goods available for trade. Lack of suitable vegetation in the caverns will cause [[World generation#Rejections|worldgen rejection]]s. According to Droseran: &amp;quot;Gives access to plants (structural material) and seeds. It only checks for [EDIBLE_RAW] or [EDIBLE_COOKED] on the plant's structural material. It doesn't check if the plant can be used in a reaction to produce something edible, only if it can be eaten raw or cooked. If an entity with this token is placed in a biome that doesn't have at least one of these tokens on the structural material, the map is rejected. Due to the randomness of plant selection in biomes, this can happen a lot as only about half of the vanilla plants have edible structural materials. Removing either of these tokens from plants dramatically increases map rejections.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|OUTDOOR_FARMING}}&lt;br /&gt;
|&lt;br /&gt;
| Allow use of outdoor plant products in the goods available for trade. Lack of suitable vegetation in this civilization's starting area will cause [[World generation#Rejections|worldgen rejection]]s. According to Droseran: &amp;quot;Gives access to plants (structural material) and seeds. It only checks for [EDIBLE_RAW] or [EDIBLE_COOKED] on the plant's structural material. It doesn't check if the plant can be used in a reaction to produce something edible, only if it can be eaten raw or cooked. If an entity with this token is placed in a biome that doesn't have at least one of these tokens on the structural material, the map is rejected. Due to the randomness of plant selection in biomes, this can happen a lot as only about half of the vanilla plants have edible structural materials. Removing either of these tokens from plants dramatically increases map rejections.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|INDOOR_GARDENS}}&lt;br /&gt;
|&lt;br /&gt;
| Allow use of underground plant growths (quarry bush leaves, in unmodded games) in the goods available for trade. According to Droseran: &amp;quot;Will never cause map rejections. It allows growths to be used, but doesn't care if none exist. If an entity doesn't have a farming token, they won't have seeds or plants available on embark/trade. But you can still farm in fortress mode with only this token, you just have to get the seeds manually or trading with another civ.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|OUTDOOR_GARDENS}}&lt;br /&gt;
|&lt;br /&gt;
| Allow use of outdoor plant growths in the goods available for trade. According to Droseran: &amp;quot;Will never cause map rejections. It allows growths to be used, but doesn't care if none exist. If an entity doesn't have a farming token, they won't have seeds or plants available on embark/trade. But you can still farm in fortress mode with only this token, you just have to get the seeds manually or trading with another civ.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|INDOOR_ORCHARDS}}&lt;br /&gt;
|&lt;br /&gt;
| Allows use of indoor tree growths in the goods available for trade. Not used in vanilla entities, as vanilla underground trees do not grow fruit. Needs INDOOR_WOOD to function. Will cause rejections, if growths are unavailable. According to Droseran: &amp;quot;Gives access to tree growths. It only checks for growths on trees that are [EDIBLE_RAW] or [EDIBLE_COOKED]. If an entity with this token is placed in a biome that does not have a tree with a growth with at least one of these tokens, the map is rejected.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|OUTDOOR_ORCHARDS}}&lt;br /&gt;
|&lt;br /&gt;
| Allows use of outdoor tree growths in the goods available for trade. Needs OUTDOOR_WOOD to function{{verify}}. According to Droseran: &amp;quot;Gives access to tree growths. It only checks for growths on trees that are [EDIBLE_RAW] or [EDIBLE_COOKED]. If an entity with this token is placed in a biome that does not have a tree with a growth with at least one of these tokens, the map is rejected.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|CLOTHING}}&lt;br /&gt;
|&lt;br /&gt;
| Civilization members will attempt to wear clothing.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|SUBTERRANEAN_CLOTHING}}&lt;br /&gt;
|&lt;br /&gt;
| Will wear things made of spider silk and other subterranean materials.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|EQUIPMENT_IMPROVEMENTS}}&lt;br /&gt;
|&lt;br /&gt;
| Adds decorations to equipment based on the level of the generated unit. Also improves item quality.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|IMPROVED_BOWS}}&lt;br /&gt;
|&lt;br /&gt;
| Adds decorations to weapons generated for bowman and master bowman.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|METAL_PREF}}&lt;br /&gt;
|&lt;br /&gt;
| Allows metal materials to be used to make cages (inexpensive metals only) and crafts.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|STONE_PREF}}&lt;br /&gt;
|&lt;br /&gt;
| Allows the civilization to make use of nearby stone types. If the FURNACE_OPERATOR job is permitted, also allows ore-bearing stones to be smelted into metals.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|WOOD_WEAPONS}}&lt;br /&gt;
|&lt;br /&gt;
| The civilization can make traditionally metallic weapons such as swords and spears from wood.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|WOOD_ARMOR}}&lt;br /&gt;
|&lt;br /&gt;
| The civilization can make traditionally metallic armor such as mail shirts and helmets from wood.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|GEM_PREF}}&lt;br /&gt;
|&lt;br /&gt;
| Enables creatures of this entity to bring gems in trade.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|INDOOR_WOOD}}&lt;br /&gt;
|&lt;br /&gt;
| Allow use of subterranean wood types, such as tower-cap and fungiwood logs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|OUTDOOR_WOOD}}&lt;br /&gt;
|&lt;br /&gt;
| Allow use of outdoor wood types, such as mangrove and oak.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|GEM_SHAPE}}&lt;br /&gt;
| [[Descriptor shape token|shape]]&lt;br /&gt;
| Precious gems cut by this civilization's jewelers can be of this shape.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|STONE_SHAPE}}&lt;br /&gt;
| [[Descriptor shape token|shape]]&lt;br /&gt;
| Ordinary non-gem stones cut by this civilization's jewelers can be of this shape.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|DIVINE_MAT_CLOTHING}}&lt;br /&gt;
|&lt;br /&gt;
| Allows use of materials with [DIVINE] for clothing. Used for generated divine entities.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|DIVINE_MAT_CRAFTS}}&lt;br /&gt;
|&lt;br /&gt;
| Allows use of materials with [DIVINE] for crafts.{{verify}} Used for generated divine entities.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|DIVINE_MAT_WEAPONS}}&lt;br /&gt;
|&lt;br /&gt;
| Allows use of metals with [DIVINE] for weapons. Used for generated divine entities.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|DIVINE_MAT_ARMOR}}&lt;br /&gt;
|&lt;br /&gt;
| Allows use of metals with [DIVINE] for armor. Used for generated divine entities.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Animal definitions ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#ddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Arguments&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|ANIMAL}}&lt;br /&gt;
|&lt;br /&gt;
| Start an animal definition.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|ANIMAL_TOKEN}}&lt;br /&gt;
| [[creature token]]&lt;br /&gt;
| Select specific creature.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|ANIMAL_CASTE_TOKEN}}&lt;br /&gt;
| [[Caste|creature caste token]]&lt;br /&gt;
| Select specific creature caste (requires ANIMAL_TOKEN). Sites with animal populations will still include all castes, but only the selected ones will be used for specific roles.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|ANIMAL_CLASS}}&lt;br /&gt;
| [[Creature token#CREATURE_CLASS|creature class]]&lt;br /&gt;
| Select creature castes with this creature class (multiple uses allowed).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|ANIMAL_FORBIDDEN_CLASS}}&lt;br /&gt;
| [[Creature token#CREATURE_CLASS|creature class]]&lt;br /&gt;
| Forbid creature castes with this creature class (multiple uses allowed).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|ANIMAL_ALWAYS_PRESENT}}&lt;br /&gt;
|&lt;br /&gt;
| Animal will be present even if it does not naturally occur in the entity's terrain. All creatures, including [[demon]]s, night trolls and other generated ones will be used if no specific creature or class is selected. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* {{text anchor|ANIMAL_NEVER_MOUNT}}, {{text anchor|ANIMAL_ALWAYS_MOUNT}}&lt;br /&gt;
* {{text anchor|ANIMAL_NEVER_WAGON_PULLER}}, {{text anchor|ANIMAL_ALWAYS_WAGON_PULLER}}&lt;br /&gt;
* {{text anchor|ANIMAL_NEVER_SIEGE}}, {{text anchor|ANIMAL_ALWAYS_SIEGE}}&lt;br /&gt;
* {{text anchor|ANIMAL_NEVER_PET}}, {{text anchor|ANIMAL_ALWAYS_PET}}&lt;br /&gt;
* {{text anchor|ANIMAL_NEVER_PACK_ANIMAL}}, {{text anchor|ANIMAL_ALWAYS_PACK_ANIMAL}}&lt;br /&gt;
|&lt;br /&gt;
| Override creature usage tokens. Respectively:&lt;br /&gt;
* [[Creature token#MOUNT|MOUNT]] and [[Creature token#MOUNT_EXOTIC|MOUNT_EXOTIC]]&lt;br /&gt;
* [[Creature token#WAGON_PULLER|WAGON_PULLER]]&lt;br /&gt;
* [[Creature token#TRAINABLE_WAR|TRAINABLE_WAR]] and not [[Creature token#CAN_LEARN|CAN_LEARN]]&lt;br /&gt;
* [[Creature token#PET|PET]] and [[Creature token#PET_EXOTIC|PET_EXOTIC]]&lt;br /&gt;
* [[Creature token#PACK_ANIMAL|PACK_ANIMAL]]&lt;br /&gt;
ALWAYS overrides NEVER if a caste is matched by more than one animal definition.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tissue styling-related tokens ==&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#ddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Arguments&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|TISSUE_STYLE}}&lt;br /&gt;
| tissue style unit ID&lt;br /&gt;
| Select a tissue layer which has the ID attached using TISSUE_STYLE_UNIT token in unit raws. This allows setting further cultural style parameters for the selected tissue layer.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|TS_MAINTAIN_LENGTH}}&lt;br /&gt;
|&lt;br /&gt;
* minimum length?&lt;br /&gt;
* maximum length?&lt;br /&gt;
| Presumably sets culturally preferred tissue length for selected tissue. Needs testing.&lt;br /&gt;
Dwarves have their beards set to 100:NONE by default.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {{text anchor|TS_PREFERRED_SHAPING}}&lt;br /&gt;
| styling token&lt;br /&gt;
| Valid tokens are NEATLY_COMBED, BRAIDED, DOUBLE_BRAIDS, PONY_TAILS, CLEAN_SHAVEN and STANDARD_HAIR/BEARD/MOUSTACHE/SIDEBURNS_SHAPINGS.&lt;br /&gt;
Presumably sets culturally preferred tissue shapings for selected tissue. Needs testing.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
:''Main articles: [[Entity examples]]''&lt;br /&gt;
&lt;br /&gt;
{{Category|Modding}}&lt;br /&gt;
{{Category|Tokens}}&lt;br /&gt;
{{Category|Entities}}&lt;br /&gt;
[[ru:Entity token]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Development_arc&amp;diff=311388</id>
		<title>Development arc</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Development_arc&amp;diff=311388"/>
		<updated>2025-11-04T01:43:28Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Past */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In earlier days of ''Dwarf Fortress'', development was split up into outlined specific '''Arcs'''. That system was largely scrapped in favor of a private roadmap, where each choke point consists in a list of &amp;quot;notes&amp;quot;, i.e. features that would be necessary for a release. The notes and roadmap are kept private because they have been proven to be too time-consuming to maintain in public, as they may be subject to frequent change.&lt;br /&gt;
 &lt;br /&gt;
However, even with the arc system mostly gone, certain major releases have been given names after their main focus by [[Toady One]]. These releases both include ones already released, ones being developed, and ones far into the future. These releases, or the time periods spent working on them, are often called &amp;quot;arcs&amp;quot; by the ''Dwarf Fortress'' community.&lt;br /&gt;
&lt;br /&gt;
== Named Releases ==&lt;br /&gt;
=== Future ===&lt;br /&gt;
Next release has not officially been confirmed, though previously the following have been tentatively announced.&lt;br /&gt;
* The adventure mode site building: the return of [[Camp#Adventurer_camps|camp founding and building]].&lt;br /&gt;
* The map release: A rework of the generated spaces and regions, allowing for more dynamic-reactive worlds. It has been previously known as the &amp;quot;Big Wait&amp;quot; before myth and magic, but is planned to be released incrementally alongside smaller magical features.&lt;br /&gt;
* The villains release (second part): the second part of the villains release, finishing what was left when focus shifted to the Premium release, though possibly to be divided into multiple smaller releases.&lt;br /&gt;
==== Sources ====&lt;br /&gt;
* ''[https://store.steampowered.com/news/app/975370/view/530964346754301996 Next Steps for Dwarf Fortress + Patch 51.05 ⛏ Dwarf Fortress Dev News]'' Steam news.&lt;br /&gt;
* ''[https://www.youtube.com/watch?v=zw_-jdN8zcA Tarn Time - Dwarf Fortress Seasonal Update (Spring 2025)]'' YouTube video.&lt;br /&gt;
* ''[https://www.bay12games.com/dwarves/dev.html Dwarf Fortress Development]'' Bay 12 Games website page.&lt;br /&gt;
&lt;br /&gt;
=== Possible Future ===&lt;br /&gt;
These are things that might be future releases, but have not been officially announced.&lt;br /&gt;
* The myth and magic release: scheduled to be a very long release cycle, it will add myth generation to the game, and a [[magic]] system that will tie to the original myths. With the presence of &amp;quot;fantasy ratings&amp;quot; that alter how magically the world will behave (from only humans, to a world filled with the strangest creatures), it is expected to be a complete overhaul of the game that will dramatically alter its gameplay. [[Lua scripting]], introduced as an experimental feature in 51.06, will be used for more powerful procedural generation.&lt;br /&gt;
* The starting scenarios release: will expand on the laws, property, customs and status framework to provide reasons for your fortress to be and guidelines on how to govern it (different kinds of migrants, different standings regarding the mountainhome, different diplomatic relationships, etc.)&lt;br /&gt;
* The boats release: will feature, well, boats, with all that entails (ports, maritime trade routes, pirates, and so on). Probably multi-tile creatures as well, as mechanics on how to make boats (floating superstructures) work will be borrowed to make multi-tile creatures as well.&lt;br /&gt;
* The economy release: will piggyback on the new trade and property stuff to establish a new framework that will completely overhaul the old (and deactivated) [[economy]] system.&lt;br /&gt;
&lt;br /&gt;
=== Past ===&lt;br /&gt;
* The [[night creature]] release (0.34.01): added [[necromancer]]s, [[mummy|mummies]], [[vampire]]s, [[werebeast]]s as well as a complete [[undead]] overhaul. Other notable additions include evil [[weather]], improved human [[site]]s featuring [[catacombs]], [[sewer]]s and [[dungeon]]s, and a number of animals added to the game.&lt;br /&gt;
* The [[World activities|world activation]] release (0.40.01): allowed many [[world generation]] activities to carry on during normal gameplay, as opposed to a static world. Other notable additions include non-human [[site]]s, multi-tile trees, retireable fortresses, claimable non-player fortresses and a great variety of plants and additional animal people.&lt;br /&gt;
* The [[tavern]] release (0.42.01): added taverns and [[visitor]]s to the game. Other notable additions include fortress [[temple]]s, [[library|libraries]] (with [[scholar]]s complete with a [[knowledge]] system), a [[paper]] industry, art forms (music, dance and writing) and non-dwarven citizens.&lt;br /&gt;
* The [[artifact]] release (0.44.01): added non-player artifacts to the game. Other notable additions include the ability to send [[squad]]s of dwarves off the map (on [[mission]]s to raid sites, rescue citizens, retrive artifacts, explore ruins and so on), secret [[agent]]s, non-player [[quester]]s and improved [[kobold]] sites.&lt;br /&gt;
* The [[villain]]s release (first part) (0.47.01): added villains to the game, giving them goals and the ability to subvert other people into various corruption activities such as embezzlement, sabotage, kidnapping or assassination. Other notable additions included improved relationships (divorce and remarriage, children outside marriage, different kinds of friendships), improved religions (featuring prophets and monastic orders), trade companies, craft guilds, new sites (monasteries, bandit forts and the return of castles) as well as several new [[night creature]]s. This release was cut short, leaving out most of the [[cv:fortress mode|fortress mode]] and [[cv:adventure mode|adventure mode]] villainy, to hasten the Premium release.&lt;br /&gt;
* The Premium release (or the Steam release) (50.01): the first commercial release of ''Dwarf Fortress''.  also known as ''Dwarf Fortress Premium''. As the primary commercial platform is [https://store.steampowered.com/app/975370/Dwarf_Fortress/ Steam], it is also known as the Steam release, though it is also available on [https://kitfoxgames.itch.io/dwarf-fortress itch.io]. It included a complete overhaul of UI and graphics, bug fixes, as well as an official pixel-art [[graphics set]]. A concurrent free version is still available as ''Dwarf Fortress Classic'' (Available on 12/22/22 since version 50.04 at [https://bay12games.com/dwarves/ Bay 12 Games]), which has feature parity but not the official graphics set.&lt;br /&gt;
* The adventure release (51.01): Re-enables [[Adventurer mode]] with a new interface and additional graphics. Implements [[:Category:Myth|mythical]] features such as [[chosen]] adventurers and [[mysterious dungeon]]s.&lt;br /&gt;
* The siege release (53.01): An improvement of [[siege]]s, with a focus on more intelligent invader tactics, balanced [[trap]]s, and updated [[siege engine]]s. [https://store.steampowered.com/news/app/975370/view/530964346754301996][https://store.steampowered.com/news/app/975370/view/528732929177683220][https://store.steampowered.com/news/app/975370/view/536616130148565319][https://store.steampowered.com/news/app/975370/view/530987265859522075]&lt;br /&gt;
&lt;br /&gt;
== Arcs ==&lt;br /&gt;
''Dwarf Fortress'' development has moved away from the old large arc based strategy. The old [[Consolidated Development]] page lists 21 &amp;quot;short-term arcs&amp;quot; and 15 &amp;quot;long-term arcs&amp;quot;. Not all arcs would have taken take the same length of time to complete. Each arc also encompassed certain cores, requirements, bloats, and power goals.&lt;br /&gt;
&lt;br /&gt;
Here are a few notable ones:&lt;br /&gt;
&lt;br /&gt;
*[[Army arc]]: possibly the biggest endeavor out of all the current arcs, it was never fully completed. Version 0.31.01 introduced many army arc features.&lt;br /&gt;
*[[Caravan arc]]: another famous arc, focusing on fleshing out the caravans (Status unknown as of v0.47.05, may have been completed.)&lt;br /&gt;
*[[County arc]]&lt;br /&gt;
*[[Life cycle arc]]&lt;br /&gt;
*[[Presentation arc]]&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://www.bay12games.com/dwarves/dev_single.html ''Consolidated Development Page with Near-Term Arcs''] (outdated)&lt;br /&gt;
&lt;br /&gt;
[[Category:Arcs| ]]&lt;br /&gt;
[[Category:Game development]]&lt;br /&gt;
{{unversioned}}&lt;br /&gt;
[[ru:Development arc]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Random_creature_profile&amp;diff=311226</id>
		<title>Random creature profile</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Random_creature_profile&amp;diff=311226"/>
		<updated>2025-10-24T22:17:30Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Updated for Lua release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
{{Minorspoiler}}&lt;br /&gt;
&lt;br /&gt;
This is a list of '''random creature profiles''' ('''RCPs''') which are used by procedurally-generated creatures. RCPs typically use body parts from &amp;lt;code&amp;gt;body_rcp.txt&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;body_default.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
RCP stands for &amp;quot;[http://www.bay12forums.com/smf/index.php?topic=30026.msg831163#msg831163 random creature profile]&amp;quot;. RCP is a [[Lua scripting|scripted]] [[raw]] template that defines the basic body, tissues and body attacks of a random creature before it receives [[Lua scripting#Tweaks|further randomness]] (three-eyed, wings of stretched skin, external ribs, uniform elemental composition, etc). Most amphibian, mammalian and reptilian RCPs have humanoid variations of themselves, described as &amp;quot;in humanoid form&amp;quot; or &amp;quot;{{Tooltip|twisted into humanoid form|If evil.}}&amp;quot;. There are 243 standard RCPs and 81 humanoid variations, which brings the known total to 324.&lt;br /&gt;
&lt;br /&gt;
The RCP of a randomly generated creature can be identified by its description. Many RCPs have identical names with normal [[creature]]s (e.g. [[albatross]]), although they are entirely unrelated; other RCPs feature animals that don't exist anywhere else, such as zebras. Some RCPs have inherent abilities like flight or [[web]]bing.&lt;br /&gt;
&lt;br /&gt;
[[Night troll]]s and [[bogeyman|bogeymen]] only use the generic &amp;quot;humanoid&amp;quot; RCP, and werebeasts use the humanoid animal forms. Primates, hexapods, octopods and decapods are unique to beast-like [[experiment]]s, while armless bipeds, wyrms, and the generic &amp;quot;snake&amp;quot; and &amp;quot;worm&amp;quot; RCPs are unique to failed experiments.&lt;br /&gt;
&lt;br /&gt;
== Technical details ==&lt;br /&gt;
{{main|Lua scripting}}&lt;br /&gt;
&lt;br /&gt;
Random creature profiles can be found in ``vanilla_procedural/scripts/``. By adding data to the corresponding tables, it is possible to [[mod]] in new random creature profiles.&lt;br /&gt;
&lt;br /&gt;
This [https://nm.reddit.com/r/dwarffortress/comments/kq86x5/i_made_some_calculations_towards_determining_the/gi2l7py/ explanation from Toady], shared by Meph, goes into more detail on how procedural creature generation works:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
The ``body_rcp.txt`` file has the definitions it expects for bodyparts. (rcp stands for &amp;quot;random creature profile&amp;quot;) The main thing is that the base &amp;quot;animal&amp;quot; word is doing most of the heavy lifting in terms of making the descriptions evocative, so the rcp's don't end up mattering that much. There are little internal definitions for each animal word, about 230 of them. If we ignore that, then we're more just working with &amp;quot;feathered quadruped&amp;quot; and so forth.&lt;br /&gt;
&lt;br /&gt;
Example of a random creature profile (for the elephant type):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
random_creature_types.MAMMAL_ELEPHANT={&lt;br /&gt;
	name_string=&amp;quot;elephant&amp;quot;,&lt;br /&gt;
	tile='E',&lt;br /&gt;
	body_base=&amp;quot;QUADRUPED&amp;quot;,&lt;br /&gt;
	c_class=&amp;quot;MAMMAL&amp;quot;,&lt;br /&gt;
	must_have_tail=true,&lt;br /&gt;
	must_have_elephant_trunk=true,&lt;br /&gt;
	min_size=500000,&lt;br /&gt;
	weight=14&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So, hmm, perhaps the base and class lists are relevant here...&lt;br /&gt;
&lt;br /&gt;
* classes (``random_creature_class``): mammal, chitin exo, fleshy, amphibian, reptile, feathered reptile, avian, uniform (like 'composed of iron')&lt;br /&gt;
&lt;br /&gt;
* bases (``body_base_fun``): amorphous, insect, insect larva, spider, scorpion, ten legged, eight legged, worm, no limbs, quadruped, snake, humanoid, two legs + no arms, quadruped with front graspers (like a monkey)&lt;br /&gt;
&lt;br /&gt;
The [[Lua functions#RCP Parameters|flags]] just force certain RCP additions, and prevent others from happening. For instance, the &amp;quot;slug&amp;quot; profile has &amp;quot;cannot have shell&amp;quot; because a slug with a shell is confusing.&lt;br /&gt;
&lt;br /&gt;
Ah, here we go. The RCP are used via the &amp;quot;body tweak&amp;quot; system. A body can have a tweak from category one, a tweak from category two, and an attack tweak, respecting its profile flags.&lt;br /&gt;
&lt;br /&gt;
* Category one tweaks (``options.btc``): wings, flightless wings, tail, proboscis, trunk, shell, antennae, head horns, large mandibles, twisted into humanoid form, six legged, eight legged&lt;br /&gt;
&lt;br /&gt;
* Category two tweaks (``options.btc2``): hair, feathers, scales, exoskeleton, skin, skin/bones, no eyes, one eye, three eyes, beak missing, nose missing, external ribs, lidless eyes, skinless&lt;br /&gt;
&lt;br /&gt;
* Attack tweaks (``options.attack_tweak``): tail stinger, insect stinger, blood proboscis, fire, webs, breath (trailing flow), breath (glob), breath (undirected), secretion, poisonous blood, poisonous bite&lt;br /&gt;
&lt;br /&gt;
That material list (``random_creature_material``) looks almost right - here's the official list of variables: ash, mud, vomit, salt (powder), grime, snow, water, steam, flame, amber, coral, green glass, clear glass, crystal glass, charcoal, coke, salt (solid), ice, mineral (any), soil (any), gem (any), metal (any)&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;any&amp;quot; materials can't be &amp;quot;[[Inorganic material definition token#SPECIAL|special]]&amp;quot;, but there don't appear to be other restrictions.&lt;br /&gt;
There are various other implicit flags on these things when it comes to werebeasts etc. &amp;quot;humanoidable&amp;quot; and &amp;quot;beast&amp;quot;, for example. So all night creatures require &amp;quot;humanoidable&amp;quot; and werebeasts require &amp;quot;beast&amp;quot; on top of that. Which is why we don't have wereblobs or even wereserpents.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List ==&lt;br /&gt;
In ASCII mode, nearly all RCPs use specific uppercase or lowercase letters if the monster type does not use a fixed tile, such as '&amp;amp;' for demons. Lobsters uniquely use the '¥' sign instead. RCPs with humanoid versions are '''bolded'''. Humanoid forms use the same tile as their standard counterparts.&lt;br /&gt;
&lt;br /&gt;
Capitalization denotes body size. In most cases, anything larger than a [[dwarf]] (60,000) uses an uppercase letter. Only uppercase letters are shown here.&lt;br /&gt;
&lt;br /&gt;
In-game, the tile color is determined by the creature's external color modifier. If it does not have a color modifier and is not skinless, it uses the outermost tissue layer's default material color. If it is skinless, it is displayed in dark red (4:0:0).&lt;br /&gt;
&lt;br /&gt;
{{columns-list|colwidth=15em|&lt;br /&gt;
* {{Tile|A|7:0}} Albatross&lt;br /&gt;
* {{Tile|A|7:0}} '''Alligator'''&lt;br /&gt;
* {{Tile|A|7:0}} Anaconda&lt;br /&gt;
* {{Tile|A|7:0}} Ankylosaurid&lt;br /&gt;
* {{Tile|I|7:0}} Ant&lt;br /&gt;
* {{Tile|A|7:0}} '''Anteater'''&lt;br /&gt;
* {{Tile|A|7:0}} '''Antelope'''&lt;br /&gt;
* {{Tile|I|7:0}} Antlion larva&lt;br /&gt;
* {{Tile|A|7:0}} '''Ape'''&lt;br /&gt;
* {{Tile|I|7:0}} Aphid&lt;br /&gt;
* {{Tile|A|7:0}} '''Armadillo'''&lt;br /&gt;
* {{Tile|B|7:0}} Armless biped&lt;br /&gt;
* {{Tile|I|7:0}} Assassin bug&lt;br /&gt;
* {{Tile|B|7:0}} '''Badger'''&lt;br /&gt;
* {{Tile|B|7:0}} Bat&lt;br /&gt;
* {{Tile|B|7:0}} '''Bear'''&lt;br /&gt;
* {{Tile|B|7:0}} '''Beaver'''&lt;br /&gt;
* {{Tile|I|7:0}} Bee&lt;br /&gt;
* {{Tile|B|7:0}} '''Bison'''&lt;br /&gt;
* {{Tile|B|7:0}} Blob&lt;br /&gt;
* {{Tile|W|7:0}} Bristleworm&lt;br /&gt;
* {{Tile|B|7:0}} '''Buffalo'''&lt;br /&gt;
* {{Tile|B|7:0}} '''Bull'''&lt;br /&gt;
* {{Tile|B|7:0}} Bunting&lt;br /&gt;
* {{Tile|B|7:0}} Bushtit&lt;br /&gt;
* {{Tile|I|7:0}} Butterfly&lt;br /&gt;
* {{Tile|B|7:0}} Buzzard&lt;br /&gt;
* {{Tile|I|7:0}} Caddisfly&lt;br /&gt;
* {{Tile|C|7:0}} '''Camel'''&lt;br /&gt;
* {{Tile|C|7:0}} '''Capybara'''&lt;br /&gt;
* {{Tile|C|7:0}} Cardinal&lt;br /&gt;
* {{Tile|C|7:0}} '''Cat'''&lt;br /&gt;
* {{Tile|I|7:0}} Caterpillar&lt;br /&gt;
* {{Tile|C|7:0}} '''Cavy'''&lt;br /&gt;
* {{Tile|C|7:0}} Ceratopsid&lt;br /&gt;
* {{Tile|C|7:0}} '''Chameleon'''&lt;br /&gt;
* {{Tile|C|7:0}} Chickadee&lt;br /&gt;
* {{Tile|C|7:0}} Chicken&lt;br /&gt;
* {{Tile|C|7:0}} '''Chinchilla'''&lt;br /&gt;
* {{Tile|I|7:0}} Cicada&lt;br /&gt;
* {{Tile|C|7:0}} '''Civet'''&lt;br /&gt;
* {{Tile|I|7:0}} Click beetle&lt;br /&gt;
* {{Tile|C|7:0}} '''Coati'''&lt;br /&gt;
* {{Tile|C|7:0}} Cobra&lt;br /&gt;
* {{Tile|C|7:0}} Cockatoo&lt;br /&gt;
* {{Tile|I|7:0}} Cockroach&lt;br /&gt;
* {{Tile|C|7:0}} Condor&lt;br /&gt;
* {{Tile|C|7:0}} '''Coyote'''&lt;br /&gt;
* {{Tile|C|7:0}} Crab&lt;br /&gt;
* {{Tile|C|7:0}} Crane&lt;br /&gt;
* {{Tile|I|7:0}} Cricket&lt;br /&gt;
* {{Tile|C|7:0}} '''Crocodile'''&lt;br /&gt;
* {{Tile|C|7:0}} Crow&lt;br /&gt;
* {{Tile|C|7:0}} Cuckoo&lt;br /&gt;
* {{Tile|I|7:0}} Damselfly&lt;br /&gt;
* {{Tile|I|7:0}} Darkling beetle&lt;br /&gt;
* {{Tile|D|7:0}} Decapod&lt;br /&gt;
* {{Tile|D|7:0}} '''Deer'''&lt;br /&gt;
* {{Tile|D|7:0}} Dimetrodon&lt;br /&gt;
* {{Tile|D|7:0}} '''Donkey'''&lt;br /&gt;
* {{Tile|D|7:0}} Dove&lt;br /&gt;
* {{Tile|I|7:0}} Dragonfly&lt;br /&gt;
* {{Tile|D|7:0}} Duck&lt;br /&gt;
* {{Tile|I|7:0}} Dung beetle&lt;br /&gt;
* {{Tile|E|7:0}} Eagle&lt;br /&gt;
* {{Tile|W|7:0}} Earthworm&lt;br /&gt;
* {{Tile|I|7:0}} Earwig&lt;br /&gt;
* {{Tile|E|7:0}} '''Elephant'''&lt;br /&gt;
* {{Tile|E|7:0}} '''Elk'''&lt;br /&gt;
* {{Tile|F|7:0}} Falcon&lt;br /&gt;
* {{Tile|F|7:0}} Fantail&lt;br /&gt;
* {{Tile|F|7:0}} Finch&lt;br /&gt;
* {{Tile|I|7:0}} Firefly&lt;br /&gt;
* {{Tile|F|7:0}} Flamingo&lt;br /&gt;
* {{Tile|W|7:0}} Flat worm&lt;br /&gt;
* {{Tile|I|7:0}} Flea&lt;br /&gt;
* {{Tile|I|7:0}} Fly&lt;br /&gt;
* {{Tile|F|7:0}} Flycatcher&lt;br /&gt;
* {{Tile|F|7:0}} '''Fox'''&lt;br /&gt;
* {{Tile|F|7:0}} '''Frog'''&lt;br /&gt;
* {{Tile|F|7:0}} Fruit bat&lt;br /&gt;
* {{Tile|G|7:0}} '''Gecko'''&lt;br /&gt;
* {{Tile|G|7:0}} '''Gila monster'''&lt;br /&gt;
* {{Tile|G|7:0}} '''Giraffe'''&lt;br /&gt;
* {{Tile|G|7:0}} '''Goat'''&lt;br /&gt;
* {{Tile|G|7:0}} Goose&lt;br /&gt;
* {{Tile|G|7:0}} '''Gopher'''&lt;br /&gt;
* {{Tile|I|7:0}} Grasshopper&lt;br /&gt;
* {{Tile|G|7:0}} Grebe&lt;br /&gt;
* {{Tile|G|7:0}} Grouse&lt;br /&gt;
* {{Tile|G|7:0}} Gull&lt;br /&gt;
* {{Tile|H|7:0}} Hadrosaurid&lt;br /&gt;
* {{Tile|H|7:0}} '''Hare'''&lt;br /&gt;
* {{Tile|H|7:0}} Harrier&lt;br /&gt;
* {{Tile|H|7:0}} Hawk&lt;br /&gt;
* {{Tile|H|7:0}} '''Hedgehog'''&lt;br /&gt;
* {{Tile|H|7:0}} Hexapod&lt;br /&gt;
* {{Tile|H|7:0}} '''Hippopotamus'''&lt;br /&gt;
* {{Tile|H|7:0}} Honeyeater&lt;br /&gt;
* {{Tile|H|7:0}} Hornbill&lt;br /&gt;
* {{Tile|I|7:0}} Hornet&lt;br /&gt;
* {{Tile|H|7:0}} '''Horse'''&lt;br /&gt;
* {{Tile|H|7:0}} Humanoid&lt;br /&gt;
* {{Tile|H|7:0}} Hummingbird&lt;br /&gt;
* {{Tile|H|7:0}} '''Hyena'''&lt;br /&gt;
* {{Tile|I|7:0}} '''Iguana'''&lt;br /&gt;
* {{Tile|I|7:0}} Iguanodont&lt;br /&gt;
* {{Tile|J|7:0}} '''Jackal'''&lt;br /&gt;
* {{Tile|J|7:0}} Jay&lt;br /&gt;
* {{Tile|K|7:0}} '''Kangaroo'''&lt;br /&gt;
* {{Tile|K|7:0}} Kestrel&lt;br /&gt;
* {{Tile|K|7:0}} Kingfisher&lt;br /&gt;
* {{Tile|K|7:0}} Kinglet&lt;br /&gt;
* {{Tile|K|7:0}} Kite&lt;br /&gt;
* {{Tile|K|7:0}} '''Koala'''&lt;br /&gt;
* {{Tile|I|7:0}} Lacewing&lt;br /&gt;
* {{Tile|I|7:0}} Ladybug&lt;br /&gt;
* {{Tile|L|7:0}} Lark&lt;br /&gt;
* {{Tile|L|7:0}} Leech&lt;br /&gt;
* {{Tile|L|7:0}} '''Lemur'''&lt;br /&gt;
* {{Tile|L|7:0}} '''Lizard'''&lt;br /&gt;
* {{Tile|L|7:0}} '''Llama'''&lt;br /&gt;
* {{Tile|¥|7:0}} Lobster&lt;br /&gt;
* {{Tile|L|7:0}} Loon&lt;br /&gt;
* {{Tile|L|7:0}} '''Loris'''&lt;br /&gt;
* {{Tile|I|7:0}} Louse&lt;br /&gt;
* {{Tile|L|7:0}} Lyrebird&lt;br /&gt;
* {{Tile|I|7:0}} Maggot&lt;br /&gt;
* {{Tile|M|7:0}} Magpie&lt;br /&gt;
* {{Tile|M|7:0}} '''Mammoth'''&lt;br /&gt;
* {{Tile|I|7:0}} Mantis&lt;br /&gt;
* {{Tile|M|7:0}} '''Marmot'''&lt;br /&gt;
* {{Tile|M|7:0}} Martin&lt;br /&gt;
* {{Tile|I|7:0}} Mayfly&lt;br /&gt;
* {{Tile|M|7:0}} Mite&lt;br /&gt;
* {{Tile|M|7:0}} Mockingbird&lt;br /&gt;
* {{Tile|M|7:0}} '''Mole'''&lt;br /&gt;
* {{Tile|M|7:0}} '''Mongoose'''&lt;br /&gt;
* {{Tile|M|7:0}} '''Monitor'''&lt;br /&gt;
* {{Tile|M|7:0}} '''Monkey'''&lt;br /&gt;
* {{Tile|M|7:0}} '''Moose'''&lt;br /&gt;
* {{Tile|I|7:0}} Mosquito&lt;br /&gt;
* {{Tile|I|7:0}} Moth&lt;br /&gt;
* {{Tile|M|7:0}} '''Mouse'''&lt;br /&gt;
* {{Tile|N|7:0}} Nematode&lt;br /&gt;
* {{Tile|N|7:0}} '''Newt'''&lt;br /&gt;
* {{Tile|N|7:0}} Nightjar&lt;br /&gt;
* {{Tile|N|7:0}} Nuthatch&lt;br /&gt;
* {{Tile|O|7:0}} Octopod&lt;br /&gt;
* {{Tile|O|7:0}} '''Opossum'''&lt;br /&gt;
* {{Tile|O|7:0}} Oriole&lt;br /&gt;
* {{Tile|O|7:0}} Osprey&lt;br /&gt;
* {{Tile|O|7:0}} '''Otter'''&lt;br /&gt;
* {{Tile|O|7:0}} Owl&lt;br /&gt;
* {{Tile|O|7:0}} Oxpecker&lt;br /&gt;
* {{Tile|P|7:0}} '''Panda'''&lt;br /&gt;
* {{Tile|P|7:0}} '''Pangolin'''&lt;br /&gt;
* {{Tile|P|7:0}} '''Panther'''&lt;br /&gt;
* {{Tile|P|7:0}} Parrot&lt;br /&gt;
* {{Tile|P|7:0}} Pelican&lt;br /&gt;
* {{Tile|P|7:0}} Penguin&lt;br /&gt;
* {{Tile|P|7:0}} Petrel&lt;br /&gt;
* {{Tile|P|7:0}} Pheasant&lt;br /&gt;
* {{Tile|P|7:0}} '''Pig'''&lt;br /&gt;
* {{Tile|P|7:0}} Pigeon&lt;br /&gt;
* {{Tile|P|7:0}} '''Porcupine'''&lt;br /&gt;
* {{Tile|P|7:0}} Primate&lt;br /&gt;
* {{Tile|P|7:0}} Pterosaur&lt;br /&gt;
* {{Tile|P|7:0}} Python&lt;br /&gt;
* {{Tile|Q|7:0}} Quadruped&lt;br /&gt;
* {{Tile|Q|7:0}} Quail&lt;br /&gt;
* {{Tile|Q|7:0}} Quetzal&lt;br /&gt;
* {{Tile|R|7:0}} '''Rabbit'''&lt;br /&gt;
* {{Tile|R|7:0}} '''Raccoon'''&lt;br /&gt;
* {{Tile|R|7:0}} '''Rat'''&lt;br /&gt;
* {{Tile|R|7:0}} Rattlesnake&lt;br /&gt;
* {{Tile|R|7:0}} Raven&lt;br /&gt;
* {{Tile|R|7:0}} '''Rhinoceros'''&lt;br /&gt;
* {{Tile|I|7:0}} Rhinoceros beetle&lt;br /&gt;
* {{Tile|W|7:0}} Ribbon worm&lt;br /&gt;
* {{Tile|I|7:0}} Rove beetle&lt;br /&gt;
* {{Tile|S|7:0}} '''Salamander'''&lt;br /&gt;
* {{Tile|S|7:0}} Sauropod&lt;br /&gt;
* {{Tile|I|7:0}} Scarab beetle&lt;br /&gt;
* {{Tile|S|7:0}} Scorpion&lt;br /&gt;
* {{Tile|I|7:0}} Scorpionfly&lt;br /&gt;
* {{Tile|S|7:0}} Serpent&lt;br /&gt;
* {{Tile|S|7:0}} '''Sheep'''&lt;br /&gt;
* {{Tile|S|7:0}} '''Shrew'''&lt;br /&gt;
* {{Tile|S|7:0}} Shrike&lt;br /&gt;
* {{Tile|S|7:0}} Shrimp&lt;br /&gt;
* {{Tile|I|7:0}} Silverfish&lt;br /&gt;
* {{Tile|S|7:0}} '''Skink'''&lt;br /&gt;
* {{Tile|S|7:0}} '''Skunk'''&lt;br /&gt;
* {{Tile|S|7:0}} '''Sloth'''&lt;br /&gt;
* {{Tile|S|7:0}} Slug&lt;br /&gt;
* {{Tile|S|7:0}} Snail&lt;br /&gt;
* {{Tile|S|7:0}} Snake&lt;br /&gt;
* {{Tile|I|7:0}} Snakefly&lt;br /&gt;
* {{Tile|S|7:0}} Sparrow&lt;br /&gt;
* {{Tile|S|7:0}} Spider&lt;br /&gt;
* {{Tile|S|7:0}} '''Squirrel'''&lt;br /&gt;
* {{Tile|I|7:0}} Stag beetle&lt;br /&gt;
* {{Tile|S|7:0}} Starling&lt;br /&gt;
* {{Tile|S|7:0}} Stegosaurid&lt;br /&gt;
* {{Tile|I|7:0}} Stick insect&lt;br /&gt;
* {{Tile|I|7:0}} Stonefly&lt;br /&gt;
* {{Tile|S|7:0}} Stork&lt;br /&gt;
* {{Tile|S|7:0}} Swallow&lt;br /&gt;
* {{Tile|S|7:0}} Swan&lt;br /&gt;
* {{Tile|S|7:0}} Swift&lt;br /&gt;
* {{Tile|T|7:0}} Tanager&lt;br /&gt;
* {{Tile|T|7:0}} '''Tapir'''&lt;br /&gt;
* {{Tile|S|7:0}} Tarantula&lt;br /&gt;
* {{Tile|I|7:0}} Termite&lt;br /&gt;
* {{Tile|T|7:0}} Theropod&lt;br /&gt;
* {{Tile|T|7:0}} Thornbill&lt;br /&gt;
* {{Tile|I|7:0}} Thrips&lt;br /&gt;
* {{Tile|T|7:0}} Thrush&lt;br /&gt;
* {{Tile|T|7:0}} Tick&lt;br /&gt;
* {{Tile|I|7:0}} Tiger beetle&lt;br /&gt;
* {{Tile|T|7:0}} Titmouse&lt;br /&gt;
* {{Tile|T|7:0}} '''Toad'''&lt;br /&gt;
* {{Tile|T|7:0}} '''Tortoise'''&lt;br /&gt;
* {{Tile|T|7:0}} Toucan&lt;br /&gt;
* {{Tile|T|7:0}} Turkey&lt;br /&gt;
* {{Tile|T|7:0}} '''Turtle'''&lt;br /&gt;
* {{Tile|V|7:0}} Viper&lt;br /&gt;
* {{Tile|V|7:0}} Vulture&lt;br /&gt;
* {{Tile|W|7:0}} Walrus&lt;br /&gt;
* {{Tile|W|7:0}} Warbler&lt;br /&gt;
* {{Tile|W|7:0}} '''Warthog'''&lt;br /&gt;
* {{Tile|I|7:0}} Wasp&lt;br /&gt;
* {{Tile|W|7:0}} Waxwing&lt;br /&gt;
* {{Tile|W|7:0}} '''Weasel'''&lt;br /&gt;
* {{Tile|I|7:0}} Weevil&lt;br /&gt;
* {{Tile|W|7:0}} '''Wolf'''&lt;br /&gt;
* {{Tile|W|7:0}} '''Wombat'''&lt;br /&gt;
* {{Tile|W|7:0}} Woodpecker&lt;br /&gt;
* {{Tile|W|7:0}} Worm&lt;br /&gt;
* {{Tile|W|7:0}} Wren&lt;br /&gt;
* {{Tile|W|7:0}} Wyrm&lt;br /&gt;
* {{Tile|Z|7:0}} '''Zebra'''&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
All random creatures except [[werebeast]]s use [[graphics|graphic]] sprites found in &amp;lt;code&amp;gt;beasts.png&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;beasts_small.png&amp;lt;/code&amp;gt;. There are 19 primary body sprites (6 are alternate-legged variations) with additional sprite layers representing secondary body parts. Several RCPs have one or more secondary sprite layers by default. A few RCPs, like quadrupeds, have more than one body sprite to randomly select from.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
NOTE: RCPs may look out of place. be sure to verify before changing. last updated 0.50.09&lt;br /&gt;
&lt;br /&gt;
to verify, create a world w/ compressed saves set to NO (in settings, game tab), go to its save folder and open 'world.dat' w/ a text editor that has a good find/search tool, e.g. Notepad++&lt;br /&gt;
	recommend large worlds w/ min history, no civs, no vamps/secrets/interactions/weather, &amp;amp; max num of procgen beasts (titans, demons, night creatures, etc.)&lt;br /&gt;
	for experiments, use basic options w/ small world, max hist, max civ, min beasts &amp;amp; min savage&lt;br /&gt;
&lt;br /&gt;
example to look for:&lt;br /&gt;
&lt;br /&gt;
	[PROCEDURAL_CREATURE_GRAPHICS:DEFAULT]&lt;br /&gt;
	[PCG_LAYERING:BEAST_QUADRUPED_BULKY_TAIL_ONE]&lt;br /&gt;
	[PCG_LAYERING:BEAST_QUADRUPED_BULKY]&lt;br /&gt;
	[PCG_LAYERING:BEAST_QUADRUPED_BULKY_HORNS]&lt;br /&gt;
	[PCG_LAYERING:BEAST_QUADRUPED_BULKY_EYE_TWO]&lt;br /&gt;
&lt;br /&gt;
	above: chinchilla with four broad horns (random body modifications are explicitly mentioned in the creature's description)&lt;br /&gt;
	compare RCPs and eliminate random tokens, and you're left w/ 'default' sprite tokens&lt;br /&gt;
	&lt;br /&gt;
when creating/editing images: first token is the bottommost layer, last token is topmost layer (eyes layered above body, etc.)&lt;br /&gt;
note that elementals don't have eyes&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|+ RCP sprites, ignoring random body modifications, large sprites only&lt;br /&gt;
! RCPs&lt;br /&gt;
! Sprite&lt;br /&gt;
! Secondary graphic token(s)&lt;br /&gt;
! Primary graphic token&lt;br /&gt;
|-&lt;br /&gt;
| albatross, armless biped, bat, blob, bunting, bushtit, buzzard, cardinal, chickadee, chicken, cockatoo, condor, crane, crow, cuckoo, dove, duck, eagle, falcon, fantail, finch, flamingo, flycatcher, fruit bat, goose, grebe, grouse, gull, harrier, hawk, honeyeater, hornbill, hummingbird, jay, kestrel, kingfisher, kinglet, kite, lark, loon, lyrebird, magpie, martin, mockingbird, nightjar, nuthatch, oriole, osprey, owl, oxpecker, parrot, pelican, penguin, petrel, pheasant, pigeon, pterosaur, quail, quetzal, raven, shrike, sparrow, starling, stork, swallow, swan, swift, tanager, thornbill, thrush, titmouse, toucan, turkey, vulture, warbler, waxwing, woodpecker, wren&lt;br /&gt;
| [[File:Beast amorphous.png]]&lt;br /&gt;
| ''none''&lt;br /&gt;
| BEAST_AMORPHOUS&lt;br /&gt;
|-&lt;br /&gt;
| snake&lt;br /&gt;
| [[File:Beast snake.png]]&lt;br /&gt;
| ''none''&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | BEAST_SNAKE&lt;br /&gt;
|-&lt;br /&gt;
| anaconda, cobra, python, rattlesnake, serpent, viper&lt;br /&gt;
| [[File:Beast snake, two eyes.png]]&lt;br /&gt;
| BEAST_SNAKE_EYE_TWO&lt;br /&gt;
|-&lt;br /&gt;
| bristleworm, earthworm, flat worm, leech, nematode, ribbon worm, slug, worm&lt;br /&gt;
| [[File:Beast worm long.png]]&lt;br /&gt;
| ''none''&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | BEAST_WORM_LONG&lt;br /&gt;
|-&lt;br /&gt;
| snail&lt;br /&gt;
| [[File:Beast worm long, shell.png]]&lt;br /&gt;
| BEAST_WORM_LONG_SHELL_BACK&lt;br /&gt;
|-&lt;br /&gt;
| caterpillar, maggot&lt;br /&gt;
| [[File:Beast worm short, two eyes.png]]&lt;br /&gt;
| BEAST_WORM_SHORT_EYE_TWO&lt;br /&gt;
| BEAST_WORM_SHORT&lt;br /&gt;
|-&lt;br /&gt;
| hexapod&lt;br /&gt;
| [[File:Beast insect.png]]&lt;br /&gt;
| ''none''&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; | BEAST_INSECT&lt;br /&gt;
|-&lt;br /&gt;
| antlion larva, flea, louse&lt;br /&gt;
| [[File:Beast insect, two eyes.png]]&lt;br /&gt;
| BEAST_INSECT_EYE_TWO&lt;br /&gt;
|-&lt;br /&gt;
| ant, aphid, assassin bug, click beetle, cockroach, cricket, darkling beetle, dung beetle, earwig, grasshopper, ladybug, mantis, rove beetle, scarab beetle, silverfish, stick insect, stonefly, termite, thrips, tiger beetle, weevil&lt;br /&gt;
| [[File:Beast insect, two eyes, antennae.png]]&lt;br /&gt;
| BEAST_INSECT_EYE_TWO, BEAST_INSECT_ANTENNAE&lt;br /&gt;
|-&lt;br /&gt;
| stag beetle&lt;br /&gt;
| [[File:Beast insect, mandibles, two eyes, antennae.png]]&lt;br /&gt;
| BEAST_INSECT_MANDIBLES, BEAST_INSECT_EYE_TWO, BEAST_INSECT_ANTENNAE&lt;br /&gt;
|-&lt;br /&gt;
| rhinoceros beetle&lt;br /&gt;
| [[File:Beast insect, horns, two eyes, antennae.png]]&lt;br /&gt;
| BEAST_INSECT_HORNS, BEAST_INSECT_EYE_TWO, BEAST_INSECT_ANTENNAE&lt;br /&gt;
|-&lt;br /&gt;
| cicada, damselfly, dragonfly, fly&lt;br /&gt;
| [[File:Beast insect, lacy wings, two eyes.png]]&lt;br /&gt;
| BEAST_INSECT_WINGS_LACY_BACK, BEAST_INSECT_EYE_TWO&lt;br /&gt;
|-&lt;br /&gt;
| bee, butterfly, caddisfly, firefly, hornet, lacewing, mayfly, moth, scorpionfly, snakefly, wasp&lt;br /&gt;
| [[File:Beast insect, lacy wings, two eyes, antennae.png]]&lt;br /&gt;
| BEAST_INSECT_WINGS_LACY_BACK, BEAST_INSECT_EYE_TWO, BEAST_INSECT_ANTENNAE&lt;br /&gt;
|-&lt;br /&gt;
| mosquito&lt;br /&gt;
| [[File:Beast insect, lacy wings, two eyes, proboscis, antennae.png]]&lt;br /&gt;
| BEAST_INSECT_WINGS_LACY_BACK, BEAST_INSECT_EYE_TWO, BEAST_INSECT_PROBOSCIS, BEAST_INSECT_ANTENNAE&lt;br /&gt;
|-&lt;br /&gt;
| decapod, octopod&lt;br /&gt;
| [[File:Beast spider.png]]&lt;br /&gt;
| ''none''&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | BEAST_SPIDER&lt;br /&gt;
|-&lt;br /&gt;
| crab, lobster, mite, spider, tarantula, tick&lt;br /&gt;
| [[File:Beast spider, two eyes.png]]&lt;br /&gt;
| BEAST_SPIDER_EYE_TWO&lt;br /&gt;
|-&lt;br /&gt;
| shrimp&lt;br /&gt;
| [[File:Beast spider, two eyes, antennae.png]]&lt;br /&gt;
| BEAST_SPIDER_EYE_TWO, BEAST_SPIDER_EYE_ANTENNAE&lt;br /&gt;
|-&lt;br /&gt;
| scorpion&lt;br /&gt;
| [[File:Beast scorpion, two eyes, one tail.png]]&lt;br /&gt;
| BEAST_SCORPION_EYE_TWO, BEAST_SCORPION_TAIL_ONE&lt;br /&gt;
| BEAST_SCORPION&lt;br /&gt;
|-&lt;br /&gt;
| wyrm&lt;br /&gt;
| [[File:Beast bipedal dinosaur.png]]&lt;br /&gt;
| ''none''&lt;br /&gt;
| BEAST_BIPEDAL_DINOSAUR&lt;br /&gt;
|-&lt;br /&gt;
| humanoid*&lt;br /&gt;
| [[File:Beast humanoid.png]]&lt;br /&gt;
| ''none''&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | BEAST_HUMANOID&lt;br /&gt;
|-&lt;br /&gt;
| humanoid*&lt;br /&gt;
&lt;br /&gt;
''(humanoid forms)'': ape, capybara, cavy, frog, koala, toad, wombat&lt;br /&gt;
| [[File:Beast humanoid, two eyes.png]]&lt;br /&gt;
| BEAST_HUMANOID_EYE_TWO&lt;br /&gt;
|-&lt;br /&gt;
| iguanodont, theropod&lt;br /&gt;
&lt;br /&gt;
''(humanoid forms)'': alligator, anteater, antelope, armadillo, badger, bear, beaver, bison, buffalo, bull, camel, cat, chameleon, chinchilla, civet, coati, coyote, crocodile, deer, donkey, elk, fox, gecko, gila monster, giraffe, goat, gopher, hare, hedgehog, hippopotamus, horse, hyena, iguana, jackal, kangaroo, lemur, lizard, llama, loris, marmot, mole, mongoose, monitor, monkey, moose, mouse, newt, opossum, otter, panda, pangolin, panther, pig, porcupine, rabbit, raccoon, rat, rhinoceros, salamander, sheep, shrew, skink, skunk, sloth, squirrel, tapir, warthog, weasel, wolf, zebra&lt;br /&gt;
| [[File:Beast humanoid, two eyes, one tail.png]]&lt;br /&gt;
| BEAST_HUMANOID_EYE_TWO, BEAST_HUMANOID_TAIL_ONE&lt;br /&gt;
|-&lt;br /&gt;
| ''(humanoid forms)'': elephant, mammoth&lt;br /&gt;
| [[File:Beast humanoid, two eyes, one tail, trunk.png]]&lt;br /&gt;
| BEAST_HUMANOID_EYE_TWO, BEAST_HUMANOID_TAIL_ONE, BEAST_HUMANOID_TRUNK&lt;br /&gt;
|-&lt;br /&gt;
| ''(humanoid forms)'': tortoise, turtle&lt;br /&gt;
| [[File:Beast humanoid, two eyes, shell.png]]&lt;br /&gt;
| BEAST_HUMANOID_EYE_TWO, BEAST_HUMANOID_SHELL_BACK&lt;br /&gt;
|-&lt;br /&gt;
| ape&lt;br /&gt;
| [[File:Beast front grasp, two eyes.png]]&lt;br /&gt;
| BEAST_FRONT_GRASP_EYE_TWO&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | BEAST_FRONT_GRASP&lt;br /&gt;
|-&lt;br /&gt;
| monkey&lt;br /&gt;
| [[File:Beast front grasp, two eyes, one tail.png]]&lt;br /&gt;
| BEAST_FRONT_GRASP_EYE_TWO, BEAST_FRONT_GRASP_TAIL_ONE&lt;br /&gt;
|-&lt;br /&gt;
| primate, quadruped&lt;br /&gt;
| [[File:Beast quadruped bulky.png]]&lt;br /&gt;
| ''none''&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | BEAST_QUADRUPED_BULKY&lt;br /&gt;
|-&lt;br /&gt;
| capybara, cavy, koala, toad, wombat&lt;br /&gt;
| [[File:Beast quadruped bulky, two eyes.png]]&lt;br /&gt;
| BEAST_QUADRUPED_BULKY_EYE_TWO&lt;br /&gt;
|-&lt;br /&gt;
| ankylosaurid, armadillo, bear, beaver, bison, buffalo, bull, camel, ceratopsid, chinchilla, goat, gopher, hadrosaurid, hedgehog, hippopotamus, llama, loris, marmot, mole, panda, pig, porcupine, rhinoceros, sauropod, sheep, sloth, stegosaurid, tapir, warthog&lt;br /&gt;
| [[File:Beast quadruped bulky, two eyes, one tail.png]]&lt;br /&gt;
| BEAST_QUADRUPED_BULKY_EYE_TWO, BEAST_QUADRUPED_BULKY_TAIL_ONE&lt;br /&gt;
|-&lt;br /&gt;
| elephant, mammoth&lt;br /&gt;
| [[File:Beast quadruped bulky, two eyes, one tail, trunk.png]]&lt;br /&gt;
| BEAST_QUADRUPED_BULKY_EYE_TWO, BEAST_QUADRUPED_BULKY_TAIL_ONE, BEAST_QUADRUPED_BULKY_TRUNK&lt;br /&gt;
|-&lt;br /&gt;
| tortoise, turtle&lt;br /&gt;
| [[File:Beast quadruped bulky, two eyes, shell.png]]&lt;br /&gt;
| BEAST_QUADRUPED_BULKY_EYE_TWO, BEAST_QUADRUPED_BULKY_SHELL_FRONT&lt;br /&gt;
|-&lt;br /&gt;
| primate, quadruped&lt;br /&gt;
| [[File:Beast quadruped slinky.png]]&lt;br /&gt;
| ''none''&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | BEAST_QUADRUPED_SLINKY&lt;br /&gt;
|-&lt;br /&gt;
| frog&lt;br /&gt;
| [[File:Beast quadruped slinky, two eyes.png]]&lt;br /&gt;
| BEAST_QUADRUPED_SLINKY_EYE_TWO&lt;br /&gt;
|-&lt;br /&gt;
| alligator, anteater, antelope, badger, cat, chameleon, civet, coati, coyote, crocodile, deer, dimetrodon, donkey, elk, fox, gecko, gila monster, giraffe, hare, horse, hyena, iguana, jackal, kangaroo, lemur, lizard, mongoose, monitor, moose, mouse, newt, opossum, otter, pangolin, panther, rabbit, raccoon, rat, salamander, shrew, skink, skunk, squirrel, weasel, wolf, zebra&lt;br /&gt;
| [[File:Beast quadruped slinky, two eyes, one tail.png]]&lt;br /&gt;
| BEAST_QUADRUPED_SLINKY_EYE_TWO, BEAST_QUADRUPED_SLINKY_TAIL_ONE&lt;br /&gt;
|-&lt;br /&gt;
| walrus&lt;br /&gt;
| [[File:Beast walrus, two eyes.png]]&lt;br /&gt;
| BEAST_WALRUS_EYE_TWO&lt;br /&gt;
| BEAST_WALRUS&lt;br /&gt;
|}&lt;br /&gt;
:'''*''' The (generic) humanoid RCP has two or no eyes (by default) depending on the type of beast/monster:&lt;br /&gt;
::2 eyes: bogeymen, experiments (intelligent humanoids), night trolls&lt;br /&gt;
::0 eyes: experiments (amalgamations), nightmares, everything else (which are elementals)&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Large sprites&amp;quot; heights=&amp;quot;64px&amp;quot;&amp;gt;&lt;br /&gt;
Beast amorphous.png|Amorphous sprite&lt;br /&gt;
Beast snake.png|Snake sprite&lt;br /&gt;
Beast worm long.png|Long worm sprite&lt;br /&gt;
Beast worm short.png|Short worm sprite&lt;br /&gt;
Beast insect.png|Insect sprite&lt;br /&gt;
Beast spider.png|Spider sprite&lt;br /&gt;
Beast scorpion.png|Scorpion sprite&lt;br /&gt;
Beast scorpion, one tail.png|Scorpion sprite (with one tail)&lt;br /&gt;
Beast bipedal dinosaur.png|Bipedal dinosaur sprite&lt;br /&gt;
Beast humanoid.png|Humanoid sprite&lt;br /&gt;
Beast front grasp.png|Front grasp sprite&lt;br /&gt;
Beast front grasp hex.png|Front grasp sprite (six-legged)&lt;br /&gt;
Beast front grasp oct.png|Front grasp sprite (eight-legged)&lt;br /&gt;
Beast quadruped bulky.png|Bulky quadruped sprite&lt;br /&gt;
Beast quadruped bulky hex.png|Bulky quadruped sprite (six-legged)&lt;br /&gt;
Beast quadruped bulky oct.png|Bulky quadruped sprite (eight-legged)&lt;br /&gt;
Beast quadruped slinky.png|Slinky quadruped sprite&lt;br /&gt;
Beast quadruped slinky hex.png|Slinky quadruped sprite (six-legged)&lt;br /&gt;
Beast quadruped slinky oct.png|Slinky quadruped sprite (eight-legged)&lt;br /&gt;
Beast walrus.png|Walrus sprite&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Small sprites&amp;quot; heights=&amp;quot;32px&amp;quot;&amp;gt;&lt;br /&gt;
Beast small amorphous.png|Small amorphous sprite&lt;br /&gt;
Beast small snake.png|Small snake sprite&lt;br /&gt;
Beast small worm long.png|Small long worm sprite&lt;br /&gt;
Beast small worm short.png|Small short worm sprite&lt;br /&gt;
Beast small insect.png|Small insect sprite&lt;br /&gt;
Beast small spider.png|Small spider sprite&lt;br /&gt;
Beast small scorpion.png|Small scorpion sprite&lt;br /&gt;
Beast small scorpion, one tail.png|Small scorpion sprite (with one tail)&lt;br /&gt;
Beast small bipedal dinosaur.png|Small bipedal dinosaur sprite&lt;br /&gt;
Beast small humanoid.png|Small humanoid sprite&lt;br /&gt;
Beast small front grasp.png|Small front grasp sprite&lt;br /&gt;
Beast small front grasp hex.png|Small front grasp sprite (six-legged)&lt;br /&gt;
Beast small front grasp oct.png|Small front grasp sprite (eight-legged)&lt;br /&gt;
Beast small quadruped bulky.png|Small bulky quadruped sprite&lt;br /&gt;
Beast small quadruped bulky hex.png|Small bulky quadruped sprite (six-legged)&lt;br /&gt;
Beast small quadruped bulky oct.png|Small bulky quadruped sprite (eight-legged)&lt;br /&gt;
Beast small quadruped slinky.png|Small slinky quadruped sprite&lt;br /&gt;
Beast small quadruped slinky hex.png|Small slinky quadruped sprite (six-legged)&lt;br /&gt;
Beast small quadruped slinky oct.png|Small slinky quadruped sprite (eight-legged)&lt;br /&gt;
Beast small walrus.png|Small walrus sprite&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Creatures}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Creatures]]&lt;br /&gt;
[[Category:Lua]]&lt;br /&gt;
[[ru:Random creature profile]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Lua_scripting&amp;diff=311225</id>
		<title>Lua scripting</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Lua_scripting&amp;diff=311225"/>
		<updated>2025-10-24T22:05:32Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Random Creature Profiles */ Main article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
[[File:Lua-Logo.svg|100px|right]]&lt;br /&gt;
{{Modding}}&lt;br /&gt;
&lt;br /&gt;
''This article is about procedural raw generation. Information on [[Utility:DFHack]] scripting can be found at https://docs.dfhack.org/en/stable/.''&lt;br /&gt;
&lt;br /&gt;
'''[https://www.lua.org/ Lua] scripting''' is a feature of Dwarf Fortress's [[modding]] system. It is used to write definitions for procedurally-generated objects, with the stated goal of &amp;quot;supporting future [[Magic|magical]] endeavors.&amp;quot; [https://www.youtube.com/watch?v=Z9rzhFwgfUk]&lt;br /&gt;
&lt;br /&gt;
It was added as an experimental feature in version 51.06 [https://store.steampowered.com/news/app/975370/view/547854206358257941?l=english] and incorporated into the 52.01 release. [https://www.bay12games.com/dwarves/index.html#2025-07-21][https://store.steampowered.com/news/app/975370/view/547867141501617961]&lt;br /&gt;
&lt;br /&gt;
Inorganic [[Material definition token|materials]], [[Language token|languages]], [[Creature token|creatures]], [[Interaction token|interactions]],  [[Item token|items]] (currently excluding instruments), [[reaction]]s, [[Entity token|entities]], and [[Plant token|plants]] are open to this system.&lt;br /&gt;
&lt;br /&gt;
Scripts are loaded from a mod's ``scripts/init.lua`` file, and can ``require()`` other files.&lt;br /&gt;
&lt;br /&gt;
==Videos==&lt;br /&gt;
Announcement video:&lt;br /&gt;
*[https://www.youtube.com/watch?v=Z9rzhFwgfUk More powerful mods coming to Dwarf Fortress via Lua]&lt;br /&gt;
Tutorials:&lt;br /&gt;
*[https://youtu.be/QMxgsUogIIk Generating raws with Lua]&lt;br /&gt;
*[https://youtu.be/DEBTWMlUQzA Random creatures with Lua]&lt;br /&gt;
&lt;br /&gt;
==Structure==&lt;br /&gt;
&lt;br /&gt;
As of right now, Lua scripting is confined to generation of procedural objects. This is done by running the ``generate()`` function, a global function loaded in ``'''data/init/generators.lua'''``. It runs unit tests, preprocess, do_once (or do_once_early), materials, items, languages, creatures, interactions, entities and postprocessing, in that order.&lt;br /&gt;
&lt;br /&gt;
When random objects are first generated, the game populates two global tables, ``world`` and ``random_object_parameters``.&lt;br /&gt;
&lt;br /&gt;
* ``world`` contains info about the world currently being generated (or, in the future, played in). It contains [[World token|worldgen parameters]], raw object definitions, and a few other fields.&lt;br /&gt;
&lt;br /&gt;
* ``random_object_parameters`` contains what the game expects to be generated in the current generation call.&lt;br /&gt;
&lt;br /&gt;
You can print the contents of these tables to the log to see what data is available. The [https://steamcommunity.com/sharedfiles/filedetails/?id=3492961907 Runtime Dataminer] mod includes a script to read these tables.&lt;br /&gt;
&lt;br /&gt;
DFHack also has a version of [https://github.com/DFHack/df-structures/blob/master/df.world.xml df.world], though these tables are not necessarily equivalent. Headers and paths may differ, even when referencing the same data.&lt;br /&gt;
&lt;br /&gt;
===Debugging===&lt;br /&gt;
You can set the global ``debug_level`` variable to print some debug info. It's a number, but what numbers are there are completely arbitrary. If it's &amp;gt;0, it'll run unit tests; if it's &amp;gt;=0.5, it'll display what step of generation it's at, at every step. You can use ``get_debug_logger(x)`` to return a function that logs to ``lualog.txt`` if the debug level is at least ``x``.&lt;br /&gt;
&lt;br /&gt;
Unit tests are functions that return a table, containing ``good``, which, if truthy, is considered passed, and ``info``, which is a string that contains information on said pass or fail. These unit tests should have no side effects, i.e. they shouldn't muck with global state any. Here's an example unit test shipped with the generators:&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=unittests.get_random_creature&lt;br /&gt;
|script=&lt;br /&gt;
    get_random_creature=function()&lt;br /&gt;
        local cr=world.creature.get_random_creature()&lt;br /&gt;
        local res={}&lt;br /&gt;
        res.good=type(cr)=='table'&lt;br /&gt;
        res.info=res.good and (&amp;quot;Got a random creature: &amp;quot;..cr.token) or &amp;quot;No random creature could be gotten, even at most permissive!&amp;quot;&lt;br /&gt;
        return res&lt;br /&gt;
    end}}&lt;br /&gt;
&lt;br /&gt;
===Object generation===&lt;br /&gt;
When ``generate()`` is called, it uses ``random_object_parameters`` to determine what is generated.&lt;br /&gt;
&lt;br /&gt;
Before the world map is generated, ``random_object_parameters.pre_gen_randoms`` is true for one generation. Once the map is finalized, ``random_object_parameters.main_world_randoms`` is true for one generation when &amp;quot;generating prehistory&amp;quot;; most of the initial randomization takes place here. Further generation calls, such as for [[experiment]]s being created, do not set these variables to true.&lt;br /&gt;
&lt;br /&gt;
If you're registering an entirely new procedural object type, you can generate it during these steps. The game includes a number of tables which you can add functions to, the game runs each function in them when generating raws.&lt;br /&gt;
&lt;br /&gt;
*``do_once`` only runs in the &amp;quot;main world randoms&amp;quot; generation call and is the safest option for adding new objects.&lt;br /&gt;
*``do_once_early`` runs in the &amp;quot;pre-gen randoms&amp;quot; generation call, and can be used for objects that need to be placed in the map like minerals or surface animal populations.&lt;br /&gt;
*``preprocess`` runs before either of the former tables, but is run during every ``generate()`` call and you cannot predict when this happens.&lt;br /&gt;
*``postprocess`` runs at the end of each ``generate()`` call, after the other steps complete.&lt;br /&gt;
&lt;br /&gt;
You can see examples of registering objects through these steps on the [[Lua script examples]] page.&lt;br /&gt;
&lt;br /&gt;
If you want to use ``preprocess`` or ``postprocess`` to generate raws, you can check if it's the right generation step by reading the aforementioned ``random_object_parameters``. The [[Lua script examples#Adamantine alloys|&amp;quot;adamantine alloys&amp;quot; example]] includes such a check.&lt;br /&gt;
&lt;br /&gt;
You can also mess around with ``random_object_parameters`` in preprocessing. Vanilla demon types are assigned here, and you can change the proportions as an end user if you want.&lt;br /&gt;
&lt;br /&gt;
====Generation from list====&lt;br /&gt;
After ``preprocess`` and ``do_once``, the game then generates all of the individual objects that the ``random_object_parameters`` expects. The general procedure for this is that the game calls the ``generate_from_list()`` function on a table of functions, which calls every function and picks one of the resulting values at random depending on their weights.&lt;br /&gt;
&lt;br /&gt;
For example, the ``interactions.secrets`` table contains one entry, that for necromancers; it returns a table containing three entries: ``{raws=tbl,weight=1,spheres=spheres}``.&lt;br /&gt;
&lt;br /&gt;
*``raws`` is the full raw text of the interaction.&lt;br /&gt;
*``weight`` is the random weight for the interaction, i.e. if you add another function which returns a table containing ``weight=2``, that will be twice as likely as necromancers.&lt;br /&gt;
*``spheres`` is some extra data the generator might be able to use. It actually doesn't, at this point, but one could override ``generate_random_interactions()`` with their own version that takes into account ``spheres`` and, say, tries to evenly distribute generated secrets over available spheres. (This didn't end up in vanilla primarily out of concerns of bug-like behavior cropping up).&lt;br /&gt;
&lt;br /&gt;
====Languages====&lt;br /&gt;
Languages are special, though; as can be seen in the [[Divine language/script]] or [[Lua script examples#Identity language|identity language]]. The ``languages`` table just expects to return table containing translations, e.g. ``tbl[&amp;quot;ABBEY&amp;quot;]=&amp;quot;abbey&amp;quot;``. If you want to procedurally add words or symbols (and yes, these are both doable), you can do so with ``raws.register_languages()`` in another function table.&lt;br /&gt;
&lt;br /&gt;
==Creatures==&lt;br /&gt;
Creatures have a lot more to them than other procedural objects. Forgotten beasts are, in a sense, the simplest of them:&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=creatures.fb.default&lt;br /&gt;
|script=&lt;br /&gt;
creatures.fb.default=function(layer_type,tok)&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    local options={&lt;br /&gt;
        strong_attack_tweak=true,&lt;br /&gt;
        spheres={CAVERNS=true},&lt;br /&gt;
        is_evil=true,&lt;br /&gt;
        sickness_name=&amp;quot;beast sickness&amp;quot;,&lt;br /&gt;
        token=tok&lt;br /&gt;
    }&lt;br /&gt;
    tbl=split_to_lines(tbl,[[&lt;br /&gt;
    [FEATURE_BEAST]&lt;br /&gt;
    [ATTACK_TRIGGER:0:0:2]&lt;br /&gt;
    [NAME:forgotten beast:forgotten beasts:forgotten beast]&lt;br /&gt;
    [CASTE_NAME:forgotten beast:forgotten beasts:forgotten beast]&lt;br /&gt;
    [NO_GENDER]&lt;br /&gt;
    [CARNIVORE]&lt;br /&gt;
    [DIFFICULTY:10]&lt;br /&gt;
&lt;br /&gt;
    [NATURAL_SKILL:WRESTLING:6]&lt;br /&gt;
    [NATURAL_SKILL:BITE:6]&lt;br /&gt;
    [NATURAL_SKILL:GRASP_STRIKE:6]&lt;br /&gt;
    [NATURAL_SKILL:STANCE_STRIKE:6]&lt;br /&gt;
    [NATURAL_SKILL:MELEE_COMBAT:6]&lt;br /&gt;
    [NATURAL_SKILL:DODGING:6]&lt;br /&gt;
    [NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&lt;br /&gt;
    [LARGE_PREDATOR]&lt;br /&gt;
    ]])&lt;br /&gt;
    add_regular_tokens(tbl,options)&lt;br /&gt;
    tbl[#tbl+1]=layer_type==0 and &amp;quot;[BIOME:SUBTERRANEAN_WATER]&amp;quot; or &amp;quot;[BIOME:SUBTERRANEAN_CHASM]&amp;quot;&lt;br /&gt;
    if layer_type==0 then options.spheres.WATER=true end&lt;br /&gt;
    options.spheres[pick_random(evil_spheres)]=true&lt;br /&gt;
    options.do_water=layer_type==0&lt;br /&gt;
    populate_sphere_info(tbl,options)&lt;br /&gt;
    local rcp=get_random_creature_profile(options)&lt;br /&gt;
    add_body_size(tbl,math.max(10000000,rcp.min_size),options)&lt;br /&gt;
    tbl[#tbl+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
    build_procgen_creature(rcp,tbl,options)&lt;br /&gt;
    return {creature=tbl,weight=1}&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
This is a lot of info! First, you build an ``options`` table; it's possible to make a full [[Lua functions#Options|list of options used in vanilla]], but other mods can also use arbitrary options. It then adds all the usual special-to-forgotten-beast tokens, in a big string, followed by calling ``add_regular_tokens(tbl,options)``, which adds some stuff common to all (vanilla) procedural creatures, based on the options given.&lt;br /&gt;
&lt;br /&gt;
It sets ``do_water`` and the WATER [[sphere]] if the FB is in a water [[cavern]], an option which whitelists certain random creature profiles, as well as adding a random evil sphere.&lt;br /&gt;
&lt;br /&gt;
``populate_sphere_info()`` is similar to ``add_regular_tokens()``; it adds all of the spheres in ``options.spheres`` to the creature, using the {{token|SPHERE}} token, then, if certain options are set, does more.&lt;br /&gt;
&lt;br /&gt;
Then, it gets a random creature profile using ``get_random_creature_profile()`` and the options, uses ``add_body_size()`` to set the BODY_SIZE tokens and attendant things that come with it, sets the creature tile, and finally runs the Big Function, ``build_procgen_creature()``, which creates the description, body, tissues, et cetera.&lt;br /&gt;
&lt;br /&gt;
===Random Creature Profiles===&lt;br /&gt;
{{main|Random creature profile}}&lt;br /&gt;
A random creature profile is a type of &amp;quot;thing&amp;quot; a generated creature can be. For example:&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=random_creature_types.GENERAL_QUADRUPED&lt;br /&gt;
|script=&lt;br /&gt;
	GENERAL_QUADRUPED={&lt;br /&gt;
		name_string=&amp;quot;quadruped&amp;quot;,&lt;br /&gt;
		tile='Q',&lt;br /&gt;
		body_base=&amp;quot;QUADRUPED&amp;quot;,&lt;br /&gt;
		c_class=&amp;quot;UNIFORM&amp;quot;,&lt;br /&gt;
		cannot_have_get_more_legs=true,&lt;br /&gt;
		min_size=70000,&lt;br /&gt;
		weight=1000&lt;br /&gt;
		},&lt;br /&gt;
 }}&lt;br /&gt;
&lt;br /&gt;
Of these, only ``cannot_have_get_more_legs`` is optional. ``build_procgen_creature()`` has direct access to the RCP, as the first argument, and thus extra table entries can be used however you like.&lt;br /&gt;
&lt;br /&gt;
``body_base`` points to a key in ``body_base_fun``, which is used to set creature options (walking and [[Procedural graphics layer|PCG layering]] are set this way) and returns a list of [[body token]]s. Quadrupeds use a special function to vary the sprite, so here's the body base function for a humanoid.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=body_base_fun.HUMANOID&lt;br /&gt;
|script=&lt;br /&gt;
	HUMANOID=function(rcp,options)&lt;br /&gt;
		options.pcg_layering_base=&amp;quot;BEAST_HUMANOID&amp;quot;&lt;br /&gt;
		options.walk_var=&amp;quot;STANDARD_BIPED_GAITS&amp;quot;&lt;br /&gt;
		options.walk_speed=900&lt;br /&gt;
		return {&amp;quot;RCP_UPPER_BODY&amp;quot;,&amp;quot;RCP_LOWER_BODY&amp;quot;,&amp;quot;RCP_NECK&amp;quot;,&amp;quot;RCP_HEAD&amp;quot;,&amp;quot;RCP_TWO_PART_ARMS&amp;quot;,&amp;quot;RCP_TWO_PART_LEGS&amp;quot;}&lt;br /&gt;
	end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
``c_class`` also refers to another determines the kind of tissue layers the creature has. &amp;quot;FLESHY&amp;quot;, &amp;quot;MAMMAL&amp;quot;, &amp;quot;CHITIN_EXO&amp;quot;, etc imply a biological creature with sinew, blood, different organs, nerves, and so on. &amp;quot;UNIFORM&amp;quot; describes a creature made of a single material, the choice influenced by its options. The ``random_creature_class`` and ``random_creature_material`` tables store the info for these traits.&lt;br /&gt;
&lt;br /&gt;
Organic creatures can be tweaked to alter their surfaces, such as becoming skinless, hairy, or even uniform.&lt;br /&gt;
&lt;br /&gt;
===Tweaks===&lt;br /&gt;
&lt;br /&gt;
In the broadest sense, a tweak is any deviation from the creature profile. The aforementioned surface changes, new body parts, and attack interactions are all examples of tweaks.&lt;br /&gt;
&lt;br /&gt;
A number of [[Lua functions#Options|options]] change the available tweaks or force one to happen, for example:&lt;br /&gt;
*``options.no_tweak`` disables random tweaks.&lt;br /&gt;
*``options.strong_attack_tweak`` allows the creature to always pick from the ``attack_tweaks`` table; ie: &amp;quot;Beware its webs!&amp;quot;&lt;br /&gt;
*``options.humanoid_only`` makes the creature &amp;quot;twisted into humanoid form&amp;quot; (if evil), or &amp;quot;a &amp;lt;creature&amp;gt; in humanoid form&amp;quot; (if otherwise).&lt;br /&gt;
&lt;br /&gt;
One potential use of ``btc1_tweaks`` (see [[Lua functions#Creature patching]]) is to add custom tweak candidates, pointing to keys in ``tweaks``.&lt;br /&gt;
&lt;br /&gt;
===Color pickers===&lt;br /&gt;
&lt;br /&gt;
Color picker functions can give more fitting [[color]] choices based on the options, instead of the default full spectrum. There are color pickers for certain malevolent [[sphere]]s, giving them a dark appearance. [[Werebeast]]s use a flag to only have natural brown or black colors.&lt;br /&gt;
&lt;br /&gt;
If the creature matches ``cond`` and a given [[Descriptor color token|descriptor color]] matches ``color``, then it is added to the list of candidates. Colors have {{Tooltip|h,s,v|Hue, saturation, value}} and {{Tooltip|r,g,b|Red, green, blue}} values ranging from 0-1 (except hue, which ranges 0-360 degrees).&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=color_picker_functions&lt;br /&gt;
|script=color_picker_functions={&lt;br /&gt;
    death_misery={&lt;br /&gt;
        cond=function(options)&lt;br /&gt;
            return options.spheres.DEATH or options.spheres.MISERY&lt;br /&gt;
        end,&lt;br /&gt;
        color=function(color)&lt;br /&gt;
            -- GRAY TO BLACK/BLUEISH GREEN THAT ARE SOMEWHAT GRAYISH AND MORE BLUE&lt;br /&gt;
            return (color.v&amp;lt;=0.75 and color.s&amp;lt;=0.001) or (color.v==color.b and color.s&amp;lt;=0.25)&lt;br /&gt;
        end&lt;br /&gt;
    },&lt;br /&gt;
    darkness_night={&lt;br /&gt;
        cond=function(options)&lt;br /&gt;
            return options.spheres.DARKNESS or options.spheres.NIGHT&lt;br /&gt;
        end,&lt;br /&gt;
        color=function(color)&lt;br /&gt;
            -- GRAY TO BLACK OR DARK BLUISH&lt;br /&gt;
            return color.v&amp;lt;=0.4 and (color.s &amp;lt; 0.001 or (color.h&amp;gt;180 and color.h&amp;lt;=240))&lt;br /&gt;
        end&lt;br /&gt;
    },&lt;br /&gt;
    werebeast={&lt;br /&gt;
        cond=function(options)&lt;br /&gt;
            -- werebeasts only, in vanilla&lt;br /&gt;
            return options.animal_coloring_allowed&lt;br /&gt;
        end,&lt;br /&gt;
        color=function(color)&lt;br /&gt;
            --BROWN OKAY TOO&lt;br /&gt;
            return color.h&amp;gt;=30 and color.h&amp;lt;=48 and color.b&amp;lt;=0.15 and color.v&amp;lt;=0.75 and color.v &amp;gt; 0&lt;br /&gt;
        end&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
``options.blood_color`` works like a color picker function. If any colors match its function, then its [[blood]] will be colored like one of them. [[Bogeymen]] and [[nightmare]]s have a function that gives them magenta blood, for example, but you can create your own blood color functions.&lt;br /&gt;
&lt;br /&gt;
Creatures with other blood types, such as ichor, are unaffected.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=options.blood_color (Bogeyman)&lt;br /&gt;
|script=blood_color=function(cl)&lt;br /&gt;
            -- DARKER MAGENTA COLORS&lt;br /&gt;
            return cl.h&amp;gt;=260 and cl.h &amp;lt;= 340 and cl.v &amp;lt;= 0.5 and cl.v &amp;gt;= 0.1&lt;br /&gt;
        end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:Lua|S]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Centaur&amp;diff=311224</id>
		<title>Centaur</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Centaur&amp;diff=311224"/>
		<updated>2025-10-24T21:58:18Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: RCPs aren't hardcoded anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior}}&lt;br /&gt;
{{Creaturelookup/0&lt;br /&gt;
|biome=None&lt;br /&gt;
|death=nobutcher&lt;br /&gt;
|contrib=no&lt;br /&gt;
|wiki=yes}}&lt;br /&gt;
{{av}}&lt;br /&gt;
'''Centaurs''' are [[fanciful]] [[creature]]s which are merely the stuff of [[legends]]. They do not actually exist, appearing only in [[engraving]]s as the fancy of artists. A female centaur is known as a ''centauress''.&lt;br /&gt;
&lt;br /&gt;
Some [[Dwarf|dwarves]] [[Preferences|like]] centaurs for their ''strength''.&lt;br /&gt;
&lt;br /&gt;
==The &amp;quot;Centaur&amp;quot; Problem==&lt;br /&gt;
&lt;br /&gt;
''&amp;quot;We've got the &amp;quot;centaur&amp;quot; problem, or whatever, where I wanna take any piece of anything, and slap it onto something else... That has complications in terms of the materials, and the body parts, and that kind of thing that need to be worked out.&amp;quot;'' - [[Toady One]], [[Dwarf Fortress Talk]] #28 [38:26]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Procedurally [[Creature token#GENERATED|generating]] centaurs has been discussed since the days of ''Dwarf Fortress's'' predecessor, ''[[Armok|Slaves to Armok]]''. Combining two creature objects, such as a [[human]] with the lower body of a [[horse]], and respecting the [[raw file]]s and body structure of each component is a consideration that the nonexistent nature of the centaur and the other [[fanciful]] hybrid creatures allude to.&lt;br /&gt;
&lt;br /&gt;
Though [[creature]]s like [[Merperson|merpeople]] and [[satyr]]s are conceptually hybrids, they are singular, manual implementations, rather than a system that can generate any number of [[Chimera|chimeric]] beings based on combining existing creatures. [[Experiment]]s are generated from an independent [[random creature profile]] rather than being based on their input creature.&lt;br /&gt;
&lt;br /&gt;
{{D for Dwarf}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Reference: Equius Zahhak from Homestuck --&amp;gt;&lt;br /&gt;
Some [[Troll|trolls]] like centaurs for their&lt;br /&gt;
{{#splitrand:&lt;br /&gt;
[[milk]]&lt;br /&gt;
[[Strength|STRENGTH]]&lt;br /&gt;
}}.&lt;br /&gt;
[[File:Brooklyn Museum - Centauress - John La Farge - overall.jpg|thumb|center|300px|Admired for its ''strength''.]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Chimera]]&lt;br /&gt;
* [[Griffon]]&lt;br /&gt;
{{gamedata}}&lt;br /&gt;
{{Creatures}}&lt;br /&gt;
{{Category|Myth}}&lt;br /&gt;
[[ru:Centaur]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Lua_script_examples&amp;diff=311177</id>
		<title>Lua script examples</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Lua_script_examples&amp;diff=311177"/>
		<updated>2025-10-19T06:57:16Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Werebugs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
{{Modding}}&lt;br /&gt;
{{Main|Lua scripting}}&lt;br /&gt;
Snippets of vanilla generation can be found in [[:Category:Lua script pages]], and all vanilla scripts can be found in ``[https://github.com/Putnam3145/DF-Raws/tree/master/vanilla_procedural/scripts data/vanilla/vanilla_procedural/scripts/]``.&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;!--Needs a special line break--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Helper functions==&lt;br /&gt;
&lt;br /&gt;
===Search by reaction class===&lt;br /&gt;
This script returns a table of all inorganic materials with a given {{token|REACTION_CLASS|md}}. The ``mat`` table also has ``reaction_product_class``, which includes both {{token|MATERIAL_REACTION_PRODUCT|md}} and {{token|ITEM_REACTION_PRODUCT|md}} IDs.&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=get_all_by_reaction_class()&lt;br /&gt;
|script=&lt;br /&gt;
function get_all_by_reaction_class(rc)&lt;br /&gt;
    local valid={}&lt;br /&gt;
    for i,inorg in ipairs(world.inorganic.inorganic) do&lt;br /&gt;
        for _,class in inorg.mat.reaction_class do&lt;br /&gt;
            if class==rc then&lt;br /&gt;
                valid[#valid+1]=inorg&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return valid&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
==Languages==&lt;br /&gt;
&lt;br /&gt;
===Identity language===&lt;br /&gt;
This makes a [[Language token|language]] called ``GEN_IDENTITY`` which is like: &amp;quot;Abbey abbeyabbeys the abbey of abbeys&amp;quot; - i.e. it's the &amp;quot;English&amp;quot; language you might see occasionally. It is present in ``vanilla_procedural`` and can be used for {{Token|TRANSLATION|entity}} by default.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=GEN_IDENTITY&lt;br /&gt;
|script=&lt;br /&gt;
languages.GEN_IDENTITY=function()&lt;br /&gt;
    -- just to demonstrate the absolute most basic method of generating one of these&lt;br /&gt;
    -- also so that you can just mod stuff to use GEN_IDENTITY&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    local unempty = function(str1, str2) &lt;br /&gt;
        return str1=='' and str2 or str1&lt;br /&gt;
    end&lt;br /&gt;
    for k,v in ipairs(world.language.word) do&lt;br /&gt;
        local str=''&lt;br /&gt;
        str=unempty(str,v.NOUN_SING)&lt;br /&gt;
        str=unempty(str,v.ADJ)&lt;br /&gt;
        str=unempty(str,v.VERB_FIRST_PRES)&lt;br /&gt;
        str=unempty(str,string.lower(v.token))&lt;br /&gt;
        tbl[v.token]=str&lt;br /&gt;
    end&lt;br /&gt;
    return tbl&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
===Kobold language===&lt;br /&gt;
This generates a language made of {{token|UTTERANCES}}. This is essentially a proper translation based on the [[kobold language]]. Note that the hardcoded ``utterance()`` function generates words independently of any existing words in the language, so you may get duplicate words. &lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=GEN_KOBOLD&lt;br /&gt;
|script=&lt;br /&gt;
languages.GEN_KOBOLD=function()&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    for k,v in ipairs(world.language.word) do&lt;br /&gt;
        tbl[v.token]=utterance()&lt;br /&gt;
    end&lt;br /&gt;
    return tbl&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
==Generators==&lt;br /&gt;
&lt;br /&gt;
===Non-random generated material===&lt;br /&gt;
&lt;br /&gt;
Here's an example of an object registered through the ``do_once`` table. There are no random elements, it is equivalent (save for being {{token|GENERATED|mat}}) to an object defined through [[Material definition token]]s and registered through the ``raws.register_inorganics()`` function. It also prints itself to the lualog for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Single material&lt;br /&gt;
|script=do_once.cobalt = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	&lt;br /&gt;
	-- basic inorganic definition&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[INORGANIC:COBALT]&amp;quot;&lt;br /&gt;
	-- add [GENERATED] to save properly&lt;br /&gt;
	add_generated_info(lines)&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:cobalt]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid cobalt]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling cobalt]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:COBALT]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	raws.register_inorganics(lines)&lt;br /&gt;
&lt;br /&gt;
	-- show in lualog&lt;br /&gt;
	print_table(lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can register multiple objects at the same time. This script takes a table of color tokens, and makes a metal named after each of them, with a corresponding cheaty adventure reaction.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Chromatic metals&lt;br /&gt;
|script=do_once.chromatic_metal = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local reaction_lines = {}&lt;br /&gt;
	&lt;br /&gt;
	local color_tokens = {&lt;br /&gt;
			&amp;quot;AMETHYST&amp;quot;,&lt;br /&gt;
			&amp;quot;AQUAMARINE&amp;quot;,&lt;br /&gt;
			&amp;quot;CARDINAL&amp;quot;,&lt;br /&gt;
			&amp;quot;COBALT&amp;quot;,&lt;br /&gt;
			&amp;quot;EMERALD&amp;quot;,&lt;br /&gt;
			&amp;quot;JADE&amp;quot;,&lt;br /&gt;
			&amp;quot;MOSS_GREEN&amp;quot;,&lt;br /&gt;
			&amp;quot;PEARL&amp;quot;,&lt;br /&gt;
			&amp;quot;SAFFRON&amp;quot;,&lt;br /&gt;
			&amp;quot;TURQUOISE&amp;quot;,&lt;br /&gt;
			&amp;quot;WHITE&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- make a metal for each color token&lt;br /&gt;
	for k,v in pairs(color_tokens) do&lt;br /&gt;
		-- begin definition with ID token, [GENERATED] and template&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[INORGANIC:CHROMATICMETAL&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(lines)&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		-- look up the metal's color in the world table&lt;br /&gt;
		-- using string.lower(v) would result in &amp;quot;moss_green&amp;quot;&lt;br /&gt;
		local metalname = world.descriptor.color[v].name&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:&amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		-- appearance&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		-- create a corresponding reaction&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[REACTION:CHROMATICMETAL&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(reaction_lines)&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[NAME:create &amp;quot;..metalname..&amp;quot; bars]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[ADVENTURE_MODE_ENABLED]&amp;quot;&lt;br /&gt;
		-- make sure we're consistent with the inorganic ID&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT:100:1:BAR:NONE:INORGANIC:CHROMATICMETAL&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT_DIMENSION:150]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	raws.register_inorganics(lines)&lt;br /&gt;
	raws.register_reactions(reaction_lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Random generation===&lt;br /&gt;
&lt;br /&gt;
Here's an example of various DF-specific randomizers in use:&lt;br /&gt;
* ``trandom()`` is used to determine how many metals generate this way.&lt;br /&gt;
* ``utterance()`` generates utterances from the [[Kobold language]], e.g. &amp;quot;gorsnus&amp;quot;, &amp;quot;stogodilmus&amp;quot;, &amp;quot;gaylgis&amp;quot;&lt;br /&gt;
* ``pick_random_no_replace()`` determines the color from the table, but removes the rolled value so there's no repeats.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Kobold metals&lt;br /&gt;
|script=do_once.kobold_metal = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local reaction_lines = {}&lt;br /&gt;
	&lt;br /&gt;
	local color_tokens = {&lt;br /&gt;
		&amp;quot;AMETHYST&amp;quot;,&lt;br /&gt;
		&amp;quot;AQUAMARINE&amp;quot;,&lt;br /&gt;
		&amp;quot;CARDINAL&amp;quot;,&lt;br /&gt;
		&amp;quot;COBALT&amp;quot;,&lt;br /&gt;
		&amp;quot;EMERALD&amp;quot;,&lt;br /&gt;
		&amp;quot;JADE&amp;quot;,&lt;br /&gt;
		&amp;quot;MOSS_GREEN&amp;quot;,&lt;br /&gt;
		&amp;quot;PEARL&amp;quot;,&lt;br /&gt;
		&amp;quot;SAFFRON&amp;quot;,&lt;br /&gt;
		&amp;quot;TURQUOISE&amp;quot;,&lt;br /&gt;
		&amp;quot;WHITE&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- trandom() is expressed as (1dN)-1 because it uses C++ math that starts at 0&lt;br /&gt;
	local max_loops = trandom(10)+1&lt;br /&gt;
&lt;br /&gt;
	-- create 1-10 metals&lt;br /&gt;
	for i = 1,max_loops do&lt;br /&gt;
		-- begin definition with ID token, [GENERATED] and template&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[INORGANIC:KOBOLDMETAL&amp;quot;..i..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(lines)&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		-- this is the kobold name function&lt;br /&gt;
		local metalname = utterance()..&amp;quot;ite&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:&amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		-- no_replace removes the value from the table&lt;br /&gt;
		-- we don't need a fallback because there's more values than metals&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:&amp;quot;..pick_random_no_replace(color_tokens)..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		-- create a corresponding reaction&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[REACTION:KOBOLDMETAL&amp;quot;..i..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(reaction_lines)&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[NAME:create &amp;quot;..metalname..&amp;quot; bars]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[ADVENTURE_MODE_ENABLED]&amp;quot;&lt;br /&gt;
		-- make sure we're consistent with the inorganic ID&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT:100:1:BAR:NONE:INORGANIC:KOBOLDMETAL&amp;quot;..i..&amp;quot;]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT_DIMENSION:150]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	raws.register_inorganics(lines)&lt;br /&gt;
	raws.register_reactions(reaction_lines)&lt;br /&gt;
end		&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===New divine metals===&lt;br /&gt;
&lt;br /&gt;
Many of the tables used by vanilla procedural objects are global, and thus can be added to or overwritten by mods. You can add new metal descriptions for divine metal pretty easily, for example:&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Laughing metal&lt;br /&gt;
|script=&lt;br /&gt;
metal_by_sphere.CHILDREN={&lt;br /&gt;
    name=&amp;quot;laughing metal&amp;quot;,&lt;br /&gt;
    col=&amp;quot;7:0:1&amp;quot;,&lt;br /&gt;
    color=&amp;quot;WHITE&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can also add alternatives to the default divine metal function, such as one based on the aforementioned kobold metals.&lt;br /&gt;
Vanilla divine metal uses ``metal_by_sphere`` to determine its properties, and is thus valid only if the input sphere has an entry in that table.&lt;br /&gt;
Note that even if the weights are nominally the same; because it is valid for all input spheres, it will outnumber instances of the more limited vanilla material.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Divine kobold metal&lt;br /&gt;
|script=materials.divine.metal.kobold = function(sphere)&lt;br /&gt;
	if not foo then&lt;br /&gt;
		log(#metal_by_sphere)&lt;br /&gt;
		log(#world.spheres)&lt;br /&gt;
		foo = true&lt;br /&gt;
	end&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	--generation function handles ID, registration, generated info&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
	--add_generated_info(lines)&lt;br /&gt;
	local metalname = utterance()..&amp;quot;ite&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:&amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local color_tokens = {&lt;br /&gt;
		&amp;quot;AMETHYST&amp;quot;,&lt;br /&gt;
		&amp;quot;AQUAMARINE&amp;quot;,&lt;br /&gt;
		&amp;quot;CARDINAL&amp;quot;,&lt;br /&gt;
		&amp;quot;COBALT&amp;quot;,&lt;br /&gt;
		&amp;quot;EMERALD&amp;quot;,&lt;br /&gt;
		&amp;quot;JADE&amp;quot;,&lt;br /&gt;
		&amp;quot;MOSS_GREEN&amp;quot;,&lt;br /&gt;
		&amp;quot;PEARL&amp;quot;,&lt;br /&gt;
		&amp;quot;SAFFRON&amp;quot;,&lt;br /&gt;
		&amp;quot;TURQUOISE&amp;quot;,&lt;br /&gt;
		&amp;quot;WHITE&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	--allow for duplicate colors&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:&amp;quot;..pick_random(color_tokens)..&amp;quot;]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	--add a block of tokens&lt;br /&gt;
	lines=split_to_lines(lines,[[&lt;br /&gt;
    [MATERIAL_VALUE:200]&lt;br /&gt;
	[SPEC_HEAT:7500]&lt;br /&gt;
	[MELTING_POINT:NONE]&lt;br /&gt;
	[BOILING_POINT:NONE]&lt;br /&gt;
	[ITEMS_WEAPON][ITEMS_WEAPON_RANGED][ITEMS_AMMO][ITEMS_DIGGER][ITEMS_ARMOR][ITEMS_ANVIL]&lt;br /&gt;
	[ITEMS_HARD]&lt;br /&gt;
	[ITEMS_METAL]&lt;br /&gt;
	[ITEMS_BARRED]&lt;br /&gt;
	[ITEMS_SCALED]&lt;br /&gt;
	[SOLID_DENSITY:1000]&lt;br /&gt;
	[LIQUID_DENSITY:1000]&lt;br /&gt;
	[MOLAR_MASS:20000]&lt;br /&gt;
	[IMPACT_YIELD:1000000]&lt;br /&gt;
	[IMPACT_FRACTURE:2000000]&lt;br /&gt;
	[IMPACT_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[COMPRESSIVE_YIELD:1000000]&lt;br /&gt;
	[COMPRESSIVE_FRACTURE:2000000]&lt;br /&gt;
	[COMPRESSIVE_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[TENSILE_YIELD:1000000]&lt;br /&gt;
	[TENSILE_FRACTURE:2000000]&lt;br /&gt;
	[TENSILE_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[TORSION_YIELD:1000000]&lt;br /&gt;
	[TORSION_FRACTURE:2000000]&lt;br /&gt;
	[TORSION_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[SHEAR_YIELD:1000000]&lt;br /&gt;
	[SHEAR_FRACTURE:2000000]&lt;br /&gt;
	[SHEAR_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[BENDING_YIELD:1000000]&lt;br /&gt;
	[BENDING_FRACTURE:2000000]&lt;br /&gt;
	[BENDING_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[MAX_EDGE:12000]&lt;br /&gt;
	]])&lt;br /&gt;
	--sends this to get registered&lt;br /&gt;
	return {raws=lines,weight=1}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Remove default functions===&lt;br /&gt;
&lt;br /&gt;
Just as easily as new functions and table entries can be added, default entries can be overwritten so that they cannot generate. This snippet removes the default forgotten beasts.&lt;br /&gt;
&lt;br /&gt;
See [[Lua functions#Generation Tables]] for a list of the tables the default functions are stored in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; &amp;gt;&lt;br /&gt;
creatures.fb.default=nil&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Basic generated creature===&lt;br /&gt;
&lt;br /&gt;
This is essentially the simplest possible creature. It has no extraordinary options (beyond an [[Sphere|association]] with animals and creation), and each world generates one species from this function. It doesn't have any biome tokens or likewise, so it can only be spawned in the arena, but it is still functional.&lt;br /&gt;
&lt;br /&gt;
A sample output would be &amp;quot;A quadruped composed of flame. It has two narrow tails and it has a regal bearing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=do_once.basic_creature&lt;br /&gt;
|script=do_once.basic_creature = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local tok=&amp;quot;BASIC_PROCEDURAL_CREATURE&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE:&amp;quot;..tok..&amp;quot;]&amp;quot;&lt;br /&gt;
	add_generated_info(lines)&lt;br /&gt;
	&lt;br /&gt;
	local options={&lt;br /&gt;
		token=tok,&lt;br /&gt;
		spheres={&lt;br /&gt;
			ANIMALS=true,&lt;br /&gt;
			CREATION=true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	lines=split_to_lines(lines,[[&lt;br /&gt;
		[NAME:procedural creature:procedural creatures:procedural]&lt;br /&gt;
		[CASTE_NAME:procedural creature:procedural creatures:procedural]&lt;br /&gt;
	]])&lt;br /&gt;
	--adds some common tokens depending on the options&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	&lt;br /&gt;
	--handles sphere options: fills out [SPHERE] tokens from options.spheres, and so on&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	&lt;br /&gt;
	--choose a creature profile to base on&lt;br /&gt;
	local rcp=get_random_creature_profile(options)&lt;br /&gt;
	--set [BODY_SIZE] and some relevant tokens&lt;br /&gt;
	add_body_size(lines,rcp.min_size,options)&lt;br /&gt;
	--add the tile from the creature profile&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	--the Big Function determining tweaks, body, appearance, description...&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	&lt;br /&gt;
	raws.register_creatures(lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Making your own RCP===&lt;br /&gt;
&lt;br /&gt;
You don't have to be limited to the vanilla list of random creature variants. Mods can add new kinds of random creature profiles, materials, etc that can be seamlessly integrated into how it generates creatures. &lt;br /&gt;
&lt;br /&gt;
This script generates a single creature based on a [[Wikipedia:Eurypterid|eurypterid]]. It has a unique RCP, set in the function itself.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=do_once.local_rcp&lt;br /&gt;
|script=do_once.local_rcp = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local tok=&amp;quot;LOCAL_RCP&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE:&amp;quot;..tok..&amp;quot;]&amp;quot;&lt;br /&gt;
	add_generated_info(lines)&lt;br /&gt;
	&lt;br /&gt;
	local options={&lt;br /&gt;
		token=tok,&lt;br /&gt;
		spheres={&lt;br /&gt;
			ANIMALS=true,&lt;br /&gt;
			WATER=true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	--habitat&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[BIOME:ANY_OCEAN]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[LARGE_ROAMING]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[AQUATIC][UNDERSWIM]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	--define a local creature profile&lt;br /&gt;
	local rcp={&lt;br /&gt;
		name_string=&amp;quot;eurypterid&amp;quot;,&lt;br /&gt;
		tile='E',&lt;br /&gt;
		body_base=&amp;quot;SCORPION&amp;quot;,&lt;br /&gt;
		c_class=&amp;quot;CHITIN_EXO&amp;quot;,&lt;br /&gt;
		must_have_pincers=true,&lt;br /&gt;
		must_have_tail=true,&lt;br /&gt;
		min_size=70000,&lt;br /&gt;
		weight=200,&lt;br /&gt;
	}&lt;br /&gt;
	local name_str = rcp.name_string..&amp;quot;:&amp;quot;..rcp.name_string..&amp;quot;s:&amp;quot;..rcp.name_string..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[NAME:&amp;quot;..name_str&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[CASTE_NAME:&amp;quot;..name_str&lt;br /&gt;
	&lt;br /&gt;
	add_body_size(lines,rcp.min_size,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	&lt;br /&gt;
	raws.register_creatures(lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Adding a eurypterid profile to ``random_creature_profiles`` allows any creature to access it, if their profile is determined randomly.&lt;br /&gt;
&lt;br /&gt;
This script gives it proper flippers in its body base function. It's also associated with water-based random creatures, so it can potentially generate as an aquatic [[forgotten beast]] species.&lt;br /&gt;
&lt;br /&gt;
Other feature variants stored in tables, like materials, attacks, or descriptions, can be added in this way.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Global RCP&lt;br /&gt;
|script=&lt;br /&gt;
random_creature_types.EURYPTERID={&lt;br /&gt;
		name_string=&amp;quot;eurypterid&amp;quot;,&lt;br /&gt;
		tile='E',&lt;br /&gt;
		body_base=&amp;quot;SCORPION_FLIPPERS&amp;quot;,&lt;br /&gt;
		c_class=&amp;quot;CHITIN_EXO&amp;quot;,&lt;br /&gt;
		must_have_pincers=true,&lt;br /&gt;
		must_have_tail=true,&lt;br /&gt;
		min_size=70000,&lt;br /&gt;
		weight=200,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body_base_fun.SCORPION_FLIPPERS=function(rcp,options)&lt;br /&gt;
		options.pcg_layering_base=&amp;quot;BEAST_SCORPION&amp;quot;&lt;br /&gt;
		options.walk_var=&amp;quot;STANDARD_WALKING_GAITS&amp;quot;&lt;br /&gt;
		options.walk_speed=900&lt;br /&gt;
		return {&amp;quot;RCP_CEPHALOTHORAX&amp;quot;,&amp;quot;RCP_ABDOMEN&amp;quot;,&amp;quot;RCP_FIRST_SIMPLE_LEGS&amp;quot;,&amp;quot;RCP_SECOND_SIMPLE_LEGS&amp;quot;,&amp;quot;RCP_THIRD_SIMPLE_LEGS&amp;quot;,&amp;quot;RCP_PINCERS&amp;quot;,&amp;quot;RCP_FRONT_FLIPPER&amp;quot;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
water_based_random_creature.EURYPTERID=true&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Werebugs===&lt;br /&gt;
&lt;br /&gt;
You can make a custom function to determine what RCPs are available to a given creature.&lt;br /&gt;
&lt;br /&gt;
These scripts are for an arthropoid version of a [[werebeast]].&lt;br /&gt;
* ``arthropod_rcp`` is a list of RCP keys which fit this theme (plus a few worms on there for fun), which the creature function rolls on to pick its form.&lt;br /&gt;
* ``is_bloodsucking_by_key``, along with ``rcp.must_suck_blood_through_proboscis`` and ``rcp.must_suck_blood_through_mouth`` are checked to assign {{token|BLOODSUCKER}} to it, which allows certain creature types to exhibit vampiric behavior if their berserk rampage wasn't enough [[fun]].&lt;br /&gt;
&lt;br /&gt;
Otherwise, the function should work the same as vanilla werebeasts, generating an associated [[Interaction token|major curse]] in the same way and becoming &amp;quot;twisted into humanoid form&amp;quot; (at the expense of their additional limbs).&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=arthropod_rcp&lt;br /&gt;
|script=local arthropod_rcp = {&lt;br /&gt;
	&amp;quot;ARACHNID_MITE&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_SCORPION&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_SPIDER&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_TARANTULA&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_TICK&amp;quot;,&lt;br /&gt;
	&amp;quot;CRUSTACEAN_CRAB&amp;quot;,&lt;br /&gt;
	&amp;quot;CRUSTACEAN_LOBSTER&amp;quot;,&lt;br /&gt;
	&amp;quot;CRUSTACEAN_SHRIMP&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_ANT&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_ANTLION&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_APHID&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_BEE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_BUTTERFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CADDISFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CATERPILLAR&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CICADA&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_COCKROACH&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CRICKET&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_DAMSELFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_DARKLING_BEETLE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_DRAGONFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_EARWIG&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_FIREFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_FLEA&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_FLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_GRASSHOPPER&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_HORNET&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_LACEWING&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_LADYBUG&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_LOUSE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MAGGOT&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MANTIS&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MAYFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MOSQUITO&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MOTH&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SILVERFISH&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SCARAB_BEETLE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SCORPIONFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SNAKEFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_STONEFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_TERMITE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_THRIPS&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_WASP&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_WEEVIL&amp;quot;,&lt;br /&gt;
	&amp;quot;NEMATODE&amp;quot;,&lt;br /&gt;
	&amp;quot;LEECH&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=is_bloodsucking_by_key&lt;br /&gt;
|script=local is_bloodsucking_by_key = {&lt;br /&gt;
	ARACHNID_MITE=true,&lt;br /&gt;
	ARACHNID_TICK=true,&lt;br /&gt;
	INSECT_EARWIG=true,--some are parasitic&lt;br /&gt;
	INSECT_FLEA=true,&lt;br /&gt;
	INSECT_LOUSE=true,&lt;br /&gt;
	INSECT_MAGGOT=true,&lt;br /&gt;
	INSECT_THRIPS=true,--no bloodsucking reported, but does bite humans&lt;br /&gt;
	NEMATODE=true,&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=creatures.night_creature.werebeast.werebug&lt;br /&gt;
|script=creatures.night_creature.werebeast.werebug=function(tok)&lt;br /&gt;
	local lines={}&lt;br /&gt;
	local options={&lt;br /&gt;
		spheres={&lt;br /&gt;
			CHAOS=true,&lt;br /&gt;
			ANIMALS=true,&lt;br /&gt;
			NIGHT=true,&lt;br /&gt;
			MOON=true&lt;br /&gt;
		},&lt;br /&gt;
		always_glowing_eyes=true,&lt;br /&gt;
		use_werebeast_pcg=true, --use them if werebug sprites somehow exist&lt;br /&gt;
		animal_coloring_allowed=true,&lt;br /&gt;
		no_tweak=true,&lt;br /&gt;
		material_weakness=true,&lt;br /&gt;
		prioritize_bite=true,&lt;br /&gt;
		force_ichor=true,&lt;br /&gt;
		token=tok&lt;br /&gt;
	}&lt;br /&gt;
	options.night_creature_agile_pref=true&lt;br /&gt;
	night_creature_universals(lines,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NIGHT_CREATURE_HUNTER]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CAN_LEARN]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CAN_SPEAK]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NO_GENDER]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[BONECARN]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CRAZED]&amp;quot;&lt;br /&gt;
	if options.night_creature_strength_pref then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:STRENGTH:1000:1250:1500:2000:2250:2500:3000]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:AGILITY:450:550:700:750:800:850:900]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:TOUGHNESS:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:ENDURANCE:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		options.special_walk_speed=1000&lt;br /&gt;
	elseif options.night_creature_agile_pref then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:STRENGTH:450:550:700:750:800:850:900]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:AGILITY:1000:1250:1500:2000:2250:2500:3000]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:TOUGHNESS:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:ENDURANCE:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		options.special_walk_speed=800;&lt;br /&gt;
	elseif options.night_creature_strength_agile_pref then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:STRENGTH:1000:1150:1250:1500:2000:2250:2500]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:AGILITY:1000:1150:1250:1500:2000:2250:2500]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:TOUGHNESS:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:ENDURANCE:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		options.special_walk_speed=850;&lt;br /&gt;
	end&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:RECUPERATION:450:1050:1150:1250:1350:1550:2250]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:DISEASE_RESISTANCE:700:1300:1400:1500:1600:1800:2500]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:ANALYTICAL_ABILITY:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:FOCUS:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:WILLPOWER:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:PATIENCE:0:333:666:1000:2333:3666:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:MEMORY:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:LINGUISTIC_ABILITY:450:1050:1150:1250:1350:1550:2250]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:MUSICALITY:0:333:666:1000:2333:3666:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:SOCIAL_AWARENESS:700:1300:1400:1500:1600:1800:2500]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:BASHFUL:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:STRESS_VULNERABILITY:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:FRIENDLINESS:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:DISDAIN_ADVICE:100:100:100]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:CHEER_PROPENSITY:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:GRATITUDE:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:TRUST:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:ALTRUISM:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:CRUELTY:100:100:100]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:WRESTLING:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:BITE:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:GRASP_STRIKE:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:STANCE_STRIKE:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:MELEE_COMBAT:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:DODGING:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:SNEAK:20]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[DIFFICULTY:3]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[LAIR:SIMPLE_BURROW:50]&amp;quot;&lt;br /&gt;
	-- pick a random bug RCP, there's no overlap with the mammal/reptile standard werebeasts&lt;br /&gt;
	finalize_random_creature_types() -- good practice to run before rolling on it&lt;br /&gt;
	local rcp_key = pick_random_no_replace(arthropod_rcp) or &amp;quot;INSECT_MANTIS&amp;quot;&lt;br /&gt;
	local rcp=random_creature_types[rcp_key]&lt;br /&gt;
&lt;br /&gt;
	local custom_desc_str = &amp;quot;it is crazed for blood and flesh&amp;quot;&lt;br /&gt;
	-- make them also vampires if they suck blood&lt;br /&gt;
	if rcp.must_suck_blood_through_proboscis or rcp.must_suck_blood_through_mouth or is_bloodsucking_by_key[rcp_key] then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[BLOODSUCKER]&amp;quot;&lt;br /&gt;
		custom_desc_str = &amp;quot;it is crazed for warm blood&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	-- This sort of process should be fully generalized&lt;br /&gt;
	-- to all creatures you want to have bespoke associated interactions&lt;br /&gt;
	-- for example, you can have a blessing that allows a sort of&lt;br /&gt;
	-- uncrazed transformation into some sort of bespoke&lt;br /&gt;
	-- generated thing--at least, hopefully it's robust enough for that&lt;br /&gt;
	local choice=generate_from_list(werebeast_origin_interactions,tok,rcp.name_string,options)&lt;br /&gt;
	map_merge(options,choice.options)&lt;br /&gt;
	local werebeast_choice_raws=choice.interaction or choice.raws&lt;br /&gt;
	raws.register_interactions(werebeast_choice_raws)&lt;br /&gt;
	add_body_size(lines,math.max(rcp.min_size,80000+trandom(11)*1000),options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:165]&amp;quot; --Ñ&lt;br /&gt;
	options.forced_color={&lt;br /&gt;
		f=6,&lt;br /&gt;
		b=0,&lt;br /&gt;
		br=1&lt;br /&gt;
	}&lt;br /&gt;
	options.custom_desc_func=function(options)&lt;br /&gt;
		return custom_desc_str&lt;br /&gt;
	end&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[GO_TO_START]&amp;quot;&lt;br /&gt;
	-- remove second words like &amp;quot; beetle&amp;quot;, etc from the end&lt;br /&gt;
	local short_name = rcp.name_string:gsub(&amp;quot;%s(%w+)$&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
	local name_str=&amp;quot;were&amp;quot;..short_name..&amp;quot;:were&amp;quot;..short_name..&amp;quot;s:were&amp;quot;..short_name..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NAME:&amp;quot;..name_str&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CASTE_NAME:&amp;quot;..name_str&lt;br /&gt;
	return {raws=lines,weight=1}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===New forgotten beasts===&lt;br /&gt;
You can add new types of forgotten beasts (or more appropriately, {{token|FEATURE_BEAST}}s). These generate as alternatives when populating the caverns with unique monsters. There are a number of options to interact with shared generation functions.&lt;br /&gt;
&lt;br /&gt;
Unbidden spirits only appear in dry cave layers, and like &amp;quot;spirit&amp;quot; [[demon]]s, are malevolent floating beings made of gas or dust.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Unbidden spirit&lt;br /&gt;
|script=&lt;br /&gt;
creatures.fb.unbidden=function(layer_type,tok)&lt;br /&gt;
    if layer_type==0 then return nil end -- land only&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    local options={&lt;br /&gt;
        strong_attack_tweak=true,&lt;br /&gt;
        always_make_uniform=true,&lt;br /&gt;
        always_insubstantial=true,&lt;br /&gt;
        intangible_flier=true,&lt;br /&gt;
        spheres={CAVERNS=true},&lt;br /&gt;
        is_evil=true,&lt;br /&gt;
        sickness_name=&amp;quot;beast sickness&amp;quot;,&lt;br /&gt;
        token=tok&lt;br /&gt;
    }&lt;br /&gt;
    tbl=split_to_lines(tbl,[[&lt;br /&gt;
    [FEATURE_BEAST]&lt;br /&gt;
    [ATTACK_TRIGGER:0:0:2]&lt;br /&gt;
    [NAME:unbidden spirit:unbidden spirit:unbidden spirit]&lt;br /&gt;
    [CASTE_NAME:unbidden spirit:unbidden spirit:unbidden spirit]&lt;br /&gt;
    [NO_GENDER]&lt;br /&gt;
    [CARNIVORE]&lt;br /&gt;
    [DIFFICULTY:10]&lt;br /&gt;
&lt;br /&gt;
    [NATURAL_SKILL:WRESTLING:6]&lt;br /&gt;
    [NATURAL_SKILL:BITE:6]&lt;br /&gt;
    [NATURAL_SKILL:GRASP_STRIKE:6]&lt;br /&gt;
    [NATURAL_SKILL:STANCE_STRIKE:6]&lt;br /&gt;
    [NATURAL_SKILL:MELEE_COMBAT:6]&lt;br /&gt;
    [NATURAL_SKILL:DODGING:6]&lt;br /&gt;
    [NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&lt;br /&gt;
    [LARGE_PREDATOR]&lt;br /&gt;
    ]])&lt;br /&gt;
    add_regular_tokens(tbl,options)&lt;br /&gt;
    tbl[#tbl+1]=layer_type==0 and &amp;quot;[BIOME:SUBTERRANEAN_WATER]&amp;quot; or &amp;quot;[BIOME:SUBTERRANEAN_CHASM]&amp;quot;&lt;br /&gt;
    if layer_type==0 then options.spheres.WATER=true end&lt;br /&gt;
    options.spheres[pick_random(evil_spheres)]=true&lt;br /&gt;
    options.do_water=layer_type==0&lt;br /&gt;
    populate_sphere_info(tbl,options)&lt;br /&gt;
    local rcp=get_random_creature_profile(options)&lt;br /&gt;
    add_body_size(tbl,math.max(10000000,rcp.min_size),options)&lt;br /&gt;
    tbl[#tbl+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
    build_procgen_creature(rcp,tbl,options)&lt;br /&gt;
    -- Weight is a float; all vanilla objects have weight 1&lt;br /&gt;
    return {creature=tbl,weight=0.5}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Construct creature|Elementals]] are defined by the material they're made of, using a table of options to set the right properties. In a dry chasm layer, they'll roll on the ``fb_elements`` table, while in a water layer, they'll be a water elemental. Should they ever carry a [[syndrome]], they would inflict [[Wikipedia:Dyscrasia|dyskrasia]].&lt;br /&gt;
&lt;br /&gt;
The most important feature is setting ``options.sphere_rcm`` to a key in ``random_creature_materials``, so fire elementals are made of &amp;quot;FLAME&amp;quot; and earth elementals are made of &amp;quot;ANY_MINERAL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Elemental&lt;br /&gt;
|script=&lt;br /&gt;
fb_elements = {&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;quot;fire&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;FLAME&amp;quot;,&lt;br /&gt;
		spheres={ FIRE=true },&lt;br /&gt;
		options={ fire_immune=true }&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;quot;earth&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;ANY_MINERAL&amp;quot;,&lt;br /&gt;
		rcp_options={ always_flightless=true },&lt;br /&gt;
		spheres={&lt;br /&gt;
			EARTH=true,&lt;br /&gt;
			MINERALS=true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;quot;air&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;STEAM&amp;quot;,&lt;br /&gt;
		spheres={&lt;br /&gt;
			WIND=true,&lt;br /&gt;
			SKY=true&lt;br /&gt;
		},&lt;br /&gt;
		options={&lt;br /&gt;
			always_insubstantial=true,&lt;br /&gt;
			intangible_flier=true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
creatures.fb.elemental=function(layer_type,tok)&lt;br /&gt;
	local lines={}&lt;br /&gt;
	local options={&lt;br /&gt;
		strong_attack_tweak=true,&lt;br /&gt;
		always_make_uniform=true, --irrelevant due to sphere_rcm&lt;br /&gt;
		spheres={},&lt;br /&gt;
		sickness_name=&amp;quot;dyskrasia&amp;quot;,&lt;br /&gt;
		token=tok&lt;br /&gt;
	}&lt;br /&gt;
	lines=split_to_lines(lines,[[&lt;br /&gt;
		[FEATURE_BEAST]&lt;br /&gt;
		[ATTACK_TRIGGER:0:0:2]&lt;br /&gt;
		[NO_GENDER]&lt;br /&gt;
		[NO_EAT][NO_DRINK]&lt;br /&gt;
		[DIFFICULTY:10]&lt;br /&gt;
		&lt;br /&gt;
		[NATURAL_SKILL:WRESTLING:6]&lt;br /&gt;
		[NATURAL_SKILL:BITE:6]&lt;br /&gt;
		[NATURAL_SKILL:GRASP_STRIKE:6]&lt;br /&gt;
		[NATURAL_SKILL:STANCE_STRIKE:6]&lt;br /&gt;
		[NATURAL_SKILL:MELEE_COMBAT:6]&lt;br /&gt;
		[NATURAL_SKILL:DODGING:6]&lt;br /&gt;
		[NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&lt;br /&gt;
		[LARGE_PREDATOR]&lt;br /&gt;
	]])&lt;br /&gt;
	&lt;br /&gt;
	-- Create a water elemental in water layers, otherwise use another type&lt;br /&gt;
	local water_elemental = {&lt;br /&gt;
		name=&amp;quot;water&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;WATER&amp;quot;,&lt;br /&gt;
		spheres={WATER=true},&lt;br /&gt;
		options={do_water=true}&lt;br /&gt;
	}&lt;br /&gt;
	local my_element = layer_type==1 and pick_random(fb_elements) or water_elemental&lt;br /&gt;
	&lt;br /&gt;
	-- Assign propertes from chosen element&lt;br /&gt;
	map_merge(options.spheres,my_element.spheres)&lt;br /&gt;
	if my_element.options then map_merge(options,my_element.options) end&lt;br /&gt;
	&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	lines[#lines+1]=layer_type==0 and &amp;quot;[BIOME:SUBTERRANEAN_WATER]&amp;quot; or &amp;quot;[BIOME:SUBTERRANEAN_CHASM]&amp;quot;&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	&lt;br /&gt;
	-- Set custom material&lt;br /&gt;
	options.sphere_rcm=my_element.rcm&lt;br /&gt;
	-- Build body&lt;br /&gt;
	local rcp=get_random_creature_profile(options)&lt;br /&gt;
	-- Set more options on the RCP&lt;br /&gt;
	if my_element.rcp_options then map_merge(rcp.options,my_element.rcp_options) end&lt;br /&gt;
	add_body_size(lines,math.max(10000000,rcp.min_size),options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:'E']&amp;quot;&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	&lt;br /&gt;
	-- Generate name&lt;br /&gt;
	local element_name = my_element.name or &amp;quot;glitchstuff&amp;quot;&lt;br /&gt;
	local name_str = element_name..&amp;quot; elemental:&amp;quot;..element_name..&amp;quot; elemental:&amp;quot;..element_name..&amp;quot;-elemental]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[GO_TO_START]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NAME:&amp;quot;..name_str&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CASTE_NAME:&amp;quot;..name_str&lt;br /&gt;
	&lt;br /&gt;
	return {raws=lines,weight=1.5}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Tweaking creatures===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Consolidate the creature patching stuff in a single header--&amp;gt;&lt;br /&gt;
This function is run in ``build_body_from_rcp()`` right before tweaks are determined. If a generated creature's size is greater than 500,000 Γ (about as much as an [[elephant]]), this patch adds {{token|POWER}} and the like to make forgotten beasts, titans, etc capable of impersonating [[Deity|deities]] and ruling [[civilization]]s.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=btc1_tweaks.titan_worship&lt;br /&gt;
|script=&lt;br /&gt;
-- make all large creatures into powers&lt;br /&gt;
btc1_tweaks.titan_worship=function(lines,options,add_to_body,add_to_body_unique,add_tweak_candidate)&lt;br /&gt;
	if options.body_size&amp;gt;=500000 then -- described as &amp;quot;very large&amp;quot;, graphics size cutoff&lt;br /&gt;
		options.can_learn=true -- for flavor text&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[INTELLIGENT]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[SUPERNATURAL]&amp;quot; -- knows secrets according to their spheres&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[POWER]&amp;quot; -- impersonates deities&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[SPREAD_EVIL_SPHERES_IF_RULER]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Adamantine alloys===&lt;br /&gt;
&lt;br /&gt;
You can add your own arbitrary generated objects, though as of right now there's no way to make settings for them. This allows for some ''truly'' wild stuff; here's a fun example: adamantine-metal alloys for every single non-special metal, giving you an average of the properties of them.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Adamantine alloys&lt;br /&gt;
|script=&lt;br /&gt;
preprocess.adamantine_alloys=function()&lt;br /&gt;
    if not random_object_parameters.main_world_randoms then return end&lt;br /&gt;
    local l=get_debug_logger(2)&lt;br /&gt;
    local lines={}&lt;br /&gt;
    local reaction_lines={}&lt;br /&gt;
    local reaction_names={}&lt;br /&gt;
    local adamantine=world.inorganic.inorganic.ADAMANTINE&lt;br /&gt;
    if not adamantine then return end&lt;br /&gt;
    local adamantine_color=world.descriptor.color[world.descriptor.color_pattern[adamantine.material.color_pattern.SOLID].color[1]]&lt;br /&gt;
    local adamantine_modulus = 2500000  --mildly arbitrary, just below the theoretical limit&lt;br /&gt;
    l(&amp;quot;Starting&amp;quot;)&lt;br /&gt;
    local done_category=false&lt;br /&gt;
    for k,v in ipairs(world.inorganic.inorganic) do&lt;br /&gt;
        if not v.flags.SPECIAL and v.material.flags.IS_METAL then&lt;br /&gt;
            l(v.token)&lt;br /&gt;
            local token=&amp;quot;GEN_ADAMANTINE_&amp;quot;..v.token&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[INORGANIC:&amp;quot;..token..&amp;quot;]&amp;quot;&lt;br /&gt;
            add_generated_info(lines)&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
            for kk,vv in pairs(v.material.adj) do&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[STATE_ADJ:&amp;quot;..kk..&amp;quot;:adamantine &amp;quot;..vv..&amp;quot;]&amp;quot; --&amp;quot;adamantine molten steel&amp;quot;? it's fine&lt;br /&gt;
            end&lt;br /&gt;
            for kk,vv in pairs(v.material.name) do&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[STATE_NAME:&amp;quot;..kk..&amp;quot;:adamantine &amp;quot;..vv..&amp;quot;]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            l(2)&lt;br /&gt;
            local mat_values={}&lt;br /&gt;
            -- Find the ratio for which you get closest to (but not below) 2000000 in the material's worst property&lt;br /&gt;
            local worst=math.min(v.material.yield.IMPACT,v.material.fracture.SHEAR)&lt;br /&gt;
            local wafers=1&lt;br /&gt;
            local bars=1&lt;br /&gt;
            if worst &amp;lt; 2000000 then&lt;br /&gt;
                local ratio = (2000000-3*worst)/1000000&lt;br /&gt;
                local best_diff=1&lt;br /&gt;
                for i=1,10 do&lt;br /&gt;
                    local wafer_amt=i*ratio&lt;br /&gt;
                    if wafer_amt&amp;gt;1 and wafer_amt&amp;lt;20 and math.ceil(wafer_amt)-wafer_amt&amp;lt;best_diff then&lt;br /&gt;
                        best_diff=math.ceil(wafer_amt)-wafer_amt&lt;br /&gt;
                        wafers=math.ceil(wafer_amt)&lt;br /&gt;
                        bars=i&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            local avg_denom=1/(bars*3+wafers) -- Multiplication just a bit faster than division, we're rounding at the end anyway&lt;br /&gt;
            local solid_cl=nil&lt;br /&gt;
            for kk,vv in pairs(v.material.color_pattern) do&lt;br /&gt;
                -- time to get silly&lt;br /&gt;
                local this_color=world.descriptor.color[world.descriptor.color_pattern[vv].color[1]]&lt;br /&gt;
                local wanted_color={&lt;br /&gt;
                    r=(this_color.r*bars*3+adamantine_color.r*wafers)*avg_denom,&lt;br /&gt;
                    g=(this_color.g*bars*3+adamantine_color.g*wafers)*avg_denom,&lt;br /&gt;
                    b=(this_color.b*bars*3+adamantine_color.b*wafers)*avg_denom,&lt;br /&gt;
                }&lt;br /&gt;
                local best_total_diff=1000000000&lt;br /&gt;
                local best_clp=nil&lt;br /&gt;
                for _,clp in ipairs(world.descriptor.color_pattern) do&lt;br /&gt;
                    if clp.pattern==&amp;quot;MONOTONE&amp;quot; then&lt;br /&gt;
                        local cl=world.descriptor.color[clp.color[1]]&lt;br /&gt;
                        local diff=math.abs(wanted_color.r-cl.r)+math.abs(wanted_color.b-cl.b)+math.abs(wanted_color.g-cl.g)&lt;br /&gt;
                        if diff&amp;lt;best_total_diff then&lt;br /&gt;
                            best_clp=clp&lt;br /&gt;
                            best_total_diff=diff&lt;br /&gt;
                        end&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[STATE_COLOR:&amp;quot;..kk..&amp;quot;:&amp;quot;..best_clp.token..&amp;quot;]&amp;quot;&lt;br /&gt;
                if kk==&amp;quot;SOLID&amp;quot; then solid_cl=world.descriptor.color[best_clp.color[1]] end&lt;br /&gt;
            end&lt;br /&gt;
            local color_str=solid_cl.col_f..&amp;quot;:0:&amp;quot;..solid_cl.col_br&lt;br /&gt;
            l(color_str)&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[DISPLAY_COLOR:&amp;quot;..color_str..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[BUILD_COLOR:&amp;quot;..color_str..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[ITEMS_METAL][ITEMS_HARD][ITEMS_SCALED][ITEMS_BARRED]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
            if v.material.flags.ITEMS_DIGGER then&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[ITEMS_DIGGER]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            local function new_value(str)&lt;br /&gt;
                mat_values[str]=mat_values[str] or math.floor((adamantine.material[str]*wafers+v.material[str]*bars*3)*avg_denom+0.5)&lt;br /&gt;
                l(str,mat_values[str])&lt;br /&gt;
                return mat_values[str]&lt;br /&gt;
            end&lt;br /&gt;
            local function new_value_nested(str1,str2)&lt;br /&gt;
                mat_values[str1..str2]=mat_values[str1..str2] or math.floor((adamantine.material[str1][str2]*wafers+v.material[str1][str2]*bars*3)/(bars*3+wafers)+0.5)&lt;br /&gt;
                l(str1..str2,mat_values[str1..str2])&lt;br /&gt;
                return mat_values[str1..str2]&lt;br /&gt;
            end&lt;br /&gt;
            if new_value_nested(&amp;quot;fracture&amp;quot;,&amp;quot;SHEAR&amp;quot;)&amp;gt;170000 or new_value_nested(&amp;quot;yield&amp;quot;,&amp;quot;IMPACT&amp;quot;)&amp;gt;245000 then&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[ITEMS_WEAPON][ITEMS_AMMO]&amp;quot;&lt;br /&gt;
                if new_value(&amp;quot;solid_density&amp;quot;)&amp;lt;10000 then&lt;br /&gt;
                    lines[#lines+1]=&amp;quot;[ITEMS_WEAPON_RANGED][ITEMS_ARMOR]&amp;quot;&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MATERIAL_VALUE:&amp;quot;..new_value(&amp;quot;base_value&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[SPEC_HEAT:&amp;quot;..new_value(&amp;quot;temp_spec_heat&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MELTING_POINT:&amp;quot;..new_value(&amp;quot;temp_melting_point&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[BOILING_POINT:&amp;quot;..new_value(&amp;quot;temp_boiling_point&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[SOLID_DENSITY:&amp;quot;..new_value(&amp;quot;solid_density&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[LIQUID_DENSITY:&amp;quot;..new_value(&amp;quot;liquid_density&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MOLAR_MASS:&amp;quot;..new_value(&amp;quot;molar_mass&amp;quot;)..&amp;quot;]&amp;quot; -- i don't think this is actually correct&lt;br /&gt;
            for _,thing in ipairs({&amp;quot;yield&amp;quot;,&amp;quot;fracture&amp;quot;}) do&lt;br /&gt;
                for force,_ in pairs(v.material[thing]) do&lt;br /&gt;
                    lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_&amp;quot;..string.upper(thing)..&amp;quot;:&amp;quot;..new_value_nested(thing,force)..&amp;quot;]&amp;quot;&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            for _,force in ipairs(&amp;quot;IMPACT&amp;quot;,&amp;quot;COMPRESSIVE&amp;quot;,&amp;quot;TENSILE&amp;quot;,&amp;quot;TORSION&amp;quot;,&amp;quot;SHEAR&amp;quot;,&amp;quot;BENDING&amp;quot;) do&lt;br /&gt;
                local modulus = v.yield[force] / v.elasticity[force]&lt;br /&gt;
                local average_modulus = (adamantine_modulus*wafers + modulus*bars*3)*avg_denom&lt;br /&gt;
                local strain_at_yield = math.floor(new_value_nested(&amp;quot;yield&amp;quot;,force) / average_modulus + 0.5) -- usually zero, but can be 1 or 2 sometimes&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_YIELD:&amp;quot;..new_value_nested(&amp;quot;yield&amp;quot;,force)..&amp;quot;]&amp;quot;&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_FRACTURE:&amp;quot;..new_value_nested(&amp;quot;fracture&amp;quot;,force)..&amp;quot;]&amp;quot;&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_STRAIN_AT_YIELD:&amp;quot;..strain_at_yield..&amp;quot;]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MAX_EDGE:&amp;quot;..new_value(&amp;quot;max_edge&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            local reaction_token=token..&amp;quot;_MAKING&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[REACTION:&amp;quot;..reaction_token..&amp;quot;]&amp;quot;&lt;br /&gt;
            add_generated_info(reaction_lines)&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[NAME:make adamantine &amp;quot;..v.material.name.SOLID..&amp;quot; (use bars)]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[BUILDING:SMELTER:NONE]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[REAGENT:A:&amp;quot;..tostring(150*wafers)..&amp;quot;:BAR:NO_SUBTYPE:METAL:ADAMANTINE]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[REAGENT:B:&amp;quot;..tostring(150*bars)..&amp;quot;:BAR:NO_SUBTYPE:METAL:&amp;quot;..v.token..&amp;quot;]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[PRODUCT:100:&amp;quot;..tostring(bars+wafers)..&amp;quot;:BAR:NO_SUBTYPE:METAL:&amp;quot;..token..&amp;quot;][PRODUCT_DIMENSION:150]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[FORTRESS_MODE_ENABLED]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY:ADAMANTINE_ALLOYS]&amp;quot;&lt;br /&gt;
            if not done_category then&lt;br /&gt;
                done_category=true&lt;br /&gt;
                reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY_NAME:Adamantine alloys]&amp;quot;&lt;br /&gt;
                reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY_DESCRIPTION:Debase adamantine with other metals to get extremely strong alloys.]&amp;quot;&lt;br /&gt;
                reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY_KEY:CUSTOM_SHIFT_A]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[FUEL]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[SKILL:SMELT]&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    local entity_lines={}&lt;br /&gt;
    raws.register_inorganics(lines)&lt;br /&gt;
    -- not used in vanilla right now, due to lack of instruments, but you CAN do this&lt;br /&gt;
    raws.register_reactions(reaction_lines)&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:Modding Examples]]&lt;br /&gt;
[[Category:Lua|S]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Lua_script_examples&amp;diff=311173</id>
		<title>Lua script examples</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Lua_script_examples&amp;diff=311173"/>
		<updated>2025-10-18T18:54:55Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Repo link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
{{Modding}}&lt;br /&gt;
{{Main|Lua scripting}}&lt;br /&gt;
Snippets of vanilla generation can be found in [[:Category:Lua script pages]], and all vanilla scripts can be found in ``[https://github.com/Putnam3145/DF-Raws/tree/master/vanilla_procedural/scripts data/vanilla/vanilla_procedural/scripts/]``.&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;!--Needs a special line break--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Helper functions==&lt;br /&gt;
&lt;br /&gt;
===Search by reaction class===&lt;br /&gt;
This script returns a table of all inorganic materials with a given {{token|REACTION_CLASS|md}}. The ``mat`` table also has ``reaction_product_class``, which includes both {{token|MATERIAL_REACTION_PRODUCT|md}} and {{token|ITEM_REACTION_PRODUCT|md}} IDs.&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=get_all_by_reaction_class()&lt;br /&gt;
|script=&lt;br /&gt;
function get_all_by_reaction_class(rc)&lt;br /&gt;
    local valid={}&lt;br /&gt;
    for i,inorg in ipairs(world.inorganic.inorganic) do&lt;br /&gt;
        for _,class in inorg.mat.reaction_class do&lt;br /&gt;
            if class==rc then&lt;br /&gt;
                valid[#valid+1]=inorg&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return valid&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
==Languages==&lt;br /&gt;
&lt;br /&gt;
===Identity language===&lt;br /&gt;
This makes a [[Language token|language]] called ``GEN_IDENTITY`` which is like: &amp;quot;Abbey abbeyabbeys the abbey of abbeys&amp;quot; - i.e. it's the &amp;quot;English&amp;quot; language you might see occasionally. It is present in ``vanilla_procedural`` and can be used for {{Token|TRANSLATION|entity}} by default.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=GEN_IDENTITY&lt;br /&gt;
|script=&lt;br /&gt;
languages.GEN_IDENTITY=function()&lt;br /&gt;
    -- just to demonstrate the absolute most basic method of generating one of these&lt;br /&gt;
    -- also so that you can just mod stuff to use GEN_IDENTITY&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    local unempty = function(str1, str2) &lt;br /&gt;
        return str1=='' and str2 or str1&lt;br /&gt;
    end&lt;br /&gt;
    for k,v in ipairs(world.language.word) do&lt;br /&gt;
        local str=''&lt;br /&gt;
        str=unempty(str,v.NOUN_SING)&lt;br /&gt;
        str=unempty(str,v.ADJ)&lt;br /&gt;
        str=unempty(str,v.VERB_FIRST_PRES)&lt;br /&gt;
        str=unempty(str,string.lower(v.token))&lt;br /&gt;
        tbl[v.token]=str&lt;br /&gt;
    end&lt;br /&gt;
    return tbl&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
===Kobold language===&lt;br /&gt;
This generates a language made of {{token|UTTERANCES}}. This is essentially a proper translation based on the [[kobold language]]. Note that the hardcoded ``utterance()`` function generates words independently of any existing words in the language, so you may get duplicate words. &lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=GEN_KOBOLD&lt;br /&gt;
|script=&lt;br /&gt;
languages.GEN_KOBOLD=function()&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    for k,v in ipairs(world.language.word) do&lt;br /&gt;
        tbl[v.token]=utterance()&lt;br /&gt;
    end&lt;br /&gt;
    return tbl&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
==Generators==&lt;br /&gt;
&lt;br /&gt;
===Non-random generated material===&lt;br /&gt;
&lt;br /&gt;
Here's an example of an object registered through the ``do_once`` table. There are no random elements, it is equivalent (save for being {{token|GENERATED|mat}}) to an object defined through [[Material definition token]]s and registered through the ``raws.register_inorganics()`` function. It also prints itself to the lualog for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Single material&lt;br /&gt;
|script=do_once.cobalt = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	&lt;br /&gt;
	-- basic inorganic definition&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[INORGANIC:COBALT]&amp;quot;&lt;br /&gt;
	-- add [GENERATED] to save properly&lt;br /&gt;
	add_generated_info(lines)&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:cobalt]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid cobalt]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling cobalt]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:COBALT]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	raws.register_inorganics(lines)&lt;br /&gt;
&lt;br /&gt;
	-- show in lualog&lt;br /&gt;
	print_table(lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can register multiple objects at the same time. This script takes a table of color tokens, and makes a metal named after each of them, with a corresponding cheaty adventure reaction.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Chromatic metals&lt;br /&gt;
|script=do_once.chromatic_metal = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local reaction_lines = {}&lt;br /&gt;
	&lt;br /&gt;
	local color_tokens = {&lt;br /&gt;
			&amp;quot;AMETHYST&amp;quot;,&lt;br /&gt;
			&amp;quot;AQUAMARINE&amp;quot;,&lt;br /&gt;
			&amp;quot;CARDINAL&amp;quot;,&lt;br /&gt;
			&amp;quot;COBALT&amp;quot;,&lt;br /&gt;
			&amp;quot;EMERALD&amp;quot;,&lt;br /&gt;
			&amp;quot;JADE&amp;quot;,&lt;br /&gt;
			&amp;quot;MOSS_GREEN&amp;quot;,&lt;br /&gt;
			&amp;quot;PEARL&amp;quot;,&lt;br /&gt;
			&amp;quot;SAFFRON&amp;quot;,&lt;br /&gt;
			&amp;quot;TURQUOISE&amp;quot;,&lt;br /&gt;
			&amp;quot;WHITE&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- make a metal for each color token&lt;br /&gt;
	for k,v in pairs(color_tokens) do&lt;br /&gt;
		-- begin definition with ID token, [GENERATED] and template&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[INORGANIC:CHROMATICMETAL&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(lines)&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		-- look up the metal's color in the world table&lt;br /&gt;
		-- using string.lower(v) would result in &amp;quot;moss_green&amp;quot;&lt;br /&gt;
		local metalname = world.descriptor.color[v].name&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:&amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		-- appearance&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		-- create a corresponding reaction&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[REACTION:CHROMATICMETAL&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(reaction_lines)&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[NAME:create &amp;quot;..metalname..&amp;quot; bars]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[ADVENTURE_MODE_ENABLED]&amp;quot;&lt;br /&gt;
		-- make sure we're consistent with the inorganic ID&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT:100:1:BAR:NONE:INORGANIC:CHROMATICMETAL&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT_DIMENSION:150]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	raws.register_inorganics(lines)&lt;br /&gt;
	raws.register_reactions(reaction_lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Random generation===&lt;br /&gt;
&lt;br /&gt;
Here's an example of various DF-specific randomizers in use:&lt;br /&gt;
* ``trandom()`` is used to determine how many metals generate this way.&lt;br /&gt;
* ``utterance()`` generates utterances from the [[Kobold language]], e.g. &amp;quot;gorsnus&amp;quot;, &amp;quot;stogodilmus&amp;quot;, &amp;quot;gaylgis&amp;quot;&lt;br /&gt;
* ``pick_random_no_replace()`` determines the color from the table, but removes the rolled value so there's no repeats.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Kobold metals&lt;br /&gt;
|script=do_once.kobold_metal = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local reaction_lines = {}&lt;br /&gt;
	&lt;br /&gt;
	local color_tokens = {&lt;br /&gt;
		&amp;quot;AMETHYST&amp;quot;,&lt;br /&gt;
		&amp;quot;AQUAMARINE&amp;quot;,&lt;br /&gt;
		&amp;quot;CARDINAL&amp;quot;,&lt;br /&gt;
		&amp;quot;COBALT&amp;quot;,&lt;br /&gt;
		&amp;quot;EMERALD&amp;quot;,&lt;br /&gt;
		&amp;quot;JADE&amp;quot;,&lt;br /&gt;
		&amp;quot;MOSS_GREEN&amp;quot;,&lt;br /&gt;
		&amp;quot;PEARL&amp;quot;,&lt;br /&gt;
		&amp;quot;SAFFRON&amp;quot;,&lt;br /&gt;
		&amp;quot;TURQUOISE&amp;quot;,&lt;br /&gt;
		&amp;quot;WHITE&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- trandom() is expressed as (1dN)-1 because it uses C++ math that starts at 0&lt;br /&gt;
	local max_loops = trandom(10)+1&lt;br /&gt;
&lt;br /&gt;
	-- create 1-10 metals&lt;br /&gt;
	for i = 1,max_loops do&lt;br /&gt;
		-- begin definition with ID token, [GENERATED] and template&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[INORGANIC:KOBOLDMETAL&amp;quot;..i..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(lines)&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		-- this is the kobold name function&lt;br /&gt;
		local metalname = utterance()..&amp;quot;ite&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:&amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		-- no_replace removes the value from the table&lt;br /&gt;
		-- we don't need a fallback because there's more values than metals&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:&amp;quot;..pick_random_no_replace(color_tokens)..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		-- create a corresponding reaction&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[REACTION:KOBOLDMETAL&amp;quot;..i..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(reaction_lines)&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[NAME:create &amp;quot;..metalname..&amp;quot; bars]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[ADVENTURE_MODE_ENABLED]&amp;quot;&lt;br /&gt;
		-- make sure we're consistent with the inorganic ID&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT:100:1:BAR:NONE:INORGANIC:KOBOLDMETAL&amp;quot;..i..&amp;quot;]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT_DIMENSION:150]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	raws.register_inorganics(lines)&lt;br /&gt;
	raws.register_reactions(reaction_lines)&lt;br /&gt;
end		&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===New divine metals===&lt;br /&gt;
&lt;br /&gt;
Many of the tables used by vanilla procedural objects are global, and thus can be added to or overwritten by mods. You can add new metal descriptions for divine metal pretty easily, for example:&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Laughing metal&lt;br /&gt;
|script=&lt;br /&gt;
metal_by_sphere.CHILDREN={&lt;br /&gt;
    name=&amp;quot;laughing metal&amp;quot;,&lt;br /&gt;
    col=&amp;quot;7:0:1&amp;quot;,&lt;br /&gt;
    color=&amp;quot;WHITE&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can also add alternatives to the default divine metal function, such as one based on the aforementioned kobold metals.&lt;br /&gt;
Vanilla divine metal uses ``metal_by_sphere`` to determine its properties, and is thus valid only if the input sphere has an entry in that table.&lt;br /&gt;
Note that even if the weights are nominally the same; because it is valid for all input spheres, it will outnumber instances of the more limited vanilla material.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Divine kobold metal&lt;br /&gt;
|script=materials.divine.metal.kobold = function(sphere)&lt;br /&gt;
	if not foo then&lt;br /&gt;
		log(#metal_by_sphere)&lt;br /&gt;
		log(#world.spheres)&lt;br /&gt;
		foo = true&lt;br /&gt;
	end&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	--generation function handles ID, registration, generated info&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
	--add_generated_info(lines)&lt;br /&gt;
	local metalname = utterance()..&amp;quot;ite&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:&amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local color_tokens = {&lt;br /&gt;
		&amp;quot;AMETHYST&amp;quot;,&lt;br /&gt;
		&amp;quot;AQUAMARINE&amp;quot;,&lt;br /&gt;
		&amp;quot;CARDINAL&amp;quot;,&lt;br /&gt;
		&amp;quot;COBALT&amp;quot;,&lt;br /&gt;
		&amp;quot;EMERALD&amp;quot;,&lt;br /&gt;
		&amp;quot;JADE&amp;quot;,&lt;br /&gt;
		&amp;quot;MOSS_GREEN&amp;quot;,&lt;br /&gt;
		&amp;quot;PEARL&amp;quot;,&lt;br /&gt;
		&amp;quot;SAFFRON&amp;quot;,&lt;br /&gt;
		&amp;quot;TURQUOISE&amp;quot;,&lt;br /&gt;
		&amp;quot;WHITE&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	--allow for duplicate colors&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:&amp;quot;..pick_random(color_tokens)..&amp;quot;]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	--add a block of tokens&lt;br /&gt;
	lines=split_to_lines(lines,[[&lt;br /&gt;
    [MATERIAL_VALUE:200]&lt;br /&gt;
	[SPEC_HEAT:7500]&lt;br /&gt;
	[MELTING_POINT:NONE]&lt;br /&gt;
	[BOILING_POINT:NONE]&lt;br /&gt;
	[ITEMS_WEAPON][ITEMS_WEAPON_RANGED][ITEMS_AMMO][ITEMS_DIGGER][ITEMS_ARMOR][ITEMS_ANVIL]&lt;br /&gt;
	[ITEMS_HARD]&lt;br /&gt;
	[ITEMS_METAL]&lt;br /&gt;
	[ITEMS_BARRED]&lt;br /&gt;
	[ITEMS_SCALED]&lt;br /&gt;
	[SOLID_DENSITY:1000]&lt;br /&gt;
	[LIQUID_DENSITY:1000]&lt;br /&gt;
	[MOLAR_MASS:20000]&lt;br /&gt;
	[IMPACT_YIELD:1000000]&lt;br /&gt;
	[IMPACT_FRACTURE:2000000]&lt;br /&gt;
	[IMPACT_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[COMPRESSIVE_YIELD:1000000]&lt;br /&gt;
	[COMPRESSIVE_FRACTURE:2000000]&lt;br /&gt;
	[COMPRESSIVE_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[TENSILE_YIELD:1000000]&lt;br /&gt;
	[TENSILE_FRACTURE:2000000]&lt;br /&gt;
	[TENSILE_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[TORSION_YIELD:1000000]&lt;br /&gt;
	[TORSION_FRACTURE:2000000]&lt;br /&gt;
	[TORSION_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[SHEAR_YIELD:1000000]&lt;br /&gt;
	[SHEAR_FRACTURE:2000000]&lt;br /&gt;
	[SHEAR_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[BENDING_YIELD:1000000]&lt;br /&gt;
	[BENDING_FRACTURE:2000000]&lt;br /&gt;
	[BENDING_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[MAX_EDGE:12000]&lt;br /&gt;
	]])&lt;br /&gt;
	--sends this to get registered&lt;br /&gt;
	return {raws=lines,weight=1}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Remove default functions===&lt;br /&gt;
&lt;br /&gt;
Just as easily as new functions and table entries can be added, default entries can be overwritten so that they cannot generate. This snippet removes the default forgotten beasts.&lt;br /&gt;
&lt;br /&gt;
See [[Lua functions#Generation Tables]] for a list of the tables the default functions are stored in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; &amp;gt;&lt;br /&gt;
creatures.fb.default=nil&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Basic generated creature===&lt;br /&gt;
&lt;br /&gt;
This is essentially the simplest possible creature. It has no extraordinary options (beyond an [[Sphere|association]] with animals and creation), and each world generates one species from this function. It doesn't have any biome tokens or likewise, so it can only be spawned in the arena, but it is still functional.&lt;br /&gt;
&lt;br /&gt;
A sample output would be &amp;quot;A quadruped composed of flame. It has two narrow tails and it has a regal bearing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=do_once.basic_creature&lt;br /&gt;
|script=do_once.basic_creature = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local tok=&amp;quot;BASIC_PROCEDURAL_CREATURE&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE:&amp;quot;..tok..&amp;quot;]&amp;quot;&lt;br /&gt;
	add_generated_info(lines)&lt;br /&gt;
	&lt;br /&gt;
	local options={&lt;br /&gt;
		token=tok,&lt;br /&gt;
		spheres={&lt;br /&gt;
			ANIMALS=true,&lt;br /&gt;
			CREATION=true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	lines=split_to_lines(lines,[[&lt;br /&gt;
		[NAME:procedural creature:procedural creatures:procedural]&lt;br /&gt;
		[CASTE_NAME:procedural creature:procedural creatures:procedural]&lt;br /&gt;
	]])&lt;br /&gt;
	--adds some common tokens depending on the options&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	&lt;br /&gt;
	--handles sphere options: fills out [SPHERE] tokens from options.spheres, and so on&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	&lt;br /&gt;
	--choose a creature profile to base on&lt;br /&gt;
	local rcp=get_random_creature_profile(options)&lt;br /&gt;
	--set [BODY_SIZE] and some relevant tokens&lt;br /&gt;
	add_body_size(lines,rcp.min_size,options)&lt;br /&gt;
	--add the tile from the creature profile&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	--the Big Function determining tweaks, body, appearance, description...&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	&lt;br /&gt;
	raws.register_creatures(lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Making your own RCP===&lt;br /&gt;
&lt;br /&gt;
You don't have to be limited to the vanilla list of random creature variants. Mods can add new kinds of random creature profiles, materials, etc that can be seamlessly integrated into how it generates creatures. &lt;br /&gt;
&lt;br /&gt;
This script generates a single creature based on a [[Wikipedia:Eurypterid|eurypterid]]. It has a unique RCP, set in the function itself.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=do_once.local_rcp&lt;br /&gt;
|script=do_once.local_rcp = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local tok=&amp;quot;LOCAL_RCP&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE:&amp;quot;..tok..&amp;quot;]&amp;quot;&lt;br /&gt;
	add_generated_info(lines)&lt;br /&gt;
	&lt;br /&gt;
	local options={&lt;br /&gt;
		token=tok,&lt;br /&gt;
		spheres={&lt;br /&gt;
			ANIMALS=true,&lt;br /&gt;
			WATER=true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	--habitat&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[BIOME:ANY_OCEAN]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[LARGE_ROAMING]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[AQUATIC][UNDERSWIM]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	--define a local creature profile&lt;br /&gt;
	local rcp={&lt;br /&gt;
		name_string=&amp;quot;eurypterid&amp;quot;,&lt;br /&gt;
		tile='E',&lt;br /&gt;
		body_base=&amp;quot;SCORPION&amp;quot;,&lt;br /&gt;
		c_class=&amp;quot;CHITIN_EXO&amp;quot;,&lt;br /&gt;
		must_have_pincers=true,&lt;br /&gt;
		must_have_tail=true,&lt;br /&gt;
		min_size=70000,&lt;br /&gt;
		weight=200,&lt;br /&gt;
	}&lt;br /&gt;
	local name_str = rcp.name_string..&amp;quot;:&amp;quot;..rcp.name_string..&amp;quot;s:&amp;quot;..rcp.name_string..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[NAME:&amp;quot;..name_str&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[CASTE_NAME:&amp;quot;..name_str&lt;br /&gt;
	&lt;br /&gt;
	add_body_size(lines,rcp.min_size,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	&lt;br /&gt;
	raws.register_creatures(lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Adding a eurypterid profile to ``random_creature_profiles`` allows any creature to access it, if their profile is determined randomly.&lt;br /&gt;
&lt;br /&gt;
This script gives it proper flippers in its body base function. It's also associated with water-based random creatures, so it can potentially generate as an aquatic [[forgotten beast]] species.&lt;br /&gt;
&lt;br /&gt;
Other feature variants stored in tables, like materials, attacks, or descriptions, can be added in this way.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Global RCP&lt;br /&gt;
|script=&lt;br /&gt;
random_creature_types.EURYPTERID={&lt;br /&gt;
		name_string=&amp;quot;eurypterid&amp;quot;,&lt;br /&gt;
		tile='E',&lt;br /&gt;
		body_base=&amp;quot;SCORPION_FLIPPERS&amp;quot;,&lt;br /&gt;
		c_class=&amp;quot;CHITIN_EXO&amp;quot;,&lt;br /&gt;
		must_have_pincers=true,&lt;br /&gt;
		must_have_tail=true,&lt;br /&gt;
		min_size=70000,&lt;br /&gt;
		weight=200,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body_base_fun.SCORPION_FLIPPERS=function(rcp,options)&lt;br /&gt;
		options.pcg_layering_base=&amp;quot;BEAST_SCORPION&amp;quot;&lt;br /&gt;
		options.walk_var=&amp;quot;STANDARD_WALKING_GAITS&amp;quot;&lt;br /&gt;
		options.walk_speed=900&lt;br /&gt;
		return {&amp;quot;RCP_CEPHALOTHORAX&amp;quot;,&amp;quot;RCP_ABDOMEN&amp;quot;,&amp;quot;RCP_FIRST_SIMPLE_LEGS&amp;quot;,&amp;quot;RCP_SECOND_SIMPLE_LEGS&amp;quot;,&amp;quot;RCP_THIRD_SIMPLE_LEGS&amp;quot;,&amp;quot;RCP_PINCERS&amp;quot;,&amp;quot;RCP_FRONT_FLIPPER&amp;quot;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
water_based_random_creature.EURYPTERID=true&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Werebugs===&lt;br /&gt;
&lt;br /&gt;
You can make a custom function to determine what RCPs are available to a given creature.&lt;br /&gt;
&lt;br /&gt;
These scripts are for an arthropoid version of a [[werebeast]].&lt;br /&gt;
* ``arthropod_rcp`` is a list of RCP keys which fit this theme (plus a few worms on there for fun), which the creature function rolls on to pick its form.&lt;br /&gt;
* ``is_bloodsucking_by_key``, along with ``rcp.must_suck_blood_through_proboscis`` and ``rcp.must_suck_blood_through_mouth`` are checked to assign {{token|BLOODSUCKER}} to it, which allows certain creature types to exhibit vampiric behavior if their berserk rampage wasn't enough [[fun]].&lt;br /&gt;
&lt;br /&gt;
Otherwise, the function should work the same as vanilla werebeasts, generating an associated [[Interaction token|major curse]] in the same way and becoming &amp;quot;twisted into humanoid form&amp;quot; (at the expense of their additional limbs).&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=arthropod_rcp&lt;br /&gt;
|script=local arthropod_rcp = {&lt;br /&gt;
	&amp;quot;ARACHNID_MITE&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_SCORPION&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_SPIDER&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_TARANTULA&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_TICK&amp;quot;,&lt;br /&gt;
	&amp;quot;CRUSTACEAN_CRAB&amp;quot;,&lt;br /&gt;
	&amp;quot;CRUSTACEAN_LOBSTER&amp;quot;,&lt;br /&gt;
	&amp;quot;CRUSTACEAN_SHRIMP&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_ANT&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_ANTLION&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_APHID&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_BEE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_BUTTERFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CADDISFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CATERPILLAR&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CICADA&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_COCKROACH&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CRICKET&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_DAMSELFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_DARKLING_BEETLE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_DRAGONFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_EARWIG&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_FIREFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_FLEA&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_FLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_GRASSHOPPER&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_HORNET&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_LACEWING&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_LADYBUG&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_LOUSE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MAGGOT&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MANTIS&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MAYFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MOSQUITO&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MOTH&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SILVERFISH&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SCARAB_BEETLE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SCORPIONFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SNAKEFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_STONEFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_TERMITE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_THRIPS&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_WASP&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_WEEVIL&amp;quot;,&lt;br /&gt;
	&amp;quot;NEMATODE&amp;quot;,&lt;br /&gt;
	&amp;quot;LEECH&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=is_bloodsucking_by_key&lt;br /&gt;
|script=local is_bloodsucking_by_key = {&lt;br /&gt;
	ARACHNID_MITE=true,&lt;br /&gt;
	ARACHNID_TICK=true,&lt;br /&gt;
	INSECT_EARWIG=true,--some are parasitic&lt;br /&gt;
	INSECT_FLEA=true,&lt;br /&gt;
	INSECT_LOUSE=true,&lt;br /&gt;
	INSECT_MAGGOT=true,&lt;br /&gt;
	INSECT_THRIPS=true,--no bloodsucking reported, but does bite humans&lt;br /&gt;
	NEMATODE=true,&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=creatures.night_creature.werebeast.werebug&lt;br /&gt;
|script=creatures.night_creature.werebeast.werebug=function(tok)&lt;br /&gt;
	local lines={}&lt;br /&gt;
	local options={&lt;br /&gt;
		spheres={&lt;br /&gt;
			CHAOS=true,&lt;br /&gt;
			ANIMALS=true,&lt;br /&gt;
			NIGHT=true,&lt;br /&gt;
			MOON=true&lt;br /&gt;
		},&lt;br /&gt;
		always_glowing_eyes=true,&lt;br /&gt;
		use_werebeast_pcg=true, --use them if werebug sprites somehow exist&lt;br /&gt;
		animal_coloring_allowed=true,&lt;br /&gt;
		no_tweak=true,&lt;br /&gt;
		material_weakness=true,&lt;br /&gt;
		prioritize_bite=true,&lt;br /&gt;
		force_ichor=true,&lt;br /&gt;
		token=tok&lt;br /&gt;
	}&lt;br /&gt;
	options.night_creature_agile_pref=true&lt;br /&gt;
	night_creature_universals(lines,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NIGHT_CREATURE_HUNTER]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CAN_LEARN]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CAN_SPEAK]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NO_GENDER]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[BONECARN]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CRAZED]&amp;quot;&lt;br /&gt;
	if options.night_creature_strength_pref then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:STRENGTH:1000:1250:1500:2000:2250:2500:3000]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:AGILITY:450:550:700:750:800:850:900]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:TOUGHNESS:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:ENDURANCE:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		options.special_walk_speed=1000&lt;br /&gt;
	elseif options.night_creature_agile_pref then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:STRENGTH:450:550:700:750:800:850:900]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:AGILITY:1000:1250:1500:2000:2250:2500:3000]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:TOUGHNESS:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:ENDURANCE:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		options.special_walk_speed=800;&lt;br /&gt;
	elseif options.night_creature_strength_agile_pref then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:STRENGTH:1000:1150:1250:1500:2000:2250:2500]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:AGILITY:1000:1150:1250:1500:2000:2250:2500]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:TOUGHNESS:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:ENDURANCE:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		options.special_walk_speed=850;&lt;br /&gt;
	end&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:RECUPERATION:450:1050:1150:1250:1350:1550:2250]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:DISEASE_RESISTANCE:700:1300:1400:1500:1600:1800:2500]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:ANALYTICAL_ABILITY:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:FOCUS:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:WILLPOWER:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:PATIENCE:0:333:666:1000:2333:3666:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:MEMORY:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:LINGUISTIC_ABILITY:450:1050:1150:1250:1350:1550:2250]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:MUSICALITY:0:333:666:1000:2333:3666:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:SOCIAL_AWARENESS:700:1300:1400:1500:1600:1800:2500]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:BASHFUL:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:STRESS_VULNERABILITY:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:FRIENDLINESS:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:DISDAIN_ADVICE:100:100:100]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:CHEER_PROPENSITY:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:GRATITUDE:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:TRUST:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:ALTRUISM:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:CRUELTY:100:100:100]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:WRESTLING:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:BITE:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:GRASP_STRIKE:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:STANCE_STRIKE:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:MELEE_COMBAT:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:DODGING:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:SNEAK:20]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[DIFFICULTY:3]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[LAIR:SIMPLE_BURROW:50]&amp;quot;&lt;br /&gt;
	-- pick a random bug RCP, there's no overlap with the mammal/reptile standard werebeasts&lt;br /&gt;
	finalize_random_creature_types() -- good practice to run before rolling on it&lt;br /&gt;
	local rcp_key = pick_random_no_replace(arthropod_rcp)&lt;br /&gt;
	local rcp=random_creature_types[rcp_key] or random_creature_types.INSECT_MANTIS&lt;br /&gt;
&lt;br /&gt;
	local custom_desc_str = &amp;quot;it is crazed for blood and flesh&amp;quot;&lt;br /&gt;
	-- make them also vampires if they suck blood&lt;br /&gt;
	if rcp.must_suck_blood_through_proboscis or rcp.must_suck_blood_through_mouth or is_bloodsucking_by_key[rcp_key] then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[BLOODSUCKER]&amp;quot;&lt;br /&gt;
		custom_desc_str = &amp;quot;it is crazed for warm blood&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	-- This sort of process should be fully generalized&lt;br /&gt;
	-- to all creatures you want to have bespoke associated interactions&lt;br /&gt;
	-- for example, you can have a blessing that allows a sort of&lt;br /&gt;
	-- uncrazed transformation into some sort of bespoke&lt;br /&gt;
	-- generated thing--at least, hopefully it's robust enough for that&lt;br /&gt;
	local choice=generate_from_list(werebeast_origin_interactions,tok,rcp.name_string,options)&lt;br /&gt;
	map_merge(options,choice.options)&lt;br /&gt;
	local werebeast_choice_raws=choice.interaction or choice.raws&lt;br /&gt;
	raws.register_interactions(werebeast_choice_raws)&lt;br /&gt;
	add_body_size(lines,math.max(rcp.min_size,80000+trandom(11)*1000),options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:165]&amp;quot; --Ñ&lt;br /&gt;
	options.forced_color={&lt;br /&gt;
		f=6,&lt;br /&gt;
		b=0,&lt;br /&gt;
		br=1&lt;br /&gt;
	}&lt;br /&gt;
	options.custom_desc_func=function(options)&lt;br /&gt;
		return custom_desc_str&lt;br /&gt;
	end&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[GO_TO_START]&amp;quot;&lt;br /&gt;
	-- remove second words like &amp;quot; beetle&amp;quot;, etc from the end&lt;br /&gt;
	local short_name = rcp.name_string:gsub(&amp;quot;%s(%w+)$&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
	local name_str=&amp;quot;were&amp;quot;..short_name..&amp;quot;:were&amp;quot;..short_name..&amp;quot;s:were&amp;quot;..short_name..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NAME:&amp;quot;..name_str&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CASTE_NAME:&amp;quot;..name_str&lt;br /&gt;
	return {raws=lines,weight=1}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===New forgotten beasts===&lt;br /&gt;
You can add new types of forgotten beasts (or more appropriately, {{token|FEATURE_BEAST}}s). These generate as alternatives when populating the caverns with unique monsters. There are a number of options to interact with shared generation functions.&lt;br /&gt;
&lt;br /&gt;
Unbidden spirits only appear in dry cave layers, and like &amp;quot;spirit&amp;quot; [[demon]]s, are malevolent floating beings made of gas or dust.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Unbidden spirit&lt;br /&gt;
|script=&lt;br /&gt;
creatures.fb.unbidden=function(layer_type,tok)&lt;br /&gt;
    if layer_type==0 then return nil end -- land only&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    local options={&lt;br /&gt;
        strong_attack_tweak=true,&lt;br /&gt;
        always_make_uniform=true,&lt;br /&gt;
        always_insubstantial=true,&lt;br /&gt;
        intangible_flier=true,&lt;br /&gt;
        spheres={CAVERNS=true},&lt;br /&gt;
        is_evil=true,&lt;br /&gt;
        sickness_name=&amp;quot;beast sickness&amp;quot;,&lt;br /&gt;
        token=tok&lt;br /&gt;
    }&lt;br /&gt;
    tbl=split_to_lines(tbl,[[&lt;br /&gt;
    [FEATURE_BEAST]&lt;br /&gt;
    [ATTACK_TRIGGER:0:0:2]&lt;br /&gt;
    [NAME:unbidden spirit:unbidden spirit:unbidden spirit]&lt;br /&gt;
    [CASTE_NAME:unbidden spirit:unbidden spirit:unbidden spirit]&lt;br /&gt;
    [NO_GENDER]&lt;br /&gt;
    [CARNIVORE]&lt;br /&gt;
    [DIFFICULTY:10]&lt;br /&gt;
&lt;br /&gt;
    [NATURAL_SKILL:WRESTLING:6]&lt;br /&gt;
    [NATURAL_SKILL:BITE:6]&lt;br /&gt;
    [NATURAL_SKILL:GRASP_STRIKE:6]&lt;br /&gt;
    [NATURAL_SKILL:STANCE_STRIKE:6]&lt;br /&gt;
    [NATURAL_SKILL:MELEE_COMBAT:6]&lt;br /&gt;
    [NATURAL_SKILL:DODGING:6]&lt;br /&gt;
    [NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&lt;br /&gt;
    [LARGE_PREDATOR]&lt;br /&gt;
    ]])&lt;br /&gt;
    add_regular_tokens(tbl,options)&lt;br /&gt;
    tbl[#tbl+1]=layer_type==0 and &amp;quot;[BIOME:SUBTERRANEAN_WATER]&amp;quot; or &amp;quot;[BIOME:SUBTERRANEAN_CHASM]&amp;quot;&lt;br /&gt;
    if layer_type==0 then options.spheres.WATER=true end&lt;br /&gt;
    options.spheres[pick_random(evil_spheres)]=true&lt;br /&gt;
    options.do_water=layer_type==0&lt;br /&gt;
    populate_sphere_info(tbl,options)&lt;br /&gt;
    local rcp=get_random_creature_profile(options)&lt;br /&gt;
    add_body_size(tbl,math.max(10000000,rcp.min_size),options)&lt;br /&gt;
    tbl[#tbl+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
    build_procgen_creature(rcp,tbl,options)&lt;br /&gt;
    -- Weight is a float; all vanilla objects have weight 1&lt;br /&gt;
    return {creature=tbl,weight=0.5}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Construct creature|Elementals]] are defined by the material they're made of, using a table of options to set the right properties. In a dry chasm layer, they'll roll on the ``fb_elements`` table, while in a water layer, they'll be a water elemental. Should they ever carry a [[syndrome]], they would inflict [[Wikipedia:Dyscrasia|dyskrasia]].&lt;br /&gt;
&lt;br /&gt;
The most important feature is setting ``options.sphere_rcm`` to a key in ``random_creature_materials``, so fire elementals are made of &amp;quot;FLAME&amp;quot; and earth elementals are made of &amp;quot;ANY_MINERAL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Elemental&lt;br /&gt;
|script=&lt;br /&gt;
fb_elements = {&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;quot;fire&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;FLAME&amp;quot;,&lt;br /&gt;
		spheres={ FIRE=true },&lt;br /&gt;
		options={ fire_immune=true }&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;quot;earth&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;ANY_MINERAL&amp;quot;,&lt;br /&gt;
		rcp_options={ always_flightless=true },&lt;br /&gt;
		spheres={&lt;br /&gt;
			EARTH=true,&lt;br /&gt;
			MINERALS=true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;quot;air&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;STEAM&amp;quot;,&lt;br /&gt;
		spheres={&lt;br /&gt;
			WIND=true,&lt;br /&gt;
			SKY=true&lt;br /&gt;
		},&lt;br /&gt;
		options={&lt;br /&gt;
			always_insubstantial=true,&lt;br /&gt;
			intangible_flier=true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
creatures.fb.elemental=function(layer_type,tok)&lt;br /&gt;
	local lines={}&lt;br /&gt;
	local options={&lt;br /&gt;
		strong_attack_tweak=true,&lt;br /&gt;
		always_make_uniform=true, --irrelevant due to sphere_rcm&lt;br /&gt;
		spheres={},&lt;br /&gt;
		sickness_name=&amp;quot;dyskrasia&amp;quot;,&lt;br /&gt;
		token=tok&lt;br /&gt;
	}&lt;br /&gt;
	lines=split_to_lines(lines,[[&lt;br /&gt;
		[FEATURE_BEAST]&lt;br /&gt;
		[ATTACK_TRIGGER:0:0:2]&lt;br /&gt;
		[NO_GENDER]&lt;br /&gt;
		[NO_EAT][NO_DRINK]&lt;br /&gt;
		[DIFFICULTY:10]&lt;br /&gt;
		&lt;br /&gt;
		[NATURAL_SKILL:WRESTLING:6]&lt;br /&gt;
		[NATURAL_SKILL:BITE:6]&lt;br /&gt;
		[NATURAL_SKILL:GRASP_STRIKE:6]&lt;br /&gt;
		[NATURAL_SKILL:STANCE_STRIKE:6]&lt;br /&gt;
		[NATURAL_SKILL:MELEE_COMBAT:6]&lt;br /&gt;
		[NATURAL_SKILL:DODGING:6]&lt;br /&gt;
		[NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&lt;br /&gt;
		[LARGE_PREDATOR]&lt;br /&gt;
	]])&lt;br /&gt;
	&lt;br /&gt;
	-- Create a water elemental in water layers, otherwise use another type&lt;br /&gt;
	local water_elemental = {&lt;br /&gt;
		name=&amp;quot;water&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;WATER&amp;quot;,&lt;br /&gt;
		spheres={WATER=true},&lt;br /&gt;
		options={do_water=true}&lt;br /&gt;
	}&lt;br /&gt;
	local my_element = layer_type==1 and pick_random(fb_elements) or water_elemental&lt;br /&gt;
	&lt;br /&gt;
	-- Assign propertes from chosen element&lt;br /&gt;
	map_merge(options.spheres,my_element.spheres)&lt;br /&gt;
	if my_element.options then map_merge(options,my_element.options) end&lt;br /&gt;
	&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	lines[#lines+1]=layer_type==0 and &amp;quot;[BIOME:SUBTERRANEAN_WATER]&amp;quot; or &amp;quot;[BIOME:SUBTERRANEAN_CHASM]&amp;quot;&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	&lt;br /&gt;
	-- Set custom material&lt;br /&gt;
	options.sphere_rcm=my_element.rcm&lt;br /&gt;
	-- Build body&lt;br /&gt;
	local rcp=get_random_creature_profile(options)&lt;br /&gt;
	-- Set more options on the RCP&lt;br /&gt;
	if my_element.rcp_options then map_merge(rcp.options,my_element.rcp_options) end&lt;br /&gt;
	add_body_size(lines,math.max(10000000,rcp.min_size),options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:'E']&amp;quot;&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	&lt;br /&gt;
	-- Generate name&lt;br /&gt;
	local element_name = my_element.name or &amp;quot;glitchstuff&amp;quot;&lt;br /&gt;
	local name_str = element_name..&amp;quot; elemental:&amp;quot;..element_name..&amp;quot; elemental:&amp;quot;..element_name..&amp;quot;-elemental]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[GO_TO_START]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NAME:&amp;quot;..name_str&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CASTE_NAME:&amp;quot;..name_str&lt;br /&gt;
	&lt;br /&gt;
	return {raws=lines,weight=1.5}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Tweaking creatures===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Consolidate the creature patching stuff in a single header--&amp;gt;&lt;br /&gt;
This function is run in ``build_body_from_rcp()`` right before tweaks are determined. If a generated creature's size is greater than 500,000 Γ (about as much as an [[elephant]]), this patch adds {{token|POWER}} and the like to make forgotten beasts, titans, etc capable of impersonating [[Deity|deities]] and ruling [[civilization]]s.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=btc1_tweaks.titan_worship&lt;br /&gt;
|script=&lt;br /&gt;
-- make all large creatures into powers&lt;br /&gt;
btc1_tweaks.titan_worship=function(lines,options,add_to_body,add_to_body_unique,add_tweak_candidate)&lt;br /&gt;
	if options.body_size&amp;gt;=500000 then -- described as &amp;quot;very large&amp;quot;, graphics size cutoff&lt;br /&gt;
		options.can_learn=true -- for flavor text&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[INTELLIGENT]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[SUPERNATURAL]&amp;quot; -- knows secrets according to their spheres&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[POWER]&amp;quot; -- impersonates deities&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[SPREAD_EVIL_SPHERES_IF_RULER]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Adamantine alloys===&lt;br /&gt;
&lt;br /&gt;
You can add your own arbitrary generated objects, though as of right now there's no way to make settings for them. This allows for some ''truly'' wild stuff; here's a fun example: adamantine-metal alloys for every single non-special metal, giving you an average of the properties of them.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Adamantine alloys&lt;br /&gt;
|script=&lt;br /&gt;
preprocess.adamantine_alloys=function()&lt;br /&gt;
    if not random_object_parameters.main_world_randoms then return end&lt;br /&gt;
    local l=get_debug_logger(2)&lt;br /&gt;
    local lines={}&lt;br /&gt;
    local reaction_lines={}&lt;br /&gt;
    local reaction_names={}&lt;br /&gt;
    local adamantine=world.inorganic.inorganic.ADAMANTINE&lt;br /&gt;
    if not adamantine then return end&lt;br /&gt;
    local adamantine_color=world.descriptor.color[world.descriptor.color_pattern[adamantine.material.color_pattern.SOLID].color[1]]&lt;br /&gt;
    local adamantine_modulus = 2500000  --mildly arbitrary, just below the theoretical limit&lt;br /&gt;
    l(&amp;quot;Starting&amp;quot;)&lt;br /&gt;
    local done_category=false&lt;br /&gt;
    for k,v in ipairs(world.inorganic.inorganic) do&lt;br /&gt;
        if not v.flags.SPECIAL and v.material.flags.IS_METAL then&lt;br /&gt;
            l(v.token)&lt;br /&gt;
            local token=&amp;quot;GEN_ADAMANTINE_&amp;quot;..v.token&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[INORGANIC:&amp;quot;..token..&amp;quot;]&amp;quot;&lt;br /&gt;
            add_generated_info(lines)&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
            for kk,vv in pairs(v.material.adj) do&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[STATE_ADJ:&amp;quot;..kk..&amp;quot;:adamantine &amp;quot;..vv..&amp;quot;]&amp;quot; --&amp;quot;adamantine molten steel&amp;quot;? it's fine&lt;br /&gt;
            end&lt;br /&gt;
            for kk,vv in pairs(v.material.name) do&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[STATE_NAME:&amp;quot;..kk..&amp;quot;:adamantine &amp;quot;..vv..&amp;quot;]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            l(2)&lt;br /&gt;
            local mat_values={}&lt;br /&gt;
            -- Find the ratio for which you get closest to (but not below) 2000000 in the material's worst property&lt;br /&gt;
            local worst=math.min(v.material.yield.IMPACT,v.material.fracture.SHEAR)&lt;br /&gt;
            local wafers=1&lt;br /&gt;
            local bars=1&lt;br /&gt;
            if worst &amp;lt; 2000000 then&lt;br /&gt;
                local ratio = (2000000-3*worst)/1000000&lt;br /&gt;
                local best_diff=1&lt;br /&gt;
                for i=1,10 do&lt;br /&gt;
                    local wafer_amt=i*ratio&lt;br /&gt;
                    if wafer_amt&amp;gt;1 and wafer_amt&amp;lt;20 and math.ceil(wafer_amt)-wafer_amt&amp;lt;best_diff then&lt;br /&gt;
                        best_diff=math.ceil(wafer_amt)-wafer_amt&lt;br /&gt;
                        wafers=math.ceil(wafer_amt)&lt;br /&gt;
                        bars=i&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            local avg_denom=1/(bars*3+wafers) -- Multiplication just a bit faster than division, we're rounding at the end anyway&lt;br /&gt;
            local solid_cl=nil&lt;br /&gt;
            for kk,vv in pairs(v.material.color_pattern) do&lt;br /&gt;
                -- time to get silly&lt;br /&gt;
                local this_color=world.descriptor.color[world.descriptor.color_pattern[vv].color[1]]&lt;br /&gt;
                local wanted_color={&lt;br /&gt;
                    r=(this_color.r*bars*3+adamantine_color.r*wafers)*avg_denom,&lt;br /&gt;
                    g=(this_color.g*bars*3+adamantine_color.g*wafers)*avg_denom,&lt;br /&gt;
                    b=(this_color.b*bars*3+adamantine_color.b*wafers)*avg_denom,&lt;br /&gt;
                }&lt;br /&gt;
                local best_total_diff=1000000000&lt;br /&gt;
                local best_clp=nil&lt;br /&gt;
                for _,clp in ipairs(world.descriptor.color_pattern) do&lt;br /&gt;
                    if clp.pattern==&amp;quot;MONOTONE&amp;quot; then&lt;br /&gt;
                        local cl=world.descriptor.color[clp.color[1]]&lt;br /&gt;
                        local diff=math.abs(wanted_color.r-cl.r)+math.abs(wanted_color.b-cl.b)+math.abs(wanted_color.g-cl.g)&lt;br /&gt;
                        if diff&amp;lt;best_total_diff then&lt;br /&gt;
                            best_clp=clp&lt;br /&gt;
                            best_total_diff=diff&lt;br /&gt;
                        end&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[STATE_COLOR:&amp;quot;..kk..&amp;quot;:&amp;quot;..best_clp.token..&amp;quot;]&amp;quot;&lt;br /&gt;
                if kk==&amp;quot;SOLID&amp;quot; then solid_cl=world.descriptor.color[best_clp.color[1]] end&lt;br /&gt;
            end&lt;br /&gt;
            local color_str=solid_cl.col_f..&amp;quot;:0:&amp;quot;..solid_cl.col_br&lt;br /&gt;
            l(color_str)&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[DISPLAY_COLOR:&amp;quot;..color_str..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[BUILD_COLOR:&amp;quot;..color_str..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[ITEMS_METAL][ITEMS_HARD][ITEMS_SCALED][ITEMS_BARRED]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
            if v.material.flags.ITEMS_DIGGER then&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[ITEMS_DIGGER]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            local function new_value(str)&lt;br /&gt;
                mat_values[str]=mat_values[str] or math.floor((adamantine.material[str]*wafers+v.material[str]*bars*3)*avg_denom+0.5)&lt;br /&gt;
                l(str,mat_values[str])&lt;br /&gt;
                return mat_values[str]&lt;br /&gt;
            end&lt;br /&gt;
            local function new_value_nested(str1,str2)&lt;br /&gt;
                mat_values[str1..str2]=mat_values[str1..str2] or math.floor((adamantine.material[str1][str2]*wafers+v.material[str1][str2]*bars*3)/(bars*3+wafers)+0.5)&lt;br /&gt;
                l(str1..str2,mat_values[str1..str2])&lt;br /&gt;
                return mat_values[str1..str2]&lt;br /&gt;
            end&lt;br /&gt;
            if new_value_nested(&amp;quot;fracture&amp;quot;,&amp;quot;SHEAR&amp;quot;)&amp;gt;170000 or new_value_nested(&amp;quot;yield&amp;quot;,&amp;quot;IMPACT&amp;quot;)&amp;gt;245000 then&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[ITEMS_WEAPON][ITEMS_AMMO]&amp;quot;&lt;br /&gt;
                if new_value(&amp;quot;solid_density&amp;quot;)&amp;lt;10000 then&lt;br /&gt;
                    lines[#lines+1]=&amp;quot;[ITEMS_WEAPON_RANGED][ITEMS_ARMOR]&amp;quot;&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MATERIAL_VALUE:&amp;quot;..new_value(&amp;quot;base_value&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[SPEC_HEAT:&amp;quot;..new_value(&amp;quot;temp_spec_heat&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MELTING_POINT:&amp;quot;..new_value(&amp;quot;temp_melting_point&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[BOILING_POINT:&amp;quot;..new_value(&amp;quot;temp_boiling_point&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[SOLID_DENSITY:&amp;quot;..new_value(&amp;quot;solid_density&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[LIQUID_DENSITY:&amp;quot;..new_value(&amp;quot;liquid_density&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MOLAR_MASS:&amp;quot;..new_value(&amp;quot;molar_mass&amp;quot;)..&amp;quot;]&amp;quot; -- i don't think this is actually correct&lt;br /&gt;
            for _,thing in ipairs({&amp;quot;yield&amp;quot;,&amp;quot;fracture&amp;quot;}) do&lt;br /&gt;
                for force,_ in pairs(v.material[thing]) do&lt;br /&gt;
                    lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_&amp;quot;..string.upper(thing)..&amp;quot;:&amp;quot;..new_value_nested(thing,force)..&amp;quot;]&amp;quot;&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            for _,force in ipairs(&amp;quot;IMPACT&amp;quot;,&amp;quot;COMPRESSIVE&amp;quot;,&amp;quot;TENSILE&amp;quot;,&amp;quot;TORSION&amp;quot;,&amp;quot;SHEAR&amp;quot;,&amp;quot;BENDING&amp;quot;) do&lt;br /&gt;
                local modulus = v.yield[force] / v.elasticity[force]&lt;br /&gt;
                local average_modulus = (adamantine_modulus*wafers + modulus*bars*3)*avg_denom&lt;br /&gt;
                local strain_at_yield = math.floor(new_value_nested(&amp;quot;yield&amp;quot;,force) / average_modulus + 0.5) -- usually zero, but can be 1 or 2 sometimes&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_YIELD:&amp;quot;..new_value_nested(&amp;quot;yield&amp;quot;,force)..&amp;quot;]&amp;quot;&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_FRACTURE:&amp;quot;..new_value_nested(&amp;quot;fracture&amp;quot;,force)..&amp;quot;]&amp;quot;&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_STRAIN_AT_YIELD:&amp;quot;..strain_at_yield..&amp;quot;]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MAX_EDGE:&amp;quot;..new_value(&amp;quot;max_edge&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            local reaction_token=token..&amp;quot;_MAKING&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[REACTION:&amp;quot;..reaction_token..&amp;quot;]&amp;quot;&lt;br /&gt;
            add_generated_info(reaction_lines)&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[NAME:make adamantine &amp;quot;..v.material.name.SOLID..&amp;quot; (use bars)]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[BUILDING:SMELTER:NONE]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[REAGENT:A:&amp;quot;..tostring(150*wafers)..&amp;quot;:BAR:NO_SUBTYPE:METAL:ADAMANTINE]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[REAGENT:B:&amp;quot;..tostring(150*bars)..&amp;quot;:BAR:NO_SUBTYPE:METAL:&amp;quot;..v.token..&amp;quot;]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[PRODUCT:100:&amp;quot;..tostring(bars+wafers)..&amp;quot;:BAR:NO_SUBTYPE:METAL:&amp;quot;..token..&amp;quot;][PRODUCT_DIMENSION:150]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[FORTRESS_MODE_ENABLED]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY:ADAMANTINE_ALLOYS]&amp;quot;&lt;br /&gt;
            if not done_category then&lt;br /&gt;
                done_category=true&lt;br /&gt;
                reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY_NAME:Adamantine alloys]&amp;quot;&lt;br /&gt;
                reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY_DESCRIPTION:Debase adamantine with other metals to get extremely strong alloys.]&amp;quot;&lt;br /&gt;
                reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY_KEY:CUSTOM_SHIFT_A]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[FUEL]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[SKILL:SMELT]&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    local entity_lines={}&lt;br /&gt;
    raws.register_inorganics(lines)&lt;br /&gt;
    -- not used in vanilla right now, due to lack of instruments, but you CAN do this&lt;br /&gt;
    raws.register_reactions(reaction_lines)&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:Modding Examples]]&lt;br /&gt;
[[Category:Lua|S]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Lua_script_examples&amp;diff=311165</id>
		<title>Lua script examples</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Lua_script_examples&amp;diff=311165"/>
		<updated>2025-10-17T18:30:34Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Werebugs */ Added fallback RCP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
{{Modding}}&lt;br /&gt;
{{Main|Lua scripting}}&lt;br /&gt;
Snippets of vanilla generation can be found in [[:Category:Lua script pages]], and all vanilla scripts can be found in ``data/vanilla/vanilla_procedural/scripts/``.&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;!--Needs a special line break--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Helper functions==&lt;br /&gt;
&lt;br /&gt;
===Search by reaction class===&lt;br /&gt;
This script returns a table of all inorganic materials with a given {{token|REACTION_CLASS|md}}. The ``mat`` table also has ``reaction_product_class``, which includes both {{token|MATERIAL_REACTION_PRODUCT|md}} and {{token|ITEM_REACTION_PRODUCT|md}} IDs.&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=get_all_by_reaction_class()&lt;br /&gt;
|script=&lt;br /&gt;
function get_all_by_reaction_class(rc)&lt;br /&gt;
    local valid={}&lt;br /&gt;
    for i,inorg in ipairs(world.inorganic.inorganic) do&lt;br /&gt;
        for _,class in inorg.mat.reaction_class do&lt;br /&gt;
            if class==rc then&lt;br /&gt;
                valid[#valid+1]=inorg&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return valid&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
==Languages==&lt;br /&gt;
&lt;br /&gt;
===Identity language===&lt;br /&gt;
This makes a [[Language token|language]] called ``GEN_IDENTITY`` which is like: &amp;quot;Abbey abbeyabbeys the abbey of abbeys&amp;quot; - i.e. it's the &amp;quot;English&amp;quot; language you might see occasionally. It is present in ``vanilla_procedural`` and can be used for {{Token|TRANSLATION|entity}} by default.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=GEN_IDENTITY&lt;br /&gt;
|script=&lt;br /&gt;
languages.GEN_IDENTITY=function()&lt;br /&gt;
    -- just to demonstrate the absolute most basic method of generating one of these&lt;br /&gt;
    -- also so that you can just mod stuff to use GEN_IDENTITY&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    local unempty = function(str1, str2) &lt;br /&gt;
        return str1=='' and str2 or str1&lt;br /&gt;
    end&lt;br /&gt;
    for k,v in ipairs(world.language.word) do&lt;br /&gt;
        local str=''&lt;br /&gt;
        str=unempty(str,v.NOUN_SING)&lt;br /&gt;
        str=unempty(str,v.ADJ)&lt;br /&gt;
        str=unempty(str,v.VERB_FIRST_PRES)&lt;br /&gt;
        str=unempty(str,string.lower(v.token))&lt;br /&gt;
        tbl[v.token]=str&lt;br /&gt;
    end&lt;br /&gt;
    return tbl&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
===Kobold language===&lt;br /&gt;
This generates a language made of {{token|UTTERANCES}}. This is essentially a proper translation based on the [[kobold language]]. Note that the hardcoded ``utterance()`` function generates words independently of any existing words in the language, so you may get duplicate words. &lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=GEN_KOBOLD&lt;br /&gt;
|script=&lt;br /&gt;
languages.GEN_KOBOLD=function()&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    for k,v in ipairs(world.language.word) do&lt;br /&gt;
        tbl[v.token]=utterance()&lt;br /&gt;
    end&lt;br /&gt;
    return tbl&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
==Generators==&lt;br /&gt;
&lt;br /&gt;
===Non-random generated material===&lt;br /&gt;
&lt;br /&gt;
Here's an example of an object registered through the ``do_once`` table. There are no random elements, it is equivalent (save for being {{token|GENERATED|mat}}) to an object defined through [[Material definition token]]s and registered through the ``raws.register_inorganics()`` function. It also prints itself to the lualog for debugging purposes.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Single material&lt;br /&gt;
|script=do_once.cobalt = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	&lt;br /&gt;
	-- basic inorganic definition&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[INORGANIC:COBALT]&amp;quot;&lt;br /&gt;
	-- add [GENERATED] to save properly&lt;br /&gt;
	add_generated_info(lines)&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:cobalt]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid cobalt]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling cobalt]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:COBALT]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	raws.register_inorganics(lines)&lt;br /&gt;
&lt;br /&gt;
	-- show in lualog&lt;br /&gt;
	print_table(lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can register multiple objects at the same time. This script takes a table of color tokens, and makes a metal named after each of them, with a corresponding cheaty adventure reaction.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Chromatic metals&lt;br /&gt;
|script=do_once.chromatic_metal = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local reaction_lines = {}&lt;br /&gt;
	&lt;br /&gt;
	local color_tokens = {&lt;br /&gt;
			&amp;quot;AMETHYST&amp;quot;,&lt;br /&gt;
			&amp;quot;AQUAMARINE&amp;quot;,&lt;br /&gt;
			&amp;quot;CARDINAL&amp;quot;,&lt;br /&gt;
			&amp;quot;COBALT&amp;quot;,&lt;br /&gt;
			&amp;quot;EMERALD&amp;quot;,&lt;br /&gt;
			&amp;quot;JADE&amp;quot;,&lt;br /&gt;
			&amp;quot;MOSS_GREEN&amp;quot;,&lt;br /&gt;
			&amp;quot;PEARL&amp;quot;,&lt;br /&gt;
			&amp;quot;SAFFRON&amp;quot;,&lt;br /&gt;
			&amp;quot;TURQUOISE&amp;quot;,&lt;br /&gt;
			&amp;quot;WHITE&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- make a metal for each color token&lt;br /&gt;
	for k,v in pairs(color_tokens) do&lt;br /&gt;
		-- begin definition with ID token, [GENERATED] and template&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[INORGANIC:CHROMATICMETAL&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(lines)&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		-- look up the metal's color in the world table&lt;br /&gt;
		-- using string.lower(v) would result in &amp;quot;moss_green&amp;quot;&lt;br /&gt;
		local metalname = world.descriptor.color[v].name&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:&amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		-- appearance&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		-- create a corresponding reaction&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[REACTION:CHROMATICMETAL&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(reaction_lines)&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[NAME:create &amp;quot;..metalname..&amp;quot; bars]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[ADVENTURE_MODE_ENABLED]&amp;quot;&lt;br /&gt;
		-- make sure we're consistent with the inorganic ID&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT:100:1:BAR:NONE:INORGANIC:CHROMATICMETAL&amp;quot;..v..&amp;quot;]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT_DIMENSION:150]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	raws.register_inorganics(lines)&lt;br /&gt;
	raws.register_reactions(reaction_lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Random generation===&lt;br /&gt;
&lt;br /&gt;
Here's an example of various DF-specific randomizers in use:&lt;br /&gt;
* ``trandom()`` is used to determine how many metals generate this way.&lt;br /&gt;
* ``utterance()`` generates utterances from the [[Kobold language]], e.g. &amp;quot;gorsnus&amp;quot;, &amp;quot;stogodilmus&amp;quot;, &amp;quot;gaylgis&amp;quot;&lt;br /&gt;
* ``pick_random_no_replace()`` determines the color from the table, but removes the rolled value so there's no repeats.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Kobold metals&lt;br /&gt;
|script=do_once.kobold_metal = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local reaction_lines = {}&lt;br /&gt;
	&lt;br /&gt;
	local color_tokens = {&lt;br /&gt;
		&amp;quot;AMETHYST&amp;quot;,&lt;br /&gt;
		&amp;quot;AQUAMARINE&amp;quot;,&lt;br /&gt;
		&amp;quot;CARDINAL&amp;quot;,&lt;br /&gt;
		&amp;quot;COBALT&amp;quot;,&lt;br /&gt;
		&amp;quot;EMERALD&amp;quot;,&lt;br /&gt;
		&amp;quot;JADE&amp;quot;,&lt;br /&gt;
		&amp;quot;MOSS_GREEN&amp;quot;,&lt;br /&gt;
		&amp;quot;PEARL&amp;quot;,&lt;br /&gt;
		&amp;quot;SAFFRON&amp;quot;,&lt;br /&gt;
		&amp;quot;TURQUOISE&amp;quot;,&lt;br /&gt;
		&amp;quot;WHITE&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- trandom() is expressed as (1dN)-1 because it uses C++ math that starts at 0&lt;br /&gt;
	local max_loops = trandom(10)+1&lt;br /&gt;
&lt;br /&gt;
	-- create 1-10 metals&lt;br /&gt;
	for i = 1,max_loops do&lt;br /&gt;
		-- begin definition with ID token, [GENERATED] and template&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[INORGANIC:KOBOLDMETAL&amp;quot;..i..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(lines)&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		-- this is the kobold name function&lt;br /&gt;
		local metalname = utterance()..&amp;quot;ite&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:&amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
		-- no_replace removes the value from the table&lt;br /&gt;
		-- we don't need a fallback because there's more values than metals&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:&amp;quot;..pick_random_no_replace(color_tokens)..&amp;quot;]&amp;quot;&lt;br /&gt;
		lines[#lines+1] = &amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		-- create a corresponding reaction&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[REACTION:KOBOLDMETAL&amp;quot;..i..&amp;quot;]&amp;quot;&lt;br /&gt;
		add_generated_info(reaction_lines)&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[NAME:create &amp;quot;..metalname..&amp;quot; bars]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[ADVENTURE_MODE_ENABLED]&amp;quot;&lt;br /&gt;
		-- make sure we're consistent with the inorganic ID&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT:100:1:BAR:NONE:INORGANIC:KOBOLDMETAL&amp;quot;..i..&amp;quot;]&amp;quot;&lt;br /&gt;
		reaction_lines[#reaction_lines+1] = &amp;quot;[PRODUCT_DIMENSION:150]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	raws.register_inorganics(lines)&lt;br /&gt;
	raws.register_reactions(reaction_lines)&lt;br /&gt;
end		&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===New divine metals===&lt;br /&gt;
&lt;br /&gt;
Many of the tables used by vanilla procedural objects are global, and thus can be added to or overwritten by mods. You can add new metal descriptions for divine metal pretty easily, for example:&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Laughing metal&lt;br /&gt;
|script=&lt;br /&gt;
metal_by_sphere.CHILDREN={&lt;br /&gt;
    name=&amp;quot;laughing metal&amp;quot;,&lt;br /&gt;
    col=&amp;quot;7:0:1&amp;quot;,&lt;br /&gt;
    color=&amp;quot;WHITE&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can also add alternatives to the default divine metal function, such as one based on the aforementioned kobold metals.&lt;br /&gt;
Vanilla divine metal uses ``metal_by_sphere`` to determine its properties, and is thus valid only if the input sphere has an entry in that table.&lt;br /&gt;
Note that even if the weights are nominally the same; because it is valid for all input spheres, it will outnumber instances of the more limited vanilla material.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Divine kobold metal&lt;br /&gt;
|script=materials.divine.metal.kobold = function(sphere)&lt;br /&gt;
	if not foo then&lt;br /&gt;
		log(#metal_by_sphere)&lt;br /&gt;
		log(#world.spheres)&lt;br /&gt;
		foo = true&lt;br /&gt;
	end&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	--generation function handles ID, registration, generated info&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
	--add_generated_info(lines)&lt;br /&gt;
	local metalname = utterance()..&amp;quot;ite&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:ALL_SOLID:&amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:LIQUID:liquid &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_NAME_ADJ:GAS:boiling &amp;quot;..metalname..&amp;quot;]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local color_tokens = {&lt;br /&gt;
		&amp;quot;AMETHYST&amp;quot;,&lt;br /&gt;
		&amp;quot;AQUAMARINE&amp;quot;,&lt;br /&gt;
		&amp;quot;CARDINAL&amp;quot;,&lt;br /&gt;
		&amp;quot;COBALT&amp;quot;,&lt;br /&gt;
		&amp;quot;EMERALD&amp;quot;,&lt;br /&gt;
		&amp;quot;JADE&amp;quot;,&lt;br /&gt;
		&amp;quot;MOSS_GREEN&amp;quot;,&lt;br /&gt;
		&amp;quot;PEARL&amp;quot;,&lt;br /&gt;
		&amp;quot;SAFFRON&amp;quot;,&lt;br /&gt;
		&amp;quot;TURQUOISE&amp;quot;,&lt;br /&gt;
		&amp;quot;WHITE&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	--allow for duplicate colors&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[STATE_COLOR:ALL_SOLID:&amp;quot;..pick_random(color_tokens)..&amp;quot;]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	--add a block of tokens&lt;br /&gt;
	lines=split_to_lines(lines,[[&lt;br /&gt;
    [MATERIAL_VALUE:200]&lt;br /&gt;
	[SPEC_HEAT:7500]&lt;br /&gt;
	[MELTING_POINT:NONE]&lt;br /&gt;
	[BOILING_POINT:NONE]&lt;br /&gt;
	[ITEMS_WEAPON][ITEMS_WEAPON_RANGED][ITEMS_AMMO][ITEMS_DIGGER][ITEMS_ARMOR][ITEMS_ANVIL]&lt;br /&gt;
	[ITEMS_HARD]&lt;br /&gt;
	[ITEMS_METAL]&lt;br /&gt;
	[ITEMS_BARRED]&lt;br /&gt;
	[ITEMS_SCALED]&lt;br /&gt;
	[SOLID_DENSITY:1000]&lt;br /&gt;
	[LIQUID_DENSITY:1000]&lt;br /&gt;
	[MOLAR_MASS:20000]&lt;br /&gt;
	[IMPACT_YIELD:1000000]&lt;br /&gt;
	[IMPACT_FRACTURE:2000000]&lt;br /&gt;
	[IMPACT_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[COMPRESSIVE_YIELD:1000000]&lt;br /&gt;
	[COMPRESSIVE_FRACTURE:2000000]&lt;br /&gt;
	[COMPRESSIVE_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[TENSILE_YIELD:1000000]&lt;br /&gt;
	[TENSILE_FRACTURE:2000000]&lt;br /&gt;
	[TENSILE_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[TORSION_YIELD:1000000]&lt;br /&gt;
	[TORSION_FRACTURE:2000000]&lt;br /&gt;
	[TORSION_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[SHEAR_YIELD:1000000]&lt;br /&gt;
	[SHEAR_FRACTURE:2000000]&lt;br /&gt;
	[SHEAR_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[BENDING_YIELD:1000000]&lt;br /&gt;
	[BENDING_FRACTURE:2000000]&lt;br /&gt;
	[BENDING_STRAIN_AT_YIELD:0]&lt;br /&gt;
	[MAX_EDGE:12000]&lt;br /&gt;
	]])&lt;br /&gt;
	--sends this to get registered&lt;br /&gt;
	return {raws=lines,weight=1}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Remove default functions===&lt;br /&gt;
&lt;br /&gt;
Just as easily as new functions and table entries can be added, default entries can be overwritten so that they cannot generate. This snippet removes the default forgotten beasts.&lt;br /&gt;
&lt;br /&gt;
See [[Lua functions#Generation Tables]] for a list of the tables the default functions are stored in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; &amp;gt;&lt;br /&gt;
creatures.fb.default=nil&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Basic generated creature===&lt;br /&gt;
&lt;br /&gt;
This is essentially the simplest possible creature. It has no extraordinary options (beyond an [[Sphere|association]] with animals and creation), and each world generates one species from this function. It doesn't have any biome tokens or likewise, so it can only be spawned in the arena, but it is still functional.&lt;br /&gt;
&lt;br /&gt;
A sample output would be &amp;quot;A quadruped composed of flame. It has two narrow tails and it has a regal bearing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=do_once.basic_creature&lt;br /&gt;
|script=do_once.basic_creature = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local tok=&amp;quot;BASIC_PROCEDURAL_CREATURE&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE:&amp;quot;..tok..&amp;quot;]&amp;quot;&lt;br /&gt;
	add_generated_info(lines)&lt;br /&gt;
	&lt;br /&gt;
	local options={&lt;br /&gt;
		token=tok,&lt;br /&gt;
		spheres={&lt;br /&gt;
			ANIMALS=true,&lt;br /&gt;
			CREATION=true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	lines=split_to_lines(lines,[[&lt;br /&gt;
		[NAME:procedural creature:procedural creatures:procedural]&lt;br /&gt;
		[CASTE_NAME:procedural creature:procedural creatures:procedural]&lt;br /&gt;
	]])&lt;br /&gt;
	--adds some common tokens depending on the options&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	&lt;br /&gt;
	--handles sphere options: fills out [SPHERE] tokens from options.spheres, and so on&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	&lt;br /&gt;
	--choose a creature profile to base on&lt;br /&gt;
	local rcp=get_random_creature_profile(options)&lt;br /&gt;
	--set [BODY_SIZE] and some relevant tokens&lt;br /&gt;
	add_body_size(lines,rcp.min_size,options)&lt;br /&gt;
	--add the tile from the creature profile&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	--the Big Function determining tweaks, body, appearance, description...&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	&lt;br /&gt;
	raws.register_creatures(lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Making your own RCP===&lt;br /&gt;
&lt;br /&gt;
You don't have to be limited to the vanilla list of random creature variants. Mods can add new kinds of random creature profiles, materials, etc that can be seamlessly integrated into how it generates creatures. &lt;br /&gt;
&lt;br /&gt;
This script generates a single creature based on a [[Wikipedia:Eurypterid|eurypterid]]. It has a unique RCP, set in the function itself.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=do_once.local_rcp&lt;br /&gt;
|script=do_once.local_rcp = function()&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local tok=&amp;quot;LOCAL_RCP&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE:&amp;quot;..tok..&amp;quot;]&amp;quot;&lt;br /&gt;
	add_generated_info(lines)&lt;br /&gt;
	&lt;br /&gt;
	local options={&lt;br /&gt;
		token=tok,&lt;br /&gt;
		spheres={&lt;br /&gt;
			ANIMALS=true,&lt;br /&gt;
			WATER=true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	--habitat&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[BIOME:ANY_OCEAN]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[LARGE_ROAMING]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[AQUATIC][UNDERSWIM]&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	--define a local creature profile&lt;br /&gt;
	local rcp={&lt;br /&gt;
		name_string=&amp;quot;eurypterid&amp;quot;,&lt;br /&gt;
		tile='E',&lt;br /&gt;
		body_base=&amp;quot;SCORPION&amp;quot;,&lt;br /&gt;
		c_class=&amp;quot;CHITIN_EXO&amp;quot;,&lt;br /&gt;
		must_have_pincers=true,&lt;br /&gt;
		must_have_tail=true,&lt;br /&gt;
		min_size=70000,&lt;br /&gt;
		weight=200,&lt;br /&gt;
	}&lt;br /&gt;
	local name_str = rcp.name_string..&amp;quot;:&amp;quot;..rcp.name_string..&amp;quot;s:&amp;quot;..rcp.name_string..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[NAME:&amp;quot;..name_str&lt;br /&gt;
	lines[#lines+1] = &amp;quot;[CASTE_NAME:&amp;quot;..name_str&lt;br /&gt;
	&lt;br /&gt;
	add_body_size(lines,rcp.min_size,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	&lt;br /&gt;
	raws.register_creatures(lines)&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Adding a eurypterid profile to ``random_creature_profiles`` allows any creature to access it, if their profile is determined randomly.&lt;br /&gt;
&lt;br /&gt;
This script gives it proper flippers in its body base function. It's also associated with water-based random creatures, so it can potentially generate as an aquatic [[forgotten beast]] species.&lt;br /&gt;
&lt;br /&gt;
Other feature variants stored in tables, like materials, attacks, or descriptions, can be added in this way.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Global RCP&lt;br /&gt;
|script=&lt;br /&gt;
random_creature_types.EURYPTERID={&lt;br /&gt;
		name_string=&amp;quot;eurypterid&amp;quot;,&lt;br /&gt;
		tile='E',&lt;br /&gt;
		body_base=&amp;quot;SCORPION_FLIPPERS&amp;quot;,&lt;br /&gt;
		c_class=&amp;quot;CHITIN_EXO&amp;quot;,&lt;br /&gt;
		must_have_pincers=true,&lt;br /&gt;
		must_have_tail=true,&lt;br /&gt;
		min_size=70000,&lt;br /&gt;
		weight=200,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body_base_fun.SCORPION_FLIPPERS=function(rcp,options)&lt;br /&gt;
		options.pcg_layering_base=&amp;quot;BEAST_SCORPION&amp;quot;&lt;br /&gt;
		options.walk_var=&amp;quot;STANDARD_WALKING_GAITS&amp;quot;&lt;br /&gt;
		options.walk_speed=900&lt;br /&gt;
		return {&amp;quot;RCP_CEPHALOTHORAX&amp;quot;,&amp;quot;RCP_ABDOMEN&amp;quot;,&amp;quot;RCP_FIRST_SIMPLE_LEGS&amp;quot;,&amp;quot;RCP_SECOND_SIMPLE_LEGS&amp;quot;,&amp;quot;RCP_THIRD_SIMPLE_LEGS&amp;quot;,&amp;quot;RCP_PINCERS&amp;quot;,&amp;quot;RCP_FRONT_FLIPPER&amp;quot;}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
water_based_random_creature.EURYPTERID=true&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Werebugs===&lt;br /&gt;
&lt;br /&gt;
You can make a custom function to determine what RCPs are available to a given creature.&lt;br /&gt;
&lt;br /&gt;
These scripts are for an arthropoid version of a [[werebeast]].&lt;br /&gt;
* ``arthropod_rcp`` is a list of RCP keys which fit this theme (plus a few worms on there for fun), which the creature function rolls on to pick its form.&lt;br /&gt;
* ``is_bloodsucking_by_key``, along with ``rcp.must_suck_blood_through_proboscis`` and ``rcp.must_suck_blood_through_mouth`` are checked to assign {{token|BLOODSUCKER}} to it, which allows certain creature types to exhibit vampiric behavior if their berserk rampage wasn't enough [[fun]].&lt;br /&gt;
&lt;br /&gt;
Otherwise, the function should work the same as vanilla werebeasts, generating an associated [[Interaction token|major curse]] in the same way and becoming &amp;quot;twisted into humanoid form&amp;quot; (at the expense of their additional limbs).&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=arthropod_rcp&lt;br /&gt;
|script=local arthropod_rcp = {&lt;br /&gt;
	&amp;quot;ARACHNID_MITE&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_SCORPION&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_SPIDER&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_TARANTULA&amp;quot;,&lt;br /&gt;
	&amp;quot;ARACHNID_TICK&amp;quot;,&lt;br /&gt;
	&amp;quot;CRUSTACEAN_CRAB&amp;quot;,&lt;br /&gt;
	&amp;quot;CRUSTACEAN_LOBSTER&amp;quot;,&lt;br /&gt;
	&amp;quot;CRUSTACEAN_SHRIMP&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_ANT&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_ANTLION&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_APHID&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_BEE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_BUTTERFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CADDISFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CATERPILLAR&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CICADA&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_COCKROACH&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_CRICKET&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_DAMSELFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_DARKLING_BEETLE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_DRAGONFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_EARWIG&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_FIREFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_FLEA&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_FLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_GRASSHOPPER&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_HORNET&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_LACEWING&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_LADYBUG&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_LOUSE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MAGGOT&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MANTIS&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MAYFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MOSQUITO&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_MOTH&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SILVERFISH&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SCARAB_BEETLE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SCORPIONFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_SNAKEFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_STONEFLY&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_TERMITE&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_THRIPS&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_WASP&amp;quot;,&lt;br /&gt;
	&amp;quot;INSECT_WEEVIL&amp;quot;,&lt;br /&gt;
	&amp;quot;NEMATODE&amp;quot;,&lt;br /&gt;
	&amp;quot;LEECH&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=is_bloodsucking_by_key&lt;br /&gt;
|script=local is_bloodsucking_by_key = {&lt;br /&gt;
	ARACHNID_MITE=true,&lt;br /&gt;
	ARACHNID_TICK=true,&lt;br /&gt;
	INSECT_EARWIG=true,--some are parasitic&lt;br /&gt;
	INSECT_FLEA=true,&lt;br /&gt;
	INSECT_LOUSE=true,&lt;br /&gt;
	INSECT_MAGGOT=true,&lt;br /&gt;
	INSECT_THRIPS=true,--no bloodsucking reported, but does bite humans&lt;br /&gt;
	NEMATODE=true,&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=creatures.night_creature.werebeast.werebug&lt;br /&gt;
|script=creatures.night_creature.werebeast.werebug=function(tok)&lt;br /&gt;
	local lines={}&lt;br /&gt;
	local options={&lt;br /&gt;
		spheres={&lt;br /&gt;
			CHAOS=true,&lt;br /&gt;
			ANIMALS=true,&lt;br /&gt;
			NIGHT=true,&lt;br /&gt;
			MOON=true&lt;br /&gt;
		},&lt;br /&gt;
		always_glowing_eyes=true,&lt;br /&gt;
		use_werebeast_pcg=true, --use them if werebug sprites somehow exist&lt;br /&gt;
		animal_coloring_allowed=true,&lt;br /&gt;
		no_tweak=true,&lt;br /&gt;
		material_weakness=true,&lt;br /&gt;
		prioritize_bite=true,&lt;br /&gt;
		force_ichor=true,&lt;br /&gt;
		token=tok&lt;br /&gt;
	}&lt;br /&gt;
	options.night_creature_agile_pref=true&lt;br /&gt;
	night_creature_universals(lines,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NIGHT_CREATURE_HUNTER]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CAN_LEARN]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CAN_SPEAK]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NO_GENDER]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[BONECARN]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CRAZED]&amp;quot;&lt;br /&gt;
	if options.night_creature_strength_pref then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:STRENGTH:1000:1250:1500:2000:2250:2500:3000]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:AGILITY:450:550:700:750:800:850:900]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:TOUGHNESS:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:ENDURANCE:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		options.special_walk_speed=1000&lt;br /&gt;
	elseif options.night_creature_agile_pref then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:STRENGTH:450:550:700:750:800:850:900]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:AGILITY:1000:1250:1500:2000:2250:2500:3000]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:TOUGHNESS:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:ENDURANCE:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		options.special_walk_speed=800;&lt;br /&gt;
	elseif options.night_creature_strength_agile_pref then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:STRENGTH:1000:1150:1250:1500:2000:2250:2500]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:AGILITY:1000:1150:1250:1500:2000:2250:2500]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:TOUGHNESS:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:ENDURANCE:850:900:950:1000:1050:1100:1150]&amp;quot;&lt;br /&gt;
		options.special_walk_speed=850;&lt;br /&gt;
	end&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:RECUPERATION:450:1050:1150:1250:1350:1550:2250]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PHYS_ATT_RANGE:DISEASE_RESISTANCE:700:1300:1400:1500:1600:1800:2500]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:ANALYTICAL_ABILITY:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:FOCUS:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:WILLPOWER:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:PATIENCE:0:333:666:1000:2333:3666:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:MEMORY:1250:1500:1750:2000:2500:3000:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:LINGUISTIC_ABILITY:450:1050:1150:1250:1350:1550:2250]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:MUSICALITY:0:333:666:1000:2333:3666:5000]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[MENT_ATT_RANGE:SOCIAL_AWARENESS:700:1300:1400:1500:1600:1800:2500]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:BASHFUL:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:STRESS_VULNERABILITY:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:FRIENDLINESS:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:DISDAIN_ADVICE:100:100:100]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:CHEER_PROPENSITY:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:GRATITUDE:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:TRUST:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:ALTRUISM:0:0:0]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[PERSONALITY:CRUELTY:100:100:100]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:WRESTLING:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:BITE:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:GRASP_STRIKE:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:STANCE_STRIKE:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:MELEE_COMBAT:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:DODGING:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NATURAL_SKILL:SNEAK:20]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[DIFFICULTY:3]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[LAIR:SIMPLE_BURROW:50]&amp;quot;&lt;br /&gt;
	-- pick a random bug RCP, there's no overlap with the mammal/reptile standard werebeasts&lt;br /&gt;
	finalize_random_creature_types() -- good practice to run before rolling on it&lt;br /&gt;
	local rcp_key = pick_random_no_replace(arthropod_rcp)&lt;br /&gt;
	local rcp=random_creature_types[rcp_key] or random_creature_types.INSECT_MANTIS&lt;br /&gt;
&lt;br /&gt;
	local custom_desc_str = &amp;quot;it is crazed for blood and flesh&amp;quot;&lt;br /&gt;
	-- make them also vampires if they suck blood&lt;br /&gt;
	if rcp.must_suck_blood_through_proboscis or rcp.must_suck_blood_through_mouth or is_bloodsucking_by_key[rcp_key] then&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[BLOODSUCKER]&amp;quot;&lt;br /&gt;
		custom_desc_str = &amp;quot;it is crazed for warm blood&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	-- This sort of process should be fully generalized&lt;br /&gt;
	-- to all creatures you want to have bespoke associated interactions&lt;br /&gt;
	-- for example, you can have a blessing that allows a sort of&lt;br /&gt;
	-- uncrazed transformation into some sort of bespoke&lt;br /&gt;
	-- generated thing--at least, hopefully it's robust enough for that&lt;br /&gt;
	local choice=generate_from_list(werebeast_origin_interactions,tok,rcp.name_string,options)&lt;br /&gt;
	map_merge(options,choice.options)&lt;br /&gt;
	local werebeast_choice_raws=choice.interaction or choice.raws&lt;br /&gt;
	raws.register_interactions(werebeast_choice_raws)&lt;br /&gt;
	add_body_size(lines,math.max(rcp.min_size,80000+trandom(11)*1000),options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:165]&amp;quot; --Ñ&lt;br /&gt;
	options.forced_color={&lt;br /&gt;
		f=6,&lt;br /&gt;
		b=0,&lt;br /&gt;
		br=1&lt;br /&gt;
	}&lt;br /&gt;
	options.custom_desc_func=function(options)&lt;br /&gt;
		return custom_desc_str&lt;br /&gt;
	end&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[GO_TO_START]&amp;quot;&lt;br /&gt;
	-- remove second words like &amp;quot; beetle&amp;quot;, etc from the end&lt;br /&gt;
	local short_name = rcp.name_string:gsub(&amp;quot;%s(%w+)$&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
	local name_str=&amp;quot;were&amp;quot;..short_name..&amp;quot;:were&amp;quot;..short_name..&amp;quot;s:were&amp;quot;..short_name..&amp;quot;]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NAME:&amp;quot;..name_str&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CASTE_NAME:&amp;quot;..name_str&lt;br /&gt;
	return {raws=lines,weight=1}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===New forgotten beasts===&lt;br /&gt;
You can add new types of forgotten beasts (or more appropriately, {{token|FEATURE_BEAST}}s). These generate as alternatives when populating the caverns with unique monsters. There are a number of options to interact with shared generation functions.&lt;br /&gt;
&lt;br /&gt;
Unbidden spirits only appear in dry cave layers, and like &amp;quot;spirit&amp;quot; [[demon]]s, are malevolent floating beings made of gas or dust.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Unbidden spirit&lt;br /&gt;
|script=&lt;br /&gt;
creatures.fb.unbidden=function(layer_type,tok)&lt;br /&gt;
    if layer_type==0 then return nil end -- land only&lt;br /&gt;
    local tbl={}&lt;br /&gt;
    local options={&lt;br /&gt;
        strong_attack_tweak=true,&lt;br /&gt;
        always_make_uniform=true,&lt;br /&gt;
        always_insubstantial=true,&lt;br /&gt;
        intangible_flier=true,&lt;br /&gt;
        spheres={CAVERNS=true},&lt;br /&gt;
        is_evil=true,&lt;br /&gt;
        sickness_name=&amp;quot;beast sickness&amp;quot;,&lt;br /&gt;
        token=tok&lt;br /&gt;
    }&lt;br /&gt;
    tbl=split_to_lines(tbl,[[&lt;br /&gt;
    [FEATURE_BEAST]&lt;br /&gt;
    [ATTACK_TRIGGER:0:0:2]&lt;br /&gt;
    [NAME:unbidden spirit:unbidden spirit:unbidden spirit]&lt;br /&gt;
    [CASTE_NAME:unbidden spirit:unbidden spirit:unbidden spirit]&lt;br /&gt;
    [NO_GENDER]&lt;br /&gt;
    [CARNIVORE]&lt;br /&gt;
    [DIFFICULTY:10]&lt;br /&gt;
&lt;br /&gt;
    [NATURAL_SKILL:WRESTLING:6]&lt;br /&gt;
    [NATURAL_SKILL:BITE:6]&lt;br /&gt;
    [NATURAL_SKILL:GRASP_STRIKE:6]&lt;br /&gt;
    [NATURAL_SKILL:STANCE_STRIKE:6]&lt;br /&gt;
    [NATURAL_SKILL:MELEE_COMBAT:6]&lt;br /&gt;
    [NATURAL_SKILL:DODGING:6]&lt;br /&gt;
    [NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&lt;br /&gt;
    [LARGE_PREDATOR]&lt;br /&gt;
    ]])&lt;br /&gt;
    add_regular_tokens(tbl,options)&lt;br /&gt;
    tbl[#tbl+1]=layer_type==0 and &amp;quot;[BIOME:SUBTERRANEAN_WATER]&amp;quot; or &amp;quot;[BIOME:SUBTERRANEAN_CHASM]&amp;quot;&lt;br /&gt;
    if layer_type==0 then options.spheres.WATER=true end&lt;br /&gt;
    options.spheres[pick_random(evil_spheres)]=true&lt;br /&gt;
    options.do_water=layer_type==0&lt;br /&gt;
    populate_sphere_info(tbl,options)&lt;br /&gt;
    local rcp=get_random_creature_profile(options)&lt;br /&gt;
    add_body_size(tbl,math.max(10000000,rcp.min_size),options)&lt;br /&gt;
    tbl[#tbl+1]=&amp;quot;[CREATURE_TILE:&amp;quot;..tile_string(rcp.tile)..&amp;quot;]&amp;quot;&lt;br /&gt;
    build_procgen_creature(rcp,tbl,options)&lt;br /&gt;
    -- Weight is a float; all vanilla objects have weight 1&lt;br /&gt;
    return {creature=tbl,weight=0.5}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Construct creature|Elementals]] are defined by the material they're made of, using a table of options to set the right properties. In a dry chasm layer, they'll roll on the ``fb_elements`` table, while in a water layer, they'll be a water elemental. Should they ever carry a [[syndrome]], they would inflict [[Wikipedia:Dyscrasia|dyskrasia]].&lt;br /&gt;
&lt;br /&gt;
The most important feature is setting ``options.sphere_rcm`` to a key in ``random_creature_materials``, so fire elementals are made of &amp;quot;FLAME&amp;quot; and earth elementals are made of &amp;quot;ANY_MINERAL&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Elemental&lt;br /&gt;
|script=&lt;br /&gt;
fb_elements = {&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;quot;fire&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;FLAME&amp;quot;,&lt;br /&gt;
		spheres={ FIRE=true },&lt;br /&gt;
		options={ fire_immune=true }&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;quot;earth&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;ANY_MINERAL&amp;quot;,&lt;br /&gt;
		rcp_options={ always_flightless=true },&lt;br /&gt;
		spheres={&lt;br /&gt;
			EARTH=true,&lt;br /&gt;
			MINERALS=true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name=&amp;quot;air&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;STEAM&amp;quot;,&lt;br /&gt;
		spheres={&lt;br /&gt;
			WIND=true,&lt;br /&gt;
			SKY=true&lt;br /&gt;
		},&lt;br /&gt;
		options={&lt;br /&gt;
			always_insubstantial=true,&lt;br /&gt;
			intangible_flier=true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
creatures.fb.elemental=function(layer_type,tok)&lt;br /&gt;
	local lines={}&lt;br /&gt;
	local options={&lt;br /&gt;
		strong_attack_tweak=true,&lt;br /&gt;
		always_make_uniform=true, --irrelevant due to sphere_rcm&lt;br /&gt;
		spheres={},&lt;br /&gt;
		sickness_name=&amp;quot;dyskrasia&amp;quot;,&lt;br /&gt;
		token=tok&lt;br /&gt;
	}&lt;br /&gt;
	lines=split_to_lines(lines,[[&lt;br /&gt;
		[FEATURE_BEAST]&lt;br /&gt;
		[ATTACK_TRIGGER:0:0:2]&lt;br /&gt;
		[NO_GENDER]&lt;br /&gt;
		[NO_EAT][NO_DRINK]&lt;br /&gt;
		[DIFFICULTY:10]&lt;br /&gt;
		&lt;br /&gt;
		[NATURAL_SKILL:WRESTLING:6]&lt;br /&gt;
		[NATURAL_SKILL:BITE:6]&lt;br /&gt;
		[NATURAL_SKILL:GRASP_STRIKE:6]&lt;br /&gt;
		[NATURAL_SKILL:STANCE_STRIKE:6]&lt;br /&gt;
		[NATURAL_SKILL:MELEE_COMBAT:6]&lt;br /&gt;
		[NATURAL_SKILL:DODGING:6]&lt;br /&gt;
		[NATURAL_SKILL:SITUATIONAL_AWARENESS:6]&lt;br /&gt;
		[LARGE_PREDATOR]&lt;br /&gt;
	]])&lt;br /&gt;
	&lt;br /&gt;
	-- Create a water elemental in water layers, otherwise use another type&lt;br /&gt;
	local water_elemental = {&lt;br /&gt;
		name=&amp;quot;water&amp;quot;,&lt;br /&gt;
		rcm=&amp;quot;WATER&amp;quot;,&lt;br /&gt;
		spheres={WATER=true},&lt;br /&gt;
		options={do_water=true}&lt;br /&gt;
	}&lt;br /&gt;
	local my_element = layer_type==1 and pick_random(fb_elements) or water_elemental&lt;br /&gt;
	&lt;br /&gt;
	-- Assign propertes from chosen element&lt;br /&gt;
	map_merge(options.spheres,my_element.spheres)&lt;br /&gt;
	if my_element.options then map_merge(options,my_element.options) end&lt;br /&gt;
	&lt;br /&gt;
	add_regular_tokens(lines,options)&lt;br /&gt;
	lines[#lines+1]=layer_type==0 and &amp;quot;[BIOME:SUBTERRANEAN_WATER]&amp;quot; or &amp;quot;[BIOME:SUBTERRANEAN_CHASM]&amp;quot;&lt;br /&gt;
	populate_sphere_info(lines,options)&lt;br /&gt;
	&lt;br /&gt;
	-- Set custom material&lt;br /&gt;
	options.sphere_rcm=my_element.rcm&lt;br /&gt;
	-- Build body&lt;br /&gt;
	local rcp=get_random_creature_profile(options)&lt;br /&gt;
	-- Set more options on the RCP&lt;br /&gt;
	if my_element.rcp_options then map_merge(rcp.options,my_element.rcp_options) end&lt;br /&gt;
	add_body_size(lines,math.max(10000000,rcp.min_size),options)&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CREATURE_TILE:'E']&amp;quot;&lt;br /&gt;
	build_procgen_creature(rcp,lines,options)&lt;br /&gt;
	&lt;br /&gt;
	-- Generate name&lt;br /&gt;
	local element_name = my_element.name or &amp;quot;glitchstuff&amp;quot;&lt;br /&gt;
	local name_str = element_name..&amp;quot; elemental:&amp;quot;..element_name..&amp;quot; elemental:&amp;quot;..element_name..&amp;quot;-elemental]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[GO_TO_START]&amp;quot;&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[NAME:&amp;quot;..name_str&lt;br /&gt;
	lines[#lines+1]=&amp;quot;[CASTE_NAME:&amp;quot;..name_str&lt;br /&gt;
	&lt;br /&gt;
	return {raws=lines,weight=1.5}&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Tweaking creatures===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Consolidate the creature patching stuff in a single header--&amp;gt;&lt;br /&gt;
This function is run in ``build_body_from_rcp()`` right before tweaks are determined. If a generated creature's size is greater than 500,000 Γ (about as much as an [[elephant]]), this patch adds {{token|POWER}} and the like to make forgotten beasts, titans, etc capable of impersonating [[Deity|deities]] and ruling [[civilization]]s.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=btc1_tweaks.titan_worship&lt;br /&gt;
|script=&lt;br /&gt;
-- make all large creatures into powers&lt;br /&gt;
btc1_tweaks.titan_worship=function(lines,options,add_to_body,add_to_body_unique,add_tweak_candidate)&lt;br /&gt;
	if options.body_size&amp;gt;=500000 then -- described as &amp;quot;very large&amp;quot;, graphics size cutoff&lt;br /&gt;
		options.can_learn=true -- for flavor text&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[INTELLIGENT]&amp;quot;&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[SUPERNATURAL]&amp;quot; -- knows secrets according to their spheres&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[POWER]&amp;quot; -- impersonates deities&lt;br /&gt;
		lines[#lines+1]=&amp;quot;[SPREAD_EVIL_SPHERES_IF_RULER]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Adamantine alloys===&lt;br /&gt;
&lt;br /&gt;
You can add your own arbitrary generated objects, though as of right now there's no way to make settings for them. This allows for some ''truly'' wild stuff; here's a fun example: adamantine-metal alloys for every single non-special metal, giving you an average of the properties of them.&lt;br /&gt;
&lt;br /&gt;
{{Scriptdata&lt;br /&gt;
|title=Adamantine alloys&lt;br /&gt;
|script=&lt;br /&gt;
preprocess.adamantine_alloys=function()&lt;br /&gt;
    if not random_object_parameters.main_world_randoms then return end&lt;br /&gt;
    local l=get_debug_logger(2)&lt;br /&gt;
    local lines={}&lt;br /&gt;
    local reaction_lines={}&lt;br /&gt;
    local reaction_names={}&lt;br /&gt;
    local adamantine=world.inorganic.inorganic.ADAMANTINE&lt;br /&gt;
    if not adamantine then return end&lt;br /&gt;
    local adamantine_color=world.descriptor.color[world.descriptor.color_pattern[adamantine.material.color_pattern.SOLID].color[1]]&lt;br /&gt;
    local adamantine_modulus = 2500000  --mildly arbitrary, just below the theoretical limit&lt;br /&gt;
    l(&amp;quot;Starting&amp;quot;)&lt;br /&gt;
    local done_category=false&lt;br /&gt;
    for k,v in ipairs(world.inorganic.inorganic) do&lt;br /&gt;
        if not v.flags.SPECIAL and v.material.flags.IS_METAL then&lt;br /&gt;
            l(v.token)&lt;br /&gt;
            local token=&amp;quot;GEN_ADAMANTINE_&amp;quot;..v.token&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[INORGANIC:&amp;quot;..token..&amp;quot;]&amp;quot;&lt;br /&gt;
            add_generated_info(lines)&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[USE_MATERIAL_TEMPLATE:METAL_TEMPLATE]&amp;quot;&lt;br /&gt;
            for kk,vv in pairs(v.material.adj) do&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[STATE_ADJ:&amp;quot;..kk..&amp;quot;:adamantine &amp;quot;..vv..&amp;quot;]&amp;quot; --&amp;quot;adamantine molten steel&amp;quot;? it's fine&lt;br /&gt;
            end&lt;br /&gt;
            for kk,vv in pairs(v.material.name) do&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[STATE_NAME:&amp;quot;..kk..&amp;quot;:adamantine &amp;quot;..vv..&amp;quot;]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            l(2)&lt;br /&gt;
            local mat_values={}&lt;br /&gt;
            -- Find the ratio for which you get closest to (but not below) 2000000 in the material's worst property&lt;br /&gt;
            local worst=math.min(v.material.yield.IMPACT,v.material.fracture.SHEAR)&lt;br /&gt;
            local wafers=1&lt;br /&gt;
            local bars=1&lt;br /&gt;
            if worst &amp;lt; 2000000 then&lt;br /&gt;
                local ratio = (2000000-3*worst)/1000000&lt;br /&gt;
                local best_diff=1&lt;br /&gt;
                for i=1,10 do&lt;br /&gt;
                    local wafer_amt=i*ratio&lt;br /&gt;
                    if wafer_amt&amp;gt;1 and wafer_amt&amp;lt;20 and math.ceil(wafer_amt)-wafer_amt&amp;lt;best_diff then&lt;br /&gt;
                        best_diff=math.ceil(wafer_amt)-wafer_amt&lt;br /&gt;
                        wafers=math.ceil(wafer_amt)&lt;br /&gt;
                        bars=i&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            local avg_denom=1/(bars*3+wafers) -- Multiplication just a bit faster than division, we're rounding at the end anyway&lt;br /&gt;
            local solid_cl=nil&lt;br /&gt;
            for kk,vv in pairs(v.material.color_pattern) do&lt;br /&gt;
                -- time to get silly&lt;br /&gt;
                local this_color=world.descriptor.color[world.descriptor.color_pattern[vv].color[1]]&lt;br /&gt;
                local wanted_color={&lt;br /&gt;
                    r=(this_color.r*bars*3+adamantine_color.r*wafers)*avg_denom,&lt;br /&gt;
                    g=(this_color.g*bars*3+adamantine_color.g*wafers)*avg_denom,&lt;br /&gt;
                    b=(this_color.b*bars*3+adamantine_color.b*wafers)*avg_denom,&lt;br /&gt;
                }&lt;br /&gt;
                local best_total_diff=1000000000&lt;br /&gt;
                local best_clp=nil&lt;br /&gt;
                for _,clp in ipairs(world.descriptor.color_pattern) do&lt;br /&gt;
                    if clp.pattern==&amp;quot;MONOTONE&amp;quot; then&lt;br /&gt;
                        local cl=world.descriptor.color[clp.color[1]]&lt;br /&gt;
                        local diff=math.abs(wanted_color.r-cl.r)+math.abs(wanted_color.b-cl.b)+math.abs(wanted_color.g-cl.g)&lt;br /&gt;
                        if diff&amp;lt;best_total_diff then&lt;br /&gt;
                            best_clp=clp&lt;br /&gt;
                            best_total_diff=diff&lt;br /&gt;
                        end&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[STATE_COLOR:&amp;quot;..kk..&amp;quot;:&amp;quot;..best_clp.token..&amp;quot;]&amp;quot;&lt;br /&gt;
                if kk==&amp;quot;SOLID&amp;quot; then solid_cl=world.descriptor.color[best_clp.color[1]] end&lt;br /&gt;
            end&lt;br /&gt;
            local color_str=solid_cl.col_f..&amp;quot;:0:&amp;quot;..solid_cl.col_br&lt;br /&gt;
            l(color_str)&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[DISPLAY_COLOR:&amp;quot;..color_str..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[BUILD_COLOR:&amp;quot;..color_str..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[ITEMS_METAL][ITEMS_HARD][ITEMS_SCALED][ITEMS_BARRED]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[SPECIAL]&amp;quot;&lt;br /&gt;
            if v.material.flags.ITEMS_DIGGER then&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[ITEMS_DIGGER]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            local function new_value(str)&lt;br /&gt;
                mat_values[str]=mat_values[str] or math.floor((adamantine.material[str]*wafers+v.material[str]*bars*3)*avg_denom+0.5)&lt;br /&gt;
                l(str,mat_values[str])&lt;br /&gt;
                return mat_values[str]&lt;br /&gt;
            end&lt;br /&gt;
            local function new_value_nested(str1,str2)&lt;br /&gt;
                mat_values[str1..str2]=mat_values[str1..str2] or math.floor((adamantine.material[str1][str2]*wafers+v.material[str1][str2]*bars*3)/(bars*3+wafers)+0.5)&lt;br /&gt;
                l(str1..str2,mat_values[str1..str2])&lt;br /&gt;
                return mat_values[str1..str2]&lt;br /&gt;
            end&lt;br /&gt;
            if new_value_nested(&amp;quot;fracture&amp;quot;,&amp;quot;SHEAR&amp;quot;)&amp;gt;170000 or new_value_nested(&amp;quot;yield&amp;quot;,&amp;quot;IMPACT&amp;quot;)&amp;gt;245000 then&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[ITEMS_WEAPON][ITEMS_AMMO]&amp;quot;&lt;br /&gt;
                if new_value(&amp;quot;solid_density&amp;quot;)&amp;lt;10000 then&lt;br /&gt;
                    lines[#lines+1]=&amp;quot;[ITEMS_WEAPON_RANGED][ITEMS_ARMOR]&amp;quot;&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MATERIAL_VALUE:&amp;quot;..new_value(&amp;quot;base_value&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[SPEC_HEAT:&amp;quot;..new_value(&amp;quot;temp_spec_heat&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MELTING_POINT:&amp;quot;..new_value(&amp;quot;temp_melting_point&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[BOILING_POINT:&amp;quot;..new_value(&amp;quot;temp_boiling_point&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[SOLID_DENSITY:&amp;quot;..new_value(&amp;quot;solid_density&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[LIQUID_DENSITY:&amp;quot;..new_value(&amp;quot;liquid_density&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MOLAR_MASS:&amp;quot;..new_value(&amp;quot;molar_mass&amp;quot;)..&amp;quot;]&amp;quot; -- i don't think this is actually correct&lt;br /&gt;
            for _,thing in ipairs({&amp;quot;yield&amp;quot;,&amp;quot;fracture&amp;quot;}) do&lt;br /&gt;
                for force,_ in pairs(v.material[thing]) do&lt;br /&gt;
                    lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_&amp;quot;..string.upper(thing)..&amp;quot;:&amp;quot;..new_value_nested(thing,force)..&amp;quot;]&amp;quot;&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            for _,force in ipairs(&amp;quot;IMPACT&amp;quot;,&amp;quot;COMPRESSIVE&amp;quot;,&amp;quot;TENSILE&amp;quot;,&amp;quot;TORSION&amp;quot;,&amp;quot;SHEAR&amp;quot;,&amp;quot;BENDING&amp;quot;) do&lt;br /&gt;
                local modulus = v.yield[force] / v.elasticity[force]&lt;br /&gt;
                local average_modulus = (adamantine_modulus*wafers + modulus*bars*3)*avg_denom&lt;br /&gt;
                local strain_at_yield = math.floor(new_value_nested(&amp;quot;yield&amp;quot;,force) / average_modulus + 0.5) -- usually zero, but can be 1 or 2 sometimes&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_YIELD:&amp;quot;..new_value_nested(&amp;quot;yield&amp;quot;,force)..&amp;quot;]&amp;quot;&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_FRACTURE:&amp;quot;..new_value_nested(&amp;quot;fracture&amp;quot;,force)..&amp;quot;]&amp;quot;&lt;br /&gt;
                lines[#lines+1]=&amp;quot;[&amp;quot;..string.upper(force)..&amp;quot;_STRAIN_AT_YIELD:&amp;quot;..strain_at_yield..&amp;quot;]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            lines[#lines+1]=&amp;quot;[MAX_EDGE:&amp;quot;..new_value(&amp;quot;max_edge&amp;quot;)..&amp;quot;]&amp;quot;&lt;br /&gt;
            local reaction_token=token..&amp;quot;_MAKING&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[REACTION:&amp;quot;..reaction_token..&amp;quot;]&amp;quot;&lt;br /&gt;
            add_generated_info(reaction_lines)&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[NAME:make adamantine &amp;quot;..v.material.name.SOLID..&amp;quot; (use bars)]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[BUILDING:SMELTER:NONE]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[REAGENT:A:&amp;quot;..tostring(150*wafers)..&amp;quot;:BAR:NO_SUBTYPE:METAL:ADAMANTINE]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[REAGENT:B:&amp;quot;..tostring(150*bars)..&amp;quot;:BAR:NO_SUBTYPE:METAL:&amp;quot;..v.token..&amp;quot;]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[PRODUCT:100:&amp;quot;..tostring(bars+wafers)..&amp;quot;:BAR:NO_SUBTYPE:METAL:&amp;quot;..token..&amp;quot;][PRODUCT_DIMENSION:150]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[FORTRESS_MODE_ENABLED]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY:ADAMANTINE_ALLOYS]&amp;quot;&lt;br /&gt;
            if not done_category then&lt;br /&gt;
                done_category=true&lt;br /&gt;
                reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY_NAME:Adamantine alloys]&amp;quot;&lt;br /&gt;
                reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY_DESCRIPTION:Debase adamantine with other metals to get extremely strong alloys.]&amp;quot;&lt;br /&gt;
                reaction_lines[#reaction_lines+1]=&amp;quot;[CATEGORY_KEY:CUSTOM_SHIFT_A]&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[FUEL]&amp;quot;&lt;br /&gt;
            reaction_lines[#reaction_lines+1]=&amp;quot;[SKILL:SMELT]&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    local entity_lines={}&lt;br /&gt;
    raws.register_inorganics(lines)&lt;br /&gt;
    -- not used in vanilla right now, due to lack of instruments, but you CAN do this&lt;br /&gt;
    raws.register_reactions(reaction_lines)&lt;br /&gt;
end}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:Modding Examples]]&lt;br /&gt;
[[Category:Lua|S]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Advanced_world_generation&amp;diff=311164</id>
		<title>Advanced world generation</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Advanced_world_generation&amp;diff=311164"/>
		<updated>2025-10-17T18:25:34Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Number of Werebeast Curse Types */ Wereblob bug&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{migrated article}}&lt;br /&gt;
{{Quality|Superior}}&lt;br /&gt;
{{av}}&lt;br /&gt;
:''This article contains information on advanced world generation. For information on basic world generation, see [[World generation]].''  ''See [[World token]] to more easily find information by the names used in the world_gen.txt file, [[World rejection]] for information on solving problems related to worlds always being rejected, and [[Worldgen examples]] for example worlds.''&lt;br /&gt;
&lt;br /&gt;
[[File:adv_worldgen_v50.png|thumb|400px|right|The advanced world generation screen.&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;''(Click to enlarge)''&amp;lt;/small&amp;gt;]]'''Advanced world generation''', also labeled as '''detailed mode''', allows substantially more detail-oriented options of customization than standard, basic world generation. This gives the player much more control over how their world is generated. To better understand this article, it is advised that one should read about [[World generation|'''basic world generation''']] first.&lt;br /&gt;
&lt;br /&gt;
The advanced world generation screen is reached by clicking &amp;quot;Create new world&amp;quot; at the main menu, then clicking &amp;quot;Detailed mode&amp;quot;. Once at that screen, clicking &amp;quot;Basic options&amp;quot; will return the user to the standard world generation screen.&lt;br /&gt;
&lt;br /&gt;
== Parameter sets ==&lt;br /&gt;
There are multiple default sets of all the advanced world generation parameters hard-coded in ''Dwarf Fortress'', which will be overridden by the &amp;lt;tt&amp;gt;prefs/world_gen.txt&amp;lt;/tt&amp;gt; file in the main ''Dwarf Fortress'' directory, if it exists. It does not exist by default, you must create it, either by saving the default sets, or saving a copy from the [[world_gen.txt]] wiki page or elsewhere. This file can then be edited with a text editor, and you can copy and paste other players' sets of parameters into it. For sources of such parameter sets see [[Advanced_world_generation#Parameter_set_examples|Parameter set examples]] below.&lt;br /&gt;
&lt;br /&gt;
To get back the default sets, move the existing &amp;lt;tt&amp;gt;prefs/world_gen.txt&amp;lt;/tt&amp;gt; to somewhere else (like Documents), or delete it if you do not want to keep the changes, then load the sets in the game, it will then use the hardcoded defaults.&lt;br /&gt;
&lt;br /&gt;
== User interface ==&lt;br /&gt;
First, there is a line of text inputs and buttons along the top of the screen, from left to right:&lt;br /&gt;
* The drop down menu of currently defined parameter sets, click the down arrow to select a set that you want to work with. The currently selected set can be renamed by clicking the current name or the [[File:Quill.png]] button. The first set in the file is selected by default, usually &amp;quot;LARGE ISLAND&amp;quot;. See [[#Parameter set title|Parameter set title]].&lt;br /&gt;
* The dimensions of the world for the selected set, see [[#World dimensions|World dimensions]].&lt;br /&gt;
* A text entry box to set all of the seed options to the same seed, will show &amp;quot;Random seed&amp;quot;, &amp;quot;Various seeds&amp;quot;, or, if all four seeds are set to use the same value, that value. See [[Advanced_world_generation#Seed_values|Seed values]] and [[Advanced_world_generation#Seed_values|Seed notes]].&lt;br /&gt;
* The Copy Button to make a copy of the currently selected set and appends it to the bottom of the list.&lt;br /&gt;
* The red Delete button to delete the currently selected set, you will be prompted to confirm the deletion.&lt;br /&gt;
* The New parameter set to create a new parameter set and appends it to the bottom of the list. This seems to just copy the default &amp;quot;LARGE REGION&amp;quot; set.&lt;br /&gt;
* The Save button to save all of the current sets to the &amp;lt;tt&amp;gt;prefs/world_gen.txt&amp;lt;/tt&amp;gt; file.&lt;br /&gt;
* The Load button to load from the same file, there is no confirmation, '''any unsaved changes will be lost'''. If that file does not exist, this resets all of the sets to the defaults.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Most of the middle is the parameters themselves, with a scroll bar to the right. Each row of the list can include:&lt;br /&gt;
* The name of the option&lt;br /&gt;
* The range of accepted values; not every option has this, and does not always match the displayed value, for example &amp;quot;0 to 1&amp;quot; might show as &amp;quot;No&amp;quot; and &amp;quot;Yes&amp;quot;.&lt;br /&gt;
:* Sometimes the range might not initially show on rows that it should, reloading the sets with the Load button sometimes fixes that.{{bug|13176}}&lt;br /&gt;
* A plus button to increase the value or cycle through options, when applicable (this button will be missing if the range is missing.)&lt;br /&gt;
* The current value; can be clicked to edit, to actually set a value you must press {{k|enter}}, without doing that, clicking another entry box or right clicking will instead reset to the currently set value.&lt;br /&gt;
* An edit button to show that the previous box is editable, same as clicking on the text box.&lt;br /&gt;
* A minus button to decrease the value or cycle through options, when applicable (this button will be missing if the range is missing).&lt;br /&gt;
* A red button to disable this parameter, when applicable, usually setting the value to 0, or -1.&lt;br /&gt;
&lt;br /&gt;
{{notice bar|bgcolor=#faa|bordercolor=#f00|All of the buttons below leave this screen and do not prompt to save the sets, so unsaved changes may be lost.}}&lt;br /&gt;
At the bottom right are 3 or 4 more buttons:&lt;br /&gt;
* The Create world button to do just that using the currently selected set, '''unsaved changes are lost'''.&lt;br /&gt;
* The Basic options button to go back to the normal world generation screen, unsaved changes are not lost if you come directly back to Detailed mode.&lt;br /&gt;
* The [[Mods]] button to go to the mod selection screen, unsaved changes are not lost if you come directly back to Detailed mode. Only shown if mods are available.&lt;br /&gt;
* Back to main menu button to do just that, '''unsaved changes are lost'''.&lt;br /&gt;
&lt;br /&gt;
=== World painter ===&lt;br /&gt;
:''Main article: [[World painter]]&lt;br /&gt;
The '''world painter''' tool is not in the current version of ''Dwarf Fortress''; it allowed you to paint features onto a map. '''However''', those maps can still be used when generating a world by pasting world painter parameter set maps created in old versions into the &amp;lt;tt&amp;gt;prefs/world_gen.txt&amp;lt;/tt&amp;gt; file. [[Utilities#Perfect_World_DF|Perfect World DF]] is a utility that uses the same parameter functionality as the world painter to paint a map, and it also can work with the current version of ''Dwarf Fortress''.&lt;br /&gt;
&lt;br /&gt;
== Generating a world ==&lt;br /&gt;
You can either use an already-defined parameter set, or you can edit them, though it is highly suggested to edit a copy of one of the defaults. Once you are happy with the parameters you should save the values you just edited before you click the Create world button. Information about each parameter is documented below.&lt;br /&gt;
&lt;br /&gt;
The phases of the world generation process are (this order is not completely correct):&lt;br /&gt;
* Preparing elevation...&lt;br /&gt;
* Setting temperature...&lt;br /&gt;
* Running rivers...&lt;br /&gt;
* Forming lakes and minerals...&lt;br /&gt;
* Growing vegetation...&lt;br /&gt;
* Verifying terrain...&lt;br /&gt;
* Importing wildlife...&lt;br /&gt;
* Recounting legends...&lt;br /&gt;
* Placing civilizations...&lt;br /&gt;
* Making cave civilizations...&lt;br /&gt;
* Making cave pops...&lt;br /&gt;
* Placing other beasts...&lt;br /&gt;
* Placing megabeasts...&lt;br /&gt;
* Placing good/evil...&lt;br /&gt;
* Placing caves...&lt;br /&gt;
* Prehistory generation&lt;br /&gt;
* Finalizing civ mats...&lt;br /&gt;
* Finalizing art...&lt;br /&gt;
* Finalizing uniforms...&lt;br /&gt;
* Finalizing sites...&lt;br /&gt;
&lt;br /&gt;
== Seed notes ==&lt;br /&gt;
The world generation process uses a PRNG (Pseudo Random Number Generator) algorithm. A PRNG will produce a sequence of numbers that &amp;quot;looks&amp;quot; random, even though the actual sequence of numbers will always be the same if the PRNG is started with the same seed value. Basically this means that if you run world generation with a certain seed value on your computer, and someone else runs world generation with the same seed value on their computer, the same sequence of random numbers will be generated on both computers. The practical impact of this is that someone else can generate exactly the same world that you generated by entering the same seed value that you used.&lt;br /&gt;
&lt;br /&gt;
In the current version, the seed values for the world itself and the names seem to produce the same result, but you will get changes in events which will result in a very different world history.{{bug|6934}} Keep this in mind if you want to regenerate a particular world.&lt;br /&gt;
&lt;br /&gt;
The way that a world is generated can also be affected by certain world tokens. Changing them causes that code to use more or fewer PRNG values, causing later uses to get different parts of the sequence. So, you cannot for example, change the minimum and maximum rainfall and get 'the same world but drier or wetter', instead, a different world is generated. That said, it would also seem that certain small changes to these world tokens can occasionally generate a very similar world, however, other tokens are more sensitive. For more information see the forum thread [http://www.bay12forums.com/smf/index.php?topic=112132.msg3404199#msg3404199 here].&lt;br /&gt;
&lt;br /&gt;
The following are tokens which use the PRNG values in ways that changing them will likely cause broader changes:&lt;br /&gt;
&lt;br /&gt;
* [DIM:X:X]&lt;br /&gt;
* [ELEVATION:X:X:X:X]&lt;br /&gt;
* [RAINFALL:X:X:X:X]&lt;br /&gt;
* [TEMPERATURE:X:X:X:X]&lt;br /&gt;
* [DRAINAGE:X:X:X:X]&lt;br /&gt;
* [VOLCANISM:X:X:X:X]&lt;br /&gt;
* [SAVAGERY:X:X:X:X]&lt;br /&gt;
* [ELEVATION_FREQUENCY:X:X:X:X:X:X]&lt;br /&gt;
* [RAIN_FREQUENCY:X:X:X:X:X:X]&lt;br /&gt;
* [DRAINAGE_FREQUENCY:X:X:X:X:X:X]&lt;br /&gt;
* [TEMPERATURE_FREQUENCY:X:X:X:X:X:X]&lt;br /&gt;
* [SAVAGERY_FREQUENCY:X:X:X:X:X:X]&lt;br /&gt;
* [VOLCANISM_FREQUENCY:X:X:X:X:X:X]&lt;br /&gt;
* [PARTIAL_OCEAN_EDGE_MIN:X]&lt;br /&gt;
* [COMPLETE_OCEAN_EDGE_MIN:X]&lt;br /&gt;
* [HAVE_BOTTOM_LAYER_1:X]&lt;br /&gt;
* [MINERAL_SCARCITY:X] {{cite talk/this|Mineral scarcity}}&lt;br /&gt;
&lt;br /&gt;
Many other world parameters, such as end year and embark points, can, however, be changed without it having any effect on the geography of the world generated from the seed values.&lt;br /&gt;
&lt;br /&gt;
Normally, you don't enter these seed values, the game comes up with values based on some other sort of pseudo-random information from things like the current date and time.&lt;br /&gt;
&lt;br /&gt;
When generating a world, ''Dwarf Fortress'' records the seeds it used in [[gamelog.txt]].&lt;br /&gt;
&lt;br /&gt;
== Advanced parameters ==&lt;br /&gt;
There are essentially 4 types of controls for the generation of the surface map;&lt;br /&gt;
&lt;br /&gt;
'''Terrain parameters''': as described below, these 5 variables define the basic background world, how hot or cold it is, how much rainfall, how high the mountains are. The world automatically goes through the temperature range along the Y axis, although sometimes it will be hotter in the north, other times in the south, or cold at both. Minimum, maximum and X,Y variance can drastically alter the world.&lt;br /&gt;
&lt;br /&gt;
'''Weighted meshes''': these are a way to fine-tune the amount of the 5 basic variables on the map. They can be used to set the specific distribution of different elevations or rainfall areas for example.&lt;br /&gt;
&lt;br /&gt;
'''Feature parameters''': such as rivers, mountain peaks, volcanoes, and oceans, which can cause rejections if the terrain parameters don't allow enough suitable locations for the features to be placed.&lt;br /&gt;
&lt;br /&gt;
'''Rejection parameters''': ''Dwarf Fortress'' uses a 'belt-and-braces' approach to world generation. The above controls allow you to shape the world, then the rejection parameters throw it out if it does not meet certain criteria. There are a number of rejection parameters for the number and degree of the 5 basic variables, for biome types, etc. If the world does not meet the requirements of any one rejection parameter the world is rejected and re-randomised. Also see [[World rejection]].&lt;br /&gt;
&lt;br /&gt;
Leaving tokens out of a set in &amp;lt;tt&amp;gt;world_gen.txt&amp;lt;/tt&amp;gt; will cause the game to use default values which are not adjusted for smaller world sizes, this may cause smaller worlds to always be rejected.&lt;br /&gt;
&lt;br /&gt;
If you are experimenting with world design, there is also a [[Settings#Feature_toggles|game setting]] that will log the rejection reasons to ``[[map_rejection_log.txt]]``. With that information you can then either adjust the rejection parameters to allow those worlds, or the other parameters to prevent them from trying to generate. ''Dwarf Fortress'' will keep adding to the file, so you may want to trim or delete it occasionally.&lt;br /&gt;
&lt;br /&gt;
The parameters are described below in the order that they appear in the list in the game, which is not necessarily the order they appear in &amp;lt;tt&amp;gt;world_gen.txt&amp;lt;/tt&amp;gt;. See [[world token]] for an index that will help you look things up by token name. The tokens used in &amp;lt;tt&amp;gt;world_gen.txt&amp;lt;/tt&amp;gt; are at the bottom of each of the following parameter descriptions.&lt;br /&gt;
&lt;br /&gt;
=== Parameter set title ===&lt;br /&gt;
This sets the name of the parameter set itself, as used in the list of sets (this has nothing to do with the name of the generated world).&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[TITLE:&amp;lt;name&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[TITLE:MEDIUM ISLAND]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Required&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== World dimensions ===&lt;br /&gt;
The size of the map for the current set can be changed by changing the Width and Height values at the top next to the set title. You will need to confirm this, since changing the dimensions of the world will change other parameters, because many of them have different defaults depending on the surface area available.&lt;br /&gt;
&lt;br /&gt;
Larger maps usually take longer to generate and may reduce [[Frames per second|FPS]] in-game, though this is really a matter of larger worlds usually having more civilizations, sites, historical figures, and events; restricting the number of those can speed up the process. Non-square maps may result in crashes{{bug|2928}}.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[DIM:&amp;lt;width&amp;gt;:&amp;lt;height&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[DIM:257:257]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Valid values are 17, 33, 65, 129, and 257, other values will use one of those. Changing the size in the file without adjusting other parameters can cause many rejections.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Seed values ===&lt;br /&gt;
Enables the use of, and specifies seed values for, different parts of the world generation process. Just entering a specific seed does not enable it, that must be done separately, although using the box at the top to set all the seeds to the same value does enable them all. Enabling a seed puts the token in using what ever is in the text box below. If you enable a seed, but do not enter a seed, the string &amp;quot;Seed text&amp;quot; will be used (&amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SEED:Seed text]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;). Trying to use a &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; in the string in the file will end the seed there, since it closes the token, any text after that will be ignored. Normally, just leave these set to Random, unless trying to reproduce the results of a previous world generation. See also the [[Advanced_world_generation#Seed_notes|seed notes section]] above.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SEED:&amp;lt;text&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SEED:31337]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |&lt;br /&gt;
For each of these not in the config file, a random seed will be used, and the first seed is not used to generate the others. The seeds used are output to [[gamelog.txt]] when world generation starts.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[HISTORY_SEED:&amp;lt;text&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[HISTORY_SEED:31337]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[NAME_SEED:&amp;lt;text&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[NAME_SEED:31337]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CREATURE_SEED:&amp;lt;text&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CREATURE_SEED:31337]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== World name ===&lt;br /&gt;
As previously mentioned, the title of the parameter set doesn't affect the name of the world. You can specify a particular name for your world, or leave the value blank for a random one. (The [[DFHack]] utility adds an option to rename the world using the in-game languages.)&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CUSTOM_NAME:&amp;lt;name&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CUSTOM_NAME:Realm of Cheese Engravings]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| For a random name, simply don't use this token.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Embark Points ===&lt;br /&gt;
The number of points for equipment and animals when embarking in fortress mode (there is no equivalent setting for adventure mode). Normally, the default of 1504 is fine, but can be increased for various purposes like experimentation or to help dwarves survive in a particularly evil world, or reduced for certain [[challenges]].&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[EMBARK_POINTS:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[EMBARK_POINTS:1504]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 to 10,000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== End year ===&lt;br /&gt;
The maximum number of years generated for the world, although generation can be paused and the world used as is any time after the second year; the same as the [[World_generation#History|History]] parameter in basic world gen, except that you can enter an exact value. A too-short history can limit the materials available to civilizations, and [[Chosen|certain adventure mode features]] are only available after certain site events, while too long a history often leads to civilizations dying.&lt;br /&gt;
&lt;br /&gt;
For more information on the history aspect of the game, see [[Legends]] and [[Calendar#Ages|Ages]].&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[END_YEAR:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[END_YEAR:250]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 2 to 10,000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Population cap after civ creation ===&lt;br /&gt;
A soft limit to the total number of [[historical figure]]s alive at the same time during generation across all civilizations, only preventing the birth of new historical figures.{{cite forum|140544/5701667}} Each civilization is allotted a percentage of the total by the percentage of sites they control.{{cite forum|159164/7553641}} Civilizations also have non-historical populations, and there is no setting to limit those (in early versions, all civilization members were historical figures, this is also why the name of this setting is misleading). Each [[entity]] also has limits from their raws, see the [[Entity_token#Population|population]] entity tokens, and setting this to unlimited will not remove those.&lt;br /&gt;
&lt;br /&gt;
Huge historical figure populations can slow generation and the game in general.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[TOTAL_CIV_POPULATION:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[TOTAL_CIV_POPULATION:15000]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| -1 to 100,000, -1 is no limit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Site cap after civ creation ===&lt;br /&gt;
Total number of [[site]]s that can be directly created by all civilizations combined like [[hillocks]], [[hamlet]]s, [[dark pits]], [[forest retreat]]s, etc. Does not prevent the placement of initial civilization sites, though they will then be counted for the limit. Does not affect creature sites like [[cave]]s or [[lair]]s, group sites like [[castle]]s, [[monastery|monasteries]], [[tower]]s, [[fort]]s, or [[camp]]s, or unpopulated sites like [[tomb]]s. After this limit is reached, no civilization will be able to place new sites. See the [[Entity_token#Placement|placement]] entity tokens for other ways that civilization site placement can be limited.&lt;br /&gt;
&lt;br /&gt;
Increasing this will slow generation down and reduce the available places for player sites. Since the {{token|MAX_SITE_POP_NUMBER|entity}} entity token limits the historical figure population per site, this site cap can also limit the total historical figure population of all civilizations combined, and some expand faster than others getting more sites before the limit is reached.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SITE_CAP:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SITE_CAP:1500]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| -1 to 100,000, -1 is no limit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Beast control ===&lt;br /&gt;
&lt;br /&gt;
These parameters don't usually matter too much, but may matter for small numbers of beasts.&lt;br /&gt;
&lt;br /&gt;
==== Percentage of Megabeasts and Titans Dead for Stoppage ====&lt;br /&gt;
&lt;br /&gt;
The world starts out with a certain number of powerful megabeast and titan entities in existence. If a percentage of the megabeast and titan population dies out during history generation, then history generation will stop early. For example, if the elimination value is 80%, and the generated history starts with 200 entities and 160 of those 200 entities are eliminated by historical events before the End Year is reached, history generation will stop immediately.&lt;br /&gt;
&lt;br /&gt;
If you want to end the creation of your world at the beginning of a certain age, choose the following values:&lt;br /&gt;
* Age of Legends: ~34%&lt;br /&gt;
* Age of Heroes: ~67%&lt;br /&gt;
If there are three or fewer titans or megabeasts in your world, the age will be given a special name reflecting the remaining megabeasts/titans, instead.&lt;br /&gt;
&lt;br /&gt;
==== Year to Begin Checking Megabeast Percentage ====&lt;br /&gt;
&lt;br /&gt;
The percentage of dead [[megabeast]]s and [[titan]]s for stoppage will not be checked until this year is reached in history generation. This can be used to ensure that a world reaches a certain year even if all of the megabeasts in the world are slain earlier.&lt;br /&gt;
&lt;br /&gt;
If the number of living [[megabeast]]s and [[titan]]s starts at or drops to less than four, then world generation will always stop if the current year is equal to or greater than the Year to Begin Checking Megabeast Percentage ''regardless'' of how many [[megabeast]]s and [[titan]]s are dead — Percentage of Megabeasts and Titans Dead for Stoppage is ignored. The number of megabeasts and titans at the start of the world is set by the sum of the [[Advanced_world_generation#Max_Megabeasts_Caves|Max Megabeasts Caves]] and [[Advanced_world_generation#Titan_Parameters|Titan Number]] parameters.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[BEAST_END_YEAR:&amp;lt;year&amp;gt;:&amp;lt;percentage or -1&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[BEAST_END_YEAR:200:80]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Use -1 as percentage to disable. Year must still be at least 2.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cull Unimportant Historical Figures ===&lt;br /&gt;
&lt;br /&gt;
Whether or not the game will ignore unimportant figures in history generation. The culling of unimportant historical figures is a CPU-intensive step in history generation but it saves memory and will speed up loading/saving games in fortress mode. This does mean that the &amp;quot;unimportant&amp;quot; figures will not appear in Legends mode or in engravings, but unimportant figures would likely not appear in engravings anyway.&lt;br /&gt;
&lt;br /&gt;
Unimportant figures are creatures who suffer early deaths, never have offspring or kill a named creature during world gen. For example, a resident of a goblin tower may get murdered by demons at a young age. After culling unimportant figures, Legends mode would say &amp;quot;In the year 102, the demon Evil McEvilface killed an unknown creature at Eviltower.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CULL_HISTORICAL_FIGURES:&amp;lt;0 or 1&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CULL_HISTORICAL_FIGURES:0]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 = No, 1 = Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Reveal All Historical Events ===&lt;br /&gt;
&lt;br /&gt;
Setting this to Yes will allow access to most information about the history of the world in [[Legends mode]]. All events will be revealed, but some [[historical figure]]s, [[site]]s, [[region]]s, and [[civilization]]s and other entities may not be, possibly because they are not known to any civilization. If set to No, then you will have to discover historical information in [[adventure mode]] or by instructing dwarves to make engravings.{{Verify}}&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REVEAL_ALL_HISTORY:&amp;lt;0 or 1&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REVEAL_ALL_HISTORY::1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 = No, 1 = Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Terrain Parameters ===&lt;br /&gt;
&lt;br /&gt;
These set limits and variance for terrain elevation, rainfall, temperature, drainage, volcanism, and savagery which determines how those values are generated. What biomes exist are then determined by how these factors overlap with each other.&lt;br /&gt;
&lt;br /&gt;
==== Minima and Maxima ====&lt;br /&gt;
These are the absolute minimum and maximum values that can ever be generated for a particular map square characteristic. By ''subtly'' tweaking the min and max values, vastly different maps can be made. Changing these can cause the occurrence of certain [[Biome|biomes]] to become impossible, so you may want to use [[#Terrain Mesh Sizes and Weights|Weighted Ranges]] instead.&lt;br /&gt;
&lt;br /&gt;
==== X and Y Variance ====&lt;br /&gt;
These control how wildly things like elevation and rainfall can vary between adjacent map squares. For example, if these values are set to the maximum of 3,200 for elevation then you will end up with more very low areas right next to very high areas. The number for X determines the east-west variance and the number for Y determines the north-south variance. By setting only one of these to a high value you can, for example, create horizontal or vertical bands of areas which are more similar to each other.&lt;br /&gt;
&lt;br /&gt;
Generally speaking, raising both of these values will create a more random &amp;quot;patchwork&amp;quot; of many small biomes while setting both x and y values to 0 will cause every square on the map to use a single random value for the given characteristic.&lt;br /&gt;
&lt;br /&gt;
For &amp;quot;patchwork&amp;quot; worlds to avoid being rejected, [[#Maximum Number of Subregions|Maximum Number of Subregions]] will probably need to be increased from the default.&lt;br /&gt;
&lt;br /&gt;
==== Elevation ====&lt;br /&gt;
This controls the range of terrain elevations that can occur in the world. Usually, you just want to leave the min/max values alone. Raising the minimum elevation can, for example, make it impossible for oceans to exist. This does '''not''' directly control the number of available Z-levels at a particular site, though high maximum values may contribute to peaks, which can raise the number of above ground Z-levels - in other words, a maximum elevation of 400 and minimum of 1 does not mean you get 400 Z-levels, but it might increase the number of Z-levels somewhat in some regions compared to others. Raising the variance will result in a more bumpy, uneven landscape.&lt;br /&gt;
&lt;br /&gt;
Some biomes/features that are impacted by elevation:&lt;br /&gt;
* A high minimum (above 99) means no oceans, as they need elevations below 100.&lt;br /&gt;
* A low maximum (below 300) means no mountains, as mountains need elevations above 300.&lt;br /&gt;
* Rivers will be placed when the elevation maximum is 104 or higher. Therefore, keeping both values above 100 and below 104 will prevent all water tiles from appearing.&lt;br /&gt;
* Mountain peaks can only form at elevations of 400.&lt;br /&gt;
&lt;br /&gt;
==== Rainfall ====&lt;br /&gt;
Controls the amount of rainfall in each map square/area. Setting the minimum or maximum too high or low can make the formation of certain biomes impossible. Rainfall causes it to [[rain]] more in a given area, which can have various effects. Also makes more rivers appear on the world map.&lt;br /&gt;
&lt;br /&gt;
Note that if [[#Do Orographic Precipitation and Rain Shadows|orographic precipitation and rain shadows]] is on, then mountains will cause additional variance in rainfall, so (for example) rainfall below the specified minimum can occur in the shadow of a mountain. If you want the minimum and maximum for this parameter to be absolutely respected, you must turn off the orographic precipitation option.&lt;br /&gt;
&lt;br /&gt;
Additionally, with 'Orthographic Precipitation' turned on, orthographic precipitation and rain shadows will only occur in regions with greater than or equal to 50 drainage. [http://www.bay12forums.com/smf/index.php?topic=139916.0 [Report, reproduced 2022]]&lt;br /&gt;
&lt;br /&gt;
==== Temperature ====&lt;br /&gt;
{{main|Climate|Temperature}}&lt;br /&gt;
These parameters control how hot or cold various areas will be. If you lower the minimum and maximum values, the world will be colder overall, for example. As with the others, changing these values too much could make it impossible for certain biomes to exist. The temperature scale used in this setting is related to regular degrees Urist by the equation &amp;quot;local temp = world temp * 0.75 + 10000&amp;quot;.{{cite forum|169696/8395484}} This scale doesn't seem to be used anywhere else in the game. See [[Climate]] for more info.&lt;br /&gt;
&lt;br /&gt;
These parameters form the &amp;quot;base&amp;quot; temperature for an area, and describe peak summer temperature in a scale that isn't used elsewhere in the game. This number also does not correspond 1:1 with the final climate. [[Temperature]] is always influenced by a number of variables, including elevation, time of year, thick forestation, and if [[Advanced_world_generation#Poles|poles]] are enabled, latitude. These other variables are factored in after the temperature mesh is applied, and frequently bring temperatures above and below their set minimum and maximum values. ''The inclusion of Poles is particularly strong in this regard, as it allows latitude to raise and/or lower temperatures by more than 75 degrees Celsius! That said, the temperatures aren't raised or lowered by more than about 65 degrees past the set minimum and maximum. Furthermore, for typical ranges, the temperature will never be raised more than about 25 degrees past the maximum (but will still drop up to about 65 degrees Celsius below the minimum).'' (unsure about exact values, research needed)&lt;br /&gt;
&lt;br /&gt;
Elves can spawn where the temperature is 10 degrees or warmer, and humans can spawn where the temperature is 0 degrees or warmer.&lt;br /&gt;
&lt;br /&gt;
==== Drainage ====&lt;br /&gt;
Changing drainage parameters will change the way water-affected biomes are formed. Low drainage will contribute to the formation of [[Lake|lakes]], [[River|rivers]], and [[Swamp|swamps]]. High drainage will cause water to sink into the ground rather than sit on the surface, which is important for forming hills.&lt;br /&gt;
&lt;br /&gt;
Lower drainage values have been reported to contribute to the formation of thicker soil layers, though it is currently unknown exactly how other factors (such as elevation or perhaps rain) impact soil formation.&lt;br /&gt;
&lt;br /&gt;
==== Volcanism ====&lt;br /&gt;
Volcanism controls the occurrence of igneous [[layer]]s, and the formation of volcanoes. For a volcano to form, a square must have a volcanism value of 100, so reducing the maximum from 100 will make volcanoes impossible. Raising the minimum will increase the rarity of non-igneous layers.&lt;br /&gt;
&lt;br /&gt;
Setting the minimum to a high value is not a good way to produce multiple volcanoes, as you are likely to get a &amp;quot;Volcanism not evenly distributed&amp;quot; rejection. Instead, use the Minimum Number of Volcanoes parameter, and possibly adjust the weighted ranges for volcanism as described below.&lt;br /&gt;
&lt;br /&gt;
==== Savagery ====&lt;br /&gt;
These parameters control the level of [[Surroundings#Savage|savagery]] on the map. Raising the minimum savagery too high may make it impossible for certain races to exist, and similarly lowering the maximum too far can make it impossible for certain creatures to exist. The largest chance of having unusable maps comes from a too-high savagery value.&lt;br /&gt;
&lt;br /&gt;
==== Configuration Tokens ====&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ELEVATION:&amp;lt;min&amp;gt;:&amp;lt;max&amp;gt;:&amp;lt;x variance&amp;gt;:&amp;lt;y variance&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ELEVATION:1:400:401:401]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Range: 0 to 400&amp;lt;br/&amp;gt;Maximum of 400 required for mountain peaks.&amp;lt;br/&amp;gt;Variance range: 0-3200&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[RAINFALL:&amp;lt;min&amp;gt;:&amp;lt;max&amp;gt;:&amp;lt;x variance&amp;gt;:&amp;lt;y variance&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[RAINFALL:0:100:200:200]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Range: 0 to 100 &amp;lt;br/&amp;gt;Variance range: 0-3200&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[TEMPERATURE:&amp;lt;min&amp;gt;:&amp;lt;max&amp;gt;:&amp;lt;x variance&amp;gt;:&amp;lt;y variance&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[TEMPERATURE:25:75:200:200]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Range: -1000 to 1000 &amp;lt;br/&amp;gt;Variance range: 0-3200&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[DRAINAGE:&amp;lt;min&amp;gt;:&amp;lt;max&amp;gt;:&amp;lt;x variance&amp;gt;:&amp;lt;y variance&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[DRAINAGE:0:100:200:200]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Range: 0 to 100 &amp;lt;br/&amp;gt;Variance range: 0-3200&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[VOLCANISM:&amp;lt;min&amp;gt;:&amp;lt;max&amp;gt;:&amp;lt;x variance&amp;gt;:&amp;lt;y variance&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[VOLCANISM:1:100:200:200]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Range: 0 to 100&amp;lt;br/&amp;gt;Maximum of 100 required for volcanoes. &amp;lt;br/&amp;gt;Variance range: 0-3200&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SAVAGERY:&amp;lt;min&amp;gt;:&amp;lt;max&amp;gt;:&amp;lt;x variance&amp;gt;:&amp;lt;y variance&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SAVAGERY:1:100:200:200]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Range: 0 to 100 &amp;lt;br/&amp;gt;Variance range: 0-3200&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Terrain Mesh Sizes and Weights ===&lt;br /&gt;
&lt;br /&gt;
These parameters make it possible to influence the number of squares in a particular range, without making conditions outside of that range impossible. For example, you can make it possible for many more low-elevation squares to exist without making it impossible for high elevations to form. Changing these parameters is often preferable to simply changing the min/max values.&lt;br /&gt;
&lt;br /&gt;
The basic steps of applying weighted ranges are as follows:&lt;br /&gt;
&lt;br /&gt;
# Create a grid with 2&amp;lt;sup&amp;gt;''MeshSize'' - 1&amp;lt;/sup&amp;gt; tiles in both X and Y direction.&lt;br /&gt;
# At each grid intersection, set the value according to the weighted ranges.&lt;br /&gt;
# Smooth out the area between the intersection points.&lt;br /&gt;
# Add noise according to the variance parameters.&lt;br /&gt;
&lt;br /&gt;
where ''MeshSize'' is the raw parameter value found in the world_gen.txt. See the image on the right for an example.&lt;br /&gt;
&lt;br /&gt;
[[File:World_map-large-32x32-elevation-mesh.png|thumb|300px|A large world generated with an Elevation Mesh Size of 32×32 and range weights set to 1:0:0:0:1 (i.e., only extreme high and low elevations). Note how the grid intersections are either set very high or very low and the space between them is smoothed out.]]&lt;br /&gt;
&lt;br /&gt;
==== Mesh Size/Weighted Ranges ====&lt;br /&gt;
&lt;br /&gt;
Mesh size determines how many grid tiles there will be. Setting this to Ignore will cause the weighted range settings to be ignored for that terrain characteristic. As an example, setting it to 2×2 means the grid will be 2 times 2 tiles large and there will be 3×3 for a total of 9 intersection points. On a pocket world, this means one grid tile will be 8×8 world tiles large, whereas on a large world, one grid tile will be 128×128 world tiles. Note that the highest possible value for a given world size will always make the grid tiles 8×8 world tiles large.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If mesh size is set to something other than Ignore, these weights will be applied at the granularity of the selected mesh size for purposes of generating random values in each range. This allows random number generation to be non-linear for the given terrain characteristic.&lt;br /&gt;
&lt;br /&gt;
For example, if the Elevation Weighted Range parameters were set to (starting with the 0-20 range) 60:10:10:10:10 (these values do not have to add up to any particular number) and elevation min and max are set to 1 and 400 respectively then about 60% of the grid line intersection points (on average) will be set to an elevation in the range of 1-80 (0% to 20%), and the other ranges will be represented by around 10% of the intersection points each. The exact distribution is still left up to chance though ''on average'' it will be close to this specification.&lt;br /&gt;
&lt;br /&gt;
Weighted ranges do not make rejection checks, although they can be responsible for many rejections if you neglect to adjust or disable some of the [[#Minimum Number of Mid/Low/High Characteristic Squares|Minimum Number of Mid/Low/High Characteristic Squares]] for example.&lt;br /&gt;
&lt;br /&gt;
==== Interaction between Mesh Size and Variance ====&lt;br /&gt;
&lt;br /&gt;
The end result can vary greatly depending on how the corresponding [[#X_and_Y_Variance|X and Y Variance]] parameters are set. First of all, if the variance is too large the noise it adds can completely negate the effect of the weighted ranges. For instance, with a 2×2 mesh, the default variance parameters are high enough that usually the mesh grid can hardly be recognized. How strong the variance's effect is, is also dependent on the mesh size. Having a larger mesh size (i.e. smaller grid tiles) means the variance also has to be higher for a visible effect. For instance, with a variance of 400, the effects are clearly visible with a 2×2 mesh and barely visible at all with a 8×8 mesh. Note that this effect is directly dependent on the mesh size and not, as one might expect, on the actual size of the grid tiles. This means, that a large world with a 32×32 mesh will look essentially the same as a pocket world with a 2×2 mesh, only stretched to 256 times the size.&lt;br /&gt;
&lt;br /&gt;
Also see this [http://www.bay12forums.com/smf/index.php?topic=139916.0 forum post] for more details.&lt;br /&gt;
&lt;br /&gt;
==== Configuration Tokens ====&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ELEVATION_FREQUENCY:&amp;lt;mesh&amp;gt;:&amp;lt;0-20 weight&amp;gt;:&amp;lt;20-40 weight&amp;gt;:&amp;lt;40-60 weight&amp;gt;:&amp;lt;60-80 weight&amp;gt;:&amp;lt;80-100 weight&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ELEVATION_FREQUENCY:2:1:2:3:4:5]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | Valid mesh values:&lt;br /&gt;
&lt;br /&gt;
1 = Ignore&lt;br /&gt;
&lt;br /&gt;
2 = 2x2&lt;br /&gt;
&lt;br /&gt;
3 = 4x4&lt;br /&gt;
&lt;br /&gt;
4 = 8x8&lt;br /&gt;
&lt;br /&gt;
5 = 16x16&lt;br /&gt;
&lt;br /&gt;
6 = 32x32&lt;br /&gt;
&lt;br /&gt;
(limited by world size)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[RAIN_FREQUENCY:&amp;lt;mesh&amp;gt;:&amp;lt;0-20 weight&amp;gt;:&amp;lt;20-40 weight&amp;gt;:&amp;lt;40-60 weight&amp;gt;:&amp;lt;60-80 weight&amp;gt;:&amp;lt;80-100 weight&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[RAIN_FREQUENCY:3:1:2:3:4:5]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[DRAINAGE_FREQUENCY:&amp;lt;mesh&amp;gt;:&amp;lt;0-20 weight&amp;gt;:&amp;lt;20-40 weight&amp;gt;:&amp;lt;40-60 weight&amp;gt;:&amp;lt;60-80 weight&amp;gt;:&amp;lt;80-100 weight&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[DRAINAGE_FREQUENCY:4:1:2:3:4:5]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[TEMPERATURE_FREQUENCY:&amp;lt;mesh&amp;gt;:&amp;lt;0-20 weight&amp;gt;:&amp;lt;20-40 weight&amp;gt;:&amp;lt;40-60 weight&amp;gt;:&amp;lt;60-80 weight&amp;gt;:&amp;lt;80-100 weight&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[TEMPERATURE_FREQUENCY:1:1:1:1:1:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SAVAGERY_FREQUENCY:&amp;lt;mesh&amp;gt;:&amp;lt;0-20 weight&amp;gt;:&amp;lt;20-40 weight&amp;gt;:&amp;lt;40-60 weight&amp;gt;:&amp;lt;60-80 weight&amp;gt;:&amp;lt;80-100 weight&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SAVAGERY_FREQUENCY:5:1:2:3:4:5]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[VOLCANISM_FREQUENCY:&amp;lt;mesh&amp;gt;:&amp;lt;0-20 weight&amp;gt;:&amp;lt;20-40 weight&amp;gt;:&amp;lt;40-60 weight&amp;gt;:&amp;lt;60-80 weight&amp;gt;:&amp;lt;80-100 weight&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[VOLCANISM_FREQUENCY:1:1:1:1:1:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Poles ===&lt;br /&gt;
&lt;br /&gt;
With this, you can influence how polar regions are added. The poles can be on the north or south edge, and the equator will be on the opposite edge, or in the middle if there are two poles. If poles are set to NONE, then there will be no seasonal changes in the weather (e.g. no winter snow in temperate biomes).&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[POLE:&amp;lt;placement&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[POLE:NORTH]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Viable options: NONE, NORTH_OR_SOUTH, NORTH_AND_OR_SOUTH, NORTH, SOUTH, NORTH_AND_SOUTH&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Minimum Mountain Peak Number ===&lt;br /&gt;
&lt;br /&gt;
This will cause the world to be rejected if fewer than this many peaks (based on elevation) are present on the map. EG: elevations of 400 must be possible for mountain peaks to occur. If set to zero, then worlds will not be rejected based on number of peaks.&lt;br /&gt;
&lt;br /&gt;
You may need to adjust elevation parameters, such as the highest weighted range, in order to get the desired number of elevation-400 squares needed for larger numbers of peaks. Like volcanoes, mountain peaks can make embark zones more interesting, but other than that, they don't appear to &amp;quot;do&amp;quot; anything special. Reportedly, they do increase the highest Z-level above ground in all embark zones in the same region, even if the selected embark zone does not include the peak.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[PEAK_NUMBER_MIN:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[PEAK_NUMBER_MIN:20]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Elevations of 400 must occur for peaks to form.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Minimum Partial Edge Oceans ===&lt;br /&gt;
&lt;br /&gt;
This will cause a world to be rejected unless there are at least this many oceans touching an edge of the map. If set to zero then worlds will not be rejected based on this criterion. Setting both this parameter and Minimum Complete Edge Oceans to values that total more than 4 when added together may cause all worlds to be rejected as you can't have both a partial and complete edge ocean on a given edge.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[PARTIAL_OCEAN_EDGE_MIN:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[PARTIAL_OCEAN_EDGE_MIN:2]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Maximum of 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Minimum Complete Edge Oceans ===&lt;br /&gt;
&lt;br /&gt;
This will cause a world to be rejected unless there are at least this many oceans which completely cover an edge of the map. Since a square map only has 4 edges, the maximum value possible is 4. If set to zero then worlds will not be rejected based on this criterion but still might end up with complete edge oceans by chance.&lt;br /&gt;
&lt;br /&gt;
Note that the ability for this many edge oceans to exist will be limited by elevation. Therefore, to actually create large oceans you will probably need to change things like the Elevation Mesh Size and Weighted Ranges to increase the number and distribution of very low elevation squares on the map. In addition, if Complete Edge Oceans is set to any value ''other'' than 0 or 4, you may need to lower elevation variance for at least one of the axes: if set too high, such as a variation of 1600 for both X and Y axes (the default for Large Island and Medium Island parameter sets), the game may generate worlds very slowly or even hang.{{bug|565}}&lt;br /&gt;
&lt;br /&gt;
Given appropriate weight, range, and variance values for things like elevation, a setting of: 1 results in a world that seems like a chunk of coastline. One edge of the map will be completely underwater and there will be ocean taking up much of the map on that side (think the east or west coast of the United States, the north coast of Canada, or southern Europe). If your edge ocean happens to pick your world's frozen side, most of it will be glacier.&lt;br /&gt;
&lt;br /&gt;
*2 results in another coastline along with the first one -- the map could end up looking something like Panama if the oceans pick opposite sides of the map.&lt;br /&gt;
*3 results in a peninsula, like Florida in the US. There will be oceans surrounding 3 sides of the map, and land touching only one side of the map.&lt;br /&gt;
*4 results in one or more island(s) depending on things like elevation variance and weights. Regardless of whether you get one island or multiple islands, the entire map will be surrounded by water.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, there's no easy way to control which oceans end up on which edges, except perhaps setting X/Y variance to different values.&lt;br /&gt;
&lt;br /&gt;
Edge oceans will take up part of the other edges too. For example, a full edge ocean on the east side will have part of the north and south sides underwater, but that does ''not'' add to the ''partial'' edge oceans count.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[COMPLETE_OCEAN_EDGE_MIN:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[COMPLETE_OCEAN_EDGE_MIN:0]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Maximum of 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Minimum Volcano Number ===&lt;br /&gt;
&lt;br /&gt;
Worlds with less than this number of volcanoes will be rejected. Note that this will not just create this many volcanoes at random; there must be at least this many squares with a Volcanism of 100. Therefore, adjusting Weighted Range for 80-100 to some higher value is recommended if you want to facilitate a large number of volcanoes. In addition, Maximum Volcanism must be set to 100 or squares with volcanism of 100 will be impossible, making volcanoes impossible.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[VOLCANO_MIN:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[VOLCANO_MIN:15]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Volcanoes require a volcanism of 100 to occur.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Mineral Scarcity ===&lt;br /&gt;
Controls the frequency at which minerals occur; setting this value higher will decrease both the number of different types and amounts of ore and gems present on a map. The default value will result in many metal ores, while the old default of ''sparse'' would be only a few ores, which may be limiting until other metals can be requested and traded for.&lt;br /&gt;
&lt;br /&gt;
The options &amp;quot;Very Rare&amp;quot;, &amp;quot;Rare&amp;quot;, &amp;quot;Sparse&amp;quot;, &amp;quot;Frequent&amp;quot;, and &amp;quot;Everywhere&amp;quot; in the [[World_generation#Basic_world_generation_menu|basic world generation menu]] use the values 50000, 10000, 2500, 500 and 100 respectively.&lt;br /&gt;
&lt;br /&gt;
According to [http://www.bay12forums.com/smf/index.php?topic=79018.msg2063804#msg2063804 research] by Shandra in v0.31.25, this is the relationship between the value of this setting and the approximate number of gems and ore:&lt;br /&gt;
&lt;br /&gt;
[[File:MineralSetting_v25_limit10k.png]]&lt;br /&gt;
&lt;br /&gt;
This is for the same 8x8 embark region in a world which is otherwise the same, except for the mineral scarcity parameter (although most of the detailed information comes from experiments with previous versions). (The chart legend has an error, the first &amp;quot;Pot.(Types)&amp;quot; should read &amp;quot;Pot.(Amount)&amp;quot;.)&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[MINERAL_SCARCITY:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[MINERAL_SCARCITY:100]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Range: 100 to 100,000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Max Megabeast Caves ===&lt;br /&gt;
&lt;br /&gt;
This is the number of [[megabeast]]s placed at the beginning of history. Megabeasts are [[hydra]]s, [[bronze colossus]]es, [[roc]]s, and [[dragon]]s, which are all placed in equal proportions [http://www.bay12forums.com/smf/index.php?topic=112465.msg3415177#msg3415177 &amp;lt;sup&amp;gt;data&amp;lt;/sup&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
Increasing this value can lead to early extinction of civilizations.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[MEGABEAST_CAP:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[MEGABEAST_CAP:75]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Megabeasts count towards BEAST_END_YEAR calculation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Max Semi-Megabeast Caves ===&lt;br /&gt;
&lt;br /&gt;
This is the number of [[semi-megabeast]]s placed at the beginning of history. Semimegabeasts are [[giant]]s, [[ettin]]s, [[minotaur]]s, and [[cyclops]], which are placed in equal proportions [http://www.bay12forums.com/smf/index.php?topic=112465.msg3415188#msg3415188 &amp;lt;sup&amp;gt;data&amp;lt;/sup&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SEMIMEGABEAST_CAP:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SEMIMEGABEAST_CAP:150]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Semimegabeasts do not count towards the BEAST_END_YEAR calculation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Titan Parameters ===&lt;br /&gt;
&lt;br /&gt;
==== Number ====&lt;br /&gt;
&lt;br /&gt;
This controls the number of [[titan]]s that exist at the beginning of history[http://www.bay12forums.com/smf/index.php?topic=112465.msg3415203#msg3415203 &amp;lt;sup&amp;gt;data&amp;lt;/sup&amp;gt;]. The number of forgotten beasts is unaffected by this parameter [http://www.bay12forums.com/smf/index.php?topic=112465.msg3415155#msg3415155 &amp;lt;sup&amp;gt;data&amp;lt;/sup&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[TITAN_NUMBER:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[TITAN_NUMBER:33]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Titans count towards BEAST_END_YEAR calculation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Attack Population Requirement ====&lt;br /&gt;
&lt;br /&gt;
[[Titan]]s will begin to attack your fort once at least this many dwarves inhabit it, regardless of whether any other attack criteria have been met.&lt;br /&gt;
&lt;br /&gt;
This number defaults to 80, which isn't usually too difficult to deal with.&lt;br /&gt;
&lt;br /&gt;
==== Exported Wealth Requirement ====&lt;br /&gt;
&lt;br /&gt;
Titans will begin to attack your fort once you have exported at least this many [[Currency|dwarfbucks]]-worth of goods, regardless of whether or not any other criteria have been met. This parameter defaults to None (disabled).&lt;br /&gt;
&lt;br /&gt;
==== Created Wealth Requirement ====&lt;br /&gt;
&lt;br /&gt;
Titans will begin to attack your fort once the fort's total wealth has reached this many [[Currency|dwarfbucks]] in value. This happens regardless of whether any of the other criteria, such as population, have been met; therefore, even with 1 dwarf, a fort could be attacked if the fort were worth at least this value.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[TITAN_ATTACK_TRIGGER:&amp;lt;population&amp;gt;:&amp;lt;exp wealth&amp;gt;:&amp;lt;created wealth&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[TITAN_ATTACK_TRIGGER:80:0:100000]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 = None (disabled). Only one requirement must be met for an attack.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Number of Demon Types ===&lt;br /&gt;
&lt;br /&gt;
[[Demon]]s are similar to [[titan]]s and [[forgotten beast]]s, in that they are procedurally generated, but most are not unique. Thus, many different types of demons can exist in the world, but there will also be many individuals of most types. Thanks to [[Underworld spire|certain fun things]], fewer demon types also means fewer goblin civilizations[http://www.bay12forums.com/smf/index.php?PHPSESSID=7348f68f41a9659443c05b2acf534e6c&amp;amp;topic=112465.15]. You need at least 2 demon types, or else goblin civilizations won't exist initially, though if dwarves breach the underworld during world generation, at least one will be generated then.&amp;lt;!-- May be 1 per underworld region? --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[DEMON_NUMBER:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[DEMON_NUMBER:52]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 to 1000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Number of Night Troll Types ===&lt;br /&gt;
&lt;br /&gt;
The number of different [[night troll]]s, also procedurally generated, that will exist in the world. Setting this to zero means that the world will have no night trolls, custom or otherwise.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[NIGHT_TROLL_NUMBER:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[NIGHT_TROLL_NUMBER:77]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 to 1000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Number of Bogeyman Types ===&lt;br /&gt;
The number of different [[bogeyman]] forms that will exist in the world. Bogeymen are procedurally generated, though their forms do not vary by much. Setting this to zero means that the world will have no bogeymen, custom or otherwise.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[BOGEYMAN_NUMBER:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[BOGEYMAN_NUMBER:27]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 to 1000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Number of Nightmare Types ===&lt;br /&gt;
The number of different [[nightmare]] forms that will exist in the world. Nightmares are procedurally generated. Setting this to zero means that the world will have no nightmares, custom or otherwise.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[NIGHTMARE_NUMBER:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[NIGHTMARE_NUMBER:27]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 to 1000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Number of Vampire Curse Types ===&lt;br /&gt;
&lt;br /&gt;
The number of different types of [[Vampire|vampires]] that will exist in the world. Although they are generated at the start of a new world, they aren't different from each other. Setting this to zero means no vampires will exist.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[VAMPIRE_NUMBER:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[VAMPIRE_NUMBER:72]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 to 1000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Werebeast Parameters ===&lt;br /&gt;
&lt;br /&gt;
==== Number of Werebeast Curse Types====&lt;br /&gt;
&lt;br /&gt;
The number of different types of [[werebeast]]s that can exist in the world. It is common for werebeasts, unlike vampires, to assume many different forms and variations, the most well-known of these amount to different species of animals, from lizards, to wolves, to even bears. Setting this to zero means no werebeasts will exist, and will also remove a large amount of [[fun]] from the game.&lt;br /&gt;
&lt;br /&gt;
In vanilla, there are only 82 possible unique werebeast species. Any further species will generate as wereblobs.{{bug|13308}}&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[WEREBEAST_NUMBER:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[WEREBEAST_NUMBER:58]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 to 1000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Attack Population Requirement ====&lt;br /&gt;
&lt;br /&gt;
Werebeasts will begin to attack your fort once at least this many dwarves inhabit it, regardless of whether any other attack criteria have been met. This number defaults to 50 which will often be reached in the second year of the fort.&lt;br /&gt;
&lt;br /&gt;
==== Exported Wealth Requirement ====&lt;br /&gt;
Werebeasts will begin to attack your fort once you have exported at least this many [[Currency|dwarfbucks]]-worth of goods, regardless of whether or not any other criteria have been met. This parameter defaults to 5000.&lt;br /&gt;
&lt;br /&gt;
==== Created Wealth Requirement ====&lt;br /&gt;
&lt;br /&gt;
Werebeasts will begin to attack your fort once the fort's total wealth has reached this many [[Currency|dwarfbucks]] in value. This happens regardless of whether any of the other criteria, such as population, have been met; therefore, even with 1 dwarf, a fort could be attacked if the fort were worth at least this value.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[WEREBEAST_ATTACK_TRIGGER:&amp;lt;population&amp;gt;:&amp;lt;exp wealth&amp;gt;:&amp;lt;created wealth&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[WEREBEAST_ATTACK_TRIGGER:50:5000:50000]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 = None (disabled). Only one requirement must be met for an attack.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Number of Secret Types ===&lt;br /&gt;
&lt;br /&gt;
The number of secrets that exist in the world. Currently, all secrets are secrets of life and death, and the ones holding these secrets are [[necromancer]]s, thus, setting this to zero means that no necromancers will appear.&lt;br /&gt;
Non-necromancer towers can still appear (extremely rarely) with zero secrets, constructed by independent undead groups.&lt;br /&gt;
The primary difference between having 1 or 1000 secrets is the chance of your world having any necromancer towers at all. With 1, this chance is low. With the default number, it's seemingly guaranteed.&lt;br /&gt;
Even with 1 secret, if you have any necromancer towers at all, it is likely a great number will quickly appear in world generation (though this isn't guaranteed).&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SECRET_NUMBER:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SECRET_NUMBER:52]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 to 1000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Number of Regional Interaction Types ===&lt;br /&gt;
&lt;br /&gt;
The number of interactions that can be caused in regions, which may incorporate evil rain and cloud types. Currently, only evil region interactions are generated this way.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGIONAL_INTERACTION_NUMBER:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGIONAL_INTERACTION_NUMBER:20]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 to 1000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Number of Disturbance Interaction Types ===&lt;br /&gt;
The number of different [[Mummy|disturbed dead]] that can exist in the world. Setting this to zero should prevent any mummy from appearing{{verify}}, but it will not prevent the creation of [[tomb]]s.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[DISTURBANCE_INTERACTION_NUMBER:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[DISTURBANCE_INTERACTION_NUMBER:10]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 to 1000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Number of Evil Cloud / Evil Rain Types ===&lt;br /&gt;
&lt;br /&gt;
This number specifies how many [[Weather#Evil weather|various face-melting, eye-boiling, and zombifyingly-fun]] clouds of pure evil may appear in your world. Setting this to zero means you no longer will ever have to deal with encroaching dust walls of doom in that world. It is generally advised to keep this value low...&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[EVIL_CLOUD_NUMBER:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[EVIL_CLOUD_NUMBER:45]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 to 1000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The latter number states how many different types of green-ooze drenchers, disconcerting blood-showers, and sickly yellow slime-baths can occur in your world. Compared to evil clouds though, this one hardly is worth stressing out about, usually.... Setting this to zero means the only semi-solid to fully-liquid fluids to fall from the sky will be pure H2O.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[EVIL_RAIN_NUMBER:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[EVIL_RAIN_NUMBER:352]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 to 1000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Generate Divine Materials ===&lt;br /&gt;
This turns the generation of [[Divine_metal|divine metals]] on or off. It does not influence the creation of [[vault]]s. Probably determines whenever or not using divination dice spawns weapons.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[GENERATE_DIVINE_MATERIALS:&amp;lt;1 or 0&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[GENERATE_DIVINE_MATERIALS:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 1/0 = Yes/No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Generate Mythical Materials ===&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[GENERATE_MYTHICAL_MATERIALS:&amp;lt;1 or 0&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[GENERATE_MYTHICAL_MATERIALS:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 1/0 = Yes/No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Allow Mythical Healing ===&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALLOW_MYTHICAL_HEALING:&amp;lt;1 or 0&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALLOW_MYTHICAL_HEALING:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 1/0 = Yes/No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Allow Divination, Experiments, and Necromancy types ===&lt;br /&gt;
These allow or disallow [[die|divination]], demon or necromancer [[experiment]]s, and the more advanced [[necromancer]] abilities.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALLOW_DIVINATION:&amp;lt;1 or 0&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALLOW_DIVINATION:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 1/0 = Yes/No&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALLOW_DEMONIC_EXPERIMENTS:&amp;lt;1 or 0&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALLOW_DEMONIC_EXPERIMENTS:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 1/0 = Yes/No&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALLOW_NECROMANCER_EXPERIMENTS:&amp;lt;1 or 0&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALLOW_NECROMANCER_EXPERIMENTS:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 1/0 = Yes/No&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALLOW_NECROMANCER_LIEUTENANTS:&amp;lt;1 or 0&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALLOW_NECROMANCER_LIEUTENANTS:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 1/0 = Yes/No&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALLOW_NECROMANCER_GHOULS:&amp;lt;1 or 0&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALLOW_NECROMANCER_GHOULS:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 1/0 = Yes/No&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALLOW_NECROMANCER_SUMMONS:&amp;lt;1 or 0&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALLOW_NECROMANCER_SUMMONS:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 1/0 = Yes/No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Desired Good/Evil Square Counts ===&lt;br /&gt;
&lt;br /&gt;
These values change the amount of [[Surroundings#Good|good or evil]] tiles on the map, depending on the size of the region they are being considered for. The counts are for all tiles in all subregions of a given size considered together, ''not'' counts for each subregion considered separately (all tiles in the same subregion share the same [[surroundings]] values).&lt;br /&gt;
&lt;br /&gt;
As used here, a &amp;quot;subregion&amp;quot; is a named world area. Subregion names and locations for a generated world are viewable in legends mode under &amp;quot;Regions&amp;quot;. Subregions are classified by size the same way for all map sizes: 1-24 tiles is Small, 25-99 tiles is Medium, and 100+ tiles is Large.&lt;br /&gt;
&lt;br /&gt;
The counts used here will always be restricted to regions of the given size, no matter how large the count. Also, the count is more of a goal than a minimum or maximum. As a result, you can end up with many more or many fewer than the requested number of squares in some situations. In particular, if you have something like a case where only 3 large regions exist in a world, and you request &amp;quot;1 evil square&amp;quot; in large regions, you will end up with one of the large regions being ''entirely evil''. So any non-zero value in one of these settings essentially means &amp;quot;force at least one region of this size to be all good/evil.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that the &amp;quot;evilness&amp;quot; of evil biomes is also impacted by savagery. Certain civilizations cannot exist in good and/or evil squares, so too many of one or the other may limit the size of certain types of civilizations - dwarves, for example, need non-aligned biomes. Creating too many evil biomes seems to lead to the danger of many civilizations' early extinction.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[GOOD_SQ_COUNTS:&amp;lt;small region&amp;gt;:&amp;lt;med region&amp;gt;:&amp;lt;lg region&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[GOOD_SQ_COUNTS:100:1000:2000]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Set count to zero to disable for that region size.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[EVIL_SQ_COUNTS:&amp;lt;small region&amp;gt;:&amp;lt;med region&amp;gt;:&amp;lt;lg region&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[EVIL_SQ_COUNTS:100:1000:2000]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Minimum Biome Square Counts ===&lt;br /&gt;
&lt;br /&gt;
These numbers control whether or not a world will be rejected based on a lack of different [[biome|biomes]]. Raising these numbers will '''not''' automatically generate the given number of squares of the given biome! For a biome to exist, certain conditions like elevation and rainfall must exist.&lt;br /&gt;
&lt;br /&gt;
These parameters simply filter out worlds that (for example) randomly fail to have enough high elevation squares to support a given number of mountains, etc. Some settings may cause worlds to always be rejected. For example, if for some reason the maximum elevation parameter is set to a value below what will support mountain biomes, it will be impossible to satisfy a non-zero requirement for mountain squares. The same principle goes for other conditions and biomes such as low elevations and oceans, etc.&lt;br /&gt;
&lt;br /&gt;
Certain civilizations require different biomes to exist (such as dwarves and mountains), so eliminating certain biomes will make it impossible for certain civilizations to form.&lt;br /&gt;
&lt;br /&gt;
These parameters often result in infinite world rejection problems. See [[World rejection]] for information on solving problems related to worlds always being rejected due to one or more of these parameters.&lt;br /&gt;
&lt;br /&gt;
0 means no minimum for rejection - setting it to 0 does not guarantee 0 squares of that biome.&lt;br /&gt;
&lt;br /&gt;
==== Biome Type Requirement Table ====&lt;br /&gt;
&lt;br /&gt;
Terrain requirements for various biomes are described below.{{Verify}} Note that some of the exact ranges are unknown.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Biome&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Terrain Requirement&lt;br /&gt;
|-&lt;br /&gt;
! Elevation&lt;br /&gt;
! Rainfall&lt;br /&gt;
! Temperature&lt;br /&gt;
! Drainage&lt;br /&gt;
|-&lt;br /&gt;
| Swamp/Marsh&lt;br /&gt;
| 100-299&lt;br /&gt;
| 33-100&lt;br /&gt;
| Non-Freezing&lt;br /&gt;
| 0-32&lt;br /&gt;
|-&lt;br /&gt;
| Desert/Badland&lt;br /&gt;
| 100-299&lt;br /&gt;
| 0-9&lt;br /&gt;
| non-freezing&lt;br /&gt;
| note&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Forest&lt;br /&gt;
| 100-299&lt;br /&gt;
| 66-100&lt;br /&gt;
| non-freezing&lt;br /&gt;
| 66-100&lt;br /&gt;
|-&lt;br /&gt;
| Mountains&lt;br /&gt;
| 300-400&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
| Ocean&lt;br /&gt;
| 0-99&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
| Glacier&lt;br /&gt;
| 100-299&lt;br /&gt;
| N/A&lt;br /&gt;
| Freezing&lt;br /&gt;
| 80(?)-100&lt;br /&gt;
|-&lt;br /&gt;
| Tundra&lt;br /&gt;
| 100-299&lt;br /&gt;
| N/A&lt;br /&gt;
| Freezing&lt;br /&gt;
| 0-66&lt;br /&gt;
|-&lt;br /&gt;
| Grassland&lt;br /&gt;
| 100-299&lt;br /&gt;
| 0-66&lt;br /&gt;
| Non-Freezing&lt;br /&gt;
| 0-66&lt;br /&gt;
|-&lt;br /&gt;
| Hills&lt;br /&gt;
| 100-299&lt;br /&gt;
| 0-66&lt;br /&gt;
| Non-Freezing&lt;br /&gt;
| 66-100&lt;br /&gt;
|}&lt;br /&gt;
note&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; drainage: 00-32 sand desert, 33-49 rocky wasteland, 50-65 rocky wasteland but different characters/appearance, 66-100 badlands&lt;br /&gt;
&lt;br /&gt;
==== Minimum Initial Square Count ====&lt;br /&gt;
&lt;br /&gt;
'''Note: The exclusive purpose of these parameters is to cause world rejection.'''&lt;br /&gt;
&lt;br /&gt;
This is the minimum number of squares of the given biome that must exist before things like erosion take place. One thing to keep in mind is the maximum number of squares on a map of a given size - if the total number of squares on a map is lower than the sum of all square count parameters, then you will get infinite world rejection.&lt;br /&gt;
&lt;br /&gt;
To determine the number of squares on a map, just multiply the dimensions. In practice these parameters will need to sum to lower than the maximum because some space is needed for &amp;quot;slack&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Map Size&lt;br /&gt;
! Number of Squares&lt;br /&gt;
|-&lt;br /&gt;
| 17×17&lt;br /&gt;
| 289&lt;br /&gt;
|-&lt;br /&gt;
| 33×33&lt;br /&gt;
| 1089&lt;br /&gt;
|-&lt;br /&gt;
| 65×65&lt;br /&gt;
| 4225&lt;br /&gt;
|-&lt;br /&gt;
| 129×129&lt;br /&gt;
| 16614&lt;br /&gt;
|-&lt;br /&gt;
| 257×257&lt;br /&gt;
| 66049&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Minimum Initial Region Count ====&lt;br /&gt;
&lt;br /&gt;
This is the minimum number of regions of contiguous biome squares that must exist before other processes such as erosion take place.&lt;br /&gt;
&lt;br /&gt;
==== Minimum Final Region Count ====&lt;br /&gt;
&lt;br /&gt;
This many regions of the given biome must exist after erosion and similar phases of generation have been completed.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:SWAMP:&amp;lt;init sq&amp;gt;:&amp;lt;init rg&amp;gt;:&amp;lt;final rg&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:SWAMP:1032:7:6]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:DESERT:&amp;lt;init sq&amp;gt;:&amp;lt;init rg&amp;gt;:&amp;lt;final rg&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:DESERT:1032:7:6]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:FOREST:&amp;lt;init sq&amp;gt;:&amp;lt;init rg&amp;gt;:&amp;lt;final rg&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:FOREST:4128:13:12]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:MOUNTAINS:&amp;lt;init sq&amp;gt;:&amp;lt;init rg&amp;gt;:&amp;lt;final rg&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:MOUNTAINS:8256:9:9]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:OCEAN:&amp;lt;init sq&amp;gt;:&amp;lt;init rg&amp;gt;:&amp;lt;final rg&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:OCEAN:8256:7:6]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:GLACIER:&amp;lt;init sq&amp;gt;:&amp;lt;init rg&amp;gt;:&amp;lt;final rg&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:GLACIER:0:0:0]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:TUNDRA:&amp;lt;init sq&amp;gt;:&amp;lt;init rg&amp;gt;:&amp;lt;final rg&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:TUNDRA:0:0:0]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:GRASSLAND:&amp;lt;init sq&amp;gt;:&amp;lt;init rg&amp;gt;:&amp;lt;final rg&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:GRASSLAND:8256:13:12]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:HILLS:&amp;lt;init sq&amp;gt;:&amp;lt;init rg&amp;gt;:&amp;lt;final rg&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[REGION_COUNTS:HILLS:8256:13:12]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Erosion Cycle Count ===&lt;br /&gt;
&lt;br /&gt;
Tells the world generator how long the world has to erode its tall peaks down to mountainsides during the 'running rivers...' stage of world creation. The higher this number, the less jagged the world will be, and the more wide the major rivers will be. If you use the maximum number, your mountains will dissolve before your eyes into plains which can lead to rejections if there aren't enough mountains to use for river start points and dwarven civilization origin points.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[EROSION_CYCLE_COUNT:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[EROSION_CYCLE_COUNT:250]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Range: 0 to 1000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Minimum/Desired River Start Locations ===&lt;br /&gt;
&lt;br /&gt;
This is the minimum number of riverheads that must exist before and after erosion takes place. Worlds will be rejected if they fail to meet these numbers. As with minimum biome counts, raising this number doesn't automatically create this many riverheads. Other conditions like terrain and rainfall must exist for rivers to form.&lt;br /&gt;
&lt;br /&gt;
Extremely high pre-erosion values speed erosion greatly, while low post erosion values are useful for limiting rejects due to lack of river origin points. One can try the 800 value to get more lakes.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[RIVER_MINS:&amp;lt;min pre-erosion&amp;gt;:&amp;lt;des post-erosion&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[RIVER_MINS:200:400]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Range: 0 to 800&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Periodically Erode Extreme Cliffs ===&lt;br /&gt;
&lt;br /&gt;
If enabled, makes every impassable rock wall into a series of ramps. Some prefer to pump up erosion to about 250, and turn the &amp;quot;Desired pre-erosion river count&amp;quot; to 0 for good erosion and no extra canyons.&lt;br /&gt;
&lt;br /&gt;
Normally this is set to Yes (1).&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[PERIODICALLY_ERODE_EXTREMES:&amp;lt;1 or 0&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[PERIODICALLY_ERODE_EXTREMES:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 1/0 = Yes/No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Do Orographic Precipitation and Rain Shadows ===&lt;br /&gt;
&lt;br /&gt;
Toggle that allows terrain height to affect rainfall. For example, moist air coming from the ocean blows over the land. As the terrain gets higher, it forces the moist air up, causing it to rain on the seaward side of a mountain. Eventually, all the rain has fallen if the mountain is tall enough. So, when the breeze goes over the top, there's no moisture left to fall on the other side, creating a rain-shadow. In the current version, regions where drainage is above 50 will also create rain shadows, regardless of the underlying biome and elevation.{{cite forum|140685/5484064}}&lt;br /&gt;
&lt;br /&gt;
Turning this on should create a tendency for more extreme rainfall in regions, creating more forests, deserts, marshlands, and grasslands. Also note that it can create rainfall outside of min-max rainfall settings, so even in a world with a 0 max rainfall you may get rainfall biomes. Turning it off should result in more controllable, less complex rainfall conditions based on rainfall parameters as it adds a random element which can distort or otherwise mess up the climates on a pregenerated map.&lt;br /&gt;
&lt;br /&gt;
This should be disabled if you're importing a map or using a preset map file that has weather.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[OROGRAPHIC_PRECIPITATION:&amp;lt;1 or 0&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[OROGRAPHIC_PRECIPITATION:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 1/0 = Yes/No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Maximum Number of Subregions ===&lt;br /&gt;
&lt;br /&gt;
This is the number of separate biomes (the flashing regions you see on embark when you hit F1, F2, etc. when there's more than one biome on the embark location) that are allowed to exist on the entire map.&lt;br /&gt;
&lt;br /&gt;
Setting this to very low values will result in numerous rejections depending on [[#X and Y Variance|variance parameters]]. If variance values are set to high numbers, many small biomes will be created causing rejection if this parameter value is not increased beyond the default.&lt;br /&gt;
&lt;br /&gt;
Increasing the value of this tag is often a must when generating &amp;quot;patchwork&amp;quot; worlds with lots of biome variance, but simply increasing it without increasing variance parameters will not guarantee more biomes.&lt;br /&gt;
&lt;br /&gt;
It is also interesting to note that the maximum subregions is 5000 which is more than the total number of squares for a pocket or small map. However, for a medium or large map (16641 or 66049 squares) it quickly becomes a mere fraction of the total number of possible subregions. In fact it would be quite easy on a large map to end up with far too many subregions and get endless rejections of this type.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SUBREGION_MAX:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SUBREGION_MAX:2750]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Range: 1 to 5000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cavern Parameters ===&lt;br /&gt;
[[Caverns]] are the hollow areas underground, which dwarves tend to encounter when they're digging around. The '''Cavern Layer Number''' parameter determines how many cavern systems will be generated, not including the magma layer or the Bottom layer. Defaults to three - setting it to lower values could help FPS.  Setting it to 2 will merge cavern 3 species into the 2nd cavern, and setting it to 1 will merge all into one cavern. However, disabling them entirely by setting it to 0 will make it impossible to grow any underground plants, as none will exist for your civilization to cultivate, nor will they be available on embark.&lt;br /&gt;
&lt;br /&gt;
*Setting caverns to a sub-3 number (Spoiler, highlight to view) &amp;lt;span style='color:#f8f8f8;'&amp;gt;erases about one-third of HFS spires{{Bug|10267}} and prevents dig deep disasters.&amp;lt;/span&amp;gt; Additionally, random plant or animal species can be more frequently absent.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVERN_LAYER_COUNT:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVERN_LAYER_COUNT:3]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Range: 0 to 3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Cavern Layout Parameters ====&lt;br /&gt;
&lt;br /&gt;
Open caverns and dense passageways are not mutually exclusive. When both are raised, bizarre results can occur, such as layers showing a combination of open caverns, a cluster of network passages, and natural walls sprinkling the inside of an otherwise open cavern. [http://www.bay12forums.com/smf/index.php?topic=76355.msg1936859#msg1936859 Reference]&lt;br /&gt;
&lt;br /&gt;
If you want the largest open spaces possible, then decrease the density and increase the openness. If you want a labyrinth of passageways, lower the openness and raise the passage density.&lt;br /&gt;
&lt;br /&gt;
Another interesting note about the cavern layers is that the seed and number of demon types affect the layout of the caverns.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=200 heights=200 perrow=2&amp;gt;&lt;br /&gt;
File:Open00Density100.jpg|Cavern slice with Openness of 0 and Density of 100&lt;br /&gt;
File:Open100Density00.jpg|Cavern slice with Openness of 100 and Density of 0&lt;br /&gt;
File:Open100Density100.jpg|Cavern slice with Openness of 100 and Density of 100&lt;br /&gt;
File:Open50Density50.jpg|Cavern slice with Openness of 50 and Density of 50&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Layer Openness Min/Max =====&lt;br /&gt;
&lt;br /&gt;
Dictates the size of cavern passages. When Passage Density (see below) is set to minimum (0), caverns will be open expanses. Raising the maximum will increase the size of the caverns.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVERN_LAYER_OPENNESS_MIN:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVERN_LAYER_OPENNESS_MIN:0]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Range: 0 to 100&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVERN_LAYER_OPENNESS_MAX:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVERN_LAYER_OPENNESS_MAX:100]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Layer Passage Density Min/Max =====&lt;br /&gt;
&lt;br /&gt;
This determines how many passages form the cavern. If openness (see above) is set to minimum and density increased, then you will get a maze-like network of small criss-crossing passages. Raising the values further increases the number of the maze-like passages.&lt;br /&gt;
&lt;br /&gt;
Caverns will be large, open spaces at 0, and comprised of many small vertical shafts of rock at 100. Setting both values to be the same results in a uniform look for the caverns.{{Verify}}&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVERN_LAYER_PASSAGE_DENSITY_MIN:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVERN_LAYER_PASSAGE_DENSITY_MIN:0]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Range: 0 to 100&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVERN_LAYER_PASSAGE_DENSITY_MAX:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVERN_LAYER_PASSAGE_DENSITY_MAX:100]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Layer Water min\max =====&lt;br /&gt;
&lt;br /&gt;
Determines how many caverns (out of a max. 3) will have water at the bottom. Note that, even at 100, there will be some amount of ground in caverns, but each cavern 'bubble' will contain some amount of water.&lt;br /&gt;
&lt;br /&gt;
At 0, there will be no water in your caverns. This may impact future underground plant growth, although maps will still start with underground flora.{{Verify}}&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVERN_LAYER_WATER_MIN:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVERN_LAYER_WATER_MIN:0]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Range: 0 to 100&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVERN_LAYER_WATER_MAX:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVERN_LAYER_WATER_MAX:100]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Magma Layer ====&lt;br /&gt;
&lt;br /&gt;
This parameter controls whether the [[magma sea]] exists.&lt;br /&gt;
&lt;br /&gt;
Setting 1/Yes causes the magma layer to exist, value 0/No prevents it. Appears not to have any impact on volcanoes nor volcanism, so even if 0/No, there will still be embark locations with magma. If a [[volcano]] exists, it appears to always tap the magma sea, but the magma sea will not be revealed by revealing the volcano.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[HAVE_BOTTOM_LAYER_1:&amp;lt;1 or 0&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[HAVE_BOTTOM_LAYER_1:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Bottom Layer ====&lt;br /&gt;
&lt;br /&gt;
Determines if the space below the magma sea exists. If Yes the &amp;quot;HFS&amp;quot; layer is always present. Normally you want to leave this set to Yes for maximum fun.&lt;br /&gt;
&lt;br /&gt;
If enabled, this will force the magma layer above it.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[HAVE_BOTTOM_LAYER_2:&amp;lt;1 or 0&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[HAVE_BOTTOM_LAYER_2:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Z Levels (Depth) Settings ===&lt;br /&gt;
&lt;br /&gt;
These parameters control the &amp;quot;thickness&amp;quot; of various &amp;quot;layers&amp;quot; on the map. Note that a &amp;quot;layer&amp;quot; in this case does not refer to one Z-level, but refers to a number of related Z-levels such as &amp;quot;levels above ground&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The following table assumes that you have 3 cavern layers. (out of a minimum of 0-3) The Levels Above Layer settings control how many Z-Levels are above each layer. A layer may itself consist of multiple Z-Levels (and almost always does).&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;margin:1em 1em 1em 0;background:#F9F9F9;border:1px #AAA solid;border-collapse:collapse;&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:#F2F2F2;text-align:center;&amp;quot;&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot; width=&amp;quot;120&amp;quot;|Setting Name&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot; width=&amp;quot;200&amp;quot;|Token&lt;br /&gt;
!style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| Above Ground&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| &amp;lt;nowiki&amp;gt;[LEVELS_ABOVE_GROUND:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| The number of Z-levels of air above the highest surface level.&amp;lt;br /&amp;gt;Has no impact on how many Z-levels deep the surface layer is.&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| Above layer 1&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| &amp;lt;nowiki&amp;gt;[LEVELS_ABOVE_LAYER_1:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| Z-levels of stone above the first cavern layer. Making this higher will guarantee ''at least'' this many levels to build your fortress, but will have no impact on how many z-levels thick the surface layer is. Also, the top of a cavern may be higher than the rest of a cavern, so in practice there will be more &amp;quot;solid&amp;quot; levels than this above the cavern.&lt;br /&gt;
As of version 0.31.25 this setting is inaccurate. The actual number of z-levels may vary in a range of approx. ±5, which may result in non-existence of any solid z-levels between a surface layer and first cavern layer.&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| Above Layer 2&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| &amp;lt;nowiki&amp;gt;[LEVELS_ABOVE_LAYER_2:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| Z-levels of earth between the very top of the second cavern and the very bottom of the first cavern.&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| Above Layer 3&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| &amp;lt;nowiki&amp;gt;[LEVELS_ABOVE_LAYER_3:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| Z-levels of earth between the very top of the third cavern and the very bottom of the second cavern.&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| Above Layer 4&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| &amp;lt;nowiki&amp;gt;[LEVELS_ABOVE_LAYER_4:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| Z-levels of earth between the very highest magma and the very bottom of the third cavern.&amp;lt;br /&amp;gt;Spoiler Hidden (select invisible text to read): &amp;lt;span style='color:#eee;'&amp;gt;Making this high will give a large area for HFS veins, so that it never touches caverns, giving more to mine '''if''' it was impacting the cavern previously.&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| Above Layer 5&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| &amp;lt;nowiki&amp;gt;[LEVELS_ABOVE_LAYER_5:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| Uncertain. May control the number of levels of &amp;quot;Semi Molten Rock&amp;quot; between HFS and Magma, may control number of levels of magma, may impact both.&amp;lt;br /&amp;gt;In experimentation, the overall depth of all magma sea and semi-molten rock levels appears to increase, but not consistent enough to say for certain.&amp;lt;br /&amp;gt;Only valid if Magma Layer present.&amp;lt;br /&amp;gt;Spoiler Hidden:&amp;lt;span style='color:#eee;'&amp;gt;Often the HFS vein will only extend as high as the highest magma, making this the only guaranteed way to increase amount of HFS to mine, but unfortunately also creating enormous useless semi-molten z-levels&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| At Bottom&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| &amp;lt;nowiki&amp;gt;[LEVELS_AT_BOTTOM:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|style=&amp;quot;border:1px #AAA solid;padding:0.2em;&amp;quot;| Appears to be number of levels of HFS chamber. Only valid if Bottom Layer present, often having no impact. Values larger than default result in strange things.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some implications:&lt;br /&gt;
* The number of surface layers (e.g. soil), at this time, cannot be controlled. For example, on a map with 1 layer of peat, then a layer of silt, then a layer of obsidian, there is no control to let you increase either one to be, say, 20 z-levels. (though you may get lucky with the obsidian).&lt;br /&gt;
* There can be multiple stone layers between the cavern and the surface, so, increasing Levels Above Layer 1 may give you more conglomerate or more granite, and you have no control over which stone layer spans those Z-levels.&lt;br /&gt;
* The layers shown on embark span across the cavern layers in an unknown and inconsistent way. Sometimes those 10 different layers of stone are evenly distributed over your 400 z-level deep map, sometimes the first 9 get 1 z-level each and the last gets the other 391 levels. No way to control found yet.&lt;br /&gt;
* The HFS chamber, if present, will always extend into the rock layers, and appears to always make contact with the bottom cave. Large values for levels above layer 5 and layer 4 can result in enormous chambers, but the number of levels at the top (the part with undead) appears to be unaffected.&lt;br /&gt;
* Unconfirmed whether number of levels between caverns has any impact on cavern height. There will be connecting ramps and/or shafts between cavern layers no matter how many levels are between them.&lt;br /&gt;
* '''Very Important''': These values appear to apply across a whole 16x16 region, not just embark areas. That means that if a 16x16 region is completely flat, but has one tall mountain in one far corner, even if you set Levels Above Ground low (e.g. 2 z-levels) you still have all the empty air of the highest mountain in every embark tile (e.g. 200 z-levels). Also can happen to the semi-molten layer, and can lead to unexpected behavior.&lt;br /&gt;
* Very large or small values can cause strange things to happen.&lt;br /&gt;
&lt;br /&gt;
=== Cave Parameters ===&lt;br /&gt;
&lt;br /&gt;
Caves are somewhat like caverns, except that they have a passage to the surface, and are generally much smaller – caves can connect to caverns if they are sufficiently deep.&lt;br /&gt;
&lt;br /&gt;
==== Minimum/Maximum Natural Cave Size ====&lt;br /&gt;
&lt;br /&gt;
These parameters appear to control the length and depth of caves.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVE_MIN_SIZE:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVE_MIN_SIZE:5]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Range: 1 to 500&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVE_MAX_SIZE:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[CAVE_MAX_SIZE:25]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Number of Caves ====&lt;br /&gt;
The number of caves generated in mountainous and non-mountainous regions, mountain caves will always be generated on the edge of mountain ranges next to non-mountainous regions. Lurking [[kobold]]s set up shop in caves, and store their stolen items there - a setting of 0 in both will stop kobold civilizations from appearing. Special note: a cave is not initially a [[lair]], although beasts can later use them as their lair.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[MOUNTAIN_CAVE_MIN:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[MOUNTAIN_CAVE_MIN:100]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Range: 0 to 800&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[NON_MOUNTAIN_CAVE_MIN:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[NON_MOUNTAIN_CAVE_MIN:200]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Make Caves Visible ====&lt;br /&gt;
&lt;br /&gt;
If set to no (default) then the location of caves will not be marked on the map. If set to yes, caves will appear on the map so that they may be sought out or avoided as desired.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALL_CAVES_VISIBLE:&amp;lt;1 or 0&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ALL_CAVES_VISIBLE:0]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 1/0 = Yes/No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Allow Init Options to Show Tunnels ===&lt;br /&gt;
&lt;br /&gt;
If enabled, you will be able to see the underground tunnels often built by dwarves on the world map, and they will appear as black lines, similar to roads.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SHOW_EMBARK_TUNNEL:&amp;lt;0-2&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SHOW_EMBARK_TUNNEL:2]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 0 = No&amp;lt;br/&amp;gt;1 = Only in Finder&amp;lt;br/&amp;gt;2 = Always&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Number of Civilizations ===&lt;br /&gt;
&lt;br /&gt;
This number of [[civilization]]s will be placed on the map before history generation begins. These civilizations may later die out due to historical events. It is noteworthy that the chance for any given civilization to be destroyed through megabeasts decreases with a higher total number of civilizations present[http://www.bay12forums.com/smf/index.php?PHPSESSID=7348f68f41a9659443c05b2acf534e6c&amp;amp;topic=112465.15 &amp;lt;sup&amp;gt;data&amp;lt;/sup&amp;gt;]. The five races are dwarf, elf, human, goblin, and kobold; they will generally be placed in equal numbers until the quota has been reached. If there are not enough biomes or other worldgen prerequisites for an even distribution, certain civs will be much more or less frequent than others[http://www.bay12forums.com/smf/index.php?PHPSESSID=7348f68f41a9659443c05b2acf534e6c&amp;amp;topic=112465.15 &amp;lt;sup&amp;gt;data&amp;lt;/sup&amp;gt;]. If there is an odd number of civs (not divisible by 5), then the remainder is distributed randomly. Kobold civs require caves to be placed; if no caves exist, then kobolds are skipped and will not appear. This does not cause rejections [http://www.bay12forums.com/smf/index.php?topic=112465.msg3415125#msg3415125 &amp;lt;sup&amp;gt;data&amp;lt;/sup&amp;gt;]. Goblin civilizations require multiple demons, see the [[#Number_of_Demon_Types|number of demon types]] section above.&lt;br /&gt;
&lt;br /&gt;
Note that a high value here can cause lots of map rejections, particularly on smaller maps as there simply isn't enough room or regions to put them all in.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[TOTAL_CIV_NUMBER:&amp;lt;number&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[TOTAL_CIV_NUMBER:40]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Range: 0 to 300&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Playable Civilization Required ===&lt;br /&gt;
&lt;br /&gt;
If this is set to yes (default) then worlds will be rejected if no civilization with [[Entity token|CIV_CONTROLLABLE]] can be placed. In an unmodded game, only the dwarves have this token.&lt;br /&gt;
&lt;br /&gt;
If set to no, the result may be a world that cannot be played in Fortress Mode.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[PLAYABLE_CIVILIZATION_REQUIRED:&amp;lt;1 or 0&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[PLAYABLE_CIVILIZATION_REQUIRED:1]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| 1/0 = Yes/No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Minimum Number of Mid/Low/High Characteristic Squares ===&lt;br /&gt;
&lt;br /&gt;
Sets the minimum possible number of squares of certain ranges of each of the region qualities, such as elevation, rain, drainage, volcanism, savagery, and temperature. These need to be changed to reflect your regional meshes and weights, and are responsible for a HUGE number of map rejections. These values can all be set to 0 for much fewer map rejections, particularly in the case of more wacky, non-standard maps.&lt;br /&gt;
&lt;br /&gt;
These values will cause worlds to be rejected unless at least the given number of squares of the given type are randomly generated. Setting these values too high could result in worlds always being rejected if other parameters such as the maximum/minimums for elevation, etc., don't allow enough of those squares to get generated.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Example&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ELEVATION_RANGES:&amp;lt;low sq&amp;gt;:&amp;lt;mid sq&amp;gt;:&amp;lt;high sq&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[ELEVATION_RANGES:8256:16512:8256]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | Minimum number of squares that must have low, medium, and high amounts of the given attribute.&amp;lt;br/&amp;gt;&lt;br /&gt;
0 = No minimum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[RAIN_RANGES:&amp;lt;low sq&amp;gt;:&amp;lt;mid sq&amp;gt;:&amp;lt;high sq&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[RAIN_RANGES:8256:16512:8256]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[DRAINAGE_RANGES:&amp;lt;low sq&amp;gt;:&amp;lt;mid sq&amp;gt;:&amp;lt;high sq&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[DRAINAGE_RANGES:8256:16512:8256]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SAVAGERY_RANGES:&amp;lt;low sq&amp;gt;:&amp;lt;mid sq&amp;gt;:&amp;lt;high sq&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[SAVAGERY_RANGES:8256:16512:8256]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[VOLCANISM_RANGES:&amp;lt;low sq&amp;gt;:&amp;lt;mid sq&amp;gt;:&amp;lt;high sq&amp;gt;]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;[VOLCANISM_RANGES:8256:16512:8256]&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==World rejection==&lt;br /&gt;
&lt;br /&gt;
:''Main article: [[World rejection]]''&lt;br /&gt;
&lt;br /&gt;
If you are having the common problem of generated worlds always being rejected by the world generator, see [[v0.31:World rejection|Solving World Rejection Problems (v0.31 page)]] as it contains many detailed suggestions on how to troubleshoot and solve these issues.&lt;br /&gt;
&lt;br /&gt;
== Parameter set examples ==&lt;br /&gt;
&lt;br /&gt;
If you're trying to do something specific, then the [[Worldgen examples]] - complete parameter sets that can be copied directly into your ''world_gen.txt'' file and customized as desired - might be helpful.&lt;br /&gt;
If none of the examples suit your needs, [[Worldgen tricks]] has strategies and tips on making a world just right for you.&lt;br /&gt;
&lt;br /&gt;
For many, many more examples see:&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=101280 DF2012 (v0.34) WorldGen &amp;quot;Cookbook&amp;quot; Thread]&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=140180 DF2014 (v0.40) WorldGen &amp;quot;Cookbook&amp;quot; Thread]&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=168543.0 DF2014 (v0.44.02+) WorldGen &amp;quot;Cookbook&amp;quot; Thread]&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=175538 DF2014 (v0.47.01+) WorldGen &amp;quot;Cookbook&amp;quot; Thread]&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=180805.0 DF2022 (v0.50.01+) WorldGen &amp;quot;Cookbook&amp;quot; Thread]&lt;br /&gt;
&lt;br /&gt;
{{World}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Centaur&amp;diff=311147</id>
		<title>Centaur</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Centaur&amp;diff=311147"/>
		<updated>2025-10-16T04:30:55Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior}}&lt;br /&gt;
{{Creaturelookup/0&lt;br /&gt;
|biome=None&lt;br /&gt;
|death=nobutcher&lt;br /&gt;
|contrib=no&lt;br /&gt;
|wiki=yes}}&lt;br /&gt;
{{av}}&lt;br /&gt;
'''Centaurs''' are [[fanciful]] [[creature]]s which are merely the stuff of [[legends]]. They do not actually exist, appearing only in [[engraving]]s as the fancy of artists. A female centaur is known as a ''centauress''.&lt;br /&gt;
&lt;br /&gt;
Some [[Dwarf|dwarves]] [[Preferences|like]] centaurs for their ''strength''.&lt;br /&gt;
&lt;br /&gt;
==The &amp;quot;Centaur&amp;quot; Problem==&lt;br /&gt;
&lt;br /&gt;
''&amp;quot;We've got the &amp;quot;centaur&amp;quot; problem, or whatever, where I wanna take any piece of anything, and slap it onto something else... That has complications in terms of the materials, and the body parts, and that kind of thing that need to be worked out.&amp;quot;'' - [[Toady One]], [[Dwarf Fortress Talk]] #28 [38:26]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Procedurally [[Creature token#GENERATED|generating]] centaurs has been discussed since the days of ''Dwarf Fortress's'' predecessor, ''[[Armok|Slaves to Armok]]''. Combining two creature objects, such as a [[human]] with the lower body of a [[horse]], and respecting the [[raw file]]s and body structure of each component is a consideration that the nonexistent nature of the centaur and the other [[fanciful]] hybrid creatures allude to.&lt;br /&gt;
&lt;br /&gt;
Though [[creature]]s like [[Merperson|merpeople]] and [[satyr]]s are conceptually hybrids, they are singular, manual implementations, rather than a system that can generate any number of [[Chimera|chimeric]] beings based on combining existing creatures. [[Experiment]]s are generated from a hardcoded [[random creature profile]] rather than being based on their input creature.&lt;br /&gt;
&lt;br /&gt;
{{D for Dwarf}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Reference: Equius Zahhak from Homestuck --&amp;gt;&lt;br /&gt;
Some [[Troll|trolls]] like centaurs for their&lt;br /&gt;
{{#splitrand:&lt;br /&gt;
[[milk]]&lt;br /&gt;
[[Strength|STRENGTH]]&lt;br /&gt;
}}.&lt;br /&gt;
[[File:Brooklyn Museum - Centauress - John La Farge - overall.jpg|thumb|center|300px|Admired for its ''strength''.]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Chimera]]&lt;br /&gt;
* [[Griffon]]&lt;br /&gt;
{{gamedata}}&lt;br /&gt;
{{Creatures}}&lt;br /&gt;
{{Category|Myth}}&lt;br /&gt;
[[ru:Centaur]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Centaur&amp;diff=311146</id>
		<title>Centaur</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Centaur&amp;diff=311146"/>
		<updated>2025-10-16T04:30:34Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Randomizing D for Dwarf prefstring references is a dangerous power.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior}}&lt;br /&gt;
{{Creaturelookup/0&lt;br /&gt;
|biome=None&lt;br /&gt;
|death=nobutcher&lt;br /&gt;
|contrib=no&lt;br /&gt;
|wiki=yes}}&lt;br /&gt;
{{av}}&lt;br /&gt;
'''Centaurs''' are [[fanciful]] [[creature]]s which are merely the stuff of [[legends]]. They do not actually exist, appearing only in [[engraving]]s as the fancy of artists. A female centaur is known as a ''centauress''.&lt;br /&gt;
&lt;br /&gt;
Some [[Dwarf|dwarves]] [[Preferences|like]] centaurs for their ''strength''.&lt;br /&gt;
&lt;br /&gt;
==The &amp;quot;Centaur&amp;quot; Problem==&lt;br /&gt;
&lt;br /&gt;
''&amp;quot;We've got the &amp;quot;centaur&amp;quot; problem, or whatever, where I wanna take any piece of anything, and slap it onto something else... That has complications in terms of the materials, and the body parts, and that kind of thing that need to be worked out.&amp;quot;'' - [[Toady One]], [[Dwarf Fortress Talk]] #28 [38:26]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Procedurally [[Creature token#GENERATED|generating]] centaurs has been discussed since the days of ''Dwarf Fortress's'' predecessor, ''[[Armok|Slaves to Armok]]''. Combining two creature objects, such as a [[human]] with the lower body of a [[horse]], and respecting the [[raw file]]s and body structure of each component is a consideration that the nonexistent nature of the centaur and the other [[fanciful]] hybrid creatures allude to.&lt;br /&gt;
&lt;br /&gt;
Though [[creature]]s like [[Merperson|merpeople]] and [[satyr]]s are conceptually hybrids, they are singular, manual implementations, rather than a system that can generate any number of [[Chimera|chimeric]] beings based on combining existing creatures. [[Experiment]]s are generated from a hardcoded [[random creature profile]] rather than being based on their input creature.&lt;br /&gt;
&lt;br /&gt;
{{D for Dwarf}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Reference: Equius Zahhak from Homestuck --&amp;gt;&lt;br /&gt;
Some [[Troll|trolls]] like centaurs for their&lt;br /&gt;
{{#splitrand:&lt;br /&gt;
[[milk]]&lt;br /&gt;
[[Sphere token#STRENGTH|STRENGTH]]&lt;br /&gt;
}}.&lt;br /&gt;
[[File:Brooklyn Museum - Centauress - John La Farge - overall.jpg|thumb|center|300px|Admired for its ''strength''.]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Chimera]]&lt;br /&gt;
* [[Griffon]]&lt;br /&gt;
{{gamedata}}&lt;br /&gt;
{{Creatures}}&lt;br /&gt;
{{Category|Myth}}&lt;br /&gt;
[[ru:Centaur]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Dye&amp;diff=311140</id>
		<title>Dye</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Dye&amp;diff=311140"/>
		<updated>2025-10-14T17:46:23Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Bayberry leaf dye is made from bayberry leaf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{distinguish|Die}}&lt;br /&gt;
[[File:dye_bag_preview.png|right|Bag of Dimple Cup dye powder.]]&lt;br /&gt;
'''Dye''' can be used at the [[dyer's shop]] to change the [[Color#Color_tokens|color]] of clothing materials.&lt;br /&gt;
&lt;br /&gt;
==Production==&lt;br /&gt;
Dyes can be produced by milling a number of [[crop|plants]] at a [[millstone]] or [[quern]] (which also produces seeds) as well as from other sources at a [[dyer's shop]] (which does '''not''' produce seeds). Usually, all [[trading|caravans]] will bring dye for [[trade]] too. Importing dye, however, is only useful if you have a somewhat-skilled [[dyer]], otherwise, little value is added and the work wasted. It is better to buy or grow the 'source' plants if available, and mill them yourself. Of course, the nice colors are a value in themselves, if you don't stuff it all in bins.&lt;br /&gt;
&lt;br /&gt;
Dyes can be applied either to woven [[cloth]], raw [[thread]], or [[leather]]{{v|52.03}}. Dyed items have their [[value]] increased by the value of the dye (see table above), multiplied by the [[quality]] with which the dye was applied. There is not known to be any difference in the end product based on when the dye was applied during the production process. Dyes can't be applied to finished goods made from cloth, such as clothing, bags, or crafts.&lt;br /&gt;
&lt;br /&gt;
Dyes can be mixed to create additional colors. The desired color can be chosen at the [[dyer's shop]] with the &amp;quot;dye cloth ([[color]])&amp;quot; job, blending dyes with each other, or the material's natural color, to produce the chosen color.&lt;br /&gt;
&lt;br /&gt;
==Storage==&lt;br /&gt;
On the [[stocks]] screen, dyes are listed under [[powder]]. Dyes are [[stockpile]]d as &amp;quot;Food/Milled Plants&amp;quot;, along with [[flour]]s. [[Barrel]]s that contain only powders are called 'Mill barrel'. Each barrel can contain up to 60 dye [[Bag|bags]], each bag containing one stack of dye items.&lt;br /&gt;
&lt;br /&gt;
==Work Order Conditions==&lt;br /&gt;
Bag contents are not recognized in the [[Manager#Work orders|manager's work order conditions]].&lt;br /&gt;
As such, item type (powder) and material (e.g. 'Dimple dye', 'Redroot dye', 'potato skin dye', etc) will not work (despite being the recommended condition on create dye jobs).&lt;br /&gt;
As a workaround, reference all items/materials and use adjectives.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* Count all stacks of dye: Item type 'items', material type 'no material', adjective 'dye item' &lt;br /&gt;
* Count all stacks of midnight blue (dimple cup) dye: Item type 'itemsi, material type 'no material', adjective 'dye item', adjective 'Color midnight blue'&lt;br /&gt;
&lt;br /&gt;
==List of dyes==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;margin: 0 auto; border-spacing: 0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#ddd&amp;quot;&lt;br /&gt;
!Plant&lt;br /&gt;
!Dye&lt;br /&gt;
!colspan=2|Color&lt;br /&gt;
!Value&lt;br /&gt;
!Crop type&lt;br /&gt;
!Production&lt;br /&gt;
&amp;lt;!--plant_standard, milled--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Dimple cup]]&lt;br /&gt;
|Dimple dye&lt;br /&gt;
|Midnight blue&lt;br /&gt;
| bgcolor=&amp;quot;#003366&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;!--0,51,102--&amp;gt;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Underground&lt;br /&gt;
|Milled&lt;br /&gt;
|-&lt;br /&gt;
|[[Blade weed]]&lt;br /&gt;
|Emerald dye&lt;br /&gt;
|Emerald&lt;br /&gt;
| bgcolor=&amp;quot;#50c878&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;!--80,200,120--&amp;gt;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Milled&lt;br /&gt;
|-&lt;br /&gt;
|[[Hide root]]&lt;br /&gt;
|Redroot dye&lt;br /&gt;
|Red&lt;br /&gt;
| bgcolor=&amp;quot;#ff0000&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|10[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Milled&lt;br /&gt;
|-&lt;br /&gt;
|[[Sliver barb]]&lt;br /&gt;
|Sliver dye&lt;br /&gt;
|Black&lt;br /&gt;
| bgcolor=&amp;quot;#000000&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Milled&lt;br /&gt;
&amp;lt;!--plant_crops--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Sorghum]]&lt;br /&gt;
|Sorghum leaf dye&lt;br /&gt;
|Rust&lt;br /&gt;
| bgcolor=&amp;quot;#B7410E&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Plant&lt;br /&gt;
|-&lt;br /&gt;
|[[Rice]]&lt;br /&gt;
|Rice husk dye&lt;br /&gt;
|Buff&lt;br /&gt;
| bgcolor=&amp;quot;#F0DC82&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Plant&lt;br /&gt;
|-&lt;br /&gt;
|[[Red spinach]]&lt;br /&gt;
|Red spinach leaf dye&lt;br /&gt;
|Fuchsia&lt;br /&gt;
| bgcolor=&amp;quot;#F400A1&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Plant&lt;br /&gt;
&amp;lt;!--plant_garden--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[[Cabbage]]&lt;br /&gt;
|Cabbage leaf dye&lt;br /&gt;
|Pink&lt;br /&gt;
| bgcolor=&amp;quot;#FFC0CB&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
|[[Wild carrot]]&lt;br /&gt;
|Carrot dye&lt;br /&gt;
|Pale brown&lt;br /&gt;
| bgcolor=&amp;quot;#987654&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Plant&lt;br /&gt;
|-&lt;br /&gt;
|[[Eggplant]]&lt;br /&gt;
|Eggplant dye&lt;br /&gt;
|Lilac&lt;br /&gt;
| bgcolor=&amp;quot;#C8A2C8&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
|[[Onion]]&lt;br /&gt;
|Onion skin dye&lt;br /&gt;
|Orange&lt;br /&gt;
| bgcolor=&amp;quot;#FFA500&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Bulb&lt;br /&gt;
|-&lt;br /&gt;
|[[Peanut]]&lt;br /&gt;
|Peanut shell dye&lt;br /&gt;
|Dark brown&lt;br /&gt;
| bgcolor=&amp;quot;#654321&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Pod&lt;br /&gt;
|-&lt;br /&gt;
|[[Potato]]&lt;br /&gt;
|Potato skin dye&lt;br /&gt;
|Beige&lt;br /&gt;
| bgcolor=&amp;quot;#F5F5DC&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Plant&lt;br /&gt;
|-&lt;br /&gt;
|[[Radish]]&lt;br /&gt;
|Radish dye&lt;br /&gt;
|Pale pink&lt;br /&gt;
| bgcolor=&amp;quot;#FADADD&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Plant&lt;br /&gt;
|-&lt;br /&gt;
|[[Rhubarb]]&lt;br /&gt;
|Rhubarb leaf dye&lt;br /&gt;
|Tan&lt;br /&gt;
| bgcolor=&amp;quot;#D2B48C&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
|[[Spinach]]&lt;br /&gt;
|Spinach leaf dye&lt;br /&gt;
|Leaf green&lt;br /&gt;
| bgcolor=&amp;quot;#19b211&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
|[[Sweet potato]]&lt;br /&gt;
|Sweet potato skin dye&lt;br /&gt;
|Beige&lt;br /&gt;
| bgcolor=&amp;quot;#F5F5DC&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Plant&lt;br /&gt;
|-&lt;br /&gt;
|[[Tomato]]&lt;br /&gt;
|Tomato skin dye&lt;br /&gt;
|Amber&lt;br /&gt;
| bgcolor=&amp;quot;#FFBF00&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
|[[Turnip]]&lt;br /&gt;
|Turnip skin dye&lt;br /&gt;
|Beige&lt;br /&gt;
| bgcolor=&amp;quot;#F5F5DC&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Plant&lt;br /&gt;
|-&lt;br /&gt;
|[[Watermelon]]&lt;br /&gt;
|Watermelon dye&lt;br /&gt;
|Orchid pink&lt;br /&gt;
| bgcolor=&amp;quot;#e55bc3&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
|[[Grape]]&lt;br /&gt;
|Grape dye&lt;br /&gt;
|Lavender&lt;br /&gt;
| bgcolor=&amp;quot;#E6E6FA&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
|[[Cranberry]]&lt;br /&gt;
|Cranberry dye&lt;br /&gt;
|Red&lt;br /&gt;
| bgcolor=&amp;quot;#FF0000&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
|[[Bilberry]]&lt;br /&gt;
|Bilberry dye&lt;br /&gt;
|Violet&lt;br /&gt;
| bgcolor=&amp;quot;#8B00FF&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
|[[Blueberry]]&lt;br /&gt;
|Blueberry dye&lt;br /&gt;
|Lavender&lt;br /&gt;
| bgcolor=&amp;quot;#E6E6FA&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
|[[Blackberry]]&lt;br /&gt;
|Blackberry dye&lt;br /&gt;
|Lavender&lt;br /&gt;
| bgcolor=&amp;quot;#E6E6FA&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
|[[Raspberry]]&lt;br /&gt;
|Raspberry dye&lt;br /&gt;
|Raspberry pink&lt;br /&gt;
| bgcolor=&amp;quot;#ff1980&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
|[[Pineapple]]&lt;br /&gt;
|Pineapple leaf dye&lt;br /&gt;
|Golden yellow&lt;br /&gt;
| bgcolor=&amp;quot;#FFDF00&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
&amp;lt;!--plant_standard, tree--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Mangrove]]&lt;br /&gt;
|Mangrove bark dye&lt;br /&gt;
|Burnt umber&lt;br /&gt;
| bgcolor=&amp;quot;#8A3324&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
|Mangrove leaf dye&lt;br /&gt;
|Burnt umber&lt;br /&gt;
| bgcolor=&amp;quot;#8A3324&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
|[[Pine]]&lt;br /&gt;
|Pine bark dye&lt;br /&gt;
|Beige&lt;br /&gt;
| bgcolor=&amp;quot;#F5F5DC&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
|[[Oak]]&lt;br /&gt;
|Oak bark dye&lt;br /&gt;
|Brown&lt;br /&gt;
| bgcolor=&amp;quot;#964B00&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
|[[Mahogany]]&lt;br /&gt;
|Mahogany bark dye&lt;br /&gt;
|Mahogany&lt;br /&gt;
| bgcolor=&amp;quot;#C04000&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
|[[Acacia]]&lt;br /&gt;
|Acacia bark dye&lt;br /&gt;
|Chocolate&lt;br /&gt;
| bgcolor=&amp;quot;#DC691E&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
|[[Maple]]&lt;br /&gt;
|Maple bark dye&lt;br /&gt;
|Light brown&lt;br /&gt;
| bgcolor=&amp;quot;#CD853F&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Willow]]&lt;br /&gt;
|Willow bark dye&lt;br /&gt;
|Yellow&lt;br /&gt;
| bgcolor=&amp;quot;#FFFF00&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
|Willow leaf dye&lt;br /&gt;
|Yellow&lt;br /&gt;
| bgcolor=&amp;quot;#FFFF00&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
|[[Larch]]&lt;br /&gt;
|Larch bark dye&lt;br /&gt;
|Golden yellow&lt;br /&gt;
| bgcolor=&amp;quot;#FFDF00&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[Chestnut]]&lt;br /&gt;
|Chestnut bark dye&lt;br /&gt;
|Dark brown&lt;br /&gt;
| bgcolor=&amp;quot;#654321&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
|Chestnut leaf dye&lt;br /&gt;
|Dark brown&lt;br /&gt;
| bgcolor=&amp;quot;#654321&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
|Chestnut hull dye&lt;br /&gt;
|Dark brown&lt;br /&gt;
| bgcolor=&amp;quot;#654321&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Nuts&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Alder]]&lt;br /&gt;
|Alder bark dye&lt;br /&gt;
|Russet&lt;br /&gt;
| bgcolor=&amp;quot;#755A57&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
|Alder cone dye&lt;br /&gt;
|Russet&lt;br /&gt;
| bgcolor=&amp;quot;#755A57&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Cones&lt;br /&gt;
|-&lt;br /&gt;
|[[Birch]]&lt;br /&gt;
|Birch bark dye&lt;br /&gt;
|Beige&lt;br /&gt;
| bgcolor=&amp;quot;#F5F5DC&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
|[[Ash (tree)|Ash]]&lt;br /&gt;
|Ash bark dye&lt;br /&gt;
|Goldenrod&lt;br /&gt;
| bgcolor=&amp;quot;#DAA520&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
&amp;lt;!--plant_new_trees--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Banana]]&lt;br /&gt;
|Banana leaf dye&lt;br /&gt;
|Ochre&lt;br /&gt;
| bgcolor=&amp;quot;#CC7722&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
|Banana peel dye&lt;br /&gt;
|Ochre&lt;br /&gt;
| bgcolor=&amp;quot;#CC7722&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
|[[Coffee]]&lt;br /&gt;
|Coffee bean dye&lt;br /&gt;
|Brown&lt;br /&gt;
| bgcolor=&amp;quot;#964B00&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Guava]]&lt;br /&gt;
|Guava bark dye&lt;br /&gt;
|Yellow&lt;br /&gt;
| bgcolor=&amp;quot;#FFFF00&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
|Guava leaf dye&lt;br /&gt;
|Yellow&lt;br /&gt;
| bgcolor=&amp;quot;#FFFF00&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
|[[Tea]]&lt;br /&gt;
|Tea leaf dye&lt;br /&gt;
|Tan&lt;br /&gt;
| bgcolor=&amp;quot;#D2B48C&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
|[[Avocado]]&lt;br /&gt;
|Avocado skin dye&lt;br /&gt;
|Peach&lt;br /&gt;
| bgcolor=&amp;quot;#FFE5B4&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Olive]]&lt;br /&gt;
|Olive bark dye&lt;br /&gt;
|Woodland green&lt;br /&gt;
| bgcolor=&amp;quot;#0f9931&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
|Olive leaf dye&lt;br /&gt;
|Woodland green&lt;br /&gt;
| bgcolor=&amp;quot;#0f9931&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[Pomegranate]]&lt;br /&gt;
|Pomegranate leaf dye&lt;br /&gt;
|Yellow&lt;br /&gt;
| bgcolor=&amp;quot;#FFFF00&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
|Pomegranate rind dye&lt;br /&gt;
|Green-yellow&lt;br /&gt;
| bgcolor=&amp;quot;#ADFF2F&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
|Pomegranate bark dye&lt;br /&gt;
|Gray&lt;br /&gt;
| bgcolor=&amp;quot;#808080&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Log&lt;br /&gt;
|-&lt;br /&gt;
|[[Almond]]&lt;br /&gt;
|Almond shell dye&lt;br /&gt;
|Light brown&lt;br /&gt;
| bgcolor=&amp;quot;#CD853F&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Nut&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Apple]]&lt;br /&gt;
|Apple bark dye&lt;br /&gt;
|Rose&lt;br /&gt;
| bgcolor=&amp;quot;#F4C2C2&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
|Apple leaf dye&lt;br /&gt;
|Yellow&lt;br /&gt;
| bgcolor=&amp;quot;#FFFF00&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
|[[Apricot]]&lt;br /&gt;
|Apricot bark dye&lt;br /&gt;
|Pink&lt;br /&gt;
| bgcolor=&amp;quot;#FFC0CB&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Bayberry]]&lt;br /&gt;
|Bayberry leaf dye&lt;br /&gt;
|Yellow&lt;br /&gt;
| bgcolor=&amp;quot;#FFFF00&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
|Bayberry dye&lt;br /&gt;
|Blue&lt;br /&gt;
| bgcolor=&amp;quot;#0000FF&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Cherry]]&lt;br /&gt;
|Cherry bark dye&lt;br /&gt;
|Pale pink&lt;br /&gt;
| bgcolor=&amp;quot;#FADADD&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
|Cherry leaf dye&lt;br /&gt;
|Light brown&lt;br /&gt;
| bgcolor=&amp;quot;#CD853F&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
|[[Ginkgo]]&lt;br /&gt;
|Ginkgo leaf dye&lt;br /&gt;
|Lemon&lt;br /&gt;
| bgcolor=&amp;quot;#FDE910&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Hazel]]&lt;br /&gt;
|Hazel bark dye&lt;br /&gt;
|Gold&lt;br /&gt;
| bgcolor=&amp;quot;#D4AF37&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
|Hazel leaf dye&lt;br /&gt;
|Gold&lt;br /&gt;
| bgcolor=&amp;quot;#D4AF37&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
|[[Peach]]&lt;br /&gt;
|Peach bark dye&lt;br /&gt;
|Amber&lt;br /&gt;
| bgcolor=&amp;quot;#FFBF00&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Pear]]&lt;br /&gt;
|Pear bark dye&lt;br /&gt;
|Ecru&lt;br /&gt;
| bgcolor=&amp;quot;#C2B280&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|-&lt;br /&gt;
|Pear leaf dye&lt;br /&gt;
|Ecru&lt;br /&gt;
| bgcolor=&amp;quot;#C2B280&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Leaves&lt;br /&gt;
|-&lt;br /&gt;
|[[Persimmon]]&lt;br /&gt;
|Persimmon dye&lt;br /&gt;
|Slate gray&lt;br /&gt;
| bgcolor=&amp;quot;#708090&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Fruit&lt;br /&gt;
|-&lt;br /&gt;
|[[Plum]]&lt;br /&gt;
|Plum bark dye&lt;br /&gt;
|Mauve taupe&lt;br /&gt;
| bgcolor=&amp;quot;#915F6D&amp;quot; | &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|20[[Currency|☼]]&lt;br /&gt;
|Aboveground&lt;br /&gt;
|Logs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Trivia==&lt;br /&gt;
A number of plants have comments in their [[raw file]]s suggesting they should produce dye, dating from before more dyes were added in [[Release information/52.03|52.03]]. [[Wild carrot]] and [[rhubarb]] produce dyes from different parts than their comment suggests: flowers and roots in the respective comments. [[Pendant amaranth]] flowers are noted to produce dye, but do not have any in-game dye materials.&lt;br /&gt;
&lt;br /&gt;
Sliver barbs are only found in [[Surroundings#Evil|evil]] areas, therefore, [[elf|elves]], [[dwarf|dwarves]], and [[human]]s won't bring sliver barbs to trade. To obtain it, you must embark in an evil area and pull it from the ground yourself.&lt;br /&gt;
&lt;br /&gt;
[[Hide root|Redroot dye]] is the only dye priced at 10[[Currency|☼]].&lt;br /&gt;
&lt;br /&gt;
{{D for Dwarf}}&lt;br /&gt;
&lt;br /&gt;
In some dwarven civilizations, a common battle cry is ‘ESHON ALOD ATÍR!’, which [[Dwarven language|translates]] as ‘TODAY IS A GOOD DAY TO DYE!’ Dwarven historians have been unable to determine why this should be.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Decoration]]&lt;br /&gt;
*[[Textile industry]]&lt;br /&gt;
&lt;br /&gt;
{{Translation&lt;br /&gt;
| dwarven = atír&lt;br /&gt;
| elvish  = afithi&lt;br /&gt;
| goblin  = osmu&lt;br /&gt;
| human   = asseg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{materials}}&lt;br /&gt;
&lt;br /&gt;
{{Category|Materials}}&lt;br /&gt;
[[ru:Dye]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Modding&amp;diff=311054</id>
		<title>Modding</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Modding&amp;diff=311054"/>
		<updated>2025-10-07T18:51:28Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Basics of DF modding */ Full mod folder structure as of the Lua update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Fine}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{For/see|a list of Dwarf Fortress mods|[[List of mods]]}}&lt;br /&gt;
{{Modding}}&lt;br /&gt;
'''Modding''', or creating [[mod]]s, refers to modifying the behavior of the base game (vanilla). ''Dwarf Fortress'' is remarkably moddable.&lt;br /&gt;
&lt;br /&gt;
== Resource Overview==&lt;br /&gt;
[[File:modding_icon.png|120px|right]]This section serves as a portal to all modding-related pages on the wiki. &lt;br /&gt;
&lt;br /&gt;
; Using Mods:&lt;br /&gt;
* [[Mod#Downloading mods|Downloading mods]]&lt;br /&gt;
* [[Mod#Enabling/installing mods|Enabling mods in-game]]&lt;br /&gt;
&lt;br /&gt;
; Guides and references:&lt;br /&gt;
* [[Modding guide|DF RAWs modding guide]]&lt;br /&gt;
* [[Modding pitfalls]] for troubleshooting&lt;br /&gt;
&lt;br /&gt;
* [[Mod#Mod format|Mod format]] and [[Game folders and files]]&lt;br /&gt;
* [https://github.com/Putnam3145/DF-Raws/tree/master Official DFRaws repository] and [https://github.com/DF-Wiki/DFRawFunctions Wiki mirror]&lt;br /&gt;
* [[Mod#Publishing on Steam Workshop|Publish on Steam Workshop]]&lt;br /&gt;
* [[Character table]]&lt;br /&gt;
* [[String dump]]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/Putnam3145/Dwarf-Fortress--libgraphics-- Official SLD2 repository]&lt;br /&gt;
* [https://docs.dfhack.org/en/latest/docs/guides/modding-guide.html#dfhack-modding-guide DFHack modding guide]&lt;br /&gt;
* [[Memory hacking]], [[Main:Offset Finding Methods|Offset Finding Methods]]&lt;br /&gt;
&lt;br /&gt;
; Where to get help?&lt;br /&gt;
* The official [http://www.bay12forums.com/smf/index.php?board=13.0 modding subforum] on the [[Bay 12 Forums]].&lt;br /&gt;
* [https://discord.com/channels/329272032778780672/629902895138996264 #modding-discussion] and [https://discord.com/channels/329272032778780672/1069640085718450218 #modding-technical] channels on [[Kitfox Games]]' Discord.&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Introduction.html#getting-help DFHack questions] &lt;br /&gt;
&lt;br /&gt;
; Modding tools&lt;br /&gt;
* There are several specialized [[Utilities#Modding tools|utilities]] that assist in modding efforts. There is [http://www.bay12forums.com/smf/index.php?topic=28829.0 a longer list of them] on the [[Bay 12 Forums]].&lt;br /&gt;
:*[https://putnam3145.github.io/helper Material Helper] by [[User:Putnam3145]], for calculating [[Material definition token|material properties]].&lt;br /&gt;
:*[https://jose96xd.github.io/DF_Tools/index.html DF Tools] by [[User:Jose96xd]], a collection of web tools.&lt;br /&gt;
:*[https://dffd.bay12games.com/file.php?id=1738 DFLang] (by Igfig) and [https://dffd.bay12games.com/file.php?id=7174 LangCreate] (by Talvieno) for generating [[Language token|translations]].&lt;br /&gt;
:*[http://www.bay12forums.com/smf/index.php?topic=158930.0 Dwarf Portrait] by Rose, for visualizing unit [[Body token|bodies]].&lt;br /&gt;
* Text editors are used in all areas of modding. Use a good text editor to edit files and search into multiple files (like the free [https://notepad-plus-plus.org/ Notepad++] for example) or more advanced editors capable of highlighting and formatting the displayed text (like [[Utilities#DF RAW Language server|DF RAW Language server]])&lt;br /&gt;
* Image editors are needed for doing custom graphics. [https://www.getpaint.net/ Paint.NET], Photoshop and GIMP are the most used, but whatever supports the .png format will work.&lt;br /&gt;
&lt;br /&gt;
=== Documentation===&lt;br /&gt;
; [[Raw file]]s&lt;br /&gt;
&lt;br /&gt;
These object files, stored in &amp;lt;code&amp;gt;/data/vanilla/*/objects/&amp;lt;/code&amp;gt;, define various specifics of game items, materials, and creatures, and can be changed using mods to alter how the game behaves. These are text based and can be edited with any text editor, however, editing the vanilla raw files is now discouraged.&lt;br /&gt;
&lt;br /&gt;
See [[Token|Token reference]] - It's always good to refer to tokens on the wiki. Even experienced modders have to look up tokens! A list of articles about tokens can be found here.&lt;br /&gt;
&lt;br /&gt;
; [[Graphics|Graphics files]]:&lt;br /&gt;
&lt;br /&gt;
The `/data/art/` subfolder of Dwarf Fortress is used to store user-customizable [[tileset]]s while mods can include their own [[Graphics#Premium Graphics|graphics files]].&lt;br /&gt;
&lt;br /&gt;
; [[Reaction]]s:&lt;br /&gt;
&lt;br /&gt;
; [[Language token|Language]] and [[Speech file]]:&lt;br /&gt;
&lt;br /&gt;
; [[Audio|Sound and Music files]]:&lt;br /&gt;
&lt;br /&gt;
All sound and music files used by ''Dwarf Fortress'' are stored in the [https://en.wikipedia.org/wiki/Ogg .ogg] format within the &amp;lt;code&amp;gt;/data/sound/&amp;lt;/code&amp;gt; subfolders. Mods can load new audio files. You can also change some of the definitions of when certain musical cues are played, using available [[music token]]s and [[sound token]]s in the raw files.&lt;br /&gt;
&lt;br /&gt;
An example mod by [[User:Putnam3145]] is available on [https://github.com/Putnam3145/dwarf-fortress-example-sound-mod Github].&lt;br /&gt;
&lt;br /&gt;
; [[Lua scripting]]:&lt;br /&gt;
&lt;br /&gt;
An experimental feature used for procedural generation.&lt;br /&gt;
&lt;br /&gt;
=== Best practice ===&lt;br /&gt;
The current best practice is to not modify the original raw files, since most modifications can be made via mods. Mods can add new objects, add tokens to existing objects, and cut objects entirely. You should prefer ``SELECT`` over ``CUT``, and prefer ``CUT`` over unloading ([[Mod info token|conflicting with]]) vanilla raws.&lt;br /&gt;
&lt;br /&gt;
== Guide ==&lt;br /&gt;
This is intended to be a guide to inform those new to ''Dwarf Fortress'' modding on what elements of the game can be modified, and how. After reading through this guide, a user should be capable of editing creatures, entities, materials ''et al'', and creating their own.&lt;br /&gt;
&lt;br /&gt;
Generally, breaking stuff is fine - nothing that can be changed will affect the DF executable, and new additions can be easily removed.&lt;br /&gt;
&lt;br /&gt;
This guide is based on [[40d:Modding guide|Teldin's guide]], originally created for version 0.27.176.39c. Per wiki tradition, it has been updated through all the major releases since then; hopefully it reflects current knowledge.&lt;br /&gt;
&lt;br /&gt;
=== Token reference ===&lt;br /&gt;
It's always good to refer to tokens on the wiki. Even experienced modders have to look up tokens! A list of articles about tokens can be found [[Token|here]].&lt;br /&gt;
&lt;br /&gt;
=== Basics of DF modding ===&lt;br /&gt;
To make a mod, one must put a folder into the &amp;lt;code&amp;gt;/mods/&amp;lt;/code&amp;gt; directory in the game's AppData [[File|folder]] or the portable directory. When a mod is first installed, it is copied to &amp;lt;code&amp;gt;/data/installed_mods/&amp;lt;/code&amp;gt; and the game loads all data from the installed copy. Changes are NOT immediately propagated from &amp;lt;code&amp;gt;/mods/&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/data/installed_mods/&amp;lt;/code&amp;gt;. You can create a new installed copy by deleting the old copy or by incrementing the [[Mod info token|version info]] - see [[modding pitfalls]] for more information. The vast majority of modifications to the game can be done via this method.&lt;br /&gt;
&lt;br /&gt;
Your mod folder must contain a file named &amp;quot;info.txt&amp;quot; and subfolders depending on what your mod includes. The majority of mods will want to have an ``objects/`` folder, which can define most kinds of [[Raw file|game content]], and a ``graphics/`` folder, to add [[graphics]].&lt;br /&gt;
&lt;br /&gt;
 [[File:Folder-orange.svg|20px|link=]] Mod Name&lt;br /&gt;
  ├ [[File:Folder.svg|20px|link=]] [[Graphics|graphics]]&lt;br /&gt;
  ├ [[File:Folder.svg|20px|link=]] [[Raw file|objects]]&lt;br /&gt;
  ├ [[File:Folder.svg|20px|link=]] [[Lua scripting|scripts]]&lt;br /&gt;
  ├ &amp;amp;emsp;[[File:Lua-Logo.svg|20px|link=]] init.lua&lt;br /&gt;
  ├ [[File:Folder.svg|20px|link=]] [[Audio|sound]]&lt;br /&gt;
  ├ [[File:Text-x-generic.svg|20px|link=]] [[info.txt]]&lt;br /&gt;
  └ [[File:Picture icon.png|20px|link=]] preview.png&lt;br /&gt;
&lt;br /&gt;
The [[info.txt]] is formatted like so:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
[ID:my_first_mod]&lt;br /&gt;
[NUMERIC_VERSION:1]&lt;br /&gt;
[DISPLAYED_VERSION:1.0.0]&lt;br /&gt;
[EARLIEST_COMPATIBLE_NUMERIC_VERSION:1]&lt;br /&gt;
[EARLIEST_COMPATIBLE_DISPLAYED_VERSION:1.0.0]&lt;br /&gt;
[AUTHOR:Your Name Here]&lt;br /&gt;
[NAME:My First Mod]&lt;br /&gt;
[DESCRIPTION:A cool mod I made!]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A mod should have all of these. There are a [[mod info token|few more tokens]], but the above are the important ones.&lt;br /&gt;
&lt;br /&gt;
Most of the game's vanilla content is in the same format as mods. Many text files can be found in the subfolders of the &amp;lt;code&amp;gt;/data/vanilla&amp;lt;/code&amp;gt; folder - these are the [[raw file|raw files]], and using them as a basis for modification is quite easy. For now, we will take a look at one of the existing files. For example, if you open &amp;lt;code&amp;gt;/data/vanilla/vanilla_creatures/objects/creature_standard.txt&amp;lt;/code&amp;gt;, it should look something like this:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 creature_standard&lt;br /&gt;
 &lt;br /&gt;
 [OBJECT:CREATURE]&lt;br /&gt;
 &lt;br /&gt;
 [CREATURE:DWARF]&lt;br /&gt;
     [DESCRIPTION:A short, sturdy creature fond of drink and industry.]&lt;br /&gt;
     [NAME:dwarf:dwarves:dwarven]&lt;br /&gt;
     [CASTE_NAME:dwarf:dwarves:dwarven]&lt;br /&gt;
     [CREATURE_TILE:1][COLOR:3:0:0]&lt;br /&gt;
     [CREATURE_SOLDIER_TILE:2]&lt;br /&gt;
 ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
As you can see, each file comprises a header string stating the file name, a second header stating the type of object data it contains, followed by the contents of the file itself. These are all necessary elements of the file, and without them, the file will be ignored by the game. &lt;br /&gt;
&lt;br /&gt;
'''In other words, to be recognized by the game, a raw file must have all of the following:'''&lt;br /&gt;
&lt;br /&gt;
# A filename that refers to the type of objects contained therein. '''Creature files must start with creature_, entity files must start with entity_, and so on.'''&lt;br /&gt;
# The filename on the first line of the file.&lt;br /&gt;
# ``[OBJECT:type]``, where &amp;quot;type&amp;quot; is replaced with the relevant object type.&lt;br /&gt;
&lt;br /&gt;
Below the headers, there begins a list of entries. Each entry is made up of its own header (in this case, ``[CREATURE:DWARF]``), again stating the type of object, and then the object's unique identifier - if an identifier isn't unique, the game will mess up and you'll get some serious, and potentially very trippy, errors. ([[Duplicated raws|For example...]])  Below that, we have the body of the entry, which determines the entry's specific properties.&lt;br /&gt;
&lt;br /&gt;
The body of an entry is made up of a series of &amp;quot;tokens&amp;quot;, which are essentially flags that can be added or removed to affect the entry's attributes. Most of these effects are hardcoded: for example, it's possible to make a creature only eat meat with the {{token|CARNIVOROUS}} token, but it's impossible to create your own token detailing a specific diet for the creature.&lt;br /&gt;
&lt;br /&gt;
Before we continue, a few key things to remember when modding the raw files:&lt;br /&gt;
&lt;br /&gt;
* Try to avoid modifying the existing raw files when possible. You should make a mod instead!&lt;br /&gt;
* When adding files, token identifiers are all you need to include to ensure proper references are maintained.  The game searches through all loaded raw files by tokens.&lt;br /&gt;
** For example, you can add a new pair of leather boots and not even have to add it to a file named ``item_shoes.txt``, but rather your own file, say ``item_shoes_new.txt``.&lt;br /&gt;
** All objects must have a unique token identifier. Adding a consistent prefix or suffix to your mod's objects (ie: ``[ITEM_SHOES:ITEM_SHOES_BOOTS_NEW]``) greatly reduces the chance that another mod uses the same token. If two mods define objects with the same token without cutting the other, then they will be incompatible due to [[duplicated raws]].&lt;br /&gt;
* When a new world is generated, the mods included are &amp;quot;baked in&amp;quot; and cannot be modified except to be updated—for this, the game checks that the mod used by the save is of a compatible {{token|NUMERIC_VERSION|modinfo}}.&lt;br /&gt;
* There's nothing stopping you from just copying an existing creature/entity/whatever, changing the identifier, and modifying it. This can save you a lot of time, especially when it comes to entities.&lt;br /&gt;
&lt;br /&gt;
=== Modifying the vanilla objects ===&lt;br /&gt;
&lt;br /&gt;
You should not modify the vanilla raws where they originally are if you can help it. Instead, patch them using the patching functions provided with ''Dwarf Fortress'' since v50.01.&lt;br /&gt;
&lt;br /&gt;
There are two patching functions: ``SELECT`` and ``CUT``. When ``SELECT`` is used, it lets you make changes to an object without needing the entire entry to be present in your mod file. When ``CUT`` is used, it forces the game to not use that object, even though it is still found in the vanilla raws (or in any other mods earlier in the load order). Both of these functions take the form of tokens. These functions are not universally applicable to any token found in any entry, just the following list of base objects:&lt;br /&gt;
&lt;br /&gt;
* [[Creature token|CREATURE]]&lt;br /&gt;
* [[Entity token|ENTITY]]&lt;br /&gt;
* [[Interaction token|INTERACTION]]&lt;br /&gt;
* [[Item definition token|ITEM]]&lt;br /&gt;
* [[Language token|WORD, TRANSLATION, SYMBOL]]&lt;br /&gt;
* [[Inorganic material definition token|INORGANIC]]&lt;br /&gt;
* [[Plant token|PLANT]]&lt;br /&gt;
* [[Audio|MUSIC, SOUND]]&lt;br /&gt;
* [[Reaction token|REACTION]]&lt;br /&gt;
&lt;br /&gt;
The syntax required for these functions is: ``[&amp;lt;function&amp;gt;_&amp;lt;object&amp;gt;:&amp;lt;specific object being affected&amp;gt;]``. For instance, ``[CUT_PLANT:MUSHROOM_HELMET_PLUMP]`` cuts the plump helmet object originally defined in the vanilla file ``[https://github.com/DF-Wiki/DFRawFunctions/blob/master/raws/v50/plant_standard.txt plant_standard.txt]``, so the game will not use that object at all. However, ``[SELECT_ITEM_HELM:ITEM_HELM_HELM]`` does not select the helm object from the vanilla file ``[https://github.com/DF-Wiki/DFRawFunctions/blob/master/raws/v50/item_helm.txt item_helm.txt]``, even though that's how the object appears in that file, because there is no ``[SELECT_ITEM_HELM]`` token. Instead, the helm would be selected with ``[SELECT_ITEM:ITEM_HELM_HELM]``.&lt;br /&gt;
&lt;br /&gt;
For example, if you wanted to mod beards onto dwarven women while also removing elephants from the game:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
creature_mypatch&lt;br /&gt;
&lt;br /&gt;
[OBJECT:CREATURE]&lt;br /&gt;
&lt;br /&gt;
[SELECT_CREATURE:DWARF] starts editing DWARF from the end of the entry&lt;br /&gt;
    [SELECT_CASTE:FEMALE]&lt;br /&gt;
        [BODY_DETAIL_PLAN:FACIAL_HAIR_TISSUE_LAYERS]&lt;br /&gt;
&lt;br /&gt;
[CUT_CREATURE:ELEPHANT] removes the ELEPHANT creature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Or, say, add your own reaction and building to dwarves:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
entity_mypatch&lt;br /&gt;
&lt;br /&gt;
[OBJECT:ENTITY]&lt;br /&gt;
&lt;br /&gt;
[SELECT_ENTITY:MOUNTAIN]&lt;br /&gt;
    [PERMITTED_REACTION:MY_REACTION]&lt;br /&gt;
    [PERMITTED_BUILDING:MY_BUILDING]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
And in any of these, one can add the token ``[LOG_CURRENT_ENTRY]`` somewhere under one of the objects of the file, which logs the full contents of the object in question to ``logs\current_entry.txt``. This can be useful to make sure that the patch is doing what you think it is. For instance if ``[LOG_CURRENT_ENTRY]`` were added on the next line after ``[CREATURE:DWARF]`` in your mod file, then the dwarf object would be the object detailed in the log entry.&lt;br /&gt;
&lt;br /&gt;
Note that it is not possible to remove an existing token from most objects using ``SELECT`` or ``CUT`` alone. Creatures can make use of {{token|CV_REMOVE_TAG|cv}}; for other objects, it is currently necessary to ``CUT`` the entire object and redefine it.&lt;br /&gt;
&lt;br /&gt;
...Speaking of, let's move on to modifying and adding entities.&lt;br /&gt;
&lt;br /&gt;
=== Modding civilizations (entities) ===&lt;br /&gt;
&lt;br /&gt;
Entities - the objects that determine how civilizations work - are stored in &amp;lt;code&amp;gt;[https://github.com/DF-Wiki/DFRawFunctions/blob/master/raws/v50/entity_default.txt vanilla_entities/objects/entity_default.txt]&amp;lt;/code&amp;gt; (though, like all other files, you may add more). They follow the same format as any other raw file:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 entity_default&lt;br /&gt;
 &lt;br /&gt;
 [OBJECT:ENTITY]&lt;br /&gt;
 &lt;br /&gt;
 [ENTITY:ENTITYNAME]&lt;br /&gt;
     [CREATURE:CREATURETYPE]&lt;br /&gt;
     [TRANSLATION:LANGUAGETYPE]&lt;br /&gt;
     [BIOME_SUPPORT:BIOMETOKEN:FREQUENCY]&lt;br /&gt;
     ...[OTHER TAGS]...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Most of the time, it doesn't matter which order these tokens are in or where they're placed so long as they're below the ``[ENTITY:]`` identifier, but there are some important exceptions in the case of other files, especially creatures, which can contain a lot of &amp;quot;nested&amp;quot; tokens.&lt;br /&gt;
&lt;br /&gt;
{{token|CREATURE|e}} links the civilization with a specific creature defined in a creature file. This is the creature that'll be making up the entity's population, and, therefore, the creature you'll be playing as in fortress or adventure mode if the entity is a playable one. For example, if you wanted to do something silly, you could switch the {{token|CREATURE|e|DWARF}} entry in ``entity_default.txt`` with {{token|CREATURE|e|ELF}} and you would be marching elves around in fortress mode, although they would still use dwarven technology, [[Dwarven language|language]] and [[name]]s and so forth. Oh, and before you get any funny ideas - it ''is'' possible to define more than one creature for a civ, but that won't work in quite the way you probably expect; it will pick only one of the defined creatures at random to use for the civ. Later on, in the creature section, you'll learn about castes, which will provide a much more viable alternative, so try to bear with us until then.&lt;br /&gt;
&lt;br /&gt;
{{token|TRANSLATION|e}} defines the language file that the entity will be using, which will determine what their native words are for things. This doesn't determine which words they use for naming things, only the way those words are spelled. The default language files are ``HUMAN``, ``DWARF``, ``ELF``, and ``GOBLIN``, as well as the generated ``GEN_DIVINE`` and ``GEN_IDENTITY``.{{version|51.06-Lua}}&lt;br /&gt;
&lt;br /&gt;
{{token|BIOME_SUPPORT|e}} defines the [[Biome token|biomes]] that civs will attempt to settle in. The ``FREQUENCY`` value determines the likelihood of them building there, but also raises an important point: most of the values you'll be setting for things are relative to each other. If one were to type:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [BIOME_SUPPORT:ANY_FOREST:1]&lt;br /&gt;
 [BIOME_SUPPORT:SAVANNA:2]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This would have very much the same effect as:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [BIOME_SUPPORT:ANY_FOREST:5]&lt;br /&gt;
 [BIOME_SUPPORT:SAVANNA:10]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This holds true for a lot of values throughout the files, excluding when it simply doesn't make sense, such as in materials. For more information, see [[entity token]]s. &lt;br /&gt;
&lt;br /&gt;
Besides those mentioned, some fundamental ones are the {{token|SITE_CONTROLLABLE|e}} token, which lets you control the civ in fortress mode, and the {{token|ALL_MAIN_POPS_CONTROLLABLE|e}} token, which allows you to play a civ native (non-outsider) in adventure mode. Other tokens that you should pay attention to are {{token|START_BIOME|e}} and the ones regarding sites, but in general, you can just run through the aforementioned list and add or remove what you want.&lt;br /&gt;
&lt;br /&gt;
Also see the creature-level {{token|OUTSIDER_CONTROLLABLE}} token, which allows you to play in adventure mode as an outsider.&lt;br /&gt;
&lt;br /&gt;
By default, the game chooses a {{token|SITE_CONTROLLABLE|e}} civ (and therefore a species if there is more than one) at random when starting a fortress mode game. The group selection section on the embark screen lists all available civs and their primary creature.&lt;br /&gt;
&lt;br /&gt;
You can also attempt to discern the civ yourself by the names it uses - this is the realm of [[Language#language_SYM|symbols]], collections of words centered around a specific concept. The civ will use words from whatever symbols are selected for it for various things. This association might be a little confusing at first, so, let's refer to the &amp;quot;MOUNTAIN&amp;quot; entity:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [SELECT_SYMBOL:WAR:NAME_WAR]&lt;br /&gt;
 [SUBSELECT_SYMBOL:WAR:VIOLENT]&lt;br /&gt;
 [SELECT_SYMBOL:BATTLE:NAME_BATTLE]&lt;br /&gt;
 [SUBSELECT_SYMBOL:BATTLE:VIOLENT]&lt;br /&gt;
 [SELECT_SYMBOL:SIEGE:NAME_SIEGE]&lt;br /&gt;
 [SUBSELECT_SYMBOL:SIEGE:VIOLENT]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Here, we can see that dwarves will generally name their wars first after words in the &amp;quot;NAME_WAR&amp;quot; symbol group, and then, after words in the &amp;quot;[[language_SYM.txt/Violent|VIOLENT]]&amp;quot; symbol group. This might, for example, result in a war being named &amp;quot;The War of Carnage&amp;quot;. The symbols used for the other types of conflict are arrayed in a similar fashion. It would be trivial to replace the instances of [[language_SYM.txt/Violent|VIOLENT]] with, say, [[language_SYM.txt/Peace|PEACE]] and end up with a battle called &amp;quot;The Clash of Calm&amp;quot; or something.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [SELECT_SYMBOL:ROAD:NAME_ROAD]&lt;br /&gt;
 [SELECT_SYMBOL:TUNNEL:NAME_TUNNEL]&lt;br /&gt;
 [SELECT_SYMBOL:BRIDGE:NAME_BRIDGE]&lt;br /&gt;
 [SELECT_SYMBOL:WALL:NAME_WALL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The above applies here. Dwarves are fond of naming their roads and tunnels after... roads and tunnels.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [SELECT_SYMBOL:REMAINING:ARTIFICE]&lt;br /&gt;
 [SELECT_SYMBOL:REMAINING:EARTH]&lt;br /&gt;
 [CULL_SYMBOL:ALL:DOMESTIC]&lt;br /&gt;
 [CULL_SYMBOL:ALL:SUBORDINATE]&lt;br /&gt;
 [CULL_SYMBOL:ALL:EVIL]&lt;br /&gt;
 [CULL_SYMBOL:ALL:UNTOWARD]&lt;br /&gt;
 [CULL_SYMBOL:ALL:FLOWERY]&lt;br /&gt;
 [CULL_SYMBOL:ALL:NEGATIVE]&lt;br /&gt;
 [CULL_SYMBOL:ALL:UGLY]&lt;br /&gt;
 [CULL_SYMBOL:ALL:NEGATOR]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This section deals with everything else. The things that haven't already been dealt with (hence the ``REMAINING``) - such as site names, kingdom names, the names of individuals, and such - will have names from the [[language_SYM.txt/Artifice|ARTIFICE]] and [[language_SYM.txt/Peace|PEACE]] symbol groups. After that, the dwarf entity is told to cull all inappropriate symbols - this applies to everything (hence the ``ALL``) so if the game happens to choose a symbol associated with, say, [[language_SYM.txt/Evil|EVIL]] for one of the battles, it'll scrap that name and try again. This sort of thing adds a lot of flavour to DF's entities and can account for a lot of a civ's perceived personality.&lt;br /&gt;
&lt;br /&gt;
Another basic thing to note: any entity token that's dealing with weapons, armor, clothing, etc., will state the items that the civ can build natively, not necessarily the ones they can wear or use. For example, you could create a species with no clothes specified, but then rob a clothes shop in adventurer mode and wear everything you want, or give them weapons that are too large to wield and they could sell them, but not use them. &lt;br /&gt;
&lt;br /&gt;
An easy method of creating a civilization is just to copy-paste a similar one to the bottom of an entity file and edit things to your liking. Remember to always change the civ's ``[ENTITY:]`` identifier! This can be anything, so long as it's not already existing.&lt;br /&gt;
&lt;br /&gt;
At the end of some of the default entries you'll find a list of positions, both ones that'll directly affect you in fort mode (such as nobles) and ones that'll primarily affect worldgen and adventure mode. A list of the tokens applicable to positions can be found [[position token|here]]; they don't require a great deal of explanation, but that can be found in [[Advanced Entity Position Mechanics]].&lt;br /&gt;
&lt;br /&gt;
==== Trade ====&lt;br /&gt;
The following [[entity token]]s affect the appearance of [[trading]] [[caravan]]s:&lt;br /&gt;
&lt;br /&gt;
* {{token|ACTIVE_SEASON|e}} - Defines the seasons when an entity may visit your fortress.&lt;br /&gt;
* ``[[Entity token#PROGRESS_TRIGGER_POPULATION|[PROGRESS_TRIGGER_*]]]`` - Defines the triggers which control when an entity will become interested in your fortress.&lt;br /&gt;
* {{token|COMMON_DOMESTIC_PACK|e}} - Allows the civilization to use domestic pack animals. If an entity lacks pack animals (or ability to pull wagons), it will be unable to send caravans (showing as {{DFtext|No Trade|6:1}} at the [[embark]] screen), unless it has domesticated any suitable animal species or is forced to use a non-suitable creature by the {{token|ANIMAL|e}} definition {{token|ALWAYS_WAGON_PULLER|e}} on creature, caste or class.&lt;br /&gt;
* {{token|COMMON_DOMESTIC_PULL|e}} - Allows the civilization to use domestic animals to pull [[wagon]]s, assuming their ``[[Ethic#KILL_PLANT|[ETHIC:KILL_PLANT]]]`` permits them to use wagons in the first place.&lt;br /&gt;
* {{token|MERCHANT_BODYGUARDS|e}} - Caravan will be guarded by [[soldier]]s.&lt;br /&gt;
&lt;br /&gt;
=== Modding creatures ===&lt;br /&gt;
&lt;br /&gt;
Creature modding is great fun – you can change nearly any aspect of a creature, or make your own completely from scratch.&lt;br /&gt;
&lt;br /&gt;
Modding creatures is very similar to modding civs: it's just a matter of editing, adding, or removing tokens, enclosed in square brackets underneath the creature's ``[CREATURE:]`` header. The creature entries contain all of the information about each and every non-random creature in the game, from animals to dwarves to goblins to even caravan wagons. A lot of the creature tokens are fairly self-explanatory; you can find a list of such tokens [[creature token|here]]. But before you start creating your own creatures, you'll want to learn how the tissues system works.&lt;br /&gt;
&lt;br /&gt;
==== Creature materials and tissues ====&lt;br /&gt;
&lt;br /&gt;
In the most basic sense, a creature is a series of body parts. These parts are defined in their own file, and we'll talk about them later, as a specific aspect of how creatures work, which throws off a lot of prospective modders, is the relationship between body parts, tissues, and materials. We're going to show you part of the [[bronze colossus/raw|creature entry]] for a [[bronze colossus]] (bear with us):&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 ...&lt;br /&gt;
 [BODY:HUMANOID:2EYES:2EARS:NOSE:HUMANOID_JOINTS:5FINGERS:5TOES]&lt;br /&gt;
 [NO_THOUGHT_CENTER_FOR_MOVEMENT]&lt;br /&gt;
 [TISSUE:BRONZE]&lt;br /&gt;
     [TISSUE_NAME:bronze:bronze]&lt;br /&gt;
     [TISSUE_MATERIAL:INORGANIC:BRONZE]&lt;br /&gt;
     [MUSCULAR]&lt;br /&gt;
     [FUNCTIONAL]&lt;br /&gt;
     [STRUCTURAL]&lt;br /&gt;
     [RELATIVE_THICKNESS:1]&lt;br /&gt;
     [CONNECTS]&lt;br /&gt;
     [TISSUE_SHAPE:LAYER]&lt;br /&gt;
 [TISSUE_LAYER:BY_CATEGORY:ALL:BRONZE]&lt;br /&gt;
 ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
At the top, we can see the {{token|BODY}} token, followed by a list of body parts. As you've probably guessed, these parts make up the physical form of the colossus. But the colossus has to be made out of something - it has to have tissues, and those tissues also have to be made out of something - in this case, bronze.&lt;br /&gt;
&lt;br /&gt;
Below the {{token|BODY}} token you'll see a {{token|TISSUE}} token, followed by an identifier, much like the others we've seen. The {{token|TISSUE}} block is determining how the tissue works, and which purposes it'll serve. As the colossus is just going to be made out of this one tissue, this tissue needs to act like bone, muscle, and everything else combined, hence the {{token|MUSCULAR|tissue}}, {{token|FUNCTIONAL|tissue}} and {{token|STRUCTURAL|tissue}} tokens. The tissue also references a material - ``[INORGANIC:BRONZE]`` - the properties of which are declared in the [[Inorganic material definition token|inorganic materials]] file ``[https://github.com/DF-Wiki/DFRawFunctions/blob/master/raws/v50/inorganic_metal.txt inorganic_metal.txt]``, and the tissue is subsequently made out of this material. With us so far?&lt;br /&gt;
&lt;br /&gt;
Below the tissue definition is the {{token|TISSUE_LAYER}} line. {{token|TISSUE_LAYER}} allows you to control where each tissue is applied. Its first argument defines if it's to search by body part category (``BY_CATEGORY``), body part type (``BY_TYPE``), or look for a specific part (``BY_TOKEN``). That's followed by the parts argument itself, which is in this case ``ALL`` (so the game's looking for parts in all categories, which is to say, every body part). This is followed by the tissue to be applied, &amp;quot;BRONZE&amp;quot;. So the {{token|TISSUE_LAYER}} token is telling the game to select all body parts in every category and make them out of the tissue &amp;quot;BRONZE&amp;quot;. The colossus is now made of [[bronze]].&lt;br /&gt;
&lt;br /&gt;
By now, you're probably thinking &amp;quot;Wow, if this was for a creature made out of however many tissues, this would be amazingly longwinded!&amp;quot; and you're right. Luckily, there are two methods by which we can speed things up a lot.&lt;br /&gt;
&lt;br /&gt;
Firstly, there are material and tissue templates. Let's say you were going to make a lot of creatures out of bronze, and you didn't want to have to copy and paste the bronze tissue all over the place. Instead, you create a tissue template. This goes, as you've probably guessed, in a tissue template file.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [TISSUE_TEMPLATE:BRONZE_TEMPLATE]&lt;br /&gt;
     [TISSUE_NAME:bronze:bronze]&lt;br /&gt;
     [TISSUE_MATERIAL:INORGANIC:BRONZE]&lt;br /&gt;
     [MUSCULAR]&lt;br /&gt;
     [FUNCTIONAL]&lt;br /&gt;
     [STRUCTURAL]&lt;br /&gt;
     [RELATIVE_THICKNESS:1]&lt;br /&gt;
     [CONNECTS]&lt;br /&gt;
     [TISSUE_SHAPE:LAYER]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Now, instead of applying the tissue to each and every bronze creature you're making, you can just refer to the template:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 ...&lt;br /&gt;
 [BODY:HUMANOID:2EYES:2EARS:NOSE:HUMANOID_JOINTS:5FINGERS:5TOES]&lt;br /&gt;
 [NO_THOUGHT_CENTER_FOR_MOVEMENT]&lt;br /&gt;
 [USE_TISSUE_TEMPLATE:BRONZE:BRONZE_TEMPLATE]&lt;br /&gt;
 [TISSUE_LAYER:BY_CATEGORY:ALL:BRONZE]&lt;br /&gt;
 ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Material templates work in the same way, but refer to materials instead of tissues.&lt;br /&gt;
&lt;br /&gt;
However, if we're looking at something like a dwarf, even with the templates, editing can get very slow indeed:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
     ...&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:SKIN:SKIN_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:FAT:FAT_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:MUSCLE:MUSCLE_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:BONE:BONE_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:CARTILAGE:CARTILAGE_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:HAIR:HAIR_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:TOOTH:TOOTH_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:EYE:EYE_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:NERVE:NERVE_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:BRAIN:BRAIN_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:LUNG:LUNG_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:HEART:HEART_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:LIVER:LIVER_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:GUT:GUT_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:STOMACH:STOMACH_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:PANCREAS:PANCREAS_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:SPLEEN:SPLEEN_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:KIDNEY:KIDNEY_TEMPLATE]&lt;br /&gt;
     [USE_TISSUE_TEMPLATE:SKIN:SKIN_TEMPLATE]&lt;br /&gt;
     [USE_TISSUE_TEMPLATE:FAT:FAT_TEMPLATE]&lt;br /&gt;
     [USE_TISSUE_TEMPLATE:MUSCLE:MUSCLE_TEMPLATE]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is where [[Body detail plan token|body detail plans]], which have their own file, and are designed to help automate some of the more common processes in creature creation, come in. The first entry in ``[https://github.com/DF-Wiki/DFRawFunctions/blob/master/raws/v50/b_detail_plan_default.txt b_detail_plan_default.txt]`` does exactly what we've been trying to do above: it takes all the common materials and shoves them into one plan, which can be referenced with a single token.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
     ...&lt;br /&gt;
     [BODY_DETAIL_PLAN:STANDARD_MATERIALS]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Much easier. But what about the {{token|TISSUE_LAYER}} tokens? Will we have to type out all of those manually? Nope, detail plans have that covered as well. It's possible to place variable arguments into a detail plan. For example:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS]&lt;br /&gt;
     [BP_LAYERS:BY_CATEGORY:BODY:ARG3:50:ARG2:5:ARG1:1]&lt;br /&gt;
     [BP_LAYERS:BY_CATEGORY:BODY_UPPER:ARG3:50:ARG2:5:ARG1:1]&lt;br /&gt;
     [BP_LAYERS:BY_CATEGORY:BODY_LOWER:ARG3:50:ARG2:5:ARG1:1]&lt;br /&gt;
     [BP_LAYERS:BY_CATEGORY:ARM:ARG4:25:ARG3:25:ARG2:5:ARG1:1]&lt;br /&gt;
     [BP_LAYERS:BY_CATEGORY:ARM_UPPER:ARG4:25:ARG3:25:ARG2:5:ARG1:1]&lt;br /&gt;
     ...&lt;br /&gt;
     [BP_LAYERS:BY_CATEGORY:NOSE:ARG5:4:ARG1:1]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
First, an argument is placed in the plan (``ARG1``, ``ARG2`` etc.), followed by the thickness of the tissue that will be inserted in place of the argument. So when we reference the &amp;quot;VERTEBRATE_TISSUE_LAYERS&amp;quot; plan, we'll be able to do something like this:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
     [BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:SKIN:FAT:MUSCLE:BONE:CARTILAGE]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
``ARG1`` in the detail plan is replaced by &amp;quot;SKIN&amp;quot;, the first tissue we entered. ``ARG2`` is replaced by &amp;quot;FAT&amp;quot;, ``ARG3`` by &amp;quot;MUSCLE&amp;quot;, ``ARG4`` by &amp;quot;BONE&amp;quot;, and ``ARG5`` by &amp;quot;CARTILAGE&amp;quot;. Hence, our creature's body part designated as {{token|CATEGORY|body|BODY}} is made up of &amp;quot;SKIN&amp;quot; with thickness 1, &amp;quot;FAT&amp;quot; with thickness 5, and &amp;quot;MUSCLE&amp;quot; with thickness 50. Its nose is made up of &amp;quot;SKIN&amp;quot; (thickness 1) and &amp;quot;CARTILAGE&amp;quot; (thickness 4).&lt;br /&gt;
&lt;br /&gt;
Things left out of the body plans aside, our dwarf's entire body, material, tissue and tissue layer tokens have been boiled down to this:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
     ...&lt;br /&gt;
     [BODY:HUMANOID:2EYES:2EARS:NOSE:2LUNGS:HEART:GUTS:ORGANS:HUMANOID_JOINTS:&lt;br /&gt;
     THROAT:NECK:SPINE:BRAIN:SKULL:5FINGERS:5TOES:MOUTH:FACIAL_FEATURES:TEETH:RIBCAGE]&lt;br /&gt;
     [BODY_DETAIL_PLAN:STANDARD_MATERIALS]&lt;br /&gt;
     [BODY_DETAIL_PLAN:STANDARD_TISSUES]&lt;br /&gt;
     [BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:SKIN:FAT:MUSCLE:BONE:CARTILAGE]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This can save you a lot of time and space if you're making lots of changes common to many creatures. In general, if you're making a creature that's fleshy or chitinous, there are detail plans already included in the game to help you out. You should only have to resort to declaring tissues individually (like our bronze colossus) if you're doing something really out-of-the-ordinary.&lt;br /&gt;
&lt;br /&gt;
Another great thing about templates (and so, detail plans) is that they can be modified after being declared. Let's say we wanted our dwarves to be perpetually on fire (don't ask). We leave the body stuff declared normally:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
     ...&lt;br /&gt;
     [BODY:HUMANOID:2EYES:2EARS:NOSE:2LUNGS:HEART:GUTS:ORGANS:HUMANOID_JOINTS:&lt;br /&gt;
     THROAT:NECK:SPINE:BRAIN:SKULL:5FINGERS:5TOES:MOUTH:FACIAL_FEATURES:TEETH:RIBCAGE]&lt;br /&gt;
     [BODY_DETAIL_PLAN:STANDARD_MATERIALS]&lt;br /&gt;
     [BODY_DETAIL_PLAN:STANDARD_TISSUES]&lt;br /&gt;
     [BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:SKIN:FAT:MUSCLE:BONE:CARTILAGE]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
We then, in our own mod, select the appropriate material:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
[SELECT_CREATURE:DWARF]&lt;br /&gt;
     [SELECT_MATERIAL:SKIN]&lt;br /&gt;
         [MAT_FIXED_TEMP:10600]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
We don't want them burning to death, so we'll need to stop that from happening:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
[SELECT_CREATURE:DWARF]&lt;br /&gt;
     [SELECT_MATERIAL:SKIN]&lt;br /&gt;
         [MAT_FIXED_TEMP:10600]&lt;br /&gt;
     [SELECT_MATERIAL:ALL]&lt;br /&gt;
         [HEATDAM_POINT:NONE]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Note that this makes use of DF's built-in temperature scale - you can read more about that [[Temperature|on this page]]. We're also referencing [[material definition token]]s, which we haven't gone over yet - we'll talk about making your own materials later.&lt;br /&gt;
&lt;br /&gt;
==== Creature castes ====&lt;br /&gt;
&lt;br /&gt;
Another potentially extremely powerful part of the creature raws, is the '''caste system.''' The caste system handles both true biological castes and lesser variations, such as sexes.&lt;br /&gt;
&lt;br /&gt;
To understand the true potential of the caste system, we only need to take a look at the raws for antmen, found in ``[https://github.com/DF-Wiki/DFRawFunctions/blob/master/raws/v50/creature_subterranean.txt creature_subterrenean.txt]``:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
     ...&lt;br /&gt;
     [CASTE:WORKER]&lt;br /&gt;
         [CASTE_NAME:worker ant woman:worker ant women:worker ant woman]&lt;br /&gt;
         Female, but non-breeding.&lt;br /&gt;
         [POP_RATIO:10000]&lt;br /&gt;
     [CASTE:SOLDIER]&lt;br /&gt;
         [CASTE_NAME:soldier ant woman:soldier ant women:soldier ant woman]&lt;br /&gt;
         Female, but non-breeding.&lt;br /&gt;
         [POP_RATIO:1000]&lt;br /&gt;
     [CASTE:DRONE]&lt;br /&gt;
         [MALE]&lt;br /&gt;
         [CASTE_NAME:drone ant man:drone ant men:drone ant man]&lt;br /&gt;
         [POP_RATIO:5]&lt;br /&gt;
     [CASTE:QUEEN]&lt;br /&gt;
         [FEMALE]&lt;br /&gt;
         [CASTE_NAME:queen ant woman:queen ant women:queen ant woman]&lt;br /&gt;
         [POP_RATIO:1]&lt;br /&gt;
     [SELECT_CASTE:WORKER]&lt;br /&gt;
      [SELECT_ADDITIONAL_CASTE:SOLDIER]&lt;br /&gt;
      [SELECT_ADDITIONAL_CASTE:QUEEN]&lt;br /&gt;
         [BODY:HUMANOID_4ARMS:2EYES:HEART:GUTS:BRAIN:MOUTH]&lt;br /&gt;
         [BODYGLOSS:INSECT_UPPERBODY:INSECT_LOWERBODY]&lt;br /&gt;
     [SELECT_CASTE:DRONE]&lt;br /&gt;
         [BODY:HUMANOID_4ARMS:2EYES:HEART:GUTS:BRAIN:MOUTH:2WINGS]&lt;br /&gt;
         [BODYGLOSS:INSECT_UPPERBODY:INSECT_LOWERBODY]&lt;br /&gt;
         [FLIER]&lt;br /&gt;
     [SELECT_CASTE:ALL]&lt;br /&gt;
         [BODY_DETAIL_PLAN:CHITIN_MATERIALS]&lt;br /&gt;
         [BODY_DETAIL_PLAN:CHITIN_TISSUES]&lt;br /&gt;
         [BODY_DETAIL_PLAN:EXOSKELETON_TISSUE_LAYERS:CHITIN:FAT:MUSCLE]&lt;br /&gt;
         [BODY_DETAIL_PLAN:STANDARD_HEAD_POSITIONS]&lt;br /&gt;
         [ATTACK:PUNCH:BODYPART:BY_TYPE:GRASP]&lt;br /&gt;
             [ATTACK_SKILL:GRASP_STRIKE]&lt;br /&gt;
             [ATTACK_VERB:punch:punches]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
It's evident that the process of creating and editing castes is comparable to the modifications we were making to tissues and materials earlier: A caste is declared, and modifications to the base creature are made. Declared castes can be selected and subsequently modified, again, just like tissues and materials.&lt;br /&gt;
&lt;br /&gt;
In this case, each caste is declared, given its own name, and a {{token|POP_RATIO}}, which determines how commonly a birth results in that caste - for every 10000 workers born, there'll be an average of 1000 soldiers, 5 drones and one queen. You've probably also noticed that the &amp;quot;DRONE&amp;quot; and &amp;quot;QUEEN&amp;quot; castes have the {{token|MALE}} and {{token|FEMALE}} tokens respectively - these tokens determine how breeding works. A creature without both a {{token|MALE}} caste and a {{token|FEMALE}} caste will be unable to breed (no asexually reproducing creatures yet, unfortunately). As they lack {{token|FEMALE}}, the workers and soldiers are unable to breed with the male drones.&lt;br /&gt;
&lt;br /&gt;
After this, there are some modifications to bodyparts. In this case, the drones have wings and the {{token|FLIER}} token, which the other castes lack. It's entirely possible for creatures of different castes to have completely different body structures, even to the extent that they don't resemble each other at all. If you read the section of this guide that dealt with entities, you may remember a passing mention of multi-creature civilisations and how they don't quite work as you may think they would. The castes system is your workaround. You could create a caste that is, for all intents and purposes, a human, and another caste of the same creature that acts exactly like a giant cave spider, put the creature in a civ, and get a human-spider civ. The only flaw in this approach is that the castes will interbreed and produce offspring of either caste.&lt;br /&gt;
&lt;br /&gt;
That's the most complex components of creature creation out of the way. You should find the rest trivial by comparison.&lt;br /&gt;
&lt;br /&gt;
=== Modding items ===&lt;br /&gt;
&lt;br /&gt;
Items are fairly simple to deal with. By default, each item type is contained in its own file; this may help make browsing for a specific item easier, but from a purely technical point of view, it's possible to throw all items into one file. Unfortunately, [[Item definition token]]s don't seem to be especially well-documented (at least not as well as the other object types), but you should be able to figure out most things by way of our explanations and your assumptions.&lt;br /&gt;
&lt;br /&gt;
Let's look at the entry for, of course, the thong:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [ITEM_PANTS:ITEM_PANTS_THONG]&lt;br /&gt;
 [NAME:thong:thongs]&lt;br /&gt;
 [LAYER:UNDER]&lt;br /&gt;
 [COVERAGE:25]&lt;br /&gt;
 [LAYER_SIZE:10]&lt;br /&gt;
 [LAYER_PERMIT:30]&lt;br /&gt;
 [MATERIAL_SIZE:1]&lt;br /&gt;
 [SOFT]&lt;br /&gt;
 [LEATHER]&lt;br /&gt;
 [STRUCTURAL_ELASTICITY_WOVEN_THREAD]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Most of these are pretty obvious if one compares them to the other entries in the file. There's a layer for the item, determining where it's worn; a coverage value to determine how well it protects you from cold and other things; a size token to determine how much it counts for when it's under something else; a layer permit token to determine how much can be worn under it; and a material size token to determine how much raw material it takes to make it.&lt;br /&gt;
&lt;br /&gt;
Now, if you wanted to mod these to turn them into metal thongs (ouch!), you would simply have to add {{token|METAL|armor}} to it somewhere. Simple! These tokens work by tying into material properties - some materials are designated as suitable for making hard items, some for soft, etc..&lt;br /&gt;
&lt;br /&gt;
Weapons involve a little more detail:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [ITEM_WEAPON:ITEM_WEAPON_SWORD_2H]&lt;br /&gt;
 [NAME:two-handed sword:two-handed swords]&lt;br /&gt;
 [SIZE:900]&lt;br /&gt;
 [SKILL:SWORD]&lt;br /&gt;
 [TWO_HANDED:67500]&lt;br /&gt;
 [MINIMUM_SIZE:62500]&lt;br /&gt;
 [MATERIAL_SIZE:5]&lt;br /&gt;
 [ATTACK:EDGE:100000:8000:slash:slashes:NO_SUB:1250]&lt;br /&gt;
 	[ATTACK_PREPARE_AND_RECOVER:3:3]&lt;br /&gt;
 [ATTACK:EDGE:50:4000:stab:stabs:NO_SUB:1000]&lt;br /&gt;
 	[ATTACK_PREPARE_AND_RECOVER:3:3]&lt;br /&gt;
 [ATTACK:BLUNT:100000:8000:slap:slaps:flat:1250]&lt;br /&gt;
 	[ATTACK_PREPARE_AND_RECOVER:3:3]&lt;br /&gt;
 [ATTACK:BLUNT:100:1000:strike:strikes:pommel:1000]&lt;br /&gt;
 	[ATTACK_PREPARE_AND_RECOVER:3:3]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{token|SIZE|wp}} determines how heavy the weapon is. This has a substantial effect on weapon effectiveness. {{token|SKILL|wp}} determines which skill is used in using the weapon; a list of skills can be found [[skill token|on this page]]. {{token|MINIMUM_SIZE|wp}} determines the minimum size a creature must be before the weapon can be wielded, while {{token|TWO_HANDED|wp}} determines how large a creature must be in order to wield the weapon with one hand.&lt;br /&gt;
&lt;br /&gt;
Attacks take a little more explanation. The first value determines the contact area of the weapon's attack; this should be high for slashing weapons and low for bludgeoning, piercing and poking ones. The second value determines how deep the weapon penetrates - for ``BLUNT`` attacks this value is ignored as they're not supposed to penetrate anyway, but in the case of ``EDGE`` attacks it should generally be lower for slashing attacks and higher for stabbing attacks.&lt;br /&gt;
&lt;br /&gt;
Following these are the nouns and verb used; they should be self-explanatory. Finally, we have the velocity modifier, which has a multiplying effect on the weapon's size for the purposes of determining how powerful it is in combat. But more accurate it describe distribution of momentum across length of weapon. So &amp;quot;STAB&amp;quot; perfomed with only muscular power and modifier is x1 (1000). &amp;quot;SLASH&amp;quot; performed with some rotating momentum of cutting edge, but sword is pretty balanced thru it's length and modifier is just x1.25 (1250). Axes, hammers and maces have more unbalanced mass distribution and weapon mass concentrated far from grasp, so higher modifiers.&lt;br /&gt;
&lt;br /&gt;
{{token|ATTACK_PREPARE_AND_RECOVER|weapon}} determines number of game frames to perform these actions. In vanilla, all attacks except [[whip|lashing]] use 3:3.&lt;br /&gt;
&lt;br /&gt;
Other, more miscellaneous items are generally simple and shouldn't require any further explanation.&lt;br /&gt;
&lt;br /&gt;
Once you've made an item, you just add it to the civ entry so a civilization can actually craft it, and it's done.&lt;br /&gt;
&lt;br /&gt;
=== Modding language files ===&lt;br /&gt;
{{main|Language token}}&lt;br /&gt;
&lt;br /&gt;
Let's say you added a whole new species.  Sure, you could just swipe one of the existing translation files and steal their language for your species, but that's the lazy way!  If you want to create a whole new language, it is very simple.&lt;br /&gt;
&lt;br /&gt;
First, you'd need a whole new &amp;quot;language_NAME.txt&amp;quot; file, such as &amp;quot;language_LIZARDMAN.txt&amp;quot;, along with &amp;quot;language_LIZARDMAN&amp;quot; at the top of the file, followed by ``[OBJECT:LANGUAGE]`` and ``[TRANSLATION:LIZARDMAN]``.  After that, it's just a matter of copy-pasting one of the existing language lists and editing the finished 'translated' word.  That's it! Then just add the translation link to your civ in entity_default.txt and it'll be added to the game on worldgen. &lt;br /&gt;
&lt;br /&gt;
All raw files use [[Character table|Code Page 437]] encoding, and you should make sure you are editing these files in that format. As many text editors default to UTF-8, some characters with diacritical marks may fail to show properly. Saving one of the default language raw files in this state will overwrite these characters with the Unicode question mark, which will corrupt the file. To fix this  replace the file with a clean one downloaded from the distributed version of DF.&lt;br /&gt;
&lt;br /&gt;
(Note that the name of the file doesn't actually matter; but it's typical to name the file after a creature if it's exclusive to their civilization.)&lt;br /&gt;
&lt;br /&gt;
=== Modding body parts ===&lt;br /&gt;
&lt;br /&gt;
Imagine you have this fantastic idea for a multi-tentacled winged spider-monster. Sounds great! But in order to make this a reality you may need to create a new set of body parts for it. That's no problem! Making body parts is easy, though it may look complicated at first. &lt;br /&gt;
&lt;br /&gt;
All of the default body definitions are located in ``[https://github.com/DF-Wiki/DFRawFunctions/blob/master/raws/v50/body_default.txt body_default.txt]`` and then linked to a creature in the creature's entry. We've talked about how bodyparts make up creatures earlier, in the creature section. You can mix and match them in the creature entry and it makes no difference, as long as they're there: each body part will link itself to the appropriate connection automatically when the creature is first created.&lt;br /&gt;
&lt;br /&gt;
Body parts work by sections: you can add as many sections as you want to a body part definition, but generally you should keep it fairly low for ease of use. Each body section entry is in the, very simple, format:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [BODY:BODYNAME]&lt;br /&gt;
 [BP:TOKENID:name][TOKENSGOHERE][DEFAULT_RELSIZE:][CATEGORY:WHATEVER]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The most important tokens are {{token|CONTYPE|body}} and {{token|CON|body}}: {{token|CONTYPE|body}} means the body part in question is connected to a certain ''type'' of body part, while {{token|CON|body}} means it's connected to a ''specific'' one. &amp;quot;TOKENID&amp;quot; is yet another identifier, which should be unique, as it's referenced every time something uses {{token|CON|body}} or ``BY_TOKEN``. {{token|DEFAULT_RELSIZE|body}} defines, of course, what the body part's size is in relation to the other parts. {{token|CATEGORY|body}} defines a category for the part, which can be unique or shared with other parts. This is referenced whenever ``BY_CATEGORY`` is used.&lt;br /&gt;
&lt;br /&gt;
A list of body part tokens can be found [[body token|here]].&lt;br /&gt;
&lt;br /&gt;
Let's take a simple example, a head:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [BODY:BASIC_HEAD]&lt;br /&gt;
 [BP:HD:head:STP][CONTYPE:UPPERBODY][HEAD][CATEGORY:HEAD]&lt;br /&gt;
 [DEFAULT_RELSIZE:300]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
It connects directly to an upper body.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [BODY:2EYES]&lt;br /&gt;
     [BP:REYE:right eye:STP][CONTYPE:HEAD][SIGHT][EMBEDDED][SMALL][RIGHT][CATEGORY:EYE]&lt;br /&gt;
         [DEFAULT_RELSIZE:5]&lt;br /&gt;
     [BP:LEYE:left eye:STP][CONTYPE:HEAD][SIGHT][EMBEDDED][SMALL][LEFT][CATEGORY:EYE]&lt;br /&gt;
         [DEFAULT_RELSIZE:5]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are a pair of eyes, connecting to the head.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [BODY:HUMANOID]&lt;br /&gt;
     [BP:UB:upper body:upper bodies][UPPERBODY][CATEGORY:BODY_UPPER]&lt;br /&gt;
         [DEFAULT_RELSIZE:1000]&lt;br /&gt;
     [BP:LB:lower body:lower bodies][CON:UB][LOWERBODY][CATEGORY:BODY_LOWER]&lt;br /&gt;
         [DEFAULT_RELSIZE:1000]&lt;br /&gt;
     [BP:HD:head:STP][CON:UB][HEAD][CATEGORY:HEAD]&lt;br /&gt;
         [DEFAULT_RELSIZE:300]&lt;br /&gt;
     [BP:RUA:right upper arm:STP][CON:UB][LIMB][RIGHT][CATEGORY:ARM_UPPER]&lt;br /&gt;
         [DEFAULT_RELSIZE:200]&lt;br /&gt;
     [BP:LUA:left upper arm:STP][CON:UB][LIMB][LEFT][CATEGORY:ARM_UPPER]&lt;br /&gt;
         [DEFAULT_RELSIZE:200]&lt;br /&gt;
     [BP:RLA:right lower arm:STP][CON:RUA][LIMB][RIGHT][CATEGORY:ARM_LOWER]&lt;br /&gt;
         [DEFAULT_RELSIZE:200]&lt;br /&gt;
     [BP:LLA:left lower arm:STP][CON:LUA][LIMB][LEFT][CATEGORY:ARM_LOWER]&lt;br /&gt;
         [DEFAULT_RELSIZE:200]&lt;br /&gt;
     [BP:RH:right hand:STP][CON:RLA][GRASP][RIGHT][CATEGORY:HAND]&lt;br /&gt;
         [DEFAULT_RELSIZE:80]&lt;br /&gt;
     [BP:LH:left hand:STP][CON:LLA][GRASP][LEFT][CATEGORY:HAND]&lt;br /&gt;
         [DEFAULT_RELSIZE:80]&lt;br /&gt;
     [BP:RUL:right upper leg:STP][CON:LB][LIMB][RIGHT][CATEGORY:LEG_UPPER]&lt;br /&gt;
         [DEFAULT_RELSIZE:500]&lt;br /&gt;
     [BP:LUL:left upper leg:STP][CON:LB][LIMB][LEFT][CATEGORY:LEG_UPPER]&lt;br /&gt;
         [DEFAULT_RELSIZE:500]&lt;br /&gt;
     [BP:RLL:right lower leg:STP][CON:RUL][LIMB][RIGHT][CATEGORY:LEG_LOWER]&lt;br /&gt;
         [DEFAULT_RELSIZE:400]&lt;br /&gt;
     [BP:LLL:left lower leg:STP][CON:LUL][LIMB][LEFT][CATEGORY:LEG_LOWER]&lt;br /&gt;
         [DEFAULT_RELSIZE:400]&lt;br /&gt;
     [BP:RF:right foot:right feet][CON:RLL][STANCE][RIGHT][CATEGORY:FOOT]&lt;br /&gt;
         [DEFAULT_RELSIZE:120]&lt;br /&gt;
     [BP:LF:left foot:left feet][CON:LLL][STANCE][LEFT][CATEGORY:FOOT]&lt;br /&gt;
         [DEFAULT_RELSIZE:120]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An entire humanoid body. The foot bone's connected to the ankle bone...&lt;br /&gt;
&lt;br /&gt;
``[[Bodygloss|[BODYGLOSS]]]`` entries, which you can sometimes find applied to creature entries, are simply replacement words for specific part name strings in a creature. For example, you'll find the bodygloss definition ``[BODYGLOSS:CLAW_HAND:hand:claw]`` in ``[https://github.com/DF-Wiki/DFRawFunctions/blob/master/raws/v50/body_default.txt body_default.txt]``; you can then use this in a creature via ``[BODYGLOSS:CLAW_HAND]`` and it'll replace all instances of &amp;quot;hand&amp;quot; with &amp;quot;claw&amp;quot; in that creature. Be warned, however—if you were to, say make a bodygloss ``[BODYGLOSS:EARSTALK:ear:stalk:ears:stalk]``, it would not only change &amp;quot;ear&amp;quot; and &amp;quot;ears&amp;quot; to &amp;quot;stalk&amp;quot; and &amp;quot;stalks&amp;quot;, it would also change &amp;quot;h'''ear'''t&amp;quot; to &amp;quot;h'''stalk'''t&amp;quot;! For all intents and purposes the body part will still function as the proper part, though.&lt;br /&gt;
&lt;br /&gt;
=== Modding plants ===&lt;br /&gt;
&lt;br /&gt;
Plants are, again, not unlike creatures. With what you've learned so far in regard to tokens and the materials system, running through the notes included in ``[https://github.com/DF-Wiki/DFRawFunctions/blob/master/raws/v50/plant_standard.txt plant_standard.txt]`` should explain most things. Here's the list of [[Plant token]]s.&lt;br /&gt;
&lt;br /&gt;
Below is the [[plump helmet]] raw description:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [PLANT:MUSHROOM_HELMET_PLUMP]&lt;br /&gt;
 	[NAME:plump helmet][NAME_PLURAL:plump helmets][ADJ:plump helmet]&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]&lt;br /&gt;
 		[MATERIAL_VALUE:2]&lt;br /&gt;
 	[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]&lt;br /&gt;
 		[EDIBLE_VERMIN]&lt;br /&gt;
 		[EDIBLE_RAW]&lt;br /&gt;
 		[EDIBLE_COOKED]&lt;br /&gt;
 	[PICKED_TILE:6][PICKED_COLOR:5:0:0]&lt;br /&gt;
 	[GROWDUR:300][VALUE:2]&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:DRINK:PLANT_ALCOHOL_TEMPLATE]&lt;br /&gt;
 		[STATE_NAME_ADJ:ALL_SOLID:frozen dwarven wine]&lt;br /&gt;
 		[STATE_NAME_ADJ:LIQUID:dwarven wine]&lt;br /&gt;
 		[STATE_NAME_ADJ:GAS:boiling dwarven wine]&lt;br /&gt;
		[STATE_COLOR:ALL:AMETHYST]&lt;br /&gt;
 		[MATERIAL_VALUE:2]&lt;br /&gt;
 		[DISPLAY_COLOR:5:0:0]&lt;br /&gt;
 		[EDIBLE_RAW]&lt;br /&gt;
 		[EDIBLE_COOKED]&lt;br /&gt;
 		[PREFIX:NONE]&lt;br /&gt;
 	[DRINK:LOCAL_PLANT_MAT:DRINK]&lt;br /&gt;
 &lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:SEED:SEED_TEMPLATE]&lt;br /&gt;
 		[MATERIAL_VALUE:1]&lt;br /&gt;
 		[EDIBLE_VERMIN]&lt;br /&gt;
 		[EDIBLE_COOKED]&lt;br /&gt;
 	[SEED:plump helmet spawn:plump helmet spawn:4:0:1:LOCAL_PLANT_MAT:SEED]&lt;br /&gt;
 	[SPRING][SUMMER][AUTUMN][WINTER]&lt;br /&gt;
 	[FREQUENCY:100]&lt;br /&gt;
 	[CLUSTERSIZE:5]&lt;br /&gt;
 	[PREFSTRING:rounded tops]&lt;br /&gt;
 	[WET][DRY]&lt;br /&gt;
 	[BIOME:SUBTERRANEAN_WATER]&lt;br /&gt;
 	[UNDERGROUND_DEPTH:1:3]&lt;br /&gt;
 	[SHRUB_TILE:58]&lt;br /&gt;
 	[DEAD_SHRUB_TILE:58]&lt;br /&gt;
 	[SHRUB_COLOR:5:0:0]&lt;br /&gt;
 	[DEAD_SHRUB_COLOR:0:0:1]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Let's look at this line by line:&amp;lt;br&amp;gt;&lt;br /&gt;
First, we define its file name. In this case it's &amp;quot;MUSHROOM_HELMET_PLUMP&amp;quot;. Next we define its in-game name, &amp;quot;plump helmet&amp;quot; and its adjective for if you were to craft with its materials (e.g. {{DFtext|plump helmet plant earrings}}).&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]&lt;br /&gt;
 		[MATERIAL_VALUE:2]&lt;br /&gt;
 	[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This defines the structure and material of the plant. It references &amp;quot;STRUCTURAL_PLANT_TEMPLATE&amp;quot; in the first line, so if you were to say, add wings to the template, the plump helmet plant would be winged. This is for the plant itself, not the end plump helmets.&lt;br /&gt;
&lt;br /&gt;
After that we get our edible tokens. These say that [[vermin]] can eat the plant, and it can be eaten raw or cooked by your dwarves. So if you wanted a plant that vermin would leave alone, you'd remove the {{token|EDIBLE_VERMIN|md}} token.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 		[EDIBLE_VERMIN]&lt;br /&gt;
 		[EDIBLE_RAW]&lt;br /&gt;
 		[EDIBLE_COOKED]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, {{token|PICKED_TILE|p|6}} is the character (6, or ♠) shown when the crop is harvested. See [[Main:Character table|character table]] for a table of usable tiles. {{token|PICKED_COLOR|p|5:0:0}} is the [[color]] used for the crop's tile when harvested. It's in a ``&amp;lt;foreground&amp;gt;:&amp;lt;background&amp;gt;:&amp;lt;brightness&amp;gt;`` format, resulting in a purple spade: {{Tile|♠|5:0}}&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[PICKED_TILE:6][PICKED_COLOR:5:0:0]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{token|GROWDUR|p|300}} is how long it takes for your crop to grow. There are 1008 growdur units in a [[Time|season]]. You can calculate this value [https://jose96xd.github.io/DF_Tools/Modules/TimeConverter.html here].&amp;lt;br&amp;gt;&lt;br /&gt;
{{token|VALUE|p|2}} is the [[item value]] of the harvested plant (default 1). &lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[GROWDUR:300][VALUE:2]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This defines the plant's alcohol states. {{token|STATE_NAME_ADJ|ALL_SOLID|md}} is the frozen name, followed is the actual drink name, and then its boiling name. Drinks can evaporate and freeze in Scorching or Freezing [[Temperature|climates]], respectively.&lt;br /&gt;
&lt;br /&gt;
{{token|DISPLAY_COLOR|md}} is ASCII color, and {{token|STATE_COLOR|md}} is a [[Color#Color tokens|named color]] linked to a graphical [[palette]].&lt;br /&gt;
&lt;br /&gt;
{{token|EDIBLE_RAW|md}} and {{token|EDIBLE_COOKED|md}} are saying you can drink the alcohol raw or cooked.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:DRINK:PLANT_ALCOHOL_TEMPLATE]&lt;br /&gt;
 		[STATE_NAME_ADJ:ALL_SOLID:frozen dwarven wine]&lt;br /&gt;
 		[STATE_NAME_ADJ:LIQUID:dwarven wine]&lt;br /&gt;
 		[STATE_NAME_ADJ:GAS:boiling dwarven wine]&lt;br /&gt;
		[STATE_COLOR:ALL:AMETHYST]&lt;br /&gt;
 		[MATERIAL_VALUE:2]&lt;br /&gt;
 		[DISPLAY_COLOR:5:0:0]&lt;br /&gt;
 		[EDIBLE_RAW]&lt;br /&gt;
 		[EDIBLE_COOKED]&lt;br /&gt;
 		[PREFIX:NONE]&lt;br /&gt;
 	[DRINK:LOCAL_PLANT_MAT:DRINK]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
After that we get our seed template:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:SEED:SEED_TEMPLATE]&lt;br /&gt;
 		[MATERIAL_VALUE:1]&lt;br /&gt;
 		[EDIBLE_VERMIN]&lt;br /&gt;
 		[EDIBLE_COOKED]&lt;br /&gt;
 	[SEED:plump helmet spawn:plump helmet spawn:4:0:1:LOCAL_PLANT_MAT:SEED]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
And all this says is that the seeds may be eaten by vermin or cooked. Then it gives the name of our plant's seed, its plural name, its foreground, background, and brightness colors, followed by its seed material; said material should have {{token|SEED_MAT|p}} to permit proper stockpiling.&lt;br /&gt;
&lt;br /&gt;
And finally for the last chunk we have this:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[SPRING][SUMMER][AUTUMN][WINTER]&lt;br /&gt;
 	[FREQUENCY:100]&lt;br /&gt;
 	[CLUSTERSIZE:5]&lt;br /&gt;
 	[PREFSTRING:rounded tops]&lt;br /&gt;
 	[WET][DRY]&lt;br /&gt;
 	[BIOME:SUBTERRANEAN_WATER]&lt;br /&gt;
 	[UNDERGROUND_DEPTH:1:3]&lt;br /&gt;
 	[SHRUB_TILE:58]&lt;br /&gt;
 	[DEAD_SHRUB_TILE:58]&lt;br /&gt;
 	[SHRUB_COLOR:5:0:0]&lt;br /&gt;
 	[DEAD_SHRUB_COLOR:0:0:1]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
First we define what season(s) the plant may grow in, then we define how frequently this plant is generated in a particular area, followed by how many harvested crop items may come from 1 plant. {{token|PREFSTRING|p}} is what your dwarves [[Preference|like]] about the plant, which in this case is the rounded tops. {{token|WET|p}}{{token|DRY|p}} are the conditions under which the plant can grow. Wet means it can grow close to water, dry means it can grow away from water. This does not mean you can grow the plant on dry stone however. It is just for natural spawning of the plant.&amp;lt;br&amp;gt;&lt;br /&gt;
{{token|BIOME|p}} is what [[Biome token|biome]] the plant grows in. {{token|UNDERGROUND_DEPTH:Minimum:Maximum|p}} Is the highest and lowest cavern levels that the plant can appear in if its biome is subterranean. Dwarven civilizations will only export (via the embark screen or caravans) things that are available at depth 1. Defaults to ``0:0`` (surface only).&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, {{token|SHRUB_TILE|p}} is the character used for the naturally spawning [[shrub]] of this plant, {{token|DEAD_SHRUB|p}} is the dead shrub character. {{token|SHRUB_COLOR|p}} Is the shrub's color, and {{token|DEAD_SHRUB_COLOR|p}} is, of course, the dead shrub's color.&lt;br /&gt;
&lt;br /&gt;
Plump helmet shrubs look like {{Tile|:|5:0}}.&lt;br /&gt;
&lt;br /&gt;
While this may or may not look like a lot of tokens, it's very easy. Just copy an existing plant and edit it to your new plant.&amp;lt;br&amp;gt;&lt;br /&gt;
For the rest of the tokens, see [[plant token]].&lt;br /&gt;
&lt;br /&gt;
==== Trees ====&lt;br /&gt;
&lt;br /&gt;
[[Tree]]s are another kind of plant that can be modded. Being plants, they use many of the same tokens as edible crops, but differ in having a few tree-specific tokens.&lt;br /&gt;
&lt;br /&gt;
Below is the [[apple|apple tree]] raw description:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
  [PLANT:APPLE] malus sieversii&lt;br /&gt;
  	[NAME:apple tree][NAME_PLURAL:apple trees][ADJ:apple tree]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]&lt;br /&gt;
  	[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:WOOD:WOOD_TEMPLATE]&lt;br /&gt;
  		[STATE_NAME:ALL_SOLID:apple wood]&lt;br /&gt;
  		[STATE_ADJ:ALL_SOLID:apple wood]&lt;br /&gt;
  		[PREFIX:NONE]&lt;br /&gt;
  		[SOLID_DENSITY:745] *** http://www.csudh.edu/oliver/chemdata/woods.htm&lt;br /&gt;
  		[STATE_COLOR:ALL_SOLID:CHOCOLATE] *** http://www.forestryforum.com/board/index.php/topic,61009.0.html&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:DRINK:PLANT_ALCOHOL_TEMPLATE]&lt;br /&gt;
    		[STATE_NAME_ADJ:ALL_SOLID:frozen apple cider]&lt;br /&gt;
  		[STATE_NAME_ADJ:LIQUID:apple cider]&lt;br /&gt;
  		[STATE_NAME_ADJ:GAS:boiling apple cider]&lt;br /&gt;
  		[MATERIAL_VALUE:2]&lt;br /&gt;
  		[DISPLAY_COLOR:6:0:0]&lt;br /&gt;
  		[EDIBLE_RAW]&lt;br /&gt;
    		[EDIBLE_COOKED]&lt;br /&gt;
  		[PREFIX:NONE]&lt;br /&gt;
  	[DRINK:LOCAL_PLANT_MAT:DRINK]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:LEAF:LEAF_TEMPLATE]&lt;br /&gt;
  		[STATE_COLOR:ALL:GREEN]&lt;br /&gt;
  		[DISPLAY_COLOR:2:0:0]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:FLOWER:FLOWER_TEMPLATE]&lt;br /&gt;
  		[STATE_COLOR:ALL:ROSE]&lt;br /&gt;
  		[DISPLAY_COLOR:5:0:1]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:FRUIT:FRUIT_TEMPLATE]&lt;br /&gt;
  		[STATE_COLOR:ALL:RUST]&lt;br /&gt;
  		[DISPLAY_COLOR:4:0:0]&lt;br /&gt;
  		[EDIBLE_VERMIN]&lt;br /&gt;
  		[EDIBLE_RAW]&lt;br /&gt;
  		[EDIBLE_COOKED]&lt;br /&gt;
  		[STOCKPILE_PLANT_GROWTH]&lt;br /&gt;
  		[MATERIAL_REACTION_PRODUCT:DRINK_MAT:LOCAL_PLANT_MAT:DRINK]&lt;br /&gt;
  		[MATERIAL_REACTION_PRODUCT:SEED_MAT:LOCAL_PLANT_MAT:SEED]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:SEED:SEED_TEMPLATE]&lt;br /&gt;
  		[MATERIAL_VALUE:1]&lt;br /&gt;
  		[EDIBLE_VERMIN]&lt;br /&gt;
  	[SEED:apple seed:apple seeds:0:0:1:LOCAL_PLANT_MAT:SEED]&lt;br /&gt;
  	[TREE:LOCAL_PLANT_MAT:WOOD][TREE_TILE:5]&lt;br /&gt;
  	[TRUNK_PERIOD:10]&lt;br /&gt;
  	[HEAVY_BRANCH_DENSITY:25]&lt;br /&gt;
  	[BRANCH_DENSITY:50]&lt;br /&gt;
  	[MAX_TRUNK_HEIGHT:3]&lt;br /&gt;
  	[HEAVY_BRANCH_RADIUS:1]&lt;br /&gt;
  	[BRANCH_RADIUS:2]&lt;br /&gt;
  	[TRUNK_BRANCHING:2]&lt;br /&gt;
  	[MAX_TRUNK_DIAMETER:1]&lt;br /&gt;
  	[TRUNK_WIDTH_PERIOD:200]&lt;br /&gt;
  	[ROOT_DENSITY:5]&lt;br /&gt;
  	[ROOT_RADIUS:3]&lt;br /&gt;
  	[STANDARD_TILE_NAMES]&lt;br /&gt;
  	[PREFSTRING:fruit]&lt;br /&gt;
  	[DRY]&lt;br /&gt;
  	[BIOME:ANY_TEMPERATE]&lt;br /&gt;
  	[SAPLING]&lt;br /&gt;
  	[GROWTH:LEAVES]&lt;br /&gt;
  		[GROWTH_NAME:apple leaf:apple leaves]&lt;br /&gt;
  		[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:LEAF]&lt;br /&gt;
  		[GROWTH_DENSITY:1000]&lt;br /&gt;
  		[GROWTH_HOST_TILE:BRANCHES_AND_TWIGS]&lt;br /&gt;
  		[GROWTH_HOST_TILE:SAPLING]&lt;br /&gt;
  		[GROWTH_TIMING:0:300000]&lt;br /&gt;
  		[GROWTH_PRINT:0:6:2:0:0:0:209999:1]&lt;br /&gt;
  		[GROWTH_PRINT:0:6:6:0:1:210000:239999:1] autumn color&lt;br /&gt;
  		[GROWTH_PRINT:0:6:4:0:1:240000:269999:1]&lt;br /&gt;
 		[GROWTH_PRINT:0:6:4:0:0:270000:300000:1]&lt;br /&gt;
   		[GROWTH_DROPS_OFF]&lt;br /&gt;
  	[GROWTH:FLOWERS]&lt;br /&gt;
  		[GROWTH_NAME:apple flower:STP]&lt;br /&gt;
  		[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:FLOWER]&lt;br /&gt;
  		[GROWTH_DENSITY:1000]&lt;br /&gt;
  		[GROWTH_HOST_TILE:BRANCHES_AND_TWIGS]&lt;br /&gt;
  		[GROWTH_TIMING:60000:119999]&lt;br /&gt;
  		[GROWTH_PRINT:5:5:5:0:1:60000:119999:2]&lt;br /&gt;
 	[GROWTH:FRUIT]&lt;br /&gt;
  		[GROWTH_NAME:apple:STP]&lt;br /&gt;
  		[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:FRUIT]&lt;br /&gt;
  		[GROWTH_DENSITY:1000]&lt;br /&gt;
  		[GROWTH_HOST_TILE:BRANCHES_AND_TWIGS]&lt;br /&gt;
   		[GROWTH_TIMING:120000:200000]&lt;br /&gt;
  		[GROWTH_DROPS_OFF_NO_CLOUD]&lt;br /&gt;
  		[GROWTH_PRINT:'%':'%':4:0:0:120000:200000:3]&lt;br /&gt;
  		[GROWTH_HAS_SEED]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The first lines are the same as the ones we saw being used in the plump helmets, defining the plant object, giving it a name, and setting up the basic materials.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [PLANT:APPLE] malus sieversii&lt;br /&gt;
 	[NAME:apple tree][NAME_PLURAL:apple trees][ADJ:apple tree]&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]&lt;br /&gt;
 	[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Adding the token {{token|DISPLAY_COLOR|md}} (ASCII) / {{token|STATE_COLOR|md}} ([[graphics]]) directly after {{token|USE_MATERIAL_TEMPLATE|plant}} would allow us to change the color of the tree.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
        [USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]&lt;br /&gt;
        	[DISPLAY_COLOR:1:0:0]&lt;br /&gt;
 	[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
would give us a {{DFtext|dark blue|1:0}} apple tree. This method is used by the game by [[birch|birches]] and [[spore tree|various]] [[nether-cap|underground]] [[blood thorn|trees]].&lt;br /&gt;
&lt;br /&gt;
Next come the definitions of various other materials used by the tree:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
        [USE_MATERIAL_TEMPLATE:WOOD:WOOD_TEMPLATE]&lt;br /&gt;
  		[STATE_NAME:ALL_SOLID:apple wood]&lt;br /&gt;
  		[STATE_ADJ:ALL_SOLID:apple wood]&lt;br /&gt;
  		[PREFIX:NONE]&lt;br /&gt;
  		[SOLID_DENSITY:745] *** http://www.csudh.edu/oliver/chemdata/woods.htm&lt;br /&gt;
  		[STATE_COLOR:ALL_SOLID:CHOCOLATE] *** http://www.forestryforum.com/board/index.php/topic,61009.0.html&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:DRINK:PLANT_ALCOHOL_TEMPLATE]&lt;br /&gt;
    		[STATE_NAME_ADJ:ALL_SOLID:frozen apple cider]&lt;br /&gt;
  		[STATE_NAME_ADJ:LIQUID:apple cider]&lt;br /&gt;
  		[STATE_NAME_ADJ:GAS:boiling apple cider]&lt;br /&gt;
  		[MATERIAL_VALUE:2]&lt;br /&gt;
  		[DISPLAY_COLOR:6:0:0]&lt;br /&gt;
  		[EDIBLE_RAW]&lt;br /&gt;
    		[EDIBLE_COOKED]&lt;br /&gt;
  		[PREFIX:NONE]&lt;br /&gt;
  	[DRINK:LOCAL_PLANT_MAT:DRINK]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:LEAF:LEAF_TEMPLATE]&lt;br /&gt;
  		[STATE_COLOR:ALL:GREEN]&lt;br /&gt;
  		[DISPLAY_COLOR:2:0:0]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:FLOWER:FLOWER_TEMPLATE]&lt;br /&gt;
  		[STATE_COLOR:ALL:ROSE]&lt;br /&gt;
  		[DISPLAY_COLOR:5:0:1]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:FRUIT:FRUIT_TEMPLATE]&lt;br /&gt;
  		[STATE_COLOR:ALL:RUST]&lt;br /&gt;
  		[DISPLAY_COLOR:4:0:0]&lt;br /&gt;
  		[EDIBLE_VERMIN]&lt;br /&gt;
  		[EDIBLE_RAW]&lt;br /&gt;
  		[EDIBLE_COOKED]&lt;br /&gt;
  		[STOCKPILE_PLANT_GROWTH]&lt;br /&gt;
  		[MATERIAL_REACTION_PRODUCT:DRINK_MAT:LOCAL_PLANT_MAT:DRINK]&lt;br /&gt;
  		[MATERIAL_REACTION_PRODUCT:SEED_MAT:LOCAL_PLANT_MAT:SEED]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:SEED:SEED_TEMPLATE]&lt;br /&gt;
  		[MATERIAL_VALUE:1]&lt;br /&gt;
  		[EDIBLE_VERMIN]&lt;br /&gt;
  	[SEED:apple seed:apple seeds:0:0:1:LOCAL_PLANT_MAT:SEED]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From them, we get to know what the parts of the tree can be used for, as well as how they will appear when separated from the tree. Any alterations that can be done to materials normally can be done here, such as changing the value or adding a [[syndrome]].&lt;br /&gt;
&lt;br /&gt;
 	[TREE:LOCAL_PLANT_MAT:WOOD][TREE_TILE:5]&lt;br /&gt;
&lt;br /&gt;
{{token|TREE|p}} is what turns your plant object into an actual tree. The following argument describes what material the harvested logs should be made of. If ``NONE``, the felled tree will give no logs. {{token|TREE_TILE|p}} is the tile the tree shows up as on the world map, in this case {{Tile|♣|2:1}}.&lt;br /&gt;
&lt;br /&gt;
Note that all vanilla trees (that give logs) use the &amp;quot;WOOD&amp;quot; material defined above as the argument for {{token|TREE|p}}, as opposed to the &amp;quot;STRUCTURAL&amp;quot; material. Thus, any changes to the properties of the wood harvested should be done to the &amp;quot;WOOD&amp;quot; material.&lt;br /&gt;
&lt;br /&gt;
The following tokens decide the dimensions of the tree, and how it grows.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
    [TRUNK_PERIOD:10]&lt;br /&gt;
 	[HEAVY_BRANCH_DENSITY:25]&lt;br /&gt;
 	[BRANCH_DENSITY:50]&lt;br /&gt;
 	[MAX_TRUNK_HEIGHT:3]&lt;br /&gt;
 	[HEAVY_BRANCH_RADIUS:1]&lt;br /&gt;
 	[BRANCH_RADIUS:2]&lt;br /&gt;
 	[TRUNK_BRANCHING:2]&lt;br /&gt;
 	[MAX_TRUNK_DIAMETER:1]&lt;br /&gt;
 	[TRUNK_WIDTH_PERIOD:200]&lt;br /&gt;
 	[ROOT_DENSITY:5]&lt;br /&gt;
 	[ROOT_RADIUS:3]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{token|TRUNK_PERIOD|p}} and {{token|TRUNK_WIDTH_PERIOD|p}} determine how long it takes for the trunk to grow one tile taller respectively wider, in years. {{token|MAX_TRUNK_HEIGHT|p|3}} and {{token|MAX_TRUNK_DIAMETER|p|1}} determine the maximum value the above can reach. {{token|TRUNK_BRANCHING|p}} decides how &amp;quot;curvy&amp;quot; the tree is, with {{token|TRUNK_BRANCHING|p|0}} meaning the tree is entirely straight. &lt;br /&gt;
&lt;br /&gt;
{{token|HEAVY_BRANCH_DENSITY|p|25}},  {{token|HEAVY_BRANCH_RADIUS|p|1}}, {{token|BRANCH_DENSITY|p|50}}, {{token|BRANCH_RADIUS|p|2}}, {{token|ROOT_DENSITY|p|5}}, and {{token|ROOT_RADIUS|p|3}} determine the density (how many are there, integer ranging 0-100) and radius (in tiles) away from the trunk, of heavy branches, normal branches and roots respectively.&lt;br /&gt;
&lt;br /&gt;
{{token|STANDARD_TILE_NAMES|p}} makes the tree use standard names for the trunk, branches etc. Otherwise custom ones can be used. (see [[Plant_token|full plant token list]])&lt;br /&gt;
&lt;br /&gt;
{{token|SAPLING|p}} ensures saplings of this tree are called &amp;quot;[tree name] sapling&amp;quot;, instead of the standard &amp;quot;young [tree name]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Lastly, we are introduced to the {{token|GROWTH|p}} token. {{token|GROWTH|p}} defines growths growing on a plant, in this case our apple tree. Apple trees have three growths: leaves, flowers and fruits.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
  [GROWTH:FRUIT]&lt;br /&gt;
 		[GROWTH_NAME:apple:STP]&lt;br /&gt;
 		[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:FRUIT]&lt;br /&gt;
 		[GROWTH_DENSITY:1000]&lt;br /&gt;
 		[GROWTH_HOST_TILE:BRANCHES_AND_TWIGS]&lt;br /&gt;
  		[GROWTH_TIMING:120000:200000]&lt;br /&gt;
 		[GROWTH_DROPS_OFF_NO_CLOUD]&lt;br /&gt;
 		[GROWTH_PRINT:'%':'%':4:0:0:120000:200000:3]&lt;br /&gt;
 		[GROWTH_HAS_SEED]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First comes the name of the growth. Then, with {{token|GROWTH_ITEM|p}}, what kind of growth it is, in this case a {{token|PLANT_GROWTH|i}} made out of the local &amp;quot;FRUIT&amp;quot; material. {{token|GROWTH_DENSITY|p}} says how densely the growth grows, and {{token|GROWTH_HOST_TILE|p}} where on the tree it grows. {{token|GROWTH_TIMING|p}} decides when the growth appears, in [[Time|annual ticks]]. The growth then drops off, leaving no clouds (items to be picked up by your dwarves). {{token|GROWTH_PRINT|p}} sets it to look like {{Tile|%|4:0}}, and {{token|GROWTH_HAS_SEED|p}} implies that eating this growth will leave you with a seed.&lt;br /&gt;
&lt;br /&gt;
=== Workshops ===&lt;br /&gt;
&lt;br /&gt;
Workshops are raw-designed pretty differently from everything else in the game, being buildable structures rather than items or methods to gain items. However, they are fairly simple. For example, here's the raw for the [[soap maker's workshop]]:&lt;br /&gt;
&lt;br /&gt;
{{code|code=&lt;br /&gt;
[BUILDING_WORKSHOP:SOAP_MAKER]&lt;br /&gt;
	[NAME:Soap Maker's Workshop]&lt;br /&gt;
	[NAME_COLOR:7:0:1]&lt;br /&gt;
	[DIM:3:3]&lt;br /&gt;
	[WORK_LOCATION:2:2]&lt;br /&gt;
	[BUILD_LABOR:SOAP_MAKER]&lt;br /&gt;
	[BUILD_KEY:CUSTOM_SHIFT_P]&lt;br /&gt;
	[BLOCK:1:0:0:0] workbenches no longer block&lt;br /&gt;
	[BLOCK:2:0:0:0]&lt;br /&gt;
	[BLOCK:3:0:0:0]&lt;br /&gt;
	[TILE:0:1:' ':' ':150]&lt;br /&gt;
	[TILE:0:2:' ':' ':'/']&lt;br /&gt;
	[TILE:0:3:'-':' ':' ']&lt;br /&gt;
	[COLOR:0:1:0:0:0:0:0:0:6:0:0]&lt;br /&gt;
	[COLOR:0:2:0:0:0:0:0:0:6:0:0]&lt;br /&gt;
	[COLOR:0:3:6:0:0:0:0:0:0:0:0]&lt;br /&gt;
	[TILE:1:1:' ':' ':'=']&lt;br /&gt;
	[TILE:1:2:'-':' ':8]&lt;br /&gt;
	[TILE:1:3:' ':' ':150]&lt;br /&gt;
	[COLOR:1:1:0:0:0:0:0:0:6:0:0]&lt;br /&gt;
	[COLOR:1:2:6:0:0:0:0:0:6:0:0]&lt;br /&gt;
	[COLOR:1:3:0:0:0:0:0:0:6:0:0]&lt;br /&gt;
	[TILE:2:1:'-':' ':8]&lt;br /&gt;
	[TILE:2:2:' ':' ':8]&lt;br /&gt;
	[TILE:2:3:' ':150:' ']&lt;br /&gt;
	[COLOR:2:1:6:0:0:0:0:0:6:0:0]&lt;br /&gt;
	[COLOR:2:2:0:0:0:0:0:0:6:0:0]&lt;br /&gt;
	[COLOR:2:3:0:0:0:6:0:0:0:0:0]&lt;br /&gt;
	[TILE:3:1:150:' ':8]&lt;br /&gt;
	[TILE:3:2:' ':' ':8]&lt;br /&gt;
	[TILE:3:3:' ':240:' ']&lt;br /&gt;
	[COLOR:3:1:6:0:0:0:0:0:6:7:0]&lt;br /&gt;
	[COLOR:3:2:0:0:0:0:0:0:6:7:0]&lt;br /&gt;
	[COLOR:3:3:0:0:0:7:0:1:0:0:0]&lt;br /&gt;
	[BUILD_ITEM:1:BUCKET:NONE:NONE:NONE][EMPTY][CAN_USE_ARTIFACT]&lt;br /&gt;
	[BUILD_ITEM:1:NONE:NONE:NONE:NONE][BUILDMAT][WORTHLESS_STONE_ONLY][CAN_USE_ARTIFACT]&lt;br /&gt;
	[TOOLTIP:Use tallow (rendered fat) or oil here with lye to make soap.]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A line-by-line breakdown:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[NAME:Soap Maker's Workshop]&lt;br /&gt;
 	[NAME_COLOR:7:0:1]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These define the name of the workshop ({{DFtext|Soap Maker's Workshop|7:1}}) and [[color]] of the workshop's name when examined.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[DIM:3:3]&lt;br /&gt;
 	[WORK_LOCATION:2:2]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{token|DIM|b}} refers to how large the workshop will be, in this case 3 wide, 3 tall. {{token|WORK_LOCATION|b}} tells where the creature using it (usually a dwarf) will work, numbered from the top right--in this case, ``2:2``, or the middle. Multiple work locations can be defined, even outside the dim.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[BUILD_LABOR:SOAP_MAKER]&lt;br /&gt;
 	[BUILD_KEY:CUSTOM_SHIFT_S]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These refer to the worker required to build it ([[Soaper|soap maker]]) and the key used to build it in the workshop menu (capital {{k|S}}).&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
  	[BLOCK:1:0:0:0]&lt;br /&gt;
 	...&lt;br /&gt;
}}&lt;br /&gt;
This is a bit more complex, and is where we get to the meaty part of workshop making--the tiles' properties. {{token|BLOCK|b}} refers to which tiles will be untraversable--1 means blocked, 0 means unblocked. The first number refers to row, and the next 3 refer to column, so 1:0:0:0 means that, on the first row, all tiles will be unblocked. This is the case for all vanilla workshops, as of now.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[TILE:0:1:' ':' ':150]&lt;br /&gt;
 	...&lt;br /&gt;
}}&lt;br /&gt;
The {{token|TILE|b}} token tells which tile will go where. note, however, that there are 5 entries here instead of 4. The first number, in this case, refers to build stage, numbered from 0 to 3; 3 or 1 is fully built (depending on whether there are stages), 0 is just placed, and 2 is always an intermediate stage, while 1 is usually an intermediate stage. Whether 1 is an intermediate stage or not depends on if there are a 2 and 3 stage; if 2 and 3 exist, 1 will be intermediate. The second number and beyond are similar to {{token|BLOCK|b}}; however, instead of 1s and 0s, you must input tiles. The tiles themselves can be given in quotes (as in ' ') or given as a number, which can be looked up [[Tilesets|here]]. Here, we have 150, which is û.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[COLOR:0:1:0:0:0:0:0:0:6:0:0]&lt;br /&gt;
 	...&lt;br /&gt;
}}&lt;br /&gt;
{{token|COLOR|b}} is as {{token|TILE|b}}, but with colors instead of tiles; however, colors are made up of 3 numbers each or MAT. MAT refers to the color of the material used to make it; the 3 numbers refer to ``&amp;lt;foreground&amp;gt;:&amp;lt;background&amp;gt;:&amp;lt;foreground brightness&amp;gt;``, and can be looked up [[Color|here]]. For example, ``4:2:1`` will give you bright red with a dark green background ({{Raw tile|☻|4:2:1}}).&lt;br /&gt;
&lt;br /&gt;
For the first row (``0:1``) our colors are [``0:0:0``, ``0:0:0``, ``6:0:0``]. Combining tile and color, this is our result:&lt;br /&gt;
{{Tile| |0:0}}{{Tile| |0:0}}{{Tile| |0:0}}{{Tile| |0:0}}{{Tile|û|6:0}}&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[BUILD_ITEM:1:BUCKET:NONE:NONE:NONE][EMPTY][CAN_USE_ARTIFACT]&lt;br /&gt;
 	[BUILD_ITEM:1:NONE:NONE:NONE:NONE][BUILDMAT][WORTHLESS_STONE_ONLY][CAN_USE_ARTIFACT]&lt;br /&gt;
}}&lt;br /&gt;
These refer to items required to build the building. These are in the same format as [[Reaction|reaction reagents and products]]:&lt;br /&gt;
``&amp;lt;quantity&amp;gt;:&amp;lt;[[Item token|item]]&amp;gt;:&amp;lt;item subtype&amp;gt;:&amp;lt;[[Material token|material]]&amp;gt;:&amp;lt;material subtype&amp;gt;``.&lt;br /&gt;
&lt;br /&gt;
You'll learn more about those on the article about [[Reaction|reactions]], though. The second {{token|BUILD_ITEM|b}} is special— it uses modifiers exclusively to determine its requirements.&lt;br /&gt;
&lt;br /&gt;
{{token|BUILDMAT|b}} refers to [[wood]] logs, wood [[block]]s, [[stone]] boulders, and stone blocks; {{token|WORTHLESS_STONE_ONLY|b}} means it can't use economic stone; {{token|CAN_USE_ARTIFACT|b}} means that it... can use artifacts. {{token|EMPTY|b}}, in the bucket's case, means that the bucket must be empty.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[TOOLTIP:Use tallow (rendered fat) or oil here with lye to make soap.]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text in the tooltip shown when the building is highlighted by the mouse in the workshops list.&lt;br /&gt;
&lt;br /&gt;
More can be seen at the [[Building token|building tokens]] article, including links to graphical editors for assembling workshop tile visuals.&lt;br /&gt;
&lt;br /&gt;
=== Reactions ===&lt;br /&gt;
&lt;br /&gt;
Reactions are the crafting recipes used in [[workshop]]s, and by the [[adventurer mode|adventurer]]. By adding new reactions you can make new items available, or enable you to get items or materials in new ways. The reactions can also be given to entities, in which case they will make use of them during both world gen and play; making a reaction that creates [[steel]] directly from [[plant fiber]]s could allow the elves to craft steel, and arrive clad in it in a [[siege]].&lt;br /&gt;
&lt;br /&gt;
Not all crafting jobs are custom reactions. Reactions are explicitly defined in raws, such as those for [[ceramic industry|pottery]] and [[Metal#Alloys 2|alloy]] making.&lt;br /&gt;
&lt;br /&gt;
An in-depth guide for reactions is available [[Reactions|here]].&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
As we've seen when talking about creatures, materials are vital. Materials can be defined in three forms: material templates, organic materials local to creatures and plants, and inorganic materials such as stone or metal.&lt;br /&gt;
&lt;br /&gt;
Let's take a look at &amp;quot;METAL_TEMPLATE&amp;quot; in ``[https://github.com/DF-Wiki/DFRawFunctions/blob/master/raws/v50/inorganic_metal.txt material_template_default.txt]``. It's evident that most of the basic properties of metals are already defined in the template - it goes red and melts at a high enough temperature, it's heavy, and (as noted by the very bottom token) is a metal. We already know just how useful templates can be to creatures, and the same applies to other materials.&lt;br /&gt;
&lt;br /&gt;
Now let's take a look at ``[https://github.com/DF-Wiki/DFRawFunctions/blob/master/raws/v50/inorganic_metal.txt inorganic_metal.txt]``. You can see that the metals here refer to the templates, and, just like we did with creatures, then modify the properties of that template and expand upon it.&lt;br /&gt;
&lt;br /&gt;
Finally, let's look at ``[https://github.com/DF-Wiki/DFRawFunctions/blob/master/raws/v50/inorganic_stone_mineral.txt inorganic_stone_mineral.txt]``. Here we can see that in addition to the changes made to the template, there are also {{token|ENVIRONMENT|im}} tokens - these tell the game where to place these minerals during worldgen.&lt;br /&gt;
&lt;br /&gt;
[[material definition token|Here's a list of material tokens]]. It should also help you out with any modifications you want to make regarding those creature modifications we were making a while back. See, it all ties together in the end. The beauty of the current materials system is that there's actually very little difference between, say, [[leather]] and [[iron]] - they're fundamentally the same thing regardless of the item type, just with different properties.&lt;br /&gt;
&lt;br /&gt;
== Selecting and Cutting ==&lt;br /&gt;
&lt;br /&gt;
[[#Modifying the vanilla objects|As explained above]], existing raws can be altered with the use of ``SELECT``, and can also be culled with ``CUT`` for more granular control, compared to simply unloading vanilla content in the mod loader. Token behavior when multiple tokens are added depends on the individual token, such as adding to or overwriting the past value. Removing tags from an object without cutting and recreating the object in question is typically impossible, except for creature object tags removed and/or replaced with the use of [[creature variation token]]s.&lt;br /&gt;
&lt;br /&gt;
The syntax for selecting and cutting objects is as follows:&lt;br /&gt;
&lt;br /&gt;
{{code|code=&lt;br /&gt;
Substitute X for the desired object. A CUT does not need a SELECT prior, this is simply a list of available options.&lt;br /&gt;
Functions that apply only to local sub-objects are indented. In order to edit these, the base object must be currently being defined or have been selected prior.&lt;br /&gt;
&lt;br /&gt;
[SELECT_CREATURE:X]&lt;br /&gt;
[CUT_CREATURE:X]&lt;br /&gt;
&lt;br /&gt;
   [SELECT_CASTE:X]&lt;br /&gt;
   [SELECT_ADDITIONAL_CASTE:X]&lt;br /&gt;
&lt;br /&gt;
   [SELECT_MATERIAL:X]&lt;br /&gt;
   [PLUS_MATERIAL:X]&lt;br /&gt;
   [REMOVE_MATERIAL:X]&lt;br /&gt;
&lt;br /&gt;
   [SELECT_TISSUE:X]&lt;br /&gt;
   [REMOVE_TISSUE:X]&lt;br /&gt;
&lt;br /&gt;
   [SELECT_TISSUE_LAYER:X]&lt;br /&gt;
   [PLUS_TISSUE_LAYER:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_ENTITY:X]&lt;br /&gt;
[CUT_ENTITY:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_INTERACTION:X]&lt;br /&gt;
[CUT_INTERACTION:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_ITEM:X]&lt;br /&gt;
[CUT_ITEM:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_WORD:X]&lt;br /&gt;
[CUT_WORD:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_TRANSLATION:X]&lt;br /&gt;
[CUT_TRANSLATION:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_SYMBOL:X]&lt;br /&gt;
[CUT_SYMBOL:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_INORGANIC:X] &lt;br /&gt;
[CUT_INORGANIC:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_PLANT:X]&lt;br /&gt;
[CUT_PLANT:X]&lt;br /&gt;
&lt;br /&gt;
   [SELECT_MATERIAL:X]&lt;br /&gt;
&lt;br /&gt;
   [SELECT_GROWTH:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_REACTION:X]&lt;br /&gt;
[CUT_REACTION:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_MUSIC:X]&lt;br /&gt;
[CUT_MUSIC:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_SOUND:X]&lt;br /&gt;
[CUT_SOUND:X]&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Note that the {{token|SELECT_SYMBOL|e}} [[entity token]] is separate from the ``[SELECT_SYMBOL]`` [[language token]].&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
:''Main articles: [[:Category:Modding_Examples]]''&lt;br /&gt;
&lt;br /&gt;
The Hydling below was made by Mysteryguye (and annotated, updated and separated into blocks by Putnam), to act as an example creature.&lt;br /&gt;
&lt;br /&gt;
{{code|code=&lt;br /&gt;
 [CREATURE:HYDLING]&lt;br /&gt;
 	[DESCRIPTION:A seven-headed small hairy thing, about the size of a dog. It is very loyal to its masters, and will promptly disembowel any enemy straying too close.]&lt;br /&gt;
 	This is the description that shows up in-game when viewing the creature.&lt;br /&gt;
&lt;br /&gt;
 	[NAME:hydling:hydlings:hydlish] If there were a civ made of hydlings, it would appear as &amp;quot;hydlings&amp;quot; in the neighbors screen.&lt;br /&gt;
&lt;br /&gt;
 	[CASTE_NAME:hydling:hydlings:hydlish]&lt;br /&gt;
&lt;br /&gt;
 	[CREATURE_TILE:'='][COLOR:2:0:1] Will appear as a light green &amp;quot;=&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 	[PETVALUE:40][NATURAL] Creature is known to be naturally occurring by the game. Will cost 40 embark points to buy.&lt;br /&gt;
&lt;br /&gt;
 	[LARGE_ROAMING] Will spawn outdoors, wandering around.&lt;br /&gt;
&lt;br /&gt;
 	[COMMON_DOMESTIC][TRAINABLE][PET] Can be bought on embark as a pet, war animal, or hunting animal.&lt;br /&gt;
&lt;br /&gt;
 	[BONECARN] Can eat meat and bones only--no vegetables.&lt;br /&gt;
&lt;br /&gt;
 	[PREFSTRING:loyalty] Dwarves will like it for its loyalty.&lt;br /&gt;
&lt;br /&gt;
 	[LARGE_PREDATOR] Will attack rather than flee.&lt;br /&gt;
&lt;br /&gt;
 	[BODY:BASIC_2PARTBODY:7HEADNECKS:BASIC_FRONTLEGS:BASIC_REARLEGS:TAIL:2EYES:NOSE:2LUNGS:HEART:GUTS:ORGANS:THROAT:SPINE:BRAIN:SKULL:3TOES_FQ_REG:3TOES_RQ_REG:MOUTH:TONGUE:GENERIC_TEETH_WITH_FANGS:RIBCAGE]&lt;br /&gt;
&lt;br /&gt;
 	Has a lower body, upper body, 4 legs, a tail, fourteen eyes, fourteen ears, seven noses, two lungs, a heart, guts, a pancreas etc., and 7 heads with all that goes with those.&lt;br /&gt;
&lt;br /&gt;
 	[BODYGLOSS:PAW] Feet will be called &amp;quot;paws&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 	[BODY_DETAIL_PLAN:STANDARD_MATERIALS] Declares the standard materials that most creatures' tissues are made of.&lt;br /&gt;
&lt;br /&gt;
 	[BODY_DETAIL_PLAN:STANDARD_TISSUES] This declares the tissues that the creature's tissue layers are made of.&lt;br /&gt;
&lt;br /&gt;
 	[BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:SKIN:FAT:MUSCLE:BONE:CARTILAGE] And this describes the tissue layers that the creature is made of.&lt;br /&gt;
&lt;br /&gt;
 	[BODY_DETAIL_PLAN:BODY_HAIR_TISSUE_LAYERS:HAIR] Creature will be covered with a layer of fur.&lt;br /&gt;
&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:NAIL:NAIL_TEMPLATE] And it'll have nails.&lt;br /&gt;
&lt;br /&gt;
 	[USE_TISSUE_TEMPLATE:NAIL:NAIL_TEMPLATE]&lt;br /&gt;
&lt;br /&gt;
 	[TISSUE_LAYER:BY_CATEGORY:TOE:NAIL:FRONT] On the toe, specifically.&lt;br /&gt;
&lt;br /&gt;
 	[SELECT_TISSUE_LAYER:HEART:BY_CATEGORY:HEART]&lt;br /&gt;
 	 [PLUS_TISSUE_LAYER:SKIN:BY_CATEGORY:THROAT]&lt;br /&gt;
 		[TL_MAJOR_ARTERIES] Heart and throat--called above--will cause heavy bleeding if ruptured.&lt;br /&gt;
&lt;br /&gt;
 	[BODY_DETAIL_PLAN:STANDARD_HEAD_POSITIONS] Places eyes, ears and what-have-you into their correct placement, so that you don't have people punching out eyes from behind.&lt;br /&gt;
&lt;br /&gt;
 	[BODY_DETAIL_PLAN:HUMANOID_RIBCAGE_POSITIONS] Sets the ribcage as being around lungs and heart.&lt;br /&gt;
&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:SINEW:SINEW_TEMPLATE] Defines sinew so that...&lt;br /&gt;
 	[TENDONS:LOCAL_CREATURE_MAT:SINEW:200] Tendons...&lt;br /&gt;
 	[LIGAMENTS:LOCAL_CREATURE_MAT:SINEW:200] ...And ligaments can be defined.&lt;br /&gt;
&lt;br /&gt;
 	[HAS_NERVES] Creature has nerves, and as such can be disabled by severing them.&lt;br /&gt;
&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:BLOOD:BLOOD_TEMPLATE] Defines the material BLOOD using the template BLOOD_TEMPLATE.&lt;br /&gt;
 	[BLOOD:LOCAL_CREATURE_MAT:BLOOD:LIQUID] Defines the creature's BLOOD as being made of the above-defined BLOOD material in a LIQUID state.&lt;br /&gt;
&lt;br /&gt;
 	[CREATURE_CLASS:GENERAL_POISON] Creature can be affected by syndromes that affect GENERAL_POISON.&lt;br /&gt;
&lt;br /&gt;
 	[GETS_WOUND_INFECTIONS] Pretty much self-explanatory. Creature can get infected from wounds.&lt;br /&gt;
 	[GETS_INFECTIONS_FROM_ROT] And from necrosis.&lt;br /&gt;
&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:PUS:PUS_TEMPLATE] Defines PUS using PUS_TEMPLATE.&lt;br /&gt;
 	[PUS:LOCAL_CREATURE_MAT:PUS:LIQUID] Defines PUS as being made of PUS.&lt;br /&gt;
&lt;br /&gt;
 	[BODY_SIZE:0:0:1000] Creature will be 1000 cubic centimeters at birth...&lt;br /&gt;
 	[BODY_SIZE:1:0:12500] 12500 cubic centimeters at 1 year old...&lt;br /&gt;
 	[BODY_SIZE:2:0:30000] and 30000 cubic centimeters at 2.&lt;br /&gt;
&lt;br /&gt;
 	[BODY_APPEARANCE_MODIFIER:LENGTH:90:95:98:100:102:105:110] Creature can be anywhere from 90% to 110% as long as others.&lt;br /&gt;
 	[BODY_APPEARANCE_MODIFIER:HEIGHT:90:95:98:100:102:105:110] As above, but with height.&lt;br /&gt;
 	[BODY_APPEARANCE_MODIFIER:BROADNESS:90:95:98:100:102:105:110] As above, but with broadness. This puts the minimum size of the creature (when fully grown) at 21870 and the maximum size at 39930.&lt;br /&gt;
&lt;br /&gt;
 	[MAXAGE:20:30] Creature will die of old age between the ages of 20 and 30, no later than 30, no sooner than 20.&lt;br /&gt;
&lt;br /&gt;
 	[CAN_DO_INTERACTION:MATERIAL_EMISSION] Creature can use the MATERIAL_EMISSION interaction.&lt;br /&gt;
 		[CDI:ADV_NAME:Hurl fireball] In adventurer mode, the MATERIAL_EMISSION interaction will appear as &amp;quot;Hurl fireball&amp;quot;.&lt;br /&gt;
 		[CDI:USAGE_HINT:ATTACK] Creature will use MATERIAL_EMISSION when it's attacking, on creatures that it's attacking.&lt;br /&gt;
 		[CDI:BP_REQUIRED:BY_CATEGORY:HEAD] Creature must have at least one HEAD to use MATERIAL_EMISSION.&lt;br /&gt;
 		[CDI:FLOW:FIREBALL] The MATERIAL_EMISSION will shoot a fireball.&lt;br /&gt;
 		[CDI:TARGET:C:LINE_OF_SIGHT] The target for the emission--a location--must be within the line of sight of the Hydling.&lt;br /&gt;
 		[CDI:TARGET_RANGE:C:15] And must be, at most, 15 tiles away.&lt;br /&gt;
 		[CDI:MAX_TARGET_NUMBER:C:1] The hydling can only shoot at one target at a time...&lt;br /&gt;
 		[CDI:WAIT_PERIOD:30] and only every 30 ticks (3 tenths of a second at 100 FPS)&lt;br /&gt;
&lt;br /&gt;
 	[ATTACK:BITE:CHILD_BODYPART_GROUP:BY_CATEGORY:HEAD:BY_CATEGORY:TOOTH] Defines a BITE attack that uses teeth.&lt;br /&gt;
 		[ATTACK_SKILL:BITE] Attack uses the BITE skill.&lt;br /&gt;
 		[ATTACK_VERB:nom:noms] &amp;quot;The Hydling noms the Elf in the left first toe, tearing the muscle!&amp;quot;&lt;br /&gt;
 		[ATTACK_CONTACT_PERC:100] Will use all of the tooth. Note that this can be more than 100.&lt;br /&gt;
 		[ATTACK_PENETRATION_PERC:100] Will sink the tooth all the way in. This can also be more than 100.&lt;br /&gt;
 		[ATTACK_FLAG_EDGE] Attack is an EDGE attack.&lt;br /&gt;
 		[ATTACK_PRIORITY:MAIN] Attack is of priority MAIN. Other option is SECOND.&lt;br /&gt;
 		[ATTACK_FLAG_CANLATCH] Attack can latch on.&lt;br /&gt;
                [ATTACK_PREPARE_AND_RECOVER:3:3] Takes 3 ticks to wind up attack and 3 to recover from it.&lt;br /&gt;
                [ATTACK_FLAG_INDEPENDENT_MULTIATTACK] Can use each head independently.&lt;br /&gt;
&lt;br /&gt;
 	[ATTACK:SCRATCH:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:STANCE:BY_CATEGORY:ALL:NAIL] As above, but for nail instead of teeth.&lt;br /&gt;
 		[ATTACK_SKILL:STANCE_STRIKE] Uses the kicking skill.&lt;br /&gt;
 		[ATTACK_VERB:slice:slices] &amp;quot;You slice the Elf in the left foot and the severed part sails off in an arc!&amp;quot;&lt;br /&gt;
 		[ATTACK_CONTACT_PERC:100] Uses the whole nail.&lt;br /&gt;
 		[ATTACK_PENETRATION_PERC:100] The whole nail goes in.&lt;br /&gt;
 		[ATTACK_FLAG_EDGE] Attack is an edge attack.&lt;br /&gt;
                [ATTACK_PREPARE_AND_RECOVER:3:3]&lt;br /&gt;
 		[ATTACK_PRIORITY:SECOND]&lt;br /&gt;
&lt;br /&gt;
 	[CHILD:1] Hydling will become an adult at 1 year old.&lt;br /&gt;
&lt;br /&gt;
 	[GENERAL_CHILD_NAME:hydie:hydies] Children will appear as &amp;quot;hydies&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 	[DIURNAL] Is active during the daytime.&lt;br /&gt;
&lt;br /&gt;
 	[HOMEOTHERM:10070] Has a body temperature of 102 Fahrenheit.&lt;br /&gt;
&lt;br /&gt;
 	[APPLY_CREATURE_VARIATION:STANDARD_QUADRUPED_GAITS:900:730:561:351:1900:2900] Can run at 25 kph&lt;br /&gt;
 	[APPLY_CREATURE_VARIATION:STANDARD_SWIMMING_GAITS:3512:2634:1756:878:4900:6900] Can swim at 10 kph&lt;br /&gt;
 	[APPLY_CREATURE_VARIATION:STANDARD_CRAWLING_GAITS:6561:6115:5683:1755:7456:8567] Can crawl at 5 kph&lt;br /&gt;
 	[SWIMS_INNATE]Swims innately.&lt;br /&gt;
&lt;br /&gt;
 	[CASTE:FEMALE] Defines a caste called FEMALE.&lt;br /&gt;
 		[FEMALE] FEMALE caste is female.&lt;br /&gt;
&lt;br /&gt;
 	[CASTE:MALE] As above, but with male.&lt;br /&gt;
 		[MALE] See above.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
{{catbox|Modding}}&lt;br /&gt;
&lt;br /&gt;
* [[Raw file]]&lt;br /&gt;
* [[Token]]&lt;br /&gt;
* [[Modding pitfalls]]&lt;br /&gt;
* [[Cheating]]&lt;br /&gt;
* Bay 12 Guide: https://bay12games.com/dwarves/modding_guide.html&lt;br /&gt;
&lt;br /&gt;
{{Category|Modding}}&lt;br /&gt;
{{Category|Guides}}&lt;br /&gt;
[[ru:Modding]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Sparrow_man&amp;diff=310805</id>
		<title>Sparrow man</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Sparrow_man&amp;diff=310805"/>
		<updated>2025-09-20T15:56:03Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Clarified references&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Fine}}&lt;br /&gt;
{{Creaturelookup/0&lt;br /&gt;
|image=sparrow_man_sprite.png&lt;br /&gt;
|portrait=sparrow_man_portrait.png&lt;br /&gt;
|death=nobutcher&lt;br /&gt;
|contrib=no&lt;br /&gt;
|wiki=no}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{creaturedesc}}&lt;br /&gt;
&lt;br /&gt;
'''Sparrow men''' are [[animal people]] variants of the common [[sparrow]] who inhabit many [[savage]] [[biome]]s. They spawn in groups of anywhere between 5-10 individuals and are generally content to keep to themselves. In terms of size, they are a little over half the weight of the average [[dwarf]]. All sparrow men are born with Legendary [[skill]] in [[Climber|climbing]].&lt;br /&gt;
&lt;br /&gt;
Like other savage animal people, sparrow men can join [[civilization]]s, become [[historical figure]]s, appear as [[visitor]]s and be playable in [[adventurer mode]].&lt;br /&gt;
&lt;br /&gt;
Some dwarves [[Preferences|like]] sparrow men for their ''dust baths'' and their ''lovely songs''.&lt;br /&gt;
&lt;br /&gt;
{{D for Dwarf}}&lt;br /&gt;
&amp;lt;!--Reference: Pirates of the Caribbean--&amp;gt;&lt;br /&gt;
Sparrow men are known for their habit of endeavors in piracy. Beware, if you let young female nobles stay near [[fun]] coasts, reanimated skeletons of [[human]]s may take her, prompting a sparrow man to drag along your [[smith]] to rescue her.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Reference: Touhou Project--&amp;gt;&lt;br /&gt;
Rumours of sparrow women making [[prepared meal]]s using [[sea lamprey]] late at night have yet to be verified.&lt;br /&gt;
&lt;br /&gt;
{{gamedata}}&lt;br /&gt;
{{Creatures}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Release_information/52.03&amp;diff=310786</id>
		<title>Release information/52.03</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Release_information/52.03&amp;diff=310786"/>
		<updated>2025-09-16T02:41:58Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Dye improvements */ Documented new color tokens.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{release notes}}&lt;br /&gt;
&lt;br /&gt;
:Here is a release to continue to stabilize the lua update. There are several regular fixes as well, listed below in the patch notes.&lt;br /&gt;
:Also, we have some dye improvements for you! You can now mix dyes to produce a variety of colors, and you can tint with dyes to mix the natural color of the material and the color of the dye during the dyeing process. If you make a new world, you'll also have access to some additional outdoor plant dyes. Leather can now be dyed, and there are some new stockpile controls to help you manage all of the new stuff.&lt;br /&gt;
:If you want to see your dwarves in their new outfits after you've made some shiny clothes, there's the existing preference setting to show their dyed outfits rather than coloring them by profession.&lt;br /&gt;
&amp;amp;mdash;[[Toady One]], August 7, 2025&lt;br /&gt;
&lt;br /&gt;
== Dye improvements ==&lt;br /&gt;
* Added dye mixing.&lt;br /&gt;
* Added dyeing of leather.&lt;br /&gt;
* Added partial dyeing of items (tinting).&lt;br /&gt;
* Added 60+ new outdoor plant dyes (in new worlds).&lt;br /&gt;
* Leather, cloth, armor, and finished goods stockpiles can now filter by color and dye status.&lt;br /&gt;
* Plant processing and extraction jobs can have a specific plant set.&lt;br /&gt;
* Added natural colors to undyed cloth, thread, and leather descriptions.&lt;br /&gt;
* Added dye color to dye descriptions.&lt;br /&gt;
* Added 20 new [[Color#Color tokens|color definitions]].&lt;br /&gt;
&lt;br /&gt;
== Modding and lua updates ==&lt;br /&gt;
* Mods in mod_upload are now sorted (first by ID, then name, then numeric version, then description).&lt;br /&gt;
* The &amp;quot;delete&amp;quot; buttons for saves have been replaced with a &amp;quot;Files&amp;quot; button, which, when clicked, gives the previous menu (with a warning that &amp;quot;Delete&amp;quot; is permanent and instant) with an extra button that opens the saves folder (Windows).&lt;br /&gt;
* You may click on mods in the various mod lists to open their folder (Windows).&lt;br /&gt;
* Added logging for missing PERMITTED_REACTION and PERMITTED_BUILDING objects.&lt;br /&gt;
* Reactions associated to entities that use plant reagents will check that the entity has those plants when making powder list (reaction products are not checked.)&lt;br /&gt;
* Changed how duplicate object message boxes work.&lt;br /&gt;
* Possible improvement to Linux message boxes.&lt;br /&gt;
* Added DYER to list of hard-coded buildings permitted for reactions.&lt;br /&gt;
* Nightmares no longer have bogeyman polymorph.&lt;br /&gt;
* Fixed angel sphere descriptions.&lt;br /&gt;
* Fixed attack tweaks and webs on forgotten beasts.&lt;br /&gt;
* Fixed necromancer animation missing IT_MANUAL_INPUT.&lt;br /&gt;
&lt;br /&gt;
== General updates ==&lt;br /&gt;
* Fixed issue with not all save files being copied to the folder.&lt;br /&gt;
* Archers will no longer infinitely flick each frame between archery training and going to some other training if they have no ammo.&lt;br /&gt;
* Fixed problem causing some armies to become stuck.&lt;br /&gt;
* Announcement settings save properly again.&lt;br /&gt;
* Prevented some potential crashes on startup.&lt;br /&gt;
* Removes dead/ghostly/caged/sleeping/paralyzed units from the noble queue.&lt;br /&gt;
* Makes nobles drop their haul items when they go to a meeting.&lt;br /&gt;
* Noble meetings auto-rebuff if meeting data is lost.&lt;br /&gt;
* Improved/optimized memory management for armies/army controllers.&lt;br /&gt;
* Optimized a particularly slow army loop.&lt;br /&gt;
* Fixed crash associated to transformed creatures with fewer body parts than their untransformed body.&lt;br /&gt;
* Fixed the &amp;quot;view sheet&amp;quot; hotkey for items/units.&lt;br /&gt;
* Fixed placement of titan shrines.&lt;br /&gt;
* Made work orders reset their suggested conditions properly when details are changed.&lt;br /&gt;
* Added some crash guards and logs for corrupted units/nemesis records.&lt;br /&gt;
* Made default embark cloth items dyeable.&lt;br /&gt;
* Updated historical nicknames in more places so that legends mode has them.&lt;br /&gt;
* Adds a fix for scrolling on laptop trackpads etc.&lt;br /&gt;
* Fixed typo in nemesis corruption message.&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Reaction&amp;diff=310615</id>
		<title>Reaction</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Reaction&amp;diff=310615"/>
		<updated>2025-08-29T14:18:50Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: /* Reaction identifier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{Modding}}&lt;br /&gt;
&lt;br /&gt;
'''Reactions''' are modular, editable formulas that take specific ingredients, or reagents, and use them to produce a desired item.  Most manufacturing jobs are [https://github.com/DFHack/df-structures/blob/master/df.job.xml hardcoded]—building beds or creating glass, for example—but a few are data-driven, and it's (sometimes) quite simple to add additional ones. There is a separate page with custom [[reaction examples]].&lt;br /&gt;
&lt;br /&gt;
== Reaction differences between modes ==&lt;br /&gt;
&lt;br /&gt;
In [[fortress mode]], reactions are linked to specific buildings, and must be added to a civilization's [[entity token|entity file]] to be usable by that civilization. This has the useful effect of limiting new items and materials (such as special [[wood]] or [[metal]]) to civilizations that have the requisite reaction — so that if you give your custom civilization a reaction to produce &amp;quot;star metal&amp;quot; or some other custom material, only they will be able to produce it. Exclusive non-{{token|SPECIAL|inorganic}} metals, such as [[steel]], may appear on [[bandit]]s and other entities with access to all materials.&lt;br /&gt;
&lt;br /&gt;
In [[adventure mode]], reactions are freely available in the {{Adv menu icon|x}} create menu, and any adventurer character can make free use of them. Reagents may be held in the hands or dropped on the ground, but cannot be used within a backpack or quiver. There are several bugs with adventure mode reactions, chief of which is the fact that you cannot select liquid reagents.{{verify}} &amp;lt;!-- reaction product tag works now, liquids and improvement quality don't --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anatomy of a reaction ==&lt;br /&gt;
Reactions are found within reaction_x files (such as reaction_smelter or reaction_other).  All reaction files must begin with the file name, followed by the &amp;lt;code&amp;gt;[OBJECT:REACTION]&amp;lt;/code&amp;gt; token that tells the game that the file contains reaction definitions.&lt;br /&gt;
&lt;br /&gt;
The reactions themselves generally adhere to the following structure:&lt;br /&gt;
&lt;br /&gt;
   [REACTION:&amp;lt;identifier&amp;gt;]&lt;br /&gt;
      [NAME:&amp;lt;name&amp;gt;]&lt;br /&gt;
      [BUILDING:&amp;lt;BUILDING NAME&amp;gt;:&amp;lt;BUILDING KEY&amp;gt;]&lt;br /&gt;
      [REAGENT:A:150:BAR:NONE:POTASH:NONE]&lt;br /&gt;
      [PRODUCT:100:1:BAR:NONE:PEARLASH:NONE][PRODUCT_DIMENSION:150]&lt;br /&gt;
      [FUEL] &lt;br /&gt;
      [SKILL:&amp;lt;SKILL TOKEN&amp;gt;]&lt;br /&gt;
      [MAX_MULTIPLIER:&amp;lt;multiplier&amp;gt;]&lt;br /&gt;
      [AUTOMATIC]&lt;br /&gt;
      [ADVENTURE_MODE_ENABLED]&lt;br /&gt;
      [DESCRIPTION:&amp;lt;description&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
* ''[[#Reaction identifier|identifier]]'': The internal ID of the reaction.&lt;br /&gt;
* ''[[#Reaction name|name]]'': The name of the reaction, visible to the player in the Fortress mode or Adventure mode menus.&lt;br /&gt;
* ''[[#Building|building]]'': The building ID that the reaction uses, and the relevant keyboard shortcut.&lt;br /&gt;
* ''[[#Reagents|...reagents...]]'': Zero or more reagents (ingredients) that are required to be in stock for the reaction to be possible.&lt;br /&gt;
* ''[[#Products|...products...]]'': Zero or more products that are created from the reaction.&lt;br /&gt;
* ''[[#Fuel|fuel]]'': (optional) If present, the reaction requires charcoal, coke or a magma-powered workshop.&lt;br /&gt;
* ''[[#Skill|skill]]'': (optional) The skill required and trained by the reaction.&lt;br /&gt;
* ''[[#Max multiplier|multiplier]]'': (optional) If present, the reaction will only be done the specified number of times per job; used to limit the output of reactions that accept stacks of items as reagents.&lt;br /&gt;
* ''[[#Automatic|automatic]]'': (optional) If present, the reaction will automatically be enqueued whenever it can possibly be performed.&lt;br /&gt;
* ''[[#Adventure mode enabled|adventure mode enabled]]'': (optional) If present, the reaction can be used by the player in Adventure mode.&lt;br /&gt;
* ''[[#Description|description]]'': (optional) If present, shows pop-up description when the reaction is selected in workshop (not working in v50).&lt;br /&gt;
&lt;br /&gt;
=== Reaction identifier ===&lt;br /&gt;
The REACTION token assigns a unique ID to your reaction.&lt;br /&gt;
    [REACTION:&amp;lt;reaction identifier&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
The ''reaction identifier'' may be anything, so long as it is unique within the raw data files. A good habit to get into is to append a short prefix or suffix to each name related to the name of your mod, to ensure nobody else is going to make an identical reaction and thereby mess up the game if their mod is run alongside yours.  This is referenced in an entity definition via {{token|PERMITTED_REACTION|e}} to allow that entity to use the reaction.&lt;br /&gt;
&lt;br /&gt;
=== Reaction name ===&lt;br /&gt;
The REACTION_NAME token assigns a descriptive name to your reaction in-game.&lt;br /&gt;
    [REACTION_NAME:&amp;lt;name&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
==== Name ====&lt;br /&gt;
This can be anything at all, and is how the reaction will appear in the job list of the building it is assigned to, and so should describe the reaction. '''Tan a hide''', for example, is the name of the default leather-producing reaction. Generally this should be written as a small descriptive verb phrase, with the first letter capitalized, for consistency with the existing reactions.&lt;br /&gt;
&lt;br /&gt;
=== Building ===&lt;br /&gt;
The BUILDING token assigns the reaction to a building.  Adding multiple BUILDING tokens will cause the reaction to be available at all of the specified buildings.  Omitting the BUILDING token entirely will make the reaction unusable in Fortress mode (often used to restrict certain reactions to [[Reaction#Adventure_Mode_enabled|Adventure mode]]).&lt;br /&gt;
&lt;br /&gt;
    [BUILDING:&amp;lt;building name&amp;gt;:&amp;lt;building key&amp;gt;]&lt;br /&gt;
* [[#Building name|''building name:'']] The ID of the building the reaction appears in.&lt;br /&gt;
* [[#Building key|''building key:'']] The hotkey to queue up the reaction in the specified building.&lt;br /&gt;
&lt;br /&gt;
==== Building name ====&lt;br /&gt;
This is the ID of the building where the reaction will be carried out.  Valid building names are as follows:&lt;br /&gt;
&lt;br /&gt;
* ASHERY - [[Ashery]]&lt;br /&gt;
* BOWYER - [[Bowyer's workshop]]&lt;br /&gt;
* CARPENTER - [[Carpenter's workshop]]&lt;br /&gt;
* CLOTHES - [[Clothier's shop]]&lt;br /&gt;
* CRAFTSMAN - [[Craftsdwarf's workshop]]&lt;br /&gt;
* DYER - [[Dyer's shop]]&lt;br /&gt;
* FARMER - [[Farmer's workshop]]&lt;br /&gt;
* GLASS - [[Glass furnace]]&lt;br /&gt;
* KILN - [[Kiln]] and [[Magma kiln]]&lt;br /&gt;
* KITCHEN - [[Kitchen]]&lt;br /&gt;
* LEATHER - [[Leather works]]&lt;br /&gt;
* MASON - [[Stoneworker's workshop]]&lt;br /&gt;
* METALSMITH - [[Metalsmith's forge]]&lt;br /&gt;
* MILLSTONE - [[Millstone]]&lt;br /&gt;
* QUERN - [[Quern]]&lt;br /&gt;
* SIEGE - [[Siege workshop]]&lt;br /&gt;
* SMELTER - [[Smelter]] and [[Magma smelter]]&lt;br /&gt;
* STILL - [[Still]]&lt;br /&gt;
* TANNER - [[Tanner's shop]]&lt;br /&gt;
* WOOD - [[Wood furnace]]&lt;br /&gt;
* Any custom (raw-defined) building, such as:&lt;br /&gt;
** SOAP_MAKER - [[Soap maker's workshop]]&lt;br /&gt;
** SCREW_PRESS - [[Screw press]]&lt;br /&gt;
&lt;br /&gt;
==== Building key ====&lt;br /&gt;
This used to define the shortcut key(s) used to queue up the reaction in a workshop during gameplay. Doesn't do anything in the current version. {{version|50.01}}&lt;br /&gt;
&lt;br /&gt;
=== Category ===&lt;br /&gt;
&lt;br /&gt;
Categories are custom submenus for buildings' reaction menus. A reaction doesn't require a category, but if you have a lot of reactions, categories can be invaluable for organizing and presenting those reactions to players.&lt;br /&gt;
&lt;br /&gt;
Categories can be nested indefinitely—you can have a category within a category within a category within a category within a category within... but as a practical matter, nesting categories more than 2 deep is not recommended.&lt;br /&gt;
&lt;br /&gt;
Categories will be displayed in alphabetical order, first off the file name and then off the category name.  They currently have no effect on adventure mode reactions.&lt;br /&gt;
&lt;br /&gt;
==== Defining a category ====&lt;br /&gt;
&lt;br /&gt;
Each category needs to be defined within a reaction, usually one which should appear within its menu. Categories only need to be defined once.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Arguments&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| CATEGORY || style=&amp;quot;vertical-align: top&amp;quot;| Category ID || The category ID is a unique identifier for the category. It is only used in the raws, and will not appear in the game.&lt;br /&gt;
&lt;br /&gt;
If you're defining multiple categories within the same reaction - for example, if you intend the reaction to be nested two deep, and haven't yet defined the super-category - the ''last'' CATEGORY token within the reaction definition is the one that the reaction will appear in.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| CATEGORY_NAME || style=&amp;quot;vertical-align: top&amp;quot;| String || The name of the category as displayed in-game.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| CATEGORY_DESCRIPTION || style=&amp;quot;vertical-align: top&amp;quot;| String || Optional. If present, when the category is highlighted in a building menu, this string will be displayed in the Helpful Hint box.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| CATEGORY_PARENT || style=&amp;quot;vertical-align: top&amp;quot;| Category ID || Optional. If present, this category will be a submenu of the indicated category, rather than a submenu of the reaction's building.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| CATEGORY_KEY || style=&amp;quot;vertical-align: top&amp;quot;| Hotkey token || Optional. If present, this category can be selected from its parent menu (whether a building or a parent category) using the given hotkey.  Uses the same format as the BUILDING KEY described above.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Adding reactions to an existing category ====&lt;br /&gt;
&lt;br /&gt;
Just include the tag [CATEGORY:&amp;lt;category_id&amp;gt;] within your reaction definition, and if the category exists, your reaction will be added to its menu. You can only add reactions to custom categories.&lt;br /&gt;
&lt;br /&gt;
Each reaction can belong to only one category.&lt;br /&gt;
&lt;br /&gt;
=== Reagents ===&lt;br /&gt;
&lt;br /&gt;
REAGENTs are a little bit complicated. They are the ingredients that the reaction will use.  You can define as many as you like within a reaction.&lt;br /&gt;
&lt;br /&gt;
    [REAGENT:&amp;lt;name&amp;gt;:&amp;lt;quantity&amp;gt;:&amp;lt;item token&amp;gt;:&amp;lt;material token&amp;gt;][...modifiers...]&lt;br /&gt;
* ''[[#Reagent name|name]]'': The name of the reagent, local to the reaction.&lt;br /&gt;
* ''[[#Quantity|quantity]]'': The amount of the item that will be used in the reaction.&lt;br /&gt;
* ''[[#Item_token|item token]]'': The type (and subtype) of the item you require.&lt;br /&gt;
* ''[[#Material_token|material token]]'': The material the item should be made of.&lt;br /&gt;
* ''[[#Modifiers|...modifiers...]]'': Zero or more tokens which further clarify the acceptable types when the item type and material types are insufficient to distinguish them.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;span id=&amp;quot;Reagent name&amp;quot;&amp;gt;Name&amp;lt;/span&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The name field is a small string used to identify the reagent within the reaction, which is not visible to the player, but local to the reaction, and does not need to be unique across all of the reactions, so you can reuse the same names over and over, although each reagent within the same individual reaction must have a different name.&lt;br /&gt;
&lt;br /&gt;
Most reagents are simply named '''A''', '''B''', and so forth in default reactions, although names such as '''TOOLSTONE''', '''FLUX''', or '''seeds''' will also work equally well. The PRODUCT may make reference to this name &amp;amp;ndash; for instance, if a container '''B''' is specified as a reagent, PRODUCT_TO_CONTAINER:B specifies that container.&lt;br /&gt;
&lt;br /&gt;
==== Quantity ====&lt;br /&gt;
&lt;br /&gt;
How many or how much of this reagent the reaction requires.  For most item types this is just the number of them required.  However, some other item types─specifically bars, cloth, thread, globs, liquids, powder, and sheets of paper or parchment─instead use numbers representing the size of the material within one (or more) of these items. For example, while REAGENT:A:'''''10''''':'''''TOY''''':NONE:NONE:NONE is ten unique, solid toy items, REAGENT:A:'''''10''''':'''''THREAD''''':NONE:NONE:NONE is an extremely tiny portion of a random spool of thread. One can see which items have what size quantities in the description of the [[Reaction#PRODUCT_DIMENSION|PRODUCT_DIMENSION]] token.&lt;br /&gt;
&lt;br /&gt;
If one of the reagents is in a stack, or the reaction is only using a fraction of the amount of a sized item, the reaction will consume the entire stack, or as much of the sized item as possible, and multiply the product accordingly.  This behaviour can be controlled using the [[Reaction#MAX_MULTIPLIER|MAX_MULTIPLIER]] token.&lt;br /&gt;
&lt;br /&gt;
==== Item token ====&lt;br /&gt;
&lt;br /&gt;
[[Item token]]s are of the form ITEM_TYPE:ITEM_SUBTYPE.&lt;br /&gt;
&lt;br /&gt;
The ITEM_TYPE is the category of item you require; WEAPON, TOY or SKIN_TANNED, for example.&lt;br /&gt;
&lt;br /&gt;
The ITEM_SUBTYPE is name of the exact item that you require. Examples are ITEM_WEAPON_SPEAR or ITEM_TOY_PUZZLEBOX. Some items, like quivers or backpacks, or chunks of stone or metal, have no subtype and only require the item token to be filled in; so if you're asking for those you should set the subtype to NONE. Subtypes are defined within the local raw data files and their exact names can be referenced by looking at the corresponding file.&lt;br /&gt;
&lt;br /&gt;
For reagents, the item token can also be set to ANY_RAW_MATERIAL:NONE (to permit BAR, BOULDER, POWDER_MISC, or GLOB) or ANY_CRAFT:NONE (to permit FIGURINE, AMULET, SCEPTER, CROWN, RING, EARRING, or BRACELET). Internally, these special values are both converted to NONE:NONE and merely set special modifiers (similar to [BUILDMAT])—they cannot be used in any other context.&lt;br /&gt;
&lt;br /&gt;
For backwards compatibility, reagents can also accept &amp;quot;METAL_ORE:metal_id&amp;quot; in place of both the item and material tokens—this is equivalent to using the reagent BOULDER:NONE:NONE:NONE with the modifier [METAL_ORE:metal_id] (see below).&lt;br /&gt;
&lt;br /&gt;
When no item type is specified (as in NONE:NONE), workers will not be able to find otherwise eligible items if they are inside of barrels (at least when reagents are PLANT or PLANT_GROWTH type). This is likely a bug.&lt;br /&gt;
&lt;br /&gt;
==== Material token ====&lt;br /&gt;
&lt;br /&gt;
[[Material token]]s come in several forms. For most reagents, this will typically be INORGANIC:MATERIAL_ID or NONE:NONE (to allow multiple materials using other modifier tokens).&lt;br /&gt;
&lt;br /&gt;
Some reactions will allow the player to select specific materials after creating the job (or in [[Reaction#material_token_2|some cases]], armor size from the product), by clicking on the magnifying glass icon next to the job in the workshop queue.  To permit this behaviour in your reaction, the reagent materials must be specified as follows:&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Item Type&lt;br /&gt;
! Material&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| BAR&amp;lt;br&amp;gt;BLOCKS&amp;lt;br&amp;gt;BOULDER&amp;lt;br&amp;gt;ROUGH&amp;lt;br&amp;gt;SMALLGEM || style=&amp;quot;vertical-align: top&amp;quot;| INORGANIC:NONE || style=&amp;quot;vertical-align: top&amp;quot;| These all appear as &amp;quot;stone&amp;quot; in the material selection menu, and list all inorganic materials regardless of any material modifier tokens, eg. [ITEMS_METAL]. BAR and BLOCKS made of organic materials, and BOULDER made of clay, are excluded.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| SKIN_TANNED or WOOD || style=&amp;quot;vertical-align: top&amp;quot;| NONE:NONE || &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Other Item Types || style=&amp;quot;vertical-align: top&amp;quot;| NONE:NONE || style=&amp;quot;vertical-align: top&amp;quot;| These will appear if a material modifier token other than [ANY_LEATHER_MATERIAL] is included. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Modifiers ====&lt;br /&gt;
&lt;br /&gt;
Reagents may also have extra tokens added on, following the REAGENT token, in order to modify their behaviour.&lt;br /&gt;
&lt;br /&gt;
Generally speaking, if you set a field in a reagent to NONE, the reaction won't discriminate when it comes to that particular field. For example, if you require a BOULDER reagent but leave the material as NONE:NONE, it will grab any available BOULDER-type item regardless of material. Modifiers can then be used to restrict this to only certain broad classes of materials.&lt;br /&gt;
&lt;br /&gt;
The following is a list of all known reagent modifiers:&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Arguments&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ANY_BONE_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [BONE] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ANY_GEM_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [IS_GEM] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ANY_HORN_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [HORN] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ANY_LEATHER_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [LEATHER] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ANY_PEARL_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [PEARL] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ANY_PLANT_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must be subordinate to a PLANT object.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ANY_SHELL_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [SHELL] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ANY_SILK_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [SILK] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ANY_SOAP_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [SOAP] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ANY_STONE_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [IS_STONE] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ANY_STRAND_TISSUE&lt;br /&gt;
|&lt;br /&gt;
| Reagent is made of a tissue having TISSUE_SHAPE:STRANDS, intended for matching hair and wool. Must be used with USE_BODY_COMPONENT.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ANY_TOOTH_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [TOOTH] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ANY_WOOD_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [WOOD] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ANY_YARN_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [YARN] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| BUILDMAT&lt;br /&gt;
|&lt;br /&gt;
| Reagent must be a general [[building material]] - BAR, BLOCKS, BOULDER, or WOOD.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| CAN_USE_ARTIFACT&lt;br /&gt;
|&lt;br /&gt;
| Reagent can be an Artifact. Using [PRESERVE_REAGENT] with this is strongly advised.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| CONTAINS&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
* [[#Reagent name|Reagent name]]&lt;br /&gt;
| Reagent is a container that holds the specified reagent (where ''Reagent name'' is the locally-defined name of the reagent).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| CONTAINS_LYE&lt;br /&gt;
|&lt;br /&gt;
| Reagent must be a BARREL or TOOL which contains at least one item of type LIQUID_MISC made of LYE. Use of this token is discouraged, as it does not work with buckets (instead, use [CONTAINS:lye] &amp;amp;mdash; note the colon &amp;amp;mdash; and a corresponding lye reagent [REAGENT:lye:150:LIQUID_MISC:NONE:LYE]).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| DOES_NOT_ABSORB&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have ABSORPTION:0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| DOES_NOT_DETERMINE_PRODUCT_AMOUNT&lt;br /&gt;
|&lt;br /&gt;
| Reagent quantity is ignored for the purposes of producing extra outputs. Typically used for containers so that [[stack]]s of reagents will correctly produce additional outputs.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| EMPTY&lt;br /&gt;
|&lt;br /&gt;
| If the reagent is a container, it must be empty.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| FIRE_BUILD_SAFE&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must be solid and stable at temperatures approaching 11000. Only works with items of type BAR, BLOCKS, BOULDER, WOOD, and ANVIL - all others are considered unsafe.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| FOOD_STORAGE_CONTAINER&lt;br /&gt;
|&lt;br /&gt;
| Reagent is either a BARREL or a TOOL with the FOOD_STORAGE use.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| GLASS_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the IS_GLASS token. All 3 types of [[glass]] have this token hardcoded.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| HARD_ITEM_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [ITEMS_HARD] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| HAS_EDGE&lt;br /&gt;
|&lt;br /&gt;
| Reagent must have an edge.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| HAS_ITEM_REACTION_PRODUCT&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
* PRODUCT_ID&lt;br /&gt;
| Reagent material must have the item reaction product specified by PRODUCT_ID - [[Reaction#Item_reaction_products|see below]] for more details. This can be used interchangeably with HAS_MATERIAL_REACTION_PRODUCT.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| HAS_MATERIAL_REACTION_PRODUCT&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
* PRODUCT_ID&lt;br /&gt;
| Reagent material must have the material reaction product specified by PRODUCT_ID - [[Reaction#Material_reaction_products|see below]] for more details.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| HAS_TOOL_USE&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
* [[Tool token#TOOL_USE|TOOL_USE]] value&lt;br /&gt;
| Reagent must be a [[tool]] with the specific TOOL_USE value. The reagent's item type must be TOOL:NONE for this to make any sense.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| IS_CRAFTED_ARTIFACT{{verify}}&lt;br /&gt;
|&lt;br /&gt;
| Reagent item must be an artifact.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| IS_DIVINE_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [DIVINE] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| IS_SAND_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [SOIL_SAND] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| MAGMA_BUILD_SAFE&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must be solid and stable at temperatures approaching 12000. Only works with items of type BAR, BLOCKS, BOULDER, WOOD, and ANVIL - all others are considered unsafe.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| METAL_ITEM_MATERIAL&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must have the [ITEMS_METAL] token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| METAL_ORE&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
* Metal ID&lt;br /&gt;
| Reagent material must be an ore of the specified metal.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| MIN_DIMENSION&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
* Integer&lt;br /&gt;
| Reagent's item size must be at least as large as ''Integer''. The reagent's item type must be BAR, POWDER_MISC, LIQUID_MISC, DRINK, THREAD, CLOTH, or GLOB for this to work.  See [[Reaction#PRODUCT_DIMENSION|PRODUCT_DIMENSION]] below.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| NO_EDGE_ALLOWED&lt;br /&gt;
|&lt;br /&gt;
| Reagent must not have an edge, so must be blunt. Sharp stones (produced using knapping) and most types of weapon/ammo can not be used with this token.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| NOT_ARTIFACT{{verify}}&lt;br /&gt;
|&lt;br /&gt;
| Reagent item must not be an artifact.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| NOT_CONTAIN_BARREL_ITEM&lt;br /&gt;
|&lt;br /&gt;
| If the reagent is a container, it must not contain [[lye]] or [[milk]]. Not necessary if specifying [EMPTY].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| NOT_ENGRAVED&lt;br /&gt;
|&lt;br /&gt;
| Reagent can not be engraved. For example, a memorial slab can not be engraved.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| NOT_IMPROVED&lt;br /&gt;
|&lt;br /&gt;
| Reagent has not been decorated.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| NOT_PRESSED&lt;br /&gt;
|&lt;br /&gt;
| Reagent must not be in the SOLID_PRESSED state.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| NOT_WEB&lt;br /&gt;
|&lt;br /&gt;
| Reagent must be collected (to distinguish silk thread from webs). Only makes sense for items of type THREAD.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ON_GROUND&lt;br /&gt;
|&lt;br /&gt;
| Reagent must be on the ground. Grabs from stockpiles. Does not grab from inventories (workshops, wagon) and causes infinite gathering for reactions in workshop.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| POTASHABLE (Deprecated)&lt;br /&gt;
|&lt;br /&gt;
| Alias for [CONTAINS_LYE].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| PRESERVE_REAGENT&lt;br /&gt;
|&lt;br /&gt;
| Reagent is not destroyed, which is the normal effect, at the completion of the reaction. Typically used for containers.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| REACTION_CLASS&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
* CLASS_ID&lt;br /&gt;
| Reagent material must have the reaction class specified by CLASS_ID - [[Reaction#Reaction_classes|see below]] for more details.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| UNROTTEN&lt;br /&gt;
|&lt;br /&gt;
| Reagent must not be rotten, mainly for organic materials.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| USE_BODY_COMPONENT&lt;br /&gt;
|&lt;br /&gt;
| Reagent must be a body part (CORPSE or CORPSEPIECE). Must be used even if your reagent item type is CORPSE or CORPSEPIECE, otherwise it will match any item.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| WEB_ONLY&lt;br /&gt;
|&lt;br /&gt;
| Reagent must be undisturbed (to distinguish silk thread from webs). Only makes sense for items of type THREAD.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| WORTHLESS_STONE_ONLY&lt;br /&gt;
|&lt;br /&gt;
| Reagent material must be non-[[economic]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| WOVEN_ITEM&lt;br /&gt;
|&lt;br /&gt;
| Reagent must be a clothing item made of a woven material, ie. plant, silk, or yarn cloth.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Products ===&lt;br /&gt;
&lt;br /&gt;
Products are the end product of the reaction. A reaction can have as many products as it likes.&lt;br /&gt;
&lt;br /&gt;
Products are almost identical to reagents, except that they do not need to be named, can't have fields undefined, and don't use the quantity field to determine the product size. Instead, the token [PRODUCT_DIMENSION:X] is tacked on after the PRODUCT token, determining the size of the product.&lt;br /&gt;
&lt;br /&gt;
Products can be produced directly to a container using the [PRODUCT_TO_CONTAINER:''name''] token, where the ''name'' is the [[#Reagent name|name]] of a reagent. This requires the reagent to have the [PRESERVE_REAGENT] token.&lt;br /&gt;
&lt;br /&gt;
Restating this in the above style, we have:&lt;br /&gt;
   [PRODUCT:&amp;lt;probability&amp;gt;:&amp;lt;quantity&amp;gt;:&amp;lt;item token&amp;gt;:&amp;lt;material token&amp;gt;][...modifiers...]&lt;br /&gt;
&lt;br /&gt;
==== Probability ====&lt;br /&gt;
&lt;br /&gt;
The percentage chance the product will be produced when the reaction is completed. Must be an integer.&lt;br /&gt;
&lt;br /&gt;
==== Quantity ====&lt;br /&gt;
&lt;br /&gt;
Determines how many of the product will be produced. For the item types AMMO, REMAINS, MEAT, FISH, FISH_RAW, PLANT, PLANT_GROWTH, DRINK, CHEESE, LIQUID_MISC, COIN, and EGG, the resulting items will be created as a single [[stack]], while all other item types will produce multiple individual items.&lt;br /&gt;
&lt;br /&gt;
If a reaction can take stacks of input items, then it will attempt to perform the reaction enough times to consume as many full sets of reagents as it can—for example, if a reaction &amp;quot;1 piece of meat + 2 pieces of fish -&amp;gt; 3 pieces of cheese&amp;quot; is given a stack of 5 meat and 5 fish, it will produce 6 pieces of cheese and leave 3 meat and 1 fish behind. Using the token DOES_NOT_DETERMINE_PRODUCT_AMOUNT allows a reagent to be excluded from this calculation - for example, with the reaction &amp;quot;1 plant + 1 barrel -&amp;gt; 5 alcohol (into barrel)&amp;quot;, using this on the barrel allows the reaction to be performed as &amp;quot;5 plant + 1 barrel -&amp;gt; 25 alcohol&amp;quot; instead of &amp;quot;5 plant + 5 barrel -&amp;gt; 25 alcohol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Item token ====&lt;br /&gt;
&lt;br /&gt;
The [[item token]] and subtype of the item you produce.&lt;br /&gt;
&lt;br /&gt;
If your item has an [[Reaction#Item reaction products|item reaction product]] and you want the item type and material to be derived from one of the reagents, you can use GET_ITEM_DATA_FROM_REAGENT:reagent:REACTION_PRODUCT_ID in place of both the item token ''and'' the material token (see next section). You can also specify GET_ITEM_DATA_FROM_REAGENT:reagent:NONE in order to make a direct copy of the source item, though this will not work for complex items such as corpses or prepared meals.&lt;br /&gt;
&lt;br /&gt;
For products, this can also be set to CRAFTS:NONE to produce up to three random [[craft]] items. This value cannot be used in any other context.&lt;br /&gt;
&lt;br /&gt;
==== Material token ====&lt;br /&gt;
&lt;br /&gt;
A [[material token]] describing what the product will be made of.&lt;br /&gt;
&lt;br /&gt;
If you want the product's material to be derived from one of the reagents, you can use GET_MATERIAL_FROM_REAGENT:reagent:NONE in place of the material token in order to directly use the reagent's own material; if the reagent has a [[Reaction#Material_reaction_products|material reaction product]] defined, you can use GET_MATERIAL_FROM_REAGENT:reagent:REACTION_PRODUCT_ID to use that.&lt;br /&gt;
&lt;br /&gt;
Similarly to choosing material types for a reagent, if the item product is armor/clothing, and has the appropriate [[Entity_token#Available_resources|armor token]] in the entity file, you will be able to choose the armor/clothing size for different creatures by clicking the magnifying glass of the workshop task. However, this will only work if the product material is [[Modding pitfalls#My_custom_armor.2Fclothing_reaction_won.27t_let_user_choose_size|cloth leather or certain metals]], and the item is also recognized by the related vanilla workshop reaction{{verify}}.&lt;br /&gt;
&lt;br /&gt;
==== Product modifiers ====&lt;br /&gt;
&lt;br /&gt;
Zero or more tokens which further set the properties or disposition of the resulting product item.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Arguments&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| FORCE_EDGE&lt;br /&gt;
|&lt;br /&gt;
| Product is given a sharp edge. Used for knapping.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| PRODUCT_PASTE&lt;br /&gt;
|&lt;br /&gt;
| Product is created in the SOLID_PASTE state.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| PRODUCT_PRESSED&lt;br /&gt;
|&lt;br /&gt;
| Product is created in the SOLID_PRESSED state.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| PRODUCT_DIMENSION&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
* Integer&lt;br /&gt;
| Specifies the dimension of the product for those items that use dimensions. For items of type BAR, DRINK, GLOB, LIQUID_MISC, and POWDER_MISC, one item is dimension 150; one item of CLOTH or SHEET is dimension 10000; and one item of THREAD is dimension 15000. Has no effect on any other item types. Note: this is not the actual [[storage]] volume of the product, which is hard-coded by the item token. &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| PRODUCT_TO_CONTAINER&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
* [[#Reagent name|Name]]&lt;br /&gt;
| Places the product in a container; ''Name'' must be the name of a reagent with the [PRESERVE_REAGENT] token and a container item type.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| PRODUCT_TOKEN&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* [[#Reagent name|Name]]&lt;br /&gt;
| Allows the product to be referred to by the given name for the purpose of being passed down as and argument in other tokens, in the same fashion as reagent names.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| TRANSFER_ARTIFACT_STATUS&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Transfers artifact status from the reagent to the product.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Improvements ===&lt;br /&gt;
&lt;br /&gt;
Improvements are applied to existing reagents. A reaction can have as many improvements as it likes.&lt;br /&gt;
&lt;br /&gt;
Restating this in the above style, we have:&lt;br /&gt;
   [IMPROVEMENT:&amp;lt;probability&amp;gt;:&amp;lt;reagent name&amp;gt;:&amp;lt;improvement type&amp;gt;:&amp;lt;material token&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
==== Probability ====&lt;br /&gt;
The percentage chance the improvement will be applied to the reagent when the reaction is completed.&lt;br /&gt;
&lt;br /&gt;
==== Reagent name ====&lt;br /&gt;
The [[#Reagent name|name]] of the reagent that will be improved. In order to be meaningful, this reagent must have [PRESERVE_REAGENT].&lt;br /&gt;
&lt;br /&gt;
==== Improvement type ====&lt;br /&gt;
The following improvement types can be used:&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| COVERED&lt;br /&gt;
| Item is encrusted/studded/decorated with &amp;lt;material&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| GLAZED&lt;br /&gt;
| Item is glazed with &amp;lt;material&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| RINGS_HANGING&lt;br /&gt;
| Item is adorned with hanging rings of &amp;lt;material&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| BANDS&lt;br /&gt;
| Item is encircled with bands of &amp;lt;material&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| SPIKES&lt;br /&gt;
| Item menaces with spikes of &amp;lt;material&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| PAGES&lt;br /&gt;
| Adds pages to a [[book]].&lt;br /&gt;
|-&lt;br /&gt;
| SPECIFIC&lt;br /&gt;
| With subtype ROLLERS, adds rollers of &amp;lt;material&amp;gt; to a [[scroll]]; with subtype HANDLE, adds a handle of &amp;lt;material&amp;gt; to an item; with subtype TRACTION_BENCH_CHAIN or TRACTION_BENCH_ROPE adds a chain or rope of &amp;lt;material&amp;gt; to an item.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All other item improvement tokens (ART_IMAGE, ITEMSPECIFIC, THREAD, CLOTH, SEWN_IMAGE, and ILLUSTRATION) are ignored.&lt;br /&gt;
&lt;br /&gt;
==== Material token ====&lt;br /&gt;
&lt;br /&gt;
A [[material token]] describing what the decoration will be made of.&lt;br /&gt;
&lt;br /&gt;
If you want the product's material to be derived from one of the reagents, and the reagent has a [[Reaction#Material_reaction_products|material reaction product]] defined, you can use GET_MATERIAL_FROM_REAGENT:reagent:REACTION_PRODUCT_ID in place of the material token. You can also specify GET_MATERIAL_FROM_REAGENT:reagent:NONE in order to directly use the reagent's own material.&lt;br /&gt;
&lt;br /&gt;
=== Other tokens ===&lt;br /&gt;
&lt;br /&gt;
==== Fuel ====&lt;br /&gt;
&lt;br /&gt;
The FUEL token means that the reaction requires coke or charcoal to be performed. Fuel is not needed when the reaction is performed at a magma workshop (a [[magma kiln]], [[magma smelter]], or any custom building having [NEEDS_MAGMA]).&lt;br /&gt;
&lt;br /&gt;
==== Skill ====&lt;br /&gt;
&lt;br /&gt;
The [[Skill token|skill tokens]] determine what skill the reaction requires and trains; also how quickly skill is gained, how quickly those skill gains raise attributes, and how skill level affects the quality of the reaction product.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Arguments&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| SKILL&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* [[Skill token]] &lt;br /&gt;
| (Optional) This identifies the skill required to carry out the reaction and is trained when the reaction is performed.  Only one skill may be specified; if multiple skill tokens are defined only the last will be used.  A reaction with no product will yield no experience gain.  A reaction with no SKILL token will complete in a default amount of time.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| SKILL_IP&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
* Integer&lt;br /&gt;
| (Optional, requires SKILL token)  This adjusts the amount of skill gained each time the reaction is carried out.  The default value is 30; higher values increase the amount of skill gain.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| ATTRIBUTE_IP&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
* Integer&lt;br /&gt;
| (Optional, requires SKILL token)  This adjusts the amount of [[Attribute|attribute]] gain that skill gain from this reaction results in.  The default value is 10; higher values increase the amount of attribute gain.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| SKILL_ROLL_RANGE&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
* Range&lt;br /&gt;
* Multiplier&lt;br /&gt;
| (Optional, requires SKILL token)  This changes how much skill level affects the quality of the reaction product.  The default is [SKILL_ROLL_RANGE:11:5]. The ''range'' is the base &amp;quot;die roll&amp;quot; and the ''multiplier'' determines how much the dwarf's skill can affect the reaction; the skill roll is random(range) + random((skill level * multipler)/2 + 1) + random((skill level * multipler)/2 + 1), where random(x) gives a random number from 0 to x-1, inclusive (which also means that the minimum for the range is 1). The higher result on the roll, the better. Both numbers can be lowered to make the skill check harder. For example, with the default values a dwarf who is proficient in a skill has a skill level of 5; their roll will be random(11)+random(13)+random(13), meaning this dwarf can roll anywhere from 0 to 34; similarly, unskilled dwarves can roll 0 to 10 while legendary+0 (skill 15) dwarves can roll 0 to 84. If this is changed to [SKILL_ROLL_RANGE:1:8], then instead a proficient dwarf will have random(1)+random(21)+random(21), giving a roll of 0 to 40, with unskilled dwarves always rolling 0 and legendary dwarves going all the way up to 120.&lt;br /&gt;
&lt;br /&gt;
As a consequence, increasing the multiplier will always make legendary dwarves more effective, even if base roll is reduced to its minimum of 1, with the default going up to 84 for default and 90 for [SKILL_ROLL_RANGE:1:6].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Max multiplier ====&lt;br /&gt;
&lt;br /&gt;
The [MAX_MULTIPLIER:&amp;lt;#&amp;gt;] token specifies how many times to do the reaction. This can be used to limit stacked reagent use to the specified quantity instead of the whole stack.&lt;br /&gt;
&lt;br /&gt;
==== Automatic ====&lt;br /&gt;
&lt;br /&gt;
The AUTOMATIC token means that the reaction will be queued automatically if the reaction reagents are all present.&lt;br /&gt;
&lt;br /&gt;
This token only works with jobs performed at a [[kiln]], [[smelter]], [[tanner's shop]], [[kitchen]], or custom workshop, and [[standing orders]] allow you to limit which ones trigger; custom reactions performed at a [[quern]], [[millstone]], [[still]] or [[craftsdwarf's workshop]] cannot be made automatic.&lt;br /&gt;
&lt;br /&gt;
==== Mode enabled ====&lt;br /&gt;
&lt;br /&gt;
Some reaction tokens enable a reaction to be used by everyone in a certain mode. These tokens are not exclusive relations; for example, you can assign an {{token|ADVENTURE_MODE_ENABLED|reaction}} reaction with a building to an entity and their citizens can then perform it at that building in [[fortress mode]].&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| ADVENTURE_MODE_ENABLED&lt;br /&gt;
| Available to all [[adventurer]]s, regardless of origin civilization. Required for adventurers to craft anything, as they do not use the recipes available to their origin civilization.&lt;br /&gt;
|-&lt;br /&gt;
| FORTRESS_MODE_ENABLED&lt;br /&gt;
| Available to all [[fortress mode]] games. Without {{token|PERMITTED_REACTION|entity}} on a specific entity, materials produced by it will not normally be added to their civilization resources.&lt;br /&gt;
|-&lt;br /&gt;
| WORLDGEN_ENABLED&lt;br /&gt;
| If possible, reaction's output will be added to all civilizations during worldgen, allowing the civilization to trade or embark with them.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Description ====&lt;br /&gt;
&lt;br /&gt;
This feature is exclusive to Classic Mode, as no description window pops up when mousing over reactions in workshops in Premium.&lt;br /&gt;
&lt;br /&gt;
The [DESCRIPTION:&amp;lt;string&amp;gt;] token provides a text description of the reaction when it is highlighted in the building UI.  Multiple DESCRIPTION tokens can be defined in a reaction, and each will appear on a new line.  The pop-up box that contains the description is limited to 325 characters total.  Alternatively, this token can reference a DESCRIPTION token in an existing tool definition by replacing ''string'' with USE_TOOL:&amp;lt;ITEM_SUBTYPE&amp;gt;; or an existing instrument definition with USE_INSTRUMENT:&amp;lt;ITEM_SUBTYPE&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Reaction classes and products ==&lt;br /&gt;
&lt;br /&gt;
When you're doing things like tanning hides or brewing alcohol, having separate reactions for every single possible raw material is unwieldy and terrible. However, you can let the reaction itself ask the material for details and process them all with the same reaction. There are three types of tags to dictate this behavior.&lt;br /&gt;
&lt;br /&gt;
=== Reaction classes ===&lt;br /&gt;
&lt;br /&gt;
The simplest token is the reaction class. If it is tacked on a material, a reaction can limit reagents to only those materials that have the specified arbitrary [REACTION_CLASS:whatever] identifier.&lt;br /&gt;
&lt;br /&gt;
We want a reaction that smelts iron and flux into pig iron. However, there are a half-dozen different stones that count as flux. Instead of clogging up the smelter job menu with six nearly identical reactions that all take in either dolomite or limestone or marble for the same result, we use a reaction class.&lt;br /&gt;
&lt;br /&gt;
   [REACTION:PIG_IRON_MAKING]&lt;br /&gt;
      [NAME:make pig iron bars]&lt;br /&gt;
      [BUILDING:SMELTER:NONE]&lt;br /&gt;
      [REAGENT:A:150:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
      [REAGENT:B:1:BOULDER:NO_SUBTYPE:NONE:NONE]'''[REACTION_CLASS:FLUX]'''&lt;br /&gt;
      [REAGENT:C:150:BAR:NO_SUBTYPE:COAL:NO_MATGLOSS]&lt;br /&gt;
      [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PIG_IRON][PRODUCT_DIMENSION:150]&lt;br /&gt;
      [FUEL]&lt;br /&gt;
      [SKILL:SMELT]&lt;br /&gt;
&lt;br /&gt;
Note how reagent B asks for &amp;quot;NONE:NONE&amp;quot; as its material. This means &amp;quot;boulders of any kind as long as they have the reaction class named FLUX&amp;quot;. Stuff like calcite, here:&lt;br /&gt;
&lt;br /&gt;
   [INORGANIC:CALCITE]&lt;br /&gt;
      [USE_MATERIAL_TEMPLATE:STONE_TEMPLATE]&lt;br /&gt;
      [STATE_NAME_ADJ:ALL_SOLID:calcite][DISPLAY_COLOR:7:7:1][TILE:'&amp;quot;']&lt;br /&gt;
      '''[REACTION_CLASS:FLUX]'''&lt;br /&gt;
      [ENVIRONMENT_SPEC:LIMESTONE:CLUSTER_SMALL:100]&lt;br /&gt;
      [ENVIRONMENT_SPEC:MARBLE:CLUSTER_SMALL:100]&lt;br /&gt;
      [MATERIAL_VALUE:2]&lt;br /&gt;
      [IS_STONE]&lt;br /&gt;
      [MELTING_POINT:12902]&lt;br /&gt;
      [SOLID_DENSITY:2930]&lt;br /&gt;
&lt;br /&gt;
The label itself can be absolutely anything. It's only used to find a match between the material and the reaction. Note that some reaction classes have special meanings to the game itself—notably, the [[site finder]] knows that &amp;quot;FLUX&amp;quot; should be connected to the &amp;quot;Flux stone&amp;quot; filter.&lt;br /&gt;
&lt;br /&gt;
=== Material reaction products ===&lt;br /&gt;
&lt;br /&gt;
But what if it's not all the same what materials the members of the reaction class put out? If a tanner starts working on a bear pelt, a horse hide, some dragon scales and a section of human skin, surely they all can't produce generic boot leather! No, the reaction must get the chance to ask the &amp;quot;reaction class&amp;quot; what the reagent should turn out as. We will declare a material reaction product.&lt;br /&gt;
&lt;br /&gt;
   [REACTION:TAN_A_HIDE]&lt;br /&gt;
      [NAME:tan a hide]&lt;br /&gt;
      [BUILDING:TANNER:CUSTOM_T]&lt;br /&gt;
         [REAGENT:flaps of skin:1:NONE:NONE:NONE:NONE][USE_BODY_COMPONENT][UNROTTEN]&lt;br /&gt;
            '''[HAS_MATERIAL_REACTION_PRODUCT:TAN_MAT]'''&lt;br /&gt;
         [PRODUCT:100:1:SKIN_TANNED:NONE:'''GET_MATERIAL_FROM_REAGENT:flaps of skin:TAN_MAT''']&lt;br /&gt;
      [SKILL:TANNER]&lt;br /&gt;
      [AUTOMATIC]&lt;br /&gt;
&lt;br /&gt;
Where you'd usually have some fresh bodypart with the TAN_MAT reaction class produce some generic SKIN_TANNED, this goes further. Instead of declaring a material, the spool of pattern-ready tailoring leather (SKIN_TANNED) now comes out as whatever the skin flaps' material reaction product (named TAN_MAT) says in the material's definition (GET_MATERIAL_FROM_REAGENT). And what does it say?&lt;br /&gt;
&lt;br /&gt;
   [MATERIAL_TEMPLATE:SKIN_TEMPLATE]&lt;br /&gt;
         [STATE_COLOR:ALL_SOLID:GRAY]&lt;br /&gt;
         [STATE_NAME:ALL_SOLID:skin]&lt;br /&gt;
         [STATE_ADJ:ALL_SOLID:skin]&lt;br /&gt;
         ...&lt;br /&gt;
         [ABSORPTION:100]&lt;br /&gt;
         '''[MATERIAL_REACTION_PRODUCT:TAN_MAT:LOCAL_CREATURE_MAT:LEATHER]'''&lt;br /&gt;
         [IMPLIES_ANIMAL_KILL]&lt;br /&gt;
         [ROTS]&lt;br /&gt;
&lt;br /&gt;
It says that the caller of the TAN_MAT hook always comes out as the LEATHER of whatever creature the skin has been peeled off of (LOCAL_CREATURE_MAT). For example, skin taken from a butchered dog would be turned into dog leather. Change the SKIN_TEMPLATE MATERIAL_REACTION_PRODUCT to TAN_MAT:INORGANIC:GOLD instead and your tanner turns into Midas.  Use your imagination.&lt;br /&gt;
&lt;br /&gt;
If the item you're creating should be made of the ''same'' material as the raw material you're using (e.g. if you're carving a log into a training spear), you can specify &amp;quot;NONE&amp;quot; instead of the MATERIAL_REACTION_PRODUCT code:&lt;br /&gt;
&lt;br /&gt;
   [REACTION:MAKE WOODEN TRAINING SPEAR]&lt;br /&gt;
      [NAME:make wooden training spear]&lt;br /&gt;
      [BUILDING:CARPENTER:NONE]&lt;br /&gt;
      [REAGENT:log:1:WOOD:NONE:NONE:NONE][ANY_PLANT_MATERIAL]&lt;br /&gt;
      [PRODUCT:100:1:WEAPON:ITEM_WEAPON_SPEAR_TRAINING:'''GET_MATERIAL_FROM_REAGENT:log:NONE''']&lt;br /&gt;
      [SKILL:CARPENTRY]&lt;br /&gt;
&lt;br /&gt;
As with reaction classes, some MATERIAL_REACTION_PRODUCT identifiers have special meanings to the game itself - notably, the [[site finder]] knows that &amp;quot;FIRED_MAT&amp;quot; should be connected to the &amp;quot;Clay&amp;quot; filter, and &amp;quot;CHEESE_MAT&amp;quot; is used when making [[cheese]] from [[milk]].&lt;br /&gt;
&lt;br /&gt;
=== Item reaction products ===&lt;br /&gt;
&lt;br /&gt;
Item reaction products are an even more powerful form of the above. Where material reaction products can only affect what type of stuff the predestined end product is made of, item reaction products can decide the entire end result ahead of time. Item AND material.&lt;br /&gt;
&lt;br /&gt;
Let's assume for a moment that we're completely tired of leather earrings and hair crowns. We want a crafting reaction that takes cloth and only produces things that make sense.&lt;br /&gt;
&lt;br /&gt;
      [REACTION:TAILOR_THE_BEST_THING]&lt;br /&gt;
            [NAME:weave something that makes sense]&lt;br /&gt;
            [BUILDING:CRAFTSMAN]&lt;br /&gt;
            [REAGENT:woven fabric:1:CLOTH:NONE:NONE:NONE]&lt;br /&gt;
               '''[HAS_ITEM_REACTION_PRODUCT:BEST_OPTION]'''&lt;br /&gt;
            [PRODUCT:100:1:'''GET_ITEM_DATA_FROM_REAGENT:woven fabric:BEST_OPTION''']&lt;br /&gt;
            [SKILL:CLOTHIER]&lt;br /&gt;
&lt;br /&gt;
Now we need to come up with the counterpart tags in the materials. Hmmm... cotton is thin and soft, so it makes pretty good undergarments. An undershirt, maybe?&lt;br /&gt;
&lt;br /&gt;
         [PLANT:COTTON] Gossypium hirsutum / sp.&lt;br /&gt;
                  [NAME:cotton plant][NAME_PLURAL:cotton plants][ADJ:cotton plant]&lt;br /&gt;
                  [USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]&lt;br /&gt;
                  [BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]&lt;br /&gt;
                  [DRY][BIOME:ANY_TROPICAL]&lt;br /&gt;
                  [VALUE:2]&lt;br /&gt;
                  ...&lt;br /&gt;
                  [USE_MATERIAL_TEMPLATE:THREAD:THREAD_PLANT_TEMPLATE]&lt;br /&gt;
                     [MATERIAL_VALUE:2]&lt;br /&gt;
                     '''[ITEM_REACTION_PRODUCT:BEST_OPTION:ARMOR:ITEM_ARMOR_TUNIC:LOCAL_PLANT_MAT:THREAD]'''&lt;br /&gt;
                  ...&lt;br /&gt;
&lt;br /&gt;
Then jute fabric. Isn't that burlap? And what's about the only thing they make from burlap?&lt;br /&gt;
&lt;br /&gt;
         [PLANT:JUTE] Corchorus capsularis / Corchorus olitorius&lt;br /&gt;
                  [NAME:jute plant][NAME_PLURAL:jute plants][ADJ:jute plant]&lt;br /&gt;
                  [USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]&lt;br /&gt;
                  [BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]&lt;br /&gt;
                  [DRY][BIOME:ANY_TROPICAL]&lt;br /&gt;
                  [VALUE:2]&lt;br /&gt;
                  ...&lt;br /&gt;
                  [USE_MATERIAL_TEMPLATE:THREAD:THREAD_PLANT_TEMPLATE]&lt;br /&gt;
                     [MATERIAL_VALUE:2]&lt;br /&gt;
                     '''[ITEM_REACTION_PRODUCT:BEST_OPTION:BAG:NONE:LOCAL_PLANT_MAT:THREAD]'''&lt;br /&gt;
                  ...&lt;br /&gt;
&lt;br /&gt;
Sacks, of course! Wait, how about silk?&lt;br /&gt;
&lt;br /&gt;
         [CREATURE:SPIDER_CAVE]&lt;br /&gt;
                  [DESCRIPTION:A tiny underground bug, sought after for its thread.]&lt;br /&gt;
                  [NAME:cave spider:cave spiders:cave spider]&lt;br /&gt;
                  ...&lt;br /&gt;
                  [USE_MATERIAL_TEMPLATE:SILK:SILK_TEMPLATE]&lt;br /&gt;
                     '''[ITEM_REACTION_PRODUCT:BEST_OPTION:PANTS:ITEM_PANTS_THONG:LOCAL_CREATURE_MAT:SILK]'''&lt;br /&gt;
                  ...&lt;br /&gt;
&lt;br /&gt;
This goes on for as long as you let it. The ITEM_REACTION_PRODUCT declares the identifier and then the item and material with subtypes, just like a normal reaction's product line would.&lt;br /&gt;
&lt;br /&gt;
Do note that MATERIAL_REACTION_PRODUCT and ITEM_REACTION_PRODUCT use the same IDs, so you cannot have both a material and item reaction product of the same name. Also, though you cannot use GET_ITEM_DATA_FROM_REAGENT with a MATERIAL_REACTION_PRODUCT (there'd be no item type information), you ''can'' use GET_MATERIAL_FROM_REAGENT on an ITEM_REACTION_PRODUCT (in case you want to force your own item type).&lt;br /&gt;
&lt;br /&gt;
== Reactions and world generation ==&lt;br /&gt;
&lt;br /&gt;
There are several things to keep in mind when you're adding reactions to a game that already exists.&lt;br /&gt;
&lt;br /&gt;
* Most entity changes require a regen, but adding PERMITTED_REACTION tokens for reactions that existed at the time of world generation to the entity file in the save directory do not.&lt;br /&gt;
* Adding reactions to the raws in a save directory requires you to regen the world.&lt;br /&gt;
* You can alter an existing reaction in any way you like without regenning the world, so long as you don't alter the reaction identifier.&lt;br /&gt;
&lt;br /&gt;
== Full token list ==&lt;br /&gt;
&lt;br /&gt;
For the sake of convenience and readability, this is a complete compilation of the previously listed reaction tokens in alphabetical order:&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
! Token&lt;br /&gt;
! Arguments&lt;br /&gt;
! Type&lt;br /&gt;
! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ADVENTURE_MODE_ENABLED}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| This version of the reaction can be used by the wanderers of Adventure Mode without needing to also give the dwarves at home in a fortress access to it.  When using this token, it will be allowed for adventurers of any race, without editing entity files. This token does not prevent Fortress Mode usage if assigned to a workshop and the civilization has access.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|FORTRESS_MODE_ENABLED}}{{version|Lua beta}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| This reaction can be accessed when playing as any civilization in [[Fortress mode]], regardless of {{token|PERMITTED_REACTION|e}}. Particularly useful for compatibility or [[Lua scripting]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|WORLDGEN_ENABLED}}{{version|Lua beta}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Adds the materials provided by the reaction to all civilizations, regardless of {{token|PERMITTED_REACTION|e}}.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ANY_BONE_MATERIAL}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must have the [BONE] token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ANY_GEM_MATERIAL}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must have the [IS_GEM] token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ANY_HORN_MATERIAL}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must have the [HORN] token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ANY_LEATHER_MATERIAL}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must have the [LEATHER] token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ANY_PEARL_MATERIAL}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must have the [PEARL] token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ANY_PLANT_MATERIAL}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must be subordinate to a PLANT object.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ANY_SHELL_MATERIAL}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must have the [SHELL] token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ANY_SILK_MATERIAL}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must have the [SILK] token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ANY_SOAP_MATERIAL}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must have the [SOAP] token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ANY_STONE_MATERIAL}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must have the [IS_STONE] token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ANY_STRAND_TISSUE}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent is made of a tissue having [TISSUE_SHAPE:STRANDS], intended for matching hair and wool. Must be used with [USE_BODY_COMPONENT].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ANY_TOOTH_MATERIAL}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must have the [TOOTH] token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ANY_WOOD_MATERIAL}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must have the [WOOD] token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ANY_YARN_MATERIAL}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must have the [YARN] token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ATTRIBUTE_IP}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* Integer&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Skill modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Amount of attribute gain given per skill improvement. Default is 10.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|AUTOMATIC}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| The reaction will be queued automatically if the reaction reagents are all present.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|BAG}} (Deprecated)&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent has to be a bag. Intended to be used with an item type of BOX, to prevent chests, coffers, and other containers from being used instead. Deprecated as of Version 0.50.01 in favor of BAG:NONE [[item token]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|BUILDING}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* [[#building name|Building name]]&lt;br /&gt;
* [[#building key|In-building reaction hotkey]]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Sets the building that the reaction will be performed in, and the button used to queue the reaction once that building's menu is accessed in-game.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|BUILDMAT}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent is able to be used to build structures (Boulders, Wood, Blocks, Bars).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|CAN_USE_ARTIFACT}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent can be an Artifact.  Using [PRESERVE_REAGENT] with this is strongly advised.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|CAN_USE_HOSPITAL_RESERVED}}&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Allows the reagent to be an item that is otherwise reserved for use by a [[healthcare|hospital]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|CAN_USE_LOCATION_RESERVED}}&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Allows the reagent to be an item that is otherwise reserved for use by a [[locations|location]].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|CATEGORY}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* Category ID &lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Puts the reaction in a category. Categories are custom submenus for reaction menus. The category ID is a unique identifier for the category. It is only used in the raws, and will not appear in the game.&lt;br /&gt;
&lt;br /&gt;
If you're defining multiple categories within the same reaction - for example, if you intend the reaction to be nested two deep, and haven't yet defined the super-category - the ''last'' CATEGORY token within the reaction definition is the one that the reaction will appear in.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|CATEGORY_NAME}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* String &lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Category&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| The name of the category as displayed in-game.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|CATEGORY_DESCRIPTION}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* String &lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Category&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| If present, when the category is highlighted in a building menu, this string will be displayed in the Helpful Hint box.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|CATEGORY_PARENT}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* Category ID &lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Category&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| If present, this category will be a submenu of the indicated category, rather than a submenu of the reaction's building.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|CATEGORY_KEY}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* Hotkey&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Category&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| If present, this category can be selected from its parent menu (whether a building or a parent category) using the given hotkey while playing in Classic mode.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|CONTAINS}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* [[#Reagent name|Reagent name]]&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent is a container that holds the specified reagent.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|CONTAINS_LYE}} (Deprecated)&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| If the reagent is a container, it must contain LYE. No longer used - instead, use one reagent for the LYE itself and another reagent with [CONTAINS:lye_reagent].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|DESCRIPTION}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* String&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| A description of the reaction that appears when it is highlighted in the building UI.  ''String'' can also be replaced with a reference to existing DESCRIPTION tokens in tools (using USE_TOOL:&amp;lt;tool_id&amp;gt;) or musical instruments (using USE_TOOL:&amp;lt;instrument_id&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|DOES_NOT_ABSORB}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must have [ABSORPTION:0].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|DOES_NOT_DETERMINE_PRODUCT_AMOUNT}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Performing a reaction with large [[stack]]s of inputs can allow multiple sets of outputs to be produced. Setting this flag causes the reagent to be ignored in this process - for example, with the reaction &amp;quot;1 plant + 1 barrel -&amp;gt; 5 alcohol (into barrel)&amp;quot;, using this on the barrel allows the reaction to be performed as &amp;quot;5 plant + 1 barrel -&amp;gt; 25 alcohol&amp;quot; instead of &amp;quot;5 plant + 5 barrel -&amp;gt; 25 alcohol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|EMPTY}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| If the reagent is a container, it must be empty.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|FIRE_BUILD_SAFE}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent must be considered [[fire-safe]] (stable [[temperature]] below {{ct|11000}}) - i.e. not wood, and not coal.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|FORCE_EDGE}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Product modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Product is given a sharp edge. Used for knapping.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|FOOD_STORAGE_CONTAINER}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent must be a barrel or any non-absorbing tool with [TOOL_USE:FOOD_STORAGE].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|FUEL}}&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Requires that the reaction either use up a unit of coal or charcoal or else be performed at a magma workshop.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|GLASS_MATERIAL}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material has [IS_GLASS].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|HAS_EDGE}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent must be sharpened (used for carving).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|HAS_ITEM_REACTION_PRODUCT}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* PRODUCT_ID (custom)&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Similar to HAS_MATERIAL_REACTION_PRODUCT, but requires the reagents material to have a matching ITEM_REACTION_PRODUCT entry.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|HAS_MATERIAL_REACTION_PRODUCT}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* PRODUCT_ID (custom)&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Similar to REACTION_CLASS, but requires the reagents material to have a matching [[Material definition token|MATERIAL_REACTION_PRODUCT]] entry. Intended for reactions which transform one class of material into another, such as skin-&amp;gt;leather and fat-&amp;gt;tallow.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|HAS_TOOL_USE}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* [[Tool token#TOOL_USE|TOOL_USE value]]&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent must be a [[tool]] with the specific TOOL_USE value. The reagents item type must be TOOL:NONE for this to make any sense.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|HAS_WRITING_IMPROVEMENT}}&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent must contain writing.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|IMPROVEMENT}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* Probability&lt;br /&gt;
* [[#Reagent name|Reagent name]]&lt;br /&gt;
* Improvement type&lt;br /&gt;
* Material Token&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Applies an improvement to the named reagent.  Only meaningful if said reagent has [PRESERVE_REAGENT]. Improvement types include BANDS, COVERED, GLAZED, PAGES, RINGS_HANGING, and SPIKES&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|IS_CRAFTED_ARTIFACT}}{{verify}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent item must be an artifact.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|IS_DIVINE_MATERIAL}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must have the [DIVINE] token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|MAGMA_BUILD_SAFE}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Currently broken - Reagent must be considered [[magma-safe]] (stable [[temperature]] below {{ct|12000}}).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|MAX_MULTIPLIER}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* Integer&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Sets the maximum number of times a reaction is allowed to run when using stacked reagents. This can be used to ensure that the reaction doesn't repeat until the entire stack is depleted.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|METAL_ORE}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* Inorganic material&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must be an ore of the specified metal.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|MIN_DIMENSION}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* Integer&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Requires that the reagent have a size of at least ''integer''. Only effective with BAR, POWDER_MISC, LIQUID_MISC, DRINK, THREAD, CLOTH, and GLOB items.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|NAME}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* [[#name|Name]]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Defines the name used by the reaction in-game.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|NO_EDGE_ALLOWED}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent must not have an edge, so must be blunt. Sharp stones (produced using knapping) and most types of weapon/ammo can not be used with this token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|NOT_ARTIFACT}}{{verify}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent item must not be an artifact.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|NOT_CONTAIN_BARREL_ITEM}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| If the reagent is a Barrel, it must not contain an item that has to reside in a barrel.  Barrel items appear to be lye and milk.  Alcohol appears to be covered as part of [EMPTY].  A reaction which places an item in a barrel should probably have both tags.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|NOT_ENGRAVED}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent has not been engraved i.e. a blank memorial slab.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|NOT_IMPROVED}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent has not been decorated.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|NOT_PRESSED}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent must not be in the SOLID_PRESSED state.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|NOT_WEB}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent must be &amp;quot;collected&amp;quot; - used with THREAD:NONE to exclude webs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|ON_GROUND}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| Reagent must be on the ground. Grabs from stockpiles. Does not grab from bins in stockpiles, nor inventories (workshops, wagon). Causes infinite collection of items if reaction is in workshop, as reagents are no longer on ground when brought to workshop. Untested in adventure mode; possibly more useful for adv. mode reactions.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|POTASHABLE}} (Deprecated)&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Alias for [CONTAINS_LYE].&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|PRESERVE_REAGENT}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent is not destroyed, which is the normal effect, at the completion of the reaction. Typically used for containers.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|PRODUCT}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
*Probability of success (%)&lt;br /&gt;
*Quantity&lt;br /&gt;
*Item token:subtype&lt;br /&gt;
*Material token:subtype&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Defines a thing that comes out of the reaction. GET_MATERIAL_FROM_REAGENT and GET_ITEM_DATA_FROM_REAGENT can be used to defer the choice of material and/or item to the appropriate tag in a given reagent's material - the former comes in place of the material token, the latter replaces both the item and material tokens. See above for detailed information on how the hooks work.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|PRODUCT_DIMENSION}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;|&lt;br /&gt;
* Size&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Product modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Specifies the amount of the product for those items that use dimension. For items of type BAR, DRINK, GLOB, LIQUID_MISC, and POWDER_MISC, one item is dimension 150; one item of CLOTH or SHEET is dimension 10000; and one item of THREAD is dimension 15000. Has no effect on any other item types. Note: this is not the actual [[storage]] volume of the product, which is hard-coded by the item token.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|PRODUCT_PASTE}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Product modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Product is created in the SOLID_PASTE state.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|PRODUCT_PRESSED}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Product modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Product is created in the SOLID_PRESSED state.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|PRODUCT_TO_CONTAINER}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* [[#Reagent name|Reagent name]]&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Product modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Places the product in a container; reagent name must be the name of a reagent with the [PRESERVE_REAGENT] token and a container item type.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|PRODUCT_TOKEN}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* Name&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Product modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Allows the product to be referred to by the given name, for the purpose of being passed down as argument in other tokens in the same fashion as reagent names.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|REACTION}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* Identifier&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Defines a new reaction.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|REACTION_CLASS}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* CLASS_ID (custom)&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Requires the reagent's material to have a matching [[Material definition token|REACTION_CLASS]] entry. Intended for reactions which accept a variety of materials but where the input material does not determine the output material, such as FLUX (for making pig iron and steel) and GYPSUM (for producing plaster powder).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|REAGENT}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* [[#Reagent name|Reagent name]]&lt;br /&gt;
* [[#quantity|Quantity]]&lt;br /&gt;
* [[Item token]]&lt;br /&gt;
* [[Material token]]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Specifies a given reagent as an input for a reaction.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|SKILL}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* [[Skill token]]&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Skill used by the reaction.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|SKILL_IP}}&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* Integer&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Skill modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Amount of skill given per product made. Default is 30. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|SKILL_ROLL_RANGE}}&lt;br /&gt;
|  style=&amp;quot;vertical-align: top&amp;quot;| &lt;br /&gt;
* Range&lt;br /&gt;
* Multiplier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Skill modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Determines how [[skill]] level affects [[quality]] of the reaction product.  The skill roll is random(range) + random((skill level * multipler)/2 + 1) + random((skill level * multipler)/2 + 1). random(x) returns a number between 0 and x-1, so range is always 1 or more.  The default is 11. The default multiplier is 5. Higher skill rolls give better results.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|TRANSFER_ARTIFACT_STATUS}}&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Product modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Transfers artifact status from the reagent to the product.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|UNROTTEN}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent must not be rotten, mainly for organic materials.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|USE_BODY_COMPONENT}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must come off a creature's body.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|WEB_ONLY}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent must be &amp;quot;undisturbed&amp;quot; - used with THREAD:NONE to gather webs.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|WORTHLESS_STONE_ONLY}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent is not made of an economic stone.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| {{text anchor|WOVEN_ITEM}}&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent modifier&lt;br /&gt;
| style=&amp;quot;vertical-align: top&amp;quot;| Reagent material must be a woven material, eg. plant cloth, silk, yarn. This ''excludes'' CLOTH or THREAD items.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
:''Main articles: [[Reaction examples]]''&lt;br /&gt;
&lt;br /&gt;
{{Category|Modding}}&lt;br /&gt;
{{Category|Tokens}}&lt;br /&gt;
[[ru:Reaction]]&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Bilberry&amp;diff=310492</id>
		<title>Bilberry</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Bilberry&amp;diff=310492"/>
		<updated>2025-08-12T22:53:28Z</updated>

		<summary type="html">&lt;p&gt;DPhKraken: Fixed hyperlinks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Fine}}&lt;br /&gt;
{{plantlookup&lt;br /&gt;
|graphic=bilberry_shrub_sprite.png&lt;br /&gt;
|seedimage=bilberry_seeds_sprite.png&lt;br /&gt;
|uses=&lt;br /&gt;
* [[Food]]|wiki=vaccinium myrtillus&lt;br /&gt;
}}&lt;br /&gt;
{{av}}&lt;br /&gt;
&lt;br /&gt;
'''Bilberries''' are an [[aboveground]] [[crop|garden vegetable]] that highly resembles blueberries. They can be planted in all seasons, the fruit is edible raw or [[cooking|cooked]], and can also be [[brewing|brewed]] into [[alcohol|bilberry wine]], or processed in a [[dyer's shop]] into violet [[dye]].&lt;br /&gt;
&lt;br /&gt;
When processed at a [[farmer's workshop]], bilberry bushes produces bilberries and seeds.  &lt;br /&gt;
&lt;br /&gt;
They are among the [[blueberry|very]] [[cranberry|few]] crops that can be grown in a [[tundra]] environment.&lt;br /&gt;
&lt;br /&gt;
Some [[Dwarf|dwarves]] [[preferences|like]] bilberry bushes for their ''fruit''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Lahemaa mustikad.jpg|thumb|center|300px|Admired for its ''fruit''.]]&lt;br /&gt;
&lt;br /&gt;
{{gamedata}}&lt;br /&gt;
{{Plants}}&lt;/div&gt;</summary>
		<author><name>DPhKraken</name></author>
	</entry>
</feed>