summaryrefslogtreecommitdiff
path: root/npc/009-2/selim.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/009-2/selim.txt')
-rw-r--r--npc/009-2/selim.txt173
1 files changed, 173 insertions, 0 deletions
diff --git a/npc/009-2/selim.txt b/npc/009-2/selim.txt
new file mode 100644
index 00000000..9f757c2a
--- /dev/null
+++ b/npc/009-2/selim.txt
@@ -0,0 +1,173 @@
+009-2,32,104,0 script Selim NPC326,{
+ goto L_Main;
+
+L_Main:
+ mes "[Selim]";
+ mes "\"Greetings, fair traveler. With what may I help you?\"";
+ menu
+ "Greetings, are you the store merchant?", L_Ask_selim,
+ "But what are dyes and what purpose do they serve?", L_Ask_dye,
+ "Can you dye something for me?", L_clothes_choice,
+ "Can you also remove color from clothing?", L_Ask_bleach,
+ "About these sorcerer robes...", L_Asksorcererrobe,
+ "Can you change my appearance?", L_Barber,
+ "Never mind.", L_close;
+
+L_Barber:
+ callfunc "Barber";
+ goto L_Main;
+
+L_Ask_bleach:
+ mes "[Selim]";
+ mes "\"I'm afraid no.";
+ mes "For that, you would need to visit Candide in the Tulimshar marketplace.\"";
+ goto L_Main;
+
+L_Ask_selim:
+ mes "[Selim]";
+ mes "\"That is an honest mistake you have made.";
+ mes "However I am not the merchant, but rather a Master Dyer here to serve the good people of this town.";
+ mes "I dye things, upon request.\"";
+ menu
+ "But what are dyes and where can I get them?", L_Ask_dye,
+ "Can you dye something for me?", L_clothes_choice,
+ "Can you also remove color from clothing?", L_Ask_bleach,
+ "Good bye.", L_close;
+
+L_Ask_dye:
+ mes "[Selim]";
+ mes "\"Dyes are special liquids used to add color to clothing. If you want me to dye something for you you will have to bring me some dye first.";
+ mes "Those behind me are nearly empty and won't last for your item.\"";
+ menu
+ "What do you mean, `bring you dye'?", L_explain_dye,
+ "Where would I get dye?", L_explain_dye,
+ "Good bye.", L_close;
+
+L_clothes_choice:
+ cleararray @items$, "", getarraysize(@items$);
+ cleararray @item_names$, "", getarraysize(@item_names$);
+ @r = 0;
+ @j = getarraysize($@DYE_items$);
+ goto L_CloneArray; // clone the array from DyeConfig
+
+L_CloneArray:
+ @items$[@r] = $@DYE_items$[@r];
+ @item_names$[@r] = $@DYE_item_names$[@r];
+ @r = @r + 1;
+ if(@r < @j) goto L_CloneArray;
+ @r = 0;
+ @j = 0;
+ goto L_clothes_choice2;
+
+L_clothes_choice2:
+ mes "[Selim]";
+ mes "\"What can I dye for you today?\"";
+ next;
+ callfunc "DynamicItemMenu$";
+ @default_choice$ = "";
+ @item_del$ = @item$;
+ @name$ = @item_names$[@index];
+ cleararray @items$, "", getarraysize(@items$);
+ cleararray @item_names$, "", getarraysize(@item_names$);
+ if(@item$ == "") goto L_close;
+ goto L_picked_item;
+
+
+L_Asksorcererrobe:
+ mes "[Selim]";
+ mes "\"Yes?\"";
+ next;
+ menu
+ "Do you think you can dye that line to a different color?", L_Next1;
+
+L_Next1:
+ mes "[Selim]";
+ mes "\"Hum, I fear I can't do that. The area is too small and I can operate only on large ones.";
+ mes "But with the appropriate materials, maybe a talented tailor can make the change.\"";
+ next;
+ menu
+ "Oh, I see!", L_Next;
+
+L_Next:
+ mes "[Selim]";
+ mes "\"Of course I can help you by dyeing the materials your tailor will want.";
+ mes "All I need is a piece of Cotton Cloth.\"";
+ @item_del$ = "CottonCloth";
+ @name$ = "Cotton Cloth";
+ menu
+ "Sure. Here is one.", L_picked_item,
+ "I have to go pick that.", L_close;
+
+L_picked_item:
+ if (countitem(@item_del$) == 0) goto L_havenone;
+ goto L_colour;
+
+L_colour:
+ mes "[Selim]";
+ mes "\"Excellent. Now, what color do you want?\"";
+ next;
+ @r = 0;
+ @j = getarraysize($@DYE_colors$);
+ cleararray @items$, "", getarraysize(@items$);
+ cleararray @item_names$, "", getarraysize(@item_names$);
+ callsub S_CloneColors;
+ @default_choice$ = "I have no dye.";
+ callfunc "DynamicItemMenu$";
+ cleararray @items$, "", getarraysize(@items$);
+ cleararray @item_names$, "", getarraysize(@item_names$);
+ @default_choice$ = "";
+ if (@item$ == "") goto L_No_dye;
+ @colour = @index;
+ goto L_Finish;
+
+S_CloneColors:
+ @items$[@r] = $@DYE_colors$[@r] + "Dye";
+ @item_names$[@r] = $@DYE_color_names$[@r];
+ @r = @r + 1;
+ if(@r < @j) goto S_CloneColors;
+ @r = 0;
+ @j = 0;
+ return;
+
+L_No_dye:
+ mes "[Selim]";
+ mes "\"I would love to dye your " + @name$ + " for you, but you will have to bring me some dye first.";
+ mes "Those behind me are nearly empty and won't last for your item.\"";
+ next;
+ menu
+ "I wanted to dye a different item anyway.", L_clothes_choice,
+ "What do you mean, `bring you dye'?", L_explain_dye,
+ "Where would I get dye?", L_explain_dye,
+ "Never mind.", L_close;
+
+L_explain_dye:
+ if (QUEST_clothdyer_knowsdye < 1)
+ QUEST_clothdyer_knowsdye = 1;
+ mes "[Selim]";
+ mes "\"Well, dye is very expensive, and since I don't charge adventurers anything, I can't give you any for free.";
+ mes "But most alchemists can make dye; perhaps you can find one around here.\"";
+ goto L_close;
+
+L_Finish:
+ if(getitemlink($@DYE_colors$[@colour] + @item_del$) == "Unknown Item") mapexit;
+ if(countitem(@item_del$) < 1) goto L_havenone;
+ delitem @item$, 1;
+ delitem @item_del$, 1;
+ getitem $@DYE_colors$[@colour] + @item_del$, 1;
+ mes "[Selim]";
+ mes "\"Here's your " + $@DYE_color_names$[@colour] + " " + @name$ + "! Please let dry for a minute.\"";
+ goto L_close;
+
+L_havenone:
+ mes "[Selim]";
+ mes "\"You don't have any uncolored " + @name$ + "? That's unfortunate.";
+ mes "Would you like to dye something else?\"";
+ next;
+ goto L_clothes_choice;
+
+L_close:
+ mes "\"Farewell and good luck in your journeys!\"";
+ close2;
+ emotion EMOTE_WINK, strcharinfo(0);
+ end;
+}