Workshop:

 
Basics
 
Shell
 
Ghost
 
Balloon
 
 
Index
'halfway' (surface100)
closed (surface200)
For an animation, we now need surfaces.txt,
with following lines for surface and two pictures for the eyes:

surface0
{
0interval,sometimes
0pattern0,100,5,overlay,100,105
0pattern1,200,5,overlay,100,105
0pattern2,100,5,overlay,100,105
0pattern3,-1,5,overlay,100,105
}

'Sometimes' at 'interval' means that the animation is sometimes played,
by using 'rarely' rare (sorry, no value numbers) and sometimes means often (I think hectic).
With 'pattern0', surface100.png is displayed for 5ms, overlaying at X position 100 and Y position 105.
With 'pattern1', surface200.png is displayed for 5ms, overlaying at X position 100 and Y position 105.
With 'pattern3', '-1' is meant fade-out - end of the animation (for this time calling).
X and Y positions are needed to shift overlaying pictures from upper left corner of surface0 to the right place.
The value for the fade-in time can also be other than 5 milliseconds.
Better may be 3 for surface100 and 7 for surface200 - just try.

Originally Kaori only animates surface0 - but you can do more!
Therefore I did change original surface number 101 to 200:
So this will work for surface2,3,7,8 too.
Surface2, not surface1?
Well, surface0,1,3,7,8 have same (open) eyes, but surface1 has a red nose.
Eyes of surface2 are drawn another way, but got same size.
Well, may be better to take surface100 out of animation and leave only surface200 there.

Most shell artists work with animations (if they still do) using only open and closed eyes - no 'halfway'...
Then don't forget correctly numbering - always pattern0, pattern1, pattern2, ...

Only 1 picture or 2 for animation here works for many of Kaori's basic surfaces, because she does not move her head.
If you are using a character moving the head, you need more pictures:
'halfway' eyes: surface100 for surface0, surface101 for surface1, surface102 for surface2, etc...
closed eyes: surface200 for surface0, surface201 for surface1, surface202 for surface2, etc...
You can use 80ties and 90ties instead - if you need 100/200/300/400... for other purposes.
I mean, if your character got a wardrobe (Clothes/Dressup) - you will need these numbers there.


Then you can animate even ears and/or tail, like done for example Brynhild.
Works this way:

1interval,rarely
1pattern0, ...
1pattern1, ...
...

2interval,sometimes
2pattern0, ...
2pattern1, ...
...

Please don't overdo, sometimes less is more...


Now comes to 'collision'.
Normally 'Head', 'Face', 'Bust' (last one is somebit special) - 'Skirt' is additional here, even more could be for example 'Ear', 'Tail'.
Values in row:
X left, Y top, X right, Y bottom - a rectangle, but regions outside body are inactive.
Active regions can be used for special reactions of ghost by double clicking on, written in script:
"mouse.txt", "mouse.dic" or else in ghost/master folder/directory - not in shell/master.
Please leave some neutral zones,
again, don't overdo...