[crossfire] Selling price variance and buying price variance
Brendan Lally
brenlally at gmail.com
Tue Nov 8 03:53:16 CST 2005
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.
More information about the crossfire
mailing list