From 8e2419ffd3aa0cc4e564e82b2cfac0b227a7af05 Mon Sep 17 00:00:00 2001 From: Fate Date: Wed, 31 Dec 2008 11:35:01 -0700 Subject: Pre-planned level 0 spells all available (except for 'make sulphur' and 'detect magic') --- npc/011-1_Woodland/alchemist.txt | 71 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 66 insertions(+), 5 deletions(-) (limited to 'npc/011-1_Woodland/alchemist.txt') diff --git a/npc/011-1_Woodland/alchemist.txt b/npc/011-1_Woodland/alchemist.txt index 0c1e7663..8ce50f06 100644 --- a/npc/011-1_Woodland/alchemist.txt +++ b/npc/011-1_Woodland/alchemist.txt @@ -9,6 +9,7 @@ set @Q_MASK, NIBBLE_3_MASK; set @Q_SHIFT, NIBBLE_3_SHIFT; + set @wants_sulphur, (QUEST_MAGIC & NIBBLE_6_MASK); set @Q_status, (QUEST_Forestbow_state & @Q_MASK) >> @Q_SHIFT; // End of Setzer quest/monster oil quest participation @@ -23,6 +24,8 @@ set @MANAPOTION, 705; set @ORE, 640; set @MAGGOTSLIME, 505; + set @SULPHUR, 703; + set @IRONPOWDER, 704; set @QUEST_CAN_GET_DYE_HERE, 2; set @QUEST_HAS_SOLVED_DYE_PUZZLE, 3; @@ -34,7 +37,8 @@ set @CHOICE_DYE, 3; set @CHOICE_MONSTER_OIL, 4; set @CHOICE_MANA_POTION, 5; - set @CHOICE_ABORT, 6; + set @CHOICE_SULPHUR_POWDER, 6; + set @CHOICE_ABORT, 7; setarray @menuitems$, "", "", "", "", "", ""; set @c, 0; @@ -81,13 +85,20 @@ L_skip_introducing: set @c, @c + 1; goto L_certain_condition; - L_pre_dyeing: + set @menuitems$[@c], "Actually, can you make dye?"; set @menuID[@c], @CHOICE_DYEING_INTRO; set @c, @c + 1; - L_certain_condition: + + if (!@wants_sulphur) + goto L_post_sulphur_option; + set @menuitems$[@c], "Can you make sulphur powder?"; + set @menuID[@c], @CHOICE_SULPHUR; + set @c, @c + 1; +L_post_sulphur_option; + if (@Q_status == @SETZER_INITIAL) goto L_main_menu; set @menuitems$[@c], "Can you make monster oil?"; @@ -104,8 +115,9 @@ L_main_menu: @menuitems$[1], -, @menuitems$[2], -, @menuitems$[3], -, - @menuitems$[4], -; - @menuitems$[5], -; + @menuitems$[4], -, + @menuitems$[5], -, + @menuitems$[6], -; set @menu, @menu - 1; @@ -116,8 +128,57 @@ L_main_menu: if (@menuID[@menu] == @CHOICE_DYE) goto L_pick_colour; if (@menuID[@menu] == @CHOICE_MONSTER_OIL) goto L_monster_oil; if (@menuID[@menu] == @CHOICE_MANA_POTION) goto L_mana_potion; + if (@menuID[@menu] == @CHOICE_SULPHUR) goto L_sulphur; if (@menuID[@menu] == @CHOICE_ABORT) goto L_abort; +L_sulphur: + mes "[Rauk the Alchemist]"; + mes "\"Oh, that is easy. Bring me three piles of volcanic ash and three mauve leaves, and I will extract twelve piles of sulphur ash for you.\""; + next; + menu + "I will be back.", L_abort, + "No, I won't!", L_abort, + "Here you are!", -; + + if (countitem(@ASH) < 3) goto L_sulphur_noash; + if (countitem(@MAUVE) < 3) goto L_sulphur_nomauve; + getinventorylist; + if (@inventorylist_count == 100 + && countitem(@SULPHUR) == 0 + && countitem(@ASH) > 3 + && countitem(@MAUVE) > 3) + goto L_sulphur_nospace; + + delitem @ASH, 3; + delitem @MAUVE, 3; + getitem @SULPHUR, 12; + mes "[Rauk the Alchemist]"; + mes "You watch Rauk burn the mauve leaves in the midst of the ashes. He then dissolves the result and pours it through a filter, finally heating up the residual liquid."; + next; + mes "[Rauk the Alchemist]"; + mes "The water having evaporated, only some yellow powder is left over. Rauk carefully pours it into your hand."; + mes "\"This should be precisely twelve half-ounces of sulphur powder.\""; + next; + close; + +L_sulphur_noash: + mes "[Rauk the Alchemist]"; + mes "\"You don't seem to have all three piles of volcanic ash.\""; + next; + close; + +L_sulphur_nomauve: + mes "[Rauk the Alchemist]"; + mes "\"You don't seem to have the three mauve leaves I asked for.\""; + next; + close; + +L_sulphur_nospace: + mes "[Rauk the Alchemist]"; + mes "\"Oh dear. You don't seem to be able to carry the sulphur powder.\""; + next; + close; + L_mana_potion: mes "[Rauk the Alchemist]"; mes "\"Humh... I do believe that I have a recipe somewhere. One moment...\""; -- cgit v1.2.3-60-g2f50