////////////////////////////////////////////
// INTRO EVENT WITH MONSTER AND ROOM EXAMINE
// Intro setup
void IntroSetup(bool bIntroActive)
{
if(bIntroActive)
{
FadeOut(0.0f);
SetPlayerRunSpeedMul(0.0f);
SetPlayerMoveSpeedMul(0.0f);
SetPlayerLookSpeedMul(0.03f);
SetPlayerCrouching(true);
SetPlayerCrouchDisabled(true);
SetPlayerJumpDisabled(true);
SetInventoryDisabled(true);
MovePlayerHeadPos(0.5f, -0.3f, 0.0f, 1.0f, 0.1f);
StartPlayerLookAt("AreaIntroLook_1", 10.0f, 10.0f, "");
AddTimer("TimerEIntro", 2.0f, "TimerEIntro");
}
else
{
SetEntityActive("enemy_suitor_1", false);
}
}
// Patrol route for enemy when waking up
void Enemy1Patrol()
{
AddEnemyPatrolNode("enemy_suitor_1", "PathNodeArea_39", 0.0f, "");
AddEnemyPatrolNode("enemy_suitor_1", "PathNodeArea_38", 0.0f, "");
AddEnemyPatrolNode("enemy_suitor_1", "PathNodeArea_18", 0.0f, "");
}
// Intro sequence
void TimerEIntro(string &in asTimer)
{
string sEvent = asTimer; //Do not edit, sets timer loop function name.
AddLocalVarInt(sEvent, 1); //Do not edit, steps through timer loop events.
bool bPauseAtStep = false; //Do not edit, to pause or end the timer loop at specified step.
float fEventSpeed = 1.0f; //Set to preferred default time for the timer loop.
// Player wakes up on bed, hears enemy, looks briefly at enemy, passes out and falls out of bed
// wakes up and gets up and game begins
switch(GetLocalVarInt(sEvent))
{
case 1:
PlayGuiSound("justine_wake2.ogg", 1.0f);
FadeIn(4.0f);
StartPlayerLookAt("AreaIntroLook_2", 0.05f, 0.05f, "");
FadePlayerRollTo(-45, 0.8, 8);
fEventSpeed = 2.0f;
break;
case 2:
StartPlayerLookAt("AreaIntroLook_2", 0.2f, 0.2f, "");
Enemy1Patrol();
fEventSpeed = 2.0f;
break;
case 3:
PlayGuiSound("justine_faint.ogg", 0.7f);
FadeOut(3.0f);
break;
case 4:
FadeIn(6.0f);
SetPlayerLookSpeedMul(0.06f);
StartPlayerLookAt("enemy_suitor_1", 0.4f, 0.4f, "");
break;
case 5:
FadeOut(8.0f);
PlayGuiSound("justine_rapid_breaths.ogg", 0.8f);
fEventSpeed = 4.0f;
break;
case 6:
StartPlayerLookAt("AreaIntroLook_4", 0.2f, 0.2f, "");
FadePlayerRollTo(0, 0.8, 4);
fEventSpeed = 3.0f;
break;
case 7:
FadeIn(4.0f);
SetPlayerLookSpeedMul(0.1f);
StartPlayerLookAt("AreaIntroLook_3", 0.6f, 0.6f, "");
FadePlayerRollTo(30, 15, 30);
PlayGuiSound("player_female_climb.snt", 1.0f);
PlayGuiSound("justine_breath1.ogg", 0.7f);
fEventSpeed = 1.5f;
break;
case 8:
FadeIn(3.0f);
StartPlayerLookAt("AreaIntroLook_5", 0.5f, 0.5f, "");
SetRadialBlurStartDist(0.3f);
FadeRadialBlurTo(0.1f, 0.1f);
FadePlayerRollTo(0, 5, 10);
SetPlayerCrouching(false);
MovePlayerHeadPos(-1.0f, -0.3f, 0.0f, 1.0f, 0.1f);
PlayGuiSound("justine_breath2.ogg", 0.6f);
fEventSpeed = 1.5f;
break;
case 9:
StartPlayerLookAt("AreaIntroLook_2", 2, 2, "");
SetPlayerCrouching(true);
PlayGuiSound("player_female_climb.snt", 1.0f);
FadeOut(3.0f);
break;
case 10:
StartPlayerLookAt("AreaIntroLook_1", 0.5f, 0.5f, "");
MovePlayerHeadPos(0, -0.3f, 0.0f, 1.0f, 0.1f);
PlayGuiSound("justine_faint.ogg", 1.0f);
PlayGuiSound("player_stand.snt", 1);
PlayGuiSound("step_sneak_female_dirt4.ogg", 0.8);
AddTimer("extra", 1.0f, "TimerExtraSound");
fEventSpeed = 4.0f;
break;
case 11:
TeleportPlayer("PlayerStartArea_2");
StartPlayerLookAt("AreaIntroLook_3", 10, 10, "");
break;
case 12:
SetRadialBlurStartDist(0.1f);
FadeIn(4.0f);
PlayGuiSound("justine_wake1.ogg", 0.8f);
fEventSpeed = 4.0f;
break;
case 13:
FadeRadialBlurTo(0, 0.01f);
FadePlayerRollTo(-45, 0.8, 8);
StartPlayerLookAt("AreaIntroLook_2", 0.1f, 0.1f, "");
fEventSpeed = 3.0f;
break;
case 14:
SetPlayerMoveSpeedMul(0.1f);
SetPlayerLookSpeedMul(0.1f);
FadePlayerRollTo(0, 0.4, 4);
MovePlayerHeadPos(0.5, -0.3f, 0.0f, 1.0f, 0.1f);
PlayGuiSound("step_sneak_female_dirt.snt", 1);
PlayGuiSound("player_female_climb.snt", 1.0f);
break;
case 15:
SetPlayerMoveSpeedMul(0.2f);
SetPlayerLookSpeedMul(0.3f);
MovePlayerHeadPos(-0.5, -0.3f, 0.0f, 1.0f, 0.1f);
PlayGuiSound("justine_breath3.ogg", 0.6f);
PlayGuiSound("step_sneak_female_dirt.snt", 1);
SetPlayerCrouching(false);
break;
case 16:
SetPlayerMoveSpeedMul(0.4f);
SetPlayerLookSpeedMul(0.5f);
StartPlayerLookAt("AreaIntroLook_4", 1.2f, 1.2f, "");
PlayGuiSound("step_sneak_female_dirt.snt", 1);
PlayGuiSound("player_female_climb.snt", 1.0f);
MovePlayerHeadPos(0, 0, 0.0f, 0.5f, 0.1f);
break;
case 17:
PlayGuiSound("justine_breath1.ogg", 0.8f);
SetPlayerMoveSpeedMul(0.6f);
SetPlayerLookSpeedMul(0.8f);
FadePlayerRollTo(0, 2, 8);
break;
case 18:
SetPlayerMoveSpeedMul(0.8f);
SetPlayerLookSpeedMul(1.0f);
SetPlayerCrouchDisabled(false);
SetPlayerJumpDisabled(false);
SetInventoryDisabled(false);
AddTimer("more", 0.1f, "TimerDoBlurPounding");
StopPlayerLookAt();
break;
//////////
//End timer when no more steps in the event found.
default:
bPauseAtStep = true;
break;
}
if(!bPauseAtStep)
AddTimer(sEvent, fEventSpeed, sEvent);
}
void TimerExtraSound(string &in asTimer)
{
PlayGuiSound("player_bodyfall.snt", 0.5f);
}
void TimerDoBlurPounding(string &in asTimer)
{
if(asTimer == "more")
{
SetRadialBlurStartDist(0.7f);
FadeRadialBlurTo(0.2f, 0.1f);
AddTimer("less", 2, "TimerDoBlurPounding");
}
else
{
FadeRadialBlurTo(0.01f, 0.04f);
AddTimer("more", 5, "TimerDoBlurPounding");
}
}
//////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////