void OnStart()
{
}
void OnEnter()
{
AddUseItemCallback("", "guiding_rod01", "rodarea_1", "RodMeOnce", true);
AddUseItemCallback("", "guiding_rod02", "rodarea_2", "RodMeTwice", true);
AddUseItemCallback("", "guiding_rod03", "rodarea_3", "RodMeThrice", true);
for(int i = 1; i <= 3; i++)
AddUseItemCallback("", "guiding_rod0"+i, "rodarea_"+i, "RodMe", true);
}
void OnLeave()
{
}
void LeverBox(string &in asEntity, int LeverState)
{
if(GetLeverState("lever_machine_lever_1") == -1
&& GetLeverState("lever_machine_lever_2") == -1
&& GetLeverState("lever_machine_lever_3") == -1
&& GetLeverState("lever_machine_lever_4") == -1
&& GetLeverState("lever_machine_lever_5") == -1
&& GetLeverState("lever_machine_lever_6") == -1)
{
PlaySoundAtEntity("", "sob01.snt", "Player", 0, false);
SetEntityActive("elevator_lever_1", false);
SetEntityActive("elevator_lever_2", true);
for(int i = 1; i <= 6; i++)
SetEntityInteractionDisabled("lever_machine_lever_"+i, true);
SetLocalVarInt("Lever", 1);
}
}
void ElevatorLever(string &in asEntity, int LeverState)
{
if(GetLocalVarInt("Lever") != 0) {
if(GetLeverState(asEntity) == -1) Activate();
PlaySoundAtEntity("", "14_elevator_activate.snt", "Player", 0, false);
AddTimer("", 2.0, "Fade");
StartScreenShake(0.06f, 4.0, 1.0, 1.0);
}
void RodMeOnce(string &in asItem, string &in asEntity)
{
SetEntityActive("guiding_rod01_stat", true);
PlaySoundAtEntity("", "13_rod_in.snt", "rods", 0, false);
RemoveItem("guiding_rod01");
AddLocalVarInt("Rods", 1);
if(GetLocalVarInt("Rods") == 3)
{
PlaySoundAtEntity("", "13_machine_extra.snt", "machine_sound", 0, false);
PlaySoundAtEntity("", "13_machine_run.snt", "machine_sound", 0, false);
}
}
void RodMeTwice(string &in asItem, string &in asEntity)
{
SetEntityActive("guiding_rod02_stat", true);
PlaySoundAtEntity("", "13_rod_in.snt", "rods", 0, false);
RemoveItem("guiding_rod02");
AddLocalVarInt("Rods", 1);
if(GetLocalVarInt("Rods") == 3)
{
PlaySoundAtEntity("", "13_machine_extra.snt", "machine_sound", 0, false);
PlaySoundAtEntity("", "13_machine_run.snt", "machine_sound", 0, false);
}
}
void RodMeThrice(string &in asItem, string &in asEntity)
{
SetEntityActive("guiding_rod03_stat", true);
PlaySoundAtEntity("", "13_rod_in.snt", "rods", 0, false);
RemoveItem("guiding_rod03");
AddLocalVarInt("Rods", 1);
if(GetLocalVarInt("Rods") == 3)
{
PlaySoundAtEntity("", "13_machine_extra.snt", "machine_sound", 0, false);
PlaySoundAtEntity("", "13_machine_run.snt", "machine_sound", 0, false);
}
}
void Fade(string &in asTimer)
{
FadeOut(5);
AddTimer("", 5, "TimerTransition");
}
void TimerTransition(string &in asTimer)
{
ChangeMap("helena_001.map", "PlayerStartArea_1", "", "");
}