////////////////////////////
// Run when starting game
void OnStart()
{
/////////////////////////////////////////////////////////////////////////////////////////
//Debug
if(ScriptDebugOn())
{
GiveItemFromFile("lantern", "lantern.ent");
SetPlayerLampOil(100.0f);
for(int i = 0;i < 10;i++)
{
GiveItemFromFile("tinderbox", "tinderbox.ent");
}
}
///////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
//Start Scene
ShowPlayerCrossHairIcons(false);
SetSanityDrainDisabled(true);
SetPlayerCrouching(true);
SetPlayerActive(false);
FadeOut(0);
AddTimer("StartGame", 6.0f, "IntroSequence");
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
//General
////////////////////////////////////////////////////////////////////////////////////////
}
///////////////////////////////////////////////////////////////////////////////////////
//Start Scene
void IntroSequence(string &in asTimer)
{
AddLocalVarInt("iIntroPart", 1);
float partSpeed = 0.5f;
switch(GetLocalVarInt("iIntroPart")) {
case 1:
MovePlayerHeadPos(0, -0.9f, 0, 10.0f, 0.1f);
PlayGuiSound("", 1.0f);
StartPlayerLookAt("AreaIntroLook_1", 10.0f, 10.0f, "");
FadePlayerRollTo(-50, 200, 200);
partSpeed = 0.5f;
break;
case 2:
StartPlayerLookAt("AreaIntroLook_1", 1.0f, 1.0f, "");
FadeIn(2.0f);
Manpig01();
engineer_2();
engineer_3();
partSpeed = 3.0f;
break;
case 3:
StartPlayerLookAt("AreaIntroLook_2", 1.0f, 1.0f, "");
partSpeed = 5.0f;
break;
case 4:
StartPlayerLookAt("AreaIntroLook_3", 1.0f, 1.0f, "");
PlayGuiSound("", 0.7f);
FadeOut(5.7f);
partSpeed = 6.0f;
break;
case 5:
StopPlayerLookAt();
StartPlayerLookAt("AreaIntroLook_4", 20.0f, 20.0f, "");
TeleportPlayer("PlayerDrag");
FadePlayerRollTo(70, 200, 200);
partSpeed = 0.1f;
break;
case 6:
StopPlayerLookAt();
SetEntityActive("engineer_1", false);
PlayGuiSound("joint_cage_slide_open", 10.0f);
FadeIn(8.0f);
partSpeed = 8.0f;
break;
case 7:
AddTimer("drag", 1.0f, "Drag");
FadeOut(9.0f);
partSpeed = 10.0f;
break;
case 8:
RemoveTimer("drag");
partSpeed = 2.0f;
break;
case 9:
TeleportPlayer("PlayerStartArea_2");
FadeIn(5.0f);
StartPlayerLookAt("AreaIntroLook_5", 20.0f, 20.0f, "");
PlayGuiSound("", 1.0f);
partSpeed = 6.0f;
break;
case 10:
FadeOut(2.0f);
PlayGuiSound("", 1.0f);
partSpeed = 4.0f;
break;
case 11:
FadeIn(4.5f);
PlayGuiSound("", 1.0f);
StopPlayerLookAt();
FadePlayerRollTo(0, 20, 18);
MovePlayerHeadPos(0.0, 0.0, 0.0, 0.5, 0.1f);
partSpeed = 5.0f;
break;
case 12:
ShowPlayerCrossHairIcons(true);
SetPlayerCrouching(false);
SetPlayerActive(true);
partSpeed = 0.01f;
break;
}
if(GetLocalVarInt("iIntroPart") < 13) AddTimer("tmrIntro", partSpeed, "IntroSequence");
}
void Drag(string &in asTimer)
{
AddPlayerBodyForce(0, 0, 10000, false);
AddTimer(asTimer, 1.5f, "Drag");
PlayGuiSound("Drag03.snt", 1);
}
void Manpig01()
{
AddEnemyPatrolNode("engineer_1", "PathNodeArea_1", 0.0f, "");
AddEnemyPatrolNode("engineer_1", "PathNodeArea_2", 0.0f, "");
AddEnemyPatrolNode("engineer_1", "PathNodeArea_3", 0.0f, "");
}
/////////////////////////////////////////////////////////////////////////////////////////////////
//General
/////////////////////////////////////////////////////////////////////////////////////////////////
void engineer_2()
{
AddEnemyPatrolNode("engineer_1", "PathNodeArea_19", 0.0f, "");
AddEnemyPatrolNode("engineer_1", "PathNodeArea_78", 0.0f, "");
AddEnemyPatrolNode("engineer_1", "PathNodeArea_97", 0.0f, "");
AddEnemyPatrolNode("engineer_1", "PathNodeArea_119", 0.0f, "");
AddEnemyPatrolNode("engineer_1", "PathNodeArea_19", 0.0f, "");
}
void engineer_3()
{
AddEnemyPatrolNode("engineer_1", "PathNodeArea_119", 0.0f, "");
AddEnemyPatrolNode("engineer_1", "PathNodeArea_19", 0.0f, "");
AddEnemyPatrolNode("engineer_1", "PathNodeArea_78", 0.0f, "");
AddEnemyPatrolNode("engineer_1", "PathNodeArea_97", 0.0f, "");
AddEnemyPatrolNode("engineer_1", "PathNodeArea_119", 0.0f, "");
}