Code:
void OnStart()
{
PlayMusic("amb_pain.ogg", true, 0.6, 0, 0, true);
AddUseItemCallback("", "key_001", "door_001", "UsedKeyOnDoor", true);
SetEntityPlayerInteractCallback("torch_001", "funclamp1", true);
SetEntityPlayerInteractCallback("torch_002", "funclamp2", true);
SetEntityPlayerInteractCallback("torch_003", "funclamp3", true);
AddTimer("1", 2, "IntroTimer");
AddTimer("2", 4.5f, "IntroTimer");
AddTimer("3", 6.5f, "IntroTimer");
AddTimer("4", 9, "IntroTimer");
AddTimer("5", 11, "IntroTimer");
AddTimer("6", 14, "IntroTimer");
AddTimer("7", 19, "IntroTimer");
StartPlayerLookAt("wine01_1", 1, 2.0f, "");
FadeOut(0.0f);
FadePlayerRollTo(80, 55, 55);
SetPlayerActive(false);
SetPlayerCrouching(true);
FadeRadialBlurTo(0.10, 2);
FadeRadialBlurTo(0.10, 2);
SetEntityPlayerInteractCallback("lantern", "Monsters", true);
AddEntityCollideCallback("Player", "ScriptArea_2", "WalkingMonster", true, 1);
}
void WalkingMonster(string &in asParent, string &in asChild, int alState)
{
SetPlayerActive(false);
AddTimer("", 0.5f, "Walk");
StartPlayerLookAt("torch_floor_2", 5, 7, "");
GiveSanityDamage(5.0f, true);
}
void Walk(string &in asTimer)
{
SetEntityActive("servant_brute_1", true);
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_1", 0, "flex.dae");
AddEnemyPatrolNode("servant_brute_1", "PathNodeArea_9", 0, "kiss.dae");
AddTimer("", 8.0f, "Stop");
}
void Stop(string &in asTimer)
{
StopPlayerLookAt();
SetPlayerActive(true);
}
void Monsters(string &in entity)
{
SetEntityActive("invisible_monster_001", true);
GiveSanityDamage(5.0f, true);
PlaySoundAtEntity("", "react_breath_slow.snt", "Player", 0, false);
StartPlayerLookAt("Invisible_monster_001", 5, 7, "");
AddTimer("", 1.5f, "Scare");
SetPlayerActive(false);
SetPlayerCrouching(true);
PlaySoundAtEntity("", "amb_hunt.snt", "Player", 0, false);
}
void Scare(string &in asTimer)
{
StopPlayerLookAt();
AddTimer("", 1.0f, "Second");
}
void Second(string &in asTimer)
{
SetEntityActive("invisible_monster_002", true);
GiveSanityDamage(5.0f, true);
PlaySoundAtEntity("", "react_breath_slow.snt", "Player", 0, false);
AddTimer("", 1.0f, "AllMonstersGone");
StartPlayerLookAt("invisible_monster_002", 5.0f, 7.0f, "");
PlaySoundAtEntity("", "amb_hunt.snt", "Player", 0, false);
}
void AllMonstersGone(string &in asTimer)
{
StopPlayerLookAt();
SetPlayerActive(true);
SetLampLit("torch_floor_1", false, false);
SetLightVisible("PointLight_17", false);
SetLightVisible("PointLight_16", false);
}
void IntroTimer(string &in asTimer)
{
if(asTimer == "1"){
PlayGuiSound("player_cough.snt", 2.0f);
StopPlayerLookAt();
FadeIn(2.4f);
}
else if(asTimer == "2"){
FadePlayerRollTo(75, 1, 1); // "Tilts" the players head
FadeOut(1.5f);
}
else if(asTimer == "3"){
StartPlayerLookAt("chair_wood02_broken_1", 1, 2.0f, "");
FadeIn(1.5f);
PlayGuiSound("player_cough.snt", 2.0f);
}
else if(asTimer == "4"){
StopPlayerLookAt();
StartPlayerLookAt("stool_wood_1", 1, 2.0f, "");
FadeOut(1.5f);
}
else if(asTimer == "5"){
StopPlayerLookAt();
StartPlayerLookAt("candlestick_floor_1", 1, 2.0f, "");
FadeIn(1.5f);
}
else if(asTimer == "6"){
StopPlayerLookAt();
FadePlayerRollTo(0, 33, 33); // Change all settings to defaults
FadeOut(1.5f);
}
else if(asTimer == "7"){
FadeImageTrailTo(0, 1.0f);
FadeRadialBlurTo(0.0, 1);
SetPlayerActive(true);
FadeIn(1.5f);
}
}
void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("door_001", false, true);
PlaySoundAtEntity("", "unlock_door", "door_001", 0, false);
RemoveItem("key_001");
}
void funclamp1(string &in asEntity)
{
AddLocalVarInt("LampsX", 1);
if(GetLocalVarInt("LampsX")==3)
{
SetEntityActive("secret_door_001", false);
SetEntityActive("secret_door_2", true);
PlayGuiSound("quest_completed.snt", 2.0f);
return;
}
}
void funclamp2(string &in asEntity)
{
AddLocalVarInt("LampsX", 1);
if(GetLocalVarInt("LampsX")==3)
{
SetEntityActive("secret_door_001", false);
SetEntityActive("secret_door_2", true);
PlayGuiSound("quest_completed.snt", 2.0f);
return;
}
}
void funclamp3(string &in asEntity)
{
AddLocalVarInt("LampsX", 1);
if(GetLocalVarInt("LampsX")==3)
{
SetEntityActive("secret_door_001", false);
SetEntityActive("secret_door_2", true);
PlayGuiSound("quest_completed.snt", 2.0f);
return;
}
}