[crossfire] Tweaking alchemy
Mark Wedel
mwedel at sonic.net
Sun Dec 4 19:09:13 CST 2005
Nicolas Weeger wrote:
> Hello.
>
> I'd like to extend alchemy-like skills, probably with a 'cooking' skill.
>
> What i'd like to do is:
> * add a way for formulaes to never blow up, and just yield a specific
> item when failed ('burnt cake'). This will make it safer and more fun,
> of course this would be for low exp recipes (or for a skill having a low
> skill => overall percentage)
I wonder if instead of just having that be a flag, have some fields like
'danger_potential' or 'blowup_chance' or something?
Thus, you could have potentially very complicated recipes that are safe but
hard to do, and could have other recipes that aren't really complicated, but if
you mess up, would be quite dangerous.
>
> * add a 'min_level' for a recipe, which you couldn't do if you're not
> high-level enough (or with a *really* low probability). Just to feel the
> meaning of 'experience' :) And to prevent just trying a high exp recipe
> over and over again.
Reasonable. But when doing so, it should be clear what the diff and exp
fields then mean - are the based on overall level, thus something with
difficulty 20 but min_level 50 then easy? Or does the diff scale from what the
min level is, such that 'diff 20' corresponds how hard the recipe is if above
min level (thus, a diff 20 min level 50 recipe would effectively be very hard,
as at level 50, it is still a diff 20).
>
> * then i'd like to add food-related recipes, like pizzas (yummy!),
> bread, cakes, things like that. Of course i'll add matching archetypes.
> And thinking of making use of 'keycode' field and using quests to learn
> recipes.
It'd be interesting/add character to be able to make a fair number of the
number food items that already exist. Making bread is an obvious example, but
how about things like waybread, roast birds, etc.
As an aside, it'd be cool to be able to actually specify recipes in maps.
This could probably be done by adding a RECIPE object. The actual formulae
information could just be stored in the msg field of that object. When you find
a recipe book, it puts that recipe into your inventory (perhaps just like spell
books - question whether such books should just give one reading or unlimited).
When you go an make something, it looks in your inventory for any matching
recipe objects.
Could also add a command like 'show_recipes' to show what recipes you have
learned, and 'show_recipes <recipename>' to get detailed info on the recipe or
something.
But that is a bit aside from this discussion.
>
> Unrelated to alchemy, but I'm thinking on using the 'on_apply_yield'
> field to eat (apply) food by parts (cake => 3/4 of cake => half cake =>
> 1/4 of cake => nothing).
I'm not sure you need to use that. I'd think you could just reduce the
stats.food value accordingly. Eg, food starts at 200. You eat some, its food
value is now 150, etc.
Note that the apply logic would need to be changed (to not just decrement
object number).
I also think you'd need some logic on what food you eat partially, and how
much partially. For example, I don't see anyone that would eat just a quarter
mint sprig or some of the other value low food items.
It would probably make sense to say something like you can eat 100 value of
food/tick. So things with food value less than that, you'd gobble the entire
thing. For items with more, you eat partial amounts. Or maybe do it by weight
instead - you can eat 500 grams/tick. So for waybread, it goes down quickly,
but some things, like corpses, would take a while to eat.
You'd also have to think about how this applies to certain special food
effects - the magical breads - do you get the effect on first bite? On all
bites? What about dragon players eating a corpse? Do they now get that many
more chances to get an improved bonus?
More information about the crossfire
mailing list