This module contains all the BNF referring to qualified targets and similar concepts.
Multiples
somenumberoftargetqualifiedcreatures ::= "target " qualifiedcreature setTargetOneCreature? | multipletarget space qualifiedcreatures setTargetMultiCreatures? somenumberoftargetqualifiedpermanents ::= "target " qualifiedpermanent setTargetOnePermanent? | multipletarget space qualifiedpermanents setTargetMultiPermanents? tosomenumberoftargetdamagerecipients ::= "to target " <damageRecipSpecification?::=exclusive> damagerecipient | "to target " <damageRecipSpecification?::=exclusive> damagerecipient | tomultipletargetdamagerecipients //denotedtarget space pushsuffixes damagerecipients popsuffixes somenumberofrecurseablecards ::= "a " recurseablecard | nontotalmultiplenontarget space recurseablecards somenumberofqualifiedpermanentcards ::= "a " optionallyqualifiednotinplaypermanentcard | nontotalmultiplenontarget space optionallyqualifiednotinplaypermanentcards
multipletarget ::= "two target" <damageRecipSpecification?::=exclusive> | "up to " <<N::=dynamicinteger>> word##N " target" <damageRecipSpecification?::=exclusive> | "all" <damageRecipSpecification?::=inclusive> | "two target" <damageRecipSpecification?::=exclusive> | "up to " <<N::=dynamicinteger>> word##N " target" <damageRecipSpecification?::=exclusive> | "all" <damageRecipSpecification?::=inclusive> | "any number of target" <damageRecipSpecification?::=exclusive> tomultipletargetdamagerecipients ::= "to each of two target " <damageRecipSpecification?::=exclusive> damagerecipients | "to each " <damageRecipSpecification?::=inclusive> damagerecipient | "to each of two target " <damageRecipSpecification?::=exclusive> damagerecipients | "to each " <damageRecipSpecification?::=inclusive> damagerecipient | "divided as you choose among any number of target " <damageRecipSpecification?::=exclusive> damagerecipients nontotalmultipletarget ::= "two target" | "up to " <<N::=dynamicinteger>> word##N " target" | "two target" | "up to " <<N::=dynamicinteger>> word##N " target" | "any number of target" multiplenontarget ::= two | "up to " <<N::=dynamicinteger>> word##N | all | two | "up to " <<N::=dynamicinteger>> word##N | all | "any number of" nontotalmultiplenontarget ::= two | "up to " <<N::=dynamicinteger>> word##N | two | "up to " <<N::=dynamicinteger>> word##N | "any number of" // more "two", "up to" and "all"s than "any number of"s, as those are the most swingy