Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug report



I have no idea if this is the right place to do so, but I found a bug in 
crossfire 0.92.1, with the alchemy spell.
AFAIK, the bug was present in 0.89.6 (not 100% sure of the version, I 
wasn't the maintainer of the casino generic account...).

Anyway, the problem appears when trying to transform unpaid objects into 
gold nuggets with the spell:

For most objects, they simply disappear as they should (or as I think 
they should after taking a look at the code). But for gems and money, 
they do not disappear, you get 1/3 of their value... 
And since it's very easy to get unpaid gems from the shops, it's very 
easy money....

Here's my quick fix: 
crossfire-0.92.1/server/spell_effect.c, circa line 1456:
original code: (from memory, should be very close to this)
    if (obj->type==MONEY || obj->type==GEM)
	value /=3;
    else if (QUERY_FLAG(obj,FLAG_UNPAID))
        value = 0;
    else
	value *= 0.9; 

modified code:
    if (QUERY_FLAG(obj,FLAG_UNPAID))
        value=0; 
    else if (obj->type==MONEY || obj->type==GEM)
	value /=3; 
    else
	value *= 0.9; 

as far as I can tell, this fixes the problem with no ill effect.


---
Casino