… | |
… | |
61 | static int is_defined_recipe (const recipe *rp, const object *cauldron, object *caster); |
61 | static int is_defined_recipe (const recipe *rp, const object *cauldron, object *caster); |
62 | static recipe *find_recipe (recipelist * fl, int formula, object *ingredients); |
62 | static recipe *find_recipe (recipelist * fl, int formula, object *ingredients); |
63 | |
63 | |
64 | /** Returns a random selection from cauldron_effect[] */ |
64 | /** Returns a random selection from cauldron_effect[] */ |
65 | static const char * |
65 | static const char * |
66 | cauldron_sound (void) |
66 | cauldron_sound () |
67 | { |
67 | { |
68 | int size = sizeof (cauldron_effect) / sizeof (char *); |
68 | int size = sizeof (cauldron_effect) / sizeof (char *); |
69 | |
69 | |
70 | return cauldron_effect[rndm (0, size - 1)]; |
70 | return cauldron_effect[rndm (0, size - 1)]; |
71 | } |
71 | } |
… | |
… | |
392 | int weight = 0; |
392 | int weight = 0; |
393 | |
393 | |
394 | tmp = get_archetype (shstr_rock); |
394 | tmp = get_archetype (shstr_rock); |
395 | tmp->weight = weight; |
395 | tmp->weight = weight; |
396 | tmp->value = 0; |
396 | tmp->value = 0; |
397 | tmp->materialname = shstr_stone; |
397 | tmp->material = name_to_material (shstr_stone); |
398 | tmp->name = shstr_slag; |
398 | tmp->name = shstr_slag; |
399 | tmp->name_pl = shstr_slags; |
399 | tmp->name_pl = shstr_slags; |
400 | item = insert_ob_in_ob (tmp, cauldron); |
400 | item = insert_ob_in_ob (tmp, cauldron); |
401 | CLEAR_FLAG (tmp, FLAG_CAN_ROLL); |
401 | CLEAR_FLAG (tmp, FLAG_CAN_ROLL); |
402 | SET_FLAG (tmp, FLAG_NO_DROP); |
402 | SET_FLAG (tmp, FLAG_NO_DROP); |
… | |
… | |
445 | int numb = numb_ob_inside (cauldron); |
445 | int numb = numb_ob_inside (cauldron); |
446 | |
446 | |
447 | fl = get_formulalist (numb - 1); /* take a lower recipe list */ |
447 | fl = get_formulalist (numb - 1); /* take a lower recipe list */ |
448 | if (fl && (rp = get_random_recipe (fl))) |
448 | if (fl && (rp = get_random_recipe (fl))) |
449 | /* even though random, don't grant user any EXP for it */ |
449 | /* even though random, don't grant user any EXP for it */ |
450 | (void) attempt_recipe (op, cauldron, 1, rp, -1); |
450 | attempt_recipe (op, cauldron, 1, rp, -1); |
451 | else |
451 | else |
452 | alchemy_failure_effect (op, cauldron, rp, level - 1); |
452 | alchemy_failure_effect (op, cauldron, rp, level - 1); |
453 | } |
453 | } |
454 | else if (level < 45) |
454 | else if (level < 45) |
455 | { /* INFURIATE NPC's */ |
455 | { /* INFURIATE NPC's */ |