I think it has been said it has something to do with current code format.
My opinion is that if things have gotten to the point where Zanz can't make this kind of change in a simple way, then it's way past the time that he considered doing some cleanup on his code
Costs are coded as (Integer)(Type). To simulate a cost of the code would have to increase to (Integer)(Type)(Integer)(Type) at minimum and most likely would be upgraded to (Integer[])(Type[])
I'm still gone, just visiting from a library computer.
I don't know the specifics of flash programming, but this shouldn't be too hard to implement without, for example, rewriting the code of every single card (just rewrite the function that takes care of the costs to accept both formats of cost, a cleaner solution would be preferable, but would mean more work).
I don't know the specifics of flash either. I am paraphrasing information from someone else (who did know flash), using my knowledge of Java and Object Orientated Programming.
Yes all it would take is altering the cost function. Either to accept a variable number of inputs or to accept array and non-array inputs.
The best thing I can think of for such a system is this: (written in c++ish syntax)
struct cardcost
{
unsignied int piecenumber;
unsigned int[][] costpieces;
}
// piecenumber specifies how many costpieces are needed to pay for the card
// the costpieces array consist of 13-element arrays that specify how many of each element are needed to pay for each costpiece
Again, this would require a complete rewrite (it's not backwards compatible with the system Zanz is probably using), so don't expect it to pop up in the source code anytime soon.