So, I was happily making evil variants of various critters for my hobbits to play with (and cook) when I got to 'Evil Mountain Goat' and it stopped working. Crash when placing in Arena with this error:
*** Error(s) found in the file "raw/objects/creature_evil-critters.txt"
EVIL_GOAT_MOUNTAIN:Unrecognized Creature Copy (Order is important!): GOAT_MOUNTAIN
I hadn't done anything particularly different to my previous evil geckos, toads and various birds and they're working fine. I spent some fruitless hours searching for spelling mistakes until I figured it out.
Taking "order is important" as the key, I renamed my evil critters file to "creature_z_evil-critters.txt" and now it works again. Because order
of the file names is important, I guess. Laughing I went to check the only real modding guide that exists, dfwiki, but can't seem to find this useful bit of info anywhere.
So, I'm left thinking that either:
1) It's left off the wiki because it's 'common knowledge' to all modders who like to smirk at hapless amateurs whenever this comes up.
2) It's on the wiki and I just can't find it
3) It's not on the wiki, because if I were modding properly this wouldn't happen.
If 3, please let me know the proper way to use the variations files and [copy_tags_from] tag.
Here's my raws:
creature_evil-critters
[OBJECT:CREATURE]
[CREATURE:EVIL_LEOPARD_GECKO]
[COPY_TAGS_FROM:GECKO_LEOPARD]
[APPLY_CREATURE_VARIATION:EVIL_CRITTER]
[CV_REMOVE_TAG:CHANGE_BODY_SIZE_PERC]
[APPLY_CURRENT_CREATURE_VARIATION]
[GO_TO_END]
[SELECT_CASTE:ALL]
[CHANGE_BODY_SIZE_PERC:4000]
[GO_TO_START]
[NAME:dark leopard gecko:dark leopard geckos:dark leopard gecko]
[CASTE_NAME:dark leopard gecko:dark leopard geckos:dark leopard gecko]
[DESCRIPTION:A larger, more evil variant of the common gecko.]
[POPULATION_NUMBER:100:200]
[CLUSTER_NUMBER:10:20]
[CREATURE_TILE:'g']
[COLOR:6:0:1]
[PET_EXOTIC]
[PETVALUE:500]
[GO_TO_END]
[PREFSTRING:evil sticky feet]
[PREFSTRING:demonic coloration]
[USE_MATERIAL_TEMPLATE:POISON:CREATURE_EXTRACT_TEMPLATE]
[STATE_NAME:ALL_SOLID:frozen evil gecko venom]
[STATE_ADJ:ALL_SOLID:frozen evil gecko venom]
[STATE_NAME:LIQUID:evil gecko venom]
[STATE_ADJ:LIQUID:evil gecko venom]
[STATE_NAME:GAS:boiling evil gecko venom]
[STATE_ADJ:GAS:boiling evil gecko venom]
[PREFIX:NONE]
[ENTERS_BLOOD]
[SYNDROME]
[SYN_NAME:evil gecko bite]
[SYN_AFFECTED_CLASS:GENERAL_POISON]
[SYN_IMMUNE_CREATURE:EVIL_LEOPARD_GECKO:ALL]
[SYN_INJECTED]
[CE_PAIN:SEV:75:PROB:100:RESISTABLE:SIZE_DILUTES:LOCALIZED:VASCULAR_ONLY:START:10:PEAK:50:END:1200]
[CE_DIZZINESS:SEV:50:PROB:100:RESISTABLE:SIZE_DILUTES:START:30:PEAK:100:END:1200]
[CE_DROWSINESS:SEV:50:PROB:100:RESISTABLE:SIZE_DILUTES:START:30:PEAK:100:END:1200]
[CE_PARALYSIS:SEV:100:PROB:100:RESISTABLE:SIZE_DILUTES:START:60:PEAK:100:END:1200]
[APPLY_CREATURE_VARIATION:EVIL_BITE_ATTACK]
[APPLY_CREATURE_VARIATION:STANDARD_QUADRUPED_GAITS:900:657:438:219:1900:2900] 15 kph
[APPLY_CREATURE_VARIATION:STANDARD_SWIMMING_GAITS:2990:2257:1525:731:4300:6100] 5 kph
[APPLY_CREATURE_VARIATION:STANDARD_CRAWLING_GAITS:2990:2257:1525:731:4300:6100] 5 kph
[APPLY_CREATURE_VARIATION:STANDARD_CLIMBING_GAITS:2990:2257:1525:731:4300:6100] 15 kph
[CREATURE:EVIL_GOAT_MOUNTAIN]
[COPY_TAGS_FROM:GOAT_MOUNTAIN]
[APPLY_CREATURE_VARIATION:EVIL_CRITTER]
[CV_REMOVE_TAG:CHANGE_BODY_SIZE_PERC]
[APPLY_CURRENT_CREATURE_VARIATION]
[GO_TO_END]
[SELECT_CASTE:ALL]
[CHANGE_BODY_SIZE_PERC:1120]
[GO_TO_START]
[NAME:dark mountain goat:dark mountain goats:dark mountain goat]
[CASTE_NAME:dark mountain goat:dark mountain goats:dark mountain goat]
[GENERAL_CHILD_NAME:dark mountain goat kid:dark mountain goat kids]
[DESCRIPTION:A larger, more evil variant of the common goat.]
[POPULATION_NUMBER:15:30]
[CLUSTER_NUMBER:1:4]
[CREATURE_TILE:'g']
[COLOR:7:0:1]
[PET_EXOTIC]
[PETVALUE:500]
[GO_TO_END]
[PREFSTRING:demonic beards]
[PREFSTRING:evil horns]
[PREFSTRING:supernatural surefootedness]
[USE_MATERIAL_TEMPLATE:POISON:CREATURE_EXTRACT_TEMPLATE]
[STATE_NAME:ALL_SOLID:frozen evil goat venom]
[STATE_ADJ:ALL_SOLID:frozen evil goat venom]
[STATE_NAME:LIQUID:evil goat venom]
[STATE_ADJ:LIQUID:evil goat venom]
[STATE_NAME:GAS:boiling evil goat venom]
[STATE_ADJ:GAS:boiling evil goat venom]
[PREFIX:NONE]
[ENTERS_BLOOD]
[SYNDROME]
[SYN_NAME:evil goat bite]
[SYN_AFFECTED_CLASS:GENERAL_POISON]
[SYN_IMMUNE_CREATURE:EVIL_GOAT_MOUNTAIN:ALL]
[SYN_INJECTED]
[CE_PAIN:SEV:75:PROB:100:RESISTABLE:SIZE_DILUTES:LOCALIZED:VASCULAR_ONLY:START:10:PEAK:50:END:1200]
[CE_DIZZINESS:SEV:50:PROB:100:RESISTABLE:SIZE_DILUTES:START:30:PEAK:100:END:1200]
[CE_DROWSINESS:SEV:50:PROB:100:RESISTABLE:SIZE_DILUTES:START:30:PEAK:100:END:1200]
[CE_PARALYSIS:SEV:100:PROB:100:RESISTABLE:SIZE_DILUTES:START:60:PEAK:100:END:1200]
[APPLY_CREATURE_VARIATION:EVIL_BITE_ATTACK]
[APPLY_CREATURE_VARIATION:STANDARD_QUADRUPED_GAITS:900:750:600:439:1900:2900] 20 kph
[APPLY_CREATURE_VARIATION:STANDARD_SWIMMING_GAITS:2990:2257:1525:731:4300:6100] 12 kph
[APPLY_CREATURE_VARIATION:STANDARD_CRAWLING_GAITS:2990:2257:1525:731:4300:6100] 12 kph
Geko works fine, goat breaks.
Here's the variations raws:
c_variation_badcrits
[OBJECT:CREATURE_VARIATION]
Order of application:
Remove tags are applied starting from the bottom, then convert tags from the bottom, then add tags from the top.
Arguments:
If APPLY_CREATURE_VARIATION in the creature raws sends in arguments, you can use them below as !ARG1, !ARG2, etc. The GAIT variations below have some examples. In the creature raws, if an argument is of the form "5|6", for example, it'll be converted to "5:6" in the creature variation, so you can handle variable-token arguments with the | character.
Conditional tags:
Change TAG to CTAG and add, for example, CV_REMOVE_CTAG:1:YES:<regular stuff> to require !ARG1 to be YES to execute the changes.
[CREATURE_VARIATION:EVIL_CRITTER]
[CV_REMOVE_TAG:NAME]
[CV_REMOVE_TAG:GENERAL_CHILD_NAME]
[CV_REMOVE_TAG:GENERAL_BABY_NAME]
[CV_REMOVE_TAG:CASTE_NAME]
[CV_REMOVE_TAG:CHILDNAME]
[CV_REMOVE_TAG:BABYNAME]
[CV_REMOVE_TAG:POPULATION_NUMBER]
[CV_REMOVE_TAG:CLUSTER_NUMBER]
[CV_REMOVE_TAG:COLOR]
[CV_REMOVE_TAG:MOUNT]
[CV_REMOVE_TAG:MOUNT_EXOTIC]
[CV_REMOVE_TAG:SOUND]
[CV_REMOVE_TAG:SMALL_REMAINS]
[CV_REMOVE_TAG:DESCRIPTION]
[CV_REMOVE_TAG:CREATURE_TILE]
[CV_REMOVE_TAG:PET]
[CV_REMOVE_TAG:PETVALUE]
[CV_REMOVE_TAG:PENETRATEPOWER]
[CV_REMOVE_TAG:VERMIN_EATER]
[CV_REMOVE_TAG:VERMIN_HATEABLE]
[CV_REMOVE_TAG:VERMIN_GROUNDER]
[CV_REMOVE_TAG:VERMIN_FISH]
[CV_REMOVE_TAG:VERMIN_SOIL]
[CV_REMOVE_TAG:VERMIN_SOIL_COLONY]
[CV_REMOVE_TAG:VERMIN_ROTTER]
[CV_REMOVE_TAG:VERMIN_NOTRAP]
[CV_REMOVE_TAG:FISHITEM]
[CV_REMOVE_TAG:TRIGGERABLE_GROUP]
[CV_REMOVE_TAG:PET_EXOTIC]
[CV_REMOVE_TAG:NOT_BUTCHERABLE]
[CV_REMOVE_TAG:PREFSTRING]
[CV_REMOVE_TAG:SPEED]
[CV_REMOVE_TAG:SWIM_SPEED]
[CV_REMOVE_TAG:MUNDANE]
[CV_REMOVE_TAG:GAIT]
[CV_REMOVE_TAG:UBIQUITOUS]
[CV_REMOVE_TAG:ATTACK]
[CV_NEW_TAG:LARGE_ROAMING]
[CV_NEW_TAG:EVIL]
[CV_NEW_TAG:SELECT_CASTE:ALL]
[CV_NEW_TAG:CHANGE_BODY_SIZE_PERC:1000]