Thanks rubold.
I'll run it through some tests ASAP and let you know how it goes. Just so I understand things, from what I can infer from the XFeeder help files, s_n_card_m_outs is defined as the following:
s_n = nth selection (this is a hand selection presumably?)
card_m = mth highest card of the selection (e.g. card_1 = highest card, card_2 = second highest card)
outs = number of cards of the selected value left in the deck
So the routine is checking each card of each hand to see if there is only 1 card of that value left in the deck, and if that is true, then by inference this means that 3 must have been dealt.
A couple more questions for you:
1) How does card_m handle cards of the same value?
2) Does the use of s_n always mean that the nth hand is being selected for that expression (i.e. there is no impact of any previous selection being made as part of an action in a block)?
For instance, If I have already made a selection (e.g. 2nd favourite) as part of an action and I am including this test in the 'conditions' for whether or not I do anything with the 2nd favourite in that block, will s_1 always refer to hand 1, and s_4 always refer to hand 4? Do you think I would be better off creating a user variable in a separate block to combine with the conditions when making my selection? Hope that makes sense!
UPDATE: I've run some tests and it seems to work as expected, and it also looks like it has answered my questions. Thank you rubold. I've been thinking about the second condition test to see if I can have a go at that myself, but I'm not sure if it will be as straightforward as these rules, since using '..._outs is equal to 2' means that a single pair of identical values will make the condition true. Will it require use of a variable to count the number of occurrences when a test for '..._outs is equal to 2', then set the condition true if the count > 1..? Thanks again in advance!