On 11/8/05, Mark Wedel < mwedel at sonic.net > wrote: > Brendan Lally wrote: > > This is because there is an arbitrary adjustment to price based on the > > item count and map name, it is in the range of +-5% it is designed to > > allow otherwise identical shops to give a small variation in price. > > > > Possibly it shouldn't apply to shops selling items, only buying them? > > How does it do that? does it just randomize the price in the query strings > (if so, how does that remain consistent), or does it change the actual objects > value? It is the price returned by query_cost that changes. lines 295-300 server/shop.c /* we will also have an extra 0-5% variation between shops of the same type * for valuable items (below a value of 50 this effect wouldn't be very * pointful, and could give fun with rounding. */ if(who->map->path!=NULL && val > 50) val=(sint64)val+0.05*(sint64)val*cos(tmp->count+strlen(who->map->path)); making this not apply to a shop when it sells items, is as simple as adding an '&& flag == F_SELL' to the if statement.