summaryrefslogtreecommitdiff
path: root/npc/008-2-2/melania.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/008-2-2/melania.txt')
-rw-r--r--npc/008-2-2/melania.txt107
1 files changed, 107 insertions, 0 deletions
diff --git a/npc/008-2-2/melania.txt b/npc/008-2-2/melania.txt
new file mode 100644
index 00000000..e8e7aa86
--- /dev/null
+++ b/npc/008-2-2/melania.txt
@@ -0,0 +1,107 @@
+// Evol scripts.
+// Author:
+// Micksha
+// Description:
+// Receptionist of Rusty Pick.
+
+008-2-2,28,27,0 script Melania NPC_AIRLIA,{
+ function accepted_room;
+ function register_room;
+ function lodge_check;
+
+ speech
+ l("Hello."),
+ l("Welcome to the Rusty Pick."),
+ l("One advice: Don't take the things those drinkers say too serious. They are sitting here and drinking all day."),
+ l("How can we serve you today?");
+
+ do
+ {
+ select
+ l("Could I lodge here for a while?"),
+ l("Nothing.");
+ mes "";
+
+ if (@menu == 1)
+ lodge_check();
+
+ } while (@menu != 2);
+ speech S_FIRST_BLANK_LINE,
+ l("I wish you a beautiful day.");
+ close;
+
+ // Check if you are booked here or somewhere else
+ function lodge_check {
+ if (INN_REGISTER == NO_INN)
+ {
+ register_room();
+ }
+ else if (INN_REGISTER == .inn)
+ {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("You are already registered here."),
+ l("Go on the upper level if you want to change your room or to use it.");
+ }
+ else
+ {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("If you are registered somewhere else you will loose that reservation."),
+ l("Do you still want to lodge here?");
+
+ if (askyesno() == ASK_YES)
+ {
+ register_room();
+ }
+ }
+ return;
+ }
+
+ // Find out prices
+ function register_room {
+ .@price = lognbaselvl(100, 10);
+ .@price = .@price*12/10; // Make the price 20% higher by WildX request
+
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("That will be @@ E to set your respawn point", .@price),
+ l("This will remain your respawn point until set elsewhere."),
+ l("Is that okay?");
+
+ if (askyesno() == ASK_YES)
+ {
+ accepted_room(.@price);
+ }
+ else
+ {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Come back later if you changed your mind!");
+ }
+
+ return;
+ }
+
+ // Book a room
+ function accepted_room {
+ .@price = getarg(0);
+ if (Zeny < .@price)
+ {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("You don't have enough money, bring @@ E.", .@price);
+ }
+ else
+ {
+ emotion E_HAPPY;
+ Zeny -= .@price;
+ INN_REGISTER = .inn;
+ PC_IS_DEAD = false;
+
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("I registered you on a random bed on the upper level."),
+ l("You can go upstairs and choose a different room if you want.");
+ savepoint "008-2-3", any(49, 53, 57), any(31, 35);
+ }
+ }
+
+OnInit:
+ .distance = 4;
+ .inn=RUSTYPICK_INN;
+ end;
+}