kingAttackers method
Attacks that a king on square would have to deal with.
Contrary to chess, in Atomic kings can attack each other, without causing check.
Implementation
@override
SquareSet kingAttackers(Square square, Side attacker, {SquareSet? occupied}) {
final attackerKings = board.piecesOf(attacker, Role.king);
if (attackerKings.isEmpty ||
kingAttacks(square).isIntersected(attackerKings)) {
return SquareSet.empty;
}
return super.kingAttackers(square, attacker, occupied: occupied);
}