[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