I don't know if this will work and I'm a bit too lazy to all of the scripting and stuff but when you throw an object at another object it pushes it back.
If it's a locked door it will be pushed back a little then return back.
Maybe if there's a script area behind the door just enough so you can't push the door into it.
Then do the script.
AddEntityCollideCallback("", "mansion_1", "DoorSmash", true, 1);
}
void DoorSmash(string &in asParent, string &in asChild, int alState)
{
SetPropHealth("mansion_1', 0);
GiveSanityBoostSmall();
}
FYI I just thought this up, I don't know if it will work.