This is really cool - BUT, some of the numbers did not add up in my mind. Specifically, the very small increase in probability with 2 copies of the desired card and 28 uniques vs 2 copies in 15 pairs, etc.
So I've taken the liberty to write my own simulations (only 100K iterations, deemed 'good enough' IMO), and came up with the following numbers. I've highlighted discrepancies of over 1% -
Getting 1 desired card (first player / second player)
e.g., getting a Pyramid Warden
23.090% / 25.929% in the deck of 30 uniques, i.e., the desired card being once there
34.010% / 36.854% in the deck of 28 uniques, i.e., the desired card being twice there
43.762% / 49.965% in the deck of 15 pairs, i.e., the desired card being twice there
Getting 2 desired cards both (first player / second player)
e.g., getting a Marsh Walker and Shieldbearer
** 4.604% / 6.255% in the deck of 30 uniques, i.e., the desired cards being once there each**
10.550% / 12.351% in the deck of 26 uniques, i.e., the desired card being twice there each
17.719% / 23.276% in the deck of 15 pairs, i.e., the desired cards being twice there each
Getting 1 of 2 desired cards (first player / second player)
e.g., getting a Pyramid Warden or Bronze Gate
41.084% / 45.998% in the deck of 30 uniques, i.e., the desired cards being once there each
58.058% / 61.818% in the deck of 26 uniques, i.e., the desired card being twice there each
70.106% / 76.930% in the deck of 15 pairs, i.e., the desired cards being twice there each