How do I make cats less proud?
Solution 1:
If you don't mind a bit of modding, you could remove the [RETURNS_VERMIN_KILLS_TO_OWNER]
token from cats. This is how you'd do this for your current game:
Save your game and find the save directory: it's inside the directory you installed DF into, and will typically be named
data/save/regionN
, whereN
is the region number you see when you load the game.Inside that directory, find the file
raw/objects/creature_domestic.txt
and open it in a text editor. (Notepad will do.)-
The first creature definition in that file should be
[CREATURE:DOG]
. Scroll down a few pages to find[CREATURE:CAT]
below it. The beginning of that definition should look like this:[CREATURE:CAT] [DESCRIPTION:A small mammalian carnivore. It is usually domestic and hunts vermin.] [NAME:cat:cats:cat] [CASTE_NAME:cat:cats:cat] [CREATURE_TILE:'c'][COLOR:0:0:1] [PETVALUE:20] [LARGE_ROAMING] [AT_PEACE_WITH_WILDLIFE] [HUNTS_VERMIN] [RETURNS_VERMIN_KILLS_TO_OWNER] [ADOPTS_OWNER] [COMMON_DOMESTIC][BENIGN] [CARNIVORE][NATURAL][PET]
Notice the line that says
[RETURNS_VERMIN_KILLS_TO_OWNER]
. You can remove that line entirely, or just remove the brackets to deactivate it. (Text outside brackets is used for comments and ignored by the DF parser.)Finally, save the file under the same name. (If you change the filename, it won't load unless you also change the first line of the file to match. If you do change the first line and don't delete the original file, you'll end up with duplicate creature definitions that will cause DF to freak out in interesting ways.)
If you want to do this for all future games, you can do the same to the main creature definitions that are located directly under the raw
directory in the directory DF is installed into: those definitions will be copied to any new worlds that you generate.
Solution 2:
I googled and hit this old thread. These are old replies, pre-DF2012 no doubt. If you also googled and landed here, here's some more recent advice:
Nowadays in Dwarf Fortress, cats can be told to stay in an area via the Zone -> Pen/Pasture function. In the olden days, we would tether them with a rope or chain, in which they had 3 tiles in any direction to kill vermin -- a common trick to use with dogs, since they would chase off thieves and their tether could be remotely destroyed to set them loose upon the enemy, but this function was often overlooked with cats. Cats don't really need to hunt, but they prefer dragging their kills to the nearest meeting area, which causes miasma which causes dwarves to be unhappy which causes them to punch each other in the face which causes one of the cat-induced ways a fortress can fail.
The other way that cats, probably more commonly, kill a fortress, is that they make lots and lots of other cats, killing your framerate. The AI seems to make cats do all sorts of things, some amusing to watch like jumping on tables at dinner time, jumping on a bed with a dwarf there, and they beat any dwarf at vermin hunting without the nasty side-effects from seeing a specific hated vermin before killing it. But cats reproduce altogether too fast; they're no fun if there are hundreds of them and your framerate is suffering as a result.
Cats live to be about 10 years old -- keep this in mind. This is long enough for you to deal with vermin in a more dwarven fashion, such as moving away from boring old wooden barrels and using instead high-capacity, vermin-proof stone jars (make sure to glaze them, or use porceline, metal, etc for liquids) for food storage as someone mentioned. If you don't mind a sloppy mess, you might consider installing a perimeter of 3/7 of water around your stores, which your dwarves can handle but vermin may have a difficult time with. Who needs cats then?
In conclusion, do bring cats at embark. We all love our wagon-guarding kitties, but consider only bringing males, or otherwise micromanaging their rather rapid reproduction rates before you have a "catplosion," and consider permanently pasturing them away from the meeting areas, designated nearby your wagon or your entrance, or simply tie them up with a rope where they are needed. They won't mind.
Have some kitty fun, and remember, losing is fun (if done properly) :D>
Solution 3:
The only way to stop this would be to kill all your cats or lock them all up.
Note that the corpses aren't always from outside of your fortress either - cats will go around killing rodents in your stockpiles, which is why it's important to at least have one in your fortress, lest your stocks be spoiled. Dealing with arrogant cats and the cleanup they require is a simple necessity in the life of a pet owner.
Solution 4:
Cats, due to their [VERMIN_HUNTER] tag attempt to bring their kills to their owner (who usually then disposes of it, as you've seen).
There are two ways I can think of to 'fix' this. The first is to simply... "deal with" any dwarf who gets adopted by a cat. Without an owner, cats will simply leave the vermin where it is, which means less corpse hauling.
Alternatively, you can open up your regional save file, open COMMON_DOMESTIC, find the RAWs for Cats, and remove [ADOPTS_OWNER]. That way, you'll never have to deal with cat adoption occurring in the first place (which is basically option 1, with less "unfortunate accident"s).