(Edit: The rule of thumb is: most play behaviour you can't change. What I've done here is try to show what the built-in play behaviour is.)
I'm not an expert at optimizing bots, but for a lot of questions, the best way to figure things out is to
read the source code. Unfortunately this requires a basic understanding of Java. The second-best way is to look at the play rules on
Geronimoo's simulator website.
The play rules for IGG. To know exactly what "increase this turn's buying power" means, it seems necessary to read the source code. Looking at
Ill_Gotten_GainsCard.java, we can see that it calls the
DomPlayer.addingThisIncreasesBuyingPower method. This in turn calls DomPlayer.getTotalPotentialCurrency, which uses the DomCard.getPotentialCoinValue method. For treasures, unless overridden, this method returns the
DomCardName.coinValue field. For IGG, this is set to 2, because an IGG can produce up to 2 coins. So when playing the first IGG, the other 3 IGG's would be considered Silvers for the purpose of buying power, so that's why the simulator knows it's possible to buy a Province.
Sometimes, it's not obvious what coinValue should be. For example, Quarry is given a coin value of 3. I assume this is because bots that buy Quarry will usually be buying lots of actions, and for buying actions with a single buy, a Quarry is effectively a Gold.
For Haggler, the website doesn't say anything about its play rules during the action phase, only what happens during the buy phase. Looking at
HagglerCard.java, it does not seem to alter its play based on expected purchase, so there wouldn't be any way to control it except by modifying the source code. Probably the right way to do this is to override the
DomCard.wantsToBePlayed method.
Re: cursing attacks, let's look at Witch as an example. It doesn't have play rules listed on the website, but looking at
WitchCard.java, it seems that it already alters its play priority once curses run out. When there are no curses left, it changes its play priority to be the same as a Moat. Looking at Young Witch though, it does not seem to alter its play priority.