I've had a few characters acquire the max level of BadTrader (-30% to trade), and I think it's due to a wrong trigger. The current trigger for BadTrader checks as follows:
Are there walls that are >= wooden wall (level 2 of walls), AND
Is there a market >= market_3 (level 3 of market).
Unless I'm reading it wrong, if you have a character in a second-level town, he will always get this trait, whenever he builds a building, because he can't possibly build a level 3 market yet.
EDIT: Never mind. A settlement with Level 2 walls can build Level 3 buildings.



