Make map effect choose actor first, then apply damage
change engine.Map.processEffects
to choose actor first, then apply damage.
This commit fix wrong damage interaction regarding map effects and knockback. In the old way, if an actor is hit by a map effect knockback damage, it is moved to another grid, then can be knockback again.
This commit also disallows do map effect damage on empty space without an actor, because this can not be fixed without banning this. (damage on empty space may hit the knockbacked actor again)
If somebody really wants to use this feature, they should use Object.new
to create a temporary damage source like All is Dust