Title: Sanity Check for Peasant Mobs
Summary: When peasant mobs are formed, the final calculation of mob size should be checked against the enemy forces in the region. If the calculated mob isn't big enough to pose a threat to the enemies, it should be discarded without ever being formed. Or the peasants that would have been in the mob can flee to a different region.
Details: Peasant mobs are a joke. You can fight hundreds, or thousands, of peasant militia, and they can't even scratch your armor. Or you can have a tiny "mob" stand up and try to fight entire armies of 2,000 soldiers. It's kind of ridiculous. Instead, when the calculations are complete to determine the mob that forms, it needs to be given a sanity check. Compare it to the force of enemy soldiers in the region. If it doesn't reach some minimum fraction of the number of enemy soldiers, the mob should never even form. (Or perhaps they can instead flee the region.) This will reduce many ridiculous situations that form now, such as 20 peasants facing off 1,700 soldiers, or 30 peasants stopping 700 soldiers from looting.
This could be combined with a change to actually put a few teeth into peasant mobs, thus ensuring the lack of pathetically small mobs, and that the mobs that do form are actually a force to be dealt with, and not regarding as "a few more points of cohesion".
Benefits: Less chance of many ridiculous situations from occurring, such as those listed in the Details above.
Possible Exploits: It may be possible to find a way to abuse the system to let the loot counters build up enough to trigger huge mobs all at once. But if we make peasant mobs actually a bit dangerous again, then this may not really be a problem. Also, some people may try to take advantage of this by holding a significant portion of their troops out of the region until the militia pops, and then move troops in to clobber the mobs. But then again, this will help break up blob armies, so maybe it's not really a bad thing after all.