I think that has to do with the order in which certain things are calculated. In this case the boots probably have a "real" value of 6, which becomes 5 after the discount is applied and the resulting value is rounded up. Then that's multiplied by some factor in the store, and if that factor is something like 1.73, you get 6*1.73=10.38=10 and 5*1.73=8.65=9.

Although it may seem odd to apply the discount so early (and that is the root cause of the weird prices you're seeing), from a coding point of view it's easier to do it that way.

__________________
The Complainer worries about the lack of activity here these days.

I think that has to do with the order in which certain things are calculated. In this case the boots probably have a "real" value of 6, which becomes 5 after the discount is applied and the resulting value is rounded up. Then that's multiplied by some factor in the store, and if that factor is something like 1.73, you get 6*1.73=10.38=10 and 5*1.73=8.65=9.

Although it may seem odd to apply the discount so early (and that is the root cause of the weird prices you're seeing), from a coding point of view it's easier to do it that way.

Ah, okay. Yes applying the discount early makes the process order dubious.

Is the same true of other things, Saves, Fails, To-Hit, Damage, etc...??

I'm not sure how the concept would even apply to something like saves or fails or to-hit.

And discounts have that process order for a reason - it means all discounts can be calculated once in one place in the code, and don't need to be separately applied by every piece of code that wants a discounted price, and item values don't need any scaling. It makes the code a lot easier to maintain, and the errors in shop prices that result from it are very minor.

Could I fix it with some hack - "apply the discount later in this special case", and then do the applying where necessary - sure, but it wouldn't be a good return on the coding investment.

__________________
The Complainer worries about the lack of activity here these days.

Sorry, it wasn't meant to be an accusation.
I was just curious about the inner workings of complex calculations. I am only remotely familiar with coding, classes in BASIC and Pascal 40 years ago, so looking into the source is not really an option. I was just curious about the process order and whether or not it rendered the displayed numbers as meaningful.

Edit: Any monster you ride on will log every step you take as a non-spell-cast turn, more or less permanently ruining their spell % chance in recall. This even takes precedence over the probing spell. (After riding around a Hell Knight on a ring character for a while it has a listed 1.88% chance, 854 out of 45245 moves.)

MORE EDIT: Anyone know what a good set of schools for a Blood Mage is? I'm considering Death as a primary for those vampirism spells (and while I haven't tested the spells, the vampirism wand still heals a blood mage fully) and then maybe Armageddon to begin with and then switch to sorcery once I have a good set of damage spells from the Death Realm.