summaryrefslogtreecommitdiff
path: root/npc/001-2-28/plush.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/001-2-28/plush.txt')
-rw-r--r--npc/001-2-28/plush.txt127
1 files changed, 127 insertions, 0 deletions
diff --git a/npc/001-2-28/plush.txt b/npc/001-2-28/plush.txt
new file mode 100644
index 00000000..695bd7c6
--- /dev/null
+++ b/npc/001-2-28/plush.txt
@@ -0,0 +1,127 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Red, the Innkeeper.
+// Variable:
+// INN_REGISTER
+
+001-2-28,28,28,0 script Plush#001-2-28 NPC_RED,{
+
+ function narrator_explication {
+ narrator S_LAST_NEXT,
+ l("You will respawn at this place if defeated in combat."),
+ l("All you have to do is to select a bed in the upper level anytime after your reservation."),
+ l("Unlike other respawn points, an inn can fully restore your HP."),
+ l("Of course, you can select a bed somewhere else after your reservation, but you won't get your HP recovery until you choose to get some rest in the inn."),
+ l("You can also use your room to get some rest after a long battle. That will consume your reservation but your HP will be fully restored.");
+ return;
+ }
+
+ 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 = REDPLUSH_INN;
+ PC_IS_DEAD = false;
+
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("I registered you on one of the rooms of the upper level."),
+ l("You can go upstairs and choose a different room if you want.");
+ savepoint "001-2-29", 29, any(49, 35);
+ }
+ }
+
+ function register_room {
+ .@price = lognbaselvl(100, 10);
+
+ 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;
+ }
+
+ function lodge_check {
+ if (INN_REGISTER == NO_INN)
+ {
+ register_room;
+ }
+ else if (INN_REGISTER == REDPLUSH_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;
+ }
+
+ speech S_LAST_NEXT,
+ l("Welcome to the Red Plush inn!"),
+ l("What do you need?");
+
+ do
+ {
+ .@q = select(
+ l("Could I lodge here for a while?"),
+ l("What service do you offer?"),
+ l("What is your tipiou trying to do?"),
+ l("Nothing."));
+
+ switch (.@q)
+ {
+ case 1:
+ lodge_check;
+ break;
+ case 2:
+ emotion E_WINK;
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("We offer a room for travelers passing by Artis, our beds are comfy and you can be guaranteed to be right as rain after a night here!"),
+ l("If you wake up at the inn after a harsh battle, you will find yourself revitalized in an instant unlike other places where you can rest.");
+
+ narrator_explication;
+ break;
+ case 3:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("That poor one is doing his best to fly... But his last meal and the gravity is not helping him so far!");
+ break;
+ case 4:
+ break;
+ }
+ } while (.@q != 1 && .@q != 4);
+
+ closeclientdialog;
+ goodbye;
+ close;
+
+OnInit:
+ .distance = 5;
+}