[crossfire] Tweaking alchemy
Mark Wedel
mwedel at sonic.net
Sun Dec 11 19:43:40 CST 2005
Alex Schultz wrote:
> Nicolas Weeger wrote:
>
>>> One thing that I also thought would be needed is to add some slow decay
>>> factor to most all flesh items like there are for a few special ones
>>> (demon ichor). You shouldn't be able to carry around the orc corpse for
>>> 3 months and expect it to still be edible.
>>>
>>> That wouldn't be hard to do, but once again, it gets into the merging
>>> issue.
>>>
>>
>> What about something more simpler, even if less realistic: every tick,
>> one food has a 0.01% (or anoyher number) chance of rotting (if nrof > 1
>> only one rots)?
>> No mergin issue, will decrease available food, introduces some random
>> element, pretty easy to do.
>>
> IMHO the proper behavior for cases if nrof > 1, is to multiply the
> chance by nrof, and if rolled true then remove one. Also I think that
> number representing the chance should be dependent on what type of food
> it is.
>
Note one problem is identifying all those food items.
If you give them a speed value, that works - you just process the active list.
However, if you're not doing that, then you have to look through _all_ the
items in the world to see which ones rot away. That would be a timely operation
- certainly not something that can be done every tick (this is one reason why
giving it speed helps out - seperate list of objects that have speed vs non
speed objects, and since the bulk of objects are non speed, makes things better)
- probably be even better if we fixed up objects whose sole purpose of having
speed is for animation (eg, water). If client side animations are done for map,
that may help out, but that is a different discussion.
All that said, you could have the food decomposition in do_specials() or
something - only do it every X ticks. The problem then is that everyone accross
the world sees some food disappear at the same time. And if food loss is
limited to just 1 item, then carrying lots of the same food is better than
carrying 20 different types of food.
Also, when I mentioned this, I was really envisioning this for flesh objects,
which should rot much faster than prepared food - leave a steak on the counter
for a day - do you really want to eat it? OTOH, most prepared items can last
several days - potatos last weeks for example. So I'd also say that if applied
to food, there should be different policies vs that for flesh (and the liquids
should basically last for ever).
So I think I'm with Mike here - arch changes are needed - the question then
becomes the best way to do this.
Giving the objects a low speed value is perhaps best. Objects with different
speed will merge in the players inventory I believe (this does open potential
abuse of players trying to merge objects that are about to decompose with those
that aren't, but unless the player know where things are in the cycle, I don't
see that a problem).
When the object gets a turn, then look at other fields (decomposition chance,
decompose into, etc)
More information about the crossfire
mailing list