A bit late, but according to my calculations, this is the formula for prices. At least, for DOS1. I'm going to guess it works the same for DOS2, because a lot of what you're describing here sounds familiar to my process with DOS1.

(-0.005*ATTITUDE+2.5-(BARTERING*0.1))*BASEVALUE

Why we don't get the 10%, I have no idea. It appears to be 4% (bartering 1) 8.3% (bartering 2) 12.7% (bartering 3) 17.3% (bartering 4) 22.2% (bartering 5) 27.2% (bartering 6) 32.5% (bartering 7). With .1% to .3% variation between items, from my observations and subsequent calculations.