On 11/8/05, Mark Wedel <[EMAIL PROTECTED]> 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.

_______________________________________________
crossfire mailing list
[email protected]
http://mailman.metalforge.org/mailman/listinfo/crossfire

Reply via email to