game: fixed wrong usage of batch events (related to #10870)

This commit is contained in:
Oleg Agafonov 2023-09-13 04:42:46 +04:00
parent ba3b0e4cb7
commit be4bff6097
6 changed files with 64 additions and 8 deletions

View file

@ -30,6 +30,7 @@ import mage.game.CardState;
import mage.game.Game;
import mage.game.GameState;
import mage.game.command.Commander;
import mage.game.events.BatchGameEvent;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.game.permanent.PermanentCard;
@ -1840,4 +1841,20 @@ public final class CardUtil {
targetToken.setCardNumber(newCardNumber);
targetToken.setImageNumber(newImageNumber);
}
/**
* One single event can be a batch (contain multiple events)
*
* @param event
* @return
*/
public static Set<UUID> getEventTargets(GameEvent event) {
Set<UUID> res = new HashSet<>();
if (event instanceof BatchGameEvent) {
res.addAll(((BatchGameEvent<?>) event).getTargets());
} else if (event != null && event.getTargetId() != null) {
res.add(event.getTargetId());
}
return res;
}
}