
Variations and how they work.
-----------------------------

I've decided to do this "special" on variations because it's becoming clear to me that a lot of people don't quite understand how to make variations tie in together correctly in, say, eyelids,  [Paint Ballz], [Add Ball], [Linez], and various "override" sections.  Variations can be added to just about any area of the .lnz, and you can tie up specific colour, size, and fuzz etc variations in such a way that, for instance, fawn patches and eyelids will only come out on brown pets and grey patches and eyelids on white ones.  You can tie in variations between baby and adult .lnz sections also, so that when you adopt a fuzzy pup or kitten from the Adoption centre, it will grow up to be fuzzy also (or not, if you so choose).

As you probably know by now if you work with variations, each section has one or more set of variations when you see a # followed by a number after it as, for instance:

[256 Eyelid Color]
#3
29
#2
19
#1
59
##

The game expects to see the # numbers diminish by one until they get to the ## which finishes off that specific variation set.  Now, lets take as an example that you want to make sure that a dark grey eyelid is always on a pet with no patches and a white body; the variation is that there are grey patches on a pale grey-eyelidded white body, and that there are chocolate lids and fawn markings on a chocolate body.  It so happens that your main breed [Ballz Info] balls are white.

Right, let's go back to the eyelids, and indicate to the game that this is a set of "hooked" variations.  To do this we take the top # number and add a period and uppercase letter to it, so it will look like this:

[256 Eyelid Color]
#3.A
29
#2
19
#1
59
##

It doesn't seem to matter what letter you choose, so long as you always have the same letter at the start of the set which is to be "hooked" to it.  And this is the point that I want to emphasise:  You do not need to put a (dot)(letter) after every single # number!  I've seen a lot of people do this, and they have problems with the game either not tying up the variations properly or not showing them correctly on 2nd-gens.

Okay, so you want to tie in the patches next.  You want the white body of the [Ballz Info] section to have the dark grey lids, so you put #3.A followed by no data -- the game will realise what's expected.  You want the white, pale-grey-lidded body to have patches, so put grey-patch data under #2, and you want fawn markings on a brown body, so we choose #1 for that here:

[Paint Ballz]
#3.A
#2
(grey patch data)
#1
(fawn patch data)
##

And then there's [Color Info Override], where your first (#3.A) is the white body so no data goes after it and it will pick up the [Ballz Info] data, your second also is the white body so no data to go under #2, and the third (under #1) is chocolate:

[Color Info Override]
#3.A
#2
#1
(chocolate ball data)
##

This works every time; it works when you want to tie in different ball sizes ([Ball Size Override] -- you may need to create this section for yourself in the adult part of the .lnz) and textures ([Color Info Override]) or fuzziness ([Fuzz Override] -- you may need to create this section for yourself too) or [Linez], [Move], etc etc -- the quantity of possible variations is enormous.

One other thing to note is that if you are doing several variation sets in a given area -- as with the Dalmatian spots -- you separate them with lines that have a semi-colon, never a blank line (the game sees the blank line and thinks that you've finished with that part of the .lnz).  So you would have:

#3
#2
(data)
#1
(data)
##
;
#3
#2
(data)
#1
(data)
##

Never

#3
#2
(data)
#1
(data)
##

#3
#2
(data)
#1
(data)
##

Remember to leave one of the # numbers with no data under it, or your game will never pick up the relevant data from the [Ballz info] area.  Remember always to finish a variation set with ##. Remember to tie in a variation set with others using only one letter to "hook" in each variation set (and put it on the top number in the variation sets).  Remember that if you are doing several variation-sets in one section, you never separate them with blank lines.

For those who didn't see my previous "Howto" on variations, I attach below the text from it.

Enjoy!

Carolyn Horn


First off, I'm going to show you how to do these the way I edit; I know 
this confuses some people, but I don't know how else to explain things.  
I always edit breedfile .lnz sections (which is the part we are all editing 
to make different colours, sizes, tattos, etc) by copying the .lnz out 
into a new file in the hex editor, saving it as breed.txt, and then editing 
it in Notepad.  When I'm done editing, I open it in the hex editor again 
and copy it back into the breedfile. The reason I do this is because I 
then see the .lnz exactly the way it was before the programmers compiled 
it into the .dog or .cat file -- it really _is_ a small text file, you 
see, and when you look at it you can see exactly what you're doing without 
having to laboriously count numbers in the hex editor.  So, hexing my way, 
here's the best I can explain:

Question: How can I make variations in my breed?
---------

Answer:
-------

Variations can be added into just about any area of the .lnz.  You can have a variety of eyelids, for instance:

[256 Eyelid Color]
#3
29, 2
#2
90, 1
#1
244, 0
##

Now, the the game knows that these are variations when it sees the # numbers.  To do it right, you need to have the highest # number that you want -- in my example I've got 3 variations, so the highest is #3 -- then the data below it for that variation (in this case 29, 2), then the next variation number (#2), and so on, making sure that you have every number from the highest down to 1 without missing any out and finishing _always_ with ##.  The example above is good; this next one

#3
29, 2
#1
244, 0
##

is not because it misses out #2.  Even if you don't want #2 to be different from the default, you should keep it in.

Now, if you want variations in the [Paint Ballz], you can add a set of individual variations to each ball (take a look at the Calico cat or Dalmatian dog if you want to see what I mean).  Just start with your highest # number, put the data for the ballz you want to have in that variation under it, then the next # number and so on down to ##

If you want variations in [Add Ball], it can work the same way -- and needs to, if the variations involve placing of the ball.  But there can be complications with this if you are needing to connect any of the Add Ballz that come after your variations together with Linez, so be careful with this.  If all you want to alter are the colour, group or texture, the best place to do it is in the [Color Info Override] which is used to provide such variations for the [Ballz Info] also.  You can have four columns in this override section, although often only two are used.  The first column contains the ball number, the second the colour, the third is the group and the fourth the texture.  When you have variations in this part, you need to have no data under the top # number -- this allows for the defaults that you've placed in the [Ballz Info] or [Add Ball] areas.  So it would look like this, taking the Great Dane as an example:


[Color Info Override]
;individual variation
#8.E
#7
#6
#5;body light brown
49, 105
19, 105
43, 105
16, 105
40, 105
(etc)

Now, there are three "slots" for the [Ballz Info]-based dane to come out with, and then "slot" 5 is colour 105 and so on.  Don't worry about the .E in #8.E at this stage; this has to do with something I talk about later.

For the [Add Ball] and [Ballz Info] ballz, if you want to have variations in fuzz  in adults you can create a [Fuzz Override]  section and, if you want a ball size variation in the adults, you can add a [Ball Size Override] also somewhere above the [Ballz Info] section.  The ones down at the bottom of the .lnz section are overrides for the pups or kittens, you understand.

All of the variations work in the same way; if you leave the top # number with no data between it and the next, the game will take defaults when that variation comes out.

Question: How can I make it so that certain colours of spots, eyelids etc come out with certain colours of ballz?
---------

Okay, this is where the numbers such as #8.E or #2.A etc come in.  If you want, for instance, your Great Dane to have sometimes a pink body with blue spots and sometimes a green body with red spots, but never pink with red or green with blue, then you need to have your set of variations start with a #number.letter and make sure that you have a set of variations in the [Paint Ballz] which start with the same #number.letter.  So your dane has, for instance, pink body ballz in [Ballz Info] (variation #8.E will then be the slot for pink) and your next variation is green ballz:

#8.E
#7
49, 135
19, 135
43, 135
16, 135
40, 135
(etc)

Okay, now go to Paint Ballz and decide which ballz are going to have spots.  Then, after the paw pad spots, start your set of variations:

#8.E
(blue spot information)
#7
(red spot information)
#6
(etc)

finishing off as always with ## after you've done #1's data.

One thing to remember; when you are making variations, never have a blank line.  If you want to separate out sections for your own convenience later, make sure that any separations are done by an empty line with a semi-colon, like this:

#8.E
#7
49, 135
19, 135
43, 135
16, 135
40, 135
;
#6
49, 155
19, 155
43, 155
16, 155
40, 155
(etc)

The field of variations is a large one, with lots of possibilities.  Fiddle around a bit, see what you can achieve.  I've made breedz where some variations are longhaired, or some are mini, etc -- you can fit a lot into a breedfile just by using variations and making certain things fit together with this #number.letter linking of variations.

happy hexing!

Carolyn


