View Full Version : How to change prices?

11-05-2011, 07:34 AM
Specifically I'm looking to bring food prices down to a sustainable use level so I can get a more flowing game going instead of the lifestone heal stop/start method.

If there is no database entry I can modify to do this, the alternative I've found would be to adjust the spawn chance entry for food. I don't fully understand the spawn rules but if I understand this right, food would come under common loot so it would be:

a) negatively affected by magic find, (ie less chance of common loot = less chance for food)
b) would eat into the % of other common loot dropped (not such a bad thing)

Secondly, does the default chance of 4.0 indicate that 4% of all common drops would be food?

11-06-2011, 12:53 PM
Well upping the value to 20 made just enough of a difference that I only occasionally need to top up food (usually after an epic battle), have rarely had to sell it off.

11-07-2011, 04:47 PM
I think the value you want to change is ValueEachPointHealthChangeOverTime in systems.gdb.

The 4.0 is not a percent. It is a relative value compared to all of the other potential spawn values. In this case, it is four times more likely to spawn than something with a value of 1.0.

11-07-2011, 05:24 PM
While we're on this topic, do

IntervalForPriceIncrease 5.0
PriceIncreaseEachInterval 0.4

determine inflation? If so, what interval is 5.0? 5 minutes?

EDIT: nevermind. Just did a search and found that you already explained it to me in the past, I just didn't get it back then. Retroactive thanks.

11-07-2011, 06:30 PM
Actually, I'm trying to do the calculation and it's not working out for some reason. I'm doing it in DC.

At level 17, food gives me 265 health over time. Multiplied by 0.27 per point gives 77.3. Now to add inflation, I divide by 5 = 15, and multiply that by 0.4 to get another 6 copper pieces. That gives me a total of 83 copper pieces, but the game wants to charge me 126. What did I do wrong?

11-07-2011, 07:07 PM
The formula looks like this:
intervals = flatValue / intervalForPriceIncrease

finalValue = flatValue * ( 1.0f + ( ( intervals + 1.0 ) * priceIncreaseEachInterval * ( priceIncreaseEachInterval / intervalForPriceIncrease ) ) )