Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Atkana

Pages: [1]
1
Collection of Scripted Things/Toys/Tools is a group of mini-mods that use scripting to provide new experiences that can only be achieved through (or at least, made easier by) the use of scripts. Each mini-mod is usually focused around one unique thing, with a full(ish)-fledged tool alongside them for further use whenever it's appropriate. Some of these were intended to be part of bigger mods that I never really finished or released - making these as mini-mods gives me an excuse to create them, and they're much easier to finish than big projects :P

Obviously, everything here requires DFhack.

Nets - Entangle your enemies (Download)
Adds a new simple item: nets. They count as (bad) shields, and can be used to entangle your enemies (web them), either by a small chance when attacking with one*, or by throwing it at them.

Included is the modtool used to create it, allowing anyone who wishes to create their own sources of entanglement. Supports item and creature attacks, with customisation concerning whether the source is used in melee, shot, or thrown.

Please refer to the readme for more information.

(* due to current DFhack problems, attack-based entanglement doesn't work in adventure mode :c)

Changelings - Shapeshifters that consume to learn new forms (Download)
Adds a shapeshifting monster with some unique mechanics to the game: changelings. They feast on flesh to learn new forms that they can assume at will. The wild monsters you encounter in fortress mode and adventure mode will have mastered many forms, shifting into predators to fight you. In adventure mode you can play as a fledgeling changeling, adding forms to your collection as you kill and eat numerous creatures.

Also includes the script(s) that make it possible. Out of the box it comes with an option for changeling powers to be granted by secrets, should you want to make some transformation magic.

Please refer to the readme for more information (there's some important notes there!).

Poisoner's Pack - Play with poisons (Download)
The poisoner's pack is a collection of scripted mini-mods based around poisons and enhancing/enabling poison-based gameplay for both modes. It features:
- Coating: Apply poisons to items.
- Extraction: Drain poison from poisonous creature's meat, and milk poison from live creatures (enterprising poisonous adventurers can milk their own venom).
- Potency: The timings for poisons are adjusted in adventure mode to allow them to actually have an impact in combat.
- Weapon Buffs: Bows and blowgun - both weapons better suited to delivering poisons rather than killing - have had their fire rates increased to aid in delivering poison. Bows fire at twice the rate of crossbows, and blowguns twice as fast as bows.
- Sources: A few new sources of poison are included (mostly plants), since you probably actually want some poisons to use in a poison mod...

Each mod included comes with its own readme file which outlines everything it does, as well as notes and information on how to configure their settings.

2
Mod Releases / Floran Garden - Grow your own fortress
« on: June 01, 2021, 03:21:15 am »
Note: I ran into quite a few frustrating problems while developing this mod that kept discouraging me from working on it (absolutely read the "Notes / Known Issues" section before using!). I worked on it on and off, usually quitting after reaching another annoying roadblock out of my control, with the last point of quitting being right at the point the mod was in its final playtesting stage. It's just been sitting on my hard drive gathering dust, potentially fully functional (or closeish to it) and with a full writeup of what everything does, and so I've decided to just go ahead and upload it in case somebody gets some use out of it. Just know there could be problems with it.

Download Link

Style
  • Crop-centred gameplay. Grow furniture straight from the ground, weave wicker goods, and build out of bushes and flowers.
  • Above-ground requirements. Needing sunlight for nourishment, Florans will get sick and potentially die if left without sunlight for too long.
  • Defend yourself with a selection of living plant creatures that are specialised for a slightly tower-defence feeling style.

Florans
The Florans are peaceful plant-based creatures. Their aim is to bring more plant life into the world, brining life into areas where there is little or none, forming sprawling gardens from living plants they shape for function.

The destruction of plantlife - especially trees - is greatly frowned upon by Floran society (though they won't turn away wooden products like the elves). Chopping of trees is forbidden unless sanctioned by site governments, being only done in extreme circumstances like preventing disease from spreading, otherwise Florans are expected to work and build around them. Even when given the blessing to do so, most Florans will be upset at being told to cut down a tree.

Using the plants for otherwise destructive manners, such as for drinks in places without water, or crafting into wicker furnishings, is a practice debated amongst Florans, but it's generally accepted that if such things are necessary, or that more plants are grown to replace them, such things are acceptable.

  • Being plants, Florans photosynthesise and don't need to eat (they still need to drink, however). This has some added benefits of not having to break from whatever they're doing to eat, though means that they require semi-regular trips outside. Being away from the sun for half of a season solid (about how long it takes for a dwarf to become "Hungry") is lethal to a Floran, though this isn't very likely for above-ground forts. This wilting mechanic follows the same rules as cave adaptation, meaning that it's quickly recovered from (1 tick spent outside in the sun offsets 10 ticks spent inside).
  • Florans can have one of four seasonal forms, with colourations and personality traits befitting the season. During adventure mode, you'll only find the Florans of the current season out in the wilderness, whereas Florans born in civilization will have a form of a random season.
  • Florans reach adulthood at 5, have no max age, and grow to be the size of elf/dwarves.
  • They're naturally immune to the effects of nausea, dizziness, and fevers, however will lose their resistance to dizziness, as well as become dizzy, as they progress through the stages of wilting.

Plants
  • Spindlewood - A fast-growing spindly plant that grows pretty much everywhere. Its primary use is for wickercraft, being able to be weaved into a number of furnishings and objects by a Weaver at a Craftsman's Workshop.
  • Tangleleaf - A leafy bush that grows pretty much everywhere. Their leaves (made available by processing the plant into bags) are invaluable to a Floran garden, as leaves are required for crafting bushes - a staple for Floran construction - as well as woven objects.
  • Rainblossom - A rainbow coloured flower that grows pretty much everywhere. Their flowers (made available by processing the plant into bags) are useful to Florans for making flower decorations, as well as blooms for building with. As one of the only plants with gatherable flowers, growing rainblossoms is important if you want to use any of the flower-related features.
  • Woodsculpt - A valuable, somewhat slow-growing plant that grows pretty much everywhere. Woodsculpt plants are strange things, being able to grow into distinct shapes of furnishings and items straight from the ground (availabe after processing the plant with the "extract grown furniture/items" reaction). Woodsculpt wood is more precious than most, having a material value of 2, and though the products lack quality levels, they make up for it in quantity, what with skilled growers increasing the yields of plants that they grow. The following items are available as woodsculpt plants: armor stands, barrels, beds, bins, cabinets, chairs, chest, coffins, doors, statues, tables, weapon racks, cages, nest boxes, jugs, hives, minecarts, wheelbarrows, stepladders, bookcases, pedestals, buckets, altars.
  • Timbersprig - A source of wood logs (after extracting them from the plant with the "extract grown furniture/items" reaction) without having to murder noble trees in their prime. Consider this an optional way of getting access to standard carpentry methods if you don't want to have to otherwise rely on woodsculpt or wicker plants for your wooden products. Grows slower than regular plants.
  • Snaphydra, Man eater, Goblin's-breath, Creeping nettle - Plant forms of the Florans' plant creatures. They grow slowly for plants, taking almost a whole season to mature. Their pods aren't useful for much without DFhack (aside from being very valuable growths), but with DFhack they can be hatched into adult forms of their creature counterparts with the "release plant creature from pod" reaction at the Farmer's Workshop (this is also the only way to get more seeds back from the plant, besides the creatures themselves). Since normally-born plant creatures usually take a whole year to fully mature, making them this way is 3 times as fast.

Creatures
All of the non-Floran plant creatures have several traits that make them more beneficial than regular fleshy animals: they feel no pain, can't be stunned, don't truly think, don't get tired, don't get dizzy, don't get fevers, and feel no fear. Unlike Florans, you won't have to worry about them wilting from lack of sunlight (this was a gameplay decision so you don't have to worry about wrangling all those animals). For simplicity, each of the plants give birth to live young like standard creatures (try not to think about it), though you can use the DFhack-enabled plant growing method if you're looking for a more exotic way of breeding them.
  • Snaphydra - A small, sentient plant with many snapping mouths. No bigger than a cat, these plants enjoy scurrying around and eating up vermin.
  • Man eater - A man-sized plant with a large, snapping jaw as a head. It devours any creature that strays too close. They are very slow-moving, and shouldn't be expected to give chase to fleeing creatures. Useful for defending areas you know attackers will be travelling through.
  • Goblin's-breath - A large, squat flower that constantly spews a foul-smelling substance. Its gasses are nauseating for poisonable creatures who inhale them (Florans and plant creatues are immune to this, as they are not classed as poisonable creatures). Their oils can be milked from them and potentially be turned into soap, however the foul smell makes it less valuable than that of other plants. It has the same manoeuvrability (or lack thereof) as man eaters.
  • Creeping nettle - A crawling mass of vines, the size of a dog. It can spray plant-based webs to ensnare creatures.

Reactions
Farmer's Workshop
  • Extract grown furniture/items (Plant processing) - Used to get the furniture items from grown Woodsculpt plants, as well as returning seeds. Also used to retrieve wooden logs from Timbersprig plants.
  • Weave cloth from leaves (Weaving) - Takes a leaf and turns it into a cloth made of leaf. (Unfortunately, attempting to make bags from leaf cloth will result in boxes instead).
  • Create bush (Grower) - Turns a leaf into a bush (a block you can use for building or making topiary).
  • Create _____ bloom (Grower) - Turns a flower into a bloom of the chosen colour (a block you can use for building or making topiary).
  • Release plant creature from pod (Plant processing) - Takes one of the special pods from the plant creature plants and turns it into an adult plant creature, freeing its seeds. This reaction is only present when DFhack is installed. NOTE: This reaction utilises modtools/create-unit, which is potentially causing crashes / save corruption currently. I'd advise strongly against using this reaction until this problem is fixed in a later DFhack version.
Craftsman's Workshop
  • Decorate with flowers (Woodcrafting) - Decorates an undecorated item with flowers.
  • Cut topiary (Wood cutting) - Take 3 bushes or blooms and turn them into a statue. Note that because of some Dwarf Fortress weirdness, the reaction might not use bushes/blooms that are all the same material.
  • Construct/Make wicker _____ (Weaver) - Take a varying number of wicker-suitable plants (by default, that's Spindlewood) and make an item. One seed is also returned for each plant used in the reaction. Wicker items include: armor stands, beds, bins, cabinets, chairs, chests, coffins, statues, tables, weapon racks, cages, altars, bookcases, display cases, hives, pedestals, pots, nest boxes, backpacks, quivers, crafts.

Embarking
  • Without natural access to stone (and therefore ores), Florans won't have pickaxes or axes available to embark with outside of the randomly generated ones that always appear in the prepare carefully list. Be careful, since if you remove those from your items, you won't be available to add them back in!
  • Tangleleaf and Rainblossoms are pretty much compulsory if you want to build from bushes and blooms, or make any leaf/flower-based crafts, as the two plants are pretty much the only sources of the two.
  • Spindlewood is the only source of wickerable plants, so you'll want to bring some along with you if you plan on making any wicker crafts.
  • At least one of each Woodsculpt seed will mean you'll be able to grow whatever standard items you want.
  • You might find Timbersprig seeds useful to bring so that you can have access to regular carpentry as a backup.
  • Skilled Growers are fairly desirable, as skilled planting can increase the yields of everything you grow.
  • Plant creatures are useful to bring to serve as fearless, indefatigable protectors for your gardens.
  • By bringing at least a bar of charcoal and some Timbersprig plants to process, you can have access to some building material for your initial workshops without having to mine or cut trees. Use the charcoal to set up a Farmer's Workshop, then use "Extract grown furniture/items" to turn the Timbersprig plants into logs.
  • By bringing along fully grown Woodsculpt plants, you can effectively embark with furnishings of your choice - all you've got to do is extract them at a farmer's workshop.

DFhack optional extras
This mod features a number of extra enhancements which'll automatically be active when playing with DFhack installed. While they were intended to be nice optional extras to go ontop of a vanilla-focused mod, due to certain problems getting the plants always available for Floran civs, it's recommended you play this mod with DFhack installed exclusively.
  • All the necessary plants from this mod will always be available to Floran civilizations, even if the plants aren't locally available (it's very unlikely for them to spawn with access to all their plants).
  • All products from the "extract grown furniture/items" reaction (so woodsculpt items, as well as timbersprig logs) will become "grown" items, meaning that elves and other races who care about tree murder should accept them in trade (things carved from timbersprig won't count as grown, however).
  • A new reaction "release plant creature from pod" will appear in the Farmer's Workshop. It takes in any of the plant creature pods, and produces an adult creature version of the associated plant creature, as well as some seeds. Warning: See "Notes / Known Issues"
  • During Fortress Mode play, all the general reactions required to make use of the plants introduced by this mod (extracting grown items, weaving wicker, releasing creatures from pods) will automatically be made available to all civilizations without having to edit their entity files. This probably won't actually make the products available to the civ's resources, but will at least make the features available during gameplay.
  • clothing-optional is included and configured for Florans, meaning they won't get unhappy about being unclothed, since being uncovered sounds like something plants would want to be.

Notes / Known Issues
  • Unless you get lucky with world generation, it's unlikely that Floran civilizations will have access to all of their plants. As such, it's highly recommended to play with DFhack, as then all of the plants from this mod will automatically be made available to Floran civilizations.
  • Because Florans breathe through their skin, most injuries to their body will results in "mortal wound"s which occasionally give them trouble breathing. These wounds won't actually be mortal - Dwarf Fortress is hardcoded to display that message whenever any BREATHE body part is damaged.
  • Being made out of plant matter, the plant creatures can be potentially flimsier than most.
  • In order for some of the plants to be treated as proper resources by the game, they've had the EDIBLE_COOKED flags added to them, even if that's less than ideal or doesn't really make sense. Make sure to manage your kitchen settings if you don't want precious plants (like the expensive plant creature pods) from being cooked for food!
  • All regular jobs are available to Florans except for fishing, which is disabled in an attempt to avoid some worldgen crashes related to NO_EAT races.
  • At the moment, the Floran entity doesn't have any special positions. Entity-level positions are randomly generated, and site-level positions are just the basic dwarf options up to mayor-tier.
  • Floran citizens will appreciate having somewhere to clean themselves - they constantly produce pollen and occasionally take the time to go and clean it off.
  • Due to game bugs with PLANT_GROWTH items, some of the reactions that should use specific types of growths will use ANY growths. It means that you can create flowery blooms from garlic bulbs, leaves, and the like. That might be useful, but just make sure you aren't accidentally using up items you don't want to in the process (like fruits you may have wanted to brew with!).
  • A repeat of the warning concerning the "Release plant creature from pod" reaction: This reaction utilises modtools/create-unit, which is potentially causing crashes / save corruption currently. I'd advise strongly against using this reaction until this problem is fixed in a later DFhack version.

Updates
Release 2
While going through the floran raws to copy paste some stuff on a new project, I noticed that there was a typo meaning florans didn't get proper walking speeds. Oops. All this update does is add in the missing [ to fix that.

3
DF Modding / [Science] How butchery yields are calculated
« on: February 02, 2021, 10:32:57 am »
So after doing a bunch of butchery-related science, I've figured out some things like how item yields are calculated, and thought I'd share the write-up of my results. Maybe someone will find them useful (or it's already been done before, and I've seriously wasted my time :P). I've not really shown my working (my notes are long and messy), aside from a few examples to better explain a point, but I have conducted enough tests that I'm fairly confident on my conclusions.

Most of the information is written assuming that you already know mostly how modding works (for example, I don't go into any explanation about what tissues are), and it's a bit unstructured, so just bear those in mind.

Calculating Yields
Yields are calculated on a per part, per layer basis. Each tissue layer on a part is considered individually, even if multiple layers of the same part are made of the exact same materials. (footnote 1)

Step 1: Get the base volume of the tissue layer
I'm not going to explain how RELSIZEs and RELATIVE_THICKNESSes work exactly, because I'm terrible at explaining things, so I'll just operate on the assumption that you know how they work, or have looked elsewhere for an explanation :P

The base volume of a tissue layer is based on what percent of its body part volume it represents (based on the layer's RELATIVE_THICKNESS compared to the RELATIVE_THICKNESS of all other layers), which is based on what percent of the whole body's unmodified base volume (defined with BODY_SIZE) that the part represents (based on the part's RELSIZE compared to the RELSIZE of all other parts).

Only these aspects - the relsizes of body parts, the base body size, and the relative thickness of a tissue layer compared to others on its part - are what are considered at this stage. Things like whether the layer thickens with strength, if the part has size modifiers, etc. aren't factored in here. This is an important thing to note: they have no impact on the relative base volumes of parts in this calculation! (footnote 2)

Even if a layer is now missing (like fat having melted off), its defined relative thickness is still factored in to the calculations - the volume of muscle on a part doesn't suddenly increase because the fat layer is gone or anything like that.

Step 2: Apply modifiers to each tissue layer's base volume to get its modified volume
There are multiple different modifiers that affect the base volume to get the modified volume. Because these modifications happen after relsizes and such have been considered, they don't impact the volume / yields of any of the other layers on its body part, or any other body parts.

Each of these modifiers is applied as a multiplier to the base volume.
Body Modifiers
The HEIGHT, BROADNESS, and LENGTH of the creature's whole body is used as a modifier. The values for these can be set using the BODY_APPEARANCE_MODIFIER token (whenever these tokens are omitted, the default values are 100).

Modifier = (Body Height / 100) *(Body Broadness / 100) * (Body Length / 100)

Body Part Modifiers
The HEIGHT, BROADNESS, and LENGTH of the body part are used as a modifier. The values for these can be set using the BP_APPEARANCE_MODIFIER token after selecting the part (whenever these tokens are omitted, the default values are 100).

Modifier = (Part Height / 100) * (Part Broadness / 100) * (Part Length / 100)

Stronk and chonk - THICKENS_ON_STRENGTH and THICKENS_ON_ENERGY_STORAGE
If the tissue has the THICKENS_ON_STRENGTH or THICKENS_ON_ENERGY_STORAGE tokens, modifiers based on the creature's stats are applied.
  • If a layer has just THICKENS_ON_STRENGTH, the multiplier is the creature's STRENGTH/1000.
  • If a layer has just THICKENS_ON_ENERGY_STORAGE, the multiplier is the creature's fat amount / 250,000. Because a creature's "normal" fat level is 500,000, you'll likely notice adding this token to a tissue will double the yields from that tissue, as that value gives a 2x multiplier.
  • If a layer has both THICKENS_ON_STRENGTH and THICKENS_ON_ENERGY_STORAGE, the multiplier is the mean average of the two multipliers combined (so the multiplier is: (Strength/1000 + Fat amount/250,000) / 2). This means that it some cases, you could end up getting lower item yields having both tokens than just having one.
Other Modifiers
The amount of a layer that's remaining after some of it has been lost does have some impact on its yield volume, however I didn't purposely investigate it. I'd assume that the % of layer that's remaining is used as a modifier. I did test what happens when a layer is fully gone, however - it yields 0 of its item, regardless of the special clauses (see: later).

Step 3: Get the item yields
The number of items yielded from butchering the tissue layer is based on a simple formula (however, there are some special cases that can modify the number of items):

Number of items = Modified volume / 25,000 (rounded down)

In cases where the yield from this calculation is 0, there are two special clauses that can apply, based on the body part's size, and the modified volume of the tissue.
  • Volume Clause: If the modified volume of a layer is at least 260, any yield of 0 is changed to 1.
  • Part Size Clause: If the size of the body part that the tissue layer is a part of is at least 260, any yield of 0 is changed to 1. A layer could in practice represent even a tiny fraction of a volume unit, and yet still yield 1 item just because its part is 260 or bigger.
Butcher Items
What items are actually yielded from butchering a tissue layer is based on the material it's made from. There are some specially-coded cases based on the materials tokens - for example, materials with the MEAT token will yield meat, materials with the BONE token will yield bone. The token BUTCHER_SPECIAL can be used to set the item yield to be any particular item you desire.

The item count isn't at all impacted by the size of the item being produced. If a layer's modified volume is big enough to yield 40 items, it'll yield 40 meat or 40 statues all the same.
Items with standard dimensions (e.g. BARS, THREAD, CLOTH) seem to be produced at those standard dimensions. For example, with a BUTCHER_SPECIAL:THREAD:NONE material that has a modified volume large enough for an item yield of 10, a stack of 10 thread items will be produced, each item being at 15000 dimensions.

Extra Butcher Objects
Extra butcher objects don't impact the yields of butchering layers associated with the parts at all. They also don't care if the part they're attached to is big enough to yield at least 1 item if it was butchered regularly. So, an extra butcher object that's attached to a body part whose volume is below 260 will still drop its item, even if butchering the layers on that part might not yield anything.

NOMEAT, NOBONES etc.
So how do the creature tokens such as NOMEAT and the like factor into yields for their items? They don't at all, as far as I can tell. Perhaps the tokens affect fort-mode butchering (not adventure mode/arena that I tested with), or the tokens are depreciated from an old version, or they're not supposed to do anything to do with butchering and handle something like whether entries show up in the stockpiles screen or not.

Footnotes
Spoiler: (1) (click to show/hide)
Spoiler: (2) (click to show/hide)

4
DOWNLOAD

This is a simple mod that adds giant and animal person variations for COMMON_DOMESTIC creatures. I followed fairly close to the rules used by the vanilla game for converting the creatures, so they should fit in fairly well with the existing giant animals/animal people already in the game.

The following is a list of the introduced creatures' fully grown sizes:
AnimalGiant SizeAnimal Person Size
Dog20100050000
Cat20000037500
Mule3200000235000
Donkey2400000185000
Horse4000000285000
Cow4800000335000
Sheep40000060000
Pig48000065000
Goat40000060000
Chicken20010036500
Cavy20000035400
Duck20000035500
Water Buffalo8000000535000
Reindeer1040000100000
Goose20025037250
Yak5600000385000
Llama1440000125000
Alpaca56000070000
Guineafowl20100035750
Blue peafowl20000037000
Turkey20000037500
Rabbit20000035250

Some noteworthy animal people include:
Sheep men and goat men, for being the same size as elves / dwarves / goblins, and thus easily able to wear their clothes.
Alpaca men, for being the same size as humans, and thus easily able to wear their clothes.
Pig men, for being between the sizes of humans and elves / dwarves / goblins, able to wear any of their clothes.

5
Sorry not sorry. (Download link)

This stupid mod adds a new secret, as well as 3 new creatures, themed around felines. It was all inspired by a pun somebody made in the DF discord. I regret nothing. While I have tested this mod, I haven't done so extensively, and I'm not sure I want to justify spending more time testing it since it's supposed to be a joke :b (Also, let's agree to ignore the fact that there are more cats in the game than just the domesticated ones)
New creatures
  • Hellcat - A vicious and evil cat. They're a bit bigger than regular cats, but still very small. They make up for their size with their natural fighting ability, ferocity, and fangs and claws made of bronze. They occur underground in evil biomes, and entities with access to evil creatures always have access to them. Oh, they're also fire resistant (and so all of their materials should be fire safe) and can spit searing globs of spittle. Have fun with those.
  • Nekomimi (catgirl, catboy) (again, not sorry) - Humanoid creatures with the ears and tails of cats. They're unintelligent and kept as pets, fulfilling the same role as cats. They don't appear naturally in the world, and can only be summoned by Nekomancers. It's possible that you might be able to obtain them from encounters with Nekomancers.
  • Oninekomimi (hellcatgirl, hellcatboy) - Evil hellcat variants of the nekomimi, which are basically just nekomimi with all of the traits and abilities of hellcats. They never naturally occur, and are the result of a Nekomancer corrupting a nekomimi.
Remember: As with any pet creature, outsider adventurers should always have access to them.

Nekomancy
Nekomancy is learned in the same way as its necromantic counterparts - people fearing death appeal to the gods for slabs containing the knowledge, and then will do what they usually do with the information. Nekomancers are interested in the more important things in life - that is to say, cats - rather than silly things like life and death. As such, Nekomancers only gain the benefit of never ageing (thanks, nine lives), rather than the extensive "bonuses" that necromancers gain. The powers that they gain are listed below.

Note for adventure mode: the raise x servant, pet caringly, and intelligence-granting headpat all bestow a short-lasting excitement-seeking boost, which should make the recipient far more likely to agree to adventure with you for the duration.

Animation
Be aware that all of the Nekomancer's animation abilities require that the body is both fit for resurrection (has an upperbody) and fit for animation (has an intact head, and ??). Also, since interaction targeting is bugged, avoid targeting corpses that you have animated or transformed before, since unintended things will occur (df bug unfortunately, not much I can do about it).
  • Raise hellcat - Reanimates a corpse into a hellcat.
  • Raise (catgirl/boy) servant - Resurrects a corpse and turns them into an immortal, intelligent nekomimi. This works in a similar way to how necromancer lieutenants function, so they may still be hostile to you if you were an enemy in their life. They don't get any special abilities or anything.
Summoning
  • Summon pet cat - Summon a regular cat which is made your pet.
  • Summon pet (catgirl/boy) - Summon a regular (unintelligent) nekomimi as a pet.
  • Conjure catsplosion - Temporarily summon a blob of cats to act as distractions, which disappear after a short amount of time. Unfortunately because of some problems with DF, the location you choose to summon them is ignored, and they will always be summoned around the caster no matter what.

Other Abilities
  • Pet Caringly - A special pet interaction that you can use on creatures regardless of level of intelligence. The receiver gets a small happy thought, and is somewhat relieved from any pain, dizziness, fever, or nausea they might be feeling.
  • Intelligence-granting headpat - Another special pet interaction which grants the petee the ability to think and talk.
  • Corrupting headpat - An infernal magic pet interaction, which will warp cats and nekomimi into their hellish counterparts. Note that because of dwarf fortress limitations, you won't be able to use this on nekomimi gained from the raise x servant interaction.
Technically there's nothing that stops you from using the pet interactions on yourself (and some of them you can use on creatures several tiles away... no idea why).

6
Mod Releases / [47.02] Endless Legend mod (1 week challenge)
« on: February 16, 2020, 01:20:19 pm »
Forewarning: I set myself the challenge of seeing what I could make in a week, with the intention of releasing it by the end, and this is the result. The mod might be (well, definitely is) lacking polish, nuance, and testing within certain areas, so be aware there might be some jank :P Perhaps in the future I'll pick this up again and continue to add to it, or maybe not (there's still a lot more I could add!). Or, if anyone else wants to add more, they're welcome to.
The whole experience has been pretty fun - I learned a decent amount about managing my time, was surprisingly productive, and ultimately got to add some new things to DF that I like (at least, I don't think anyone's done Endless Legends stuff before). I'd highly recommend anyone checking this out to try a one week challenge themselves to see what they can get made. Anyway, on with the mod...

Download Link
This mod adds a few of the creatures, factions, and resources from the game Endless Legends.

Each entity added by the mod is in its own file, so you can pick and choose which ones you want to use. There's also a settings file (c_variation_endless_settings) that you can edit to change a few of the default behaviours of the mod:
  • Enable flying for the civilised creatures that should be capable of flight. It's initially disabled because of problems with pathing that can arise in fort mode.
  • Allow playable civilised creatures to be able to have strange moods. I know it's supposed to be a dwarf thing, but it does make playing forts more fun.
  • Make Drakkens lay eggs. Egglaying is a bit janky for civilised creatures in fort mode from what I remember, so this is disabled by default.

New Civs and Creatures
There are five of the major factions included in the mod, with four of them being playable (didn't have enough time to make the necrophages the way I wanted them!): the Allayi, the Drakken, the Roving Clans, the Cult of The Eternal End, and the Necrophages. There's not a whole lot of variation between how they play - they're all effectively human-tier civilisations, with basic fort mode positions up to mayor - it's basically breadth over depth :b. Additionally, three of the minor factions are included as well: the Bos, the Ceratans, and the Sisters of Mercy. Each is limited to only 1 instance per world, in an attempt to limit how significant they are (though worldgen can always have other plans...)
You should be able to start as an adventurer from any of the factions, even the unplayable ones.

Allayi
The Allayi are man-sized canids, dedicated caretakers to the world. As the cycle of the moon reaches a point where it is more than half full, the Allayi's natures shift from calm and peaceful to something far more aggressive. They strongly value nature, competition, and tradition. They begin with access to the great Skyfin - a large flying snake creature - which they employ during sieges as attack creatures and mounts. The Skyfins can also rarely be found in the wilds, worming through the winter air in the remote tundras and glaciers of the world.

Drakken
The Drakken are a draconic people, who hold the ideals of knowledge and peace above all else. They can be born as three distinct castes: first, the Drakken, they stand slightly taller than a human, with a natural grasp on diplomatic aspects (increased social awareness, patience, and empathy); equally as common are the Drakkenlings, slightly scrawnier Drakken the size of humans, who are naturally built to be soldiers (increased agility, toughness, endurance, and kinesthetic sense); finally, and most rare, are the great Ancients - large wyverns with a perfect memory, and strong linguistic abilities and intuition. Knowledge comes easily to the Drakken, and they develop skills at an accelerated rate when compared to their peers.
A council of twelve rules Drakken civilisation, formed from the most promising of the eyrie leaders from across their sites. Each site is managed by a duo of eyrie leaders, who are each as demanding as a mayor, even for fledgling sites (so be warned).
The Drakken naturally have access to wyverns - dragon-like creatures with a slight natural talent for biting and wrestling prey - and they employ them as siege units and mounts. Wyvern appear rarely in mountainous biomes also, for civs with the bravery to attempt to tame them.

The Roving Clans
The Roving Clans are a human civilisation, who travel the land to seeking great profits. They are cultivators of the gigantic Setseke - absolutely massive scarabs that are usually tasked with carrying buildings or entire cities upon their backs. Unfortunately, DF doesn't yet support city-carrying creatures, so they just serve as pack animals. They've been downsized to fit better into the game, but they're still as big as the biggest creature in the game (the giant sperm whale), so maybe think twice about angering one. The Clans also employ a heavy cavalry creature called a Yirmak for almost all purposes.
It might be difficult to tell this civ from other human civilisations, since they all get grouped under the umbrella of "human". Look out for the groups that use words related to wealth, trade, or travel.

The Cultists of the Eternal End
Strange, robotic beings, whose goal is to unite the world under their banner. Burden bearers - beings similar to them, but without arms - are employed to drag carts and carry weights, and Fanatics - large mechanical tripods - are used as mounts to trample anything that gets in their way.
(Unfortunately, I couldn't really tweak them to be genderless, single-city beings like in the games. It might be possible to make something workable with some time, but that's something I ran out of ^.^;)

The Necrophages (not playable)
The Necrophages live in hives as a great swarm, bent on conquering and consuming all they come across. Workers and flying drones serve their hive's queen, employing acid spit and toxic corrosive gas respectively to engage their prey. Proliferators - large, wormlike creatures - aid the swarm, infesting nearby corpses with parasites which reanimate them into Battle Born - soulless, mindless soldiers of war.

(They don't seem to do very well in worldgen, probably because they don't have access to any armour. With a bit of tweaking it can probably be fixed to make them far more threatening.)

Centaurs (minor faction, not playable)
The Bos are centaur warriors and messengers. They build simple, temporary mounds as shelters.

The Sisters of Mercy (minor faction, not playable)
The Sisters of Mercy are a human faction, who try to enforce their ideals of mercy upon the world. Their warriors are also healers, and they are known to make use of pixie bloom and its healing effects.

(Ideally, they'd have some female-only noble positions to reinforce their matriarchal faction setup, rather than relying on generated positions. That's something for a polish-pass, if one ever happens.)

Ceratan (minor faction, not playable)
Half-human, half-spider, the usually cave-dwelling Ceratans occasionally make their way to the surface to found simple towns to house their eggs. While they will hunt prey with their sharp, scythe-like forearms for food, they are otherwise largely pacifistic. They weave webs which they use to help tend to other's wounds.

New Resources
Redsang
A lichenous plant that grows in wet climates. It can be ground at a mill into a precious spice to increase the value of meals.

Glassteel
A viney plant that grows in wet climates. It can be processed in a smelter into metal bars. Glassteel has the material properties of bronze, while also being incredibly lightweight - think of it like adamantine-lite.

Grassilk
A plant that grows in dry climates. It can be woven to produce a fine and precious silk.

Pixie bloom
A flower that grows in dry climates. In addition to being used for oils and soaps, it can also be ground down into powder. As a powder, it can be brewed at the still to create healer's tonic, a drink that grants its drinker the magical ability to heal the minor wounds of others for a time.

(This is based on Endless Legend's pixie blood resource, translated into a flower for ease of application).

Titan bones
A slightly precious material that doubles as both stone and bone. It occurs in veins at the soil level.

Blood crystal
A fairly cheap red gem found in clusters in all stones. It can be ground into a powder and then brewed at a still to create blood crystal tonic. Blood crystal tonic is a drink that is a boon to soldiers, making them completely immune to feeling pain while the tonic is in their system.

7
So I recently did some investigations on how I might be able to make a dummy creature which dies instantly for the purposes of some modding shenanigans, and figured I should share the results to save anyone else looking into it some time (so only my time was wasted on this endeavour :P). If you want the best results, just jump to the summary.

The Test
I tested all of these results in the testing arena, staying within the fort mode... mode. All test creatures were based around a basic prototype creature, which was edited to suit the tests. I ran each test at least a couple of times before drawing my conclusions. Tests were performed on version 0.44.12 because I haven't gotten around to updating yet. Because it takes a bit of effort to test vermin in the arena, and I'm lazy, I didn't test the creatures in vermin form to see if that makes any difference.
Spoiler: "Base creature" (click to show/hide)

Death Style: Rotting
I figured that inflicting the creature with instant and severe necrosis would cause its body to instantly rot away. The creature was made to constantly secrete a severity 1000, localised, contact syndrome from its body. The body became rotten instantly (its body being described as rotten), however the creature continued to live just fine. Adding [ROTS] to the creature's material didn't cause any changes.

Status: Creature lives
Death Style: Melting / Boiling
I think I've seen this as a recommended method. Setting the creature's material's MELTING_POINT and BOILING_POINT to 0 in different tests resulted in the creatures melting to death after some time, alongside the message "x has melted". Increasing the temperature of the creature by giving it a high homeotherm didn't seem to have any impact on how long it took to melt - all meltings no matter the temperature or whether caused by MELTING_POINT:0 or BOILING_POINT:0 took the same amount of time. This seems to suggest that there might be some universal timer for how long a creature can survive while melting. Death leaves an unmangled body, which after 1 step turns to a pool of the creature's material (if using MELTING_POINT:0), or small cloud of gas of the creature's material (if using BOILING_POINT:0).

Additionally, varying the SPEC_HEAT value of the creature's material didn't seem to have any impact on the creature's rate of melting.

Status: Creature dies after some time with message "x has melted". Leaves unmangled body for 1 tick. Body then melts / boils.
Death Style: Being Non-solid
I attempted to alter the tissue TISSUE_MAT_STATE of the creature to both LIQUID and GAS in separate tests to see if the creature would instantly fall apart. The creatures seemed perfectly fine. The addition of TISSUE_LEAKS didn't seem to change anything. Maintaining TISSUE_LEAKS, I created a second tissue layer which I made rot, to see if that would cause leakage - it didn't.

Combining a TISSUE_MAT_STATE with an alteration to the material's associated POINT (e.g. LIQUID state with a low MELTING_POINT) prevents the creature from melting when they normally would.

Status: Creature lives
Death Style: Bleeding
My main intention was to find a method that would be quick and leave no mess, so I didn't actually test bleeding :P

Death Style: Suffocation
I added the BREATHE type to the creature's body, and copied the syndrome used for the rotting tests, but set it to impair function instead of necrosis. After quite a while, the creature eventually suffocated with the message "x has suffocated", and leaving an unmangled corpse.

Status: Creature dies after some time with message "x has suffocated". Leaves unmangled body which remains.
Death Style: !!Burning!!
Setting the IGNITION_POINT of the creature's material to 0 causes it to instantly burst into flames. Lots of smoke is generated, however the area isn't actually any hotter. After a decently long time, the creature eventually dies, leaving a burning corpse (the corpse doesn't ever go away because of my test setup, since the material has no heat damage point).

Status: Creature dies after some time with message "x has burned to death". Leaves an unmangled body which is on fire.
Death Style: Heat / Cold Damage
Setting the HEATDAM_POINT of the creature's material to 0 causes the creature to die instantly (1 step passed after creation)! The corpse left is treated as mangled, and after 17 steps it vanishes. By combining HEATDAM_POINT:0 with BOILING_POINT:0, you can create a creature that dies in 1 step, whose corpse turns into a cloud of gas after 1 step.

I couldn't get cold damage to work, but that might be because I set the value too high in my only test (hey, I already got what I wanted, who wants to test even more? :P)

Status: Creature dies instantly with message "The x has died in the heat". Leaves mangled body which disappears after 17/18 steps.

Summary
Methods that cause death
So here's a summary of the methods that I tested that successfully caused the creatures to die. They're sorted in order of fastest to slowest:
  • Heat Damage - Instant. Set material HEATDAM_POINT to 0.
  • Melting - Set material MELTING_POINT or BOILING_POINT to 0.
  • Suffocation - Include BREATHE type BP and target it with CE_IMPAIR_FUNCTION syndrome.
  • Burning - Slowest. Causes lots of smoke. Set material IGNITION_POINT to 0.

Unfortunately, all methods do have the drawback of reporting the creature's death in the announcement screen. Additionally, all deaths cause a corpse to be left behind, even if just for a step - if you absolutely don't want a corpse to be available, consider using ITEMCORPSE to cause an item to be dropped instead.

I reduced the test creature down to the minimum amount of tokens that are required to work in arena mode while dying by the fastest method (heat damage). Here it is, in case anyone might find it useful:

8
Honestly wasn't sure which section this belongs in, so I put it here :P

Sometimes when I'm creating a new entity I like to use the vanilla dwarf entity as a starting point and then using the wiki's entry on entity tokens as a reference to alter it as I see fit, though I sometimes run into the problem that it's difficult to follow the vanilla entity's tokens because their order is fairly scattered when compared to the wiki's format, and I decide it's probably easier to just start the whole entity from scratch, working through each token in the order the wiki lists them. So, inspired by some work done by past-me that was subsequently forgotten about by present-me until today, I made a reformatted version of the dwarf entity which has the tokens appear in the order they do on the wiki, and figured I'd share it to save anyone like me out there some time:
Code: (entity_example.txt) [Select]
entity_example

The base dwarf entity formatted with the tokens appearing in the same order that they do in the wiki entry (http://dwarffortresswiki.org/index.php/DF2014:Entity_token), for more easily creating new entities based off of it. Applicable for version 0.43.05


[OBJECT:ENTITY]

[ENTITY:MOUNTAIN]
=== GAMEPLAY ===
[ALL_MAIN_POPS_CONTROLLABLE]
[SITE_CONTROLLABLE]
[CREATURE:DWARF]


=== PLACEMENT ===
[BIOME_SUPPORT:ANY_FOREST:1]
[BIOME_SUPPORT:MOUNTAIN:3]
[BIOME_SUPPORT:ANY_GRASSLAND:1]
[BIOME_SUPPORT:ANY_SAVANNA:1]
[BIOME_SUPPORT:ANY_SHRUBLAND:1]
[BIOME_SUPPORT:ANY_RIVER:1]

[EXCLUSIVE_START_BIOME:MOUNTAIN]

[SETTLEMENT_BIOME:ANY_FOREST]
[SETTLEMENT_BIOME:MOUNTAIN]
[SETTLEMENT_BIOME:ANY_GRASSLAND]
[SETTLEMENT_BIOME:ANY_SAVANNA]
[SETTLEMENT_BIOME:ANY_SHRUBLAND]

[DEFAULT_SITE_TYPE:CAVE_DETAILED]

[LIKES_SITE:CAVE_DETAILED]

[TOLERATES_SITE:CITY]
[TOLERATES_SITE:CAVE_DETAILED]

[WORLD_CONSTRUCTION:TUNNEL]
[WORLD_CONSTRUCTION:BRIDGE]
[WORLD_CONSTRUCTION:ROAD]


=== POPULATION ===
[MAX_POP_NUMBER:10000]
[MAX_SITE_POP_NUMBER:120]
[MAX_STARTING_CIV_NUMBER:100]


=== FLAVOR ===
=Permitted Buildings=
[PERMITTED_BUILDING:SOAP_MAKER]
[PERMITTED_BUILDING:SCREW_PRESS]

=Permitted jobs=
[PERMITTED_JOB:MINER]
[PERMITTED_JOB:CARPENTER]
[PERMITTED_JOB:BOWYER]
[PERMITTED_JOB:WOODCUTTER]
[PERMITTED_JOB:ENGRAVER]
[PERMITTED_JOB:MASON]
[PERMITTED_JOB:ANIMAL_CARETAKER]
[PERMITTED_JOB:ANIMAL_TRAINER]
[PERMITTED_JOB:HUNTER]
[PERMITTED_JOB:TRAPPER]
[PERMITTED_JOB:ANIMAL_DISSECTOR]
[PERMITTED_JOB:FURNACE_OPERATOR]
[PERMITTED_JOB:WEAPONSMITH]
[PERMITTED_JOB:ARMORER]
[PERMITTED_JOB:BLACKSMITH]
[PERMITTED_JOB:METALCRAFTER]
[PERMITTED_JOB:GEM_CUTTER]
[PERMITTED_JOB:GEM_SETTER]
[PERMITTED_JOB:WOODCRAFTER]
[PERMITTED_JOB:STONECRAFTER]
[PERMITTED_JOB:LEATHERWORKER]
[PERMITTED_JOB:BONE_CARVER]
[PERMITTED_JOB:WEAVER]
[PERMITTED_JOB:CLOTHIER]
[PERMITTED_JOB:GLASSMAKER]
[PERMITTED_JOB:STRAND_EXTRACTOR]
[PERMITTED_JOB:FISHERMAN]
[PERMITTED_JOB:FISH_DISSECTOR]
[PERMITTED_JOB:FISH_CLEANER]
[PERMITTED_JOB:CHEESE_MAKER]
[PERMITTED_JOB:MILKER]
[PERMITTED_JOB:SHEARER]
[PERMITTED_JOB:SPINNER]
[PERMITTED_JOB:GELDER]
[PERMITTED_JOB:COOK]
[PERMITTED_JOB:THRESHER]
[PERMITTED_JOB:MILLER]
[PERMITTED_JOB:BUTCHER]
[PERMITTED_JOB:TANNER]
[PERMITTED_JOB:DYER]
[PERMITTED_JOB:PLANTER]
[PERMITTED_JOB:HERBALIST]
[PERMITTED_JOB:BREWER]
[PERMITTED_JOB:SOAP_MAKER]
[PERMITTED_JOB:POTASH_MAKER]
[PERMITTED_JOB:LYE_MAKER]
[PERMITTED_JOB:WOOD_BURNER]
[PERMITTED_JOB:MECHANIC]
[PERMITTED_JOB:SIEGE_ENGINEER]
[PERMITTED_JOB:SIEGE_OPERATOR]
[PERMITTED_JOB:PUMP_OPERATOR]
[PERMITTED_JOB:CLERK]
[PERMITTED_JOB:ADMINISTRATOR]
[PERMITTED_JOB:TRADER]
[PERMITTED_JOB:ARCHITECT]
[PERMITTED_JOB:DIAGNOSER]
[PERMITTED_JOB:BONE_SETTER]
[PERMITTED_JOB:SUTURER]
[PERMITTED_JOB:SURGEON]
[PERMITTED_JOB:GLAZER]
[PERMITTED_JOB:POTTER]
[PERMITTED_JOB:PRESSER]
[PERMITTED_JOB:BEEKEEPER]
[PERMITTED_JOB:WAX_WORKER]
[PERMITTED_JOB:PAPERMAKER]
[PERMITTED_JOB:BOOKBINDER]

=Permitted reactions=
[PERMITTED_REACTION:TAN_A_HIDE]
[PERMITTED_REACTION:RENDER_FAT]
[PERMITTED_REACTION:MAKE_SOAP_FROM_TALLOW]
[PERMITTED_REACTION:MAKE_SOAP_FROM_OIL]
[PERMITTED_REACTION:MAKE_PEARLASH]
[PERMITTED_REACTION:MAKE_PLASTER_POWDER]
[PERMITTED_REACTION:MAKE_QUICKLIME]
[PERMITTED_REACTION:MAKE_MILK_OF_LIME]
[PERMITTED_REACTION:MAKE_PARCHMENT]
[PERMITTED_REACTION:MAKE_SCROLL]
[PERMITTED_REACTION:MAKE_QUIRE]
[PERMITTED_REACTION:MAKE_SHEET_FROM_PLANT]
[PERMITTED_REACTION:MAKE_SLURRY_FROM_PLANT]
[PERMITTED_REACTION:PRESS_PLANT_PAPER]
[PERMITTED_REACTION:BIND_BOOK]
[PERMITTED_REACTION:MILL_SEEDS_NUTS_TO_PASTE]
[PERMITTED_REACTION:MAKE_CLAY_JUG]
[PERMITTED_REACTION:MAKE_CLAY_BRICKS]
[PERMITTED_REACTION:MAKE_CLAY_STATUE]
[PERMITTED_REACTION:MAKE_LARGE_CLAY_POT]
[PERMITTED_REACTION:MAKE_CLAY_CRAFTS]
[PERMITTED_REACTION:GLAZE_JUG]
[PERMITTED_REACTION:GLAZE_STATUE]
[PERMITTED_REACTION:GLAZE_LARGE_POT]
[PERMITTED_REACTION:GLAZE_CRAFT]
[PERMITTED_REACTION:PRESS_OIL]
[PERMITTED_REACTION:PRESS_OIL_FRUIT]
[PERMITTED_REACTION:MAKE_CLAY_HIVE]
[PERMITTED_REACTION:PRESS_HONEYCOMB]
[PERMITTED_REACTION:MAKE_WAX_CRAFTS]
[PERMITTED_REACTION:BREW_DRINK_FROM_PLANT]
[PERMITTED_REACTION:BREW_DRINK_FROM_PLANT_GROWTH]
[PERMITTED_REACTION:MAKE_MEAD]
[PERMITTED_REACTION:PROCESS_PLANT_TO_BAG]
[PERMITTED_REACTION:BITUMINOUS_COAL_TO_COKE]
[PERMITTED_REACTION:LIGNITE_TO_COKE]
[PERMITTED_REACTION:BRASS_MAKING]
[PERMITTED_REACTION:BRASS_MAKING2]
[PERMITTED_REACTION:BRONZE_MAKING]
[PERMITTED_REACTION:BRONZE_MAKING2]
[PERMITTED_REACTION:ELECTRUM_MAKING]
[PERMITTED_REACTION:ELECTRUM_MAKING2]
[PERMITTED_REACTION:BILLON_MAKING]
[PERMITTED_REACTION:BILLON_MAKING2]
[PERMITTED_REACTION:PEWTER_FINE_MAKING]
[PERMITTED_REACTION:PEWTER_FINE_MAKING2]
[PERMITTED_REACTION:PEWTER_TRIFLE_MAKING]
[PERMITTED_REACTION:PEWTER_TRIFLE_MAKING2]
[PERMITTED_REACTION:PEWTER_LAY_MAKING]
[PERMITTED_REACTION:PIG_IRON_MAKING]
[PERMITTED_REACTION:STEEL_MAKING]
[PERMITTED_REACTION:NICKEL_SILVER_MAKING]
[PERMITTED_REACTION:BLACK_BRONZE_MAKING]
[PERMITTED_REACTION:STERLING_SILVER_MAKING]
[PERMITTED_REACTION:ROSE_GOLD_MAKING]
[PERMITTED_REACTION:BISMUTH_BRONZE_MAKING]
[PERMITTED_REACTION:ADAMANTINE_WAFERS]

=Currency=
[CURRENCY_BY_YEAR]

[CURRENCY:COPPER:1]
[CURRENCY:SILVER:5]
[CURRENCY:GOLD:15]

=Art=
[ART_IMAGE_ELEMENT_MODIFIER:PLANT:64]
[ART_IMAGE_ELEMENT_MODIFIER:TREE:64]

[ITEM_IMPROVEMENT_MODIFIER:RINGS_HANGING:64]
[ITEM_IMPROVEMENT_MODIFIER:BANDS:384]
[ITEM_IMPROVEMENT_MODIFIER:SPIKES:384]

[TRANSLATION:DWARF]

=Symbols=
[SELECT_SYMBOL:WAR:NAME_WAR]
[SELECT_SYMBOL:BATTLE:NAME_BATTLE]
[SELECT_SYMBOL:SIEGE:NAME_SIEGE]
[SELECT_SYMBOL:ROAD:NAME_ROAD]
[SELECT_SYMBOL:TUNNEL:NAME_TUNNEL]
[SELECT_SYMBOL:BRIDGE:NAME_BRIDGE]
[SELECT_SYMBOL:WALL:NAME_WALL]
[SELECT_SYMBOL:TEMPLE:NAME_BUILDING_TEMPLE]
[SELECT_SYMBOL:LIBRARY:NAME_BUILDING_LIBRARY]

[SELECT_SYMBOL:REMAINING:ARTIFICE]
[SELECT_SYMBOL:REMAINING:EARTH]

[SUBSELECT_SYMBOL:WAR:VIOLENT]
[SUBSELECT_SYMBOL:BATTLE:VIOLENT]
[SUBSELECT_SYMBOL:SIEGE:VIOLENT]

[CULL_SYMBOL:ALL:DOMESTIC]
[CULL_SYMBOL:ALL:SUBORDINATE]
[CULL_SYMBOL:ALL:EVIL]
[CULL_SYMBOL:ALL:FLOWERY]
[CULL_SYMBOL:ALL:NEGATIVE]
[CULL_SYMBOL:ALL:UGLY]
[CULL_SYMBOL:ALL:NEGATOR]

[FRIENDLY_COLOR:1:0:1]


=== RELIGION ===
[RELIGION:PANTHEON]

[RELIGION_SPHERE:FORTRESSES]
[RELIGION_SPHERE:JEWELS]
[RELIGION_SPHERE:METALS]
[RELIGION_SPHERE:MINERALS]
[RELIGION_SPHERE:MOUNTAINS]
[RELIGION_SPHERE:WEALTH]

=== LEADERSHIP ===
=Positions=
Note: Position token elements haven't been re-ordered. Skip to line 715 to go past.
[POSITION:MONARCH]
[NAME_MALE:king:kings]
[NAME_FEMALE:queen:queens]
[NUMBER:1]
[SPOUSE_MALE:king consort:kings consort]
[SPOUSE_FEMALE:queen consort:queens consort]
[SUCCESSION:BY_HEIR]
[RESPONSIBILITY:LAW_MAKING]
[RESPONSIBILITY:RECEIVE_DIPLOMATS]
[RESPONSIBILITY:MILITARY_GOALS]
[PRECEDENCE:1]
[SPECIAL_BURIAL]
[RULES_FROM_LOCATION]
[MENIAL_WORK_EXEMPTION]
[MENIAL_WORK_EXEMPTION_SPOUSE]
[SLEEP_PRETENSION]
[PUNISHMENT_EXEMPTION]
[FLASHES]
[BRAG_ON_KILL]
[CHAT_WORTHY]
[DO_NOT_CULL]
[KILL_QUEST]
[EXPORTED_IN_LEGENDS]
[DETERMINES_COIN_DESIGN]
[COLOR:5:0:1]
[ACCOUNT_EXEMPT]
[DUTY_BOUND]
[DEMAND_MAX:10]
[MANDATE_MAX:5]
[REQUIRED_BOXES:10]
[REQUIRED_CABINETS:5]
[REQUIRED_RACKS:5]
[REQUIRED_STANDS:5]
[REQUIRED_OFFICE:10000]
[REQUIRED_BEDROOM:10000]
[REQUIRED_DINING:10000]
[REQUIRED_TOMB:10000]
[POSITION:GENERAL]
[NAME:general:generals]
[NUMBER:1]
[SQUAD:10:soldier:soldiers]
[APPOINTED_BY:MONARCH]
[RESPONSIBILITY:MILITARY_STRATEGY]
[COMMANDER:LIEUTENANT:ALL]
[PRECEDENCE:50]
[SPECIAL_BURIAL]
[MENIAL_WORK_EXEMPTION]
[SLEEP_PRETENSION]
[PUNISHMENT_EXEMPTION]
[FLASHES]
[BRAG_ON_KILL]
[CHAT_WORTHY]
[DO_NOT_CULL]
[KILL_QUEST]
[ACCOUNT_EXEMPT]
[DUTY_BOUND]
[DEMAND_MAX:2]
[REQUIRED_BOXES:2]
[REQUIRED_CABINETS:1]
[REQUIRED_RACKS:3]
[REQUIRED_STANDS:3]
[REQUIRED_OFFICE:500]
[REQUIRED_BEDROOM:250]
[REQUIRED_DINING:250]
[REQUIRED_TOMB:1]
[POSITION:LIEUTENANT]
[NAME:lieutenant:lieutenants]
[NUMBER:AS_NEEDED]
[SQUAD:10:soldier:soldiers]
[APPOINTED_BY:GENERAL]
[COMMANDER:CAPTAIN:ALL]
[PRECEDENCE:100]
[MENIAL_WORK_EXEMPTION]
[FLASHES]
[BRAG_ON_KILL]
[CHAT_WORTHY]
[DO_NOT_CULL]
[KILL_QUEST]
[ACCOUNT_EXEMPT]
[DUTY_BOUND]
[DEMAND_MAX:1]
[REQUIRED_BOXES:1]
[REQUIRED_CABINETS:1]
[REQUIRED_RACKS:2]
[REQUIRED_STANDS:2]
[REQUIRED_OFFICE:100]
[REQUIRED_BEDROOM:100]
[REQUIRED_DINING:100]
[MILITARY_SCREEN_ONLY]
[POSITION:CAPTAIN]
[NAME:captain:captains]
[NUMBER:AS_NEEDED]
[SQUAD:10:soldier:soldiers]
[APPOINTED_BY:GENERAL]
[PRECEDENCE:190]
[DO_NOT_CULL]
[DUTY_BOUND]
[REQUIRED_BOXES:1]
[REQUIRED_CABINETS:1]
[REQUIRED_RACKS:1]
[REQUIRED_STANDS:1]
[REQUIRED_OFFICE:1]
[REQUIRED_BEDROOM:1]
[REQUIRED_DINING:1]
[MILITARY_SCREEN_ONLY]
[POSITION:MILITIA_COMMANDER]
[NAME:militia commander:militia commanders]
[SITE]
[NUMBER:1]
[SQUAD:10:militia-dwarf:militia-dwarves]
[APPOINTED_BY:EXPEDITION_LEADER]
[APPOINTED_BY:MAYOR]
[RESPONSIBILITY:MILITARY_STRATEGY]
[COMMANDER:MILITIA_CAPTAIN:ALL]
[PRECEDENCE:120]
[DO_NOT_CULL]
[DUTY_BOUND]
[POSITION:MILITIA_CAPTAIN]
[NAME:militia captain:militia captains]
[SITE]
[NUMBER:AS_NEEDED]
[SQUAD:10:militia-dwarf:militia-dwarves]
[APPOINTED_BY:MILITIA_COMMANDER]
[PRECEDENCE:200]
[DO_NOT_CULL]
[DUTY_BOUND]
[MILITARY_SCREEN_ONLY]
[POSITION:SHERIFF]
[NAME:sheriff:sheriffs]
[SITE]
[NUMBER:1]
[RESPONSIBILITY:LAW_ENFORCEMENT]
[APPOINTED_BY:EXPEDITION_LEADER]
[APPOINTED_BY:MAYOR]
[REPLACED_BY:CAPTAIN_OF_THE_GUARD]
[PRECEDENCE:130]
[DO_NOT_CULL]
[COLOR:1:0:1]
[ACCOUNT_EXEMPT]
[DUTY_BOUND]
[REQUIRED_BOXES:1]
[REQUIRED_CABINETS:1]
[REQUIRED_RACKS:1]
[REQUIRED_STANDS:1]
[REQUIRED_OFFICE:100]
[REQUIRED_BEDROOM:100]
[REQUIRED_DINING:100]
[POSITION:CAPTAIN_OF_THE_GUARD]
[NAME:captain of the guard:captains of the guard]
[SITE]
[NUMBER:1]
[RESPONSIBILITY:LAW_ENFORCEMENT]
[SQUAD:10:fortress guard:fortress guards]
[APPOINTED_BY:EXPEDITION_LEADER]
[APPOINTED_BY:MAYOR]
[REQUIRES_POPULATION:50]
[REQUIRES_MARKET]
[PRECEDENCE:105]
[DO_NOT_CULL]
[COLOR:1:0:1]
[ACCOUNT_EXEMPT]
[DUTY_BOUND]
[REQUIRED_BOXES:1]
[REQUIRED_CABINETS:1]
[REQUIRED_RACKS:1]
[REQUIRED_STANDS:1]
[REQUIRED_OFFICE:250]
[REQUIRED_BEDROOM:250]
[REQUIRED_DINING:250]
[POSITION:EXPEDITION_LEADER]
[NAME:expedition leader:expedition leaders]
[SITE]
[NUMBER:1]
[REPLACED_BY:MAYOR]
[RULES_FROM_LOCATION]
[RESPONSIBILITY:MEET_WORKERS]
[RESPONSIBILITY:RECEIVE_DIPLOMATS]
[RESPONSIBILITY:MILITARY_GOALS]
[PRECEDENCE:110]
[DO_NOT_CULL]
[ACCOUNT_EXEMPT]
[DUTY_BOUND]
[POSITION:MAYOR]
[NAME:mayor:mayors]
[SITE]
[NUMBER:1]
[RESPONSIBILITY:MEET_WORKERS]
[RESPONSIBILITY:RECEIVE_DIPLOMATS]
[RESPONSIBILITY:MILITARY_GOALS]
[REQUIRES_POPULATION:50]
[RULES_FROM_LOCATION]
[ELECTED]
[PRECEDENCE:60]
[FLASHES]
[BRAG_ON_KILL]
[CHAT_WORTHY]
[DO_NOT_CULL]
[KILL_QUEST]
[COLOR:5:0:0]
[ACCOUNT_EXEMPT]
[DUTY_BOUND]
[DEMAND_MAX:2]
[MANDATE_MAX:1]
[REQUIRED_BOXES:2]
[REQUIRED_CABINETS:1]
[REQUIRED_RACKS:1]
[REQUIRED_STANDS:1]
[REQUIRED_OFFICE:500]
[REQUIRED_BEDROOM:500]
[REQUIRED_DINING:500]
[POSITION:MANAGER]
[NAME:manager:managers]
[SITE]
[REQUIRES_MARKET]
[NUMBER:1]
[RESPONSIBILITY:MANAGE_PRODUCTION]
[APPOINTED_BY:EXPEDITION_LEADER]
[APPOINTED_BY:MAYOR]
[PRECEDENCE:160]
[DO_NOT_CULL]
[COLOR:5:0:0]
[DUTY_BOUND]
[REQUIRED_OFFICE:1]
[POSITION:CHIEF_MEDICAL_DWARF]
[NAME:chief medical dwarf:chief medical dwarves]
[SITE]
[REQUIRES_MARKET]
[NUMBER:1]
[RESPONSIBILITY:HEALTH_MANAGEMENT]
[APPOINTED_BY:EXPEDITION_LEADER]
[APPOINTED_BY:MAYOR]
[PRECEDENCE:165]
[DO_NOT_CULL]
[COLOR:5:0:0]
[DUTY_BOUND]
[POSITION:BROKER]
[NAME:broker:brokers]
[SITE]
[REQUIRES_MARKET]
[NUMBER:1]
[RESPONSIBILITY:TRADE]
[APPOINTED_BY:EXPEDITION_LEADER]
[APPOINTED_BY:MAYOR]
[PRECEDENCE:170]
[DO_NOT_CULL]
[COLOR:5:0:0]
[DUTY_BOUND]
[POSITION:BOOKKEEPER]
[NAME:bookkeeper:bookkeepers]
[SITE]
[REQUIRES_MARKET]
[NUMBER:1]
[RESPONSIBILITY:ACCOUNTING]
[APPOINTED_BY:EXPEDITION_LEADER]
[APPOINTED_BY:MAYOR]
[PRECEDENCE:180]
[DO_NOT_CULL]
[COLOR:5:0:0]
[DUTY_BOUND]
[REQUIRED_OFFICE:1]
[POSITION:OUTPOST_LIAISON]
[NAME:outpost liaison:outpost liaisons]
[NUMBER:1]
[RESPONSIBILITY:ESTABLISH_COLONY_TRADE_AGREEMENTS]
[APPOINTED_BY:MONARCH]
[PRECEDENCE:80]
[MENIAL_WORK_EXEMPTION]
[SLEEP_PRETENSION]
[PUNISHMENT_EXEMPTION]
[ACCOUNT_EXEMPT]
[DO_NOT_CULL]
[COLOR:7:0:1]
[DUTY_BOUND]
[DEMAND_MAX:3]
[REQUIRED_BOXES:3]
[REQUIRED_CABINETS:2]
[REQUIRED_RACKS:2]
[REQUIRED_STANDS:2]
[REQUIRED_OFFICE:1500]
[REQUIRED_BEDROOM:1500]
[REQUIRED_DINING:1500]
[POSITION:DIPLOMAT]
[NAME:diplomat:diplomats]
[NUMBER:1]
[RESPONSIBILITY:MAKE_INTRODUCTIONS]
[RESPONSIBILITY:MAKE_PEACE_AGREEMENTS]
[RESPONSIBILITY:MAKE_TOPIC_AGREEMENTS]
[APPOINTED_BY:MONARCH]
[PRECEDENCE:70]
[DO_NOT_CULL]
[COLOR:7:0:1]
[MENIAL_WORK_EXEMPTION]
[SLEEP_PRETENSION]
[PUNISHMENT_EXEMPTION]
[ACCOUNT_EXEMPT]
[DUTY_BOUND]
[DEMAND_MAX:3]
[REQUIRED_BOXES:3]
[REQUIRED_CABINETS:2]
[REQUIRED_RACKS:2]
[REQUIRED_STANDS:2]
[REQUIRED_OFFICE:1500]
[REQUIRED_BEDROOM:1500]
[REQUIRED_DINING:1500]
[POSITION:DUKE]
[NAME_MALE:duke:dukes]
[NAME_FEMALE:duchess:duchesses]
[SPOUSE_MALE:duke consort:dukes consort]
[SPOUSE_FEMALE:duchess consort:duchesses consort]
[NUMBER:AS_NEEDED]
[LAND_HOLDER:3]
[LAND_NAME:a duchy]
[RESPONSIBILITY:LAW_MAKING]
[RESPONSIBILITY:RECEIVE_DIPLOMATS]
[SUCCESSION:BY_HEIR]
[APPOINTED_BY:MONARCH]
[PRECEDENCE:20]
[SPECIAL_BURIAL]
[MENIAL_WORK_EXEMPTION]
[MENIAL_WORK_EXEMPTION_SPOUSE]
[SLEEP_PRETENSION]
[PUNISHMENT_EXEMPTION]
[FLASHES]
[BRAG_ON_KILL]
[CHAT_WORTHY]
[DO_NOT_CULL]
[KILL_QUEST]
[COLOR:5:0:0]
[ACCOUNT_EXEMPT]
[DUTY_BOUND]
[DEMAND_MAX:5]
[MANDATE_MAX:3]
[REQUIRED_BOXES:5]
[REQUIRED_CABINETS:3]
[REQUIRED_RACKS:3]
[REQUIRED_STANDS:3]
[REQUIRED_OFFICE:2500]
[REQUIRED_BEDROOM:2500]
[REQUIRED_DINING:2500]
[REQUIRED_TOMB:2500]
[POSITION:COUNT]
[NAME_MALE:count:counts]
[NAME_FEMALE:countess:countesses]
[SPOUSE_MALE:count consort:counts consort]
[SPOUSE_FEMALE:countess consort:countesses consort]
[NUMBER:AS_NEEDED]
[LAND_HOLDER:2]
[LAND_NAME:a county]
[RESPONSIBILITY:LAW_MAKING]
[RESPONSIBILITY:RECEIVE_DIPLOMATS]
[SUCCESSION:BY_HEIR]
[APPOINTED_BY:MONARCH]
[REPLACED_BY:DUKE]
[PRECEDENCE:30]
[SPECIAL_BURIAL]
[MENIAL_WORK_EXEMPTION]
[MENIAL_WORK_EXEMPTION_SPOUSE]
[SLEEP_PRETENSION]
[PUNISHMENT_EXEMPTION]
[FLASHES]
[BRAG_ON_KILL]
[CHAT_WORTHY]
[DO_NOT_CULL]
[KILL_QUEST]
[COLOR:5:0:0]
[ACCOUNT_EXEMPT]
[DUTY_BOUND]
[DEMAND_MAX:3]
[MANDATE_MAX:2]
[REQUIRED_BOXES:3]
[REQUIRED_CABINETS:2]
[REQUIRED_RACKS:2]
[REQUIRED_STANDS:2]
[REQUIRED_OFFICE:1500]
[REQUIRED_BEDROOM:1500]
[REQUIRED_DINING:1500]
[REQUIRED_TOMB:1500]
[POSITION:BARON]
[NAME_MALE:baron:barons]
[NAME_FEMALE:baroness:baronesses]
[SPOUSE_MALE:baron consort:barons consort]
[SPOUSE_FEMALE:baroness consort:baronesses consort]
[NUMBER:AS_NEEDED]
[LAND_HOLDER:1]
[LAND_NAME:a barony]
[RESPONSIBILITY:LAW_MAKING]
[RESPONSIBILITY:RECEIVE_DIPLOMATS]
[SUCCESSION:BY_HEIR]
[APPOINTED_BY:MONARCH]
[REPLACED_BY:COUNT]
[PRECEDENCE:40]
[SPECIAL_BURIAL]
[MENIAL_WORK_EXEMPTION]
[MENIAL_WORK_EXEMPTION_SPOUSE]
[SLEEP_PRETENSION]
[PUNISHMENT_EXEMPTION]
[FLASHES]
[BRAG_ON_KILL]
[CHAT_WORTHY]
[DO_NOT_CULL]
[KILL_QUEST]
[COLOR:5:0:0]
[ACCOUNT_EXEMPT]
[DUTY_BOUND]
[DEMAND_MAX:2]
[MANDATE_MAX:1]
[REQUIRED_BOXES:2]
[REQUIRED_CABINETS:1]
[REQUIRED_RACKS:1]
[REQUIRED_STANDS:1]
[REQUIRED_OFFICE:500]
[REQUIRED_BEDROOM:500]
[REQUIRED_DINING:500]
[REQUIRED_TOMB:500]
[POSITION:CHAMPION]
[NAME:champion:champions]
[SITE]
[REQUIRES_MARKET]
[NUMBER:1]
[RESPONSIBILITY:BUILD_MORALE]
[APPOINTED_BY:DUKE]
[APPOINTED_BY:COUNT]
[APPOINTED_BY:BARON]
[PRECEDENCE:65]
[MENIAL_WORK_EXEMPTION]
[PUNISHMENT_EXEMPTION]
[DO_NOT_CULL]
[COLOR:7:0:1]
[ACCOUNT_EXEMPT]
[DUTY_BOUND]
[DEMAND_MAX:1]
[POSITION:HAMMERER]
[NAME:hammerer:hammerers]
[SITE]
[REQUIRES_MARKET]
[NUMBER:1]
[RESPONSIBILITY:EXECUTIONS]
[EXECUTION_SKILL:HAMMER]
[APPOINTED_BY:EXPEDITION_LEADER]
[APPOINTED_BY:MAYOR]
[PRECEDENCE:150]
[DO_NOT_CULL]
[COLOR:0:0:1]
[DUTY_BOUND]
[POSITION:FORCED_ADMINISTRATOR]
[NAME:administrator:administrators]
[CONQUERED_SITE]
[FLASHES]
[BRAG_ON_KILL]
[CHAT_WORTHY]
[DO_NOT_CULL]
[KILL_QUEST]
[EXPORTED_IN_LEGENDS]
[DETERMINES_COIN_DESIGN]
[MENIAL_WORK_EXEMPTION]
[SLEEP_PRETENSION]
[PUNISHMENT_EXEMPTION]
[ACCOUNT_EXEMPT]
[DUTY_BOUND]
[COLOR:5:0:0]
[MANDATE_MAX:2]
[DEMAND_MAX:3]
[PRECEDENCE:65]
[NUMBER:1]
[RESPONSIBILITY:LAW_MAKING]
[RESPONSIBILITY:RECEIVE_DIPLOMATS]
[RESPONSIBILITY:MAKE_TOPIC_AGREEMENTS]
[RESPONSIBILITY:MEET_WORKERS]

For the LAND_HOLDER positions below (baron etc.) this sets up the different levels your fort needs to reach to attain them.  LAND_HOLDER_TRIGGER:<land holder number>:<population>:<wealth exported>:<created wealth>
[LAND_HOLDER_TRIGGER:1:20:10000:100000]
[LAND_HOLDER_TRIGGER:2:20:20000:200000]
[LAND_HOLDER_TRIGGER:3:20:30000:300000]


=== BEHAVIOR ===
=Ethics=
[ETHIC:ASSAULT:PUNISH_SERIOUS]
[ETHIC:EAT_SAPIENT_KILL:UNTHINKABLE]
[ETHIC:EAT_SAPIENT_OTHER:UNTHINKABLE]
[ETHIC:KILL_ANIMAL:ACCEPTABLE]
[ETHIC:KILL_ENEMY:ACCEPTABLE]
[ETHIC:KILL_ENTITY_MEMBER:PUNISH_CAPITAL]
[ETHIC:KILL_NEUTRAL:ONLY_IF_SANCTIONED]
[ETHIC:KILL_PLANT:ACCEPTABLE]
[ETHIC:LYING:PERSONAL_MATTER]
[ETHIC:MAKE_TROPHY_ANIMAL:ACCEPTABLE]
[ETHIC:MAKE_TROPHY_SAME_RACE:APPALLING]
[ETHIC:MAKE_TROPHY_SAPIENT:SHUN]
[ETHIC:OATH_BREAKING:PUNISH_CAPITAL]
[ETHIC:SLAVERY:PUNISH_CAPITAL]
[ETHIC:THEFT:PUNISH_SERIOUS]
[ETHIC:TORTURE_ANIMALS:UNTHINKABLE]
[ETHIC:TORTURE_AS_EXAMPLE:UNTHINKABLE]
[ETHIC:TORTURE_FOR_FUN:UNTHINKABLE]
[ETHIC:TORTURE_FOR_INFORMATION:UNTHINKABLE]
[ETHIC:TREASON:PUNISH_CAPITAL]
[ETHIC:TRESPASSING:PUNISH_SERIOUS]
[ETHIC:VANDALISM:PUNISH_SERIOUS]

=Values=
[VALUE:LAW:30]
[VALUE:LOYALTY:30]
[VALUE:FAMILY:30]
[VALUE:FRIENDSHIP:30]
[VALUE:POWER:0]
[VALUE:TRUTH:30]
[VALUE:CUNNING:0]
[VALUE:ELOQUENCE:0]
[VALUE:FAIRNESS:15]
[VALUE:DECORUM:0]
[VALUE:TRADITION:0]
[VALUE:ARTWORK:30]
[VALUE:COOPERATION:15]
[VALUE:INDEPENDENCE:5]
[VALUE:STOICISM:5]
[VALUE:INTROSPECTION:0]
[VALUE:SELF_CONTROL:0]
[VALUE:TRANQUILITY:0]
[VALUE:HARMONY:0]
[VALUE:MERRIMENT:15]
[VALUE:CRAFTSMANSHIP:50]
[VALUE:MARTIAL_PROWESS:15]
[VALUE:SKILL:30]
[VALUE:HARD_WORK:30]
[VALUE:SACRIFICE:0]
[VALUE:COMPETITION:0]
[VALUE:PERSEVERANCE:5]
[VALUE:LEISURE_TIME:15]
[VALUE:COMMERCE:15]
[VALUE:ROMANCE:0]
[VALUE:NATURE:-15]
[VALUE:PEACE:0]
[VALUE:KNOWLEDGE:15]

[WILL_ACCEPT_TRIBUTE]
[WANDERER]
[BEAST_HUNTER]
[SCOUT]
[MERCENARY]
[ACTIVE_SEASON:AUTUMN]

[DIPLOMAT_BODYGUARDS]
[MERCHANT_BODYGUARDS]

[SIEGER]

=Generated Musical Arts=
[GENERATE_KEYBOARD_INSTRUMENTS]
[GENERATE_PERCUSSION_INSTRUMENTS]
[GENERATE_STRINGED_INSTRUMENTS]
[GENERATE_WIND_INSTRUMENTS]
[GENERATE_DANCE_FORMS]
[GENERATE_MUSICAL_FORMS]
[GENERATE_POETIC_FORMS]

=Scholars=
can also use SCHOLAR:ALL
[SCHOLAR:PHILOSOPHER]
[SCHOLAR:MATHEMATICIAN]
[SCHOLAR:HISTORIAN]
[SCHOLAR:ASTRONOMER]
[SCHOLAR:NATURALIST]
[SCHOLAR:CHEMIST]
[SCHOLAR:GEOGRAPHER]
[SCHOLAR:DOCTOR]
[SCHOLAR:ENGINEER]

=== AVAILABLE RESOURCES ===
Note: resources not sorted in any particular way (e.g. by appearance in raws, armor grouped together + clothing grouped together, etc.)
=Ammo=
[AMMO:ITEM_AMMO_BOLTS]

=Armors (includes clothing)=
[ARMOR:ITEM_ARMOR_BREASTPLATE:COMMON]
[ARMOR:ITEM_ARMOR_MAIL_SHIRT:COMMON]
[ARMOR:ITEM_ARMOR_LEATHER:COMMON]
[ARMOR:ITEM_ARMOR_COAT:COMMON]
[ARMOR:ITEM_ARMOR_SHIRT:COMMON]
[ARMOR:ITEM_ARMOR_CLOAK:COMMON]
[ARMOR:ITEM_ARMOR_TUNIC:COMMON]
[ARMOR:ITEM_ARMOR_TOGA:UNCOMMON]
[ARMOR:ITEM_ARMOR_VEST:COMMON]
[ARMOR:ITEM_ARMOR_DRESS:COMMON]
[ARMOR:ITEM_ARMOR_ROBE:COMMON]

=Diggers=
[DIGGER:ITEM_WEAPON_PICK]

=Gloves=
[GLOVES:ITEM_GLOVES_GAUNTLETS:COMMON]
[GLOVES:ITEM_GLOVES_GLOVES:COMMON]
[GLOVES:ITEM_GLOVES_MITTENS:COMMON]

=Helms=
[HELM:ITEM_HELM_HELM:COMMON]
[HELM:ITEM_HELM_CAP:COMMON]
[HELM:ITEM_HELM_HOOD:COMMON]

=Pants=
[PANTS:ITEM_PANTS_PANTS:COMMON]
[PANTS:ITEM_PANTS_GREAVES:COMMON]
[PANTS:ITEM_PANTS_LEGGINGS:COMMON]

=Shields=
[SHIELD:ITEM_SHIELD_SHIELD]
[SHIELD:ITEM_SHIELD_BUCKLER]

=Shoes=
[SHOES:ITEM_SHOES_SHOES:COMMON]
[SHOES:ITEM_SHOES_BOOTS:COMMON]
[SHOES:ITEM_SHOES_BOOTS_LOW:COMMON]
[SHOES:ITEM_SHOES_SOCKS:COMMON]

=Siege Ammo=
[SIEGEAMMO:ITEM_SIEGEAMMO_BALLISTA]

=Tools=
[TOOL:ITEM_TOOL_NEST_BOX]
[TOOL:ITEM_TOOL_JUG]
[TOOL:ITEM_TOOL_LARGE_POT]
[TOOL:ITEM_TOOL_HIVE]
[TOOL:ITEM_TOOL_MINECART]
[TOOL:ITEM_TOOL_WHEELBARROW]
[TOOL:ITEM_TOOL_STEPLADDER]
[TOOL:ITEM_TOOL_SCROLL_ROLLERS]
[TOOL:ITEM_TOOL_BOOK_BINDING]
[TOOL:ITEM_TOOL_SCROLL]
[TOOL:ITEM_TOOL_QUIRE]
[TOOL:ITEM_TOOL_BOOKCASE]

=Toys=
[TOY:ITEM_TOY_PUZZLEBOX]
[TOY:ITEM_TOY_BOAT]
[TOY:ITEM_TOY_HAMMER]
[TOY:ITEM_TOY_AXE]
[TOY:ITEM_TOY_MINIFORGE]

=Trap Components=
[TRAPCOMP:ITEM_TRAPCOMP_GIANTAXEBLADE]
[TRAPCOMP:ITEM_TRAPCOMP_ENORMOUSCORKSCREW]
[TRAPCOMP:ITEM_TRAPCOMP_SPIKEDBALL]
[TRAPCOMP:ITEM_TRAPCOMP_LARGESERRATEDDISC]
[TRAPCOMP:ITEM_TRAPCOMP_MENACINGSPIKE]

=Weapons=
[WEAPON:ITEM_WEAPON_AXE_BATTLE]
[WEAPON:ITEM_WEAPON_HAMMER_WAR]
[WEAPON:ITEM_WEAPON_SWORD_SHORT]
[WEAPON:ITEM_WEAPON_SPEAR]
[WEAPON:ITEM_WEAPON_MACE]
[WEAPON:ITEM_WEAPON_CROSSBOW]

[WEAPON:ITEM_WEAPON_AXE_TRAINING]
[WEAPON:ITEM_WEAPON_SWORD_SHORT_TRAINING]
[WEAPON:ITEM_WEAPON_SPEAR_TRAINING]

[USE_ANIMAL_PRODUCTS]
[USE_CAVE_ANIMALS]

[USE_MISC_PROCESSED_WOOD_PRODUCTS]

[COMMON_DOMESTIC_MOUNT]
[COMMON_DOMESTIC_PACK]
[COMMON_DOMESTIC_PET]
[COMMON_DOMESTIC_PULL]

[INDOOR_FARMING]
[INDOOR_GARDENS]
[OUTDOOR_GARDENS]

[CLOTHING]
[SUBTERRANEAN_CLOTHING]

[EQUIPMENT_IMPROVEMENTS]

[METAL_PREF]
[STONE_PREF]
[GEM_PREF]
[INDOOR_WOOD]
[OUTDOOR_WOOD]

=Gem Shapes=
[GEM_SHAPE:OVAL_CABOCHON]
[GEM_SHAPE:ROUND_CABOCHON]
[GEM_SHAPE:CUSHION_CABOCHON]
[GEM_SHAPE:RECTANGULAR_CABOCHON]
[GEM_SHAPE:POINT_CUT_GEM]
[GEM_SHAPE:TABLE_CUT_GEM]
[GEM_SHAPE:SINGLE_CUT_GEM]
[GEM_SHAPE:ROSE_CUT_GEM]
[GEM_SHAPE:BRIOLETTE_CUT_GEM]
[GEM_SHAPE:EMERALD_CUT_GEM]
[GEM_SHAPE:MARQUISE_CUT_GEM]
[GEM_SHAPE:OVAL_CUT_GEM]
[GEM_SHAPE:PEAR_CUT_GEM]
[GEM_SHAPE:SQUARE_BRILLIANT_CUT_GEM]
[GEM_SHAPE:RADIANT_CUT_GEM]
[GEM_SHAPE:TRILLION_CUT_GEM]
[GEM_SHAPE:ROUND_BRILLIANT_CUT_GEM]
[GEM_SHAPE:BAGUETTE_CUT_GEM]
[GEM_SHAPE:TAPERED_BAGUETTE_CUT_GEM]
[GEM_SHAPE:CUSHION_CUT_GEM]
[GEM_SHAPE:OCTAGON_CUT_GEM]
[GEM_SHAPE:SQUARE_CUT_GEM]

=Stone Shapes=
[STONE_SHAPE:OVAL_CABOCHON]
[STONE_SHAPE:ROUND_CABOCHON]
[STONE_SHAPE:CUSHION_CABOCHON]
[STONE_SHAPE:RECTANGULAR_CABOCHON]


=== TISSUE STYLING ===
I haven't messed with the order of these tokens since TS_* tokens need to go after the TISSUE_STYLE that they're modifying.
[TISSUE_STYLE:HAIR]
[TS_PREFERRED_SHAPING:STANDARD_HAIR_SHAPINGS]
[TISSUE_STYLE:SIDEBURNS]
[TS_PREFERRED_SHAPING:STANDARD_SIDEBURNS_SHAPINGS]
[TISSUE_STYLE:MOUSTACHE]
[TS_MAINTAIN_LENGTH:100:NONE]
[TS_PREFERRED_SHAPING:STANDARD_MOUSTACHE_SHAPINGS]
[TISSUE_STYLE:BEARD]
[TS_MAINTAIN_LENGTH:100:NONE]
[TS_PREFERRED_SHAPING:STANDARD_BEARD_SHAPINGS]

9
Mod Releases / [DFhack] Atkana's Scripts - New: Cannibalism fixes
« on: June 30, 2017, 09:56:59 am »

While playing adventure mode I've often made scripts to improve my adventuring experience, and since I've now reached the skill level that I'm capable of making somewhat presentable scripts, I figured I'd share the ones I've made that might be of use to some people.

Table of contents: What do you mean, "there are no anchors"?
  • Adventurer Freedom + AdvTweaks - A DFhack command-prompt + light raw mod that allows you to adventure as any creature, from any civilization. Now with added automaticness!
  • View Allegiance - A DFhack script that gives a readable report about a unit's entity links, past and present
  • Make Companion - A DFhack script that makes the selected unit an adventuring companion.
  • Clothing Optional - A DFhack script that you can use to prevent creatures from generating bad thoughts for lacking shirts/pants/shoes. Useful for playing modded creatures designed to lack such things.
  • Make Citizen - A DFhack script that makes the selected unit a member of your fort.
  • Wolrd Patch - A framework / set of DFhack scripts for making certain sets of changes without requiring editing raws, which can be applied selectively based on the game mode.

Adventurer Freedom - Download
Brief Feature Overview:
  • Play as any creature, including world-unique generated creatures (contains spoilers)
  • Start as a member of any Civilization
  • Start as an Outsider of any race
  • Begin with any natural skills you should have (bugfix of vanilla bug)
  • Edit the size of your attribute and skill pool
At the moment it runs through the DFhack command-prompt but I hope one day (when I actually figure GUI stuff out) it'll have a swanky GUI interface, or at the very least use the Dwarf Fortress window
I was delayed long enough before uploading the mod that there's now a whole new addition. First, there's the original command-prompt version, and now there's an additional new script that performs some of its features automatically, as well as some new features. The new automatic version automatically adds every creature to the Intelligent Wilderness Animal section, automatically makes every civ available to start from, automatically patches in any natural skills and automatically unlocks the skill list to make every skill available to purchase. Automatically automatically automatically. It also has a bunch of settings that can be altered to toggle certain features on/off, among other things. With all the extra stuff added to the menus, it's worth remembering that Page Up and Page Down can be used to help navigate :P

The download also contains a small tweak script to allow for playing as non-standard race to be a more enjoyable experience, like giving your adventurer the ability to open doors, learn skills, and speak. The features of the tweak script are fully customizable and can be toggled on/off.

I'd include the readme in this post but it sets me over the character limit ^_^;

View Allegiance
One of the things that always nags me is that there's generally no way to ask characters what groups they belong to - you usually only end up finding out when the citizens of the nearby hamlet start calling you a murderer for killing the person you thought was a bandit, or when your new companion suddenly decides to start a massacre in the town market because it turns out they're a sworn enemy of the people who live there. So I made this script. It prints all the entities a person has links to and the nature of those links, so used in conjunction with information gathered ingame and perhaps a bit of legends viewer it allows you to make informed decisions on how to act.
Spoiler (click to show/hide)

Make Companion (download)
Tired of having to actually do a bunch of good deeds to cement your reputation as a legend before you can recruit a bunch of peasants to build a nice house for you? Use this script and you can turn anyone into a travelling companion!

(See script's help entry for usage)

Notes:
  • The game will usually generate a nemesis record and historical figure data after you first talk to that person.
  • Because the unit didn't join as part of an agreement, you'll have to use dfhack's gui/companion-order to get them to leave. If you're using dfhack 0.44.12-r2, you'll need to download an updated version of companion-order since the one that shipped with the release is broken.
  • While animals are smart enough to obey your request via the talk menu for them to wait in a spot, they aren't smart enough to follow you again if you ask them. They'll just stand in place, forever. So maybe don't do that.

Clothing Optional (download)
Mainly intended for modded creatures that should be fine not wearing particular types of clothes, this script allows you to register creatures or entities to no longer get upset if they're lacking shirts, pants, shoes, or any combination of the three. This means you no longer have to set their bashfulness to minimum

(See script's help entry for usage)

Make Citizen (download)
An attempt at replacing the functionality of the now outdated tweak makeown. The script allows for converting units and animals to belong to a different civilization. In fort mode, you can use this to make full citizens out of visiting units.

The script isn't extensively tested (and missing some extra features), but is completely functional in basic cases. I haven't tested the more weirder cases such as what happens when you convert invaders.

See help entry for usage.

There are some outstanding bugs that might cause corruption/crashes, but I don't know the cause or how to fix them :(.

World Patch (download)
An attempt to create a method of applying basic changes to the game via the use of non-destructive code rather than editing raw files. This makes it potentially simpler to run lots of different mods, as well as alter some aspects that wouldn't otherwise be available to edit in raws (such as the raws of generated creatures).

Here's what's currently available with the scripts I've made so far:
  • Have Modest Mod's extra skin yields and ability to tan scales in fortress mode.
  • Make creatures tameable, trainable and/or mountable.
  • Disable flight on intelligent creatures during fortress mode.
  • Alter the wait period for web spray attacks (for both raw-defined and generated creatures).
  • Make particular creatures available to play as outsiders in adventure mode.
  • Make creatures be able to have strange moods during fortress mode (because hey, they're fun).

Announce Skills (download)
Creates announcements related to citizens levelling up their skills in fort mode. The script can make announcements for any skill increase, as well as report when a new citizen becomes the best at a skill. It can be configured to only consider certain categories of skills, in case there's some you're focused/not interested in. Unless you plan to have different configurations between saves, this only needs to be run once per session, and so is a good candidate to include within a dfhack*.init

Passive Training (download)
Allows the player to select skills for their adventurer (or other chosen unit) to passively train over time. They'll gain experience as time passes, split across all the skills you have selected and accounting for their skill learn rates. See this as an alternative to simply sitting around grinding skills manually.

See help entry for usage.

Important Note: Requires script-data to be installed. If it's not already part of DFhack, you can find a copy on the repo in the Other folder.

Auto-Cannibalism (download)
A workaround / fix that runs in the background that allows entities who should otherwise be able to, to eat sapient creatures / use their parts (currently Dwarf Fortress is bugged and doesn't allow it). It can also be used to allow non-sapient-eaters to butcher the corpses of their dead animals (again, another Dwarf Fortress bug), if willing to live with the side-effects of the script's workarounds.

See help entry for usage and info.


Shoutouts to Max for teaching me some of the stuff I needed to know for making Adventurer Freedom, as well as letting me steal his code :P

Feel free to post if you have any questions/know how I could be doing things better/run into problems - I do my best to make sure my scripts work properly before I share them, but they could all definitely benefit from some decent field testing.

Pages: [1]