fix: changed MagicClash to use MagicPlayer instead of Boolean
restore check that only generate event for putting cards on top if there is more than one card
merge updates from frank
replace getController with isController