void OnStart()
{
StopMusic(1, 1);
AddEntityCollideCallback("Player", "BreakingArea", "BoardCreak", true, 1);
AddUseItemCallback("", "Crowbar", "CellarDoor2", "UseCrowbarOnDoor", true);
AddEntityCollideCallback("Joint", "AreaBreak", "BreakDoor", true, 1);
AddUseItemCallback("", "Hamer", "PlankDoor", "UseHamerOnDoor", true);
AddUseItemCallback("", "Bucket", "AcidArea", "FunctionGetAcid", true);
SetEntityPlayerInteractCallback("CellarDoor", "GetSwingDoorLocked", false);
}
void BoardCreak(string&in asParent, string &in asChild, int alState)
{
PlaySoundAtEntity("WoodCreaking", "CREAKINGNOISE.snt", "BreakingArea", 0.5f, false);
SetPropHealth("Plank1", 0);
SetPropHealth("Plank2", 0);
SetPropHealth("Plank3", 0);
SetPropHealth("Plank4", 0);
SetPropHealth("PlankE", 0);
SetPropHealth("PlankX", 0);
PlayMusic("12_amb", true, 0.7f, 1, 0, false);
SetEntityActive("BlockBox", true);
}
void UseCrowbarOnDoor(string &in asItem, string &in asEntity)
{
RemoveItem(asItem);
PlaySoundAtEntity("", "player_crouch.snt", "Player", 0.05, false);
AddTimer(asEntity, 0.2, "TimerPlaceCrowbar");
}
void TimerPlaceCrowbar(string &in asTimer)
{
SetEntityActive("Joint", true);
PlaySoundAtEntity("", "puzzle_place_jar.snt", asTimer, 0, false);
}
void BreakDoor(string &in asParent, string &in asChild, int alState)
{
SetEntityActive("Joint", false);
SetEntityActive("Broken", true);
SetSwingDoorLocked("CellarDoor2", false, false);
SetSwingDoorClosed("CellarDoor2", false, false);
SetSwingDoorDisableAutoClose("CellarDoor2", true);
CreateParticleSystemAtEntity("", "ps_hit_wood.ps", "AreaEffect", false);
PlaySoundAtEntity("", "break_wood_metal", "AreaEffect", 0, false);
PlaySoundAtEntity("WoodCreaking", "CREAKINGNOISE.snt", "UsBreakDoor", 0.5f, false);
GiveSanityBoostSmall();
PlayMusic("10_puzzle01.ogg", false, 0.7, 0.1, 10, false);
}
void UseHamerOnDoor(string &in asItem, string &in asEntity)
{
SetPropHealth("PlankDoor", 0);
RemoveItem("Hamer");
GiveSanityBoost();
PlaySoundAtEntity("WoodCreaking", "CREAKINGNOISE.snt", "UseHamerOnDoor", 0.5f, false);
SetSwingDoorLocked("CellarDoor", false, false);
SetMessage("Messages", "UsedHammer", 0);
}
void FunctionGetAcid(string &in asItem, string &in asEntity)
{
SetEntityActive("AcidBucket",true);
RemoveItem("Bucket");
PlaySoundAtEntity("", "16_fill_oil.snt", "Player", 1.0f, true);
}
if(GetSwingDoorLocked("CellarDoor") == true)
{
SetMessage("Sign", "CellarDoor", 0);
}