… | |
… | |
23 | |
23 | |
24 | /* March 96 - Laid down original code. -b.t. thomas@astro.psu.edu */ |
24 | /* March 96 - Laid down original code. -b.t. thomas@astro.psu.edu */ |
25 | |
25 | |
26 | #include <global.h> |
26 | #include <global.h> |
27 | #include <object.h> |
27 | #include <object.h> |
28 | #ifndef __CEXTRACT__ |
|
|
29 | # include <sproto.h> |
28 | #include <sproto.h> |
30 | #endif |
|
|
31 | #include <skills.h> |
29 | #include <skills.h> |
32 | #include <spells.h> |
30 | #include <spells.h> |
33 | |
31 | |
34 | /** define this for some helpful debuging information */ |
32 | /** define this for some helpful debuging information */ |
35 | #if 0 |
33 | #if 0 |
… | |
… | |
595 | object *tmp; |
593 | object *tmp; |
596 | |
594 | |
597 | remove_contents (cauldron->inv, NULL); |
595 | remove_contents (cauldron->inv, NULL); |
598 | switch (rndm (0, 2)) |
596 | switch (rndm (0, 2)) |
599 | { |
597 | { |
600 | case 0: |
598 | case 0: |
601 | tmp = get_archetype ("bomb"); |
599 | tmp = get_archetype ("bomb"); |
602 | tmp->stats.dam = random_roll (1, level, op, PREFER_LOW); |
600 | tmp->stats.dam = random_roll (1, level, op, PREFER_LOW); |
603 | tmp->stats.hp = random_roll (1, level, op, PREFER_LOW); |
601 | tmp->stats.hp = random_roll (1, level, op, PREFER_LOW); |
604 | new_draw_info_format (NDI_UNIQUE, 0, op, "The %s creates a bomb!", &cauldron->name); |
602 | new_draw_info_format (NDI_UNIQUE, 0, op, "The %s creates a bomb!", &cauldron->name); |
605 | break; |
603 | break; |
606 | |
604 | |
607 | default: |
605 | default: |
608 | tmp = get_archetype ("fireball"); |
606 | tmp = get_archetype ("fireball"); |
609 | tmp->stats.dam = random_roll (1, level, op, PREFER_LOW) / 5 + 1; |
607 | tmp->stats.dam = random_roll (1, level, op, PREFER_LOW) / 5 + 1; |
610 | tmp->stats.hp = random_roll (1, level, op, PREFER_LOW) / 10 + 2; |
608 | tmp->stats.hp = random_roll (1, level, op, PREFER_LOW) / 10 + 2; |
611 | new_draw_info_format (NDI_UNIQUE, 0, op, "The %s erupts in flame!", &cauldron->name); |
609 | new_draw_info_format (NDI_UNIQUE, 0, op, "The %s erupts in flame!", &cauldron->name); |
612 | break; |
610 | break; |
613 | } |
611 | } |
614 | tmp->x = cauldron->x, tmp->y = cauldron->y; |
612 | |
615 | insert_ob_in_map (tmp, op->map, NULL, 0); |
613 | op->insert_at (cauldron); |
616 | return; |
614 | return; |
617 | |
615 | |
618 | } |
616 | } |
619 | else if (level < 60) |
617 | else if (level < 60) |
620 | { /* CREATE MONSTER */ |
618 | { /* CREATE MONSTER */ |