I don't completely understand what the problem is, probably because I don't know what exactly the rules of your variant are. The usual way Chess variants work is that royal pieces can be captured the same way as any other piece, and that you lose when your last royal is captured (sometimes with an exception for stalemates). 'In check' usually means you would lose the game in the next move if you passed your turn. So logically when you would have multiple royals and one gets attacked, you would not be in check, as the worst the opponnent could do after your turn pass is capture the attacked royal, which is not losing as you still have the other one. (Assuming we are dealing with 'extinction royalty', rather than 'absolute royalty', where loss of the first royal would decide the game.)
'Duple check',( which is a concept I only ever encountered in Spartan Chess), is an exception to this, where you cannot leave more than one royal in check, even though the opponent could capture at most one when you passed your turn. This is an independent rule that does not logically follow from the normal royalty rules.
With multiple royalty you cannot avoid exposing one of the royals to capture (e.g. they could be forked, and you can rescue only one). With absolute royalty that would mean you are checkmated, but with extinction royalty you would just play on and let one be captured, rescuing the other on the next move if that problem did not resolve itself.
So how exactly is it supposed to work in your variant?
It might also be a problem with duplecheck. I don't exactly know how to implement special rules, so I guessed and this is what I used:
Rule: checkmate = win
Rule: stalemate = draw
Rule: duplecheck