Jean-Yves
by
Fluen
JEAN_YVES is a very special object. He is a complex animating which must be triggered. But he can't be anti-triggered and doesn't disappear when flipeffect 46 (kills all enemies currently active in the level) is used. So even though he is listed among the friends and enemies in the wad list he still is an animating.
Jean-Yves is complex because he has 16 different animations. They are divided into four groups and the game engine plays the animations within each group in a random order repeatedly so he appears to be doing something for a long time.
When he uses:
- Group 1 (animations 0-3), he sits by his
desk, writing with pauses from time to time.
- Group 2 (animations
4-7), he stands near a bookcase, searching for books
- Group 3
(animations 8-11), he sits by a small table, reading
- Group 4
(animations 12-15), he stands at the opposite side of his desk,
comparing stuff
The wad from the Alexandria-level (Alexhub) contains Jean-Yves and the office furniture made for his animations. To use it all you need:
JEAN_YVES
ANIMATING2 (his desk)
ANIMATING7 (a small table with a book)
ANIMATING8 (the chair for his
desk)
ANIMATING9 (the chair for the small table)
ROCK0 (a
bookcase)
You don't need the MIP-versions of the objects.
If you want to make use of all of Jean-Yves' animations you must make a room minimum 3 blocks wide and 7 blocks long. To demonstrate his functions I have made a room 7 x 7 blocks in size:
The four blocks with numbers tell where Jean-Yves appears when he goes through the corresponding group of animations.
Notice the red block (no. 1). This is where you must place Jean-Yves no matter what animation group he's supposed to go through.
Animation group 1
To make Jean-Yves sit by his desk, writing,
you don't have to do anything special:
1. Place JEAN_YVES at the
red block and place a trigger for him somewhere.
2. Place ANIMATING8
at the same block.
3. Place ANIMATING2 at the block with the number
4. It needs to be rotated 180 degrees (one half round) to have the
correct orientation.
In the editor window everything appears as it will in game (this is the only time it does so):
. . . of course provided Jean-Yves doesn't take a break during work!
Animation group 2
To make Jean-Yves stand near a bookcase
searching for books, you need to work with flipeffects.
1. Place
JEAN_YVES at the red block and place a trigger for him somewhere.
2.
Place ROCK0 near the block with the number 2. I have indicated where
with the green block with no number in this picture. Rotate it 270
degrees (three quarters).
Yes, it looks odd in the editor window:
Now you must
place a flipeffect trigger in order to make Jean-Yves appear at the
bookcase in game:
1. Select a random object (just to avoid
editing an existing trigger) and place a trigger for it somewhere (in
this case close to the trigger for Jean-Yves).
2. Open the trigger
dialogue (click over the field next to the purple trigger button in the
editor window).
3. Click over the select-what-to-trigger-field and select 'flipeffect'. The trigger has now changed from a trigger for the random object to a flipeffect trigger.
The flipeffect
in question must be a flipeffect 30 with a timer value of 1.
4. Click
over the field next to the select-what-to-trigger-field, which now says
'flipeffect'.
5. Write '30' and press enter to make it stick (so the
editor remembers it).
6. Click over the timer-field, write '1' and
press enter.
And the result:
Animation group 3
You have to go through about the same
procedure as for animation group 2 to make Jean-Yves sit by a small
table, reading:
1. Place JEAN_YVES at the red block and place a
trigger for him somewhere.
2. Place ANIMATING7 at the block with the
number 3.
3. Place ANIMATING9 at the same block.
This time the
flipeffect 30 trigger must have a timer value of 2:
1. Select a
random object and place a trigger for it somewhere near the trigger for
JEAN_YVES.
2. Open the trigger dialogue.
3. Click over the
select-what-to-trigger-field and select 'flipeffect'.
4. Click over
the field next to the select-what-to-trigger-field, which now says
'flipeffect'.
5. Write '30' and press enter.
6. Click over the
timer-field, write '2' and press enter.
In the editor window the setup looks strange:
But it works fine in game:
Animation group 4
This setup is similar to the setup for
animation group 1 as Jean-Yves merely moves to the opposite side of his
desk:
1. Place JEAN_YVES at the red block and place a trigger for
him somewhere.
2. Place ANIMATING2 at the block with the number 4. It
needs to be rotated 180 degrees (one half round) to have the correct
orientation.
And the last
flipeffect 30 trigger must have a timer value of 3:
1. Select a
random object and place a trigger for it somewhere near the trigger for
JEAN_YVES.
2. Open the trigger dialogue.
3. Click over the
select-what-to-trigger-field and select 'flipeffect'.
4. Click over
the field next to the select-what-to-trigger-field, which now says
'flipeffect'.
5. Write '30' and press enter.
6. Click over the
timer-field, write '3' and press enter.
This looks almost reasonable in the editor window:
And in game:
The whole row of animations
You may use all of
those animation groups Jean-Yves contains in one single level. You just
have to trigger them one by one.
In that case you'll have to
place all the mentioned objects:
1. Place JEAN_YVES at the red block
and place a trigger for him somewhere.
2. Place ANIMATING8 at the
same block.
3. Place ANIMATING2 at the block with the number 4. It
needs to be rotated 180 degrees (one half round) to have the correct
orientation.
4. Place ROCK0 near the block with the number 2. I have
indicated where with the green block with no number in this picture.
Rotate it 270 degrees (three quarters round).
5. Place ANIMATING7 at
the block with the number 3.
6. Place ANIMATING9 at the same block.
7. Place a flipeffect 30 trigger with a timer value of 1 somewhere.
8. Place a flipeffect 30 trigger with a timer value of 2 somewhere else.
9. Place a flipeffect 30 trigger with a timer value of 3 a third place.
When Lara moves through the level and returns to Jean-Yves from time
to time she'll find him busy with different actions depending on how far
the player has come in the level.
If you have played TR4 - The
Last Revelation you already know that this was exactly the intention
with Jean-Yves. Lara met him in Alexandria (a hub level) and received
some information from him. Depending on where the player then went in
the subsequent levels Lara would find him doing different types of work
on her return (a way to show time passing I believe) and gain additional
information as a hint on how to proceed.
Note: the animation
groups can only be triggered in the described order and they can't be
changed. If the player passes the trigger for the animation group 3
(flipeffect 30 with 2 as timer value - Jean-Yves reads by the small
table) before he/she reaches the trigger for animation group 2
(flipeffect 30 with a timer value of 1 - Jean-Yves stands by the
bookcase) the latter will not work and the player will never see
Jean-Yves search for books. So give the placement of the flipeffect 30
triggers some consideration.
A
little about the flipeffect 30
You may already have learned that the
flipeffect 30 is used to control the artificial intelligence of the
complex characters in TRLE - the Guide and Von Croy. This will probably
cause trouble if you are trying to use one of those and Jean-Yves in the
same level.
But the effect of the flipeffect 30 triggers lasts
for more than the present level. As I have explained above, Lara moves
around in several levels connected to Alexandria in TR4. The flipeffect
30 triggers are scattered all over those levels, yet affect Jean-Yves
when the player returns to Alexandria. The
game engine remembers the triggered flipeffect 30 values.
Right away this may be a problem if you have used one of the complex
characters (the Guide, Von Croy or Jean-Yves) in one level and want to
use one of the others in a later level. But you can reset the game
memory of the flipeffect 30 triggers - but only for a price.
The ResetHUB-command
The script line
ResetHUB = x will reset the flipeffect triggers. But all puzzle items,
key items and pickup items are deleted from the players inventory when
this command is used. The only exceptions to this rule appears to be the
quest items and the ordinary pickups (medipacks and such like).
The
command also resets the level it refers to. So it's not much good if you
want to reset Jean-Yves in a hub level as you may have to start the
level over again every time you arrive there.
But if you use the
ResetHUB command you have the opportunity to use Jean-Yves in more than
one level and have him go through the different animation groups all
over again.
I'll give you an example of how the ResetHUB-command
is used.
Let us assume you are making a whole series of levels taking
place in Lara's mansion:
Title level
Level 1 - Outdoor Training
Course
Level 2 - The Basement
Level 3 - The Kitchen
Level 4 -
The Library
Level 5 - The Attic
In 'The Kitchen' Jean-Yves can
be found doing something at the kitchen table (animation group 4 -
standing by the desk) and later in 'The Library' the player will meet
him again searching for books (animation group 2 - standing by a
bookcase).
This can't be done unless Jean-Yves is reset somewhere in
between.
The script might look like this (note: this is adapted
from the TR4 scripts):
[Title]
LoadCamera=
68096,1152,90624,68032,703,91542,1
Level= DATA\TITLE,104
[Level]
Name= Outdoor Training Course
Horizon= ENABLED
Layer1=
160,160,192,7
LoadCamera= 7835,-569,88960,5000,-323,88346,20
Level= DATA\OUTDOOR,110
[Level]
Name= The Basement
LoadCamera= 82362,-258,18777,84018,-1495,20276,33
Level=
DATA\BASEMENT,110
[Level]
Name= The Kitchen
Horizon=
ENABLED
Layer1= 160,160,192,7
ResetHUB = 4
LoadCamera=
87075,-14188,26581,89090,-15443,25670,29
Level= DATA\KITCHEN,107
[Level]
Name= The Library
Horizon= ENABLED
Layer1=
192,128,192,8
LoadCamera= 85312,-2666,39478,83984,-2559,39490,2
Level= DATA\LIBRARY,110
[Level]
Name= The Attic
Horizon=
ENABLED
Layer1= 160,160,192,7
LoadCamera=
2070,-4610,38237,4155,-5672,39707,7
Level= DATA\ATTIC,107
'The
Library' is level 4 and the level where Jean-Yves must be reset as he
has already served his purpose in 'The Kitchen'. The ResetHUB command
must be placed among the script lines for the level Lara's going from
and use the number of the level she's going to (the title level doesn't
count in the numbering).
Jean-Yves
in plural
It's possible to
have more than one Jean-Yves in your level. But be careful about it as
he can't be anti-triggered or removed in any other way so he most likely
takes up precious game memory. It takes only a few active enemies in a
level to strain the game engine and because of Jean-Yves' strange status
as an animating with an artificial intelligence I believe every version
of him will occupy some of that memory. Use this possibility at your own
risk.
The flipeffect 30 triggers will affect all versions of
Jean-Yves in a level so they'll all go through the same animation group.
But the game engine will assign every version of Jean-Yves his very own
random order of the four animations in the selected group as this
picture shows: