• Welcome to Zoo Tycoon Designer Guild.
 

News:

Welcome to the Zoo Tycoon Designer Guild's newest home.

Main Menu

UCS Editing guide (User Created Scenery)

Started by fern, August 09, 2007, 03:39:39 AM

0 Members and 1 Guest are viewing this topic.

fern

Introduction

This guide was put together by Fern for use by designers in the Zoo Tycoon Community to aid them with their designing and file editing skills.

This guide assumes you know how to compress and uncompress ".ztd" (".zip") files. This guide also assumes you have created, usually with APE, a ".ztd" for scenery, foliage, or rocks. It is also useful to have read the Characteristics Guide, which describes the common characteristics in ".ucs" and ".ai" files and shows pictures to describe a couple of them.

What is a UCS file and what does it do?
UCS stands for User Created Scenery. This term covers scenery, foliage, and rocks.
The ucs file is a text file that tells Zoo Tycoon what something is, where the graphics are, what menu to show the file in ingame, and what behaviours the file should have, such as if it is water placeable. It is part of the .ztd created by APE. Here is an example of what is inside a .ztd created by APE when the object is based on the ingame elephant statue.



The "12345678" in the above image will be an id randomly created by APE. Before talking about the ucs file, the above image shows the first cleanup that can be done. When images are put into APE for a new object, APE creates ".pal" files, which contain the list of colors used by the images. However, it does not remove the ".pal" files that are copies of the ".pal" files used by the ingame object. In the above image, i.pal (pointed to by a red arrow) is a copy of the ".pal" file for the icon of the ingame object. The 4 N.pal files (circled in red) are the ".pal" files created by APE for the new icons. So i.pal can be removed from the .ztd. But only remove i.pal if you see 4 N.pal files in your .ztd. Also in the above image, statue2.pal (pointed to by a blue arrow) is a copy of the ".pal" file for the ingame elephant statue. The 4 ".pal" files in the "idle" folder (circled in blue) are the ".pal" files created by APE for the new object. So statue2.pal can be removed from the .ztd. If a different ingame object is used as the base for your object, the name of this ".pal" file will be different. It should still be obvious which it is, since its name will be similar to the ingame object, although the name will not be longer than 8 characters, such as the above statue2. But only remove this other ".pal" file if you see 4 ".pal" files (NE.pal, NW.pal, SE.pal, and SW.pal) in the "idle" folder.

As can be seen in the above image, the .ztd also contains a ".ucs" file. APE will often add unnecessary lines to ucs (and animal ".uca") files. You might also need to make changes to this file for other reasons, as will be mentioned below. The ucs file can be read and edited with any text editor, such as Notepad or Vim. Depending on the compression program you use, you might have to extract the ucs file from the .ztd before you can edit it.

fern

#1
UCS Editing Guide For Foliage

For some objects, it is often difficult to decide whether they should be classified as foliage, rocks, or scenery. This is because some objects are a mix. If the central focus of an object is its foliage, whether it is flowers, trees, shrubs, or hedges, then it should be in the foliage menu (this guide), no matter what else is in the images, such as bases beneath the plants. If the central focus of an object is its rocks, such as rock formations, then it should be in the rocks menu, no matter what else is in the images, such as trees on the rocks or waterfalls over the rocks. If the central focus of an object is not foliage or rocks, such as fountains or decorative towers, then it should be in the scenery menu, even if foliage or rocks are included in the image.

If a line in red is not needed for your object, then it can be removed.

* Zoo Tycoon is extremely picky and wants keywords to match exactly. For example, it is extremely important which letters are capital and which ones are lower case. It is also important which ones begin with "c" and which ones do not.


Foliage ".ucs" layout:

[]  Remove these if empty and remove any blank lines at the top or bottom of the ".ucs" file.

[F5DAD057]  This is the unique 8-character ID created by APE. (Blue Fang actually calls it a Type.)

[Icon]
Icon = objects/F5DAD057/SE/SE
Icon = objects/F5DAD057/SW/SW
Icon = objects/F5DAD057/NW/NW
Icon = objects/F5DAD057/NE/NE

[Member]
foliage

habitatfoliage  This line is not needed unless the foliage is exhibit placeable.
zoofoliage

[Characteristics/Integers]

cAutoRotate = 1  Add this line if you want Zoo Tycoon to automatically rotate the object after it is placed in the zoo, so the next placement will show a different view. Otherwise leave this line out.
cEstheticWeight = 33  Delete this line as it will cause game crashes when used in a UCS file.
cFoliage = 1  Add this line if the foliage is to count toward exhibit suitability. Otherwise leave this line out.
cFootprintX = 2 
cFootprintY = 2 
A footprint size should always be an even number unless it is 1. A grid square (tile) is a 2 x 2 footprint.
cHabitat = 9411  This affects the displayed habitat icon. The habitat ID needs to be changed accordingly. The following IDs are recognized: 9400 (Savannah), 9401 (Grassland), 9402 (Deciduous Forest), 9403 (Coniferous Forest), 9404 (Boreal Forest), 9405 (Tropical Rainforest), 9406 (Scrub), 9407 (Highlands), 9408 (Tundra), 9409 (Desert), 9410 (Non-habitat), 9411 (Many), 9412 (Null Habitat), 9413 (Aquatic), 9414 (Bad-habitat). 9414 and 9411 are the most commonly used for user creations. 9414 is for non-exhibit foliage and 9411 is for anything that is to be placed in either an exhibit or anywhere in the zoo.
cHeight = 3  Setting the height can be tricky. Ideally, it should match the height of the object in ZT. For example, you can put the object in ZT and create a cliff next to it that matches its height as much as possible. If you raised the ground 1 level, that would be a height of 1. Raising the ground 2 levels would be a height of 2. Raising the ground 3 or more levels would be a height of at least 3. But sometimes the height is changed to other things for various reasons. For example, a guest probably can only see through objects that have a height of 1. So if the object looks like it has enough gaps to see through, then maybe its height should be set to 1. If the object is to be allowed at the bottom of a tank, its height might also need to be set to 1 in some cases so that the animals swim over it instead of through it. Tall dinosaurs can sometimes walk over things that have a height less than 3.
cHelpID = 9309  No need to change or remove no matter the setting.
cLocation = 9618  This represents the world location of your object. Zoo Tycoon recognizes: 9600 (Africa), 9601 (India), 9602 (Siberia), 9603 (Southeast Asia), 9604 (Himalayas), 9605 (China), 9606 (South America), 9607 (North America), 9608 (Arctic), 9609 (Antarctica), 9610 (Eurasia), 9611 (Australia), 9612 (Asia), 9613 (Europe), 9614 (North Africa), 9615 (Pacific Ocean), 9616 (Eastern United States), 9617 (Western United States), 9618 (Many). Marine Mania added: 9625 (Many Locations), 9626 (Arctic), 9627 (Many Locations), 9629 (Many Locations), 9630 (North Pacific Ocean), 9631 (Many Locations), 9632 (Atlantic Ocean), 9633 (Many Oceans). 9618 is the most commonly used for user made objects. If cHabitat is set to 9414 do not include this line. Otherwise include this line with the appropriate setting. This is the line that puts the map in the menu.
cNameID = 19000  This line must be like this for user creations.
cOnlySwims = 1  A setting of 1 means that this object cannot be placed on land. It is usually better to allow things to be placed on land, allowing Zoo Tycooners to decide for themselves where they want to put things. So this line may be deleted.
cPurchaseCost = 100  Use ingame items as a guide for setting the purchase cost. Bigger things and rarer things should have higher prices.
cSurface = 1  See the "cSurface/cSwims/cUnderwater Details" post after the guides.
cSwims = 1  See the "cSurface/cSwims/cUnderwater Details" post after the guides.
cUnderwater = 1  See the "cSurface/cSwims/cUnderwater Details" post after the guides.
cUsedThought=10216  Leave this for a flowerbed. Otherwise remove this line.
cUseNumbersInName = 0  No need to change for foliage.
walkable = 1  Add this line only for 1/4 tile (cFootprintX = 1 and cFootprintY = 1) foliage that has cHeight = 1 and is the type of foliage that guests and animals would walk through in real life. Otherwise leave this line out.

[Animations]
idle = idle 
Leave as is.

[EstheticBonus]  These settings indirectly affect guest happiness.
v = 9503  Man
v = 3  This is how pretty a man thinks this object is.
v = 9504  Woman
v = 3  This is how pretty a woman thinks this object is.
v = 9505  Boy
v = 0  This is how pretty a boy thinks this object is.
v = 9506  Girl
v = 0  This is how pretty a girl thinks this object is.

[defaultLCID]
LCID = 1033 
This line should be set to 1033. This section defines the default language code. Since more people that use Zoo Tycoon know English (although not necessarily as their first language) compared to any other language, this section should contain this line.

[Global]
Type = F5DAD057 
No need to change or remove no matter the setting. Note that this will be the same 8 characters as in the brackets at the top.

[1033]  This section contains four settings for the U.S. English (1033) language. In addition to the [1033] language section, it is also possible to have other language sections. However, only include other sections if they use the appropriate language. For example, do not put English inside a German section or vice versa.
cGeneralInfoFileName = objects/F5DAD057/texts/1033.txt  This setting is actually only used for user animals, although the setting is always present even for objects.
cLongHelp = Purchase a Pine Tree.  Guests will appreciate the Pine Tree.  This is the tooltip shown in the purchase menu. For a quality object, verify there are no spelling or grammar errors. Make sure that this is all on one line, or part of the tooltip will not show. If there is something unique or interesting to say about the object, do it here.
cName = Pine Tree  Name of the object.
cTheString = the Pine Tree  For English, this is the same as cName with "the" in front.

fern

#2
UCS Editing Guide For Rocks

For some objects, it is often difficult to decide whether they should be classified as foliage, rocks, or scenery. This is because some objects are a mix. If the central focus of an object is its foliage, whether it is flowers, trees, shrubs, or hedges, then it should be in the foliage menu, no matter what else is in the images, such as bases beneath the plants. If the central focus of an object is its rocks, such as rock formations, then it should be in the rocks menu (this guide), no matter what else is in the images, such as trees on the rocks or waterfalls over the rocks. If the central focus of an object is not foliage or rocks, such as fountains or decorative towers, then it should be in the scenery menu, even if foliage or rocks are included in the image.

If a line in red is not needed for your object, then it can be removed.

* Zoo Tycoon is extremely picky and wants keywords to match exactly. For example, it is extremely important which letters are capital and which ones are lower case. It is also important which ones begin with "c" and which ones do not.


Rocks ".ucs" layout:

[]  Remove these if empty and remove any blank lines at the top or bottom of the ".ucs" file.

[66BCD026]  This is the unique 8-character ID created by APE. (Blue Fang actually calls it a Type.)

[Icon]
Icon = objects/66BCD026/SE/SE
Icon = objects/66BCD026/SW/SW
Icon = objects/66BCD026/NW/NW
Icon = objects/66BCD026/NE/NE

[Member]
rocks

[Characteristics/Integers]
cAutoRotate = 1 
Leave this line if you want Zoo Tycoon to automatically rotate the object after it is placed in the zoo, so the next placement will show a different view. Otherwise take this line out.
cEstheticWeight = 33  Delete this line as it will cause game crashes when used in a UCS file.
cFootprintX = 1
cFootprintY = 1 
A footprint size should always be an even number unless it is 1. A grid square (tile) is a 2 x 2 footprint.
cHabitat = 9402  This affects the displayed habitat icon. The habitat ID needs to be changed accordingly. The following IDs are recognized: 9400 (Savannah), 9401 (Grassland), 9402 (Deciduous Forest), 9403 (Coniferous Forest), 9404 (Boreal Forest), 9405 (Tropical Rainforest), 9406 (Scrub), 9407 (Highlands), 9408 (Tundra), 9409 (Desert), 9410 (Non-habitat), 9411 (Many), 9412 (Null Habitat), 9413 (Aquatic), 9414 (Bad-habitat). 9411 is the most commonly used for user creations. 9411 is for anything that is to be placed in either an exhibit or anywhere in the zoo.
cHeight = 2  Setting the height can be tricky. Ideally, it should match the height of the object in ZT. For example, you can put the object in ZT and create a cliff next to it that matches its height as much as possible. If you raised the ground 1 level, that would be a height of 1. Raising the ground 2 levels would be a height of 2. Raising the ground 3 or more levels would be a height of at least 3. But sometimes the height is changed to other things for various reasons. For example, a guest probably can only see through objects that have a height of 1. So if the object looks like it has enough gaps to see through, then maybe its height should be set to 1. If the object is to be allowed at the bottom of a tank, its height might also need to be set to 1 in some cases so that the animals swim over it instead of through it. Tall dinosaurs can sometimes walk over things that have a height less than 3.
cHelpID = 9223  No need to change or remove no matter the setting.
cLocation = 9618  This represents the world location of your object. Zoo Tycoon recognizes: 9600 (Africa), 9601 (India), 9602 (Siberia), 9603 (Southeast Asia), 9604 (Himalayas), 9605 (China), 9606 (South America), 9607 (North America), 9608 (Arctic), 9609 (Antarctica), 9610 (Eurasia), 9611 (Australia), 9612 (Asia), 9613 (Europe), 9614 (North Africa), 9615 (Pacific Ocean), 9616 (Eastern United States), 9617 (Western United States), 9618 (Many). Marine Mania added: 9625 (Many Locations), 9626 (Arctic), 9627 (Many Locations), 9629 (Many Locations), 9630 (North Pacific Ocean), 9631 (Many Locations), 9632 (Atlantic Ocean), 9633 (Many Oceans). 9618 is the most commonly used for user made objects. This is the line that puts the map in the menu.
cNameID = 19000  This line must be like this for user creations.
cOnlySwims = 0  A setting of 0 means that this object can be placed on land. Since that is the default, this line is not actually necessary and may be deleted.
cPurchaseCost = 210  Use ingame items as a guide for setting the purchase cost. Bigger things and rarer things should have higher prices.
cRock = 1  Delete this line if the rock is NOT to count toward exhibit suitability. Otherwise leave this line in.
cSurface = 1  See the "cSurface/cSwims/cUnderwater Details" post after the guides.
cSwims = 1  See the "cSurface/cSwims/cUnderwater Details" post after the guides.
cUnderwater = 1  See the "cSurface/cSwims/cUnderwater Details" post after the guides.
cUseNumbersInName = 0  No need to change for rocks.

[Animations]
idle = idle 
Leave as is.

[defaultLCID]
LCID = 1033 
This line should be set to 1033. This section defines the default language code. Since more people that use Zoo Tycoon know English (although not necessarily as their first language) compared to any other language, this section should contain this line.

[Global]
Type = 66BCD026 
No need to change or remove no matter the setting. Note that this will be the same 8 characters as in the brackets at the top.

[EstheticBonus]  These settings indirectly affect guest happiness.
v = 9503  Man
v = 0  This is how pretty a man thinks this object is.
v = 9504  Woman
v = 0  This is how pretty a woman thinks this object is.
v = 9505  Boy
v = 0  This is how pretty a boy thinks this object is.
v = 9506  Girl
v = 0  This is how pretty a girl thinks this object is.

[1033]  This section contains four settings for the U.S. English (1033) language. In addition to the [1033] language section, it is also possible to have other language sections. However, only include other sections if they use the appropriate language. For example, do not put English inside a German section or vice versa.
cGeneralInfoFileName = objects/66BCD026/texts/1033.txt  This setting is actually only used for user animals, although the setting is always present even for objects.
cLongHelp = Purchase a Deciduous Rock. Deciduous animals that enjoy rocks in their exhibit will enjoy this deciduous rock.  This is the tooltip shown in the purchase menu. For a quality object, verify there are no spelling or grammar errors. Make sure that this is all on one line, or part of the tooltip will not show. If there is something unique or interesting to say about the object, do it here.
cName = Deciduous Rock  Name of the object.
cTheString = the Deciduous Rock  For English, this is the same as cName with "the" in front.

fern

#3
UCS Editing Guide For Scenery

What will appear in the APE produced UCS will depend on what object you choose as your base, so we have tried to cover them all here.

For some objects, it is often difficult to decide whether they should be classified as foliage, rocks, or scenery. This is because some objects are a mix. If the central focus of an object is its foliage, whether it is flowers, trees, shrubs, or hedges, then it should be in the foliage menu, no matter what else is in the images, such as bases beneath the plants. If the central focus of an object is its rocks, such as rock formations, then it should be in the rocks menu, no matter what else is in the images, such as trees on the rocks or waterfalls over the rocks. If the central focus of an object is not foliage or rocks, such as fountains or decorative towers, then it should be in the scenery menu (this guide), even if foliage or rocks are included in the image.


If a line in red is not needed for your object, then it can be removed.

* Zoo Tycoon is extremely picky and wants keywords to match exactly. For example, it is extremely important which letters are capital and which ones are lower case. It is also important which ones begin with "c" and which ones do not.


Scenery ".ucs" layout:

[]  Remove these if empty and remove any blank lines at the top or bottom of the ".ucs" file.

[52EE4088]  This is the unique 8-character ID created by APE. (Blue Fang actually calls it a Type.)

[Icon]
Icon = objects/52EE4088/SE/SE
Icon = objects/52EE4088/SW/SW
Icon = objects/52EE4088/NW/NW
Icon = objects/52EE4088/NE/NE

[Member]
scenery

[Characteristics/Integers]

cEstheticWeight = 33  Delete this line as it will cause game crashes when used in a UCS file.
cFootprintX = 2
cFootprintY = 4 
A footprint size should always be an even number unless it is 1. A grid square (tile) is a 2 x 2 footprint.
cHabitat = 9414  9414 and 9411 are the most commonly used for user creations. 9414 is for non-exhibit objects and 9411 is for anything that is to be placed in either an exhibit or anywhere in the zoo.
cHeight = 2  Setting the height can be tricky. Ideally, it should match the height of the object in ZT. For example, you can put the object in ZT and create a cliff next to it that matches its height as much as possible. If you raised the ground 1 level, that would be a height of 1. Raising the ground 2 levels would be a height of 2. Raising the ground 3 or more levels would be a height of at least 3. But sometimes the height is changed to other things for various reasons. For example, a guest probably can only see through objects that have a height of 1. So if the object looks like it has enough gaps to see through, then maybe its height should be set to 1. One example is a viewing/observation area. If the object is to be allowed at the bottom of a tank, its height might also need to be set to 1 in some cases so that the animals swim over it instead of through it. An example of this is an arch that is meant for the bottom of the tank, otherwise marine animals might swim through the sides of the arch. Tall dinosaurs can sometimes walk over things that have a height less than 3.
cHelpID = 6042  No need to change or remove no matter the setting.
cNameID = 19000  This line must be like this for user creations.
cOnlySwims = 1  A setting of 1 means that this object cannot be placed on land. It is usually better to allow things to be placed on land, allowing Zoo Tycooners to decide for themselves where they want to put things. So this line may be deleted in those cases. An example of where the line would be used is for an object that has waves as part of its graphics.
cPurchaseCost = 450  Use ingame items as a guide for setting the purchase cost. Bigger things and rarer things should have higher prices.
cSurface = 1  See the "cSurface/cSwims/cUnderwater Details" post after the guides.
cSwims = 1  See the "cSurface/cSwims/cUnderwater Details" post after the guides.
cTimeInside = 0  Delete this line. It is not used for scenery.
cUnderwater = 1  See the "cSurface/cSwims/cUnderwater Details" post after the guides.
cUsedThought = 10222  Use this for statues. Use 10220 for fountains. Otherwise remove this line.
cUseNumbersInName = 0  No need to change for scenery.
cUserStaysOutside = 1  Delete this line. It is not used for scenery.
walkable = 1  Add this line only for arches and observation/viewing areas. More info on this further on. Otherwise leave this line out.

[Animations]
idle = idle 
Leave as is.

[EstheticBonus]  These settings indirectly affect guest happiness.
v = 9503  Man
v = 8  This is how pretty a man thinks this object is.
v = 9504  Woman
v = 8  This is how pretty a woman thinks this object is.
v = 9505  Boy
v = 8  This is how pretty a  thinks this object is.
v = 9506  Girl
v = 8  This is how pretty a girl thinks this object is.

[defaultLCID]
LCID = 1033 
This line should be set to 1033. This section defines the default language code. Since more people that use Zoo Tycoon know English (although not necessarily as their first language) compared to any other language, this section should contain this line.

[Global]
Type = 52EE4088 
No need to change or remove no matter the setting. Note that this will be the same 8 characters as in the brackets at the top.

[1033]  This section contains four settings for the U.S. English (1033) language. In addition to the [1033] language section, it is also possible to have other language sections. However, only include other sections if they use the appropriate language. For example, do not put English inside a German section or vice versa.
cGeneralInfoFileName = objects/52EE4088/texts/1033.txt This setting is actually only used for user animals, although the setting is always present even for objects.
cLongHelp = Guests will love this gingerbread statue that reminds them of bedtime stories.  This is the tooltip shown in the purchase menu. For a quality object, verify there are no spelling or grammar errors. Make sure that this is all on one line, or part of the tooltip will not show. If there is something unique or interesting to say about the object, do it here.
cName = Gingerbread Statue  Name of the object.
cTheString = the Gingerbread Statue  For English, this is the same as cName with "the" in front.


Observation areas

For an observation area to work properly, it requires two things.
It needs "walkable = 1" so that guests will go under it if there is a path there. However, if you do not adjust the cHeight properly, your guests will not stop and gawk at the animals or take photos of them because they cannot "see" them. In order for guests to "see", you must set the cHeight to "cHeight = 1".
Although Blue Fang did not do this with their observation areas, I would also consider making some of them exhibit placeable as it would look good with some animals walking under them and seeming to use them as shelter.
The graphics need special care. The legs of the observation area should be on the grid lines and not inside the grid lines. Otherwise guests will look like they walk through the legs. The roof of the observation area should be relatively high so that the guests do not look like they walk through the edges of the roof.


Arches

For an arch to work properly, you need to have "walkable = 1" so that guests will walk under it. Ideally an arch will have a footprint of 6 x 2 or 8 x 2 so it completely spans a one or two tile width of path. Although a cFootprintY of 1 is possible, guests will look like they walk through the base more when it is placed at the back of tiles compared to when it is placed at the front of tiles. If a solid part of the arch is on a path, guests will walk right through it as if the arch is not there. So, ideally, the solid part of the arch should not be on a path. If the arch columns are see through like glass or trellis, then also cHeight should be set to "cHeight = 1".
Depending on the type of arch you have made, you might want to consider making it water placeable so you can have a path running through a water terrain area.
The graphics need special care. As mentioned, the base should be off the path, with a reasonable space between them and the path. The top of the arch should also be fairly high so that it does not look like guests walk through the top. There must not be a floor as part of the graphics. Otherwise it will look like guests walk under the floor.

fern

#4
cSurface/cSwims/cUnderwater Details

How to have an object where it may sit on the surface of a tank, may be placed on water terrain, and may be placed on land.

[Characteristics/Integers] would have the following lines in it as well as the usual ones.
cSurface = 1
cSwims = 1

How to have an object where it may sit on the surface of a tank and may be placed on water terrain but cannot be placed on land in MM or CC.
This is more for something animated that has water ripples around it, like a boat.
Note: Due to a mistake in MM and CC, the original ZT configuration for "not land placeable" will also cause the object to be not tank placeable. Therefore, the following configuration will cause the object to be not land placeable in MM and CC, but the object will be land placeable as well as water terrain placeable in the original ZT and DD.

[Characteristics/Integers] would have the following lines in it as well as the usual ones.
cLand = 0
cSurface = 1
cSwims = 1
cUnderwater = 1

How to have an object where it may sit on the surface of a tank and may be placed on land but cannot be placed on water terrain.

[Characteristics/Integers] would have the following line in it as well as the usual ones.
cSurface = 1

How to have an object where it may sit at the bottom of a tank, may be placed on water terrain, and may be placed on land.

[Characteristics/Integers] would have the following lines in it as well as the usual ones.
cSwims = 1
cUnderwater = 1

How to have an object where it may sit at the bottom of a tank and may be placed on water terrain but cannot be placed on land in MM or CC.
This is more for something animated that has water ripples around it but does not look like it would float.
Note: Due to a mistake in MM and CC, the original ZT configuration for "not land placeable" will also cause the object to be not tank placeable. Therefore, the following configuration will cause the object to be not land placeable in MM and CC, but the object will be land placeable as well as water terrain placeable in the original ZT and DD.

[Characteristics/Integers] would have the following lines in it as well as the usual ones.
cLand = 0
cSwims = 1
cUnderwater = 1

How to have an object where it may sit at the bottom of a tank and may be placed on land but cannot be placed on water terrain.

[Characteristics/Integers] would have the following line in it as well as the usual ones.
cUnderwater = 1

How to have an object that may be placed on water terrain and may be placed on land but cannot be placed in a tank.

[Characteristics/Integers] would have the following line in it as well as the usual ones.
cSwims = 1

How to have an object that may be placed on water terrain but cannot be placed in a tank or on land.

[Characteristics/Integers] would have the following lines in it as well as the usual ones.
cOnlySwims = 1
cSwims = 1

How to have an object that may be placed on land but cannot be placed in a tank or on water terrain.

Do not have any cLand, cOnlySwims, cSurface, cSwims, or cUnderwater lines in [Characteristics/Integers].

fern

#5
How to have your foliage disappear when the foliage key is toggled or ctrl/f is used

[Characteristics/Integers] would have the following line in it as well as the usual ones.

cFoliage = 1

However there is one drawback to this. cFoliage = 1 is what makes foliage go towards exhibit suitability. So you have to decide whether you want your foliage to affect your animals in this way or not.

fern

#6
Understanding cEstheticWeight = 33

This line, if left in a ".ucs" file, will cause the file to crash your game when a guest tries to interact with it. This means it could be in the zoo for some time before this happens. This UCS line is first seen in MM. It can only be used in an ".ai" file, as it needs to interact with cNameID = XXXX. However, it does not recognise cNameID = 19000, which is always in ".ucs" files. This line is likely to be found in a file made using APE 3 (APE xp) available at ABC. It is not the fault of the program. It just copies what it finds. So any files that used the following files as bases will need to have this line edited out.
Here are the things that use cEstheticWeight in MM:
Duck Pond, Turtle Fountain, Elephant Fountain, Fountain, Christmas (Holiday in CC) Tree, 4 Flowerbeds, 3 Large Flowerbeds, Exhibit Sign, Decorative Hedge, Zoo Map, Jack-O'-Lantern, Snowman, Lion Statue, Elephant Statue, Bighorn Statue, Giant Tortoise Fountain, Wooly Mammoth Fountain, Large Geyser, Small Geyser, Lava Pit, Tar Pit, Small Volcano, Large Volcano, Bone Bed, Small Fossil Wall, Medium Fossil Wall, Large Fossil Wall, T. rex Skeleton, Triceratops Skeleton, Velociraptor Skeleton, Triceratops Statue, T. rex Statue, Velociraptor Statue, Steam Vent, Giant Pacific Clam, 3 Jetties, Jumping Fountain, Lighthouse, Sail Boat, Deep Sea Diver Statue, Dolphin Statue, Mermaid Statue, Orca Statue, Seal Statue, Sea Lion Statue, Trio Statue, "testbox", Treasure Chest, Wishing Fountain, and Dolphin Wishing Fountain.

fern

#7
To cRock or not to cRock, to cFoliage or not to cFoliage, that is the question.

by Jay with input from fern

For most of the settings in the ".ucs" file, it is easy to say when to use a specific setting. But some of the settings are subjective. In particular, different designers (and different Zoo Tycooners) have different ideas on when to use or not use cRock, when to use or not use cFoliage, and when to use specific habitat values for cHabitat instead of using 9411 (Many). These settings have more consequences than most settings. This post mentions those consequences so that each designer can decide on their own which approach they want to follow. These consequences are only for foliage or rocks that are placed in exhibits.

A habitat is not the same as a terrain. Although they are similar, there are differences. Most animals prefer a specific habitat, but need multiple terrains. For example, a Savannah habitat animal might also want sand and dirt terrain in addition to savannah grass terrain. So the animal might like savannah foliage, but not like desert foliage. Also, most animals want some fresh water terrain. Usually land animals will tolerate aquatic foliage, not disliking it but also not liking it (except, perhaps, from the total foliage percentage part of exhibit suitability). If you configure foliage or rocks for a specific habitat, then animals that prefer that habitat will like those foliage and rocks, which will affect their happiness and their habitat happiness part of suitability. Although animals have a preferred habitat, which is shown in the animal purchase menu, some animals will also like other foliage and rocks from other habitats as well. For example, a specific animal might like foliage and rocks from a number of habitats, such as grassland, deciduous forest, and coniferous forest habitats. Although a single foliage or rock cannot be configured for a list of habitats, it can be configured for a specific habitat or for "Many" (ie, all) habitats.

Here is a list of consequences for the various settings.

cHabitat is set to 9414 (Bad-habitat).
- Animals will not like the object when it is placed in their exhibit.

cHabitat is set to 9411 (Many).
- Animals will tolerate the object when it is placed in their exhibit, not liking or disliking it from a happiness perspective, although they might like or dislike it from other suitability perspectives. The object may be put in any exhibit, allowing Zoo Tycooners to decide for themselves where something should be.

cHabitat is set to a specific habitat.
- Animals that like things from this specific habitat, even if it is not their preferred habitat, will like the object when it is placed in their exhibit. In this case, the animals will also show a smiley face when the object is placed in their exhibit, as long as the object does not cause the rock or foliage percentage part of the suitability to go too high.
- If the animals do not like things from this specific habitat, then they will not like the object when it is placed in their exhibit.
- If animals do not care one way or another about things from this specific habitat, then they will tolerate the object when it is placed in their exhibit, not liking or disliking it from a happiness perspective, although they might like or dislike it from other suitability perspectives.


Having a "cRock = 1" line.
- The rock will count toward the rock percentage part of an exhibit's suitability. This gives Zoo Tycooners more choices for which rocks they may put in the exhibit counting toward suitability. But it also means that the rock will count toward the maximum rock percentage of the exhibit, possibly making the maximum be reached sooner than the Zoo Tycooner hoped.

Not having a "cRock = 1" line.
- The rock will not count toward the exhibit's suitability. This allows any number of these rocks to be placed in the exhibit, without the Zookeeper Recommendation saying there are too many rocks. Since this rock will not count toward the exhibit's suitability, other rocks that count toward suitability will usually be needed in the exhibit as well.


Having a "cFoliage = 1" line.
- The foliage will count toward the foliage percentage part of an exhibit's suitability. This gives Zoo Tycooners more choices for which foliage they may put in the exhibit counting toward suitability. But it also means that the foliage will count toward the maximum foliage percentage of the exhibit, possibly making the maximum be reached sooner than the Zoo Tycooner hoped. Another advantage of this line is that this foliage will be hidden when the "hide foliage" button is pressed.

Not having a "cFoliage = 1" line.
- The foliage will not count toward the exhibit's suitability. This allows any number of this foliage to be placed in the exhibit, without the Zookeeper Recommendation saying there is too much foliage. Since this foliage will not count toward the exhibit's suitability, other foliage that count toward suitability will usually be needed in the exhibit as well. The foliage will not be hidden when the "hide foliage" button is pressed.

Jay speaks:
As mentioned, different designers have different opinions, none of which are better than any other opinion. In case anyone wishes to know my opinion, this is the way I configure rocks and foliage when given a choice. For rocks and rock formations, I configure them to be in the rocks purchase menu and set their cHabitat to 9411 (Many). This allows Zoo Tycooners to decide for themselves which exhibits to put the rocks and rock formations in. For rock formations, I do not use a "cRock = 1" line because they are usually large and will often use up the rock percentage allowed in the exhibit. Also, not using a "cRock = 1" line for rock formations will allow them to be added into exhibits of animals that do not want any rocks, such as anteaters. I recommend having "Formation" in the name of rock formations, in order to tell them apart from other rocks. For rocks, I use a "cRock = 1" line. To me, it does not make sense to have some rocks counting toward suitability and having some other rocks not count toward suitability. For foliage, I configure them to be in the foliage purchase menu. For foliage that is meant to be only decoration, such as topiary, flower beds, or other human arranged plants, I set their cHabitat to 9414 (Bad-habitat) and I do not use a "cFoliage = 1" line. In real life, animals would destroy decorative foliage if it was in their exhibit. For foliage that is not meant to be only decoration, I set their cHabitat to 9411 (Many) and I use a "cFoliage = 1" line. This allows Zoo Tycooners to decide for themselves which exhibits to put the foliage in and it is less confusing concerning suitability, since it will count toward it. Other than rock formations, if a designer wants something to be allowed in exhibits but not count toward suitability, then I feel it should be in the scenery purchase menu instead, and with "Scenery" in its name if it looks like it could have been in the rocks or foliage purchase menus. If a rock or foliage looks like it should be for a specific habitat, then I recommend that two versions be created with different 8-character ids. One version would be configured for the specific habitat and the other would be configured for 9411 (Many). That allows Zoo Tycooners to put the one for the specific habitat in exhibits of animals that like that habitat, increasing their happiness and causing them to give a smiley face when the object is put in their exhibit, and allows Zoo Tycooners to put the 9411 version in exhibits of animals that do not like that specific habitat. For both versions, I would use a "cRock = 1" or "cFoliage = 1" line.

fern speaks:
My personal opinion is that I like various sizes of 9411 rocks that do not go toward suitability. The anteater is one that I usually have in a small exhibit and so I would not want to add something big like a rock formation. I would like a smaller rock for that. It is also obvious from its placement in the menu and the smily/frowny faces on the animals whether the rock goes to suitability or not.
The same applies to my thoughts on foliage.
I like all my rocks and foliage to appear in the rocks and foliage menus. With the amount of files out there these days I would not like to be looking elsewhere. BF set the precedent for this by putting the topiaries in the foliage menu.

fern

#8
Rubble

cRubbleable=0 If you want large dinosaurs to be able to turn your object into rubble, do not have this line. If you do not want large dinosaurs to be able to turn your object into rubble, include this line.

cUsesTreeRubble=1 If you want large dinosaurs to be able to turn your object into a tree stump rubble, include this line. If you want large dinosaurs to be able to turn your object into rock rubble or if you include "cRubbleable=0", do not include this line.

When used, these lines go in the [Characteristics/Integers] section of the ".ucs", ".ucb", or ".ai" file.