You can add a script area with a StartPlayerLookAt callback. Basically start forcing them to look at it, but stop them immediately after. Use this opportunity to add a callback for when they look at it. Run the sanity script within the callback function.
void OnStart()
{
StartPlayerLookAt("ScriptArea", 0.0f, 0.0f, "LookCallback");
StopPlayerLookAt();
}
void LookCallback()
{
GiveSanityDamage(25.0f, true);
}
I'm unsure if the stop line will also remove the callback. I'm also not sure if the callback is removed upon being called, so the event might happen continuously while looking at it. It has an easy fix though; just add a variable check.