Added diagonal check before pushing stones or dealing with shrooms.

I wanted to test this on scripting level, so I added a new If Event,
checking a function return value and starting a second event
accordingly.

I also made the engine tell when an event id is invalid.