summaryrefslogtreecommitdiff
path: root/npc/008-2-2/melinda.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/008-2-2/melinda.txt')
-rw-r--r--npc/008-2-2/melinda.txt181
1 files changed, 181 insertions, 0 deletions
diff --git a/npc/008-2-2/melinda.txt b/npc/008-2-2/melinda.txt
new file mode 100644
index 00000000..964332ca
--- /dev/null
+++ b/npc/008-2-2/melinda.txt
@@ -0,0 +1,181 @@
+// Evol scripts.
+// Authors:
+// Toams
+// Description:
+// Melinda, Rusty Pick's waitress
+
+008-2-2,40,29,0 script Melinda#008-2-2 NPC_MELINDA,1,1,{
+
+function StartConversation {
+
+ .@tick = gettimetick(1);
+ if (.@tick > @Hurns_Rusty_Pick_WaitressTick + 10)
+ {
+ setarray .messages$[0], l("Welcome to our inn!"),
+ l("Welcome to the Rusty Pick."),
+ l("Please, have a seat."),
+ l("Lovely day, isn't it?");
+
+ .@r = rand(getarraysize(.messages$));
+ .@msg$ = .messages$[.@r];
+ npctalk3 .@msg$;
+ @Hurns_Rusty_Pick_WaitressTick = .@tick;
+ }
+ }
+
+function face_to_PC {
+ getmapxy(.@map$, .@cx, .@cy, 0);
+ @Melinda_ols_dir = .dir;
+ npc_turntoxy(.@cx, .@cy);
+
+ return;
+ }
+
+npc_pausemove;
+face_to_PC;
+mes "";
+mesn;
+mesq l("Hi, sweetie! Want a fresh beer for 90 Florin?");
+switch (select(l("Sure! [Don't tip]"),
+ l("Sure! [Tip 5 Florin]"),
+ l("Sure! [Tip 10 Florin]"),
+ l("Nah, maybe later.")))
+{
+ case 1:
+ if (Zeny < 90)
+ goto L_NoMoney;
+ getinventorylist;
+ if (@inventorylist_count == 100 && countitem("Beer") == 0)
+ goto L_TooMany;
+ Zeny -= 90;
+ getitem Beer, 1;
+ mes "";
+ mesn;
+ mesq l("Pff... Nickel nurser!");
+ goto L_Close;
+ case 2:
+ if (Zeny < 95)
+ goto L_NoMoney;
+ getinventorylist;
+ if (@inventorylist_count == 100 && countitem("Beer") == 0)
+ goto L_TooMany;
+ Zeny -= 95;
+ getitem "Beer", 1;
+ mes "";
+ mesn;
+ mesq l("Thanks for the tip!");
+ goto L_Close;
+ case 3:
+ if (Zeny < 100)
+ goto L_NoMoney;
+ getinventorylist;
+ if (@inventorylist_count == 100 && countitem("Beer") == 0)
+ goto L_TooMany;
+ Zeny -= 100;
+ getitem "Beer", 1;
+ mes "";
+ mesn;
+ mesq l("Thank you, sweetie! Want to hear a secret?");
+ switch (select(l("What is it, darling?"),
+ l("Nah, I don't feel like chatting.")))
+ {
+ case 1:
+ mes "";
+ mesn;
+ mesq l("The master bowyer in this village used to construct exceptional bows. When you want one you should go and ask him.");
+ goto L_Close;
+ case 2:
+ goto L_No;
+ }
+ goto L_Close;
+ case 4:
+ goto L_No;
+}
+
+L_NoMoney:
+ mes "";
+ mesn;
+ mesq l("You look broke. Don't think that you can dine and dash here!");
+ goto L_Close;
+
+L_No:
+ mes "";
+ mesn;
+ mesq l("Just call me when you changed your mind.");
+ goto L_Close;
+
+L_Close:
+ initnpctimer;
+ npc_resumemove;
+ close;
+
+L_TooMany:
+ mes "";
+ mesn;
+ mesq l("You don't have room for a beer!");
+ goto L_Close;
+
+OnTimer1000:
+ dographmovestep;
+
+OnTouch:
+ StartConversation;
+ end;
+
+OnInit:
+ .distance = 5;
+ .speed = 300;
+ initmovegraph "startspot", 40, 29,
+ "barkeeper", 43, 30,
+ "kfahr_r", 45, 36,
+ "kfahr_l", 43, 35,
+ "l_table_b", 36, 36,
+ "l_table_r", 38, 33,
+ "m_table_l", 39, 33,
+ "m_table_b", 41, 36,
+ "r_table_r", 46, 33,
+ "fireplace", 36, 28,
+ "firewood", 33, 28,
+ "to_basement", 52, 32,
+ "basement_entrance", 24, 25,
+ "basement_cabinet", 30,31,
+ "cabinet", 42, 28,
+ "bucket", 46, 30;
+
+
+
+ setmovegraphcmd "startspot", "firewood", 1, "dir 4; wait 5",
+ "firewood", "fireplace", 1, "dir 4; wait 3",
+ "fireplace", "startspot", 1, "dir 0; wait 10",
+
+ "startspot", "l_table_b", 1, "dir 4; wait 3",
+ "l_table_b", "l_table_r", 1, "dir 2; wait 3",
+ "l_table_r", "m_table_l", 1, "dir 6; wait 3",
+ "m_table_l", "m_table_b", 1, "dir 4; wait 3",
+ "m_table_b", "r_table_r", 1, "dir 2; wait 3",
+ "r_table_r", "bucket", 1, "dir 4; wait 1; emote 1;"
+ "wait 15; moveon",
+ "bucket", "startspot", 1, "dir 0; wait 5",
+
+ "startspot", "kfahr_r", 2, "dir 4; wait 5",
+ "kfahr_r", "barkeeper", 1, "dir 4; wait 1;"
+ "say Another round for kfahr's table.;"
+ "wait 1; say They sure are thirsty today;"
+ "wait 5; moveon",
+ "barkeeper", "kfahr_l", 1, "dir 6; wait 3;"
+ "say Cheers!;"
+ "wait 3; moveon",
+ "kfahr_l", "startspot", 1, "dir 0; wait 10",
+
+ "startspot", "to_basement", 1, "dir 4; warp 008-2-5 basement_entrance",
+ "basement_entrance", "basement_cabinet", 1, "dir 4; wait 5",
+ "basement_cabinet", "basement_entrance", 1, "dir 4; warp 008-2-2 to_basement",
+ "to_basement", "cabinet", 1, "dir 4; wait 5",
+ "cabinet", "startspot", 1, "dir 0; wait 15";
+
+
+
+
+ firstmove "wait 8";
+ initnpctimer;
+}