////////////////////////////
// Run first time starting map
void OnStart()
{
//Add the Lantern and 10 Tinderboxes when in Debug mode, always good to have light!
if(ScriptDebugOn())
{
GiveItemFromFile("lantern", "lantern.ent");
for(int i=0;i<10;i++) GiveItemFromFile("tinderbox_"+i, "tinderbox.ent");
}
SetEntityPlayerInteractCallback("Key_1", "HammerScare", true);
AddUseItemCallback("", "Key_1", "mansion_1", "UsedKeyOnDoor", true);
AddEntityCollideCallback("Player","script_chairscare","ChairScare", false, 1);
AddEntityCollideCallback("Player","script_GruntScare","GruntScare",false,1);
for (int x = 1; x < 23; x++) {
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_"+x, 0, "");
}
AddEntityCollideCallback("servant_grunt_1", "ScriptArea_1", "Reverse", false, 1);
}
void Reverse() {
for (int x = 23; x > 1; x--) {
AddEnemyPatrolNode("servant_grunt_1", "PathNodeArea_"+x, 0, "");
}
}
void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked(asEntity,false,true);
PlaySoundAtEntity("","unlock_door", asEntity, 0, false);
RemoveItem(asItem);
}
void HammerScare(string &in entity, string &in type)
{
AddPropImpulse("sledge_1", 30, 5, 20, "world");
}
void ChairScare(string &in asParent, string &in asChild, int alState)
{
//SetEntityActive("chairscare",false);
AddPropImpulse("chairscare", 0, 0, -25, "world");
}
void GruntScare(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("servant_grunt_ragdoll_1",true);
AddPropForce("mansion_3", 0, 0, 50, "world");
SetSwingDoorClosed("mansion_3",false,true);
PlaySoundAtEntity("","react_scare","Player",0,false);
AddPropImpulse("servant_grunt_ragdoll_1", 0, 0, 25, "world");
}
////////////////////////////
// Run when entering map
void OnEnter()
{
}
////////////////////////////
// Run when leaving map
void OnLeave()
{
}