fixed unexpected behaviour with solving levels with Sokoban elements
This patch fixes problems with levels using a different number of
Sokoban objects and Sokoban fields, causing unexpected behaviour.
Before, levels with Sokoban objects, but without Sokoban fields, could
be solved by just pushing any of the Sokoban objects (which triggers a
check if there are any empty Sokoban fields left in the level, which
is not the case in this scenario). In addition, pushing a Sokoban
object to a Sokoban field would also solve a level with two Sokoban
objects, but only one Sokoban field, but not a level with two Sokoban
fields, but only one Sokoban object, which seems confusing or at least
unexpected. (Things get even more complicated and confusing if Sokoban
fields or objects are created during the game, for example as content
of yam-yams.)
Now, Sokoban fields and objects in a level are tracked independently
and the level is only solved if there are no Sokoban fields or objects
left on the playfield.
Also see the following forum post for a description of the problem:
https://www.artsoft.org/forum/viewtopic.php?f=7&t=2654