Snow mana is still very broken. Working on it. Current known problems:
- If you ask charge_snow_mana() to pay more than one snow mana, it only charges for one. Charging for one or more colorless alongside the snow mana works properly.
- It lets you select a tapped snow mana source, or one that's a creature and summoning sick.
- It first charges all the colorless mana it's asked for, then all the snow mana, without telling you how much snow mana you'll need while still paying colorless.
- It won't let you cancel once you've finished paying colorless mana.
- It prompts for "Select target creature."
- It assumes that each mana source must tap to activate.
- It assumes that each mana source produces exactly one mana.
- has_snow_mana() - the function consulted to see whether you could pay a cost with
in it, e.g. to tell whether to highlight a card's name as yellow, or to autosac a Glacial Plating when it decides you couldn't pay its upkeep - assumes that each mana source produces exactly one mana, and that it can do so exactly once each time snow mana is charged (whether it's tapped or not). - If you have mana already generated from a snow source before charge_snow_mana() or has_snow_mana() is called, it's not considered snow.
Thermopod seems unrelated (just from reading the bug, not investigating the source).
Rime Transfusion bug reads like it's maybe trying to charge

instead of just

, or maybe like it's just a duplicate of the above.
Fix I have half done still won't be right, but it'll be closer. Looks like A, B, D, E, and F are fixable; C, G, and H will be partially fixed; and I isn't fixable.
Regarding C, current implementation will show the full amount being charged (both colorless and snow), but make you pay all the snow mana first. No technical reason it can't be fixed fully, but it'd be more work, and the AI would probably deal with it (even) worse.
G will be close, but charge_snow_mana() will assume all mana produced as a result of activating a snow card is snow. For example, if you have a
Mana Flare and a
Snow-Covered Forest and tap the forest, you'll get two green snow mana; if you have a snow
Mana Flare (e.g. from
Rimefeather Owl) and a
Forest and tap the forest, you'll get two green non-snow mana; you should get one green and one snow green in both cases.
H will only be a little better than it is now - it'll be able to tell whether a mana source can activate or not, but will continue to assume that each can produce exactly one mana. That's not really fixable until we have an easy way to interpret the result of declare_mana_available() (easy) and declare_mana_available_hex() (hard), and a way to reverse them (hard for the first, very hard for the second). Even then, it won't be able to account for e.g.
Mana Reflection or a snow
Mana Flare.